Bonjour je souhaite savoir comment créer un utilisateur Ezpublish dans un groupe spécifié mais en PHP /!\

Malgrès toutes mes recherche rien a faire ...

mon code actuel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
$user = eZUser::fetch( 14 ); // 14 = admin user
            eZUser::setCurrentlyLoggedInUser( $user, $user->attribute( 'contentobject_id' ) );
			////
               //Création d'un nouvel utilisateur eZ Publish à partir des informations dans la base ffgym
            ////////////////////////////////////////////////////////////////////
            $ini =& eZINI::instance();
 
            //trouver où placer l'utilisateur
            $group = 259;
 
            $class = eZContentClass::fetchByIdentifier( 'user' );
            $contentObject = $class->instantiate( 14 );
 
            $contentObject->store();
 
            $contentObjectID = $contentObject->attribute( 'id' );
            $userID = $contentObjectID;
            $nodeAssignment = eZNodeAssignment::create( array( 'contentobject_id' => $contentObjectID,
                                                               'contentobject_version' => $contentObject->attribute( 'current_version' ),
                                                               'parent_node' => $group,
                                                               'is_main' => 1 ) );
            $nodeAssignment->store();
            echo 'Noeud créé : <br /><pre>';
            print_r($nodeAssignment);
            echo '</pre>';
 
            $version =& $contentObject->version( 1 );
            $version->setAttribute( 'modified', time() );
            $version->setAttribute( 'status', EZ_VERSION_STATUS_DRAFT );
            $version->store();
 
 
 
 
            $contentObjectID = $contentObject->attribute( 'id' );
            $contentObjectAttributes =& $version->contentObjectAttributes();
 
 
			echo 'Objet créé : <br /><pre>';
//            print_r($contentObject->contentObjectAttributes());
            echo '</pre>';
 
            //mise à jour des champs de "user account"
            $user = eZUser::create( $userID );
            $user->setInformation( $contentObjectID , $_POST['nomUtilisateur'], $_POST['emailUtilisateur'], $_POST['motDePasse'], $_POST['motDePasse'] );
            $user->store();
 
 
			for($i = 0 , $max1 = count($contentObjectAttributes); $i < $max1 ; $i++ ){
				//On switch sur chaque propriété
				switch ($contentObjectAttributes[$i]->ContentClassAttributeIdentifier){
							case 'first_name':
								//prénom
						    	$contentObjectAttributes[$i]->setAttribute("data_text", $_POST['nomUtilisateur']);
						    break;
						    case 'last_name':
						    	$contentObjectAttributes[$i]->setAttribute( 'data_text', $_POST['nomUtilisateur'] );
						    break;
						    case 'user_account':
						    	$contentObjectAttributes[$i]->setAttribute( 'data_text', $user );
						    break;
 
 
				}
				echo 'attribut : '.$contentObjectAttributes[$i]->ContentClassAttributeIdentifier.'<br />';
				//Sauvegarde de l'attribut
				$contentObjectAttributes[$i]->store();
			}
 
 
 
            //eZUser::updateLastVisit( $userID );
            //eZUser::setCurrentlyLoggedInUser( $user, $userID );
            //$user->loginCurrent();
 
            // Reset number of failed login attempts
            eZUser::setFailedLoginAttempts( $userID, 0 );
 
            include_once( 'lib/ezutils/classes/ezoperationhandler.php' );
            $operationResult = eZOperationHandler::execute( 'content', 'publish', array( 'object_id' => $contentObjectID,
                                                                                         'version' => 1 ) );