Sync plugins from current page
Signed-off-by: Adrian Nöthlich <git@promasu.tech>
This commit is contained in:
269
wp-content/plugins/wp-statistics/includes/log/exclusions.php
Normal file
269
wp-content/plugins/wp-statistics/includes/log/exclusions.php
Normal file
@@ -0,0 +1,269 @@
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function () {
|
||||
postboxes.add_postbox_toggles(pagenow);
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
if ( $WP_Statistics->get_option( 'record_exclusions' ) != 1 ) {
|
||||
echo "<div class='updated settings-error'><p><strong>" .
|
||||
__(
|
||||
'Attention: Exclusion are not currently set to be recorded, the results below may not reflect current statistics!',
|
||||
'wp-statistics'
|
||||
) .
|
||||
"</strong></p></div>";
|
||||
}
|
||||
|
||||
//Set Default Time Picker Option
|
||||
list( $daysToDisplay, $rangestart, $rangeend ) = wp_statistics_prepare_range_time_picker();
|
||||
list( $daysToDisplay, $rangestart_utime, $rangeend_utime ) = wp_statistics_date_range_calculator(
|
||||
$daysToDisplay,
|
||||
$rangestart,
|
||||
$rangeend
|
||||
);
|
||||
$total_stats = $WP_Statistics->get_option( 'chart_totals' );
|
||||
|
||||
$excluded_reasons = array(
|
||||
'Robot',
|
||||
'Browscap',
|
||||
'IP Match',
|
||||
'Self Referral',
|
||||
'Login Page',
|
||||
'User Role',
|
||||
'GeoIP',
|
||||
'Hostname',
|
||||
'Robot Threshold',
|
||||
'Honey Pot',
|
||||
'Feeds',
|
||||
'Excluded URL',
|
||||
'404 Pages',
|
||||
'Referrer Spam',
|
||||
'AJAX Request',
|
||||
'CronJob',
|
||||
);
|
||||
$excluded_reason_tags = array(
|
||||
'Robot' => 'robot',
|
||||
'Browscap' => 'browscap',
|
||||
'IP Match' => 'ipmatch',
|
||||
'Self Referral' => 'selfreferral',
|
||||
'Login Page' => 'loginpage',
|
||||
'User Role' => 'userrole',
|
||||
'Total' => 'total',
|
||||
'GeoIP' => 'geoip',
|
||||
'Hostname' => 'hostname',
|
||||
'Robot Threshold' => 'robot_threshold',
|
||||
'Honey Pot' => 'honeypot',
|
||||
'Feeds' => 'feed',
|
||||
'Excluded URL' => 'excluded_url',
|
||||
'404 Pages' => 'excluded_404s',
|
||||
'Referrer Spam' => 'referrer_spam',
|
||||
'AJAX Request' => 'ajax',
|
||||
'CronJob' => 'cronjob',
|
||||
);
|
||||
$excluded_reason_db = array(
|
||||
'Robot' => 'robot',
|
||||
'Browscap' => 'browscap',
|
||||
'IP Match' => 'ip match',
|
||||
'Self Referral' => 'self referral',
|
||||
'Login Page' => 'login page',
|
||||
'User Role' => 'user role',
|
||||
'Total' => 'total',
|
||||
'GeoIP' => 'geoip',
|
||||
'Hostname' => 'hostname',
|
||||
'Robot Threshold' => 'robot_threshold',
|
||||
'Honey Pot' => 'honeypot',
|
||||
'Feeds' => 'feed',
|
||||
'Excluded URL' => 'excluded url',
|
||||
'404 Pages' => '404',
|
||||
'Referrer Spam' => 'referrer_spam',
|
||||
'AJAX Request' => 'ajax',
|
||||
'CronJob' => 'cronjob',
|
||||
);
|
||||
$excluded_reason_translate = array(
|
||||
'Robot' => json_encode( __( 'Robot', 'wp-statistics' ) ),
|
||||
'Browscap' => json_encode( __( 'Browscap', 'wp-statistics' ) ),
|
||||
'IP Match' => json_encode( __( 'IP Match', 'wp-statistics' ) ),
|
||||
'Self Referral' => json_encode( __( 'Self Referral', 'wp-statistics' ) ),
|
||||
'Login Page' => json_encode( __( 'Login Page', 'wp-statistics' ) ),
|
||||
'User Role' => json_encode( __( 'User Role', 'wp-statistics' ) ),
|
||||
'Total' => json_encode( __( 'Total', 'wp-statistics' ) ),
|
||||
'GeoIP' => json_encode( __( 'GeoIP', 'wp-statistics' ) ),
|
||||
'Hostname' => json_encode( __( 'Hostname', 'wp-statistics' ) ),
|
||||
'Robot Threshold' => json_encode( __( 'Robot Threshold', 'wp-statistics' ) ),
|
||||
'Honey Pot' => json_encode( __( 'Honey Pot', 'wp-statistics' ) ),
|
||||
'Feeds' => json_encode( __( 'Feeds', 'wp-statistics' ) ),
|
||||
'Excluded URL' => json_encode( __( 'Excluded URL', 'wp-statistics' ) ),
|
||||
'404 Pages' => json_encode( __( '404 Pages', 'wp-statistics' ) ),
|
||||
'Referrer Spam' => json_encode( __( 'Referrer Spam', 'wp-statistics' ) ),
|
||||
'AJAX Request' => json_encode( __( 'AJAX Request', 'wp-statistics' ) ),
|
||||
'CronJob' => json_encode( __( 'CronJob', 'wp-statistics' ) ),
|
||||
);
|
||||
$excluded_results = array( 'Total' => array() );
|
||||
$excluded_total = 0;
|
||||
|
||||
foreach ( $excluded_reasons as $reason ) {
|
||||
// The reasons array above is used both for display and internal purposes. Internally the values are all lower case but the array
|
||||
// is created with mixed case so it looks nice to the user. Therefore we have to convert it to lower case here.
|
||||
$thisreason = $excluded_reason_db[ $reason ];
|
||||
|
||||
for ( $i = $daysToDisplay; $i >= 0; $i -- ) {
|
||||
|
||||
// We're looping through the days backwards, so let's fine out what date we want to look at.
|
||||
$thisdate = $WP_Statistics->real_current_date( 'Y-m-d', '-' . $i, $rangeend_utime );
|
||||
|
||||
// Create the SQL query string to get the data.
|
||||
$query = $wpdb->prepare(
|
||||
"SELECT count FROM {$wpdb->prefix}statistics_exclusions WHERE reason = %s AND date = %s",
|
||||
$thisreason,
|
||||
$thisdate
|
||||
);
|
||||
|
||||
// Execute the query.
|
||||
$excluded_results[ $reason ][ $i ] = $wpdb->get_var( $query );
|
||||
|
||||
// If we're returned an error or a FALSE value, then let's make sure it's set to a numerical 0.
|
||||
if ( $excluded_results[ $reason ][ $i ] < 1 ) {
|
||||
$excluded_results[ $reason ][ $i ] = 0;
|
||||
}
|
||||
|
||||
// Make sure to initialize the results so we don't get warnings when WP_DEBUG is enabled.
|
||||
if ( ! array_key_exists( $i, $excluded_results['Total'] ) ) {
|
||||
$excluded_results['Total'][ $i ] = 0;
|
||||
}
|
||||
|
||||
// We're totalling things up here for use later.
|
||||
$excluded_results['Total'][ $i ] += $excluded_results[ $reason ][ $i ];
|
||||
$excluded_total += $excluded_results[ $reason ][ $i ];
|
||||
}
|
||||
}
|
||||
|
||||
$excuded_all_time = $wpdb->get_var( "SELECT SUM(count) FROM {$wpdb->prefix}statistics_exclusions" );
|
||||
|
||||
// If the chart totals is enabled, cheat a little and just add another reason category to the list so it gets generated later.
|
||||
if ( $total_stats == 1 ) {
|
||||
$excluded_reasons[] = 'Total';
|
||||
}
|
||||
|
||||
for ( $i = $daysToDisplay; $i >= 0; $i -- ) {
|
||||
$date[] = "'" . $WP_Statistics->Real_Current_Date( 'M j', '-' . $i, $rangeend_utime ) . "'";
|
||||
}
|
||||
|
||||
$stats = array();
|
||||
foreach ( $excluded_reasons as $reason ) {
|
||||
for ( $i = $daysToDisplay; $i >= 0; $i -- ) {
|
||||
$stats[ $reason ][] = $excluded_results[ $reason ][ $i ];
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="wrap wps-wrap">
|
||||
<?php WP_Statistics_Admin_Pages::show_page_title( __( 'Exclusions Statistics', 'wp-statistics' ) ); ?>
|
||||
<?php wp_statistics_date_range_selector( WP_Statistics::$page['exclusions'], $daysToDisplay ); ?>
|
||||
<div class="postbox-container" id="last-log">
|
||||
<div class="metabox-holder">
|
||||
<div class="meta-box-sortables">
|
||||
<div class="postbox">
|
||||
<?php $paneltitle = __( 'Exclusions Statistical Chart', 'wp-statistics' ); ?>
|
||||
<button class="handlediv" type="button" aria-expanded="true">
|
||||
<span class="screen-reader-text"><?php printf(
|
||||
__( 'Toggle panel: %s', 'wp-statistics' ),
|
||||
$paneltitle
|
||||
); ?></span>
|
||||
<span class="toggle-indicator" aria-hidden="true"></span>
|
||||
</button>
|
||||
<h2 class="hndle"><span><?php echo $paneltitle; ?></span></h2>
|
||||
|
||||
<div class="inside">
|
||||
<div class="inside">
|
||||
<canvas id="hit-stats" height="80"></canvas>
|
||||
<script type='text/javascript' src='<?php echo WP_Statistics::$reg['plugin-url']; ?>assets/js/Chart.bundle.min.js'></script>
|
||||
<script>
|
||||
var ctx = document.getElementById("hit-stats").getContext('2d');
|
||||
<?php if(is_rtl()) { ?> Chart.defaults.global.defaultFontFamily = "tahoma"; <?php } ?>
|
||||
var ChartJs = new Chart(ctx, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: [<?php echo implode( ', ', $date ); ?>],
|
||||
datasets: [
|
||||
<?php foreach ($stats as $key => $value) : $i ++; ?>
|
||||
{
|
||||
label: '<?php echo $key; ?>',
|
||||
data: [<?php echo implode( ',', $value ); ?>],
|
||||
backgroundColor: <?php echo wp_statistics_generate_rgba_color( $i, '0.2' ); ?>,
|
||||
borderColor: <?php echo wp_statistics_generate_rgba_color( $i, '1' ); ?>,
|
||||
borderWidth: 1,
|
||||
fill: true,
|
||||
},
|
||||
<?php endforeach; ?>
|
||||
]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: {
|
||||
position: 'bottom',
|
||||
},
|
||||
title: {
|
||||
display: true,
|
||||
text: '<?php echo sprintf( __( 'Hits in the last %s days', 'wp-statistics' ), $daysToDisplay ); ?>'
|
||||
},
|
||||
tooltips: {
|
||||
mode: 'index',
|
||||
intersect: false,
|
||||
},
|
||||
scales: {
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
beginAtZero: true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="postbox-container" style="width: 100%; float: left; margin-right:20px">
|
||||
<div class="metabox-holder">
|
||||
<div class="meta-box-sortables">
|
||||
<div class="postbox">
|
||||
<?php $paneltitle = __( 'Hits Statistics Summary', 'wp-statistics' ); ?>
|
||||
<button class="handlediv" type="button" aria-expanded="true">
|
||||
<span class="screen-reader-text"><?php printf(
|
||||
__( 'Toggle panel: %s', 'wp-statistics' ),
|
||||
$paneltitle
|
||||
); ?></span>
|
||||
<span class="toggle-indicator" aria-hidden="true"></span>
|
||||
</button>
|
||||
<h2 class="hndle"><span><?php echo $paneltitle; ?></span></h2>
|
||||
|
||||
<div class="inside">
|
||||
<table width="auto" class="widefat table-stats" id="summary-stats">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th class="th-center"><?php _e( 'Exclusions', 'wp-statistics' ); ?></th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><?php _e( 'Chart Total:', 'wp-statistics' ); ?></th>
|
||||
<th class="th-center"><span><?php echo number_format_i18n( $excluded_total ); ?></span>
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><?php _e( 'All Time Total:', 'wp-statistics' ); ?></th>
|
||||
<th class="th-center">
|
||||
<span><?php echo number_format_i18n( $excuded_all_time ); ?></span>
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user