uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
admin.ondemand.codeskitter.site
/
app
/
Controllers
/
Auth.php
/
/
<?php namespace App\Controllers; use App\Models\Partners_model; use App\Models\Users_model; use PDO; /** * Class Auth * * @property Ion_auth|Ion_auth_model $ion_auth The ION Auth spark * @package CodeIgniter-Ion-Auth * @author Ben Edmunds <ben.edmunds@gmail.com> * @author Benoit VRIGNAUD <benoit.vrignaud@zaclys.net> * @license https://opensource.org/licenses/MIT MIT License */ class Auth extends BaseController { /** * * @var array */ protected bool $is_loggedin = false; public $data = []; /** * Configuration * * @var \IonAuth\Config\IonAuth */ protected $configIonAuth; /** * IonAuth library * * var \IonAuth\Libraries\IonAuth */ /** * Session * * @var \CodeIgniter\Session\Session */ protected $session; /** * Validation library * * @var \CodeIgniter\Validation\Validation */ protected $validation; /** * Validation list template. * * @var string * @see https://bcit-ci.github.io/CodeIgniter4/libraries/validation.html#configuration */ protected $validationListTemplate = 'list'; /** * Views folder * Set it to 'auth' if your views files are in the standard application/Views/auth * * @var string */ protected $viewsFolder = '/frontend/retro'; /** * Constructor * * @return void */ public $partner_model; public function __construct() { $this->data['admin'] = $this->userIsAdmin; $this->validation = \Config\Services::validation(); helper(['form', 'url']); $this->configIonAuth = config('IonAuth'); $this->session = \Config\Services::session(); $this->partner_model = new Partners_model(); if (!empty($this->configIonAuth->templates['errors']['list'])) { $this->validationListTemplate = $this->configIonAuth->templates['errors']['list']; } } /** * Redirect if needed, otherwise display the user list * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function index() { if (!$this->ionAuth->loggedIn()) { // redirect them to the login page return redirect()->to('/auth/login/'); } else { if ($this->ionAuth->isAdmin()) { return redirect()->to('/admin/dashboard'); } else { return redirect()->to('/partner/dashboard'); } } } /** * Log the user in * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function login() { $settings = get_settings('general_settings', true); $this->data['data'] = $settings; $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand Services"; $this->data['admin'] = ($this->isLoggedIn && $this->userIsAdmin) ? true : false; if ($this->ionAuth->loggedIn()) { if ($this->ionAuth->isAdmin()) { return redirect()->to('/admin/dashboard')->withCookies(); } else { return redirect()->to('/partner/dashboard')->withCookies(); } } else { $this->data['title'] = lang('Auth.login_heading'); // validate form input // $this->validation->setRule('identity', str_replace(':', '', lang('Auth.login_identity_label')), 'required'); $this->validation->setRule('password', str_replace(':', '', lang('Auth.login_password_label')), 'required'); if ($this->request->getPost() && $this->validation->withRequest($this->request)->run()) { // check to see if the user is logging in // check for "remember me" $remember = (bool)$this->request->getVar('remember'); $data = $this->ionAuth->login($this->request->getVar('identity'), $this->request->getVar('password'), $remember, $this->request->getVar('country_code')); // if ($this->ionAuth->login($this->request->getVar('identity'), $this->request->getVar('password'), $remember)) { if (!empty($data)) { $this->is_loggedin = true; $this->session->setFlashdata('message', $this->ionAuth->messages()); $this->data['title'] = "Dashboard | $app_name - Get Services On Demand"; if (exists(["phone" => $this->request->getVar('identity')], 'users')) { $this->session->setFlashdata('message',); } $this->data['main_page'] = "auth/index"; // if ($this->ionAuth->isAdmin()) { // return redirect()->to('/admin/dashboard')->withCookies(); // } else { // // echo "dsbfs"; // // die; // return redirect()->to('/partner/dashboard')->withCookies(); // } if ($data->group_id == 1) { return redirect()->to('/admin/dashboard')->withCookies(); } else if ($data->group_id == 3) { // return redirect()->to('/partner/dashboard')->withCookies(); } } else { // if the login was un-successful // redirect them back to the login page $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); // use redirects instead of loading views for compatibility with MY_Controller libraries return redirect()->back()->withInput(); } } else { // the user is not logging in so display the login page // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : $this->session->getFlashdata('message'); $this->data['identity'] = [ 'name' => 'identity', 'id' => 'identity', 'type' => 'text', 'value' => set_value('identity'), ]; $this->data['password'] = [ 'name' => 'password', 'id' => 'password', 'type' => 'password', ]; $this->data['title'] = "Login — $app_name - Get Services On Demand"; $this->data['main_page'] = "login"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Login to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } } } /** * Log the user out * * @return \CodeIgniter\HTTP\RedirectResponse */ public function logout() { $this->data['title'] = 'Logout'; $this->session->setFlashdata('logout_msg', "<ul class='mb-0'><li>Logged Out Successfully</li><ul>"); $this->is_loggedin = false; if ($this->ionAuth->isAdmin()) { $this->ionAuth->logout(); return redirect()->to('/admin/login')->withCookies(); } else { $this->ionAuth->logout(); return redirect()->to('/partner/login')->withCookies(); } } /** * Change password * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function change_password() { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; if (!$this->ionAuth->loggedIn()) { return redirect()->to('/auth/login'); } $this->validation->setRule('old', lang('Auth.change_password_validation_old_password_label'), 'required'); $this->validation->setRule('new', lang('Auth.change_password_validation_new_password_label'), 'required|min_length[' . $this->configIonAuth->minPasswordLength . ']|matches[new_confirm]'); $this->validation->setRule('new_confirm', lang('Auth.change_password_validation_new_password_confirm_label'), 'required'); $user = $this->ionAuth->user()->row(); if (!$this->request->getPost() || $this->validation->withRequest($this->request)->run() === false) { // display the form // set the flash data error message if there is one $this->data['message'] = ($this->validation->getErrors()) ? $this->validation->listErrors($this->validationListTemplate) : $this->session->getFlashdata('message'); $this->data['minPasswordLength'] = $this->configIonAuth->minPasswordLength; $this->data['old_password'] = [ 'name' => 'old', 'id' => 'old', 'type' => 'password', ]; $this->data['new_password'] = [ 'name' => 'new', 'id' => 'new', 'type' => 'password', 'pattern' => '^.{' . $this->data['minPasswordLength'] . '}.*$', ]; $this->data['new_password_confirm'] = [ 'name' => 'new_confirm', 'id' => 'new_confirm', 'type' => 'password', 'pattern' => '^.{' . $this->data['minPasswordLength'] . '}.*$', ]; $this->data['user_id'] = [ 'name' => 'user_id', 'id' => 'user_id', 'type' => 'hidden', 'value' => $user->id, ]; // render $this->data['title'] = "Change Password | $app_name - Get Services On Demand"; $this->data['main_page'] = "auth/change_password"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Change to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } else { $identity = $this->session->get('identity'); $change = $this->ionAuth->changePassword($identity, $this->request->getPost('old'), $this->request->getPost('new'), $this->userId); if ($change) { //if the password was successfully changed $this->session->setFlashdata('message', $this->ionAuth->messages()); return $this->logout(); } else { $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); return redirect()->to('/auth/change_password'); } } } /** * Forgot password * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function forgot_password() { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['data'] = $settings; $this->data['title'] = lang('Auth.forgot_password_heading'); // setting validation rules by checking whether identity is username or email if ($this->configIonAuth->identity !== 'email') { $this->validation->setRule('identity', lang('Auth.forgot_password_identity_label'), 'required'); } else { $this->validation->setRule('identity', lang('Auth.forgot_password_validation_email_label'), 'required|valid_email'); } if (!($this->request->getPost() && $this->validation->withRequest($this->request)->run())) { $this->data['type'] = $this->configIonAuth->identity; // setup the input $this->data['identity'] = [ 'name' => 'identity', 'id' => 'identity', ]; if ($this->configIonAuth->identity !== 'email') { $this->data['identity_label'] = lang('Auth.forgot_password_identity_label'); } else { $this->data['identity_label'] = lang('Auth.forgot_password_email_identity_label'); } // set any errors and display the form $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : $this->session->getFlashdata('message'); $this->data['title'] = "Reset Password | $app_name - Get Services On Demand"; $this->data['main_page'] = "forgot_password"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Resetting forgot password of $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } else { // $identityColumn = $this->configIonAuth->identity; $identity = $this->ionAuth->where("email", $this->request->getPost('identity'))->users()->row(); $check = (array)$identity; if (empty($check)) { $this->session->setFlashdata('no_id', '<div class="alert alert-danger" id="infoMessage"><p class="mb-0">User does not Exists</p></div>'); return redirect()->to('/auth/forgot-password'); } if (empty($identity)) { $this->ionAuth->setError('Auth.forgot_password_email_not_found'); // if ($this->configIonAuth->identity !== 'email') { // $this->ionAuth->setError('Auth.forgot_password_identity_not_found'); // } else { // } $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); return redirect()->to('/auth/forgot-password'); } // run the forgotten password method to email an activation code to the user $forgotten = $this->ionAuth->forgottenPassword($identity->{$this->configIonAuth->identity}); if ($forgotten) { // if there were no errors $this->session->setFlashdata('message', $this->ionAuth->messages()); return redirect()->to('/auth/login'); //we should display a confirmation page here instead of the login page } else { $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); return redirect()->to('/auth/forgot-password'); } } } /** * Reset password - final step for forgotten password * * @param string|null $code The reset code * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function reset_password($code = null) { // $settings = get_settings('general_settings', true); // $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; // if (!$code) { // throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound(); // } // $this->data['title'] = lang('Auth.reset_password_heading'); // $user = $this->ionAuth->forgottenPasswordCheck($code); // if ($user) { // // if the code is valid then display the password reset form // $this->validation->setRule('new', lang('Auth.reset_password_validation_new_password_label'), 'required|min_length[' . $this->configIonAuth->minPasswordLength . ']|matches[new_confirm]'); // $this->validation->setRule('new_confirm', lang('Auth.reset_password_validation_new_password_confirm_label'), 'required'); // if (!$this->request->getPost() || $this->validation->withRequest($this->request)->run() === false) { // // display the form // // set the flash data error message if there is one // $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : $this->session->getFlashdata('message'); // $this->data['minPasswordLength'] = $this->configIonAuth->minPasswordLength; // $this->data['new_password'] = [ // 'name' => 'new', // 'id' => 'new', // 'type' => 'password', // 'pattern' => '^.{' . $this->data['minPasswordLength'] . '}.*$', // ]; // $this->data['new_password_confirm'] = [ // 'name' => 'new_confirm', // 'id' => 'new_confirm', // 'type' => 'password', // 'pattern' => '^.{' . $this->data['minPasswordLength'] . '}.*$', // ]; // $this->data['user_id'] = [ // 'name' => 'user_id', // 'id' => 'user_id', // 'type' => 'hidden', // 'value' => $user->id, // ]; // $this->data['code'] = $code; // // render // $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : $this->session->getFlashdata('message'); // $this->data['title'] = "Reset password | $app_name - Get Services On Demand"; // $this->data['main_page'] = "auth/reset_password"; // $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; // $this->data['meta_description'] = "Resetting forgot password of $app_name. $app_name is one of the leading "; // return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); // } else { // $identity = $user->{$this->configIonAuth->identity}; // // do we have a valid request? // if ($user->id != $this->request->getPost('user_id')) { // // something fishy might be up // $this->ionAuth->clearForgottenPasswordCode($identity); // throw new \Exception(lang('Auth.error_security')); // } else { // // finally change the password // $change = $this->ionAuth->resetPassword($identity, $this->request->getPost('new')); // if ($change) { // // if the password was successfully changed // $this->session->setFlashdata('message', $this->ionAuth->messages()); // return redirect()->to('/auth/login'); // } else { // $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); // return redirect()->to('/auth/reset-password/' . $code); // } // } // } // } else { // // if the code is invalid then send them back to the forgot password page // $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); // return redirect()->to('/auth/forgot-password'); // } $validation = \Config\Services::validation(); $validation->setRules( [ 'new_password' => 'required', 'mobile_number' => 'required', 'country_code' => 'required', ] ); if (!$validation->withRequest($this->request)->run()) { $errors = $validation->getErrors(); $response = [ 'error' => true, 'message' => $errors, 'data' => [] ]; return $this->response->setJSON($response); } $identity = $this->request->getPost('mobile_number'); $user_data = fetch_details('users', ['phone' => $identity]); if (empty($user_data)) { return $this->response->setJSON([ 'error' => false, 'message' => "User does not exist", "data" => $_POST, ]); } if ((($user_data[0]['country_code'] == null) || ($user_data[0]['country_code'] == $this->request->getPost('country_code'))) && (($user_data[0]['phone'] == $identity))) { $change = $this->ionAuth->resetPassword($identity, $this->request->getPost('new_password')); if ($change) { $this->ionAuth->logout(); return $this->response->setJSON([ 'error' => false, 'message' => "Forgot Password successfully", "data" => $_POST, ]); } else { return $this->response->setJSON([ 'error' => true, 'message' => $this->ionAuth->errors($this->validationListTemplate), "data" => $_POST, ]); } $change = $this->ionAuth->resetPassword($identity, $this->request->getPost('new_password')); if ($change) { $this->ionAuth->logout(); return $this->response->setJSON([ 'error' => false, 'message' => "Forgot Password successfully", "data" => $_POST, ]); } else { return $this->response->setJSON([ 'error' => true, 'message' => $this->ionAuth->errors($this->validationListTemplate), "data" => $_POST, ]); } } else { return $this->response->setJSON([ 'error' => true, 'message' => "Faorgot Password Failed", "data" => $_POST, ]); } } /** * Activate the user * * @param integer $id The user ID * @param string $code The activation code * * @return \CodeIgniter\HTTP\RedirectResponse */ public function activate(int $id, string $code = ''): \CodeIgniter\HTTP\RedirectResponse { $activation = false; if ($code) { $activation = $this->ionAuth->activate($id, $code); } else if ($this->ionAuth->isAdmin()) { $activation = $this->ionAuth->activate($id); } if ($activation) { // redirect them to the auth page $this->session->setFlashdata('message', $this->ionAuth->messages()); return redirect()->to('/auth'); } else { // redirect them to the forgot password page $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); return redirect()->to('/auth/forgot_password'); } } /** * Deactivate the user * * @param integer $id The user ID * * @throw Exception * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function deactivate(int $id = 0) { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; if (!$this->ionAuth->loggedIn() || !$this->ionAuth->isAdmin()) { // redirect them to the home page because they must be an administrator to view this throw new \Exception('You must be an administrator to view this page.'); // TODO : I think it could be nice to have a dedicated exception like '\IonAuth\Exception\NotAllowed } $this->validation->setRule('confirm', lang('Auth.deactivate_validation_confirm_label'), 'required'); $this->validation->setRule('id', lang('Auth.deactivate_validation_user_id_label'), 'required|integer'); if (!$this->validation->withRequest($this->request)->run()) { $this->data['user'] = $this->ionAuth->user($id)->row(); $this->data['title'] = "Deactivate User | $app_name - Get Services On Demand"; $this->data['main_page'] = "auth/deactivate_user"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Deactivate $app_name account$app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } else { // do we really want to deactivate? if ($this->request->getPost('confirm') === 'yes') { // do we have a valid request? if ($id !== $this->request->getPost('id', FILTER_VALIDATE_INT)) { throw new \Exception(lang('Auth.error_security')); } // do we have the right userlevel? if ($this->ionAuth->loggedIn() && $this->ionAuth->isAdmin()) { $message = $this->ionAuth->deactivate($id) ? $this->ionAuth->messages() : $this->ionAuth->errors($this->validationListTemplate); $this->session->setFlashdata('message', $message); } } // redirect them back to the auth page return redirect()->to('/auth'); } } /** * Create a new user * * @return string|\CodeIgniter\HTTP\RedirectResponse */ public function create_user() { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['title'] = lang('Auth.create_user_heading'); if ($this->ionAuth->loggedIn()) { return redirect()->to('/auth'); } $tables = $this->configIonAuth->tables; $identityColumn = $this->configIonAuth->identity; $this->data['identity_column'] = $identityColumn; // validate form input $this->validation->setRule('first_name', 'Enter First Name', 'required'); $this->validation->setRule('last_name', 'Enter Last Name', 'required'); $this->validation->setRule('email', 'Enter Email Address', 'required|valid_email|is_unique[' . $tables['users'] . '.email]'); $this->validation->setRule('phone', 'Enter Mobile Number', 'required|is_unique[' . $tables['users'] . '.phone]'); $this->validation->setRule('password', 'Enter Password', 'required||matches[password_confirm]'); $this->validation->setRule('password_confirm', 'Confirm Password', 'required'); if ($this->request->getPost() && $this->validation->withRequest($this->request)->run()) { $email = strtolower($this->request->getPost('email')); $identity = $email; $password = $this->request->getPost('password'); $additionalData = [ 'first_name' => $this->request->getPost('first_name'), 'last_name' => $this->request->getPost('last_name'), 'phone' => $this->request->getPost('phone'), 'country_code' => $this->request->getPost('country_code'), ]; } if ($this->request->getPost() && $this->validation->withRequest($this->request)->run() && $this->ionAuth->register($identity, $password, $email, $additionalData)) { // check to see if we are creating the user // redirect them back to the admin page $this->session->setFlashdata('message', $this->ionAuth->messages()); return redirect()->to('/auth'); } else { // display the create user form // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); $this->data['title'] = "Registration | $app_name - On Demand Services"; $this->data['main_page'] = "register"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Register to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } } /** * Redirect a user checking if is admin * * @return \CodeIgniter\HTTP\RedirectResponse */ public function redirectUser() { if ($this->ionAuth->isAdmin()) { return redirect()->to('/auth'); } return redirect()->to('/'); } /** * Edit a user * * @param integer $id User id * * @return string string|\CodeIgniter\HTTP\RedirectResponse */ public function edit_user(int $id) { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['title'] = lang('Auth.edit_user_heading'); if (!$this->ionAuth->loggedIn() || (!$this->ionAuth->isAdmin() && !($this->ionAuth->user()->row()->id == $id))) { return redirect()->to('/auth'); } $user = $this->ionAuth->user($id)->row(); $groups = $this->ionAuth->groups()->resultArray(); $currentGroups = $this->ionAuth->getUsersGroups($id)->getResult(); if (!empty($_POST)) { // validate form input $this->validation->setRule('first_name', lang('Auth.edit_user_validation_fname_label'), 'required'); $this->validation->setRule('last_name', lang('Auth.edit_user_validation_lname_label'), 'required'); $this->validation->setRule('phone', lang('Auth.edit_user_validation_phone_label'), 'required'); $this->validation->setRule('company', lang('Auth.edit_user_validation_company_label'), 'required'); // do we have a valid request? if ($id !== $this->request->getPost('id', FILTER_VALIDATE_INT)) { throw new \Exception(lang('Auth.error_security')); } // update the password if it was posted if ($this->request->getPost('password')) { $this->validation->setRule('password', lang('Auth.edit_user_validation_password_label'), 'required|min_length[' . $this->configIonAuth->minPasswordLength . ']|matches[password_confirm]'); $this->validation->setRule('password_confirm', lang('Auth.edit_user_validation_password_confirm_label'), 'required'); } if ($this->request->getPost() && $this->validation->withRequest($this->request)->run()) { $data = [ 'first_name' => $this->request->getPost('first_name'), 'last_name' => $this->request->getPost('last_name'), 'company' => $this->request->getPost('company'), 'phone' => $this->request->getPost('phone'), ]; // update the password if it was posted if ($this->request->getPost('password')) { $data['password'] = $this->request->getPost('password'); } // Only allow updating groups if user is admin if ($this->ionAuth->isAdmin()) { // Update the groups user belongs to $groupData = $this->request->getPost('groups'); if (!empty($groupData)) { $this->ionAuth->removeFromGroup('', $id); foreach ($groupData as $grp) { $this->ionAuth->addToGroup($grp, $id); } } } // check to see if we are updating the user if ($this->ionAuth->update($user->id, $data)) { $this->session->setFlashdata('message', $this->ionAuth->messages()); } else { $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); } // redirect them back to the admin page if admin, or to the base url if non admin return $this->redirectUser(); } } // display the edit user form // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); // pass the user to the view $this->data['user'] = $user; $this->data['groups'] = $groups; $this->data['currentGroups'] = $currentGroups; $this->data['first_name'] = [ 'name' => 'first_name', 'id' => 'first_name', 'type' => 'text', 'value' => set_value('first_name', $user->first_name ?: ''), ]; $this->data['last_name'] = [ 'name' => 'last_name', 'id' => 'last_name', 'type' => 'text', 'value' => set_value('last_name', $user->last_name ?: ''), ]; $this->data['company'] = [ 'name' => 'company', 'id' => 'company', 'type' => 'text', 'value' => set_value('company', empty($user->company) ? '' : $user->company), ]; $this->data['phone'] = [ 'name' => 'phone', 'id' => 'phone', 'type' => 'text', 'value' => set_value('phone', empty($user->phone) ? '' : $user->phone), ]; $this->data['password'] = [ 'name' => 'password', 'id' => 'password', 'type' => 'password', ]; $this->data['password_confirm'] = [ 'name' => 'password_confirm', 'id' => 'password_confirm', 'type' => 'password', ]; $this->data['ionAuth'] = $this->ionAuth; $this->data['title'] = "Edit User | $app_name - Get Services On Demand"; $this->data['main_page'] = "auth/edit_user"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Edit $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } /** * Create a new group * * @return string string|\CodeIgniter\HTTP\RedirectResponse */ public function create_group() { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['title'] = lang('Auth.create_group_title'); if (!$this->ionAuth->loggedIn() || !$this->ionAuth->isAdmin()) { return redirect()->to('/auth'); } // validate form input $this->validation->setRule('group_name', lang('Auth.create_group_validation_name_label'), 'required|alpha_dash'); if ($this->request->getPost() && $this->validation->withRequest($this->request)->run()) { $newGroupId = $this->ionAuth->createGroup($this->request->getPost('group_name'), $this->request->getPost('description')); if ($newGroupId) { // check to see if we are creating the group // redirect them back to the admin page $this->session->setFlashdata('message', $this->ionAuth->messages()); return redirect()->to('/auth'); } } else { // display the create group form // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); $this->data['group_name'] = [ 'name' => 'group_name', 'id' => 'group_name', 'type' => 'text', 'value' => set_value('group_name'), ]; $this->data['description'] = [ 'name' => 'description', 'id' => 'description', 'type' => 'text', 'value' => set_value('description'), ]; // render $this->data['title'] = "Create new user group | $app_name - Get Services On Demand"; $this->data['main_page'] = "auth/create_group"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Create new group for $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } } /** * Edit a group * * @param integer $id Group id * * @return string|CodeIgniter\Http\Response */ public function edit_group(int $id = 0) { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; // bail if no group id given if (!$id) { return redirect()->to('/auth'); } $this->data['title'] = lang('Auth.edit_group_title'); if (!$this->ionAuth->loggedIn() || !$this->ionAuth->isAdmin()) { return redirect()->to('/auth'); } $group = $this->ionAuth->group($id)->row(); // validate form input $this->validation->setRule('group_name', lang('Auth.edit_group_validation_name_label'), 'required|alpha_dash'); if ($this->request->getPost()) { if ($this->validation->withRequest($this->request)->run()) { $groupUpdate = $this->ionAuth->updateGroup($id, $this->request->getPost('group_name'), ['description' => $this->request->getPost('group_description')]); if ($groupUpdate) { $this->session->setFlashdata('message', lang('Auth.edit_group_saved')); } else { $this->session->setFlashdata('message', $this->ionAuth->errors($this->validationListTemplate)); } return redirect()->to('/auth'); } } // set the flash data error message if there is one $this->data['message'] = $this->validation->listErrors($this->validationListTemplate) ?: ($this->ionAuth->errors($this->validationListTemplate) ?: $this->session->getFlashdata('message')); // pass the user to the view $this->data['group'] = $group; $readonly = $this->configIonAuth->adminGroup === $group->name ? 'readonly' : ''; $this->data['group_name'] = [ 'name' => 'group_name', 'id' => 'group_name', 'type' => 'text', 'value' => set_value('group_name', $group->name), $readonly => $readonly, ]; $this->data['group_description'] = [ 'name' => 'group_description', 'id' => 'group_description', 'type' => 'text', 'value' => set_value('group_description', $group->description), ]; $this->data['title'] = "Edit Group | $app_name - Get Services On Demand"; $this->data['main_page'] = "auth/edit_group"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Edit to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } /** * THIS WILL CREATE PARTNERS */ // public function create_partner() // { // // print_r($this->request->getPost('store_country_code')); // // die; // $this->user = new Users_model(); // $settings = get_settings('general_settings', true); // $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; // $this->data['title'] = lang('Auth.create_user_heading'); // if ($this->ionAuth->loggedIn()) { // return redirect()->to('/auth'); // } // $tables = $this->configIonAuth->tables; // $identityColumn = $this->configIonAuth->identity; // $this->data['identity_column'] = $identityColumn; // // validate form input // $this->validation->setRule('username', 'Enter First Name', 'required'); // $this->validation->setRule('email', 'Enter Email Address', 'required|valid_email|is_unique[' . $tables['users'] . '.email]'); // $this->validation->setRule('phone', 'Enter Mobile Number', 'required'); // $this->validation->setRule('password', 'Enter Password', 'required|matches[password_confirm]'); // $this->validation->setRule('password_confirm', 'Confirm Password', 'required'); // $this->validation->setRule('company_name', 'Enter Company Name', 'required'); // $additionalData = []; // $company = ''; // $phone = ''; // $user_name = ''; // if ($this->validation->withRequest($this->request)->run()) { // $email = strtolower($this->request->getPost('email')); // $identity = $email; // $password = $this->request->getPost('password'); // $company = $this->request->getPost('company_name'); // $phone = $this->request->getPost('phone'); // $user_name = $this->request->getPost('first_name'); // $additionalData = [ // 'username' => $user_name, // 'phone' => $this->request->getPost('phone'), // 'company' => $company, // 'country_code' =>$this->request->getPost('store_country_code'), // ]; // } // $group_id = [ // 'id' => 3 // ]; // $rules = [ // 'email' => [ // "rules" => 'required|valid_email|is_unique[' . $tables['users'] . '.email]', // "errors" => [ // "required" => "Please enter username" // ] // ], // 'phone' => [ // "rules" => 'required', // "errors" => [ // "required" => "Enter Mobile Number" // ] // ], // 'password' => [ // "rules" => 'required|matches[password_confirm]', // "errors" => [ // "required" => "Enter Password" // ] // ], // 'password_confirm' => [ // "rules" => 'required', // "errors" => [ // "required" => "Enter Confirm Password" // ] // ], // 'company_name' => [ // "rules" => 'required', // "errors" => [ // "required" => "Enter Company Name" // ] // ], // ]; // $mobile_data = fetch_details('users', ['phone' => $phone]); // if (!empty($mobile_data) && $mobile_data[0]['phone']) { // $response['error'] = true; // $response['message'] = "Phone number already exists please use another one"; // $response['csrfName'] = csrf_token(); // $response['csrfHash'] = csrf_hash(); // $response['data'] = []; // return $this->response->setJSON($response); // } // if (!empty($email_data) && $email_data[0]['email']) { // $response['error'] = true; // $response['message'] = "Email already exists please use another one"; // $response['csrfName'] = csrf_token(); // $response['csrfHash'] = csrf_hash(); // $response['data'] = []; // return $this->response->setJSON($response); // } // $this->validation->setRules($rules); // if (!$this->validation->withRequest($this->request)->run()) { // $errors = $this->validation->getErrors(); // $response['error'] = true; // $response['message'] = $errors; // $response['csrfName'] = csrf_token(); // $response['csrfHash'] = csrf_hash(); // $response['data'] = []; // return $this->response->setJSON($response); // } // $id = $this->ionAuth->register($identity, $password, $email, $additionalData, $group_id); // $email = strtolower($this->request->getPost('email')); // $identity = $email; // $password = $this->request->getPost('password'); // $company = $this->request->getPost('company_name'); // $phone = $this->request->getPost('phone'); // $user_name = $this->request->getPost('first_name'); // $additionalData = [ // 'username' => $user_name, // 'phone' => $this->request->getPost('phone'), // 'company' => $company, // 'country_code' => $this->request->getPost('store_country_code'), // ]; // $data['phone'] = $phone; // $data['username'] = $user_name; // $data['country_code']=$this->request->getPost('store_country_code'); // $this->user->update($id, $data); // $partner_data = [ // 'partner_id' => $id, // 'company_name' => $company, // 'is_approved' => 0 // ]; // $data = $this->partner_model->save($partner_data); // if ($data) { // $response['error'] = false; // $response['message'] = "Successfully login"; // $response['csrfName'] = csrf_token(); // $response['csrfHash'] = csrf_hash(); // $response['data'] = []; // return $this->response->setJSON($response); // // $this->session->setFlashdata('message', $this->ionAuth->messages()); // // return redirect()->to('/partner/login'); // } // // } // else { // // display the create user form // // set the flash data error message if there is one // $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); // $this->data['title'] = "Registration | $app_name - On Demand Services"; // $this->data['main_page'] = "register"; // $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; // $this->data['meta_description'] = "Register to $app_name. $app_name is one of the leading "; // return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); // } // } public function create_partner() { // print_r($this->request->getPost('store_country_code')); // die; $this->user = new Users_model(); $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['title'] = lang('Auth.create_user_heading'); if ($this->ionAuth->loggedIn()) { return redirect()->to('/auth'); } $tables = $this->configIonAuth->tables; $identityColumn = $this->configIonAuth->identity; $this->data['identity_column'] = $identityColumn; // validate form input $this->validation->setRule('username', 'Enter First Name', 'required'); $this->validation->setRule('email', 'Enter Email Address', 'required|valid_email|is_unique[' . $tables['users'] . '.email]'); $this->validation->setRule('phone', 'Enter Mobile Number', 'required'); $this->validation->setRule('password', 'Enter Password', 'required|matches[password_confirm]'); $this->validation->setRule('password_confirm', 'Confirm Password', 'required'); $this->validation->setRule('company_name', 'Enter Company Name', 'required'); $additionalData = []; $company = ''; $phone = ''; $user_name = ''; if ($this->validation->withRequest($this->request)->run()) { $email = strtolower($this->request->getPost('email')); $identity = $email; $password = $this->request->getPost('password'); $company = $this->request->getPost('company_name'); $phone = $this->request->getPost('phone'); $user_name = $this->request->getPost('username'); $additionalData = [ 'username' => $user_name, 'phone' => $this->request->getPost('phone'), 'company' => $company, 'country_code' => $this->request->getPost('store_country_code'), ]; } $group_id = [ 'id' => 3 ]; $rules = [ 'email' => [ "rules" => 'required|valid_email|is_unique[' . $tables['users'] . '.email]', "errors" => [ "required" => "Please enter username" ] ], 'phone' => [ "rules" => 'required', "errors" => [ "required" => "Enter Mobile Number" ] ], 'password' => [ "rules" => 'required|matches[password_confirm]', "errors" => [ "required" => "Enter Password", 'matches' => 'The password confirmation does not match the password' ] ], 'password_confirm' => [ "rules" => 'required', "errors" => [ "required" => "Enter Confirm Password" ] ], 'company_name' => [ "rules" => 'required', "errors" => [ "required" => "Enter Company Name" ] ], ]; // $mobile_data = fetch_details('users', ['phone' => $phone]); $db = \Config\Database::connect(); $builder = $db->table('users u'); $builder->select('u.*,ug.group_id') ->join('users_groups ug', 'ug.user_id = u.id') ->where('ug.group_id', 3) ->where(['phone' => $phone]); $mobile_data = $builder->get()->getResultArray(); if (!empty($mobile_data) && $mobile_data[0]['phone']) { $response['error'] = true; $response['message'] = "Phone number already exists please use another one"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); } if (!empty($email_data) && $email_data[0]['email']) { $response['error'] = true; $response['message'] = "Email already exists please use another one"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); } $this->validation->setRules($rules); if (!$this->validation->withRequest($this->request)->run()) { // $errors = $this->validation->getErrors(); // $response['error'] = true; // $response['message'] = $errors; // $response['csrfName'] = csrf_token(); // $response['csrfHash'] = csrf_hash(); // $response['data'] = []; // return $this->response->setJSON($response); $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); $this->data['title'] = "Registration | $app_name - On Demand Services"; $this->data['main_page'] = "register"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Register to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } $id = $this->ionAuth->register($identity, $password, $email, $additionalData, $group_id); $email = strtolower($this->request->getPost('email')); $identity = $email; $password = $this->request->getPost('password'); $company = $this->request->getPost('company_name'); $phone = $this->request->getPost('phone'); $user_name = $this->request->getPost('username'); $additionalData = [ 'username' => $user_name, 'phone' => $this->request->getPost('phone'), 'company' => $company, 'country_code' => $this->request->getPost('store_country_code'), ]; $data['phone'] = $phone; $data['username'] = $user_name; $data['country_code'] = $this->request->getPost('store_country_code'); $this->user->update($id, $data); $partner_data = [ 'partner_id' => $id, 'company_name' => $company, 'is_approved' => 0 ]; $tempRowDaysIsOpen = array(0, 0, 0, 0, 0, 0, 0); $rowsDays = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); $tempRowDays = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'); $tempRowStartTime = array('00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00'); $tempRowEndTime = array('00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00', '00:00:00'); for ($i = 0; $i < count($tempRowStartTime); $i++) { $partner_timing = []; $partner_timing['day'] = $tempRowDays[$i]; if (isset($tempRowStartTime[$i])) { $partner_timing['opening_time'] = $tempRowStartTime[$i]; } if (isset($tempRowEndTime[$i])) { $partner_timing['closing_time'] = $tempRowEndTime[$i]; } $partner_timing['is_open'] = $tempRowDaysIsOpen[$i]; $partner_timing['partner_id'] = $id; insert_details($partner_timing, 'partner_timings'); } $data = $this->partner_model->save($partner_data); if ($data) { $response['error'] = false; $response['message'] = "Successfully login"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; // return $this->response->setJSON($response); $this->session->setFlashdata('message', $this->ionAuth->messages()); return redirect()->to('/partner/login'); } // } else { // display the create user form // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); $this->data['title'] = "Registration | $app_name - On Demand Services"; $this->data['main_page'] = "register"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Register to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } } public function create_admin() { $settings = get_settings('general_settings', true); $app_name = (isset($settings['company_title']) && $settings['company_title'] != "") ? $settings['company_title'] : "eDemand"; $this->data['title'] = lang('Auth.create_user_heading'); $tables = $this->configIonAuth->tables; $identityColumn = $this->configIonAuth->identity; $this->data['identity_column'] = $identityColumn; // validate form input $email = strtolower('mail@mail.com'); $identity = $email; $password = "12345678"; $phone = "1234567800"; $user_name = "test_test"; $additionalData = [ 'username' => $user_name, 'phone' => $phone, ]; $group_id = [ 'id' => 1 ]; $id = $this->ionAuth->register($identity, $password, $email, $additionalData, $group_id); if ($id) { update_details( ['phone' => $phone, 'username' => $user_name], ['id' => $id], 'users' ); return $id; } else { // display the create user form // set the flash data error message if there is one $this->data['message'] = $this->validation->getErrors() ? $this->validation->listErrors($this->validationListTemplate) : ($this->ionAuth->errors($this->validationListTemplate) ? $this->ionAuth->errors($this->validationListTemplate) : $this->session->getFlashdata('message')); $this->data['title'] = "Registration | $app_name - On Demand Services"; $this->data['main_page'] = "register"; $this->data['meta_keywords'] = "On Demand, Services,On Demand Services, Service Provider"; $this->data['meta_description'] = "Register to $app_name. $app_name is one of the leading "; return $this->renderPage($this->viewsFolder . DIRECTORY_SEPARATOR . 'template', $this->data); } } /** * Render the specified view * * @param string $view The name of the file to load * @param array|null $data An array of key/value pairs to make available within the view. * @param boolean $returnHtml If true return html string * * @return string|void */ protected function renderPage(string $view, $data = null, bool $returnHtml = true): string { $viewdata = $data ?: $this->data; $viewHtml = view($view, $viewdata); if ($returnHtml) { return $viewHtml; } else { echo $viewHtml; } } public function check_number() { $this->validation = \Config\Services::validation(); $request = \Config\Services::request(); $number = $request->getPost('number'); $db = \Config\Database::connect(); $builder = $db->table('users u'); $builder->select('u.*,ug.group_id') ->join('users_groups ug', 'ug.user_id = u.id') ->where('ug.group_id', 3) ->where(['phone' => $number]); $mobile_data = $builder->get()->getResultArray(); $authentication_mode = get_settings('general_settings', true); if (!empty($mobile_data) && $mobile_data[0]['phone']) { $response['error'] = true; $response['message'] = "Phone number already exists please use another one"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = ['authentication_mode' => $authentication_mode['authentication_mode']]; return $this->response->setJSON($response); } else { $error = false; $message = "number not exist"; $response['error'] = $error; $response['message'] = $message; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = ['authentication_mode' => $authentication_mode['authentication_mode']]; return $this->response->setJSON($response); } } public function partner_privacy_policy() { $settings = get_settings('general_settings', true); $this->data['title'] = 'Partner Privacy Policy | ' . $settings['company_title']; $this->data['meta_description'] = 'Privacy Policy | ' . $settings['company_title']; $this->data['privacy_policy'] = get_settings('privacy_policy', true); $this->data['settings'] = $settings; return view('view_partner_privacy_policy.php', $this->data); } public function customer_privacy_policy() { $settings = get_settings('general_settings', true); $this->data['title'] = 'Customer Privacy Policy | ' . $settings['company_title']; $this->data['meta_description'] = 'Privacy Policy | ' . $settings['company_title']; $this->data['customer_privacy_policy'] = get_settings('customer_privacy_policy', true); $this->data['settings'] = $settings; return view('view_customer_privacy_policy.php', $this->data); } public function check_number_for_forgot_password() { $this->validation = \Config\Services::validation(); $request = \Config\Services::request(); $number = $request->getPost('number'); $mobile_data = fetch_details('users', ['phone' => $number]); $authentication_mode = get_settings('general_settings', true); if (!empty($mobile_data) && $mobile_data[0]['phone']) { $response['error'] = false; $response['message'] = "Phone number already exists please use another one"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = ['authentication_mode' => $authentication_mode['authentication_mode']]; return $this->response->setJSON($response); } else { $error = true; $message = "number not exist"; $response['error'] = $error; $response['message'] = $message; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = ['authentication_mode' => $authentication_mode['authentication_mode']]; return $this->response->setJSON($response); } } public function reset_password_otp() { $validation = \Config\Services::validation(); $validation->setRules( [ 'password' => 'required', 'phone' => 'required', 'store_country_code' => 'required', ] ); if (!$validation->withRequest($this->request)->run()) { $errors = $validation->getErrors(); $response = [ 'error' => true, 'message' => $errors, 'data' => [] ]; return $this->response->setJSON($response); } $identity = $this->request->getPost('phone'); // $user_data = fetch_details('users', ['phone' => $identity]); if ($_POST['userType'] == "admin") { $db = \Config\Database::connect(); $builder = $db->table('users u'); $builder->select('u.*,ug.group_id') ->join('users_groups ug', 'ug.user_id = u.id') ->where('ug.group_id', 1) ->where(['phone' => $identity]); $user_data = $builder->get()->getResultArray(); } else if ($_POST['userType'] == "partner") { $db = \Config\Database::connect(); $builder = $db->table('users u'); $builder->select('u.*,ug.group_id') ->join('users_groups ug', 'ug.user_id = u.id') ->where('ug.group_id', 3) ->where(['phone' => $identity]); $user_data = $builder->get()->getResultArray(); } else { return $this->response->setJSON([ 'error' => false, 'message' => "User does not exist", "data" => $_POST, ]); } if (empty($user_data)) { return $this->response->setJSON([ 'error' => false, 'message' => "User does not exist", "data" => $_POST, ]); } if ((($user_data[0]['country_code'] == null) || ($user_data[0]['country_code'] == $this->request->getPost('store_country_code'))) && (($user_data[0]['phone'] == $identity))) { $change = $this->ionAuth->resetPassword($identity, $this->request->getPost('password'), $user_data[0]['id']); if ($change) { $this->ionAuth->logout(); return $this->response->setJSON([ 'error' => false, 'message' => "Forgot Password successfully", "data" => $_POST, ]); } else { return $this->response->setJSON([ 'error' => true, 'message' => $this->ionAuth->errors($this->validationListTemplate), "data" => $_POST, ]); } $change = $this->ionAuth->resetPassword($identity, $this->request->getPost('password'), $user_data[0]['id']); if ($change) { $this->ionAuth->logout(); return $this->response->setJSON([ 'error' => false, 'message' => "Forgot Password successfully", "data" => $_POST, ]); } else { return $this->response->setJSON([ 'error' => true, 'message' => $this->ionAuth->errors($this->validationListTemplate), "data" => $_POST, ]); } } else { return $this->response->setJSON([ 'error' => true, 'message' => "Faorgot Password Failed", "data" => $_POST, ]); } } public function send_sms_otp() { $mobile = $_POST['number']; $is_exist = fetch_details('otps', ['mobile' => $mobile]); if (isset($_POST['number']) && empty($is_exist)) { $mobile_data = array( 'mobile' => $_POST['number'] ); insert_details($mobile_data, 'otps'); } $otp = random_int(100000, 999999); $mobile = $_POST['number']; $data = set_user_otp($mobile, $otp,$mobile); if ($data['error']==false) { $response['error'] = false; $response['message'] = "OTP send successfully"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); } else { $error = true; $response['error'] = $error; $response['message'] = $data['message']; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); } } function verify_sms_otp(){ $mobile=$_POST['number']; $otp=$_POST['code']; $data=fetch_details('otps',['mobile'=>$mobile,'otp'=>$otp]); if(!empty($data)){ $response['error'] = false; $response['message'] = "OTP verified"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); }else{ $response['error'] = true; $response['message'] = "OTP not verified"; $response['csrfName'] = csrf_token(); $response['csrfHash'] = csrf_hash(); $response['data'] = []; return $this->response->setJSON($response); } } public function providerDetails(){ $uri = service('uri'); $slug = $uri->getSegments()[1]; $general_settings=get_settings('general_settings',true); $customerPlayStoreUrl=$general_settings['customer_playstore_url']; $customerAppStoreUrl=$general_settings['customer_appstore_url']; $providerPlayStoreUrl=$general_settings['provider_playstore_url']; $providerAppStoreUrl=$general_settings['provider_appstore_url']; $appName=$general_settings['schema_for_deeplink']; $this->data['customerPlaystoreUrl'] = $customerPlayStoreUrl; $this->data['customerAppStoreUrl'] = $customerAppStoreUrl; $this->data['providerPlayStoreUrl'] = $providerPlayStoreUrl; $this->data['providerAppStoreUrl'] = $providerAppStoreUrl; $this->data['appName'] = $appName; return view('backend/admin/pages/deep_link.php', $this->data); } }
/home/users/unlimited/www/admin.ondemand.codeskitter.site/app/Controllers/Auth.php