public static final function clearEvents() { wssLog(__METHOD__ . "() triggered."); global $wpdb; $settings = WsdPlugin::getSettings(); $keepMaxEntries = (int) WpsOption::getOption('WPS_KEEP_NUM_ENTRIES_LT'); if ($keepMaxEntries < 1) { $query = "TRUNCATE " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME); $result = $wpdb->query($query); wssLog("Deleting live traffic entries.", array('query' => $query, 'result' => $result)); return; } $optData = WpsOption::getOption(WpsSettings::LIVE_TRAFFIC_ENTRIES); if (empty($optData)) { wssLog("Option (" . WpsSettings::LIVE_TRAFFIC_ENTRIES . ") not found."); return; } $numEntries = $wpdb->get_var("SELECT COUNT(entryId) FROM " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME)); if ($numEntries != $keepMaxEntries) { WpsOption::updateOption(WpsSettings::LIVE_TRAFFIC_ENTRIES, $numEntries); } if (intval($optData) <= $keepMaxEntries) { return; } $tableName = WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME); $querySelect = "SELECT min(t.entryTime)\n FROM\n (\n SELECT\n entryTime\n FROM\n " . $tableName . "\n ORDER BY\n entryTime DESC\n LIMIT " . $keepMaxEntries . "\n ) AS t"; $deleteFromTime = $wpdb->get_var($querySelect); $queryDelete = "DELETE FROM " . $tableName . " WHERE entryTime < %s"; $result = $wpdb->query($wpdb->prepare($queryDelete, $deleteFromTime)); wssLog("Deleting live traffic entries.", array('query' => "DELETE FROM {$tableName} WHERE entryTime < {$deleteFromTime}", 'deleted' => $result)); if (false === $result) { return; } // update option $numEntries = $wpdb->get_var("SELECT COUNT(entryId) FROM " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME)); WpsOption::updateOption(WpsSettings::LIVE_TRAFFIC_ENTRIES, $numEntries); }
<?php /*/#! Check for install errors */ if (!wpsCanDisplayPage()) { return; } $rm = strtoupper($_SERVER['REQUEST_METHOD']); $settings = WsdPlugin::getSettings(); $rssWidgetData = WpsOption::getOption('WSD-RSS-WGT-DISPLAY'); $rssWidgetChecked = false; if (!empty($rssWidgetData) && $rssWidgetData == 'yes') { $rssWidgetChecked = true; } $enableLiveTraffic = WpsOption::getOption(WpsSettings::ENABLE_LIVE_TRAFFIC, false); if ('POST' == $rm) { // check nonce if (isset($_POST['wsdplugin_update_settings_field'])) { if (!wp_verify_nonce($_POST['wsdplugin_update_settings_field'], 'wsdplugin_update_settings')) { wp_die(__('Invalid request.', WpsSettings::TEXT_DOMAIN)); } } else { wp_die(__('Invalid request.', WpsSettings::TEXT_DOMAIN)); } //#! UPDATE SETTINGS if (isset($_POST['updateSettingsButton'])) { // validate and save settings $postData = $_POST['chk_options']; parse_str($postData, $checkboxes); if (empty($checkboxes)) { foreach ($settings as &$entry) { $entry['value'] = 0;