Controlpanel Wbb user erstellen

  • Moin,
    Mein Problem ist es ich finde keine Lösung für folgende Probleme:
    1. Ich möchte über mein Controlpanel dem User die Möglichkeit bieten einen Forumaccount (wbb 3) zu erstellen
    2. Leadern die Möglichkeit bieten über das Controlpanel für das für seine Fraktion vorgesehene Forenabteil Moderatorrechte zu verteilen


    Hoffe mir kann da jemand helfen.


    Mit freundlichen Grüßen
    Nexor ?(

  • PHP
    require_once('../forum/global.php');
    require_once(WCF_DIR.'lib/data/user/UserEditor.class.php');


    Mit der UserEditor Klasse kannst du dann die User erstellen und das dann auch richtig in allen Tabellen.

    Hab meinen alten Thread zu dem Thema wieder gefunden da es wieder aktuell wird.
    Ich möchte einen User erstellen, Einer Benutzergruppe zuweisen und Moderationsrechte verteilen. Versuche da schon vieles hab viel gegoogelt finde aber nicht.
    Kannst du mir zeigen wie genau ich die UserEditor Klasse verwende ?

  • Danke,Das mit Create klappt, nun bin ich am herrausfinden wie ich der Klassse die userID übergebe also für die Benutzergruppenänderung
    /edit: Klappt nun, wie kann ich jemandem in einem Forum bestimmte Moderationsrechte geben ?


    Du kannst dir mal den Inhalt von $objectAction->executeAction(); ausgeben lassen aus dem Beispiel normal müssten die Wertezurückgegeben werden, welche die Methode zurück gibt.


    dann könntest du via


    $user = objectAction->executeAction();


    echo $user->userID;


    auf die userID eventuell zugreifen



    Hier ist auch nochmal ein Beispiel aus dem Klasse UserAction. Nur für $this->objects müsste $user eingesetzt werden und die GroupID müsste bei groups angegeben werden, als ID bsp


    'groups' => array(3,6)



    3 ist schon bestehend und 6 ist eine neue Gruppe


    Code
    $action = new UserAction($this->objects, 'addToGroups', array(
    			'groups' => UserGroup::getGroupIDsByType(array(UserGroup::USERS)),
    			'deleteOldGroups' => false,
    			'addDefaultGroups' => false
    		));
    		$action->executeAction();
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Danke erstmal für deinen Antwort,
    Aber wie geben ich $user an wenn ich einen bereits bestehenden Account bearbeiten möchte ? Und wie mache ich das mit den Moderationsrechten in bestimmten Kategorieren ?

  • Schau mal in die User.class.php Datei dort gibt es eine static methode getUserByUsername , welche dir eun User-Objekt erstellt.


    Dazu müsstest du mal schauen in den anderen Dateien von WBB, aber das ganze ist recht gut kommentiert und die Methoden sind aussagekräftig.

  • Schau mal in die User.class.php Datei dort gibt es eine static methode getUserByUsername , welche dir eun User-Objekt erstellt.


    Dazu müsstest du mal schauen in den anderen Dateien von WBB, aber das ganze ist recht gut kommentiert und die Methoden sind aussagekräftig.

    define('WBB_DIR','../forum/');
    require_once(WBB_DIR.'global.php');




    require_once(WCF_DIR.'lib/data/user/UserEditor.class.php');
    require_once(WCF_DIR.'lib/data/user/User.class.php');


    $action = new User;
    $user = $action->getUserByUsername('Name');
    var_dump($user);
    Hab das jetzt so, funktioniert aber nicht

    Einmal editiert, zuletzt von Nexor ()

  • Code
    $user =  wcf\data\user\User::getUserByUsername('IPrototypeI');


    Fall du dieses namespace nicht nutzen möchtest


    Code
    use wcf\data\user\User;
    
    
    $user = User::getUserByUsername('IPrototypeI');


    Hier nochmal der gesamte Code php code mit dem ich es getestet habe


    Einmal editiert, zuletzt von IPrototypeI ()

  • Code
    $user =  wcf\data\user\User::getUserByUsername('IPrototypeI');

    Fall du dieses namespace nicht nutzen möchtest


    Code
    use wcf\data\user\User;
    
    
    $user = User::getUserByUsername('IPrototypeI');

    Hier nochmal der gesamte Code php code mit dem ich es getestet habe


    Code
    define('WBB_DIR','../wbb4.1/');
        include_once(WBB_DIR.'global.php');
    	use wcf\data\user\User;
    	$user =  User::getUserByUsername('Test-1');
    	echo '<pre>';
    		var_dump($user);
    	echo '</pre>';

    Perfekt :)
    Vielen lieben dank :)
    Falls ich noch Fragen habe werde ich mich nochmal Melden :b


    Bin jetzt schon die ganze Zeit auf der suche nach der Klasse um einen User Moderationsrechte in einem Bereich zu geben.
    Was ich weiß: es wird in der Datenbank in der Tabelle acl_option_to_user gespeichert. Allerdings finde ich im wcf/lib/data/acl keine passende Klasse um dieses vorhaben umzusetzen. Hat jemand diesbezüglich einen Hinweis ?
    Bitte keine vorgefertigte funktion, möchte dies erst einmal selbst probieren.
    Danke schonmal

    Einmal editiert, zuletzt von Nexor ()