You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
653 lines
21 KiB
653 lines
21 KiB
<?php |
|
|
|
/** |
|
* Class WP_Statistics_Admin_Pages |
|
*/ |
|
class WP_Statistics_Admin_Pages { |
|
|
|
//Transient For Show Notice Setting |
|
public static $setting_notice = '_show_notice_wp_statistics'; |
|
|
|
/** |
|
* Load Overview Page |
|
*/ |
|
static function overview() { |
|
global $WP_Statistics; |
|
|
|
// Right side "wide" widgets |
|
if ( $WP_Statistics->get_option( 'visits' ) ) { |
|
add_meta_box( |
|
'wps_hits_postbox', |
|
__( 'Hit Statistics', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'hits' ) |
|
); |
|
} |
|
|
|
if ( $WP_Statistics->get_option( 'visitors' ) ) { |
|
add_meta_box( |
|
'wps_top_visitors_postbox', |
|
__( 'Top Visitors', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'top.visitors' ) |
|
); |
|
add_meta_box( |
|
'wps_search_postbox', |
|
__( 'Search Engine Referrals', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'search' ) |
|
); |
|
add_meta_box( |
|
'wps_words_postbox', |
|
__( 'Latest Search Words', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'words' ) |
|
); |
|
add_meta_box( |
|
'wps_recent_postbox', |
|
__( 'Recent Visitors', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'recent' ) |
|
); |
|
|
|
if ( $WP_Statistics->get_option( 'geoip' ) ) { |
|
add_meta_box( |
|
'wps_map_postbox', |
|
__( 'Today\'s Visitors Map', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'map' ) |
|
); |
|
} |
|
} |
|
|
|
if ( $WP_Statistics->get_option( 'pages' ) ) { |
|
add_meta_box( |
|
'wps_pages_postbox', |
|
__( 'Top 10 Pages', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'normal', |
|
null, |
|
array( 'widget' => 'pages' ) |
|
); |
|
} |
|
|
|
// Left side "thin" widgets. |
|
if ( $WP_Statistics->get_option( 'visitors' ) ) { |
|
add_meta_box( |
|
'wps_summary_postbox', |
|
__( 'Summary', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'side', |
|
null, |
|
array( 'widget' => 'summary' ) |
|
); |
|
add_meta_box( |
|
'wps_browsers_postbox', |
|
__( 'Browsers', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'side', |
|
null, |
|
array( 'widget' => 'browsers' ) |
|
); |
|
add_meta_box( |
|
'wps_referring_postbox', |
|
__( 'Top Referring Sites', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'side', |
|
null, |
|
array( 'widget' => 'referring' ) |
|
); |
|
|
|
if ( $WP_Statistics->get_option( 'geoip' ) ) { |
|
add_meta_box( |
|
'wps_countries_postbox', |
|
__( 'Top 10 Countries', 'wp-statistics' ), |
|
'wp_statistics_generate_overview_postbox_contents', |
|
$WP_Statistics->menu_slugs['overview'], |
|
'side', |
|
null, |
|
array( 'widget' => 'countries' ) |
|
); |
|
} |
|
} |
|
|
|
//Left Show User online table |
|
if ( $WP_Statistics->get_option( 'useronline' ) ) { |
|
add_meta_box( 'wps_users_online_postbox', __( 'Online Users', 'wp-statistics' ), 'wp_statistics_generate_overview_postbox_contents', $WP_Statistics->menu_slugs['overview'], 'side', null, array( 'widget' => 'users_online' ) ); |
|
} |
|
} |
|
|
|
|
|
/** |
|
* Check in admin page |
|
* |
|
* @param $page | For Get List @see \WP_STATISTICS\WP_Statistics::$page |
|
* @return bool |
|
*/ |
|
public static function in_page( $page ) { |
|
global $pagenow; |
|
|
|
//Check is custom page |
|
if ( $pagenow == "admin.php" and isset( $_REQUEST['page'] ) and $_REQUEST['page'] == WP_Statistics::$page[ $page ] ) { |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
/** |
|
* Show Page title |
|
* @param string $title |
|
*/ |
|
public static function show_page_title( $title = '' ) { |
|
|
|
//Check if $title not Set |
|
if ( empty( $title ) and function_exists( 'get_admin_page_title' ) ) { |
|
$title = get_admin_page_title(); |
|
} |
|
|
|
//show Page title |
|
echo '<img src="' . plugins_url( 'wp-statistics/assets/images/' ) . '/title-logo.png" class="wps_page_title"><h2 class="wps_title">' . $title . '</h2>'; |
|
|
|
//do_action after wp_statistics |
|
do_action( 'wp_statistics_after_title' ); |
|
} |
|
|
|
/** |
|
* Get Admin Url |
|
* |
|
* @param null $page |
|
* @param array $arg |
|
* @area is_admin |
|
* @return string |
|
*/ |
|
public static function admin_url( $page = null, $arg = array() ) { |
|
|
|
//Check If Pages is in Wp-statistics |
|
if ( array_key_exists( $page, WP_Statistics::$page ) ) { |
|
$page = WP_Statistics::$page[ $page ]; |
|
} |
|
|
|
return add_query_arg( array_merge( array( 'page' => $page ), $arg ), admin_url( 'admin.php' ) ); |
|
} |
|
|
|
/** |
|
* Show MetaBox button Refresh/Direct Button Link in Top of Meta Box |
|
* |
|
* @param string $export |
|
* @return string |
|
*/ |
|
public static function meta_box_button( $export = 'all' ) { |
|
|
|
//Prepare button |
|
$refresh = '</button><button class="handlediv button-link wps-refresh" type="button" id="{{refreshid}}">' . wp_statistics_icons( 'dashicons-update' ) . '<span class="screen-reader-text">' . __( 'Reload', 'wp-statistics' ) . '</span></button>'; |
|
$more = '<button class="handlediv button-link wps-more" type="button" id="{{moreid}}">' . wp_statistics_icons( 'dashicons-external' ) . '<span class="screen-reader-text">' . __( 'More Details', 'wp-statistics' ) . '</span></button>'; |
|
|
|
//Export |
|
if ( $export == 'all' ) { |
|
return $refresh . $more; |
|
} else { |
|
return $$export; |
|
} |
|
} |
|
|
|
/** |
|
* Show Loading Meta Box |
|
*/ |
|
public static function loading_meta_box() { |
|
$loading = '<div class="wps_loading_box"><img src=" ' . plugins_url( 'wp-statistics/assets/images/' ) . 'loading.svg" alt="' . __( 'Reloading...', 'wp-statistics' ) . '"></div>'; |
|
return $loading; |
|
} |
|
|
|
/** |
|
* Sanitize Email Subject |
|
* |
|
* @param $subject |
|
* @return string|string[]|null |
|
*/ |
|
public static function sanitize_mail_subject( $subject ) { |
|
|
|
# Remove Special character |
|
$str = preg_replace( '/[\'^£$%&*()}{@#~?><>,|=+¬]/', '', $subject ); |
|
|
|
# Replace sequences of spaces with hyphen |
|
$str = preg_replace( '/ */', '-', $str ); |
|
|
|
# You may also want to try this alternative: |
|
$str = preg_replace( '/\\s+/', ' ', $str ); |
|
|
|
return $str; |
|
} |
|
|
|
/** |
|
* Plugins |
|
*/ |
|
static function plugins() { |
|
// Activate or deactivate the selected plugin |
|
if ( isset( $_GET['action'] ) ) { |
|
if ( $_GET['action'] == 'activate' ) { |
|
$result = activate_plugin( $_GET['plugin'] . '/' . $_GET['plugin'] . '.php' ); |
|
if ( is_wp_error( $result ) ) { |
|
wp_statistics_admin_notice_result( 'error', $result->get_error_message() ); |
|
} else { |
|
wp_statistics_admin_notice_result( 'success', __( 'Add-On activated.', 'wp-statistics' ) ); |
|
} |
|
} |
|
if ( $_GET['action'] == 'deactivate' ) { |
|
$result = deactivate_plugins( $_GET['plugin'] . '/' . $_GET['plugin'] . '.php' ); |
|
if ( is_wp_error( $result ) ) { |
|
wp_statistics_admin_notice_result( 'error', $result->get_error_message() ); |
|
} else { |
|
wp_statistics_admin_notice_result( 'success', __( 'Add-On deactivated.', 'wp-statistics' ) ); |
|
} |
|
} |
|
} |
|
|
|
$response = wp_remote_get( 'https://wp-statistics.com/wp-json/plugin/addons' ); |
|
$response_code = wp_remote_retrieve_response_code( $response ); |
|
$error = null; |
|
$plugins = array(); |
|
|
|
// Check response |
|
if ( is_wp_error( $response ) ) { |
|
$error = $response->get_error_message(); |
|
} else { |
|
if ( $response_code == '200' ) { |
|
$plugins = json_decode( $response['body'] ); |
|
} else { |
|
$error = $response['body']; |
|
} |
|
} |
|
|
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/templates/plugins.php'; |
|
} |
|
|
|
/** |
|
* Donate |
|
*/ |
|
static function donate() { |
|
echo "<script>window.location.href='http://wp-statistics.com/donate';</script>"; |
|
} |
|
|
|
/** |
|
* Loads the optimization page code. |
|
*/ |
|
static function optimization() { |
|
global $wpdb, $WP_Statistics; |
|
|
|
// Check the current user has the rights to be here. |
|
if ( ! current_user_can( wp_statistics_validate_capability( $WP_Statistics->get_option( 'manage_capability', 'manage_options' ) ) ) ) { |
|
wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); |
|
} |
|
|
|
// When we create $WP_Statistics the user has not been authenticated yet so we cannot load the user preferences |
|
// during the creation of the class. Instead load them now that the user exists. |
|
$WP_Statistics->load_user_options(); |
|
|
|
// Get the row count for each of the tables, we'll use this later on in the wps_optimization.php file. |
|
$list_table = wp_statistics_db_table( 'all' ); |
|
$result = array(); |
|
foreach ( $list_table as $tbl_key => $tbl_name ) { |
|
$result[ $tbl_name ] = $wpdb->get_var( "SELECT COUNT(*) FROM `$tbl_name`" ); |
|
} |
|
|
|
include WP_Statistics::$reg['plugin-dir'] . "includes/optimization/wps-optimization.php"; |
|
} |
|
|
|
/** |
|
* This function displays the HTML for the settings page. |
|
*/ |
|
static function settings() { |
|
global $WP_Statistics; |
|
|
|
// Check the current user has the rights to be here. |
|
if ( ! current_user_can( wp_statistics_validate_capability( $WP_Statistics->get_option( 'read_capability', 'manage_options' ) ) ) ) { |
|
wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); |
|
} |
|
|
|
// When we create $WP_Statistics the user has not been authenticated yet so we cannot load the user preferences |
|
// during the creation of the class. Instead load them now that the user exists. |
|
$WP_Statistics->load_user_options(); |
|
|
|
// Check admin notices. |
|
if ( $WP_Statistics->get_option( 'admin_notices' ) == true ) { |
|
$WP_Statistics->update_option( 'disable_donation_nag', false ); |
|
$WP_Statistics->update_option( 'disable_suggestion_nag', false ); |
|
} |
|
|
|
include WP_Statistics::$reg['plugin-dir'] . "includes/settings/wps-settings.php"; |
|
|
|
// We could let the download happen at the end of the page, but this way we get to give some |
|
// feedback to the users about the result. |
|
if ( $WP_Statistics->get_option( 'geoip' ) and isset( $_POST['update_geoip'] ) and isset( $_POST['geoip_name'] ) ) { |
|
|
|
//Check Geo ip Exist in Database |
|
if ( isset( WP_Statistics_Updates::$geoip[ $_POST['geoip_name'] ] ) ) { |
|
$result = WP_Statistics_Updates::download_geoip( $_POST['geoip_name'], "update" ); |
|
|
|
if ( isset( $result['status'] ) and $result['status'] === false ) { |
|
add_filter( "wp_statistics_redirect_setting", function ( $redirect ) { |
|
$redirect = true; |
|
return $redirect; |
|
} ); |
|
} else { |
|
echo $result['notice']; |
|
} |
|
} |
|
|
|
} |
|
|
|
//Enabled Geo ip Country Or City And download |
|
foreach ( array( "geoip" => "country", "geoip_city" => "city" ) as $geo_opt => $geo_name ) { |
|
if ( ! isset( $_POST['update_geoip'] ) and isset( $_POST[ 'wps_' . $geo_opt ] ) ) { |
|
|
|
//Check File Not Exist |
|
$upload_dir = wp_upload_dir(); |
|
$file = $upload_dir['basedir'] . '/wp-statistics/' . WP_Statistics_Updates::$geoip[ $geo_name ]['file'] . '.mmdb'; |
|
if ( ! file_exists( $file ) ) { |
|
$result = WP_Statistics_Updates::download_geoip( $geo_name ); |
|
if ( isset( $result['status'] ) and $result['status'] === false ) { |
|
add_filter( "wp_statistics_redirect_setting", function ( $redirect ) { |
|
$redirect = true; |
|
return $redirect; |
|
} ); |
|
} else { |
|
echo $result['notice']; |
|
} |
|
} |
|
} |
|
} |
|
|
|
//Redirect Set Setting |
|
self::wp_statistics_redirect_setting(); |
|
} |
|
|
|
/** |
|
* Set Transient Notice |
|
* |
|
* @param $text |
|
* @param string $type |
|
*/ |
|
public static function set_admin_notice( $text, $type = 'error' ) { |
|
$get = get_transient( WP_Statistics_Admin_Pages::$setting_notice ); |
|
if ( $get != false ) { |
|
$results = $get; |
|
} |
|
delete_transient( WP_Statistics_Admin_Pages::$setting_notice ); |
|
$results[] = array( "text" => $text, "type" => $type ); |
|
set_transient( WP_Statistics_Admin_Pages::$setting_notice, $results, 1 * HOUR_IN_SECONDS ); |
|
} |
|
|
|
/** |
|
* Notification Setting |
|
*/ |
|
public static function wp_statistics_notice_setting() { |
|
global $pagenow, $WP_Statistics; |
|
|
|
//Show Notice By Plugin |
|
$get = get_transient( WP_Statistics_Admin_Pages::$setting_notice ); |
|
if ( $get != false ) { |
|
foreach ( $get as $item ) { |
|
wp_statistics_admin_notice_result( $item['type'], $item['text'] ); |
|
} |
|
delete_transient( WP_Statistics_Admin_Pages::$setting_notice ); |
|
} |
|
|
|
//Check referring Spam Update |
|
if ( $pagenow == "admin.php" and isset( $_GET['page'] ) and $_GET['page'] == WP_Statistics::$page['settings'] and isset( $_GET['update-referrerspam'] ) ) { |
|
|
|
// Update referrer spam |
|
$update_spam = WP_Statistics_Updates::download_referrerspam(); |
|
if ( $update_spam === true ) { |
|
wp_statistics_admin_notice_result( 'success', __( 'Updated Matomo Referrer Spam.', 'wp-statistics' ) ); |
|
} else { |
|
wp_statistics_admin_notice_result( 'error', __( 'error in get referrer spam list. please try again.', 'wp-statistics' ) ); |
|
} |
|
} |
|
} |
|
|
|
/** |
|
* Redirect Jquery |
|
* @param bool $redirect |
|
*/ |
|
public static function wp_statistics_redirect_setting( $redirect = false ) { |
|
$redirect = apply_filters( 'wp_statistics_redirect_setting', $redirect ); |
|
if ( $redirect === true ) { |
|
echo '<script>window.location.replace("' . ( isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ? "https" : "http" ) . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" . '");</script>'; |
|
} |
|
} |
|
|
|
/** |
|
* @param string $log_type Log Type |
|
*/ |
|
static function log( $log_type = "" ) { |
|
global $wpdb, $WP_Statistics, $plugin_page; |
|
|
|
switch ( $plugin_page ) { |
|
case WP_Statistics::$page['browser']: |
|
$log_type = 'all-browsers'; |
|
|
|
break; |
|
case WP_Statistics::$page['countries']: |
|
$log_type = 'top-countries'; |
|
|
|
break; |
|
case WP_Statistics::$page['exclusions']: |
|
$log_type = 'exclusions'; |
|
|
|
break; |
|
case WP_Statistics::$page['hits']: |
|
$log_type = 'hit-statistics'; |
|
|
|
break; |
|
case WP_Statistics::$page['online']: |
|
$log_type = 'online'; |
|
|
|
break; |
|
case WP_Statistics::$page['pages']: |
|
$log_type = 'top-pages'; |
|
|
|
break; |
|
case WP_Statistics::$page['categories']: |
|
$log_type = 'categories'; |
|
|
|
break; |
|
case WP_Statistics::$page['tags']: |
|
$log_type = 'tags'; |
|
|
|
break; |
|
case WP_Statistics::$page['authors']: |
|
$log_type = 'authors'; |
|
|
|
break; |
|
case WP_Statistics::$page['referrers']: |
|
$log_type = 'top-referring-site'; |
|
|
|
break; |
|
case WP_Statistics::$page['searches']: |
|
$log_type = 'search-statistics'; |
|
|
|
break; |
|
case WP_Statistics::$page['words']: |
|
$log_type = 'last-all-search'; |
|
|
|
break; |
|
case WP_Statistics::$page['top-visitors']: |
|
$log_type = 'top-visitors'; |
|
|
|
break; |
|
case WP_Statistics::$page['visitors']: |
|
$log_type = 'last-all-visitor'; |
|
|
|
break; |
|
default: |
|
$log_type = ""; |
|
} |
|
|
|
// When we create $WP_Statistics the user has not been authenticated yet so we cannot load the user preferences |
|
// during the creation of the class. Instead load them now that the user exists. |
|
$WP_Statistics->load_user_options(); |
|
|
|
// We allow for a get style variable to be passed to define which function to use. |
|
if ( $log_type == "" && array_key_exists( 'type', $_GET ) ) { |
|
$log_type = $_GET['type']; |
|
} |
|
|
|
// Verify the user has the rights to see the statistics. |
|
if ( ! current_user_can( |
|
wp_statistics_validate_capability( |
|
$WP_Statistics->get_option( |
|
'read_capability', |
|
'manage_option' |
|
) |
|
) |
|
) |
|
) { |
|
wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); |
|
} |
|
|
|
// We want to make sure the tables actually exist before we blindly start access them. |
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_visitor' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_visit' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_exclusions' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_historical' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_pages' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_useronline' OR `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_search'" |
|
); |
|
|
|
if ( $result != 7 ) { |
|
|
|
$get_bloginfo_url = WP_Statistics_Admin_Pages::admin_url( 'optimization', array( 'tab' => 'database' ) ); |
|
$missing_tables = array(); |
|
|
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_visitor'" |
|
); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_visitor'; |
|
} |
|
$result = $wpdb->query( "SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_visit'" ); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_visit'; |
|
} |
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_exclusions'" |
|
); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_exclusions'; |
|
} |
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_historical'" |
|
); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_historical'; |
|
} |
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_useronline'" |
|
); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_useronline'; |
|
} |
|
$result = $wpdb->query( "SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_pages'" ); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_pages'; |
|
} |
|
$result = $wpdb->query( |
|
"SHOW TABLES WHERE `Tables_in_{$wpdb->dbname}` = '{$wpdb->prefix}statistics_search'" |
|
); |
|
if ( $result != 1 ) { |
|
$missing_tables[] = $wpdb->prefix . 'statistics_search'; |
|
} |
|
|
|
wp_die( |
|
'<div class="error"><p>' . sprintf( |
|
__( |
|
'The following plugin table(s) do not exist in the database, please re-run the %s install routine %s:', |
|
'wp-statistics' |
|
), |
|
'<a href="' . $get_bloginfo_url . '">', |
|
'</a>' |
|
) . implode( ', ', $missing_tables ) . '</p></div>' |
|
); |
|
} |
|
|
|
// Load the postbox script that provides the widget style boxes. |
|
wp_enqueue_script( 'common' ); |
|
wp_enqueue_script( 'wp-lists' ); |
|
wp_enqueue_script( 'postbox' ); |
|
|
|
// Load the css we use for the statistics pages. |
|
wp_enqueue_style( 'wpstatistics-log-css', WP_Statistics::$reg['plugin-url'] . 'assets/css/log.css', true, WP_Statistics::$reg['version'] ); |
|
wp_enqueue_style( 'wpstatistics-pagination-css', WP_Statistics::$reg['plugin-url'] . 'assets/css/pagination.css', true, WP_Statistics::$reg['version'] ); |
|
|
|
// The different pages have different files to load. |
|
switch ( $log_type ) { |
|
case 'all-browsers': |
|
case 'top-countries': |
|
case 'hit-statistics': |
|
case 'search-statistics': |
|
case 'exclusions': |
|
case 'online': |
|
case 'top-visitors': |
|
case 'categories': |
|
case 'tags': |
|
case 'authors': |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/' . $log_type . '.php'; |
|
break; |
|
case 'last-all-search': |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/last-search.php'; |
|
|
|
break; |
|
case 'last-all-visitor': |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/last-visitor.php'; |
|
|
|
break; |
|
case 'top-referring-site': |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/top-referring.php'; |
|
|
|
break; |
|
case 'top-pages': |
|
// If we've been given a page id or uri to get statistics for, load the page stats, otherwise load the page stats overview page. |
|
if ( array_key_exists( 'page-id', $_GET ) || array_key_exists( 'page-uri', $_GET ) || array_key_exists( 'prepage', $_GET ) ) { |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/page-statistics.php'; |
|
} else { |
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/top-pages.php'; |
|
} |
|
|
|
break; |
|
default: |
|
if ( get_current_screen()->parent_base == WP_Statistics::$page['overview'] ) { |
|
|
|
wp_enqueue_style( 'wpstatistics-jqvmap-css', WP_Statistics::$reg['plugin-url'] . 'assets/jqvmap/jqvmap.css', true, '1.5.1' ); |
|
wp_enqueue_script( 'wpstatistics-jquery-vmap', WP_Statistics::$reg['plugin-url'] . 'assets/jqvmap/jquery.vmap.js', true, '1.5.1' ); |
|
wp_enqueue_script( 'wpstatistics-jquery-vmap-world', WP_Statistics::$reg['plugin-url'] . 'assets/jqvmap/maps/jquery.vmap.world.js', true, '1.5.1' ); |
|
|
|
// Load our custom widgets handling javascript. |
|
wp_enqueue_script( 'wp_statistics_log', WP_Statistics::$reg['plugin-url'] . 'assets/js/log.js' ); |
|
|
|
include WP_Statistics::$reg['plugin-dir'] . 'includes/log/log.php'; |
|
} |
|
|
|
break; |
|
} |
|
} |
|
|
|
} |