public function actionPostupdateregistedreduserstatus()
 {
     $session = Yii::$app->session;
     if ($session->has('accountTypeID')) {
         $accountTypeID = (int) $session->get('accountTypeID');
         if ($accountTypeID == DefaultForm::ACCOUNT_TYPE_SUPERUSER || $accountTypeID == DefaultForm::ACCOUNT_TYPE_ADMINISTRATOR) {
             $request = Yii::$app->request;
             if ($request->isAjax) {
                 $post = $request->post();
                 $newStatus = $post['NewStatus'];
                 $registeredUserID = $post['RegisteredUserID'];
                 $_AccountRegisteredUsersForm = new AccountRegisteredUsersForm();
                 $getCurrentStatus = $_AccountRegisteredUsersForm->getCurrentStatusByID($registeredUserID);
                 if ($getCurrentStatus == $newStatus) {
                     $returnData = array('status' => 2, 'message' => 'No changes applied!');
                 } else {
                     $updateStatus = $_AccountRegisteredUsersForm->updateStatusByID($newStatus, $registeredUserID);
                     $returnData = array('status' => $updateStatus['status'], 'message' => $updateStatus['message']);
                 }
             } else {
                 $returnData = array('status' => DefaultForm::ERROR_CODE_REQUEST_DEFAULT, 'message' => DefaultForm::ERROR_MESSAGE_AJAX_REQUEST_DEFAULT);
             }
         } else {
             $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => "You are not allowed to perform this action!");
         }
         echo json_encode($returnData);
     } else {
         return DefaultController::redirectToLogOut();
     }
 }
 public function actionPostlogin()
 {
     $request = Yii::$app->request;
     if ($request->isAjax) {
         $post = $request->post();
         $usernameOrEmailAddress = $post['UsernameOrEmail'];
         $password = $post['Password'];
         if ($usernameOrEmailAddress != "") {
             if ($password != "") {
                 $_AccountRegisteredUsersForm = new AccountRegisteredUsersForm();
                 $_AccountStudentsForm = new AccountStudentsForm();
                 $isValidEmailAddress = DefaultController::isValidEmailAddress($usernameOrEmailAddress);
                 $password = md5($password);
                 if ($isValidEmailAddress == true) {
                     $resultData = $_AccountRegisteredUsersForm->getAccountTypeIDByEmailAddressAndPassword($usernameOrEmailAddress, $password);
                 } else {
                     $resultData = $_AccountRegisteredUsersForm->getAccountTypeIDByUsernameAndPassword($usernameOrEmailAddress, $password);
                     $userData = $resultData;
                     if (empty($resultData) || is_null($resultData)) {
                         $userData = $_AccountStudentsForm->getAccountTypeIDByUsernameAndPassword($usernameOrEmailAddress, $password);
                     } else {
                         $userData = $resultData;
                     }
                 }
                 if ((!empty($userData) || !is_null($userData)) && $userData != false) {
                     $userID = $userData['ID'];
                     $accountTypeID = $userData['AccountTypeID'];
                     if ($accountTypeID == DefaultForm::ACCOUNT_TYPE_REGISTERED_USER) {
                         $loginDetails = $_AccountRegisteredUsersForm->getLoginDetailsByID($userID);
                     } else {
                         if (DefaultForm::ACCOUNT_TYPE_STUDENT) {
                             $loginDetails = $_AccountStudentsForm->getLoginDetailsByID($userID);
                         } else {
                             $loginDetails = array();
                         }
                     }
                     if ((!empty($loginDetails) || !is_null($loginDetails)) && $loginDetails != false) {
                         $status = $loginDetails['Status'];
                         if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_ACTIVE) {
                             $accountTypeID = $loginDetails['AccountTypeID'];
                             $firstName = $loginDetails['FirstName'];
                             $sessionNameAccountTypeID = 'accountTypeID';
                             $createSessionAccountTypeID = DefaultController::createSession($sessionNameAccountTypeID, $accountTypeID);
                             if ($createSessionAccountTypeID == true) {
                                 $sessionNameAccountID = 'accountID';
                                 $createSessionAccountID = DefaultController::createSession($sessionNameAccountID, $userID);
                                 $sessionNameFirstName = 'firstName';
                                 $createSessionFirstName = DefaultController::createSession($sessionNameFirstName, $firstName);
                                 if ($createSessionAccountID == true && $createSessionFirstName == true) {
                                     $returnData = array('status' => DefaultForm::ERROR_CODE_NO_ERROR, 'message' => 'Connected! Redirecting you now...');
                                 } else {
                                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'There was an error creating your account session! Please try again.');
                                 }
                                 $returnData = array('status' => DefaultForm::ERROR_CODE_NO_ERROR, 'message' => 'Connected! Redirecting you now...');
                             } else {
                                 $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'There was an error creating your account session! Please try again.');
                             }
                         } else {
                             if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_INACTIVE) {
                                 if ($accountTypeID == DefaultForm::ACCOUNT_TYPE_REGISTERED_USER) {
                                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Your account is not yet activated! Please go to your mailbox search for your registration details. Kindly follow the instructions to activate your account. Thank you.');
                                 } else {
                                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Your account is not yet activated! Please contact the administrator for further details.');
                                 }
                             } else {
                                 if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_DEACTIVATED) {
                                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Your account has been deactivated! Please contact the administrator for further details.');
                                 } else {
                                     if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_LOCKED_BY_SELF) {
                                         $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Your account has been locked! Please contact the administrator for further details.');
                                     } else {
                                         if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_LOCKED_BY_THE_ADMINISTRATOR) {
                                             $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Your account has been locked! Please contact the administrator for further details.');
                                         } else {
                                             if ($status == DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_DELETED) {
                                                 $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Account is invalid!');
                                             } else {
                                                 $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Could not retrieve account status! Please contact the administrator for further details.');
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     } else {
                         $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Account is invalid!');
                     }
                 } else {
                     $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Account is invalid!');
                 }
             } else {
                 $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'Account is invalid!');
             }
         } else {
             $returnData = array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => 'New password is required!');
         }
     } else {
         $returnData = array('status' => DefaultForm::ERROR_CODE_REQUEST_DEFAULT, 'message' => DefaultForm::ERROR_MESSAGE_AJAX_REQUEST_DEFAULT);
     }
     return json_encode($returnData);
 }