PluginProbe
Optimize Database after Deleting Revisions / 4.0.1
Optimize Database after Deleting Revisions v4.0.1
3.4.7 3.4.8 3.4.9 3.5 3.5.1 4.0 4.0.1 4.0.2 4.0.3 4.1 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.3 All 144 releases
rvg-optimize-database / includes / settings-page.php

settings-page.php in Optimize Database after Deleting Revisions 4.0.1, at includes/settings-page.php

301 lines 13.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /********************************************************************************************
3 *
4 * SETTINGS ('OPTIONS') PAGE
5 *
6 ********************************************************************************************/
7 ?>
8 <?php
9 if(isset($_REQUEST['delete_log']))
10 if($_REQUEST['delete_log'] == "Y") @unlink(dirname(__FILE__).'/rvg-optimize-db-log.html');
11
12 if (isset($_POST['info_update']))
13 { // SAVE SETTINGS
14 check_admin_referer('odb_action', 'odb_nonce');
15
16 $current_datetime = Date('YmdHis');
17 $current_date = substr($current_datetime, 0, 8);
18 $current_hour = substr($current_datetime, 8, 2);
19
20 if(isset($_POST['rvg_odb_number']))
21 { if(!$_POST['rvg_odb_number']) $this->odb_rvg_options['nr_of_revisions'] = '0';
22 else $this->odb_rvg_options['nr_of_revisions'] = trim($_POST['rvg_odb_number']);
23 }
24
25 if(isset($_POST['rvg_clear_trash'])) $this->odb_rvg_options['clear_trash'] = $_POST['rvg_clear_trash'];
26 else $this->odb_rvg_options['clear_trash'] = 'N';
27
28 if(isset($_POST['rvg_clear_spam'])) $this->odb_rvg_options['clear_spam'] = $_POST['rvg_clear_spam'];
29 else $this->odb_rvg_options['clear_spam'] = 'N';
30
31 if(isset($_POST['rvg_clear_tags'])) $this->odb_rvg_options['clear_tags'] = $_POST['rvg_clear_tags'];
32 else $this->odb_rvg_options['clear_tags'] = 'N';
33
34 if(isset($_POST['rvg_clear_transients'])) $this->odb_rvg_options['clear_transients'] = $_POST['rvg_clear_transients'];
35 else $this->odb_rvg_options['clear_transients'] = 'N';
36
37 if(isset($_POST['rvg_clear_pingbacks'])) $this->odb_rvg_options['clear_pingbacks'] = $_POST['rvg_clear_pingbacks'];
38 else $this->odb_rvg_options['clear_pingbacks'] = 'N';
39
40 if(isset($_POST['rvg_odb_logging_on'])) $this->odb_rvg_options['logging_on'] = $_POST['rvg_odb_logging_on'];
41 else $this->odb_rvg_options['logging_on'] = 'N';
42
43 if(isset($_POST['rvg_odb_schedule']))
44 {
45 $type_old = $this->odb_rvg_options['schedule_type'];
46 $hour_old = $this->odb_rvg_options['schedule_hour'];
47
48 if($_POST['rvg_odb_schedule'] == '' || ($_POST['rvg_odb_schedule'] != 'daily' && $_POST['rvg_odb_schedule'] != 'weekly' ))
49 $_POST['rvg_odb_schedulehour'] = '';
50
51 $hour = '';
52 if(isset($_POST['rvg_odb_schedulehour'])) $hour = $_POST['rvg_odb_schedulehour'];
53
54 if($type_old != $_POST['rvg_odb_schedule'] || $hour_old != $hour)
55 { // SCHEDULE CHANGED
56 $this->odb_rvg_options['schedule_type'] = $_POST['rvg_odb_schedule'];
57 $this->odb_rvg_options['schedule_hour'] = $hour;
58 if($this->odb_rvg_options['schedule_type'] == '')
59 // UN-SCHEDULED
60 wp_clear_scheduled_hook('odb_scheduler');
61 else
62 // RE-SCHEDULE
63 $this->odb_scheduler_obj->odb_reschedule();
64 }
65 } // if(isset($_POST['rvg_odb_schedule']))
66
67 if(isset($_POST['rvg_odb_adminbar'])) $this->odb_rvg_options['adminbar'] = $_POST['rvg_odb_adminbar'];
68 else $this->odb_rvg_options['adminbar'] = 'N';
69
70 if(isset($_POST['rvg_odb_adminmenu'])) $this->odb_rvg_options['adminmenu'] = $_POST['rvg_odb_adminmenu'];
71 else $this->odb_rvg_options['adminmenu'] = 'N';
72
73 if(isset($_POST['rvg_odb_optimize_innodb'])) $this->odb_rvg_options['optimize_innodb'] = $_POST['rvg_odb_optimize_innodb'];
74 else $this->odb_rvg_options['optimize_innodb'] = 'N';
75
76 $this->odb_multisite_obj->odb_ms_update_option('odb_rvg_options', $this->odb_rvg_options);
77
78 // UPDATE EXCLUDED TABLES
79 // EMPTY ARRAY
80 $this->odb_rvg_excluded_tabs = array();
81
82 // ADD CHECKED TABLES
83 foreach ($_POST as $key => $value)
84 if(substr($key,0,3) == 'cb_')
85 $this->odb_rvg_excluded_tabs[substr($key,3)] = 'Y';
86 // SAVE TO DB
87 $this->odb_multisite_obj->odb_ms_update_option('odb_rvg_excluded_tabs', $this->odb_rvg_excluded_tabs);
88
89 // UPDATED MESSAGE
90 echo "<div class='updated odb-bold'><p>".
91 __('Optimize Database after Deleting Revisions SETTINGS UPDATED',$this->odb_txt_domain).
92 " - ";
93 _e('Click <a href="tools.php?page=rvg-optimize-database" class="odb-bold">HERE</a> to run the optimization',$this->odb_txt_domain);
94 echo "</p></div>";
95 } // if (isset($_POST['info_update']))
96 ?>
97 <script type="text/javascript">
98 function schedule_changed()
99 { if(jQuery("#rvg_odb_schedule").val() == "daily" || jQuery("#rvg_odb_schedule").val() == "weekly")
100 jQuery("#schedulehour").show();
101 else
102 jQuery("#schedulehour").hide();
103 }
104 </script>
105 <?php
106 // CHECKBOXES
107 $c = ' checked';
108 $cb_trash = ($this->odb_rvg_options['clear_trash'] == "Y") ? $c : '';
109 $cb_spam = ($this->odb_rvg_options['clear_spam'] == "Y") ? $c : '';
110 $cb_tags = ($this->odb_rvg_options['clear_tags'] == "Y") ? $c : '';
111 $cb_trans = ($this->odb_rvg_options['clear_transients'] == "Y") ? $c : '';
112 $cb_ping = ($this->odb_rvg_options['clear_pingbacks'] == "Y") ? $c : '';
113 $cb_logging = ($this->odb_rvg_options['logging_on'] == "Y") ? $c : '';
114 $cb_adminbar = ($this->odb_rvg_options['adminbar'] == "Y") ? $c : '';
115 $cb_adminmenu = ($this->odb_rvg_options['adminmenu'] == "Y") ? $c : '';
116 $cb_optimize_innodb = ($this->odb_rvg_options['optimize_innodb'] == "Y") ? $c : '';
117
118 // DISPLAY HEADER
119 $this->odb_displayer_obj->display_header();
120
121 // DISPLAY FORM
122 echo '
123 <div class="odb-padding-left">
124 <div id="odb-options-form">
125 <form name="options" method="post" action="">
126 '.wp_nonce_field('odb_action','odb_nonce').'
127 <div id="odb-options-wrap">
128 <div id="odb-options-settings">
129 <div class="odb-title-bar">
130 <h2>'.__('Settings',$this->odb_txt_domain).'</h2>
131 </div>
132 <table border="0" cellspacing="2" cellpadding="5" class="editform" align="center">
133 <tr>
134 <td width="50%" align="right" valign="top"><span class="odb-bold">
135 '.__('Maximum number of - most recent - revisions<br>to keep per post / page',$this->odb_txt_domain).'
136 </span></td>
137 <td width="50%" valign="top"><input type="text" size="2" name="rvg_odb_number" id="rvg_odb_number" value="'.$this->odb_rvg_options['nr_of_revisions'] .'" class="odb-bold odb-blue">
138 &nbsp;
139 '.__('(\'0\' means: delete <u>ALL</u> revisions)',$this->odb_txt_domain).'
140 </tr>
141 <tr>
142 <td width="50%" align="right" valign="top"><span class="odb-bold">
143 '. __('Delete trashed items',$this->odb_txt_domain).'
144 </span></td>
145 <td width="50%" valign="top"><input name="rvg_clear_trash" type="checkbox" value="Y" '.$cb_trash.'></td>
146 </tr>
147 <tr>
148 <td width="50%" align="right" valign="top"><span class="odb-bold">
149 '. __('Delete spammed items',$this->odb_txt_domain).'
150 </span></td>
151 <td width="50%" valign="top"><input name="rvg_clear_spam" type="checkbox" value="Y" '.$cb_spam.'></td>
152 </tr>
153 <tr>
154 <td width="50%" align="right" valign="top"><span class="odb-bold">
155 '.__('Delete unused tags',$this->odb_txt_domain).'
156 </span></td>
157 <td width="50%" valign="top"><input name="rvg_clear_tags" type="checkbox" value="Y" '.$cb_tags.'></td>
158 </tr>
159 <tr>
160 <td width="50%" align="right" valign="top"><span class="odb-bold">
161 '.__('Delete expired transients',$this->odb_txt_domain).'
162 </span></td>
163 <td width="50%" valign="top"><input name="rvg_clear_transients" type="checkbox" value="Y" '.$cb_trans.'></td>
164 </tr>
165 <tr>
166 <td width="50%" align="right" valign="top"><span class="odb-bold">
167 '.__('Delete pingbacks and trackbacks',$this->odb_txt_domain).'
168 </span></td>
169 <td width="50%" valign="top"><input name="rvg_clear_pingbacks" type="checkbox" value="Y" '.$cb_ping.'></td>
170 </tr>
171 <tr>
172 <td width="50%" align="right" valign="top"><span class="odb-bold">
173 '.__('Keep a log',$this->odb_txt_domain).'
174 </span></td>
175 <td width="50%" valign="top"><input name="rvg_odb_logging_on" type="checkbox" value="Y" '.$cb_logging.'></td>
176 </tr>
177 <tr>
178 <td align="right" valign="top"><span class="odb-bold">
179 '. __('Optimize InnoDB tables too',$this->odb_txt_domain).'
180 </span></td>
181 <td valign="top"><input name="rvg_odb_optimize_innodb" type="checkbox" value="Y" '.$cb_optimize_innodb.'></td>
182 </tr>
183 <tr>
184 <td width="50%" align="right"><span class="odb-bold">
185 '.__('Scheduler',$this->odb_txt_domain).'
186 </span></td>
187 <td width="50%"><select name="rvg_odb_schedule" id="rvg_odb_schedule" class="odb-schedule-select" onchange="schedule_changed();">
188 <option selected="selected" value="">
189 '.__('NOT SCHEDULED',$this->odb_txt_domain).'
190 </option>
191 <option value="hourly">
192 '.__('run optimization HOURLY',$this->odb_txt_domain).'
193 </option>
194 <option value="twicedaily">
195 '.__('run optimization TWICE A DAY',$this->odb_txt_domain).'
196 </option>
197 <option value="daily">
198 '.__('run optimization DAILY',$this->odb_txt_domain).'
199 </option>
200 <option value="weekly">
201 '.__('run optimization WEEKLY',$this->odb_txt_domain).'
202 </option>
203 </select>
204 <script type="text/javascript">
205 jQuery("#rvg_odb_schedule").val("'.$this->odb_rvg_options['schedule_type'].'");
206 </script>
207 </tr>
208 <tr id="schedulehour">
209 <td width="50%" align="right"><span class="odb-bold">
210 '.__('Time',$this->odb_txt_domain).'
211 </span></td>
212 <td>
213 <select name="rvg_odb_schedulehour" id="rvg_odb_schedulehour" class="odb-schedulehour-select">
214 ';
215
216 for($i=0; $i<=23; $i++)
217 { if($i<10) $i = '0'.$i;
218 ?>
219 <option value="<?php echo $i?>"><?php echo $i.':00 '.__('hrs',$this->odb_txt_domain)?></option>
220 <?php
221 } // for($i=0; $i<=23; $i++)
222
223 echo '
224 </select>
225 <script type="text/javascript">
226 jQuery("#rvg_odb_schedulehour").val("'.$this->odb_rvg_options['schedule_hour'].'");
227 </script>
228 </span>
229 </div>
230 </td>
231 </tr>
232 <script type="text/javascript">schedule_changed();</script>
233 <tr>
234 <td align="right" valign="top"><span class="odb-bold">
235 '.__('Show \'1-click\' link in Admin Bar',$this->odb_txt_domain).'*
236 </span></td>
237 <td valign="top"><input name="rvg_odb_adminbar" type="checkbox" value="Y" '.$cb_adminbar.'></td>
238 </tr>
239 <tr>
240 <td align="right" valign="top"><span class="odb-bold">
241 '. __('Show an icon in the Admin Menu',$this->odb_txt_domain).'*
242 </span></td>
243 <td valign="top"><input name="rvg_odb_adminmenu" type="checkbox" value="Y" '.$cb_adminmenu.'></td>
244 </tr>
245 </table>
246 <div align="center"><em>* '.__('change will be visible after loading the next page', $this->odb_txt_domain).'</em></div>
247 <br>
248 <div align="center">
249 <span class="odb-bold">
250 '.__('EXCLUDE DATABASE TABLES FROM OPTIMIZATION:<br><span class="odb-underline-red">CHECKED</span> TABLES <span class="odb-underline-red">WON\'T</span> BE OPTIMIZED!</span>',$this->odb_txt_domain).'
251 <br><br>
252 ';
253 ?>
254
255 <a href="javascript:;" onclick="jQuery('[id^=cb_]').attr('checked',true);">
256 <?php _e('check all tables', $this->odb_txt_domain);?>
257 </a> | <a href="javascript:;" onclick="jQuery('[id^=cb_]').attr('checked',false);">
258 <?php _e('uncheck all tables', $this->odb_txt_domain);?>
259 </a> | <a href="javascript:;" onclick="jQuery(':not([id^=cb_<?php echo $this->odb_ms_prefixes[0]; ?>])').filter('[id^=cb_]').attr('checked',true);">
260 <?php _e('check all NON-WordPress tables', $this->odb_txt_domain);?>
261 </a>
262
263 <?php
264 echo '
265 </span>
266 <div id="odb-options-tables-container">
267 <div id="odb-options-tables-wrapper">
268 ';
269
270 for ($i=0; $i<count($this->odb_tables); $i++)
271 { $class = '';
272 for($j=0; $j<count($this->odb_ms_prefixes); $j++)
273 if(substr($this->odb_tables[$i][0], 0, strlen($this->odb_ms_prefixes[$j])) == $this->odb_ms_prefixes[$j]) $class = ' odb-wp-table';
274 $cb_checked = '';
275 if(isset($this->odb_rvg_excluded_tabs[$this->odb_tables[$i][0]])) $cb_checked = ' checked';
276 ?>
277 <div class="odb-options-table<?php echo $class;?>" title="<?php echo $this->odb_tables[$i][0];?>">
278 <input id="cb_<?php echo $this->odb_tables[$i][0];?>" name="cb_<?php echo $this->odb_tables[$i][0];?>" type="checkbox" value="1"<?php echo $cb_checked; ?>>
279 <?php echo $this->odb_tables[$i][0];?></div>
280 <?php
281 }
282
283 echo '
284 </div><!-- /odb-options-tables-wrapper -->
285 <div id="odb-options-buttons" align="center">
286 <p>
287 <input class="button-primary button-large" type="submit" name="info_update" value="'.__('Save Settings',$this->odb_txt_domain).'" class="odb-bold">
288 &nbsp;
289 <input class="button odb-normal" type="button" name="optimizer" value="'.__('Go To Optimizer',$this->odb_txt_domain).'" onclick="self.location=\'tools.php?page=rvg-optimize-database\'">
290 </p>
291 </div>
292 <!-- odb-options-buttons -->
293 </div><!-- /odb-options-tables-container -->
294 </div><!-- /center -->
295 </div><!-- /odb-options-settings -->
296 </div><!-- /odb-options-wrap -->
297 </form>
298 </div><!-- /odb-options-form -->
299 </div><!-- /odb-padding-left -->
300 ';
301 ?>