%PDF- %PDF-
Direktori : /www/pinecnj.cz/old/www.pinecnj.cz/wp-content/plugins/wp-optimize/optimizations/ |
Current File : //www/pinecnj.cz/old/www.pinecnj.cz/wp-content/plugins/wp-optimize/optimizations/transient.php |
<?php if (!defined('WPO_VERSION')) die('No direct access allowed'); class WP_Optimization_transient extends WP_Optimization { public $available_for_auto = true; public $auto_default = false; public $ui_sort_order = 5000; public function optimize() { $clean = " DELETE a, b FROM ".$this->wpdb->options." a, ".$this->wpdb->options." b WHERE a.option_name LIKE '%_transient_%' AND a.option_name NOT LIKE '%_transient_timeout_%' AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, CHAR_LENGTH('_transient_') + 1 ) ) AND b.option_value < UNIX_TIMESTAMP() "; $options_table_transients_deleted = $this->query($clean); $message = sprintf(_n('%d transient option deleted', '%d transient options deleted', $options_table_transients_deleted, 'wp-optimize'), number_format_i18n($options_table_transients_deleted)); // Delete transients from multisite, if configured as such if (!is_multisite() || !is_main_network()) { $final_message = $message; } else { $clean2 = " DELETE a, b FROM ".$this->wpdb->sitemeta." a, ".$this->wpdb->sitemeta." b WHERE a.meta_key LIKE '_site_transient_%' AND a.meta_key NOT LIKE '_site_transient_timeout_%' AND b.meta_key = CONCAT( '_site_transient_timeout_', SUBSTRING( a.meta_key, CHAR_LENGTH('_site_transient_') + 1 ) ) AND b.meta_value < UNIX_TIMESTAMP() "; $sitemeta_table_transients_deleted = $this->query($clean2); $final_message = $message . ', '.sprintf(_n('%d site-wide transient option deleted', '%d site-widetransient options deleted', $sitemeta_table_transients_deleted, 'wp-optimize'), number_format_i18n($sitemeta_table_transients_deleted)); } $this->logger->info($final_message); $this->register_output($final_message); } public function get_info() { $options_table_sql = " SELECT COUNT(*) FROM ".$this->wpdb->options." a, ".$this->wpdb->options." b WHERE a.option_name LIKE '%_transient_%' AND a.option_name NOT LIKE '%_transient_timeout_%' AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, CHAR_LENGTH('_transient_') + 1 ) ) AND b.option_value < UNIX_TIMESTAMP() "; $options_table_transients = $this->wpdb->get_var($options_table_sql); if (is_multisite() && is_main_network()) { $sitemeta_table_sql = " SELECT COUNT(*) FROM ".$this->wpdb->sitemeta." a, ".$this->wpdb->sitemeta." b WHERE a.meta_key LIKE '_site_transient_%' AND a.meta_key NOT LIKE '_site_transient_timeout_%' AND b.meta_key = CONCAT( '_site_transient_timeout_', SUBSTRING( a.meta_key, CHAR_LENGTH('_site_transient_') + 1 ) ) AND b.meta_value < UNIX_TIMESTAMP() "; $sitemeta_table_transients = $this->wpdb->get_var($sitemeta_table_sql); } else { $sitemeta_table_transients = 0; } $total_transients = (is_numeric($options_table_transients) ? $options_table_transients : 0) + (is_numeric($sitemeta_table_transients) ? $sitemeta_table_transients : 0); if ($total_transients) { $message = sprintf(_n('%d expired transient in your database', '%d expired transient in your database', $total_transients, 'wp-optimize'), number_format_i18n($total_transients)); } else { $message = __('No transient options found', 'wp-optimize'); } $this->register_output($message); } public function settings_label() { return __('Remove expired transient options', 'wp-optimize'); } public function get_auto_option_description() { return __('Remove expired transient options', 'wp-optimize'); } }