diff --git a/admin.php b/admin.php index 178150d..5377426 100644 --- a/admin.php +++ b/admin.php @@ -108,6 +108,7 @@ function tguy_sm_stats_css() { function tguy_sm_init() { tguy_sm_create_summary_table(); tguy_sm_create_recent_table(); + tguy_sm_create_word_table(); } function tguy_sm_create_summary_table() { @@ -148,6 +149,25 @@ function tguy_sm_create_recent_table() { } } +function tguy_sm_create_word_table() { +// Create the table if not already there. + global $wpdb; + $table_name = $wpdb->prefix . "searchmeter_word"; + if ($wpdb->get_var("show tables like '$table_name'") != $table_name) { + require_once(ABSPATH . '/wp-admin/includes/upgrade.php'); + $charset_collate = $wpdb->get_charset_collate(); + dbDelta(" + CREATE TABLE `{$table_name}` ( + `word` VARCHAR(50) NOT NULL, + `date` DATE NOT NULL, + `count` INT(11) NOT NULL, + PRIMARY KEY (`word`,`date`) + ) + {$charset_collate}; + "); + } +} + //////// Permissions @@ -231,6 +251,11 @@ function tguy_sm_summary_page() { "DELETE FROM `{$wpdb->prefix}searchmeter` WHERE `date` < DATE_SUB( CURDATE() , INTERVAL 30 DAY)"); echo "\n"; + + $result = $wpdb->query( + "DELETE FROM `{$wpdb->prefix}searchmeter_word` + WHERE `date` < DATE_SUB( CURDATE() , INTERVAL 30 DAY)"); + echo "\n"; ?>
| word) ?> | +countsum ?> |
suppress_errors(); + $success = $wpdb->query($wpdb->prepare(" + INSERT INTO `{$wpdb->prefix}searchmeter_word` (`word`,`date`,`count`) + VALUES (%s, UTC_DATE(), 1)", + $word + )); + $wpdb->suppress_errors($suppress); + if (!$success) { + $success = $wpdb->query($wpdb->prepare(" + UPDATE `{$wpdb->prefix}searchmeter_word` SET + `count` = `count` + 1 + WHERE `word` = %s AND `date` = UTC_DATE()", + $word + )); + } + } } return $posts; }