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 ) ); |
Partager