function display_filters() { global $loaded_data, $filters, $is_archive; echo '<nav id="side">'; echo '<h1>' . __('Filters') . '</h2>'; calendar_widget(); echo '<div id="filters" class="center"><form>'; echo '<input type="hidden" id="filter_date" name="filter_date" value="' . get_date_filter($filters['yr'], $filters['mo'], isset($filters['dy']) ? $filters['dy'] : false) . '">'; if (!$is_archive) { echo '<h2>' . __('Content') . '</h2>'; filter_select('resource'); echo '<h2>' . __('Visitors') . '</h2>'; foreach (array('remote_ip', 'browser', 'platform', 'country', 'language') as $f) { filter_select($f); } echo '<h2>' . __('Referrers') . '</h2>'; foreach (array('search_terms', 'domain', 'referrer') as $f) { filter_select($f); } } else { echo '<p><small>' . __('Data for this month has been aggregated and cannot be filtered.') . '</small></p>'; } echo '<input class="hide-if-js" type="submit" value="' . __('Apply filters') . '">'; echo '</form></div>'; echo '</nav>'; }
function filter_url($_filters) { if (!is_array($_filters)) { return ''; } $shown_first = false; $str = ''; $cleaned_filters = $_filters; unset($cleaned_filters['yr'], $cleaned_filters['mo'], $cleaned_filters['dy']); $yr = isset($_filters['yr']) ? $_filters['yr'] : date('Y'); $mo = isset($_filters['mo']) ? $_filters['mo'] : date('m'); $dy = isset($_filters['dy']) ? $_filters['dy'] : false; $date = get_date_filter($yr, $mo, $dy); if ($date != '_') { $cleaned_filters['date'] = $date; } $sep = '?'; foreach ($cleaned_filters as $key => $value) { $str .= $sep . 'filter_' . $key . '=' . rawurlencode($value); $sep = '&'; } return $str; }