Function Reference: geodir_save_map_cache

Summary

Save the map cache to a json file.

Parameters

$map_json
(string) (required) The map marker json.

Default: None

Return Values

(mixed)

    Change Log

    Since: 1.6.22

    Source File

    geodir_save_map_cache() is located in geodirectory-functions/map-functions/get_markers.php [Line: 89]

    Source Code

    function geodir_save_map_cache($map_json){
    
        // if a search is going on then dont even try to check for cache.
        if(isset($_REQUEST['search']) && !empty($_REQUEST['search'])){
            return $map_json;
        }
    
        $url_params = array();
        $url_params[] = isset($_REQUEST['cat_id']) ? $_REQUEST['cat_id'] : '';
        $url_params[] = isset($_REQUEST['zl']) ? $_REQUEST['zl'] : '';
        $url_params[] = isset($_REQUEST['gd_map_h']) ? $_REQUEST['gd_map_h'] : '';
        $url_params[] = isset($_REQUEST['gd_map_w']) ? $_REQUEST['gd_map_w'] : '';
        $url_params[] = isset($_REQUEST['gd_posttype']) ? $_REQUEST['gd_posttype'] : '';
        $url_params[] = isset($_REQUEST['lat_ne']) ? $_REQUEST['lat_ne'] : '';
        $url_params[] = isset($_REQUEST['lon_ne']) ? $_REQUEST['lon_ne'] : '';
        $url_params[] = isset($_REQUEST['lat_sw']) ? $_REQUEST['lat_sw'] : '';
        $url_params[] = isset($_REQUEST['lon_sw']) ? $_REQUEST['lon_sw'] : '';
        $url_params[] = isset($_REQUEST['gd_country']) ? $_REQUEST['gd_country'] : '';
        $url_params[] = isset($_REQUEST['gd_region']) ? $_REQUEST['gd_region'] : '';
        $url_params[] = isset($_REQUEST['gd_city']) ? $_REQUEST['gd_city'] : '';
        $url_params[] = isset($_REQUEST['gd_neighbourhood']) ? $_REQUEST['gd_neighbourhood'] : '';
    
        $file_name = sanitize_file_name( md5( implode("-",$url_params) )  );
    
        $blog_id = get_current_blog_id();
        if($blog_id>1){
            $file_name = $blog_id."_".$file_name;
        }
    
        $file_path = realpath(dirname(__FILE__))."/map-cache/";
    
    
        global $wp_filesystem;
        if (empty($wp_filesystem)) {
            require_once (ABSPATH . '/wp-admin/includes/file.php');
            WP_Filesystem();
        }
        $wp_filesystem->put_contents(
            $file_path.$file_name.".json",
            $map_json,
            FS_CHMOD_FILE // predefined mode settings for WP files
        );
    
    
        return $map_json;
    
    }