Для тестирования php кода можно использовать компонент console
$username = 'Иван'; // получаем объект класса modUser $user = $modx->getObject('modUser', array('username' => $username)); // если пользователя нет на сайте if (!is_object($user)) { //создаем объект пользователя $user = $modx->newObject('modUser'); // устанавливаем имя и пароль $user->set('username', $username); $user->set('password', '123456'); // создаем объект профиля пользователя $profile = $modx->newObject('modUserProfile'); // заполняем профиль данными $profile->set('fullname', 'Иванов Иван Иванович'); $profile->set('email', 'test@test.ru'); $profile->set('phone', '22-22-22'); $profile->set('mobilephone', '+79057778899'); $profile->set('fax', '33-33-33'); $profile->set('address', 'г. Москва, ул. Ломоносова д. 31'); $profile->set('city', 'Москва'); $profile->set('state', 'Московская область'); $profile->set('zip', '101000'); $profile->set('country', 'Россия'); $profile->set('website', 'www.yandex.ru'); $profile->set('photo', 'assets/images/myphoto.jpg'); $profile->set('comment', 'Создаю сайты'); $profile->set('dob', strtotime('1984-12-12')); $profile->set('gender', '1'); //получаем доступ к дополнительным полям $fields = $profile->get('extended'); // добавляем данные в массив $fields['bank'] = 'Сбербанк'; $fields['account'] = '40702810500000000001'; $fields['kor-account'] = '3010100000000000001'; $fields['bik'] = '045805777'; // добавляем данные к профилю $profile->set('extended', $fields); // осуществляем связь modUser с modUserProfile $user->addOne($profile); // сохраняем оба объекта $profile->save(); $user->save(); }
// получаем объект пользователя по имени Иван $user = $modx->getObject('modUser', array('username' => 'Иван')); // если пользователь существует if (is_object($user)) { //получаем группу поимени $group = $modx->getObject('modUserGroup', array('name' => 'Administrator')); // создаем объект прав доступа пользователя $groupMember = $modx->newObject('modUserGroupMember'); // добавляем номер группы $groupMember->set('user_group', $group->get('id')); // добавляем роль $groupMember->set('role', 2); // связываем с пользователем $user->addMany($groupMember); // сохраняем пользователя $user->save(); }
$user = $modx->getObject('modUser', array('username' => 'Иван')); if (is_object($user)) { // связь пользователя с профилем $profile = $user->getOne('Profile'); // устанавливаем email $profile->set('email', 'my@mail.ru'); // получаем доступ к расширенным полям $fields = $profile->get('extended'); // добавляем банк в массив $fields['bank'] = 'ВТБ'; // добавляем к профилю банк $profile->set('extended', $fields); // сохраняем профиль пользователя $profile->save(); }
//Инициализируем запрос $query = $modx->newQuery('modUser'); // выполняем запрос $users = $modx->getCollection('modUser',$query); // цикл по пользователям foreach ($users as $user) { // получаем имя поль $name = $user->get('username'); // связь с профилем пользователя $profile = $user->getOne('Profile'); // получаем электонный адрес $email = $profile->get('email'); // проверяем есть ли у профиля дополнительные поля if ($profile->get('extended')) { // получаем дополнильные поля $fields = $profile->get('extended'); // получаем банк $bank = $fields['bank']; } else { $bank = "нет банка"; } // выводим данные echo $name." ".$email." ".$bank; }
$user = $modx->getObject('modUser', array('username' =>'Иван')); if (is_object($user)) $user->remove();
$user = $modx->getUser(); $username = $user->username;