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); } } }