Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(trim($username) != "" and trim($password) != ""){
- // Load lexicons to show proper error messages
- if (!isset($modx->lexicon) || !is_object($modx->lexicon)) {
- $modx->getService('lexicon','modLexicon');
- }
- $modx->lexicon->load('login');
- $loginContext= isset ($scriptProperties['login_context']) ? $scriptProperties['login_context'] :
- $modx->context->get('key');
- $addContexts= isset ($scriptProperties['add_contexts']) && !empty($scriptProperties['add_contexts']) ? explode(',', $scriptProperties['add_contexts']) : array();
- $mgrEvents = ($loginContext == 'mgr');
- $givenPassword = $password;
- /** @var $user modUser */
- $user= $modx->getObjectGraph('modUser', '{"Profile":{},"UserSettings":{}}', array ('modUser.username' => $username));
- if (!$user) {
- $ru = $modx->invokeEvent("OnUserNotFound", array(
- 'user' => &$user,
- 'username' => $username,
- 'password' => $password,
- 'attributes' => array(
- 'loginContext' => $loginContext,
- )
- ));
- if (!empty($ru)) {
- foreach ($ru as $obj) {
- if (is_object($obj) && $obj instanceof modUser) {
- $user = $obj;
- break;
- }
- }
- }
- if (!is_object($user) || !($user instanceof modUser)) {
- echo json_encode(array("error" => "1", "code" => "5", "msg" => "Cannot find user"));
- exit;
- }
- }
- if (!$user->get('active')) {
- echo json_encode(array("error" => "1", "code" => "4", "msg" => "Account not activated"));
- exit;
- }
- if (!$user->passwordMatches($givenPassword)) {
- if (!array_key_exists('login_failed', $_SESSION)) {
- $_SESSION['login_failed'] = 0;
- }
- if ($_SESSION['login_failed'] == 0) {
- $flc = ((integer) $user->Profile->get('failedlogincount')) + 1;
- $user->Profile->set('failedlogincount', $flc);
- $user->Profile->save();
- $_SESSION['login_failed']++;
- } else {
- $_SESSION['login_failed'] = 0;
- }
- $app->response->setStatus(200);
- $app->response()->headers->set('Content-Type', 'applic ation/json');
- echo json_encode(array("error" => "1", "code" => "2", "msg" => "User not found"));
- exit;
- }
- //$info['id'] = $row['id'];
- $info['id'] = $user->Profile->get('id');
- $info['fullname'] = $user->Profile->get('fullname');
- $info['email'] = $user->Profile->get('email');
- echo json_encode(array("error" => "0", "code" => "3", "msg" => json_encode($info) ));
- }else{
- echo '{"error":"0","code" => "1", "msg":"Insufficiant data"}';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement