Hyper Cache - Version 3.3.1

Version Description

  • Removed the old import code
  • Texts rewritten for easy translations on translate.wordpress.org
  • Fixed and header
Download this release

Release Info

Developer satollo
Plugin Icon wp plugin Hyper Cache
Version 3.3.1
Comparing to
See all releases

Code changes from version 3.2.9 to 3.3.1

Files changed (4) hide show
  1. admin.css +0 -553
  2. options.php +14 -43
  3. plugin.php +24 -23
  4. readme.txt +11 -1
admin.css DELETED
@@ -1,553 +0,0 @@
1
- /*
2
- * jQuery UI CSS Framework 1.8.16
3
- *
4
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT or GPL Version 2 licenses.
6
- * http://jquery.org/license
7
- *
8
- * http://docs.jquery.com/UI/Theming/API
9
- */
10
-
11
- /* Layout helpers
12
- ----------------------------------*/
13
- .ui-helper-hidden { display: none; }
14
- .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
15
- .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
16
- .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
17
- .ui-helper-clearfix { display: inline-block; }
18
- /* required comment for clearfix to work in Opera \*/
19
- * html .ui-helper-clearfix { height:1%; }
20
- .ui-helper-clearfix { display:block; }
21
- /* end clearfix */
22
- .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
23
-
24
-
25
- /* Interaction Cues
26
- ----------------------------------*/
27
- .ui-state-disabled { cursor: default !important; }
28
-
29
-
30
- /* Icons
31
- ----------------------------------*/
32
-
33
- /* states and images */
34
- .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
35
-
36
-
37
- /* Misc visuals
38
- ----------------------------------*/
39
-
40
- /* Overlays */
41
- .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
42
- /*
43
- * jQuery UI Accordion 1.8.16
44
- *
45
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
46
- * Dual licensed under the MIT or GPL Version 2 licenses.
47
- * http://jquery.org/license
48
- *
49
- * http://docs.jquery.com/UI/Accordion#theming
50
- */
51
- /* IE/Win - Fix animation bug - #4615 */
52
- .ui-accordion { width: 100%; }
53
- .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
54
- .ui-accordion .ui-accordion-li-fix { display: inline; }
55
- .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
56
- .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
57
- .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
58
- .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
59
- .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
60
- .ui-accordion .ui-accordion-content-active { display: block; }
61
- /*
62
- * jQuery UI Autocomplete 1.8.16
63
- *
64
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
65
- * Dual licensed under the MIT or GPL Version 2 licenses.
66
- * http://jquery.org/license
67
- *
68
- * http://docs.jquery.com/UI/Autocomplete#theming
69
- */
70
- .ui-autocomplete { position: absolute; cursor: default; }
71
-
72
- /* workarounds */
73
- * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
74
-
75
- /*
76
- * jQuery UI Menu 1.8.16
77
- *
78
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
79
- * Dual licensed under the MIT or GPL Version 2 licenses.
80
- * http://jquery.org/license
81
- *
82
- * http://docs.jquery.com/UI/Menu#theming
83
- */
84
- .ui-menu {
85
- list-style:none;
86
- padding: 2px;
87
- margin: 0;
88
- display:block;
89
- float: left;
90
- }
91
- .ui-menu .ui-menu {
92
- margin-top: -3px;
93
- }
94
- .ui-menu .ui-menu-item {
95
- margin:0;
96
- padding: 0;
97
- zoom: 1;
98
- float: left;
99
- clear: left;
100
- width: 100%;
101
- }
102
- .ui-menu .ui-menu-item a {
103
- text-decoration:none;
104
- display:block;
105
- padding:.2em .4em;
106
- line-height:1.5;
107
- zoom:1;
108
- }
109
- .ui-menu .ui-menu-item a.ui-state-hover,
110
- .ui-menu .ui-menu-item a.ui-state-active {
111
- font-weight: normal;
112
- margin: -1px;
113
- }
114
- /*
115
- * jQuery UI Button 1.8.16
116
- *
117
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
118
- * Dual licensed under the MIT or GPL Version 2 licenses.
119
- * http://jquery.org/license
120
- *
121
- * http://docs.jquery.com/UI/Button#theming
122
- */
123
- .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
124
- .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
125
- button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
126
- .ui-button-icons-only { width: 3.4em; }
127
- button.ui-button-icons-only { width: 3.7em; }
128
-
129
- /*button text element */
130
- .ui-button .ui-button-text { display: block; line-height: 1.4; }
131
- .ui-button-text-only .ui-button-text { padding: .4em 1em; }
132
- .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
133
- .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
134
- .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
135
- .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
136
- /* no icon support for input elements, provide padding by default */
137
- input.ui-button { padding: .4em 1em; }
138
-
139
- /*button icon element(s) */
140
- .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
141
- .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
142
- .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
143
- .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
144
- .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
145
-
146
- /*button sets*/
147
- .ui-buttonset { margin-right: 7px; }
148
- .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
149
-
150
- /* workarounds */
151
- button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
152
- /*
153
- * jQuery UI Datepicker 1.8.16
154
- *
155
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
156
- * Dual licensed under the MIT or GPL Version 2 licenses.
157
- * http://jquery.org/license
158
- *
159
- * http://docs.jquery.com/UI/Datepicker#theming
160
- */
161
- .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
162
- .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
163
- .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
164
- .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
165
- .ui-datepicker .ui-datepicker-prev { left:2px; }
166
- .ui-datepicker .ui-datepicker-next { right:2px; }
167
- .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
168
- .ui-datepicker .ui-datepicker-next-hover { right:1px; }
169
- .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
170
- .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
171
- .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
172
- .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
173
- .ui-datepicker select.ui-datepicker-month,
174
- .ui-datepicker select.ui-datepicker-year { width: 49%;}
175
- .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
176
- .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
177
- .ui-datepicker td { border: 0; padding: 1px; }
178
- .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
179
- .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
180
- .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
181
- .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
182
-
183
- /* with multiple calendars */
184
- .ui-datepicker.ui-datepicker-multi { width:auto; }
185
- .ui-datepicker-multi .ui-datepicker-group { float:left; }
186
- .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
187
- .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
188
- .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
189
- .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
190
- .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
191
- .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
192
- .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
193
- .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
194
-
195
- /* RTL support */
196
- .ui-datepicker-rtl { direction: rtl; }
197
- .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
198
- .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
199
- .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
200
- .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
201
- .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
202
- .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
203
- .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
204
- .ui-datepicker-rtl .ui-datepicker-group { float:right; }
205
- .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
206
- .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
207
-
208
- /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
209
- .ui-datepicker-cover {
210
- display: none; /*sorry for IE5*/
211
- display/**/: block; /*sorry for IE5*/
212
- position: absolute; /*must have*/
213
- z-index: -1; /*must have*/
214
- filter: mask(); /*must have*/
215
- top: -4px; /*must have*/
216
- left: -4px; /*must have*/
217
- width: 200px; /*must have*/
218
- height: 200px; /*must have*/
219
- }/*
220
- * jQuery UI Dialog 1.8.16
221
- *
222
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
223
- * Dual licensed under the MIT or GPL Version 2 licenses.
224
- * http://jquery.org/license
225
- *
226
- * http://docs.jquery.com/UI/Dialog#theming
227
- */
228
- .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
229
- .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
230
- .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
231
- .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
232
- .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
233
- .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
234
- .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
235
- .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
236
- .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
237
- .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
238
- .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
239
- .ui-draggable .ui-dialog-titlebar { cursor: move; }
240
- /*
241
- * jQuery UI Progressbar 1.8.16
242
- *
243
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
244
- * Dual licensed under the MIT or GPL Version 2 licenses.
245
- * http://jquery.org/license
246
- *
247
- * http://docs.jquery.com/UI/Progressbar#theming
248
- */
249
- .ui-progressbar { height:2em; text-align: left; }
250
- .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/*
251
- * jQuery UI Resizable 1.8.16
252
- *
253
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
254
- * Dual licensed under the MIT or GPL Version 2 licenses.
255
- * http://jquery.org/license
256
- *
257
- * http://docs.jquery.com/UI/Resizable#theming
258
- */
259
- .ui-resizable { position: relative;}
260
- .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
261
- .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
262
- .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
263
- .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
264
- .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
265
- .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
266
- .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
267
- .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
268
- .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
269
- .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
270
- * jQuery UI Selectable 1.8.16
271
- *
272
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
273
- * Dual licensed under the MIT or GPL Version 2 licenses.
274
- * http://jquery.org/license
275
- *
276
- * http://docs.jquery.com/UI/Selectable#theming
277
- */
278
- .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
279
- /*
280
- * jQuery UI Slider 1.8.16
281
- *
282
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
283
- * Dual licensed under the MIT or GPL Version 2 licenses.
284
- * http://jquery.org/license
285
- *
286
- * http://docs.jquery.com/UI/Slider#theming
287
- */
288
- .ui-slider { position: relative; text-align: left; }
289
- .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
290
- .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
291
-
292
- .ui-slider-horizontal { height: .8em; }
293
- .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
294
- .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
295
- .ui-slider-horizontal .ui-slider-range-min { left: 0; }
296
- .ui-slider-horizontal .ui-slider-range-max { right: 0; }
297
-
298
- .ui-slider-vertical { width: .8em; height: 100px; }
299
- .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
300
- .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
301
- .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
302
- .ui-slider-vertical .ui-slider-range-max { top: 0; }/*
303
- * jQuery UI Tabs 1.8.16
304
- *
305
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
306
- * Dual licensed under the MIT or GPL Version 2 licenses.
307
- * http://jquery.org/license
308
- *
309
- * http://docs.jquery.com/UI/Tabs#theming
310
- */
311
- .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
312
- .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
313
- .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
314
- .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
315
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
316
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
317
- .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
318
- .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
319
- .ui-tabs .ui-tabs-hide { display: none !important; }
320
- /*
321
- * jQuery UI CSS Framework 1.8.16
322
- *
323
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
324
- * Dual licensed under the MIT or GPL Version 2 licenses.
325
- * http://jquery.org/license
326
- *
327
- * http://docs.jquery.com/UI/Theming/API
328
- *
329
- * To view and modify this theme, visit http://jqueryui.com/themeroller/
330
- */
331
-
332
-
333
- /* Component containers
334
- ----------------------------------*/
335
- .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
336
- .ui-widget .ui-widget { font-size: 1em; }
337
- .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
338
- .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ /*url(images/ui-bg_flat_75_ffffff_40x100.png){bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
339
- .ui-widget-content a { color: #222222/*{fcContent}*/; }
340
- .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ /*url(images/ui-bg_highlight-soft_75_cccccc_1x100.png){bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
341
- .ui-widget-header a { color: #222222/*{fcHeader}*/; }
342
-
343
- /* Interaction states
344
- ----------------------------------*/
345
- .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ /*url(images/ui-bg_glass_75_e6e6e6_1x400.png){bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; }
346
- .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
347
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ /*url(images/ui-bg_glass_75_dadada_1x400.png){bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; }
348
- .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; }
349
- .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ /*url(images/ui-bg_glass_65_ffffff_1x400.png){bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
350
- .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
351
- .ui-widget :active { outline: none; }
352
-
353
- /* Interaction Cues
354
- ----------------------------------*/
355
- .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ /*url(images/ui-bg_glass_55_fbf9ee_1x400.png){bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
356
- .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
357
- .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ /*url(images/ui-bg_glass_95_fef1ec_1x400.png){bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
358
- .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
359
- .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
360
- .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
361
- .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
362
- .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
363
-
364
- /* positioning */
365
- .ui-icon-carat-1-n { background-position: 0 0; }
366
- .ui-icon-carat-1-ne { background-position: -16px 0; }
367
- .ui-icon-carat-1-e { background-position: -32px 0; }
368
- .ui-icon-carat-1-se { background-position: -48px 0; }
369
- .ui-icon-carat-1-s { background-position: -64px 0; }
370
- .ui-icon-carat-1-sw { background-position: -80px 0; }
371
- .ui-icon-carat-1-w { background-position: -96px 0; }
372
- .ui-icon-carat-1-nw { background-position: -112px 0; }
373
- .ui-icon-carat-2-n-s { background-position: -128px 0; }
374
- .ui-icon-carat-2-e-w { background-position: -144px 0; }
375
- .ui-icon-triangle-1-n { background-position: 0 -16px; }
376
- .ui-icon-triangle-1-ne { background-position: -16px -16px; }
377
- .ui-icon-triangle-1-e { background-position: -32px -16px; }
378
- .ui-icon-triangle-1-se { background-position: -48px -16px; }
379
- .ui-icon-triangle-1-s { background-position: -64px -16px; }
380
- .ui-icon-triangle-1-sw { background-position: -80px -16px; }
381
- .ui-icon-triangle-1-w { background-position: -96px -16px; }
382
- .ui-icon-triangle-1-nw { background-position: -112px -16px; }
383
- .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
384
- .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
385
- .ui-icon-arrow-1-n { background-position: 0 -32px; }
386
- .ui-icon-arrow-1-ne { background-position: -16px -32px; }
387
- .ui-icon-arrow-1-e { background-position: -32px -32px; }
388
- .ui-icon-arrow-1-se { background-position: -48px -32px; }
389
- .ui-icon-arrow-1-s { background-position: -64px -32px; }
390
- .ui-icon-arrow-1-sw { background-position: -80px -32px; }
391
- .ui-icon-arrow-1-w { background-position: -96px -32px; }
392
- .ui-icon-arrow-1-nw { background-position: -112px -32px; }
393
- .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
394
- .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
395
- .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
396
- .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
397
- .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
398
- .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
399
- .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
400
- .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
401
- .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
402
- .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
403
- .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
404
- .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
405
- .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
406
- .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
407
- .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
408
- .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
409
- .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
410
- .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
411
- .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
412
- .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
413
- .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
414
- .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
415
- .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
416
- .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
417
- .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
418
- .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
419
- .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
420
- .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
421
- .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
422
- .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
423
- .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
424
- .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
425
- .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
426
- .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
427
- .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
428
- .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
429
- .ui-icon-arrow-4 { background-position: 0 -80px; }
430
- .ui-icon-arrow-4-diag { background-position: -16px -80px; }
431
- .ui-icon-extlink { background-position: -32px -80px; }
432
- .ui-icon-newwin { background-position: -48px -80px; }
433
- .ui-icon-refresh { background-position: -64px -80px; }
434
- .ui-icon-shuffle { background-position: -80px -80px; }
435
- .ui-icon-transfer-e-w { background-position: -96px -80px; }
436
- .ui-icon-transferthick-e-w { background-position: -112px -80px; }
437
- .ui-icon-folder-collapsed { background-position: 0 -96px; }
438
- .ui-icon-folder-open { background-position: -16px -96px; }
439
- .ui-icon-document { background-position: -32px -96px; }
440
- .ui-icon-document-b { background-position: -48px -96px; }
441
- .ui-icon-note { background-position: -64px -96px; }
442
- .ui-icon-mail-closed { background-position: -80px -96px; }
443
- .ui-icon-mail-open { background-position: -96px -96px; }
444
- .ui-icon-suitcase { background-position: -112px -96px; }
445
- .ui-icon-comment { background-position: -128px -96px; }
446
- .ui-icon-person { background-position: -144px -96px; }
447
- .ui-icon-print { background-position: -160px -96px; }
448
- .ui-icon-trash { background-position: -176px -96px; }
449
- .ui-icon-locked { background-position: -192px -96px; }
450
- .ui-icon-unlocked { background-position: -208px -96px; }
451
- .ui-icon-bookmark { background-position: -224px -96px; }
452
- .ui-icon-tag { background-position: -240px -96px; }
453
- .ui-icon-home { background-position: 0 -112px; }
454
- .ui-icon-flag { background-position: -16px -112px; }
455
- .ui-icon-calendar { background-position: -32px -112px; }
456
- .ui-icon-cart { background-position: -48px -112px; }
457
- .ui-icon-pencil { background-position: -64px -112px; }
458
- .ui-icon-clock { background-position: -80px -112px; }
459
- .ui-icon-disk { background-position: -96px -112px; }
460
- .ui-icon-calculator { background-position: -112px -112px; }
461
- .ui-icon-zoomin { background-position: -128px -112px; }
462
- .ui-icon-zoomout { background-position: -144px -112px; }
463
- .ui-icon-search { background-position: -160px -112px; }
464
- .ui-icon-wrench { background-position: -176px -112px; }
465
- .ui-icon-gear { background-position: -192px -112px; }
466
- .ui-icon-heart { background-position: -208px -112px; }
467
- .ui-icon-star { background-position: -224px -112px; }
468
- .ui-icon-link { background-position: -240px -112px; }
469
- .ui-icon-cancel { background-position: 0 -128px; }
470
- .ui-icon-plus { background-position: -16px -128px; }
471
- .ui-icon-plusthick { background-position: -32px -128px; }
472
- .ui-icon-minus { background-position: -48px -128px; }
473
- .ui-icon-minusthick { background-position: -64px -128px; }
474
- .ui-icon-close { background-position: -80px -128px; }
475
- .ui-icon-closethick { background-position: -96px -128px; }
476
- .ui-icon-key { background-position: -112px -128px; }
477
- .ui-icon-lightbulb { background-position: -128px -128px; }
478
- .ui-icon-scissors { background-position: -144px -128px; }
479
- .ui-icon-clipboard { background-position: -160px -128px; }
480
- .ui-icon-copy { background-position: -176px -128px; }
481
- .ui-icon-contact { background-position: -192px -128px; }
482
- .ui-icon-image { background-position: -208px -128px; }
483
- .ui-icon-video { background-position: -224px -128px; }
484
- .ui-icon-script { background-position: -240px -128px; }
485
- .ui-icon-alert { background-position: 0 -144px; }
486
- .ui-icon-info { background-position: -16px -144px; }
487
- .ui-icon-notice { background-position: -32px -144px; }
488
- .ui-icon-help { background-position: -48px -144px; }
489
- .ui-icon-check { background-position: -64px -144px; }
490
- .ui-icon-bullet { background-position: -80px -144px; }
491
- .ui-icon-radio-off { background-position: -96px -144px; }
492
- .ui-icon-radio-on { background-position: -112px -144px; }
493
- .ui-icon-pin-w { background-position: -128px -144px; }
494
- .ui-icon-pin-s { background-position: -144px -144px; }
495
- .ui-icon-play { background-position: 0 -160px; }
496
- .ui-icon-pause { background-position: -16px -160px; }
497
- .ui-icon-seek-next { background-position: -32px -160px; }
498
- .ui-icon-seek-prev { background-position: -48px -160px; }
499
- .ui-icon-seek-end { background-position: -64px -160px; }
500
- .ui-icon-seek-start { background-position: -80px -160px; }
501
- /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
502
- .ui-icon-seek-first { background-position: -80px -160px; }
503
- .ui-icon-stop { background-position: -96px -160px; }
504
- .ui-icon-eject { background-position: -112px -160px; }
505
- .ui-icon-volume-off { background-position: -128px -160px; }
506
- .ui-icon-volume-on { background-position: -144px -160px; }
507
- .ui-icon-power { background-position: 0 -176px; }
508
- .ui-icon-signal-diag { background-position: -16px -176px; }
509
- .ui-icon-signal { background-position: -32px -176px; }
510
- .ui-icon-battery-0 { background-position: -48px -176px; }
511
- .ui-icon-battery-1 { background-position: -64px -176px; }
512
- .ui-icon-battery-2 { background-position: -80px -176px; }
513
- .ui-icon-battery-3 { background-position: -96px -176px; }
514
- .ui-icon-circle-plus { background-position: 0 -192px; }
515
- .ui-icon-circle-minus { background-position: -16px -192px; }
516
- .ui-icon-circle-close { background-position: -32px -192px; }
517
- .ui-icon-circle-triangle-e { background-position: -48px -192px; }
518
- .ui-icon-circle-triangle-s { background-position: -64px -192px; }
519
- .ui-icon-circle-triangle-w { background-position: -80px -192px; }
520
- .ui-icon-circle-triangle-n { background-position: -96px -192px; }
521
- .ui-icon-circle-arrow-e { background-position: -112px -192px; }
522
- .ui-icon-circle-arrow-s { background-position: -128px -192px; }
523
- .ui-icon-circle-arrow-w { background-position: -144px -192px; }
524
- .ui-icon-circle-arrow-n { background-position: -160px -192px; }
525
- .ui-icon-circle-zoomin { background-position: -176px -192px; }
526
- .ui-icon-circle-zoomout { background-position: -192px -192px; }
527
- .ui-icon-circle-check { background-position: -208px -192px; }
528
- .ui-icon-circlesmall-plus { background-position: 0 -208px; }
529
- .ui-icon-circlesmall-minus { background-position: -16px -208px; }
530
- .ui-icon-circlesmall-close { background-position: -32px -208px; }
531
- .ui-icon-squaresmall-plus { background-position: -48px -208px; }
532
- .ui-icon-squaresmall-minus { background-position: -64px -208px; }
533
- .ui-icon-squaresmall-close { background-position: -80px -208px; }
534
- .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
535
- .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
536
- .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
537
- .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
538
- .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
539
- .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
540
-
541
-
542
- /* Misc visuals
543
- ----------------------------------*/
544
-
545
- /* Corner radius */
546
- .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; }
547
- .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; }
548
- .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; }
549
- .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; }
550
-
551
- /* Overlays */
552
- .ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ /*url(images/ui-bg_flat_0_aaaaaa_40x100.png){bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
553
- .ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ /*url(images/ui-bg_flat_0_aaaaaa_40x100.png){bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
options.php CHANGED
@@ -2,6 +2,10 @@
2
  $controls = new HyperCacheControls();
3
  $plugin = HyperCache::$instance;
4
 
 
 
 
 
5
  if (!isset($plugin->options['translation_disabled'])) {
6
  if (function_exists('load_plugin_textdomain')) {
7
  load_plugin_textdomain('hyper-cache', false, 'hyper-cache/languages');
@@ -141,37 +145,7 @@ if ($controls->is_action('size')) {
141
  if ($controls->is_action('reset_mobile_agents')) {
142
  $controls->options['mobile_agents'] = explode('|', HyperCache::MOBILE_AGENTS);
143
  }
144
- if ($controls->is_action('import')) {
145
-
146
- $old_options = get_option('hyper');
147
-
148
- if (!is_array($old_options)) {
149
- $controls->errors = __('Old Hyper Cache options are missing or not readable', 'hyper-cache');
150
- } else {
151
-
152
- $uris = $plugin->text_to_list($old_options['reject']);
153
- $controls->options['reject_uris'] = array();
154
- $controls->options['reject_uris_exact'] = array();
155
-
156
- foreach ($uris as $uri) {
157
- if (substr($uri, 0, 1) == '"') {
158
- $controls->options['reject_uris_exact'] = str_replace('"', '', $uri);
159
- } else {
160
- $controls->options['reject_uris'];
161
- }
162
- }
163
-
164
- $controls->options['mobile'] = isset($old_options['timeout']) ? 1 : 0;
165
- $controls->options['max_age'] = (int) $old_options['timeout'] / 60;
166
- $controls->options['reject_agents'] = $plugin->text_to_list($old_options['reject_agents']);
167
- $controls->options['reject_cookies'] = $plugin->text_to_list($old_options['reject_cookies']);
168
- $controls->options['mobile_agents'] = $plugin->text_to_list($old_options['mobile_agents']);
169
 
170
- update_option('hyper-cache', $controls->options);
171
-
172
- $controls->messages = __('Old options imported, now review them and save.', 'hyper-cache');
173
- }
174
- }
175
 
176
  function hc_size($dir) {
177
  $files = glob($dir . '*', GLOB_MARK);
@@ -285,8 +259,6 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
285
  <?php $controls->button('clean', __('Clean the whole cache', 'hyper-cache')); ?>
286
  <?php $controls->button('clean-home', __('Clean home and archives', 'hyper-cache')); ?>
287
  <?php $controls->button('size', __('Compute the cache size', 'hyper-cache')); ?>
288
- <?php $controls->button('import', __('Import old options', 'hyper-cache'),
289
- __('Sure? Your setting will be overwritten.', 'hyper-cache')); ?>
290
  </p>
291
 
292
  <div id="tabs">
@@ -543,7 +515,7 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
543
  </td>
544
  </tr>
545
  <tr>
546
- <th><?php _e('Exact URIs to bypass', 'hyper-cache'); ?></th>
547
  <td>
548
  <?php $controls->checkbox('reject_uris_exact_enabled', __('Enable', 'hyper-cache')); ?><br>
549
  <?php $controls->textarea('reject_uris_exact'); ?>
@@ -556,7 +528,7 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
556
  </td>
557
  </tr>
558
  <tr>
559
- <th><?php _e('(Starting with) URIs to bypass', 'hyper-cache'); ?></th>
560
  <td>
561
  <?php $controls->checkbox('reject_uris_enabled', __('Enable', 'hyper-cache')); ?><br>
562
  <?php $controls->textarea('reject_uris'); ?>
@@ -570,7 +542,7 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
570
  </td>
571
  </tr>
572
  <tr>
573
- <th><?php _e('Cookies to bypass', 'hyper-cache'); ?></th>
574
  <td>
575
  <?php $controls->checkbox('reject_cookies_enabled', __('Enable', 'hyper-cache')); ?><br>
576
  <?php $controls->textarea('reject_cookies'); ?>
@@ -581,7 +553,7 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
581
  </td>
582
  </tr>
583
  <tr>
584
- <th><?php _e('Devices (user agents) to bypass', 'hyper-cache'); ?></th>
585
  <td>
586
  <?php $controls->checkbox('reject_agents_enabled', __('Enable', 'hyper-cache')); ?><br>
587
  <?php $controls->textarea('reject_agents'); ?>
@@ -593,7 +565,7 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
593
  </tr>
594
 
595
  <tr>
596
- <th><?php _e('Don\'t serve cached pages to comment authors', 'hyper-cache'); ?></th>
597
  <td>
598
  <?php $controls->checkbox('reject_comment_authors', __('Enable', 'hyper-cache')); ?>
599
 
@@ -607,10 +579,9 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
607
  </td>
608
  </tr>
609
  <tr>
610
- <th><?php _e('Reject posts older than', 'hyper-cache'); ?></th>
611
  <td>
612
- <?php $controls->text('reject_old_posts', 5); ?>
613
- <?php _e('days', 'hyper-cache'); ?>
614
  <p class="description">
615
  <?php _e('Older posts won\'t be cached and stored resulting in a lower disk space usage.', 'hyper-cache'); ?>
616
  <?php _e('Useful when older posts have low traffic.', 'hyper-cache'); ?>
@@ -623,10 +594,10 @@ if (!wp_next_scheduled('hyper_cache_clean')) {
623
  <div id="tabs-mobile">
624
  <table class="form-table">
625
  <tr>
626
- <th><?php _e('Working mode', 'hyper-cache'); ?></th>
627
  <td>
628
- <?php $controls->select('mobile', array(0 => __('Use the standard cache', 'hyper-cache'),
629
- 1 => __('Cache separately', 'hyper-cache'),
630
  2 => __('Bypass the cache', 'hyper-cache'))); ?>
631
 
632
  <p class="description">
2
  $controls = new HyperCacheControls();
3
  $plugin = HyperCache::$instance;
4
 
5
+ if (@filemtime(WP_CONTENT_DIR . '/advanced-cache.php') < @filemtime(dirname(__FILE__) . '/advanced-cache.php')) {
6
+ $plugin->build_advanced_cache();
7
+ }
8
+
9
  if (!isset($plugin->options['translation_disabled'])) {
10
  if (function_exists('load_plugin_textdomain')) {
11
  load_plugin_textdomain('hyper-cache', false, 'hyper-cache/languages');
145
  if ($controls->is_action('reset_mobile_agents')) {
146
  $controls->options['mobile_agents'] = explode('|', HyperCache::MOBILE_AGENTS);
147
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
 
 
 
 
 
 
149
 
150
  function hc_size($dir) {
151
  $files = glob($dir . '*', GLOB_MARK);
259
  <?php $controls->button('clean', __('Clean the whole cache', 'hyper-cache')); ?>
260
  <?php $controls->button('clean-home', __('Clean home and archives', 'hyper-cache')); ?>
261
  <?php $controls->button('size', __('Compute the cache size', 'hyper-cache')); ?>
 
 
262
  </p>
263
 
264
  <div id="tabs">
515
  </td>
516
  </tr>
517
  <tr>
518
+ <th><?php _e('Do not cache pages with URIs', 'hyper-cache'); ?></th>
519
  <td>
520
  <?php $controls->checkbox('reject_uris_exact_enabled', __('Enable', 'hyper-cache')); ?><br>
521
  <?php $controls->textarea('reject_uris_exact'); ?>
528
  </td>
529
  </tr>
530
  <tr>
531
+ <th><?php _e('Do not cache pages with URIs starting with', 'hyper-cache'); ?></th>
532
  <td>
533
  <?php $controls->checkbox('reject_uris_enabled', __('Enable', 'hyper-cache')); ?><br>
534
  <?php $controls->textarea('reject_uris'); ?>
542
  </td>
543
  </tr>
544
  <tr>
545
+ <th><?php _e('Bypass the cache for readers with cookies', 'hyper-cache'); ?></th>
546
  <td>
547
  <?php $controls->checkbox('reject_cookies_enabled', __('Enable', 'hyper-cache')); ?><br>
548
  <?php $controls->textarea('reject_cookies'); ?>
553
  </td>
554
  </tr>
555
  <tr>
556
+ <th><?php _e('Bypass the cache for readers with devices (user agents)', 'hyper-cache'); ?></th>
557
  <td>
558
  <?php $controls->checkbox('reject_agents_enabled', __('Enable', 'hyper-cache')); ?><br>
559
  <?php $controls->textarea('reject_agents'); ?>
565
  </tr>
566
 
567
  <tr>
568
+ <th><?php _e('Bypass the cache for readers which are commenters', 'hyper-cache'); ?></th>
569
  <td>
570
  <?php $controls->checkbox('reject_comment_authors', __('Enable', 'hyper-cache')); ?>
571
 
579
  </td>
580
  </tr>
581
  <tr>
582
+ <th><?php _e('Do not cache posts older than', 'hyper-cache'); ?></th>
583
  <td>
584
+ <?php $controls->text('reject_old_posts', 5); ?> <?php _e('days', 'hyper-cache'); ?>
 
585
  <p class="description">
586
  <?php _e('Older posts won\'t be cached and stored resulting in a lower disk space usage.', 'hyper-cache'); ?>
587
  <?php _e('Useful when older posts have low traffic.', 'hyper-cache'); ?>
594
  <div id="tabs-mobile">
595
  <table class="form-table">
596
  <tr>
597
+ <th><?php _e('For mobile devices', 'hyper-cache'); ?></th>
598
  <td>
599
+ <?php $controls->select('mobile', array(0 => __('Use the main cache', 'hyper-cache'),
600
+ 1 => __('Use a separated cache', 'hyper-cache'),
601
  2 => __('Bypass the cache', 'hyper-cache'))); ?>
602
 
603
  <p class="description">
plugin.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Hyper Cache
5
  Plugin URI: http://www.satollo.net/plugins/hyper-cache
6
  Description: A easy to configure and efficient cache to increase the speed of your blog.
7
- Version: 3.2.9
8
  Author: Stefano Lissa
9
  Author URI: http://www.satollo.net
10
  Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
@@ -52,9 +52,8 @@ class HyperCache {
52
  }
53
  add_action('template_redirect', array($this, 'hook_template_redirect'), 0);
54
  } else {
55
- add_action('admin_init', array($this, 'hook_admin_init'));
56
- add_action('admin_head', array($this, 'hook_admin_head'));
57
  add_action('admin_menu', array($this, 'hook_admin_menu'));
 
58
  }
59
  }
60
 
@@ -75,25 +74,33 @@ class HyperCache {
75
  if (!isset($this->options['mobile_agents'])) {
76
  $this->options['mobile_agents'] = explode('|', self::MOBILE_AGENTS);
77
  }
78
- if (!isset($this->options['reject_agents']))
79
  $this->options['reject_agents'] = array();
80
- if (!isset($this->options['reject_cookies']))
 
81
  $this->options['reject_cookies'] = array();
82
- if (!isset($this->options['reject_uris']))
 
83
  $this->options['reject_uris'] = array();
84
- if (!isset($this->options['reject_uris_exact']))
 
85
  $this->options['reject_uris_exact'] = array();
86
- if (!isset($this->options['clean_last_posts']))
 
87
  $this->options['clean_last_posts'] = 0;
 
88
 
89
- if (!isset($this->options['https']))
90
  $this->options['https'] = 1;
 
91
 
92
- if (!isset($this->options['theme']))
93
  $this->options['theme'] = '';
 
94
 
95
- if (!isset($this->options['browser_cache_hours']))
96
  $this->options['browser_cache_hours'] = 24;
 
97
 
98
  update_option('hyper-cache', $this->options);
99
 
@@ -114,17 +121,11 @@ class HyperCache {
114
  file_put_contents(WP_CONTENT_DIR . '/advanced-cache.php', '');
115
  wp_clear_scheduled_hook('hyper_cache_clean');
116
  }
117
-
118
- function hook_admin_init() {
119
- if (isset($_GET['page']) && strpos($_GET['page'], 'hyper-cache/') === 0) {
120
- wp_enqueue_script('jquery-ui-tabs');
121
- }
122
- }
123
-
124
- function hook_admin_head() {
125
- if (isset($_GET['page']) && strpos($_GET['page'], 'hyper-cache/') === 0) {
126
- echo '<link type="text/css" rel="stylesheet" href="' . plugins_url('hyper-cache') . '/admin.css"/>';
127
- }
128
  }
129
 
130
  function hook_admin_menu() {
@@ -649,7 +650,7 @@ function hyper_cache_callback($buffer) {
649
  $buffer .= $script;
650
  }
651
  }
652
- hyper_cache_header($lc_file);
653
  @file_put_contents($lc_file, $buffer . '<!-- hyper cache ' . date('Y-m-d h:i:s') . ' -->');
654
 
655
  // Saves the gzipped version
4
  Plugin Name: Hyper Cache
5
  Plugin URI: http://www.satollo.net/plugins/hyper-cache
6
  Description: A easy to configure and efficient cache to increase the speed of your blog.
7
+ Version: 3.3.1
8
  Author: Stefano Lissa
9
  Author URI: http://www.satollo.net
10
  Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
52
  }
53
  add_action('template_redirect', array($this, 'hook_template_redirect'), 0);
54
  } else {
 
 
55
  add_action('admin_menu', array($this, 'hook_admin_menu'));
56
+ add_action('admin_enqueue_scripts', array($this, 'hook_admin_enqueue_scripts'));
57
  }
58
  }
59
 
74
  if (!isset($this->options['mobile_agents'])) {
75
  $this->options['mobile_agents'] = explode('|', self::MOBILE_AGENTS);
76
  }
77
+ if (!isset($this->options['reject_agents'])) {
78
  $this->options['reject_agents'] = array();
79
+ }
80
+ if (!isset($this->options['reject_cookies'])) {
81
  $this->options['reject_cookies'] = array();
82
+ }
83
+ if (!isset($this->options['reject_uris'])) {
84
  $this->options['reject_uris'] = array();
85
+ }
86
+ if (!isset($this->options['reject_uris_exact'])) {
87
  $this->options['reject_uris_exact'] = array();
88
+ }
89
+ if (!isset($this->options['clean_last_posts'])) {
90
  $this->options['clean_last_posts'] = 0;
91
+ }
92
 
93
+ if (!isset($this->options['https'])) {
94
  $this->options['https'] = 1;
95
+ }
96
 
97
+ if (!isset($this->options['theme'])) {
98
  $this->options['theme'] = '';
99
+ }
100
 
101
+ if (!isset($this->options['browser_cache_hours'])) {
102
  $this->options['browser_cache_hours'] = 24;
103
+ }
104
 
105
  update_option('hyper-cache', $this->options);
106
 
121
  file_put_contents(WP_CONTENT_DIR . '/advanced-cache.php', '');
122
  wp_clear_scheduled_hook('hyper_cache_clean');
123
  }
124
+
125
+ function hook_admin_enqueue_scripts() {
126
+ if (!isset($_GET['page']) || strpos($_GET['page'], 'hyper-cache/') !== 0) return;
127
+ wp_enqueue_style('hyper_cache', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css');
128
+ wp_enqueue_script('jquery-ui-tabs');
 
 
 
 
 
 
129
  }
130
 
131
  function hook_admin_menu() {
650
  $buffer .= $script;
651
  }
652
  }
653
+
654
  @file_put_contents($lc_file, $buffer . '<!-- hyper cache ' . date('Y-m-d h:i:s') . ' -->');
655
 
656
  // Saves the gzipped version
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Tags: cache,performance,staticizer,apache,htaccess,tuning,speed,bandwidth,optimization,tidy,gzip,compression,server load,boost
3
  Requires at least: 2.5
4
  Tested up to: 4.7.5
5
- Stable tag: 3.2.9
6
  Donate link: http://www.satollo.net/donations
7
  Contributors: satollo
8
 
@@ -68,6 +68,16 @@ the [Hyper Cache official forum](http://www.satollo.net/forums/forum/hyper-cache
68
 
69
  == Changelog ==
70
 
 
 
 
 
 
 
 
 
 
 
71
  = 3.2.9 =
72
 
73
  * Added support for constant HYPER_CACHE_IS_MOBILE
2
  Tags: cache,performance,staticizer,apache,htaccess,tuning,speed,bandwidth,optimization,tidy,gzip,compression,server load,boost
3
  Requires at least: 2.5
4
  Tested up to: 4.7.5
5
+ Stable tag: 3.3.1
6
  Donate link: http://www.satollo.net/donations
7
  Contributors: satollo
8
 
68
 
69
  == Changelog ==
70
 
71
+ = 3.3.1 =
72
+
73
+ * Removed the old import code
74
+ * Texts rewritten for easy translations on translate.wordpress.org
75
+ * Fixed and header
76
+
77
+ = 3.3.0 =
78
+
79
+ * Removed old jquery ui css
80
+
81
  = 3.2.9 =
82
 
83
  * Added support for constant HYPER_CACHE_IS_MOBILE