В MODX есть процесссоры, это php скрипты которые выполняют определенные функции. Они расположены по адресу /core/model/modx/processors
// Массив с данными пользователя $data = array( 'username' => 'Иван', 'fullname' => 'Иванов Иван Иванович', 'email' => 'info@webapplex.ru', 'phone' => '22-22-22', 'fax' => '33-33-33', 'city' => 'Москва', 'active' => 1, // дополнительные поля 'extended' => json_encode(array('bank'=> 'Сбербанк', 'account' => '40702810500000000001')), // отправлять письмо с паролем на почту 'passwordnotifymethod' => 'e' ); // запуск процессора $response = $modx->runProcessor('/security/user/create', $data); // если есть ошибки выводим ошибки, если нет то пользователь зарегистрирован if ($response->isError()) { $errors = $response->response['errors']; echo json_encode(array('flag' => 0, 'message' => $errors)); } else { echo json_encode(array('flag' => 1, 'message' => 'Пользователь зарегистрирован')); }
$data = array( 'username' => 'Иван', 'password' => '12345678', 'rememberme' => 1, 'login_context' => 'web', ); $response = $modx->runProcessor('/security/login', $data); if ($response->isError()) { echo json_encode(array('flag' => 0, 'message' => $response->getMessage())); } else { echo json_encode(array('flag' => 1, 'message' => 'Пользователь авторизован')); }
$response = $modx->runProcessor('/security/logout'); if ($response->isError()) { echo json_encode(array('flag' => 0, 'message' => $response->getMessage())); } else { echo json_encode(array('flag' => 1, 'message' => 'Пользователь вышел')); }
$user = $modx->getObject('modUser', array('username' => 'Иван')); if (is_object($user)) { $data = array( // поиск осуществляем по номеру пользователя 'id' => $user->get('id'), // данные которые хотим изменить 'username' => 'Дмитрий', 'email' => 'test@test.ru', 'fullname' => 'Дмитренко Дмитрий Дмитриевич', 'city' => 'Санкт-Петербург', ); $response = $modx->runProcessor('/security/user/update', $data); if ($response->isError()) { echo json_encode(array('flag' => 0, 'message' => $response->getMessage())); } else { echo json_encode(array('flag' => 1, 'message' => 'Данные пользователя обновлены')); } } else { echo json_encode(array('flag' => 0, 'message' => 'Пользователя не существует')); }
$user = $modx->getObject('modUser', array('username' => 'Дмитрий')); if (is_object($user)) { // поиск пользователя по id $data = array('id' => $user->get('id')); $response = $modx->runProcessor('/security/user/delete', $data); if ($response->isError()) { echo json_encode(array('flag' => 0, 'message' => $response->getMessage())); } else { echo json_encode(array('flag' => 1, 'message' => 'Пользователь удален')); } } else { echo json_encode(array('flag' => 0, 'message' => 'Пользователя не существует')); }