eZPublish access/change user account from PHP
It took me some time to figure out how to access and change a user account in eZPublish from PHP. Here’s an example how to achieve this:
<?php // user node $node = eZContentObjectTreeNode::fetch($nodeID); // user object $dataMap = $node->dataMap(); // change attribute $firstname = $dataMap['firstname']; $firstname->setAttribute('data_text', 'Foo'); $firstname->sync(); // user account attribute $user = $dataMap['user_account']; $userData = $user->content(); // user settings $userSetting = eZUserSetting::fetch($user->ContentObjectID); // get account status $isEnabled = $userSetting->attribute('is_enabled'); // enable user account $userSetting->setAttribute('is_enabled', 1); $userSetting->store();
Or if you just want to access the user account object or the user setting directly:
<?php // user account object $user = eZUser::fetch($objectID); // user settings $userSetting = eZUserSetting::fetch($objectID);