public static function fs_url($_filters = '') { // Allow only legitimate requests $request_uri = $_SERVER['REQUEST_URI']; $request_page = 'wp-slim-view-1'; // Are we on the Dashboard? if (empty($_REQUEST['page'])) { $request_uri = str_replace('index.php', 'admin.php', $request_uri); } else { if (array_key_exists($_REQUEST['page'], self::$screens_info)) { $request_page = $_REQUEST['page']; } else { return ''; } } $filtered_url = defined('DOING_AJAX') && DOING_AJAX ? explode('?', $_SERVER["HTTP_REFERER"]) : explode('?', $request_uri); $filtered_url = $filtered_url[0] . '?page=' . $request_page; // Columns $filters_normalized = wp_slimstat_db::parse_filters($_filters, false); if (!empty($filters_normalized['columns'])) { foreach ($filters_normalized['columns'] as $a_key => $a_filter) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode($a_filter[0] . ' ' . $a_filter[1]); } } // Date ranges if (!empty($filters_normalized['date'])) { foreach ($filters_normalized['date'] as $a_key => $a_filter) { if (!empty($a_filter) || $a_filter === 0) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode('equals ' . $a_filter); } } } // Misc filters if (!empty($filters_normalized['misc'])) { foreach ($filters_normalized['misc'] as $a_key => $a_filter) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode('equals ' . $a_filter); } } return $filtered_url; }
public static function fs_url($_filters = '', $_view_url = '') { $filtered_url = !empty($_view_url) ? $_view_url : self::$view_url; // Backward compatibility if (is_array($_filters)) { $flat_filters = array(); foreach ($_filters as $a_key => $a_filter_data) { $flat_filters[] = "{$a_key} {$a_filter_data}"; } $_filters = implode('&&&', $flat_filters); } // Columns $filters_normalized = wp_slimstat_db::parse_filters($_filters, false); if (!empty($filters_normalized['columns'])) { foreach ($filters_normalized['columns'] as $a_key => $a_filter) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode($a_filter[0] . ' ' . $a_filter[1]); } } // Date ranges if (!empty($filters_normalized['date'])) { foreach ($filters_normalized['date'] as $a_key => $a_filter) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode('equals ' . $a_filter); } } // Misc filters if (!empty($filters_normalized['misc'])) { foreach ($filters_normalized['misc'] as $a_key => $a_filter) { $filtered_url .= "&fs%5B{$a_key}%5D=" . urlencode('equals ' . $a_filter); } } return $filtered_url; }