?> "> <input type="hidden" class="slimstat-filter-date" name="slimstat-filter-date" value=""/> <br/>+ <input type="text" name="interval" id="slimstat-filter-interval" class="empty-on-focus empty-on-submit" value="<?php echo !empty(wp_slimstat_db::$filters_normalized['date']['interval']) ? wp_slimstat_db::$filters_normalized['date']['interval'] : __('days', 'wp-slimstat'); ?> "> <input type="submit" value="<?php _e('Apply', 'wp-slimstat'); ?> " class="button-secondary"> <?php if (!empty(wp_slimstat_db::$filters_normalized['date']['day']) || !empty(wp_slimstat_db::$filters_normalized['date']['month']) || !empty(wp_slimstat_db::$filters_normalized['date']['year'])) { ?> <a class="slimstat-filter-link button-secondary" href="<?php echo wp_slimstat_reports::fs_url('hour equals 0&&&day equals 0&&&month equals ' . date_i18n('n') . '&&&year equals ' . date_i18n('Y') . '&&&interval equals 0'); ?> "><?php _e('Reset Filters', 'wp-slimstat'); ?> </a> <?php } ?> </span> </fieldset><!-- .slimstat-date-filters --> <?php foreach (wp_slimstat_db::$filters_normalized['columns'] as $a_key => $a_details) { ?> <input type="hidden" name="fs[<?php
<input type="text" name="interval_minutes" id="slimstat-filter-interval_minutes" placeholder="<?php _e('mins', 'wp-slimstat'); ?> " class="short empty-on-focus" value="<?php echo !empty(wp_slimstat_db::$filters_normalized['date']['interval_minutes']) ? wp_slimstat_db::$filters_normalized['date']['interval_minutes'] : ''; ?> "> <input type="submit" value="<?php _e('Apply', 'wp-slimstat'); ?> " class="button-secondary"> <?php if (!empty(wp_slimstat_db::$filters_normalized['date']['day']) || !(empty(wp_slimstat_db::$filters_normalized['date']['month']) || wp_slimstat_db::$filters_normalized['date']['month'] == date_i18n('n')) || !empty(wp_slimstat_db::$filters_normalized['date']['year']) || !empty(wp_slimstat_db::$filters_normalized['date']['interval']) || !empty(wp_slimstat_db::$filters_normalized['date']['interval_hours']) || !empty(wp_slimstat_db::$filters_normalized['date']['interval_minutes'])) { ?> <a class="slimstat-filter-link button-secondary" href="<?php echo wp_slimstat_reports::fs_url('minute equals 0&&&hour equals 0&&&day equals 0&&&month equals ' . date_i18n('n') . '&&&year equals 0&&&interval_direction equals plus&&&interval equals 0&&&interval_hours equals 0&&&interval_minutes equals 0'); ?> "><?php _e('Reset Filters', 'wp-slimstat'); ?> </a> <?php } ?> </span> </fieldset><!-- .slimstat-date-filters --> <?php foreach (wp_slimstat_db::$filters_normalized['columns'] as $a_key => $a_details) { ?> <input type="hidden" name="fs[<?php
if (!empty($results[$i]['blog_id'])) { $base_url = parse_url(get_site_url($results[$i]['blog_id'])); $base_url = $base_url['scheme'] . '://' . $base_url['host']; } $results[$i]['resource'] = "<a class='slimstat-font-logout' target='_blank' title='" . htmlentities(__('Open this URL in a new window', 'wp-slimstat'), ENT_QUOTES, 'UTF-8') . "' href='" . $base_url . htmlentities($results[$i]['resource'], ENT_QUOTES, 'UTF-8') . "'></a> {$base_url}<a class='slimstat-filter-link' href='" . wp_slimstat_reports::fs_url('resource equals ' . $results[$i]['resource']) . "'>" . wp_slimstat_reports::get_resource_title($results[$i]['resource']) . '</a>'; } else { $results[$i]['resource'] = __('Local search results page', 'wp-slimstat'); } // Search Terms, with link to original SERP if (!empty($results[$i]['searchterms'])) { $results[$i]['searchterms'] = "<i class='spaced slimstat-font-search' title='" . __('Search Terms', 'wp-slimstat') . "'></i> " . wp_slimstat_reports::get_search_terms_info($results[$i]['searchterms'], $results[$i]['domain'], $results[$i]['referer']); } $results[$i]['domain'] = !empty($results[$i]['domain']) && empty($results[$i]['searchterms']) ? "<a class='spaced slimstat-font-login' target='_blank' title='" . htmlentities(__('Open this referrer in a new window', 'wp-slimstat'), ENT_QUOTES, 'UTF-8') . "' href='{$results[$i]['referer']}'></a> {$results[$i]['domain']}" : ''; $results[$i]['outbound_domain'] = !empty($results[$i]['outbound_domain']) ? "<a class='inline-icon spaced slimstat-font-logout' target='_blank' title='" . htmlentities(__('Open this outbound link in a new window', 'wp-slimstat'), ENT_QUOTES, 'UTF-8') . "' href='{$results[$i]['outbound_resource']}'></a> {$results[$i]['outbound_domain']}" : ''; $results[$i]['dt'] = "<i class='spaced slimstat-font-clock' title='" . __('Date and Time', 'wp-slimstat') . "'></i> {$results[$i]['dt']}"; $results[$i]['content_type'] = !empty($results[$i]['content_type']) ? "<i class='spaced slimstat-font-doc' title='" . __('Content Type', 'wp-slimstat') . "'></i> <a class='slimstat-filter-link' href='" . wp_slimstat_reports::fs_url('content_type equals ' . $results[$i]['content_type']) . "'>{$results[$i]['content_type']}</a> " : ''; echo "{$results[$i]['resource']} <span class='details'>{$results[$i]['searchterms']} {$results[$i]['domain']} {$results[$i]['outbound_domain']} {$results[$i]['content_type']} {$results[$i]['dt']}</span>"; echo '</p>'; } // Pagination if ($count_page_results > 20) { echo wp_slimstat_reports::report_pagination('slim_p7_02', $count_page_results, $count_all_results); } } } if (empty($_POST['report_id'])) { ?> </div> </div> <p style="clear:both" class="legend"><span class="legend-title"><?php _e('Color codes', 'wp-slimstat');
/** * Handles the Ajax requests to load, save or delete existing filters */ public static function manage_filters() { check_ajax_referer('meta-box-order', 'security'); include_once dirname(__FILE__) . '/view/wp-slimstat-reports.php'; wp_slimstat_reports::init(); $saved_filters = get_option('slimstat_filters', array()); $filter_found = 0; switch ($_POST['type']) { case 'save': $new_filter = unserialize(stripslashes_deep($_POST['filter_array'])); // Check if this filter is already saved foreach ($saved_filters as $a_saved_filter) { $filter_found = 0; if (count($a_saved_filter) != count($new_filter) || count(array_intersect_key($a_saved_filter, $new_filter)) != count($new_filter)) { $filter_found = 1; continue; } foreach ($a_saved_filter as $a_key => $a_value) { $filter_found += $a_value == $new_filter[$a_key] ? 0 : 1; } if ($filter_found == 0) { echo __('Already saved', 'wp-slimstat'); break; } } if (empty($saved_filters) || $filter_found > 0) { $saved_filters[] = $new_filter; update_option('slimstat_filters', $saved_filters); echo __('Saved', 'wp-slimstat'); } break; case 'delete': unset($saved_filters[intval($_POST['filter_id'])]); update_option('slimstat_filters', $saved_filters); // No break here - We want to return the new list of filters! // No break here - We want to return the new list of filters! default: echo '<div id="slim_filters_overlay">'; foreach ($saved_filters as $a_filter_id => $a_filter_data) { $filter_html = $filter_strings = array(); foreach ($a_filter_data as $a_filter_label => $a_filter_details) { $filter_value_no_slashes = htmlentities(str_replace('\\', '', $a_filter_details[1]), ENT_QUOTES, 'UTF-8'); $filter_html[] = strtolower(wp_slimstat_db::$columns_names[$a_filter_label][0]) . ' ' . __(str_replace('_', ' ', $a_filter_details[0]), 'wp-slimstat') . ' ' . $filter_value_no_slashes; $filter_strings[] = "{$a_filter_label} {$a_filter_details[0]} {$filter_value_no_slashes}"; } echo '<p><a class="slimstat-font-cancel slimstat-delete-filter" data-filter-id="' . $a_filter_id . '" title="' . __('Delete this filter', 'wp-slimstat') . '" href="#"></a> <a class="slimstat-filter-link" data-reset-filters="true" href="' . wp_slimstat_reports::fs_url(implode('&&&', $filter_strings)) . '">' . implode(', ', $filter_html) . '</a> <a href="#"></a></p>'; } echo '</div>'; break; } die; }
public static function report_pagination($_count_page_results = 0, $_count_all_results = 0, $_show_refresh_countdown = false) { $endpoint = min($_count_all_results, wp_slimstat_db::$filters_normalized['misc']['start_from'] + wp_slimstat_db::$filters_normalized['misc']['limit_results']); $pagination_buttons = ''; $direction_prev = is_rtl() ? 'right' : 'left'; $direction_next = is_rtl() ? 'left' : 'right'; if ($endpoint + wp_slimstat_db::$filters_normalized['misc']['limit_results'] < $_count_all_results && $_count_page_results > 0) { $startpoint = $_count_all_results - $_count_all_results % wp_slimstat_db::$filters_normalized['misc']['limit_results']; if ($startpoint == $_count_all_results) { $startpoint -= wp_slimstat_db::$filters_normalized['misc']['limit_results']; } $pagination_buttons .= '<a class="button-ajax slimstat-font-angle-double-' . $direction_next . '" href="' . wp_slimstat_reports::fs_url('start_from equals ' . $startpoint) . '"></a> '; } if ($endpoint < $_count_all_results && $_count_page_results > 0) { $startpoint = wp_slimstat_db::$filters_normalized['misc']['start_from'] + wp_slimstat_db::$filters_normalized['misc']['limit_results']; $pagination_buttons .= '<a class="button-ajax slimstat-font-angle-' . $direction_next . '" href="' . wp_slimstat_reports::fs_url('start_from equals ' . $startpoint) . '"></a> '; } if (wp_slimstat_db::$filters_normalized['misc']['start_from'] > 0) { $startpoint = wp_slimstat_db::$filters_normalized['misc']['start_from'] > wp_slimstat_db::$filters_normalized['misc']['limit_results'] ? wp_slimstat_db::$filters_normalized['misc']['start_from'] - wp_slimstat_db::$filters_normalized['misc']['limit_results'] : 0; $pagination_buttons .= '<a class="button-ajax slimstat-font-angle-' . $direction_prev . '" href="' . wp_slimstat_reports::fs_url('start_from equals ' . $startpoint) . '"></a> '; } if (wp_slimstat_db::$filters_normalized['misc']['start_from'] - wp_slimstat_db::$filters_normalized['misc']['limit_results'] > 0) { $pagination_buttons .= '<a class="button-ajax slimstat-font-angle-double-' . $direction_prev . '" href="' . wp_slimstat_reports::fs_url('start_from equals 0') . '"></a> '; } $pagination = '<p class="pagination">' . sprintf(__('Results %s - %s of %s', 'wp-slimstat'), number_format(wp_slimstat_db::$filters_normalized['misc']['start_from'] + 1, 0, '', wp_slimstat_db::$formats['thousand']), number_format($endpoint, 0, '', wp_slimstat_db::$formats['thousand']), number_format($_count_all_results, 0, '', wp_slimstat_db::$formats['thousand']) . ($_count_all_results == 1000 ? '+' : '')); if ($_show_refresh_countdown && wp_slimstat::$options['refresh_interval'] > 0 && !wp_slimstat_db::$filters_normalized['date']['is_past']) { $pagination .= ' – ' . __('Refresh in', 'wp-slimstat') . ' <i class="refresh-timer"></i>'; } $pagination .= $pagination_buttons . '</p>'; echo $pagination; }
/** * Adds a new column to the Posts management panel */ public static function add_post_column($_column_name, $_post_id) { if ('wp-slimstat' != $_column_name) { return; } include_once dirname(__FILE__) . '/view/wp-slimstat-reports.php'; wp_slimstat_reports::init(); $parsed_permalink = parse_url(get_permalink($_post_id)); $parsed_permalink = $parsed_permalink['path'] . (!empty($parsed_permalink['query']) ? '?' . $parsed_permalink['query'] : ''); wp_slimstat_db::init('resource contains ' . $parsed_permalink . '&&&hour equals 0&&&day equals ' . date('d') . '&&&month equals ' . date('m') . '&&&year equals ' . date('Y') . '&&&interval equals -365'); $count = wp_slimstat_db::count_records(); echo '<a href="' . wp_slimstat_reports::fs_url("resource contains {$parsed_permalink}&&&day equals " . date('d') . '&&&month equals ' . date('m') . '&&&year equals ' . date('Y') . '&&&interval equals -365') . '">' . $count . '</a>'; }