Exemplo n.º 1
0
 private function forget_password()
 {
     $error_array = array();
     $error_array['authentication'] = array('type' => 'forget_password', 'status' => 'false');
     $db = wpl_db::get_DBO();
     $user_login = wpl_db::sanitize($this->username);
     if (trim($user_login) == '') {
         return $error_array;
     } elseif (strpos($user_login, '@')) {
         $user_data = wpl_users::get_user_by('email', $user_login);
         if (trim($user_data) == '') {
             return $error_array;
         }
     } else {
         $login = trim($user_login);
         $user_data = wpl_users::get_user_by('login', $login);
     }
     do_action('lostpassword_post');
     if (!$user_data) {
         return $this->failed_array;
     }
     $user_login = $user_data->user_login;
     $user_email = $user_data->user_email;
     do_action('retreive_password', $user_login);
     do_action('retrieve_password', $user_login);
     $allow = apply_filters('allow_password_reset', true, $user_data->ID);
     if (is_wp_error($allow)) {
         return $error_array;
     }
     $key = wpl_global::generate_password(20, false);
     do_action('retrieve_password_key', $user_login, $key);
     $hashed = wpl_global::wpl_hasher(8, $key);
     wpl_db::update('users', array('user_activation_key' => $hashed), 'user_login', $user_login);
     $message = __('Someone requested that the password be reset for the following account:', WPL_TEXTDOMAIN) . "\r\n";
     $message .= network_home_url('/') . "\r\n";
     $message .= sprintf(__('Username: %s', WPL_TEXTDOMAIN), $user_login) . "\r\n";
     $message .= __('If this was a mistake, just ignore this email and nothing will happen.', WPL_TEXTDOMAIN) . "\r\n";
     $message .= __('To reset your password, visit the following address:', WPL_TEXTDOMAIN) . "\r\n";
     $message .= '<' . network_site_url("wp-login.php?action=rp&key={$key}&login="******">\r\n";
     if (is_multisite()) {
         $blogname = $GLOBALS['current_site']->site_name;
     } else {
         $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
     }
     $title = sprintf(__('[%s] Password Reset', WPL_TEXTDOMAIN), $blogname);
     $title = apply_filters('retrieve_password_title', $title);
     $message = apply_filters('retrieve_password_message', $message, $key);
     if ($message && !wp_mail($user_email, $title, $message)) {
         return $error_array;
     }
     $this->built['authentication'] = array('type' => 'forget_password', 'status' => 'true');
     return $this->built;
 }
Exemplo n.º 2
0
 private function location_save($table_name, $table_column, $value, $item_id)
 {
     $location_settings = wpl_global::get_settings('3');
     # location settings
     $location_level = str_replace('_id', '', $table_column);
     $location_level = substr($location_level, -1);
     if ($table_column == 'zip_id') {
         $location_level = 'zips';
     }
     $location_data = wpl_locations::get_location($value, $location_level);
     $location_name_column = $location_level != 'zips' ? 'location' . $location_level . '_name' : 'zip_name';
     /** update property location data **/
     if ($location_settings['location_method'] == 2 or $location_settings['location_method'] == 1 and in_array($location_level, array(1, 2))) {
         $res = wpl_db::update($table_name, array($table_column => $value, $location_name_column => $location_data->name), 'id', $item_id);
     } else {
         $res = wpl_db::update($table_name, array($location_name_column => $value), 'id', $item_id);
     }
     $res = (int) $res;
     $message = $res ? __('Saved.', WPL_TEXTDOMAIN) : __('Error Occured.', WPL_TEXTDOMAIN);
     $data = NULL;
     $response = array('success' => $res, 'message' => $message, 'data' => $data);
     echo json_encode($response);
     exit;
 }
Exemplo n.º 3
0
 /**
  * Confirm a property
  * @author Howard <*****@*****.**>
  * @static
  * @param int $property_id
  * @param int $status
  * @param boolean $trigger_event
  * @return boolean
  */
 public static function confirm($property_id, $status = 1, $trigger_event = true)
 {
     /** first validation **/
     if (!trim($property_id) or !in_array($status, array(0, 1))) {
         return false;
     }
     wpl_db::update('wpl_properties', array('confirmed' => $status), 'id', $property_id);
     /** trigger event **/
     if ($trigger_event and $status == 1) {
         wpl_global::event_handler('property_confirmed', array('property_id' => $property_id, 'status' => $status));
     } elseif ($trigger_event and $status == 0) {
         wpl_global::event_handler('property_unconfirmed', array('property_id' => $property_id, 'status' => $status));
     }
     return true;
 }