public static function update_viewed_searches()
 {
     check_ajax_referer('displet_update_searches_nonce');
     if (isset($_POST['action']) && $_POST['action'] == 'displet_update_searches' && !empty($_POST['last_hash'])) {
         $user_id = get_current_user_id();
         if ($user_id != 0 && current_user_can('displet_save_searches') && !current_user_can(self::$_capabilities['view_leads'])) {
             $user_searches = get_user_meta($user_id, 'displet_user_hashes', true);
             $user_searches[] = $_POST['last_hash'];
             $user_searches_count = count($user_searches);
             update_user_meta($user_id, 'displet_user_hashes', $user_searches);
             update_user_meta($user_id, 'displet_user_hashes_count', $user_searches_count);
             $search_criteria = DispletRetsIdxResidentialsModel::get_search_criteria_from_hash($_POST['last_hash']);
             self::_send_saved_search_to_api($user_id, $search_criteria);
             do_action('displetretsidx_post_lead_viewed_search', $user_id, array('all_hashes' => $user_searches, 'hash_count' => $user_searches_count, 'last_hash' => $_POST['last_hash']));
         }
     }
     die;
 }
 public static function send_users_saved_searches_to_api($user_id, $api_user_id)
 {
     if (!empty($user_id) && !empty($api_user_id)) {
         $saved_searches = get_user_meta($user_id, 'displet_saved_searches', true);
         if (!empty($saved_searches)) {
             $new_saved_searches = array();
             foreach ($saved_searches as $saved_search) {
                 if (is_array($saved_search)) {
                     $hash = $saved_search['hash'];
                     $name = $saved_search['name'];
                 } else {
                     $hash = $saved_search;
                     $name = false;
                 }
                 if (empty($name)) {
                     $name = wp_generate_password(12, false);
                 }
                 $criteria = DispletRetsIdxResidentialsModel::get_search_criteria_from_hash($hash);
                 $saved_search_id = DispletRetsIdxUsersApiController::create_saved_search($api_user_id, $name, $criteria);
                 $new_saved_searches[] = array('hash' => $hash, 'name' => $name, 'api_id' => $saved_search_id);
             }
             update_user_meta($user_id, 'displet_saved_searches', $new_saved_searches);
         }
     }
 }