%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/pinecnj.cz/old/www.pinecnj.cz/wp-content/plugins/wp-optimize/optimizations/
Upload File :
Create Path :
Current File : //www/pinecnj.cz/old/www.pinecnj.cz/wp-content/plugins/wp-optimize/optimizations/optimizetables.php

<?php

if (!defined('WPO_VERSION')) die('No direct access allowed');

class WP_Optimization_optimizetables extends WP_Optimization {

	protected $auto_id = 'optimize';
	protected $setting_id = 'optimize';
	protected $dom_id = 'optimize-db';

	public $available_for_saving = true;
	public $available_for_auto = true;

	public $setting_default = true;

	public $changes_table_data = true;
	public $ui_sort_order = 500;
	public $run_sort_order = 100000;

	public function optimize() {
		$this->optimize_tables(true);
	}

	public function get_info() {
		$this->optimize_tables(false);
	}
	
	private function optimize_tables($optimize) {

		//only process the tables if optimization_table isset
		if (isset($this->data['optimization_table']) && $this->data['optimization_table'] != '') {

			$table_status = $this->wpdb->get_row($this->wpdb->prepare("SHOW TABLE STATUS WHERE name = %s", $this->data['optimization_table']));

			$this->logger->info('Optimizing: '.$table_status->Name);
			$result_query  = $this->query('OPTIMIZE TABLE '.$table_status->Name);
			
			$thedate = gmdate(get_option('date_format') . ' ' . get_option('time_format'), current_time( "timestamp", 0 ));
			$this->options->update_option('last-optimized', $thedate);

			$this->optimizer->update_total_cleaned(strval($table_status->Data_free));

			$this->register_output(__('Optimizing Table:', 'wp-optimize').' '.$table_status->Name);
		} else {
			//This gathers information to be displayed onscreen before optimization
			$tablesstatus = $this->optimizer->get_table_information(); 
			
			//make sure that optimization_table_inno_db is set
			if ($tablesstatus['inno_db_tables'] > 0) {
				if (isset($this->data['optimization_table']) && $this->data['optimization_table'] != '') {
					//This is used for grabbing information before optimizations
					$this->register_output(__('Total gain:', 'wp-optimize').' '.WP_Optimize()->format_size(($tablesstatus['total_gain'])));
				}

				//Output message for how many InnoDB tables will not be optimized
				$this->register_output(sprintf(__('Tables using the InnoDB engine (%d) will not be optimized.  Other tables will be optimized (%d).', 'wp-optimize'), $tablesstatus['inno_db_tables'],$tablesstatus['non_inno_db_tables']));
			} else{
				$this->register_output(sprintf(__('Tables will be optimized (%d).', 'wp-optimize'), $tablesstatus['non_inno_db_tables']));
			}	
		}
	}
	
	public function get_auto_option_description() {
		return __('Optimize database tables', 'wp-optimize');
	}
	
	public function settings_label() {
		return __('Optimize database tables', 'wp-optimize');
	}
}

Zerion Mini Shell 1.0