Version Description
- Fixed the comment awaiting notification cached
Download this release
Release Info
Developer | satollo |
Plugin | Hyper Cache |
Version | 3.1.8 |
Comparing to | |
See all releases |
Code changes from version 2.9.1.6 to 3.1.8
- admin.css +553 -0
- advanced-cache.php +222 -0
- cache.php +0 -367
- header.php +0 -15
- hyper-cache-fr_FR.mo +0 -0
- hyper-cache-fr_FR.po +0 -368
- hyper-cache-ru_RU.mo +0 -0
- hyper-cache-ru_RU.po +0 -389
- hyper-cache-zh_CN.mo +0 -0
- hyper-cache-zh_CN.po +0 -360
- hyper-cache-zh_TW.mo +0 -0
- hyper-cache-zh_TW.po +0 -360
- hyper-cache.pot +0 -383
- languages/hyper-cache-ru_RU.mo +0 -0
- languages/hyper-cache-ru_RU.po +510 -0
- languages/hyper-cache.pot +341 -0
- options.php +727 -478
- plugin.php +685 -388
- readme.txt +96 -120
admin.css
ADDED
@@ -0,0 +1,553 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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}*/; }
|
advanced-cache.php
ADDED
@@ -0,0 +1,222 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
global $cache_stop;
|
4 |
+
$cache_stop = false;
|
5 |
+
|
6 |
+
// Globally used. Here because of the function "theme change"
|
7 |
+
$hyper_cache_is_mobile = false;
|
8 |
+
|
9 |
+
if (defined('IS_PHONE')) {
|
10 |
+
$hyper_cache_is_mobile = IS_PHONE;
|
11 |
+
} else {
|
12 |
+
$hyper_cache_is_mobile = preg_match('#(HC_MOBILE_AGENTS)#i', $_SERVER['HTTP_USER_AGENT']);
|
13 |
+
}
|
14 |
+
|
15 |
+
$hyper_cache_gzip_accepted = isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false;
|
16 |
+
|
17 |
+
$hyper_cache_is_bot = preg_match('#(googlebot)#i', $_SERVER['HTTP_USER_AGENT']);
|
18 |
+
|
19 |
+
if (HC_MOBILE === 2 && $hyper_cache_is_mobile) {
|
20 |
+
hyper_cache_header('stop - mobile');
|
21 |
+
$cache_stop = true;
|
22 |
+
return false;
|
23 |
+
}
|
24 |
+
|
25 |
+
// Use this only if you can't or don't want to modify the .htaccess
|
26 |
+
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
27 |
+
$cache_stop = true;
|
28 |
+
return false;
|
29 |
+
}
|
30 |
+
|
31 |
+
if ($_SERVER['QUERY_STRING'] != '') {
|
32 |
+
hyper_cache_header('stop - query string');
|
33 |
+
$cache_stop = true;
|
34 |
+
return false;
|
35 |
+
}
|
36 |
+
|
37 |
+
if (defined('SID') && SID != '') {
|
38 |
+
$cache_stop = true;
|
39 |
+
return false;
|
40 |
+
}
|
41 |
+
|
42 |
+
if (isset($_COOKIE['cache_disable'])) {
|
43 |
+
$cache_stop = true;
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
|
47 |
+
if (!$hyper_cache_is_bot || $hyper_cache_is_bot && !HC_BOTS_IGNORE_NOCACHE) {
|
48 |
+
if (isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] == 'no-cache') {
|
49 |
+
hyper_cache_header('stop - no cache header');
|
50 |
+
$cache_stop = true;
|
51 |
+
return false;
|
52 |
+
}
|
53 |
+
|
54 |
+
if (isset($_SERVER['HTTP_PRAGMA']) && $_SERVER['HTTP_PRAGMA'] == 'no-cache') {
|
55 |
+
hyper_cache_header('stop - no cache header');
|
56 |
+
$cache_stop = true;
|
57 |
+
return false;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
// Used globally
|
62 |
+
$hyper_cache_is_ssl = false;
|
63 |
+
|
64 |
+
if (isset($_SERVER['HTTPS'])) {
|
65 |
+
if ('on' == strtolower($_SERVER['HTTPS']) || '1' == $_SERVER['HTTPS']) {
|
66 |
+
$hyper_cache_is_ssl = true;
|
67 |
+
} else if (isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] )) {
|
68 |
+
$hyper_cache_is_ssl = true;
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
if (HC_HTTPS === 0 && $hyper_cache_is_ssl) {
|
73 |
+
hyper_cache_header('stop - https');
|
74 |
+
$cache_stop = true;
|
75 |
+
return false;
|
76 |
+
}
|
77 |
+
|
78 |
+
if (HC_REJECT_AGENTS_ENABLED && isset($_SERVER['HTTP_USER_AGENT'])) {
|
79 |
+
if (preg_match('#(HC_REJECT_AGENTS)#i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
|
80 |
+
hyper_cache_header('stop - user agent');
|
81 |
+
$cache_stop = true;
|
82 |
+
return false;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
if (!empty($_COOKIE)) {
|
87 |
+
foreach ($_COOKIE as $n => $v) {
|
88 |
+
if (substr($n, 0, 20) == 'wordpress_logged_in_') {
|
89 |
+
hyper_cache_header('stop - logged in cookie');
|
90 |
+
$cache_stop = true;
|
91 |
+
return false;
|
92 |
+
}
|
93 |
+
|
94 |
+
if (substr($n, 0, 12) == 'wp-postpass_') {
|
95 |
+
hyper_cache_header('stop - password cookie');
|
96 |
+
$cache_stop = true;
|
97 |
+
return false;
|
98 |
+
}
|
99 |
+
|
100 |
+
if (HC_REJECT_COMMENT_AUTHORS && substr($n, 0, 14) == 'comment_author') {
|
101 |
+
hyper_cache_header('stop - comment author cookie');
|
102 |
+
$cache_stop = true;
|
103 |
+
return false;
|
104 |
+
}
|
105 |
+
if (HC_REJECT_COOKIES_ENABLED) {
|
106 |
+
if (preg_match('#(HC_REJECT_COOKIES)#i', strtolower($n))) {
|
107 |
+
hyper_cache_header('stop - bypass cookie');
|
108 |
+
$cache_stop = true;
|
109 |
+
return false;
|
110 |
+
}
|
111 |
+
}
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
// Globally used
|
116 |
+
$hyper_cache_group = '';
|
117 |
+
|
118 |
+
if (HC_HTTPS === 1 && $hyper_cache_is_ssl) {
|
119 |
+
$hyper_cache_group .= '-https';
|
120 |
+
}
|
121 |
+
|
122 |
+
if (HC_MOBILE === 1 && $hyper_cache_is_mobile) {
|
123 |
+
$hyper_cache_group .= '-mobile';
|
124 |
+
}
|
125 |
+
|
126 |
+
//$hc_file = ABSPATH . 'wp-content/cache/lite-cache' . $_SERVER['REQUEST_URI'] . '/index' . $hc_group . '.html';
|
127 |
+
$hc_uri = hyper_cache_sanitize_uri($_SERVER['REQUEST_URI']);
|
128 |
+
|
129 |
+
$hc_file = 'HC_FOLDER/' . strtolower($_SERVER['HTTP_HOST']) . $hc_uri . '/index' . $hyper_cache_group . '.html';
|
130 |
+
if (HC_GZIP == 1 && $hyper_cache_gzip_accepted) {
|
131 |
+
$hc_gzip = true;
|
132 |
+
} else {
|
133 |
+
$hc_gzip = false;
|
134 |
+
}
|
135 |
+
|
136 |
+
if ($hc_gzip) {
|
137 |
+
$hc_file .= '.gz';
|
138 |
+
}
|
139 |
+
|
140 |
+
if (!is_file($hc_file)) {
|
141 |
+
hyper_cache_header('continue - no file');
|
142 |
+
return false;
|
143 |
+
}
|
144 |
+
|
145 |
+
$hc_file_time = filemtime($hc_file);
|
146 |
+
|
147 |
+
if (HC_SERVE_EXPIRED_TO_BOT && $hyper_cache_is_bot) {
|
148 |
+
hyper_cache_header('hit - bot');
|
149 |
+
} else {
|
150 |
+
if (HC_MAX_AGE > 0 && $hc_file_time < time() - (HC_MAX_AGE * 3600)) {
|
151 |
+
hyper_cache_header('continue - old file');
|
152 |
+
return false;
|
153 |
+
}
|
154 |
+
}
|
155 |
+
if (array_key_exists("HTTP_IF_MODIFIED_SINCE", $_SERVER)) {
|
156 |
+
$hc_if_modified_since = strtotime(preg_replace('/;.*$/', '', $_SERVER["HTTP_IF_MODIFIED_SINCE"]));
|
157 |
+
if ($hc_if_modified_since >= $hc_file_time) {
|
158 |
+
header("HTTP/1.0 304 Not Modified");
|
159 |
+
flush();
|
160 |
+
die();
|
161 |
+
}
|
162 |
+
}
|
163 |
+
|
164 |
+
header('Content-Type: text/html;charset=UTF-8');
|
165 |
+
header('Last-Modified: ' . gmdate("D, d M Y H:i:s", $hc_file_time) . ' GMT');
|
166 |
+
|
167 |
+
if (HC_MOBILE === 0) {
|
168 |
+
header('Vary: Accept-Encoding');
|
169 |
+
} else {
|
170 |
+
header('Vary: Accept-Encoding,User-Agent');
|
171 |
+
}
|
172 |
+
|
173 |
+
if (HC_BROWSER_CACHE) {
|
174 |
+
if (HC_BROWSER_CACHE_HOURS != 0) {
|
175 |
+
$hc_cache_max_age = HC_BROWSER_CACHE_HOURS * 3600;
|
176 |
+
} else {
|
177 |
+
// If there is not a default expire time, use 24 hours.
|
178 |
+
if (HC_MAX_AGE > 0) {
|
179 |
+
$hc_cache_max_age = time() + (HC_MAX_AGE * 3600) - $hc_file_time;
|
180 |
+
} else {
|
181 |
+
$hc_cache_max_age = time() + (24 * 3600) - $hc_file_time;
|
182 |
+
}
|
183 |
+
}
|
184 |
+
header('Cache-Control: private, max-age=' . $hc_cache_max_age, false);
|
185 |
+
//header('Expires: ' . gmdate("D, d M Y H:i:s", time() + $hc_cache_max_age) . " GMT");
|
186 |
+
} else {
|
187 |
+
header('Cache-Control: private, max-age=0, no-cache, no-transform', false);
|
188 |
+
//header('Pragma: no-cache');
|
189 |
+
}
|
190 |
+
|
191 |
+
if ($hc_gzip) {
|
192 |
+
hyper_cache_header('hit - gzip' . $hyper_cache_group);
|
193 |
+
header('Content-Encoding: gzip');
|
194 |
+
header('Content-Length: ' . filesize($hc_file));
|
195 |
+
} else {
|
196 |
+
hyper_cache_header('hit - plain' . $hyper_cache_group);
|
197 |
+
header('Content-Length: ' . filesize($hc_file));
|
198 |
+
}
|
199 |
+
|
200 |
+
if (HC_READFILE) {
|
201 |
+
readfile($hc_file);
|
202 |
+
} else {
|
203 |
+
echo file_get_contents($hc_file);
|
204 |
+
}
|
205 |
+
die();
|
206 |
+
|
207 |
+
function hyper_cache_sanitize_uri($uri) {
|
208 |
+
$uri = preg_replace('/[^a-zA-Z0-9\/\-_]+/', '_', $uri);
|
209 |
+
$uri = preg_replace('/\/+/', '/', $uri);
|
210 |
+
//$uri = rtrim($uri, '.-_/');
|
211 |
+
if (empty($uri) || $uri[0] != '/') {
|
212 |
+
$uri = '/' . $uri;
|
213 |
+
}
|
214 |
+
if (strlen($uri) > 1 && substr($uri, -1, 1) == '/') {
|
215 |
+
$uri = rtrim($uri, '/') . '_';
|
216 |
+
}
|
217 |
+
return $uri;
|
218 |
+
}
|
219 |
+
|
220 |
+
function hyper_cache_header($value) {
|
221 |
+
header('X-Hyper-Cache: ' . $value, false);
|
222 |
+
}
|
cache.php
DELETED
@@ -1,367 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
global $hyper_cache_stop;
|
4 |
-
|
5 |
-
$hyper_cache_stop = false;
|
6 |
-
|
7 |
-
// If no-cache header support is enabled and the browser explicitly requests a fresh page, do not cache
|
8 |
-
if ($hyper_cache_nocache &&
|
9 |
-
((!empty($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] == 'no-cache') ||
|
10 |
-
(!empty($_SERVER['HTTP_PRAGMA']) && $_SERVER['HTTP_PRAGMA'] == 'no-cache'))) return hyper_cache_exit();
|
11 |
-
|
12 |
-
// Do not cache post request (comments, plugins and so on)
|
13 |
-
if ($_SERVER["REQUEST_METHOD"] == 'POST') return hyper_cache_exit();
|
14 |
-
|
15 |
-
// Try to avoid enabling the cache if sessions are managed with request parameters and a session is active
|
16 |
-
if (defined('SID') && SID != '') return hyper_cache_exit();
|
17 |
-
|
18 |
-
$hyper_uri = $_SERVER['REQUEST_URI'];
|
19 |
-
$hyper_qs = strpos($hyper_uri, '?');
|
20 |
-
|
21 |
-
if ($hyper_qs !== false) {
|
22 |
-
if ($hyper_cache_strip_qs) $hyper_uri = substr($hyper_uri, 0, $hyper_qs);
|
23 |
-
else if (!$hyper_cache_cache_qs) return hyper_cache_exit();
|
24 |
-
}
|
25 |
-
|
26 |
-
if (strpos($hyper_uri, 'robots.txt') !== false) return hyper_cache_exit();
|
27 |
-
|
28 |
-
// Checks for rejected url
|
29 |
-
if ($hyper_cache_reject !== false) {
|
30 |
-
foreach($hyper_cache_reject as $uri) {
|
31 |
-
if (substr($uri, 0, 1) == '"') {
|
32 |
-
if ($uri == '"' . $hyper_uri . '"') return hyper_cache_exit();
|
33 |
-
}
|
34 |
-
if (substr($hyper_uri, 0, strlen($uri)) == $uri) return hyper_cache_exit();
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
if ($hyper_cache_reject_agents !== false) {
|
39 |
-
$hyper_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
40 |
-
foreach ($hyper_cache_reject_agents as $hyper_a) {
|
41 |
-
if (strpos($hyper_agent, $hyper_a) !== false) return hyper_cache_exit();
|
42 |
-
}
|
43 |
-
}
|
44 |
-
|
45 |
-
// Do nested cycles in this order, usually no cookies are specified
|
46 |
-
if ($hyper_cache_reject_cookies !== false) {
|
47 |
-
foreach ($hyper_cache_reject_cookies as $hyper_c) {
|
48 |
-
foreach ($_COOKIE as $n=>$v) {
|
49 |
-
if (substr($n, 0, strlen($hyper_c)) == $hyper_c) return hyper_cache_exit();
|
50 |
-
}
|
51 |
-
}
|
52 |
-
}
|
53 |
-
|
54 |
-
// Do not use or cache pages when a wordpress user is logged on
|
55 |
-
|
56 |
-
foreach ($_COOKIE as $n=>$v) {
|
57 |
-
// If it's required to bypass the cache when the visitor is a commenter, stop.
|
58 |
-
if ($hyper_cache_comment && substr($n, 0, 15) == 'comment_author_') return hyper_cache_exit();
|
59 |
-
|
60 |
-
// SHIT!!! This test cookie makes to cache not work!!!
|
61 |
-
if ($n == 'wordpress_test_cookie') continue;
|
62 |
-
// wp 2.5 and wp 2.3 have different cookie prefix, skip cache if a post password cookie is present, also
|
63 |
-
if (substr($n, 0, 14) == 'wordpressuser_' || substr($n, 0, 10) == 'wordpress_' || substr($n, 0, 12) == 'wp-postpass_') {
|
64 |
-
return hyper_cache_exit();
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
// Do not cache WP pages, even if those calls typically don't go throught this script
|
69 |
-
if (strpos($hyper_uri, '/wp-') !== false) return hyper_cache_exit();
|
70 |
-
|
71 |
-
// Multisite
|
72 |
-
if (function_exists('is_multisite') && is_multisite() && strpos($hyper_uri, '/files/') !== false) return hyper_cache_exit();
|
73 |
-
|
74 |
-
// Prefix host, and for wordpress 'pretty URLs' strip trailing slash (e.g. '/my-post/' -> 'my-site.com/my-post')
|
75 |
-
$hyper_uri = $_SERVER['HTTP_HOST'] . $hyper_uri;
|
76 |
-
|
77 |
-
// The name of the file with html and other data
|
78 |
-
$hyper_cache_name = md5($hyper_uri);
|
79 |
-
$hc_file = $hyper_cache_path . $hyper_cache_name . hyper_mobile_type() . '.dat';
|
80 |
-
|
81 |
-
if (!file_exists($hc_file)) {
|
82 |
-
hyper_cache_start(false);
|
83 |
-
return;
|
84 |
-
}
|
85 |
-
|
86 |
-
$hc_file_time = @filemtime($hc_file);
|
87 |
-
$hc_file_age = time() - $hc_file_time;
|
88 |
-
|
89 |
-
if ($hc_file_age > $hyper_cache_timeout) {
|
90 |
-
hyper_cache_start();
|
91 |
-
return;
|
92 |
-
}
|
93 |
-
|
94 |
-
$hc_invalidation_time = @filemtime($hyper_cache_path . '_global.dat');
|
95 |
-
if ($hc_invalidation_time && $hc_file_time < $hc_invalidation_time) {
|
96 |
-
hyper_cache_start();
|
97 |
-
return;
|
98 |
-
}
|
99 |
-
|
100 |
-
if (array_key_exists("HTTP_IF_MODIFIED_SINCE", $_SERVER)) {
|
101 |
-
$if_modified_since = strtotime(preg_replace('/;.*$/', '', $_SERVER["HTTP_IF_MODIFIED_SINCE"]));
|
102 |
-
if ($if_modified_since >= $hc_file_time) {
|
103 |
-
header($_SERVER['SERVER_PROTOCOL'] . " 304 Not Modified");
|
104 |
-
flush();
|
105 |
-
die();
|
106 |
-
}
|
107 |
-
}
|
108 |
-
|
109 |
-
// Load it and check is it's still valid
|
110 |
-
$hyper_data = @unserialize(file_get_contents($hc_file));
|
111 |
-
|
112 |
-
if (!$hyper_data) {
|
113 |
-
hyper_cache_start();
|
114 |
-
return;
|
115 |
-
}
|
116 |
-
|
117 |
-
if ($hyper_data['type'] == 'home' || $hyper_data['type'] == 'archive') {
|
118 |
-
|
119 |
-
$hc_invalidation_archive_file = @filemtime($hyper_cache_path . '_archives.dat');
|
120 |
-
if ($hc_invalidation_archive_file && $hc_file_time < $hc_invalidation_archive_file) {
|
121 |
-
hyper_cache_start();
|
122 |
-
return;
|
123 |
-
}
|
124 |
-
}
|
125 |
-
|
126 |
-
// Valid cache file check ends here
|
127 |
-
|
128 |
-
if (!empty($hyper_data['location'])) {
|
129 |
-
header('Location: ' . $hyper_data['location']);
|
130 |
-
flush();
|
131 |
-
die();
|
132 |
-
}
|
133 |
-
|
134 |
-
// It's time to serve the cached page
|
135 |
-
|
136 |
-
if (!$hyper_cache_browsercache) {
|
137 |
-
// True if browser caching NOT enabled (default)
|
138 |
-
header('Cache-Control: no-cache, must-revalidate, max-age=0');
|
139 |
-
header('Pragma: no-cache');
|
140 |
-
header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
|
141 |
-
}
|
142 |
-
else {
|
143 |
-
$maxage = $hyper_cache_timeout - $hc_file_age;
|
144 |
-
header('Cache-Control: max-age=' . $maxage);
|
145 |
-
header('Expires: ' . gmdate("D, d M Y H:i:s", time() + $maxage) . " GMT");
|
146 |
-
}
|
147 |
-
|
148 |
-
// True if user ask to NOT send Last-Modified
|
149 |
-
if (!$hyper_cache_lastmodified) {
|
150 |
-
header('Last-Modified: ' . gmdate("D, d M Y H:i:s", $hc_file_time). " GMT");
|
151 |
-
}
|
152 |
-
|
153 |
-
header('Content-Type: ' . $hyper_data['mime']);
|
154 |
-
if (isset($hyper_data['status']) && $hyper_data['status'] == 404) header($_SERVER['SERVER_PROTOCOL'] . " 404 Not Found");
|
155 |
-
|
156 |
-
// Send the cached html
|
157 |
-
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false &&
|
158 |
-
(($hyper_cache_gzip && !empty($hyper_data['gz'])) || ($hyper_cache_gzip_on_the_fly && function_exists('gzencode')))) {
|
159 |
-
header('Content-Encoding: gzip');
|
160 |
-
header('Vary: Accept-Encoding');
|
161 |
-
if (!empty($hyper_data['gz'])) {
|
162 |
-
echo $hyper_data['gz'];
|
163 |
-
}
|
164 |
-
else {
|
165 |
-
echo gzencode($hyper_data['html']);
|
166 |
-
}
|
167 |
-
}
|
168 |
-
else {
|
169 |
-
// No compression accepted, check if we have the plain html or
|
170 |
-
// decompress the compressed one.
|
171 |
-
if (!empty($hyper_data['html'])) {
|
172 |
-
//header('Content-Length: ' . strlen($hyper_data['html']));
|
173 |
-
echo $hyper_data['html'];
|
174 |
-
}
|
175 |
-
else if (function_exists('gzinflate')) {
|
176 |
-
$buffer = hyper_cache_gzdecode($hyper_data['gz']);
|
177 |
-
if ($buffer === false) echo 'Error retrieving the content';
|
178 |
-
else echo $buffer;
|
179 |
-
}
|
180 |
-
else {
|
181 |
-
// Cannot decode compressed data, serve fresh page
|
182 |
-
return false;
|
183 |
-
}
|
184 |
-
}
|
185 |
-
flush();
|
186 |
-
die();
|
187 |
-
|
188 |
-
|
189 |
-
function hyper_cache_start($delete=true) {
|
190 |
-
global $hc_file;
|
191 |
-
|
192 |
-
if ($delete) @unlink($hc_file);
|
193 |
-
foreach ($_COOKIE as $n=>$v ) {
|
194 |
-
if (substr($n, 0, 14) == 'comment_author') {
|
195 |
-
unset($_COOKIE[$n]);
|
196 |
-
}
|
197 |
-
}
|
198 |
-
ob_start('hyper_cache_callback');
|
199 |
-
}
|
200 |
-
|
201 |
-
// From here Wordpress starts to process the request
|
202 |
-
|
203 |
-
// Called whenever the page generation is ended
|
204 |
-
function hyper_cache_callback($buffer) {
|
205 |
-
global $hyper_cache_notfound, $hyper_cache_stop, $hyper_cache_charset, $hyper_cache_home, $hyper_cache_redirects, $hyper_redirect, $hc_file, $hyper_cache_name, $hyper_cache_browsercache, $hyper_cache_timeout, $hyper_cache_lastmodified, $hyper_cache_gzip, $hyper_cache_gzip_on_the_fly;
|
206 |
-
|
207 |
-
if (!function_exists('is_home')) return $buffer;
|
208 |
-
if (!function_exists('is_front_page')) return $buffer;
|
209 |
-
|
210 |
-
if (function_exists('apply_filters')) $buffer = apply_filters('hyper_cache_buffer', $buffer);
|
211 |
-
|
212 |
-
if ($hyper_cache_stop) return $buffer;
|
213 |
-
|
214 |
-
if (!$hyper_cache_notfound && is_404()) {
|
215 |
-
return $buffer;
|
216 |
-
}
|
217 |
-
|
218 |
-
if (strpos($buffer, '</body>') === false) return $buffer;
|
219 |
-
|
220 |
-
// WP is sending a redirect
|
221 |
-
if ($hyper_redirect) {
|
222 |
-
if ($hyper_cache_redirects) {
|
223 |
-
$data['location'] = $hyper_redirect;
|
224 |
-
hyper_cache_write($data);
|
225 |
-
}
|
226 |
-
return $buffer;
|
227 |
-
}
|
228 |
-
|
229 |
-
if ((is_home() || is_front_page()) && $hyper_cache_home) {
|
230 |
-
return $buffer;
|
231 |
-
}
|
232 |
-
|
233 |
-
if (is_feed() && !$hyper_cache_feed) {
|
234 |
-
return $buffer;
|
235 |
-
}
|
236 |
-
|
237 |
-
if (is_home() || is_front_page()) $data['type'] = 'home';
|
238 |
-
else if (is_feed()) $data['type'] = 'feed';
|
239 |
-
else if (is_archive()) $data['type'] = 'archive';
|
240 |
-
else if (is_single()) $data['type'] = 'single';
|
241 |
-
else if (is_page()) $data['type'] = 'page';
|
242 |
-
$buffer = trim($buffer);
|
243 |
-
|
244 |
-
// Can be a trackback or other things without a body. We do not cache them, WP needs to get those calls.
|
245 |
-
if (strlen($buffer) == 0) return '';
|
246 |
-
|
247 |
-
if (!$hyper_cache_charset) $hyper_cache_charset = 'UTF-8';
|
248 |
-
|
249 |
-
if (is_feed()) {
|
250 |
-
$data['mime'] = 'text/xml;charset=' . $hyper_cache_charset;
|
251 |
-
}
|
252 |
-
else {
|
253 |
-
$data['mime'] = 'text/html;charset=' . $hyper_cache_charset;
|
254 |
-
}
|
255 |
-
|
256 |
-
$buffer .= '<!-- hyper cache: ' . $hyper_cache_name . ' ' . date('y-m-d h:i:s') .' -->';
|
257 |
-
|
258 |
-
$data['html'] = $buffer;
|
259 |
-
|
260 |
-
if (is_404()) $data['status'] = 404;
|
261 |
-
|
262 |
-
hyper_cache_write($data);
|
263 |
-
|
264 |
-
if ($hyper_cache_browsercache) {
|
265 |
-
header('Cache-Control: max-age=' . $hyper_cache_timeout);
|
266 |
-
header('Expires: ' . gmdate("D, d M Y H:i:s", time() + $hyper_cache_timeout) . " GMT");
|
267 |
-
}
|
268 |
-
|
269 |
-
// True if user ask to NOT send Last-Modified
|
270 |
-
if (!$hyper_cache_lastmodified) {
|
271 |
-
header('Last-Modified: ' . gmdate("D, d M Y H:i:s", @filemtime($hc_file)). " GMT");
|
272 |
-
}
|
273 |
-
|
274 |
-
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false &&
|
275 |
-
(($hyper_cache_gzip && !empty($data['gz'])) || ($hyper_cache_gzip_on_the_fly && !empty($data['html']) && function_exists('gzencode')))) {
|
276 |
-
header('Content-Encoding: gzip');
|
277 |
-
header('Vary: Accept-Encoding');
|
278 |
-
if (empty($data['gz'])) {
|
279 |
-
$data['gz'] = gzencode($data['html']);
|
280 |
-
}
|
281 |
-
return $data['gz'];
|
282 |
-
}
|
283 |
-
|
284 |
-
return $buffer;
|
285 |
-
}
|
286 |
-
|
287 |
-
function hyper_cache_write(&$data) {
|
288 |
-
global $hc_file, $hyper_cache_store_compressed;
|
289 |
-
|
290 |
-
$data['uri'] = $_SERVER['REQUEST_URI'];
|
291 |
-
|
292 |
-
// Look if we need the compressed version
|
293 |
-
if ($hyper_cache_store_compressed && !empty($data['html']) && function_exists('gzencode')) {
|
294 |
-
$data['gz'] = gzencode($data['html']);
|
295 |
-
if ($data['gz']) unset($data['html']);
|
296 |
-
}
|
297 |
-
$file = fopen($hc_file, 'w');
|
298 |
-
fwrite($file, serialize($data));
|
299 |
-
fclose($file);
|
300 |
-
}
|
301 |
-
|
302 |
-
function hyper_mobile_type() {
|
303 |
-
global $hyper_cache_mobile, $hyper_cache_mobile_agents, $hyper_cache_plugin_mobile_pack;
|
304 |
-
|
305 |
-
if ($hyper_cache_plugin_mobile_pack) {
|
306 |
-
@include_once ABSPATH . 'wp-content/plugins/wordpress-mobile-pack/plugins/wpmp_switcher/lite_detection.php';
|
307 |
-
if (function_exists('lite_detection')) {
|
308 |
-
$is_mobile = lite_detection();
|
309 |
-
if (!$is_mobile) return '';
|
310 |
-
include_once ABSPATH . 'wp-content/plugins/wordpress-mobile-pack/themes/mobile_pack_base/group_detection.php';
|
311 |
-
if (function_exists('group_detection')) {
|
312 |
-
return 'mobile' . group_detection();
|
313 |
-
}
|
314 |
-
else return 'mobile';
|
315 |
-
}
|
316 |
-
}
|
317 |
-
|
318 |
-
if (!isset($hyper_cache_mobile) || $hyper_cache_mobile_agents === false) return '';
|
319 |
-
|
320 |
-
$hyper_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
321 |
-
if (!empty($hyper_cache_mobile_agents)) {
|
322 |
-
foreach ($hyper_cache_mobile_agents as $hyper_a) {
|
323 |
-
if (strpos($hyper_agent, $hyper_a) !== false) {
|
324 |
-
if (strpos($hyper_agent, 'iphone') || strpos($hyper_agent, 'ipod')) {
|
325 |
-
return 'iphone';
|
326 |
-
}
|
327 |
-
else {
|
328 |
-
return 'pda';
|
329 |
-
}
|
330 |
-
}
|
331 |
-
}
|
332 |
-
}
|
333 |
-
return '';
|
334 |
-
}
|
335 |
-
|
336 |
-
function hyper_cache_gzdecode ($data) {
|
337 |
-
|
338 |
-
$flags = ord(substr($data, 3, 1));
|
339 |
-
$headerlen = 10;
|
340 |
-
$extralen = 0;
|
341 |
-
|
342 |
-
$filenamelen = 0;
|
343 |
-
if ($flags & 4) {
|
344 |
-
$extralen = unpack('v' ,substr($data, 10, 2));
|
345 |
-
|
346 |
-
$extralen = $extralen[1];
|
347 |
-
$headerlen += 2 + $extralen;
|
348 |
-
}
|
349 |
-
if ($flags & 8) // Filename
|
350 |
-
|
351 |
-
$headerlen = strpos($data, chr(0), $headerlen) + 1;
|
352 |
-
if ($flags & 16) // Comment
|
353 |
-
|
354 |
-
$headerlen = strpos($data, chr(0), $headerlen) + 1;
|
355 |
-
if ($flags & 2) // CRC at end of file
|
356 |
-
|
357 |
-
$headerlen += 2;
|
358 |
-
$unpacked = gzinflate(substr($data, $headerlen));
|
359 |
-
return $unpacked;
|
360 |
-
}
|
361 |
-
|
362 |
-
function hyper_cache_exit() {
|
363 |
-
global $hyper_cache_gzip_on_the_fly;
|
364 |
-
|
365 |
-
if ($hyper_cache_gzip_on_the_fly && extension_loaded('zlib')) ob_start('ob_gzhandler');
|
366 |
-
return false;
|
367 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
header.php
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<table cellpadding="0" cellspacing="0" border="0" style="border: 1px solid #ddd; background-color: #f7f7ff; padding: 10px;">
|
2 |
-
<tr>
|
3 |
-
<td valign="middle" align="left" width="110">
|
4 |
-
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RJB428Z5KJPR4" target="_blank"><img src="http://www.satollo.net/images/donate.gif"/></a>
|
5 |
-
</td>
|
6 |
-
<td valign="top" align="left">
|
7 |
-
<strong>Your donation is like a diamond: it's forever</strong>.
|
8 |
-
More about <a href="http://www.satollo.net/donations" target="_blank">donations I receive</a>.
|
9 |
-
See <a href="http://www.satollo.net/plugins" target="_blank"><strong>other plugins</strong></a> that can be useful for your blog.
|
10 |
-
<form method="post" action="http://www.satollo.net/subscribe" target="_blank">
|
11 |
-
Subscribe my newsletter: <input name="ne" value="Your email" onclick="if (this.defaultValue==this.value) this.value=''" onblur="if (this.value=='') this.value=this.defaultValue"> <input type="hidden" value="s" name="na"> <input type="hidden" value="plugin" name="nr"><input type="submit" value="Subscribe">
|
12 |
-
</form>
|
13 |
-
</td>
|
14 |
-
</tr>
|
15 |
-
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hyper-cache-fr_FR.mo
DELETED
Binary file
|
hyper-cache-fr_FR.po
DELETED
@@ -1,368 +0,0 @@
|
|
1 |
-
# Copyright (C) 2012
|
2 |
-
# This file is distributed under the same license as the package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Hyper Cache FR\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/hyper-cache\n"
|
7 |
-
"POT-Creation-Date: 2012-01-25 22:02:42+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2012-06-15 18:02+0100\n"
|
12 |
-
"Last-Translator: QuentinTurquet.com <quentin.turquet@gmail.com>\n"
|
13 |
-
"Language-Team: TradPress.fr <tradpress@gmail.com>\n"
|
14 |
-
"X-Poedit-Language: French\n"
|
15 |
-
"X-Poedit-Country: FRANCE\n"
|
16 |
-
|
17 |
-
#: options.php:92
|
18 |
-
msgid "You must add to the file wp-config.php (at its beginning after the <?php) the line of code: <code>define('WP_CACHE', true);</code>."
|
19 |
-
msgstr "Vous devez ajouter au fichier wp-config (au début après le <?php) la ligne de code : <code>define('WP_CACHE', true);</code>."
|
20 |
-
|
21 |
-
#: options.php:103
|
22 |
-
msgid "<p><strong>Options saved BUT not active because Hyper Cache was not able to update the file wp-content/advanced-cache.php (is it writable?).</strong></p>"
|
23 |
-
msgstr "<p><strong>Les options ont été enregistrées MAIS non actives, car Hyper Cache n'est pas capable de mettre à jour le fichier wp-content/advanced-cache.php (est-il accessible en écriture ?).</strong></p>"
|
24 |
-
|
25 |
-
#: options.php:109
|
26 |
-
msgid "<p><strong>Hyper Cache was not able to create the folder \"wp-content/cache/hyper-cache\". Make it manually setting permissions to 777.</strong></p>"
|
27 |
-
msgstr "<p><strong>Hyper Cache n'est pas capable de créer le dossier \"wp-content/cache/hyper-cache\". Mettez manuellement les permissions en CHMOD 777.</strong></p>"
|
28 |
-
|
29 |
-
#: options.php:114
|
30 |
-
msgid "You can find more details about configurations and working mode on <a href=\"%s\">Hyper Cache official page</a>."
|
31 |
-
msgstr "Vous pouvez trouver plus de détails à propos des configurations sur <a href=\"%s\">la page officielle Hyper Cache</a>."
|
32 |
-
|
33 |
-
#: options.php:123
|
34 |
-
msgid "Clear cache"
|
35 |
-
msgstr "Nettoyer le cache"
|
36 |
-
|
37 |
-
#: options.php:126
|
38 |
-
msgid "Cache status"
|
39 |
-
msgstr "Statut du cache"
|
40 |
-
|
41 |
-
#: options.php:129
|
42 |
-
msgid "Files in cache (valid and expired)"
|
43 |
-
msgstr "Fichiers en cache (valides et expirés)"
|
44 |
-
|
45 |
-
#: options.php:133
|
46 |
-
msgid "Cleaning process"
|
47 |
-
msgstr "Procédure de nettoyage"
|
48 |
-
|
49 |
-
#: options.php:135
|
50 |
-
msgid "Next run on: "
|
51 |
-
msgstr "Prochaine mise à jour le :"
|
52 |
-
|
53 |
-
#: options.php:142
|
54 |
-
msgid "The cleaning process runs hourly and it's ok to run it hourly: that grant you an efficient cache. If above there is not a valid next run time, wait 10 seconds and reenter this panel. If nothing change, try to deactivate and reactivate Hyper Cache."
|
55 |
-
msgstr "Le processus de nettoyage fonctionne toutes les heures et est actif pour fonctionner à chaque heure : cela garantie un cache efficace. Si, ci-dessus, le temps entré pour le prochain fonctionnement n'est pas valide, attendez 10 secondes et réentrez-le dans le panel. Si rien ne change, essayez de désactiver et de réactiver Hyper Cache."
|
56 |
-
|
57 |
-
#: options.php:149
|
58 |
-
msgid "Configuration"
|
59 |
-
msgstr "Configuration"
|
60 |
-
|
61 |
-
#: options.php:154
|
62 |
-
msgid "Cached pages timeout"
|
63 |
-
msgstr "Pages en cache (temps écoulé)"
|
64 |
-
|
65 |
-
#: options.php:157
|
66 |
-
msgid "minutes"
|
67 |
-
msgstr "minutes"
|
68 |
-
|
69 |
-
#: options.php:159
|
70 |
-
msgid ""
|
71 |
-
"Minutes a cached page is valid and served to users. A zero value means a cached page is\r\n"
|
72 |
-
" valid forever."
|
73 |
-
msgstr ""
|
74 |
-
"Les minutes d'une page mise en cache sont valides et servies aux utilisateurs. Une valeur nulle signifie qu'une page mise en cache est\r\n"
|
75 |
-
" valide pour toujours."
|
76 |
-
|
77 |
-
#: options.php:161
|
78 |
-
msgid ""
|
79 |
-
"If a cached page is older than specified value (expired) it is no more used and\r\n"
|
80 |
-
" will be regenerated on next request of it."
|
81 |
-
msgstr ""
|
82 |
-
"Si une page mise en cache est plus ancienne que la valeur spécifiée (expirée) Ce n'est plus utilisé et\r\n"
|
83 |
-
" sera de nouveau générée lors de la requête suivante."
|
84 |
-
|
85 |
-
#: options.php:163
|
86 |
-
msgid "720 minutes is half a day, 1440 is a full day and so on."
|
87 |
-
msgstr "720 minutes est la moitié d'une journée, 1440 est un jour entier."
|
88 |
-
|
89 |
-
#: options.php:169
|
90 |
-
msgid "Cache invalidation mode"
|
91 |
-
msgstr "Mode invalide du cache"
|
92 |
-
|
93 |
-
#: options.php:172
|
94 |
-
msgid "All cached pages"
|
95 |
-
msgstr "Toutes les pages en cache"
|
96 |
-
|
97 |
-
#: options.php:173
|
98 |
-
msgid "Only modified posts"
|
99 |
-
msgstr "Seulement les articles modifiés"
|
100 |
-
|
101 |
-
#: options.php:174
|
102 |
-
msgid "Only modified pages"
|
103 |
-
msgstr "Seulement les pages modifiées"
|
104 |
-
|
105 |
-
#: options.php:175
|
106 |
-
msgid "Nothing"
|
107 |
-
msgstr "Rien"
|
108 |
-
|
109 |
-
#: options.php:179
|
110 |
-
msgid "Invalidate home, archives, categories on single post invalidation"
|
111 |
-
msgstr "Invalider l'accueil, archives, catégories sur les articles invalidés."
|
112 |
-
|
113 |
-
#: options.php:182
|
114 |
-
msgid "\"Invalidation\" is the process of deleting cached pages when they are no more valid."
|
115 |
-
msgstr "\"Invalidation\" est un processus de suppression des pages mises en cache lorsqu'elles ne sont plus valides."
|
116 |
-
|
117 |
-
#: options.php:183
|
118 |
-
msgid ""
|
119 |
-
"Invalidation process is started when blog contents are modified (new post, post update, new comment,...) so\r\n"
|
120 |
-
" one or more cached pages need to be refreshed to get that new content."
|
121 |
-
msgstr ""
|
122 |
-
"Le processus d'invalidation est mis en marche lorsque le contenu du blog est modifié (nouvel article, mise à jour d'un article, commentaire,...) donc\r\n"
|
123 |
-
" une ou plusieurs pages mises en chage doivent être rafraîchies pour afficher le nouveau contenu."
|
124 |
-
|
125 |
-
#: options.php:185
|
126 |
-
msgid ""
|
127 |
-
"A new comment submission or a comment moderation is considered like a post modification\r\n"
|
128 |
-
" where the post is the one the comment is relative to."
|
129 |
-
msgstr ""
|
130 |
-
"La soumission d'un commentaire ou la modération d'un commentaire est considérée comme une modification de l'article\r\n"
|
131 |
-
" où l'article est celui où le commentaire en question se situe."
|
132 |
-
|
133 |
-
#: options.php:192
|
134 |
-
msgid "Disable cache for commenters"
|
135 |
-
msgstr "Désactiver le cache pour les commentaires"
|
136 |
-
|
137 |
-
#: options.php:196
|
138 |
-
msgid ""
|
139 |
-
"When users leave comments, WordPress show pages with their comments even if in moderation\r\n"
|
140 |
-
" (and not visible to others) and pre-fills the comment form."
|
141 |
-
msgstr ""
|
142 |
-
"Lorsque des utilisateurs laissent des commentaires, WordPress affiche les pages comme si les commentaires étaient en attente de validation\r\n"
|
143 |
-
" (et ne sont pas visibles pour les autres) et pré-rempli le formulaire de commentaire."
|
144 |
-
|
145 |
-
#: options.php:198
|
146 |
-
msgid "If you want to keep those features, enable this option."
|
147 |
-
msgstr "Si vous voulez garder ces fonctions, activez cette option."
|
148 |
-
|
149 |
-
#: options.php:199
|
150 |
-
msgid "The caching system will be less efficient but the blog more usable."
|
151 |
-
msgstr "Le système de cache sera moins efficace, mais le blog plus utilisable."
|
152 |
-
|
153 |
-
#: options.php:206
|
154 |
-
msgid "Feeds caching"
|
155 |
-
msgstr "Fils mis en cache"
|
156 |
-
|
157 |
-
#: options.php:210
|
158 |
-
msgid "When enabled the blog feeds will be cache as well."
|
159 |
-
msgstr "Lorsqu'activé, les fils du blog seront aussi en cache."
|
160 |
-
|
161 |
-
#: options.php:211
|
162 |
-
msgid ""
|
163 |
-
"Usually this options has to be left unchecked but if your blog is rather static,\r\n"
|
164 |
-
" you can enable it and have a bit more efficiency"
|
165 |
-
msgstr ""
|
166 |
-
"D'habitude ces options doivent rester décochées, mais si votre blog est plutôt statique,\r\n"
|
167 |
-
" vous pouvez l'activer pour gagner un petit peu de rapidité."
|
168 |
-
|
169 |
-
#: options.php:218
|
170 |
-
#: options.php:256
|
171 |
-
#: options.php:297
|
172 |
-
#: options.php:449
|
173 |
-
msgid "Update"
|
174 |
-
msgstr "Mettre à jour"
|
175 |
-
|
176 |
-
#: options.php:221
|
177 |
-
msgid "Configuration for mobile devices"
|
178 |
-
msgstr "Configuration pour les téléphones portables"
|
179 |
-
|
180 |
-
#: options.php:234
|
181 |
-
msgid "Detect mobile devices"
|
182 |
-
msgstr "Détecter les téléphones portables"
|
183 |
-
|
184 |
-
#: options.php:238
|
185 |
-
msgid "When enabled mobile devices will be detected and the cached page stored under different name."
|
186 |
-
msgstr "Lorsqu'un appareil mobile valide sera détecté, la page mise en cache sera stockée sous un nom différent."
|
187 |
-
|
188 |
-
#: options.php:239
|
189 |
-
msgid "This makes blogs with different themes for mobile devices to work correctly."
|
190 |
-
msgstr "Ceci fait des blogs avec des thèmes différents pour permettre à des dispositifs mobiles de fonctionner correctement."
|
191 |
-
|
192 |
-
#: options.php:245
|
193 |
-
msgid "Mobile agent list"
|
194 |
-
msgstr "Liste d'agents de mobile"
|
195 |
-
|
196 |
-
#: options.php:249
|
197 |
-
msgid "One per line mobile agents to check for when a page is requested."
|
198 |
-
msgstr "Un mobile agent par ligne pour vérifier quand la page est demandée."
|
199 |
-
|
200 |
-
#: options.php:250
|
201 |
-
msgid "The mobile agent string is matched against the agent a device is sending to the server."
|
202 |
-
msgstr "La série mobile agent correspond quand l'agent est un dispositif envoyé au serveur."
|
203 |
-
|
204 |
-
#: options.php:260
|
205 |
-
msgid "Compression"
|
206 |
-
msgstr "Compression"
|
207 |
-
|
208 |
-
#: options.php:264
|
209 |
-
msgid "Your hosting space has not the \"gzencode\" or \"gzinflate\" function, so no compression options are available."
|
210 |
-
msgstr "Votre hébergeur ne possède pas la fonction \"gzencode\" ou \"gzinflate\", donc aucune option de compression n'est disponible."
|
211 |
-
|
212 |
-
#: options.php:270
|
213 |
-
msgid "Enable compression"
|
214 |
-
msgstr "Activer la compression"
|
215 |
-
|
216 |
-
#: options.php:274
|
217 |
-
msgid "When possible the page will be sent compressed to save bandwidth."
|
218 |
-
msgstr "Quand cela est possible, la page sera envoyée compressée pour préserver la bande passante."
|
219 |
-
|
220 |
-
#: options.php:275
|
221 |
-
msgid ""
|
222 |
-
"Only the textual part of a page can be compressed, not images, so a photo\r\n"
|
223 |
-
" blog will consume a lot of bandwidth even with compression enabled."
|
224 |
-
msgstr ""
|
225 |
-
"Seulement la partie textuelle d'une page peut être compressée, pas les images, donc une photo\r\n"
|
226 |
-
" du blog va consommer beaucoup de bande passante lorsque la compression sera active."
|
227 |
-
|
228 |
-
#: options.php:277
|
229 |
-
#: options.php:291
|
230 |
-
msgid "Leave the options disabled if you note malfunctions, like blank pages."
|
231 |
-
msgstr "Laisser cette option désactivée si vous notez des erreurs, comme des pages blanches."
|
232 |
-
|
233 |
-
#: options.php:279
|
234 |
-
msgid "If you enable this option, the option below will be enabled as well."
|
235 |
-
msgstr "Si vous activez cette option, l'option ci-dessous sera aussi activée."
|
236 |
-
|
237 |
-
#: options.php:285
|
238 |
-
msgid "Disk space usage"
|
239 |
-
msgstr "Usage de l'espace disque"
|
240 |
-
|
241 |
-
#: options.php:289
|
242 |
-
msgid "Enable this option to minimize disk space usage."
|
243 |
-
msgstr "Activer cette option pour minimiser l'usage en espace disque."
|
244 |
-
|
245 |
-
#: options.php:290
|
246 |
-
msgid "The cache will be a little less performant."
|
247 |
-
msgstr "Le cache sera un peu moins performant."
|
248 |
-
|
249 |
-
#: options.php:302
|
250 |
-
msgid "Advanced options"
|
251 |
-
msgstr "Options avancées"
|
252 |
-
|
253 |
-
#: options.php:306
|
254 |
-
msgid "Translation"
|
255 |
-
msgstr "Traduction"
|
256 |
-
|
257 |
-
#: options.php:310
|
258 |
-
msgid "DO NOT show this panel translated."
|
259 |
-
msgstr "NE PAS montrer ce panel traduit."
|
260 |
-
|
261 |
-
#: options.php:316
|
262 |
-
msgid "Disable Last-Modified header"
|
263 |
-
msgstr "Désactiver le haut de page Dernier Modifié"
|
264 |
-
|
265 |
-
#: options.php:320
|
266 |
-
msgid "Disable some HTTP headers (Last-Modified) which improve performances but some one is reporting they create problems which some hosting configurations."
|
267 |
-
msgstr "Mettez hors de service quelques en-têtes HTTP (Derniers-modifiés) qui vaaméliorer le fonctionnement, mais quelqu'un a rapporté que cela crée des problèmes de configurations sur certains hébergements."
|
268 |
-
|
269 |
-
#: options.php:326
|
270 |
-
msgid "Home caching"
|
271 |
-
msgstr "Accueil en cache"
|
272 |
-
|
273 |
-
#: options.php:330
|
274 |
-
msgid "DO NOT cache the home page so it is always fresh."
|
275 |
-
msgstr "NE PAS mettre en cache la page d'accueil si elle est toujours mise à jour."
|
276 |
-
|
277 |
-
#: options.php:336
|
278 |
-
msgid "Redirect caching"
|
279 |
-
msgstr "Redirection en cache"
|
280 |
-
|
281 |
-
#: options.php:340
|
282 |
-
msgid "Cache WordPress redirects."
|
283 |
-
msgstr "Redirections Cache WordPress."
|
284 |
-
|
285 |
-
#: options.php:341
|
286 |
-
msgid "WordPress sometime sends back redirects that can be cached to avoid further processing time."
|
287 |
-
msgstr "WordPress renvoie parfois en arrière ce qui peut être mis en cache pour éviter un nouveau temps de traitement."
|
288 |
-
|
289 |
-
#: options.php:346
|
290 |
-
msgid "Page not found caching (HTTP 404)"
|
291 |
-
msgstr "Page mise en cache non trouvée (HTTP 404)"
|
292 |
-
|
293 |
-
#: options.php:369
|
294 |
-
msgid "URL with parameters"
|
295 |
-
msgstr "URL avec paramètres"
|
296 |
-
|
297 |
-
#: options.php:373
|
298 |
-
msgid "Cache requests with query string (parameters)."
|
299 |
-
msgstr "Requête en cache avec query string (paramétrages)."
|
300 |
-
|
301 |
-
#: options.php:374
|
302 |
-
msgid "This option has to be enabled for blogs which have post URLs with a question mark on them."
|
303 |
-
msgstr "Cette option peut être activée pour les blogs qui ont des points d'interrogation dans leurs URLs."
|
304 |
-
|
305 |
-
#: options.php:375
|
306 |
-
msgid ""
|
307 |
-
"This option is disabled by default because there is plugins which use\r\n"
|
308 |
-
" URL parameter to perform specific action that cannot be cached"
|
309 |
-
msgstr ""
|
310 |
-
"Cette option est désactivée par défaut car quelques extensions peuvent utiliser\r\n"
|
311 |
-
" le paramétrage d'URL pour des actions spécifiques qui ne peuvent être mises en cache"
|
312 |
-
|
313 |
-
#: options.php:377
|
314 |
-
msgid ""
|
315 |
-
"For who is using search engines friendly permalink format is safe to\r\n"
|
316 |
-
" leave this option disabled, no performances will be lost."
|
317 |
-
msgstr ""
|
318 |
-
"Pour celui qui utilise un moteur de recherche utilisant les permaliens doit\r\n"
|
319 |
-
" laisser cette option désactivée, aucune performance ne sera perdue."
|
320 |
-
|
321 |
-
#: options.php:392
|
322 |
-
msgid "URI to reject"
|
323 |
-
msgstr "URI à rejeter"
|
324 |
-
|
325 |
-
#: options.php:396
|
326 |
-
msgid "Write one URI per line, each URI has to start with a slash."
|
327 |
-
msgstr "Ecrire un URI par ligne, chaque URI doit commencer par un slash."
|
328 |
-
|
329 |
-
#: options.php:397
|
330 |
-
msgid "A specified URI will match the requested URI if the latter starts with the former."
|
331 |
-
msgstr "Un URI spécifié correspondra à une requête URI si le nouveau démarre avec l'ancien."
|
332 |
-
|
333 |
-
#: options.php:398
|
334 |
-
msgid "If you want to specify a stric matching, surround the URI with double quotes."
|
335 |
-
msgstr "Si vous voulez spécifier une correspondance de stric, entourer l'URI de doubles guillemets."
|
336 |
-
|
337 |
-
#: options.php:418
|
338 |
-
msgid "Agents to reject"
|
339 |
-
msgstr "Agents à rejeter"
|
340 |
-
|
341 |
-
#: options.php:422
|
342 |
-
msgid "Write one agent per line."
|
343 |
-
msgstr "Ecrire un agent par ligne."
|
344 |
-
|
345 |
-
#: options.php:423
|
346 |
-
msgid "A specified agent will match the client agent if the latter contains the former. The matching is case insensitive."
|
347 |
-
msgstr "Un agent spécifié correspondra au client agent si le dernier contient l'ancien. La correspondance est insensible à la case."
|
348 |
-
|
349 |
-
#: options.php:429
|
350 |
-
msgid "Cookies matching"
|
351 |
-
msgstr "Correspondance des cookies"
|
352 |
-
|
353 |
-
#: options.php:433
|
354 |
-
msgid "Write one cookie name per line."
|
355 |
-
msgstr "Ecrire un nom de cookie par ligne."
|
356 |
-
|
357 |
-
#: options.php:434
|
358 |
-
msgid "When a specified cookie will match one of the cookie names sent bby the client the cache stops."
|
359 |
-
msgstr "Lorsqu'un cookie spécifié correspondra à l'un des noms de cookies envoyé par le client, le cache se stoppe."
|
360 |
-
|
361 |
-
#: options.php:437
|
362 |
-
msgid ""
|
363 |
-
"It seems you have Facebook Connect plugin installed. Add this cookie name to make it works\r\n"
|
364 |
-
" with Hyper Cache:"
|
365 |
-
msgstr ""
|
366 |
-
"Il semblerait que vous avez l'extension Facebook Connect installée. Ajoutez ce nom de cookie pour le faire fonctionner\r\n"
|
367 |
-
" avec Hyper Cache :"
|
368 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hyper-cache-ru_RU.mo
DELETED
Binary file
|
hyper-cache-ru_RU.po
DELETED
@@ -1,389 +0,0 @@
|
|
1 |
-
# SOME DESCRIPTIVE TITLE.
|
2 |
-
# This file is put in the public domain.
|
3 |
-
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
4 |
-
#
|
5 |
-
msgid ""
|
6 |
-
msgstr ""
|
7 |
-
"Project-Id-Version: Hyper Cache 2.8.5\n"
|
8 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/hyper-cache\n"
|
9 |
-
"POT-Creation-Date: 2009-09-29 15:57+0000\n"
|
10 |
-
"PO-Revision-Date: 2011-08-20 22:14+0300\n"
|
11 |
-
"Last-Translator: mckryak <mckryak@freemail.ru>\n"
|
12 |
-
"Language-Team: \n"
|
13 |
-
"MIME-Version: 1.0\n"
|
14 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
-
"Content-Transfer-Encoding: 8bit\n"
|
16 |
-
"X-Poedit-Language: Russian\n"
|
17 |
-
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
18 |
-
|
19 |
-
#: options.php:68
|
20 |
-
#, php-format
|
21 |
-
msgid ""
|
22 |
-
"You can find more details about configurations and working mode\r\n"
|
23 |
-
" on <a href=\"%s\">Hyper Cache official page</a>."
|
24 |
-
msgstr "Вы можете подробнее узнать о настройке плагина и его режимах работы на <a href=\"%s\">официальном сайте Hyper Cache</a>."
|
25 |
-
|
26 |
-
#: options.php:74
|
27 |
-
msgid "Other interesting plugins:"
|
28 |
-
msgstr "Другие интересные плагины:"
|
29 |
-
|
30 |
-
#: options.php:84
|
31 |
-
msgid "Cache status"
|
32 |
-
msgstr "Состояние кэша"
|
33 |
-
|
34 |
-
#: options.php:87
|
35 |
-
msgid "Files in cache (valid and expired)"
|
36 |
-
msgstr "Файлы в кэше (актуальные и устаревшие)"
|
37 |
-
|
38 |
-
#: options.php:92
|
39 |
-
msgid "Clean the cache"
|
40 |
-
msgstr "Очистить кэш"
|
41 |
-
|
42 |
-
#: options.php:96
|
43 |
-
msgid "Statistics"
|
44 |
-
msgstr "Статистика"
|
45 |
-
|
46 |
-
#: options.php:100
|
47 |
-
msgid "Enable statistics collection"
|
48 |
-
msgstr "Включить сбор статистики"
|
49 |
-
|
50 |
-
#: options.php:104
|
51 |
-
msgid ""
|
52 |
-
"Very experimental and not really efficient,\r\n"
|
53 |
-
" but can be useful to check how the cache works."
|
54 |
-
msgstr "Экспериментальная и неэффективная функция, но может быть полена для проверки работы кэша."
|
55 |
-
|
56 |
-
#: options.php:106
|
57 |
-
msgid ""
|
58 |
-
"Many .txt files willbe created inside the wp-content folder,\r\n"
|
59 |
-
" you can safely delete them if you need."
|
60 |
-
msgstr "В папке wp-content будет создано много файлов .txt. Если потребуется, их можно безопасно удалить."
|
61 |
-
|
62 |
-
#: options.php:125
|
63 |
-
msgid ""
|
64 |
-
"Below are statitics about requests Hyper Cache can handle and the ratio between the\r\n"
|
65 |
-
"requests served by Hyper Cache and the ones served by WordPress."
|
66 |
-
msgstr "Ниже показана статистика запросов, обработанных Hyper Cache, и отношение запросов, обработанных Hyper Cache и WordPress."
|
67 |
-
|
68 |
-
#: options.php:128
|
69 |
-
msgid ""
|
70 |
-
"Requests that bypass the cache due to configurations are not counted because they are\r\n"
|
71 |
-
"explicitely not cacheable."
|
72 |
-
msgstr "Запросы, пропускаемые кэшем в соответствии с конфигурацией, не учитываются, поскольку явно отмечены некэшируемыми."
|
73 |
-
|
74 |
-
#: options.php:136
|
75 |
-
msgid "Detailed data broken up on different types of cache hits"
|
76 |
-
msgstr "Детальная информация, разнесенная по типам совпадений"
|
77 |
-
|
78 |
-
#: options.php:149
|
79 |
-
#: options.php:233
|
80 |
-
#: options.php:259
|
81 |
-
#: options.php:298
|
82 |
-
#: options.php:404
|
83 |
-
msgid "Update"
|
84 |
-
msgstr "Обновление"
|
85 |
-
|
86 |
-
#: options.php:152
|
87 |
-
msgid "Configuration"
|
88 |
-
msgstr "Конфигурация"
|
89 |
-
|
90 |
-
#: options.php:157
|
91 |
-
msgid "Cached pages timeout"
|
92 |
-
msgstr "Таймаут кэшированных страниц"
|
93 |
-
|
94 |
-
#: options.php:160
|
95 |
-
#: options.php:174
|
96 |
-
msgid "minutes"
|
97 |
-
msgstr "минут"
|
98 |
-
|
99 |
-
#: options.php:162
|
100 |
-
msgid ""
|
101 |
-
"Minutes a cached page is valid and served to users. A zero value means a cached page is\r\n"
|
102 |
-
" valid forever."
|
103 |
-
msgstr "Время, в течение которого кэшированная страница считается действительной. Укажите значение 0 (ноль), чтобы страницы считались действительными вечно."
|
104 |
-
|
105 |
-
#: options.php:164
|
106 |
-
msgid ""
|
107 |
-
"If a cached page is older than specified value (expired) it is no more used and\r\n"
|
108 |
-
" will be regenerated on next request of it."
|
109 |
-
msgstr "Если кэшированная страница старее указанного значения (т.е. устарела), она будет перегенерирована при следующем обращении к ней."
|
110 |
-
|
111 |
-
#: options.php:166
|
112 |
-
msgid "720 minutes is half a day, 1440 is a full day and so on."
|
113 |
-
msgstr "Например, 720 минут — половина суток, 1440 — полные сутки."
|
114 |
-
|
115 |
-
#: options.php:171
|
116 |
-
msgid "Cache autoclean"
|
117 |
-
msgstr "Автоочистка кэша"
|
118 |
-
|
119 |
-
#: options.php:176
|
120 |
-
msgid ""
|
121 |
-
"Frequency of the autoclean process which removes to expired cached pages to free\r\n"
|
122 |
-
" disk space."
|
123 |
-
msgstr "Частота автоматической очистки кэша — удаления устаревших страниц для освобождения дискового пространства."
|
124 |
-
|
125 |
-
#: options.php:178
|
126 |
-
msgid ""
|
127 |
-
"Set lower or equals of timeout above. If set to zero the autoclean process never\r\n"
|
128 |
-
" runs."
|
129 |
-
msgstr "Установите значение меньшее или равное таймауту. Если указать 0 (ноль), автоматическая очистка будет отключена."
|
130 |
-
|
131 |
-
#: options.php:180
|
132 |
-
msgid ""
|
133 |
-
"There is no performance improvements setting to zero, worse the cache folder will fill up\r\n"
|
134 |
-
" being slower."
|
135 |
-
msgstr "Установка нулевого значения не улучшает производительность, но кэш будет занимать больше места."
|
136 |
-
|
137 |
-
#: options.php:182
|
138 |
-
msgid "If timeout is set to zero, autoclean never runs, so this value has no meaning"
|
139 |
-
msgstr "Если таймаут установлен в ноль, автоматическая очистка не будет выполняться, так что это значение ни на что не влияет."
|
140 |
-
|
141 |
-
#: options.php:187
|
142 |
-
msgid "Cache invalidation mode"
|
143 |
-
msgstr "Режим аннулирования кэша"
|
144 |
-
|
145 |
-
#: options.php:190
|
146 |
-
msgid "All cached pages"
|
147 |
-
msgstr "Все кэшированные страницы"
|
148 |
-
|
149 |
-
#: options.php:191
|
150 |
-
msgid "Only modified posts"
|
151 |
-
msgstr "Только измененные записи"
|
152 |
-
|
153 |
-
#: options.php:192
|
154 |
-
msgid "Only modified pages"
|
155 |
-
msgstr "Только измененные страницы"
|
156 |
-
|
157 |
-
#: options.php:193
|
158 |
-
msgid "Nothing"
|
159 |
-
msgstr "Ничего"
|
160 |
-
|
161 |
-
#: options.php:197
|
162 |
-
msgid "Invalidate home, archives, categories on single post invalidation"
|
163 |
-
msgstr "При аннулировании записи также аннулировать домашнюю страницу, страницы архивов и категорий"
|
164 |
-
|
165 |
-
#: options.php:200
|
166 |
-
msgid "\"Invalidation\" is the process of deleting cached pages when they are no more valid."
|
167 |
-
msgstr "«Аннулирование» — процесс удаления страниц из кэша, когда они устаревают."
|
168 |
-
|
169 |
-
#: options.php:201
|
170 |
-
msgid ""
|
171 |
-
"Invalidation process is started when blog contents are modified (new post, post update, new comment,...) so\r\n"
|
172 |
-
" one or more cached pages need to be refreshed to get that new content."
|
173 |
-
msgstr "Процесс аннулирования запускается при изменении содержимого блога (новая запись, изменение записи, размещение комментария...), после чего одна или несколько страниц в кэше должны быть заменены новыми."
|
174 |
-
|
175 |
-
#: options.php:203
|
176 |
-
msgid ""
|
177 |
-
"A new comment submission or a comment moderation is considered like a post modification\r\n"
|
178 |
-
" where the post is the one the comment is relative to."
|
179 |
-
msgstr "Размещение или модерация комментария учитывается аналогично изменению записи, к которой этот комментарий относится."
|
180 |
-
|
181 |
-
#: options.php:209
|
182 |
-
msgid "Disable cache for commenters"
|
183 |
-
msgstr "Отключить кэш для комментаторов"
|
184 |
-
|
185 |
-
#: options.php:213
|
186 |
-
msgid ""
|
187 |
-
"When users leave comments, WordPress show pages with their comments even if in moderation\r\n"
|
188 |
-
" (and not visible to others) and pre-fills the comment form."
|
189 |
-
msgstr "Когда пользователь оставляет комментарий, WordPress показывает ему страницу с этим комментарием, даже если он отправлен на премодерацию и не виден другим пользователям."
|
190 |
-
|
191 |
-
#: options.php:215
|
192 |
-
msgid "If you want to keep those features, enable this option."
|
193 |
-
msgstr "Поставьте метку, если хотите сохранить эту функцию."
|
194 |
-
|
195 |
-
#: options.php:216
|
196 |
-
msgid "The caching system will be less efficient but the blog more usable."
|
197 |
-
msgstr "Кэширование будет менее эффективным, но блог — более удобным."
|
198 |
-
|
199 |
-
#: options.php:222
|
200 |
-
msgid "Feeds caching"
|
201 |
-
msgstr "Кэширование RSS"
|
202 |
-
|
203 |
-
#: options.php:226
|
204 |
-
msgid "When enabled the blog feeds will be cache as well."
|
205 |
-
msgstr "Если включить, RSS-потоки блога также будут кэшироваться. "
|
206 |
-
|
207 |
-
#: options.php:227
|
208 |
-
msgid ""
|
209 |
-
"Usually this options has to be left unchecked but if your blog is rather static,\r\n"
|
210 |
-
" you can enable it and have a bit more efficiency"
|
211 |
-
msgstr "Обычно включать не требуется, но, если блог почти не меняется, эта функция сделает его чуть более эффективным."
|
212 |
-
|
213 |
-
#: options.php:236
|
214 |
-
msgid "Configuration for mobile devices"
|
215 |
-
msgstr "Конфигурация для мобильных устройств"
|
216 |
-
|
217 |
-
#: options.php:239
|
218 |
-
msgid "Detect mobile devices"
|
219 |
-
msgstr "Определять мобильные устройства"
|
220 |
-
|
221 |
-
#: options.php:243
|
222 |
-
msgid "When enabled mobile devices will be detected and the cached page stored under different name."
|
223 |
-
msgstr "Если включить, мобильные устройства будут определяться, и страницы для них — кэшироваться под другими именами."
|
224 |
-
|
225 |
-
#: options.php:244
|
226 |
-
msgid "This makes blogs with different themes for mobile devices to work correctly."
|
227 |
-
msgstr "Это позволит корректно работать блогу с особыми темами для мобильных устройств."
|
228 |
-
|
229 |
-
#: options.php:249
|
230 |
-
msgid "Mobile agent list"
|
231 |
-
msgstr "Список мобильных агентов"
|
232 |
-
|
233 |
-
#: options.php:253
|
234 |
-
msgid "One per line mobile agents to check for when a page is requested."
|
235 |
-
msgstr "Список мобильных агентов по одному на строке."
|
236 |
-
|
237 |
-
#: options.php:254
|
238 |
-
msgid "The mobile agent string is matched against the agent a device is sending to the server."
|
239 |
-
msgstr "Строки проверяются на совпадение со значением «agent», переданным устройством серверу."
|
240 |
-
|
241 |
-
#: options.php:263
|
242 |
-
msgid "Compression"
|
243 |
-
msgstr "Сжатие"
|
244 |
-
|
245 |
-
#: options.php:267
|
246 |
-
msgid "Your hosting space has not the \"gzencode\" or \"gzinflate\" function, so no compression options are available."
|
247 |
-
msgstr "На вашем хостинге нет функций «gzencode» или «gzinflate», поэтому сжатие недоступно."
|
248 |
-
|
249 |
-
#: options.php:273
|
250 |
-
msgid "Enable compression"
|
251 |
-
msgstr "Включить сжатие"
|
252 |
-
|
253 |
-
#: options.php:277
|
254 |
-
msgid "When possible the page will be sent compressed to save bandwidth."
|
255 |
-
msgstr "По возможности страницы будут отправляться сжатыми для экономии трафика."
|
256 |
-
|
257 |
-
#: options.php:278
|
258 |
-
msgid ""
|
259 |
-
"Only the textual part of a page can be compressed, not images, so a photo\r\n"
|
260 |
-
" blog will consume a lot of bandwidth even with compression enabled."
|
261 |
-
msgstr "Сжата может быть только текстовая часть страницы, поэтому фотоблог требует передачи значительного объема данных даже при включенном сжатии."
|
262 |
-
|
263 |
-
#: options.php:280
|
264 |
-
#: options.php:293
|
265 |
-
msgid "Leave the options disabled if you note malfunctions, like blank pages."
|
266 |
-
msgstr "Оставьте отключенной, если замечаете неправильную работу, например, пустые страницы."
|
267 |
-
|
268 |
-
#: options.php:282
|
269 |
-
msgid "If you enable this option, the option below will be enabled as well."
|
270 |
-
msgstr "Если включена, будет включена и следующая опция."
|
271 |
-
|
272 |
-
#: options.php:287
|
273 |
-
msgid "Disk space usage"
|
274 |
-
msgstr "Использование дискового пространства"
|
275 |
-
|
276 |
-
#: options.php:291
|
277 |
-
msgid "Enable this option to minimize disk space usage."
|
278 |
-
msgstr "Включите для экономии дискового пространства."
|
279 |
-
|
280 |
-
#: options.php:292
|
281 |
-
msgid "The cache will be a little less performant."
|
282 |
-
msgstr "Кэширование будет несколько менее производительным."
|
283 |
-
|
284 |
-
#: options.php:303
|
285 |
-
msgid "Advanced options"
|
286 |
-
msgstr "Экспертные настройки"
|
287 |
-
|
288 |
-
#: options.php:307
|
289 |
-
msgid "Translation"
|
290 |
-
msgstr "Перевод"
|
291 |
-
|
292 |
-
#: options.php:311
|
293 |
-
msgid "DO NOT show this panel translated."
|
294 |
-
msgstr "НЕ ПЕРЕВОДИТЬ эту страницу."
|
295 |
-
|
296 |
-
#: options.php:316
|
297 |
-
msgid "Home caching"
|
298 |
-
msgstr "Кэширование Домашней"
|
299 |
-
|
300 |
-
#: options.php:320
|
301 |
-
msgid "DO NOT cache the home page so it is always fresh."
|
302 |
-
msgstr "НЕ КЭШИРОВАТЬ домашнюю страницу."
|
303 |
-
|
304 |
-
#: options.php:325
|
305 |
-
msgid "Redirect caching"
|
306 |
-
msgstr "Кэширование перенаправлений"
|
307 |
-
|
308 |
-
#: options.php:329
|
309 |
-
msgid "Cache WordPress redirects."
|
310 |
-
msgstr "Кэшировать перенаправления WordPress."
|
311 |
-
|
312 |
-
#: options.php:330
|
313 |
-
msgid "WordPress sometime sends back redirects that can be cached to avoid further processing time."
|
314 |
-
msgstr "WordPress иногда передает перенаправление (redirect). Их можно кэшировать, чтобы избегать затрат времени на обработку."
|
315 |
-
|
316 |
-
#: options.php:335
|
317 |
-
msgid "URL with parameters"
|
318 |
-
msgstr "URL с параметрами"
|
319 |
-
|
320 |
-
#: options.php:339
|
321 |
-
msgid "Cache requests with query string (parameters)."
|
322 |
-
msgstr "Кэшировать запросы с параметрами."
|
323 |
-
|
324 |
-
#: options.php:340
|
325 |
-
msgid "This option has to be enabled for blogs which have post URLs with a question mark on them."
|
326 |
-
msgstr "Включается для блогов, где записи имеют адреса (URL) со знаком вопроса в них."
|
327 |
-
|
328 |
-
#: options.php:341
|
329 |
-
msgid ""
|
330 |
-
"This option is disabled by default because there is plugins which use\r\n"
|
331 |
-
" URL parameter to perform specific action that cannot be cached"
|
332 |
-
msgstr "По умолчанию отключено, т.к. существуют плагины, использующие параметры URL для выполнения специфических действий. Их кэшировать нельзя."
|
333 |
-
|
334 |
-
#: options.php:343
|
335 |
-
msgid ""
|
336 |
-
"For who is using search engines friendly permalink format is safe to\r\n"
|
337 |
-
" leave this option disabled, no performances will be lost."
|
338 |
-
msgstr "При использовании «читаемого» формата постоянных ссылок эту опцию можно безопасно отключить. Потерь производительности не будет."
|
339 |
-
|
340 |
-
#: options.php:349
|
341 |
-
msgid "URI to reject"
|
342 |
-
msgstr "Исключаемые URI"
|
343 |
-
|
344 |
-
#: options.php:353
|
345 |
-
msgid "Write one URI per line, each URI has to start with a slash."
|
346 |
-
msgstr "Записывается по одному URI на строку, каждый URI — начиная со слеша (/)."
|
347 |
-
|
348 |
-
#: options.php:354
|
349 |
-
msgid "A specified URI will match the requested URI if the latter starts with the former."
|
350 |
-
msgstr "Указанные URI будут сравниваться с запрашиваемыми URI (по условию «начинается с»)."
|
351 |
-
|
352 |
-
#: options.php:355
|
353 |
-
msgid "If you want to specify a stric matching, surround the URI with double quotes."
|
354 |
-
msgstr "Если требуется строгое соответствие, заключите URI в двойные кавычки (\"...\")."
|
355 |
-
|
356 |
-
#: options.php:374
|
357 |
-
msgid "Agents to reject"
|
358 |
-
msgstr "Исключаемые агенты"
|
359 |
-
|
360 |
-
#: options.php:378
|
361 |
-
msgid "Write one agent per line."
|
362 |
-
msgstr "Записываются по одному имени на строке."
|
363 |
-
|
364 |
-
#: options.php:379
|
365 |
-
msgid "A specified agent will match the client agent if the latter contains the former. The matching is case insensitive."
|
366 |
-
msgstr "Проверяется вхождение указанных строк в значение Agent (без учета регистра). "
|
367 |
-
|
368 |
-
#: options.php:384
|
369 |
-
msgid "Cookies matching"
|
370 |
-
msgstr "Совпадение Cookies"
|
371 |
-
|
372 |
-
#: options.php:388
|
373 |
-
msgid "Write one cookie name per line."
|
374 |
-
msgstr "По одной записи на строке."
|
375 |
-
|
376 |
-
#: options.php:389
|
377 |
-
msgid "When a specified cookie will match one of the cookie names sent bby the client the cache stops."
|
378 |
-
msgstr "Если указанная строка совпадает с одним из имен Cookies, переданных клиентом, кэш останавливается."
|
379 |
-
|
380 |
-
#: options.php:392
|
381 |
-
msgid ""
|
382 |
-
"It seems you have Facebook Connect plugin installed. Add this cookie name to make it works\r\n"
|
383 |
-
" with Hyper Cache:"
|
384 |
-
msgstr "Похоже, у вас установлен плагин Facebook Connect. Добавьте следующее имя, чтобы он работал с Hyper Cache:"
|
385 |
-
|
386 |
-
#: plugin.php:120
|
387 |
-
msgid "Settings"
|
388 |
-
msgstr "Настройки"
|
389 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hyper-cache-zh_CN.mo
DELETED
Binary file
|
hyper-cache-zh_CN.po
DELETED
@@ -1,360 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Hyper Cache v2.8.8\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2012-03-25 12:00+0800\n"
|
6 |
-
"PO-Revision-Date: 2012-03-28 18:08+0800\n"
|
7 |
-
"Last-Translator: Tommy Tung\n"
|
8 |
-
"Language-Team: Ragnarok | ragnarok.3dsydesign.com <ragnarok@3dsydesign.com>\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2\n"
|
13 |
-
"X-Poedit-Language: Chinese\n"
|
14 |
-
"X-Poedit-Country: CHINA\n"
|
15 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
-
|
17 |
-
#: options.php:92
|
18 |
-
msgid "You must add to the file wp-config.php (at its beginning after the <?php) the line of code: <code>define('WP_CACHE', true);</code>."
|
19 |
-
msgstr "你必须在「wp-config.php」文件里面新增这行代码:<code>define('WP_CACHE', true);</code>(要写在 <?php 之后)。"
|
20 |
-
|
21 |
-
#: options.php:103
|
22 |
-
msgid "<p><strong>Options saved BUT not active because Hyper Cache was not able to update the file wp-content/advanced-cache.php (is it writable?).</strong></p>"
|
23 |
-
msgstr "<p><strong>选项已储存但是无法有效激活,因为 Hyper Cache 无法更新「wp-content/advanced-cache.php」这文件(文件是否能够写入?)。</strong></p>"
|
24 |
-
|
25 |
-
#: options.php:109
|
26 |
-
msgid "<p><strong>Hyper Cache was not able to create the folder \"wp-content/cache/hyper-cache\". Make it manually setting permissions to 777.</strong></p>"
|
27 |
-
msgstr "<p><strong>Hyper Cache 无法建立「wp-content/cache/hyper-cache」文件夹,请手动设定文件夹权限为 777。</strong></p>"
|
28 |
-
|
29 |
-
#: options.php:114
|
30 |
-
msgid "You can find more details about configurations and working mode on <a href=\"%s\">Hyper Cache official page</a>."
|
31 |
-
msgstr "你可以在 <a href=\"%s\">Hyper Cache 官方网页</a> 找到更多关于配置以及工作模式的细节。简体中文语系由 <a href=\"http://ragnarok.3dsydesign.com/\" target=\"_blank\">Ragnarok</a> 翻译而成,你也可以参考 Ragnarok 的 <a href=\"http://ragnarok.3dsydesign.com/38/hyper-cache/\" target=\"_blank\">Hyper Cache 教学</a> 。"
|
32 |
-
|
33 |
-
#: options.php:123
|
34 |
-
msgid "Clear cache"
|
35 |
-
msgstr "清除缓存"
|
36 |
-
|
37 |
-
#: options.php:126
|
38 |
-
msgid "Cache status"
|
39 |
-
msgstr "缓存状态"
|
40 |
-
|
41 |
-
#: options.php:129
|
42 |
-
msgid "Files in cache (valid and expired)"
|
43 |
-
msgstr "缓存的文件数(有效期限内)"
|
44 |
-
|
45 |
-
#: options.php:133
|
46 |
-
msgid "Cleaning process"
|
47 |
-
msgstr "清除进程"
|
48 |
-
|
49 |
-
#: options.php:135
|
50 |
-
msgid "Next run on: "
|
51 |
-
msgstr "下次执行时间于:"
|
52 |
-
|
53 |
-
#: options.php:142
|
54 |
-
msgid "The cleaning process runs hourly and it's ok to run it hourly: that grant you an efficient cache. If above there is not a valid next run time, wait 10 seconds and reenter this panel. If nothing change, try to deactivate and reactivate Hyper Cache."
|
55 |
-
msgstr "清除进程会频繁的进行,而且让清除动作时时进行是很不错的,可以带给你更高效率的缓存。如果上面没有显示有效的下次执行时间,请等待 10 秒钟再重新进入这个面板。如果还是没有任何变化,请试着禁用并重新激活 Hyper Cache。"
|
56 |
-
|
57 |
-
#: options.php:149
|
58 |
-
msgid "Configuration"
|
59 |
-
msgstr "配置"
|
60 |
-
|
61 |
-
#: options.php:154
|
62 |
-
msgid "Cached pages timeout"
|
63 |
-
msgstr "缓存页面到期时间"
|
64 |
-
|
65 |
-
#: options.php:157
|
66 |
-
msgid "minutes"
|
67 |
-
msgstr "分钟"
|
68 |
-
|
69 |
-
#: options.php:159
|
70 |
-
msgid "Minutes a cached page is valid and served to users. A zero value means a cached page is valid forever."
|
71 |
-
msgstr "在设定时间内的缓存页面都是有效的,并且提供给用户端使用,数值设为 0 表示缓存的页面永远都不会到期。"
|
72 |
-
|
73 |
-
#: options.php:161
|
74 |
-
msgid "If a cached page is older than specified value (expired) it is no more used and will be regenerated on next request of it."
|
75 |
-
msgstr "如果缓存的页面已经比指定的数值更久(已过期)就不会再继续使用,并且会再重新产生下一个请求的缓存页面。"
|
76 |
-
|
77 |
-
#: options.php:163
|
78 |
-
msgid "720 minutes is half a day, 1440 is a full day and so on."
|
79 |
-
msgstr "720 分钟是半天,1440 分钟是一整天,其它以此类推。"
|
80 |
-
|
81 |
-
#: options.php:169
|
82 |
-
msgid "Cache invalidation mode"
|
83 |
-
msgstr "缓存「失效」模式"
|
84 |
-
|
85 |
-
#: options.php:172
|
86 |
-
msgid "All cached pages"
|
87 |
-
msgstr "所有已缓存页面"
|
88 |
-
|
89 |
-
#: options.php:173
|
90 |
-
msgid "Only modified posts"
|
91 |
-
msgstr "只有修改后的文章"
|
92 |
-
|
93 |
-
#: options.php:174
|
94 |
-
msgid "Only modified pages"
|
95 |
-
msgstr "只有修改后的页面"
|
96 |
-
|
97 |
-
#: options.php:175
|
98 |
-
msgid "Nothing"
|
99 |
-
msgstr "无"
|
100 |
-
|
101 |
-
#: options.php:179
|
102 |
-
msgid "Invalidate home, archives, categories on single post invalidation"
|
103 |
-
msgstr "只要有单一文章「失效」,就将首页、汇整、分类也一起「失效」。"
|
104 |
-
|
105 |
-
#: options.php:182
|
106 |
-
msgid "\"Invalidation\" is the process of deleting cached pages when they are no more valid."
|
107 |
-
msgstr "「失效」指的是当缓存的页面不再有效时删除它们的程序。"
|
108 |
-
|
109 |
-
#: options.php:183
|
110 |
-
msgid "Invalidation process is started when blog contents are modified (new post, post update, new comment,...) so one or more cached pages need to be refreshed to get that new content."
|
111 |
-
msgstr "当博客内容被修改时(新增文章、文章更新、新增评论 ... )「失效」的程序就会启动,因此一个或多个缓存页面需要更新以获得新的内容。"
|
112 |
-
|
113 |
-
#: options.php:185
|
114 |
-
msgid "A new comment submission or a comment moderation is considered like a post modification where the post is the one the comment is relative to."
|
115 |
-
msgstr "新的评论提交或评论审核通过时,也跟文章经过修改是一样的(内文是文章的一部分,而评论则与内文互相对应)。"
|
116 |
-
|
117 |
-
#: options.php:192
|
118 |
-
msgid "Disable cache for commenters"
|
119 |
-
msgstr "禁用评论的缓存"
|
120 |
-
|
121 |
-
#: options.php:196
|
122 |
-
msgid "When users leave comments, WordPress show pages with their comments even if in moderation (and not visible to others) and pre-fills the comment form."
|
123 |
-
msgstr "当用户发表评论时,即使评论还在审核中(而且其他人不可见),WordPress 也会先预填评论表格,将他们的留言显示到页面上。"
|
124 |
-
|
125 |
-
#: options.php:198
|
126 |
-
msgid "If you want to keep those features, enable this option."
|
127 |
-
msgstr "如果你想要保留这些功能,请激活这个选项。"
|
128 |
-
|
129 |
-
#: options.php:199
|
130 |
-
msgid "The caching system will be less efficient but the blog more usable."
|
131 |
-
msgstr "这样做会降低缓存系统的效率,但博客会更便于使用。"
|
132 |
-
|
133 |
-
#: options.php:206
|
134 |
-
msgid "Feeds caching"
|
135 |
-
msgstr "RSS 缓存"
|
136 |
-
|
137 |
-
#: options.php:210
|
138 |
-
msgid "When enabled the blog feeds will be cache as well."
|
139 |
-
msgstr "当激活后博客的 RSS 也会被缓存。"
|
140 |
-
|
141 |
-
#: options.php:211
|
142 |
-
msgid "Usually this options has to be left unchecked but if your blog is rather static, you can enable it and have a bit more efficiency"
|
143 |
-
msgstr "通常这个选项必定是不勾选,不过如果你的博客是比较静态的,你可以激活它来获得一些效率提升。"
|
144 |
-
|
145 |
-
#: options.php:218
|
146 |
-
#: options.php:256
|
147 |
-
#: options.php:297
|
148 |
-
#: options.php:449
|
149 |
-
msgid "Update"
|
150 |
-
msgstr "更新"
|
151 |
-
|
152 |
-
#: options.php:221
|
153 |
-
msgid "Configuration for mobile devices"
|
154 |
-
msgstr "手机配置"
|
155 |
-
|
156 |
-
#: options.php:224
|
157 |
-
msgid "WordPress Mobile Pack"
|
158 |
-
msgstr "WordPress Mobile Pack"
|
159 |
-
|
160 |
-
#: options.php:228
|
161 |
-
msgid "Enbale integration with <a href=\"http://wordpress.org/extend/plugins/wordpress-mobile-pack/\">WordPress Mobile Pack</a> plugin. If you have that plugin, Hyper Cache use it to detect mobile devices and caches saparately the different pages generated."
|
162 |
-
msgstr "激活后会整合 <a href=\"http://wordpress.org/extend/plugins/wordpress-mobile-pack/\">WordPress Mobile Pack</a> 插件。如果你有使用这插件,Hyper Cache 会利用它来检测手机,并且在不同页面产生时个别缓存。"
|
163 |
-
|
164 |
-
#: options.php:234
|
165 |
-
msgid "Detect mobile devices"
|
166 |
-
msgstr "侦测手机"
|
167 |
-
|
168 |
-
#: options.php:238
|
169 |
-
msgid "When enabled mobile devices will be detected and the cached page stored under different name."
|
170 |
-
msgstr "当激活时,手机将会侦测并且将缓存页面存到不同的名称底下。"
|
171 |
-
|
172 |
-
#: options.php:239
|
173 |
-
msgid "This makes blogs with different themes for mobile devices to work correctly."
|
174 |
-
msgstr "这让那些使用手机访问时会采用不同布景主题的博客也能够正常工作。"
|
175 |
-
|
176 |
-
#: options.php:245
|
177 |
-
msgid "Mobile agent list"
|
178 |
-
msgstr "行动代理商清单"
|
179 |
-
|
180 |
-
#: options.php:249
|
181 |
-
msgid "One per line mobile agents to check for when a page is requested."
|
182 |
-
msgstr "当请求页面时,会逐行检查每一个行动代理商。"
|
183 |
-
|
184 |
-
#: options.php:250
|
185 |
-
msgid "The mobile agent string is matched against the agent a device is sending to the server."
|
186 |
-
msgstr "行动代理商的字串符合时,会将相对的代理商装置传送到服务器。"
|
187 |
-
|
188 |
-
#: options.php:260
|
189 |
-
msgid "Compression"
|
190 |
-
msgstr "压缩"
|
191 |
-
|
192 |
-
#: options.php:264
|
193 |
-
msgid "Your hosting space has not the \"gzencode\" or \"gzinflate\" function, so no compression options are available."
|
194 |
-
msgstr "你的 Host 主机没有「gzencode」或「gzinflate」功能,所以没有可以使用的压缩选项。"
|
195 |
-
|
196 |
-
#: options.php:270
|
197 |
-
msgid "Enable compression"
|
198 |
-
msgstr "激活压缩"
|
199 |
-
|
200 |
-
#: options.php:274
|
201 |
-
msgid "When possible the page will be sent compressed to save bandwidth."
|
202 |
-
msgstr "当选项可用时,会进行页面压缩以节省带宽。"
|
203 |
-
|
204 |
-
#: options.php:275
|
205 |
-
msgid "Only the textual part of a page can be compressed, not images, so a photo blog will consume a lot of bandwidth even with compression enabled."
|
206 |
-
msgstr "只有页面的文字部分可以被压缩而不是图片,因此以照片为主的博客即使激活压缩,也还是会消耗大量带宽。"
|
207 |
-
|
208 |
-
#: options.php:277
|
209 |
-
#: options.php:291
|
210 |
-
msgid "Leave the options disabled if you note malfunctions, like blank pages."
|
211 |
-
msgstr "如果你很在意会发生故障(如空白页)的话,请保留此选项禁用。"
|
212 |
-
|
213 |
-
#: options.php:279
|
214 |
-
msgid "If you enable this option, the option below will be enabled as well."
|
215 |
-
msgstr "如果你激活这选项,底下的选项也同样会激活。"
|
216 |
-
|
217 |
-
#: options.php:285
|
218 |
-
msgid "Disk space usage"
|
219 |
-
msgstr "硬盘空间使用情况"
|
220 |
-
|
221 |
-
#: options.php:289
|
222 |
-
msgid "Enable this option to minimize disk space usage."
|
223 |
-
msgstr "激活此选项来最大限度地减少硬盘空间使用情况,"
|
224 |
-
|
225 |
-
#: options.php:290
|
226 |
-
msgid "The cache will be a little less performant."
|
227 |
-
msgstr "会稍微减少一些缓存的性能。"
|
228 |
-
|
229 |
-
#: options.php:302
|
230 |
-
msgid "Advanced options"
|
231 |
-
msgstr "进阶选项"
|
232 |
-
|
233 |
-
#: options.php:306
|
234 |
-
msgid "Translation"
|
235 |
-
msgstr "翻译"
|
236 |
-
|
237 |
-
#: options.php:310
|
238 |
-
msgid "DO NOT show this panel translated."
|
239 |
-
msgstr "不显示 Hyper Cache 选项面板的翻译。"
|
240 |
-
|
241 |
-
#: options.php:316
|
242 |
-
msgid "Disable Last-Modified header"
|
243 |
-
msgstr "禁用「页首 Last-Modified」"
|
244 |
-
|
245 |
-
#: options.php:320
|
246 |
-
msgid "Disable some HTTP headers (Last-Modified) which improve performances but some one is reporting they create problems which some hosting configurations."
|
247 |
-
msgstr "禁用一些 HTTP 页首属性(Last-Modified)可以增进效能,不过有些人反映说一些 Host 主机商的配置会产生问题。"
|
248 |
-
|
249 |
-
#: options.php:326
|
250 |
-
msgid "Home caching"
|
251 |
-
msgstr "「首页」缓存"
|
252 |
-
|
253 |
-
#: options.php:330
|
254 |
-
msgid "DO NOT cache the home page so it is always fresh."
|
255 |
-
msgstr "不缓存首页,因此首页总是保持最新状态。"
|
256 |
-
|
257 |
-
#: options.php:336
|
258 |
-
msgid "Redirect caching"
|
259 |
-
msgstr "「重定向」缓存"
|
260 |
-
|
261 |
-
#: options.php:340
|
262 |
-
msgid "Cache WordPress redirects."
|
263 |
-
msgstr "缓存 WordPress 的重定向。"
|
264 |
-
|
265 |
-
#: options.php:341
|
266 |
-
msgid "WordPress sometime sends back redirects that can be cached to avoid further processing time."
|
267 |
-
msgstr "WordPress 有时会回传重定向,可以把这里缓存以避免增加处理的时间。"
|
268 |
-
|
269 |
-
#: options.php:346
|
270 |
-
msgid "Page not found caching (HTTP 404)"
|
271 |
-
msgstr "「找不到网页」缓存 (404 错误)"
|
272 |
-
|
273 |
-
#: options.php:353
|
274 |
-
msgid "Strip query string"
|
275 |
-
msgstr "从查询字串中删除不必要内容"
|
276 |
-
|
277 |
-
#: options.php:357
|
278 |
-
msgid "This is a really special case, usually you have to kept it disabled. When enabled, URL with query string will be reduced removing the query string. So the URL http://www.domain.com/post-title and http://www.domain.com/post-title?a=b&c=d are cached as a single page.<br />Setting this option disable the next one."
|
279 |
-
msgstr "这是一个非常特殊的情况,通常你必须保持选项禁用。当激活后,带有查询字串的网址将会缩减和移除查询字串。因此网址例如「http://www.domain.com/post-title」和「http://www.domain.com/post-title?a=b&c=d」都会缓存到同一个页面。<br />设定(激活)这个选项时要禁用下一个选项。"
|
280 |
-
|
281 |
-
#: options.php:362
|
282 |
-
msgid "<strong>Many plugins can stop to work correctly with this option enabled (eg. my <a href=\"http://www.satollo.net/plugins/newsletter\">Newsletter plugin</a>)</strong>"
|
283 |
-
msgstr "<strong>激活这个选项可能会阻挡许多插件的正确运作(例如:我的 <a href=\"http://www.satollo.net/plugins/newsletter\">Newsletter 插件</a>)。</strong>"
|
284 |
-
|
285 |
-
#: options.php:369
|
286 |
-
msgid "URL with parameters"
|
287 |
-
msgstr "带参数的网址"
|
288 |
-
|
289 |
-
#: options.php:373
|
290 |
-
msgid "Cache requests with query string (parameters)."
|
291 |
-
msgstr "带有查询字串(参数)的缓存请求。"
|
292 |
-
|
293 |
-
#: options.php:374
|
294 |
-
msgid "This option has to be enabled for blogs which have post URLs with a question mark on them."
|
295 |
-
msgstr "对于那些文章网址上面带有问号的博客,激活这个选项是必要的。"
|
296 |
-
|
297 |
-
#: options.php:375
|
298 |
-
msgid "This option is disabled by default because there is plugins which use URL parameter to perform specific action that cannot be cached"
|
299 |
-
msgstr "这个选项预设为禁用,因为有一些插件使用网址参数来执行无法被缓存的特殊操作。"
|
300 |
-
|
301 |
-
#: options.php:377
|
302 |
-
msgid "For who is using search engines friendly permalink format is safe to leave this option disabled, no performances will be lost."
|
303 |
-
msgstr "对于那些使用对搜寻引擎友好的固定网址格式的人来说,禁用这个选项是无害的,不会有效能上的任何损失。"
|
304 |
-
|
305 |
-
#: options.php:385
|
306 |
-
msgid "Filters"
|
307 |
-
msgstr "过滤"
|
308 |
-
|
309 |
-
#: options.php:387
|
310 |
-
msgid "Here you can: exclude pages and posts from the cache, specifying their address (URI); disable Hyper Cache for specific User Agents (browsers, bot, mobile devices, ...); disable the cache for users that have specific cookies."
|
311 |
-
msgstr "这里你可以:经由指定位址(URI),从缓存中排除这些页面和文章;对特定的「用户代理」禁用 Hyper Cache(浏览器、机器人、手机 ... );对那些有特定 Cookie 的用户禁用缓存。"
|
312 |
-
|
313 |
-
#: options.php:392
|
314 |
-
msgid "URI to reject"
|
315 |
-
msgstr "拒绝的位址"
|
316 |
-
|
317 |
-
#: options.php:396
|
318 |
-
msgid "Write one URI per line, each URI has to start with a slash."
|
319 |
-
msgstr "每行写一个位址,每个位址必须以斜线开头(例如 /video/my-new-performance)。"
|
320 |
-
|
321 |
-
#: options.php:397
|
322 |
-
msgid "A specified URI will match the requested URI if the latter starts with the former."
|
323 |
-
msgstr "如果请求的位址是以上面这些指定的「拒绝的位址」开头,就从缓存中排除这些位址。"
|
324 |
-
|
325 |
-
#: options.php:398
|
326 |
-
msgid "If you want to specify a stric matching, surround the URI with double quotes."
|
327 |
-
msgstr "如果你想指定一个比较严谨的符合,请在位址前后加上双引号。"
|
328 |
-
|
329 |
-
#: options.php:418
|
330 |
-
msgid "Agents to reject"
|
331 |
-
msgstr "拒绝的代理"
|
332 |
-
|
333 |
-
#: options.php:422
|
334 |
-
msgid "Write one agent per line."
|
335 |
-
msgstr "每行写一个代理。"
|
336 |
-
|
337 |
-
#: options.php:423
|
338 |
-
msgid "A specified agent will match the client agent if the latter contains the former. The matching is case insensitive."
|
339 |
-
msgstr "如果代理用户端(User-Agent)包含在上面这些指定的「拒绝的代理」里面,就禁用缓存 。(名称不分大小写)"
|
340 |
-
|
341 |
-
#: options.php:429
|
342 |
-
msgid "Cookies matching"
|
343 |
-
msgstr "符合的 Cookies"
|
344 |
-
|
345 |
-
#: options.php:433
|
346 |
-
msgid "Write one cookie name per line."
|
347 |
-
msgstr "每行写一个 Cookie 的名称。"
|
348 |
-
|
349 |
-
#: options.php:434
|
350 |
-
msgid "When a specified cookie will match one of the cookie names sent bby the client the cache stops."
|
351 |
-
msgstr "当用户的 Cookie 符合上面这些指定的 Cookie 名称其中之一时,就会停止对用户端的缓存。"
|
352 |
-
|
353 |
-
#: options.php:437
|
354 |
-
msgid "It seems you have Facebook Connect plugin installed. Add this cookie name to make it works with Hyper Cache:"
|
355 |
-
msgstr "你似乎有安装 Facebook Connect 插件,新增这个 Cookie 名称让 Hyper Cache 能够正常运作:"
|
356 |
-
|
357 |
-
#. Description of the plugin/theme
|
358 |
-
msgid "Hyper Cache is a cache system for WordPress to improve it's perfomances and save resources. <a href=\"http://www.satollo.net/plugins/hyper-cache\" target=\"_blank\">Hyper Cache official page</a>. To manually upgrade remember the sequence: deactivate, update, reactivate."
|
359 |
-
msgstr "Hyper Cache 是用来提升 WordPress 效能以及节省系统资源的缓存系统。<a href=\"http://www.satollo.net/plugins/hyper-cache\" target=\"_blank\">Hyper Cache 官方网页</a>,手动升级请记得这些顺序:禁用、更新、激活。|简体中文语系:<a href=\"http://ragnarok.3dsydesign.com/\" target=\"_blank\">Ragnarok</a>|教学:<a href=\"http://ragnarok.3dsydesign.com/38/hyper-cache/\" target=\"_blank\">Hyper Cache 教学</a>"
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hyper-cache-zh_TW.mo
DELETED
Binary file
|
hyper-cache-zh_TW.po
DELETED
@@ -1,360 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Hyper Cache v2.8.8\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2012-03-25 12:00+0800\n"
|
6 |
-
"PO-Revision-Date: 2012-03-28 18:08+0800\n"
|
7 |
-
"Last-Translator: Tommy Tung\n"
|
8 |
-
"Language-Team: Ragnarok | ragnarok.3dsydesign.com <ragnarok@3dsydesign.com>\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2\n"
|
13 |
-
"X-Poedit-Language: Chinese\n"
|
14 |
-
"X-Poedit-Country: TAIWAN\n"
|
15 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
-
|
17 |
-
#: options.php:92
|
18 |
-
msgid "You must add to the file wp-config.php (at its beginning after the <?php) the line of code: <code>define('WP_CACHE', true);</code>."
|
19 |
-
msgstr "你必須在「wp-config.php」檔案裡面新增這行程式碼:<code>define('WP_CACHE', true);</code>(要寫在 <?php 之後)。"
|
20 |
-
|
21 |
-
#: options.php:103
|
22 |
-
msgid "<p><strong>Options saved BUT not active because Hyper Cache was not able to update the file wp-content/advanced-cache.php (is it writable?).</strong></p>"
|
23 |
-
msgstr "<p><strong>選項已儲存但是無法有效啟用,因為 Hyper Cache 無法更新「wp-content/advanced-cache.php」這檔案(檔案是否能夠寫入?)。</strong></p>"
|
24 |
-
|
25 |
-
#: options.php:109
|
26 |
-
msgid "<p><strong>Hyper Cache was not able to create the folder \"wp-content/cache/hyper-cache\". Make it manually setting permissions to 777.</strong></p>"
|
27 |
-
msgstr "<p><strong>Hyper Cache 無法建立「wp-content/cache/hyper-cache」資料夾,請手動設定資料夾權限為 777。</strong></p>"
|
28 |
-
|
29 |
-
#: options.php:114
|
30 |
-
msgid "You can find more details about configurations and working mode on <a href=\"%s\">Hyper Cache official page</a>."
|
31 |
-
msgstr "你可以在 <a href=\"%s\">Hyper Cache 官方網頁</a> 找到更多關於配置以及工作模式的細節。繁體中文語系由 <a href=\"http://ragnarok.3dsydesign.com/\" target=\"_blank\">Ragnarok</a> 翻譯而成,你也可以參考 Ragnarok 的 <a href=\"http://ragnarok.3dsydesign.com/38/hyper-cache/\" target=\"_blank\">Hyper Cache 教學</a> 。"
|
32 |
-
|
33 |
-
#: options.php:123
|
34 |
-
msgid "Clear cache"
|
35 |
-
msgstr "清除快取"
|
36 |
-
|
37 |
-
#: options.php:126
|
38 |
-
msgid "Cache status"
|
39 |
-
msgstr "快取狀態"
|
40 |
-
|
41 |
-
#: options.php:129
|
42 |
-
msgid "Files in cache (valid and expired)"
|
43 |
-
msgstr "快取的檔案數(有效期限內)"
|
44 |
-
|
45 |
-
#: options.php:133
|
46 |
-
msgid "Cleaning process"
|
47 |
-
msgstr "清除過程"
|
48 |
-
|
49 |
-
#: options.php:135
|
50 |
-
msgid "Next run on: "
|
51 |
-
msgstr "下次執行時間於:"
|
52 |
-
|
53 |
-
#: options.php:142
|
54 |
-
msgid "The cleaning process runs hourly and it's ok to run it hourly: that grant you an efficient cache. If above there is not a valid next run time, wait 10 seconds and reenter this panel. If nothing change, try to deactivate and reactivate Hyper Cache."
|
55 |
-
msgstr "清除過程會頻繁的進行,而且讓清除動作時時進行是很不錯的,可以帶給你更高效率的快取。如果上面沒有顯示有效的下次執行時間,請等待 10 秒鐘再重新進入這個面板。如果還是沒有任何變化,請試著停用並重新啟用 Hyper Cache。"
|
56 |
-
|
57 |
-
#: options.php:149
|
58 |
-
msgid "Configuration"
|
59 |
-
msgstr "配置"
|
60 |
-
|
61 |
-
#: options.php:154
|
62 |
-
msgid "Cached pages timeout"
|
63 |
-
msgstr "快取頁面到期時間"
|
64 |
-
|
65 |
-
#: options.php:157
|
66 |
-
msgid "minutes"
|
67 |
-
msgstr "分鐘"
|
68 |
-
|
69 |
-
#: options.php:159
|
70 |
-
msgid "Minutes a cached page is valid and served to users. A zero value means a cached page is valid forever."
|
71 |
-
msgstr "在設定時間內的快取頁面都是有效的,並且提供給客戶端使用,數值設為 0 表示快取的頁面永遠都不會到期。"
|
72 |
-
|
73 |
-
#: options.php:161
|
74 |
-
msgid "If a cached page is older than specified value (expired) it is no more used and will be regenerated on next request of it."
|
75 |
-
msgstr "如果快取的頁面已經比指定的數值更久(已過期)就不會再繼續使用,並且會再重新產生下一個請求的快取頁面。"
|
76 |
-
|
77 |
-
#: options.php:163
|
78 |
-
msgid "720 minutes is half a day, 1440 is a full day and so on."
|
79 |
-
msgstr "720 分鐘是半天,1440 分鐘是一整天,其它以此類推。"
|
80 |
-
|
81 |
-
#: options.php:169
|
82 |
-
msgid "Cache invalidation mode"
|
83 |
-
msgstr "快取「失效」模式"
|
84 |
-
|
85 |
-
#: options.php:172
|
86 |
-
msgid "All cached pages"
|
87 |
-
msgstr "所有已快取頁面"
|
88 |
-
|
89 |
-
#: options.php:173
|
90 |
-
msgid "Only modified posts"
|
91 |
-
msgstr "只有修改後的文章"
|
92 |
-
|
93 |
-
#: options.php:174
|
94 |
-
msgid "Only modified pages"
|
95 |
-
msgstr "只有修改後的頁面"
|
96 |
-
|
97 |
-
#: options.php:175
|
98 |
-
msgid "Nothing"
|
99 |
-
msgstr "無"
|
100 |
-
|
101 |
-
#: options.php:179
|
102 |
-
msgid "Invalidate home, archives, categories on single post invalidation"
|
103 |
-
msgstr "只要有單一文章「失效」,就將首頁、彙整、分類也一起「失效」。"
|
104 |
-
|
105 |
-
#: options.php:182
|
106 |
-
msgid "\"Invalidation\" is the process of deleting cached pages when they are no more valid."
|
107 |
-
msgstr "「失效」指的是當快取的頁面不再有效時刪除它們的程序。"
|
108 |
-
|
109 |
-
#: options.php:183
|
110 |
-
msgid "Invalidation process is started when blog contents are modified (new post, post update, new comment,...) so one or more cached pages need to be refreshed to get that new content."
|
111 |
-
msgstr "當部落格內容被修改時(新增文章、文章更新、新增迴響 ... )「失效」的程序就會啟動,因此一個或多個快取頁面需要重新整理以獲得新的內容。"
|
112 |
-
|
113 |
-
#: options.php:185
|
114 |
-
msgid "A new comment submission or a comment moderation is considered like a post modification where the post is the one the comment is relative to."
|
115 |
-
msgstr "新的迴響提交或迴響審核通過時,也跟文章經過修改是一樣的(內文是文章的一部分,而迴響則與內文互相對應)。"
|
116 |
-
|
117 |
-
#: options.php:192
|
118 |
-
msgid "Disable cache for commenters"
|
119 |
-
msgstr "停用迴響的快取"
|
120 |
-
|
121 |
-
#: options.php:196
|
122 |
-
msgid "When users leave comments, WordPress show pages with their comments even if in moderation (and not visible to others) and pre-fills the comment form."
|
123 |
-
msgstr "當使用者發表迴響時,即使迴響還在審核中(而且其他人不可見),WordPress 也會先預填迴響表格,將他們的留言顯示到頁面上。"
|
124 |
-
|
125 |
-
#: options.php:198
|
126 |
-
msgid "If you want to keep those features, enable this option."
|
127 |
-
msgstr "如果你想要保留這些功能,請啟用這個選項。"
|
128 |
-
|
129 |
-
#: options.php:199
|
130 |
-
msgid "The caching system will be less efficient but the blog more usable."
|
131 |
-
msgstr "這樣做會降低快取系統的效率,但部落格會更便於使用。"
|
132 |
-
|
133 |
-
#: options.php:206
|
134 |
-
msgid "Feeds caching"
|
135 |
-
msgstr "RSS 快取"
|
136 |
-
|
137 |
-
#: options.php:210
|
138 |
-
msgid "When enabled the blog feeds will be cache as well."
|
139 |
-
msgstr "當啟用後部落格的 RSS 也會被快取。"
|
140 |
-
|
141 |
-
#: options.php:211
|
142 |
-
msgid "Usually this options has to be left unchecked but if your blog is rather static, you can enable it and have a bit more efficiency"
|
143 |
-
msgstr "通常這個選項必定是不勾選,不過如果你的部落格是比較靜態的,你可以啟用它來獲得一些效率提升。"
|
144 |
-
|
145 |
-
#: options.php:218
|
146 |
-
#: options.php:256
|
147 |
-
#: options.php:297
|
148 |
-
#: options.php:449
|
149 |
-
msgid "Update"
|
150 |
-
msgstr "更新"
|
151 |
-
|
152 |
-
#: options.php:221
|
153 |
-
msgid "Configuration for mobile devices"
|
154 |
-
msgstr "行動裝置配置"
|
155 |
-
|
156 |
-
#: options.php:224
|
157 |
-
msgid "WordPress Mobile Pack"
|
158 |
-
msgstr "WordPress Mobile Pack"
|
159 |
-
|
160 |
-
#: options.php:228
|
161 |
-
msgid "Enbale integration with <a href=\"http://wordpress.org/extend/plugins/wordpress-mobile-pack/\">WordPress Mobile Pack</a> plugin. If you have that plugin, Hyper Cache use it to detect mobile devices and caches saparately the different pages generated."
|
162 |
-
msgstr "啟用後會整合 <a href=\"http://wordpress.org/extend/plugins/wordpress-mobile-pack/\">WordPress Mobile Pack</a> 外掛。如果你有使用這外掛,Hyper Cache 會利用它來檢測行動裝置,並且在不同頁面產生時個別快取。"
|
163 |
-
|
164 |
-
#: options.php:234
|
165 |
-
msgid "Detect mobile devices"
|
166 |
-
msgstr "偵測行動裝置"
|
167 |
-
|
168 |
-
#: options.php:238
|
169 |
-
msgid "When enabled mobile devices will be detected and the cached page stored under different name."
|
170 |
-
msgstr "當啟用時,行動裝置將會偵測並且將快取頁面存到不同的名稱底下。"
|
171 |
-
|
172 |
-
#: options.php:239
|
173 |
-
msgid "This makes blogs with different themes for mobile devices to work correctly."
|
174 |
-
msgstr "這讓那些使用行動裝置訪問時會採用不同佈景主題的部落格也能夠正常工作。"
|
175 |
-
|
176 |
-
#: options.php:245
|
177 |
-
msgid "Mobile agent list"
|
178 |
-
msgstr "行動代理商清單"
|
179 |
-
|
180 |
-
#: options.php:249
|
181 |
-
msgid "One per line mobile agents to check for when a page is requested."
|
182 |
-
msgstr "當請求頁面時,會逐行檢查每一個行動代理商。"
|
183 |
-
|
184 |
-
#: options.php:250
|
185 |
-
msgid "The mobile agent string is matched against the agent a device is sending to the server."
|
186 |
-
msgstr "行動代理商的字串符合時,會將相對的代理商裝置傳送到伺服器。"
|
187 |
-
|
188 |
-
#: options.php:260
|
189 |
-
msgid "Compression"
|
190 |
-
msgstr "壓縮"
|
191 |
-
|
192 |
-
#: options.php:264
|
193 |
-
msgid "Your hosting space has not the \"gzencode\" or \"gzinflate\" function, so no compression options are available."
|
194 |
-
msgstr "你的 Host 主機沒有「gzencode」或「gzinflate」功能,所以沒有可以使用的壓縮選項。"
|
195 |
-
|
196 |
-
#: options.php:270
|
197 |
-
msgid "Enable compression"
|
198 |
-
msgstr "啟用壓縮"
|
199 |
-
|
200 |
-
#: options.php:274
|
201 |
-
msgid "When possible the page will be sent compressed to save bandwidth."
|
202 |
-
msgstr "當選項可用時,會進行頁面壓縮以節省頻寬。"
|
203 |
-
|
204 |
-
#: options.php:275
|
205 |
-
msgid "Only the textual part of a page can be compressed, not images, so a photo blog will consume a lot of bandwidth even with compression enabled."
|
206 |
-
msgstr "只有頁面的文字部分可以被壓縮而不是圖片,因此以照片為主的部落格即使啟用壓縮,也還是會消耗大量頻寬。"
|
207 |
-
|
208 |
-
#: options.php:277
|
209 |
-
#: options.php:291
|
210 |
-
msgid "Leave the options disabled if you note malfunctions, like blank pages."
|
211 |
-
msgstr "如果你很在意會發生故障(如空白頁)的話,請保留此選項停用。"
|
212 |
-
|
213 |
-
#: options.php:279
|
214 |
-
msgid "If you enable this option, the option below will be enabled as well."
|
215 |
-
msgstr "如果你啟用這選項,底下的選項也同樣會啟用。"
|
216 |
-
|
217 |
-
#: options.php:285
|
218 |
-
msgid "Disk space usage"
|
219 |
-
msgstr "磁碟空間使用情況"
|
220 |
-
|
221 |
-
#: options.php:289
|
222 |
-
msgid "Enable this option to minimize disk space usage."
|
223 |
-
msgstr "啟用此選項來最大限度地減少磁碟空間使用情況,"
|
224 |
-
|
225 |
-
#: options.php:290
|
226 |
-
msgid "The cache will be a little less performant."
|
227 |
-
msgstr "會稍微減少一些快取的性能。"
|
228 |
-
|
229 |
-
#: options.php:302
|
230 |
-
msgid "Advanced options"
|
231 |
-
msgstr "進階選項"
|
232 |
-
|
233 |
-
#: options.php:306
|
234 |
-
msgid "Translation"
|
235 |
-
msgstr "翻譯"
|
236 |
-
|
237 |
-
#: options.php:310
|
238 |
-
msgid "DO NOT show this panel translated."
|
239 |
-
msgstr "不顯示 Hyper Cache 選項面板的翻譯。"
|
240 |
-
|
241 |
-
#: options.php:316
|
242 |
-
msgid "Disable Last-Modified header"
|
243 |
-
msgstr "停用「頁首 Last-Modified」"
|
244 |
-
|
245 |
-
#: options.php:320
|
246 |
-
msgid "Disable some HTTP headers (Last-Modified) which improve performances but some one is reporting they create problems which some hosting configurations."
|
247 |
-
msgstr "停用一些 HTTP 頁首屬性(Last-Modified)可以增進效能,不過有些人反映說一些 Host 主機商的配置會產生問題。"
|
248 |
-
|
249 |
-
#: options.php:326
|
250 |
-
msgid "Home caching"
|
251 |
-
msgstr "「首頁」快取"
|
252 |
-
|
253 |
-
#: options.php:330
|
254 |
-
msgid "DO NOT cache the home page so it is always fresh."
|
255 |
-
msgstr "不快取首頁,因此首頁總是保持最新狀態。"
|
256 |
-
|
257 |
-
#: options.php:336
|
258 |
-
msgid "Redirect caching"
|
259 |
-
msgstr "「重定向」快取"
|
260 |
-
|
261 |
-
#: options.php:340
|
262 |
-
msgid "Cache WordPress redirects."
|
263 |
-
msgstr "快取 WordPress 的重定向。"
|
264 |
-
|
265 |
-
#: options.php:341
|
266 |
-
msgid "WordPress sometime sends back redirects that can be cached to avoid further processing time."
|
267 |
-
msgstr "WordPress 有時會回傳重定向,可以把這裡快取以避免增加處理的時間。"
|
268 |
-
|
269 |
-
#: options.php:346
|
270 |
-
msgid "Page not found caching (HTTP 404)"
|
271 |
-
msgstr "「找不到網頁」快取 (404 錯誤)"
|
272 |
-
|
273 |
-
#: options.php:353
|
274 |
-
msgid "Strip query string"
|
275 |
-
msgstr "從查詢字串中刪除不必要內容"
|
276 |
-
|
277 |
-
#: options.php:357
|
278 |
-
msgid "This is a really special case, usually you have to kept it disabled. When enabled, URL with query string will be reduced removing the query string. So the URL http://www.domain.com/post-title and http://www.domain.com/post-title?a=b&c=d are cached as a single page.<br />Setting this option disable the next one."
|
279 |
-
msgstr "這是一個非常特殊的情況,通常你必須保持選項停用。當啟用後,帶有查詢字串的網址將會縮減和移除查詢字串。因此網址例如「http://www.domain.com/post-title」和「http://www.domain.com/post-title?a=b&c=d」都會快取到同一個頁面。<br />設定(啟用)這個選項時要停用下一個選項。"
|
280 |
-
|
281 |
-
#: options.php:362
|
282 |
-
msgid "<strong>Many plugins can stop to work correctly with this option enabled (eg. my <a href=\"http://www.satollo.net/plugins/newsletter\">Newsletter plugin</a>)</strong>"
|
283 |
-
msgstr "<strong>啟用這個選項可能會阻擋許多外掛的正確運作(例如:我的 <a href=\"http://www.satollo.net/plugins/newsletter\">Newsletter 外掛</a>)。</strong>"
|
284 |
-
|
285 |
-
#: options.php:369
|
286 |
-
msgid "URL with parameters"
|
287 |
-
msgstr "帶參數的網址"
|
288 |
-
|
289 |
-
#: options.php:373
|
290 |
-
msgid "Cache requests with query string (parameters)."
|
291 |
-
msgstr "帶有查詢字串(參數)的快取請求。"
|
292 |
-
|
293 |
-
#: options.php:374
|
294 |
-
msgid "This option has to be enabled for blogs which have post URLs with a question mark on them."
|
295 |
-
msgstr "對於那些文章網址上面帶有問號的部落格,啟用這個選項是必要的。"
|
296 |
-
|
297 |
-
#: options.php:375
|
298 |
-
msgid "This option is disabled by default because there is plugins which use URL parameter to perform specific action that cannot be cached"
|
299 |
-
msgstr "這個選項預設為停用,因為有一些外掛使用網址參數來執行無法被快取的特殊操作。"
|
300 |
-
|
301 |
-
#: options.php:377
|
302 |
-
msgid "For who is using search engines friendly permalink format is safe to leave this option disabled, no performances will be lost."
|
303 |
-
msgstr "對於那些使用對搜尋引擎友好的固定網址格式的人來說,停用這個選項是無害的,不會有效能上的任何損失。"
|
304 |
-
|
305 |
-
#: options.php:385
|
306 |
-
msgid "Filters"
|
307 |
-
msgstr "過濾"
|
308 |
-
|
309 |
-
#: options.php:387
|
310 |
-
msgid "Here you can: exclude pages and posts from the cache, specifying their address (URI); disable Hyper Cache for specific User Agents (browsers, bot, mobile devices, ...); disable the cache for users that have specific cookies."
|
311 |
-
msgstr "這裡你可以:經由指定位址(URI),從快取中排除這些頁面和文章;對特定的「使用者代理」停用 Hyper Cache(瀏覽器、機器人、行動裝置 ... );對那些有特定 Cookie 的使用者停用快取。"
|
312 |
-
|
313 |
-
#: options.php:392
|
314 |
-
msgid "URI to reject"
|
315 |
-
msgstr "拒絕的位址"
|
316 |
-
|
317 |
-
#: options.php:396
|
318 |
-
msgid "Write one URI per line, each URI has to start with a slash."
|
319 |
-
msgstr "每行寫一個位址,每個位址必須以斜線開頭(例如 /video/my-new-performance)。"
|
320 |
-
|
321 |
-
#: options.php:397
|
322 |
-
msgid "A specified URI will match the requested URI if the latter starts with the former."
|
323 |
-
msgstr "如果請求的位址是以上面這些指定的「拒絕的位址」開頭,就從快取中排除這些位址。"
|
324 |
-
|
325 |
-
#: options.php:398
|
326 |
-
msgid "If you want to specify a stric matching, surround the URI with double quotes."
|
327 |
-
msgstr "如果你想指定一個比較嚴謹的符合,請在位址前後加上雙引號。"
|
328 |
-
|
329 |
-
#: options.php:418
|
330 |
-
msgid "Agents to reject"
|
331 |
-
msgstr "拒絕的代理"
|
332 |
-
|
333 |
-
#: options.php:422
|
334 |
-
msgid "Write one agent per line."
|
335 |
-
msgstr "每行寫一個代理。"
|
336 |
-
|
337 |
-
#: options.php:423
|
338 |
-
msgid "A specified agent will match the client agent if the latter contains the former. The matching is case insensitive."
|
339 |
-
msgstr "如果代理用戶端(User-Agent)包含在上面這些指定的「拒絕的代理」裡面,就停用快取 。(名稱不分大小寫)"
|
340 |
-
|
341 |
-
#: options.php:429
|
342 |
-
msgid "Cookies matching"
|
343 |
-
msgstr "符合的 Cookies"
|
344 |
-
|
345 |
-
#: options.php:433
|
346 |
-
msgid "Write one cookie name per line."
|
347 |
-
msgstr "每行寫一個 Cookie 的名稱。"
|
348 |
-
|
349 |
-
#: options.php:434
|
350 |
-
msgid "When a specified cookie will match one of the cookie names sent bby the client the cache stops."
|
351 |
-
msgstr "當使用者的 Cookie 符合上面這些指定的 Cookie 名稱其中之一時,就會停止對客戶端的快取。"
|
352 |
-
|
353 |
-
#: options.php:437
|
354 |
-
msgid "It seems you have Facebook Connect plugin installed. Add this cookie name to make it works with Hyper Cache:"
|
355 |
-
msgstr "你似乎有安裝 Facebook Connect 外掛,新增這個 Cookie 名稱讓 Hyper Cache 能夠正常運作:"
|
356 |
-
|
357 |
-
#. Description of the plugin/theme
|
358 |
-
msgid "Hyper Cache is a cache system for WordPress to improve it's perfomances and save resources. <a href=\"http://www.satollo.net/plugins/hyper-cache\" target=\"_blank\">Hyper Cache official page</a>. To manually upgrade remember the sequence: deactivate, update, reactivate."
|
359 |
-
msgstr "Hyper Cache 是用來提升 WordPress 效能以及節省系統資源的快取系統。<a href=\"http://www.satollo.net/plugins/hyper-cache\" target=\"_blank\">Hyper Cache 官方網頁</a>,手動升級請記得這些順序:停用、更新、啟用。|繁體中文語系:<a href=\"http://ragnarok.3dsydesign.com/\" target=\"_blank\">Ragnarok</a>|教學:<a href=\"http://ragnarok.3dsydesign.com/38/hyper-cache/\" target=\"_blank\">Hyper Cache 教學</a>"
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hyper-cache.pot
DELETED
@@ -1,383 +0,0 @@
|
|
1 |
-
# Copyright (C) 2012
|
2 |
-
# This file is distributed under the same license as the package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: \n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/hyper-cache\n"
|
7 |
-
"POT-Creation-Date: 2012-01-25 22:02:42+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2012-MO-DA HO:MI+ZONE\n"
|
12 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
-
|
15 |
-
#: options.php:92
|
16 |
-
msgid ""
|
17 |
-
"You must add to the file wp-config.php (at its beginning after the <?php) "
|
18 |
-
"the line of code: <code>define('WP_CACHE', true);</code>."
|
19 |
-
msgstr ""
|
20 |
-
|
21 |
-
#: options.php:103
|
22 |
-
msgid ""
|
23 |
-
"<p><strong>Options saved BUT not active because Hyper Cache was not able to "
|
24 |
-
"update the file wp-content/advanced-cache.php (is it writable?).</strong></p>"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: options.php:109
|
28 |
-
msgid ""
|
29 |
-
"<p><strong>Hyper Cache was not able to create the folder \"wp-content/cache/"
|
30 |
-
"hyper-cache\". Make it manually setting permissions to 777.</strong></p>"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: options.php:114
|
34 |
-
msgid ""
|
35 |
-
"You can find more details about configurations and working mode on <a href="
|
36 |
-
"\"%s\">Hyper Cache official page</a>."
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: options.php:123
|
40 |
-
msgid "Clear cache"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: options.php:126
|
44 |
-
msgid "Cache status"
|
45 |
-
msgstr ""
|
46 |
-
|
47 |
-
#: options.php:129
|
48 |
-
msgid "Files in cache (valid and expired)"
|
49 |
-
msgstr ""
|
50 |
-
|
51 |
-
#: options.php:133
|
52 |
-
msgid "Cleaning process"
|
53 |
-
msgstr ""
|
54 |
-
|
55 |
-
#: options.php:135
|
56 |
-
msgid "Next run on: "
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#: options.php:142
|
60 |
-
msgid ""
|
61 |
-
"The cleaning process runs hourly and it's ok to run it hourly: that grant "
|
62 |
-
"you an efficient cache. If above there is not a valid next run time, wait 10 "
|
63 |
-
"seconds and reenter this panel. If nothing change, try to deactivate and "
|
64 |
-
"reactivate Hyper Cache."
|
65 |
-
msgstr ""
|
66 |
-
|
67 |
-
#: options.php:149
|
68 |
-
msgid "Configuration"
|
69 |
-
msgstr ""
|
70 |
-
|
71 |
-
#: options.php:154
|
72 |
-
msgid "Cached pages timeout"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: options.php:157
|
76 |
-
msgid "minutes"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#: options.php:159
|
80 |
-
msgid ""
|
81 |
-
"Minutes a cached page is valid and served to users. A zero value means a "
|
82 |
-
"cached page is\r\n"
|
83 |
-
" valid forever."
|
84 |
-
msgstr ""
|
85 |
-
|
86 |
-
#: options.php:161
|
87 |
-
msgid ""
|
88 |
-
"If a cached page is older than specified value (expired) it is no more used "
|
89 |
-
"and\r\n"
|
90 |
-
" will be regenerated on next request of it."
|
91 |
-
msgstr ""
|
92 |
-
|
93 |
-
#: options.php:163
|
94 |
-
msgid "720 minutes is half a day, 1440 is a full day and so on."
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: options.php:169
|
98 |
-
msgid "Cache invalidation mode"
|
99 |
-
msgstr ""
|
100 |
-
|
101 |
-
#: options.php:172
|
102 |
-
msgid "All cached pages"
|
103 |
-
msgstr ""
|
104 |
-
|
105 |
-
#: options.php:173
|
106 |
-
msgid "Only modified posts"
|
107 |
-
msgstr ""
|
108 |
-
|
109 |
-
#: options.php:174
|
110 |
-
msgid "Only modified pages"
|
111 |
-
msgstr ""
|
112 |
-
|
113 |
-
#: options.php:175
|
114 |
-
msgid "Nothing"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: options.php:179
|
118 |
-
msgid "Invalidate home, archives, categories on single post invalidation"
|
119 |
-
msgstr ""
|
120 |
-
|
121 |
-
#: options.php:182
|
122 |
-
msgid ""
|
123 |
-
"\"Invalidation\" is the process of deleting cached pages when they are no "
|
124 |
-
"more valid."
|
125 |
-
msgstr ""
|
126 |
-
|
127 |
-
#: options.php:183
|
128 |
-
msgid ""
|
129 |
-
"Invalidation process is started when blog contents are modified (new post, "
|
130 |
-
"post update, new comment,...) so\r\n"
|
131 |
-
" one or more cached pages need to be refreshed to get that new "
|
132 |
-
"content."
|
133 |
-
msgstr ""
|
134 |
-
|
135 |
-
#: options.php:185
|
136 |
-
msgid ""
|
137 |
-
"A new comment submission or a comment moderation is considered like a post "
|
138 |
-
"modification\r\n"
|
139 |
-
" where the post is the one the comment is relative to."
|
140 |
-
msgstr ""
|
141 |
-
|
142 |
-
#: options.php:192
|
143 |
-
msgid "Disable cache for commenters"
|
144 |
-
msgstr ""
|
145 |
-
|
146 |
-
#: options.php:196
|
147 |
-
msgid ""
|
148 |
-
"When users leave comments, WordPress show pages with their comments even if "
|
149 |
-
"in moderation\r\n"
|
150 |
-
" (and not visible to others) and pre-fills the comment form."
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: options.php:198
|
154 |
-
msgid "If you want to keep those features, enable this option."
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#: options.php:199
|
158 |
-
msgid "The caching system will be less efficient but the blog more usable."
|
159 |
-
msgstr ""
|
160 |
-
|
161 |
-
#: options.php:206
|
162 |
-
msgid "Feeds caching"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: options.php:210
|
166 |
-
msgid "When enabled the blog feeds will be cache as well."
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: options.php:211
|
170 |
-
msgid ""
|
171 |
-
"Usually this options has to be left unchecked but if your blog is rather "
|
172 |
-
"static,\r\n"
|
173 |
-
" you can enable it and have a bit more efficiency"
|
174 |
-
msgstr ""
|
175 |
-
|
176 |
-
#: options.php:218 options.php:256 options.php:297 options.php:449
|
177 |
-
msgid "Update"
|
178 |
-
msgstr ""
|
179 |
-
|
180 |
-
#: options.php:221
|
181 |
-
msgid "Configuration for mobile devices"
|
182 |
-
msgstr ""
|
183 |
-
|
184 |
-
#: options.php:234
|
185 |
-
msgid "Detect mobile devices"
|
186 |
-
msgstr ""
|
187 |
-
|
188 |
-
#: options.php:238
|
189 |
-
msgid ""
|
190 |
-
"When enabled mobile devices will be detected and the cached page stored "
|
191 |
-
"under different name."
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: options.php:239
|
195 |
-
msgid ""
|
196 |
-
"This makes blogs with different themes for mobile devices to work correctly."
|
197 |
-
msgstr ""
|
198 |
-
|
199 |
-
#: options.php:245
|
200 |
-
msgid "Mobile agent list"
|
201 |
-
msgstr ""
|
202 |
-
|
203 |
-
#: options.php:249
|
204 |
-
msgid "One per line mobile agents to check for when a page is requested."
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#: options.php:250
|
208 |
-
msgid ""
|
209 |
-
"The mobile agent string is matched against the agent a device is sending to "
|
210 |
-
"the server."
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: options.php:260
|
214 |
-
msgid "Compression"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: options.php:264
|
218 |
-
msgid ""
|
219 |
-
"Your hosting space has not the \"gzencode\" or \"gzinflate\" function, so no "
|
220 |
-
"compression options are available."
|
221 |
-
msgstr ""
|
222 |
-
|
223 |
-
#: options.php:270
|
224 |
-
msgid "Enable compression"
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#: options.php:274
|
228 |
-
msgid "When possible the page will be sent compressed to save bandwidth."
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: options.php:275
|
232 |
-
msgid ""
|
233 |
-
"Only the textual part of a page can be compressed, not images, so a photo\r\n"
|
234 |
-
" blog will consume a lot of bandwidth even with compression enabled."
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#: options.php:277 options.php:291
|
238 |
-
msgid "Leave the options disabled if you note malfunctions, like blank pages."
|
239 |
-
msgstr ""
|
240 |
-
|
241 |
-
#: options.php:279
|
242 |
-
msgid "If you enable this option, the option below will be enabled as well."
|
243 |
-
msgstr ""
|
244 |
-
|
245 |
-
#: options.php:285
|
246 |
-
msgid "Disk space usage"
|
247 |
-
msgstr ""
|
248 |
-
|
249 |
-
#: options.php:289
|
250 |
-
msgid "Enable this option to minimize disk space usage."
|
251 |
-
msgstr ""
|
252 |
-
|
253 |
-
#: options.php:290
|
254 |
-
msgid "The cache will be a little less performant."
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#: options.php:302
|
258 |
-
msgid "Advanced options"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
-
#: options.php:306
|
262 |
-
msgid "Translation"
|
263 |
-
msgstr ""
|
264 |
-
|
265 |
-
#: options.php:310
|
266 |
-
msgid "DO NOT show this panel translated."
|
267 |
-
msgstr ""
|
268 |
-
|
269 |
-
#: options.php:316
|
270 |
-
msgid "Disable Last-Modified header"
|
271 |
-
msgstr ""
|
272 |
-
|
273 |
-
#: options.php:320
|
274 |
-
msgid ""
|
275 |
-
"Disable some HTTP headers (Last-Modified) which improve performances but "
|
276 |
-
"some one is reporting they create problems which some hosting configurations."
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: options.php:326
|
280 |
-
msgid "Home caching"
|
281 |
-
msgstr ""
|
282 |
-
|
283 |
-
#: options.php:330
|
284 |
-
msgid "DO NOT cache the home page so it is always fresh."
|
285 |
-
msgstr ""
|
286 |
-
|
287 |
-
#: options.php:336
|
288 |
-
msgid "Redirect caching"
|
289 |
-
msgstr ""
|
290 |
-
|
291 |
-
#: options.php:340
|
292 |
-
msgid "Cache WordPress redirects."
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#: options.php:341
|
296 |
-
msgid ""
|
297 |
-
"WordPress sometime sends back redirects that can be cached to avoid further "
|
298 |
-
"processing time."
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: options.php:346
|
302 |
-
msgid "Page not found caching (HTTP 404)"
|
303 |
-
msgstr ""
|
304 |
-
|
305 |
-
#: options.php:369
|
306 |
-
msgid "URL with parameters"
|
307 |
-
msgstr ""
|
308 |
-
|
309 |
-
#: options.php:373
|
310 |
-
msgid "Cache requests with query string (parameters)."
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: options.php:374
|
314 |
-
msgid ""
|
315 |
-
"This option has to be enabled for blogs which have post URLs with a question "
|
316 |
-
"mark on them."
|
317 |
-
msgstr ""
|
318 |
-
|
319 |
-
#: options.php:375
|
320 |
-
msgid ""
|
321 |
-
"This option is disabled by default because there is plugins which use\r\n"
|
322 |
-
" URL parameter to perform specific action that cannot be cached"
|
323 |
-
msgstr ""
|
324 |
-
|
325 |
-
#: options.php:377
|
326 |
-
msgid ""
|
327 |
-
"For who is using search engines friendly permalink format is safe to\r\n"
|
328 |
-
" leave this option disabled, no performances will be lost."
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#: options.php:392
|
332 |
-
msgid "URI to reject"
|
333 |
-
msgstr ""
|
334 |
-
|
335 |
-
#: options.php:396
|
336 |
-
msgid "Write one URI per line, each URI has to start with a slash."
|
337 |
-
msgstr ""
|
338 |
-
|
339 |
-
#: options.php:397
|
340 |
-
msgid ""
|
341 |
-
"A specified URI will match the requested URI if the latter starts with the "
|
342 |
-
"former."
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: options.php:398
|
346 |
-
msgid ""
|
347 |
-
"If you want to specify a stric matching, surround the URI with double quotes."
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: options.php:418
|
351 |
-
msgid "Agents to reject"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: options.php:422
|
355 |
-
msgid "Write one agent per line."
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: options.php:423
|
359 |
-
msgid ""
|
360 |
-
"A specified agent will match the client agent if the latter contains the "
|
361 |
-
"former. The matching is case insensitive."
|
362 |
-
msgstr ""
|
363 |
-
|
364 |
-
#: options.php:429
|
365 |
-
msgid "Cookies matching"
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: options.php:433
|
369 |
-
msgid "Write one cookie name per line."
|
370 |
-
msgstr ""
|
371 |
-
|
372 |
-
#: options.php:434
|
373 |
-
msgid ""
|
374 |
-
"When a specified cookie will match one of the cookie names sent bby the "
|
375 |
-
"client the cache stops."
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: options.php:437
|
379 |
-
msgid ""
|
380 |
-
"It seems you have Facebook Connect plugin installed. Add this cookie name to "
|
381 |
-
"make it works\r\n"
|
382 |
-
" with Hyper Cache:"
|
383 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/hyper-cache-ru_RU.mo
ADDED
Binary file
|
languages/hyper-cache-ru_RU.po
ADDED
@@ -0,0 +1,510 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# SOME DESCRIPTIVE TITLE.
|
2 |
+
# This file is put in the public domain.
|
3 |
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
4 |
+
#
|
5 |
+
msgid ""
|
6 |
+
msgstr ""
|
7 |
+
"Project-Id-Version: Hyper Cache 3.0.2\n"
|
8 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/hyper-cache\n"
|
9 |
+
"POT-Creation-Date: 2009-09-29 15:57+0000\n"
|
10 |
+
"PO-Revision-Date: 2014-09-07 14:35+0700\n"
|
11 |
+
"Last-Translator: artnikov <artnikov@ya.ru>\n"
|
12 |
+
"Language-Team: \n"
|
13 |
+
"MIME-Version: 1.0\n"
|
14 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
+
"Content-Transfer-Encoding: 8bit\n"
|
16 |
+
"Language: ru_RU\n"
|
17 |
+
"X-Generator: Poedit 1.6.7\n"
|
18 |
+
|
19 |
+
#: options.php:70
|
20 |
+
msgid "Options saved. If you changes any of the bypasses empty the cache."
|
21 |
+
msgstr ""
|
22 |
+
"Настройки сохранены. Если вы изменяете страницы, то исключения изменяются в "
|
23 |
+
"кеше"
|
24 |
+
|
25 |
+
#: options.php:75
|
26 |
+
#, php-format
|
27 |
+
msgid ""
|
28 |
+
"Unable to write the <code>wp-content/advanced-cache.php</code> file. Check "
|
29 |
+
"the file or folder permissions."
|
30 |
+
msgstr ""
|
31 |
+
"Не удается создать файл <code>wp-content/advanced-cache.php</code> file. "
|
32 |
+
|
33 |
+
#: options.php:83
|
34 |
+
msgid "The cache folder has been cleaned."
|
35 |
+
msgstr "Кэш папка была очищена."
|
36 |
+
|
37 |
+
#: options.php:88
|
38 |
+
msgid "Done!"
|
39 |
+
msgstr "Отлично!"
|
40 |
+
|
41 |
+
#: options.php:125
|
42 |
+
msgid "Options deleted"
|
43 |
+
msgstr "Настройки сброшены"
|
44 |
+
|
45 |
+
#: options.php:130
|
46 |
+
msgid "Cache size"
|
47 |
+
msgstr "Размер КЭШа"
|
48 |
+
|
49 |
+
#: options.php:141
|
50 |
+
msgid "Old Hyper Cache options are missing or not readable."
|
51 |
+
msgstr "Настройки ранней версии Hyper Cache отсутствуют или повреждены."
|
52 |
+
|
53 |
+
#: options.php:164
|
54 |
+
msgid "Old options imported, now review them and save."
|
55 |
+
msgstr "Прежние настройки импортированы, их можно просмотреть и сохранить."
|
56 |
+
|
57 |
+
#: options.php:213
|
58 |
+
#, php-format
|
59 |
+
msgid ""
|
60 |
+
"You must add to the file wp-config.php (after the <code>define(\"WPLANG\", "
|
61 |
+
"\"\");</code>) the line of code: <code>define(\"WP_CACHE\", true);</code>"
|
62 |
+
msgstr ""
|
63 |
+
"Вы должны добавить в файле wp-config.php (после строки <code>define(\"WPLANG"
|
64 |
+
"\", \"\");</code>) код: <code>define(\"WP_CACHE\", true);</code>."
|
65 |
+
|
66 |
+
#: options.php:222
|
67 |
+
msgid "You must save the options since some files must be updated."
|
68 |
+
msgstr "Вы должны сохранить настройки, так как файлы должны быть обновлены."
|
69 |
+
|
70 |
+
#: options.php:229
|
71 |
+
#, php-format
|
72 |
+
msgid "Hyper Cache was not able to create or find the"
|
73 |
+
msgstr "Hyper Cache не удалось создать или найти"
|
74 |
+
|
75 |
+
#: options.php:231
|
76 |
+
#, php-format
|
77 |
+
msgid ""
|
78 |
+
"folder, please create it manually with list, write and read permissions "
|
79 |
+
"(usually 777)."
|
80 |
+
msgstr "папку, пожалуйста создайте его вручную, с правами (обычно 777)."
|
81 |
+
|
82 |
+
#: options.php:236
|
83 |
+
#, php-format
|
84 |
+
msgid ""
|
85 |
+
"You should choose a different <a href=\"options-permalink.php\" target="
|
86 |
+
"\"_blank\"> permalink structure under the Permalink panel</a> otherwise "
|
87 |
+
"Hyper Cache cannot work properly."
|
88 |
+
msgstr ""
|
89 |
+
"Вы должны выбрать другую папку <a href=\"options-permalink.php\" target="
|
90 |
+
"\"_blank\"> для постоянной ссылки</a> в противном случае Hyper Cache не "
|
91 |
+
"может работать должным образом."
|
92 |
+
|
93 |
+
#: options.php:249
|
94 |
+
#, php-format
|
95 |
+
msgid ""
|
96 |
+
"Please, refer to the <a href=\"http://www.satollo.net/plugins/hyper-cache\" "
|
97 |
+
"target=\"_blank\">official page</a> and the <a href=\"http://www.satollo.net/"
|
98 |
+
"forums/forum/hyper-cache\" target=\"_blank\">official forum</a> for support. "
|
99 |
+
"<a href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-"
|
100 |
+
"xclick&hosted_button_id=5PHGDGNHAYLJ8\" target=\"_blank\"><img style="
|
101 |
+
"\"vertical-align: bottom\" src=\"http://www.satollo.net/images/donate.png"
|
102 |
+
"\"></a> Even <b>2$</b> helps! (<a href=\"http://www.satollo.net/donations\" "
|
103 |
+
"target=\"_blank\">read more</a>)"
|
104 |
+
msgstr ""
|
105 |
+
"Пожалуйста, обратитесь к <a href=\"http://www.satollo.net/plugins/hyper-cache"
|
106 |
+
"\" target=\"_blank\">официальная страница</a> и <a href=\"http://www.satollo."
|
107 |
+
"net/forums/forum/hyper-cache\" target=\"_blank\">официальный форум</a> для "
|
108 |
+
"поддержки.<a href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-"
|
109 |
+
"xclick&hosted_button_id=5PHGDGNHAYLJ8\" target=\"_blank\"><img style="
|
110 |
+
"\"vertical-align: bottom\" src=\"http://www.satollo.net/images/donate.png"
|
111 |
+
"\"></a> Даже <b>2$</b> поддержка! (<a href=\"http://www.satollo.net/donations"
|
112 |
+
"\" target=\"_blank\">читать далее</a>)"
|
113 |
+
|
114 |
+
#: options.php:252
|
115 |
+
#, php-format
|
116 |
+
msgid ""
|
117 |
+
"Want a full mail marketing system in your blog? Try my free <a href=\"http://"
|
118 |
+
"www.satollo.net/plugins/newsletter\" target=\"_blank\">Newsletter</a> plugin."
|
119 |
+
msgstr ""
|
120 |
+
"Хотите полную маркетинговую почтовую систему на вашем сайте? Пробуйте мой "
|
121 |
+
"бесплатный плагин <a href=\"http://www.satollo.net/plugins/newsletter\" "
|
122 |
+
"target=\"_blank\">Newsletter</a>."
|
123 |
+
|
124 |
+
#: options.php:255
|
125 |
+
msgid "Clean the whole cache"
|
126 |
+
msgstr "Удалить весь кеш"
|
127 |
+
|
128 |
+
#: options.php:256
|
129 |
+
msgid "Clean home and archives"
|
130 |
+
msgstr "Очистка архивов и домашней"
|
131 |
+
|
132 |
+
#: options.php:257
|
133 |
+
msgid "Compute the cache size"
|
134 |
+
msgstr "Вычесление размера КЕШа"
|
135 |
+
|
136 |
+
#: options.php:258
|
137 |
+
msgid "Import old options"
|
138 |
+
msgstr "Импортировать настройки"
|
139 |
+
|
140 |
+
#: options.php:259
|
141 |
+
msgid "Sure? Your setting will be overwritten."
|
142 |
+
msgstr "Уверены? Ваши настройки будут записаны поверх!"
|
143 |
+
|
144 |
+
#: options.php:264
|
145 |
+
msgid "General"
|
146 |
+
msgstr "Главные"
|
147 |
+
|
148 |
+
#: options.php:265
|
149 |
+
msgid "Bypasses"
|
150 |
+
msgstr "Исключения"
|
151 |
+
|
152 |
+
#: options.php:266
|
153 |
+
msgid "Mobile"
|
154 |
+
msgstr "Мобильный"
|
155 |
+
|
156 |
+
#: options.php:273
|
157 |
+
msgid "Disable translations"
|
158 |
+
msgstr "Отключить перевод"
|
159 |
+
|
160 |
+
#: options.php:275
|
161 |
+
msgid "Disable"
|
162 |
+
msgstr "Отключить"
|
163 |
+
|
164 |
+
#: options.php:277
|
165 |
+
msgid ""
|
166 |
+
"If you want to see this panel with the original labels, you can disable the "
|
167 |
+
"tranlsation."
|
168 |
+
msgstr "Если ВЫ хотите видеть настройки без перевода, можете его отключить."
|
169 |
+
|
170 |
+
#: options.php:282
|
171 |
+
msgid "Cached pages will be valid for"
|
172 |
+
msgstr "Кэшированные страницы, будут действительны в течение"
|
173 |
+
|
174 |
+
#: options.php:286
|
175 |
+
msgid "0 means forever."
|
176 |
+
msgstr "0 означает, что навсегда."
|
177 |
+
|
178 |
+
#: options.php:290
|
179 |
+
msgid "Enable compression"
|
180 |
+
msgstr "Включить сжатие"
|
181 |
+
|
182 |
+
#: options.php:295
|
183 |
+
msgid ""
|
184 |
+
"If you note odd characters when enabled, disable it since your server is "
|
185 |
+
"already compressing the pages."
|
186 |
+
msgstr ""
|
187 |
+
"Если на сайте появились нечитаемые символы, то лучше отключить, так как на "
|
188 |
+
"сервере существует сжатие .gzip"
|
189 |
+
|
190 |
+
#: options.php:300
|
191 |
+
msgid "When the home is refreshed, refresh even the"
|
192 |
+
msgstr "Когда обновлена домашняя страница, обновятся остальные."
|
193 |
+
|
194 |
+
#: options.php:303
|
195 |
+
msgid "latest post"
|
196 |
+
msgstr "последние записи"
|
197 |
+
|
198 |
+
#: options.php:305
|
199 |
+
msgid "The number of latest posts to invalidate when the home is invalidated."
|
200 |
+
msgstr "Число последних записей, изменятся, когда изменена главная."
|
201 |
+
|
202 |
+
#: options.php:310
|
203 |
+
msgid "Cache folder"
|
204 |
+
msgstr "Папки кэша"
|
205 |
+
|
206 |
+
#: options.php:313
|
207 |
+
msgid "path on disk"
|
208 |
+
msgstr "путь к папке"
|
209 |
+
|
210 |
+
#: options.php:315
|
211 |
+
#, php-format
|
212 |
+
msgid ""
|
213 |
+
"Leave blank for default value. You can even evaluate to leave this blank and "
|
214 |
+
"create a symbolic link"
|
215 |
+
msgstr ""
|
216 |
+
"Не включено по умолчанию. Вы можете проверить и создать символическую ссылку"
|
217 |
+
|
218 |
+
#: options.php:317
|
219 |
+
msgid "Your blog is located on"
|
220 |
+
msgstr "блог находится на"
|
221 |
+
|
222 |
+
#: options.php:319
|
223 |
+
msgid "A wrong configuration can destroy your blog."
|
224 |
+
msgstr "Неправильная конфигурация может уничтожить ваш сайт."
|
225 |
+
|
226 |
+
#: options.php:324
|
227 |
+
msgid "Next autoclean will run in"
|
228 |
+
msgstr "Далее эта функция будет выполняться в"
|
229 |
+
|
230 |
+
#: options.php:327
|
231 |
+
msgid "minutes"
|
232 |
+
msgstr "минуты"
|
233 |
+
|
234 |
+
#: options.php:327
|
235 |
+
msgid "The autoclean process removes old files to save disk space."
|
236 |
+
msgstr ""
|
237 |
+
"Автоочистка, удаляет устаревшие файлы, для оптимизации дискового "
|
238 |
+
"пространства."
|
239 |
+
|
240 |
+
#: options.php:334
|
241 |
+
msgid "Allow browser caching"
|
242 |
+
msgstr "Разрешение кеширования браузерами"
|
243 |
+
|
244 |
+
#: options.php:336
|
245 |
+
msgid "enable it"
|
246 |
+
msgstr "Допустить"
|
247 |
+
|
248 |
+
#: options.php:338
|
249 |
+
msgid "with an expire time of"
|
250 |
+
msgstr "по истечению"
|
251 |
+
|
252 |
+
#: options.php:340 #: options.php:287
|
253 |
+
msgid "hours"
|
254 |
+
msgstr "часов"
|
255 |
+
|
256 |
+
#: options.php:342
|
257 |
+
msgid ""
|
258 |
+
"When enabled Hyper Cache sends a signal to the browser allowing it to NOT "
|
259 |
+
"request a page more than once andto use the copy it has in the local cache. "
|
260 |
+
"If you set an expire time greater than zero, the browser should keep the "
|
261 |
+
"copy for that amount of hours, otherwise Hyper Cache will tell the browser "
|
262 |
+
"to keep the copy until the page expire in the blog cache.<br>Usually I keep "
|
263 |
+
"this feature disabled."
|
264 |
+
msgstr ""
|
265 |
+
"Когда включен, Hyper Cache посылает сигнал браузеру, позволяющий НЕ просить, "
|
266 |
+
"чтобы страница постоянно использовала копию, которая имеется в кэше. Если Вы "
|
267 |
+
"устанавливаете время сохранения, больше чем ноль, браузер должен сохранить "
|
268 |
+
"копию определенное время, иначе Hyper Cache скажет браузеру сохранять копию, "
|
269 |
+
"пока не истечет время сохранения в кэше сайта.<br>Обычно я оставляю эту "
|
270 |
+
"настройку заблокированной."
|
271 |
+
|
272 |
+
#: options.php:348
|
273 |
+
msgid "HTTPS separated cache"
|
274 |
+
msgstr "Не кешировать HTTPS запросы"
|
275 |
+
|
276 |
+
#: options.php:377
|
277 |
+
msgid "Do not cache the home page"
|
278 |
+
msgstr "Не кэшировать главную страницу"
|
279 |
+
|
280 |
+
#: options.php:381
|
281 |
+
msgid ""
|
282 |
+
"When active, the home page and its subpages are not cached. Works even with "
|
283 |
+
"a static home page."
|
284 |
+
msgstr ""
|
285 |
+
"Когда активно, домашняя страница и его подстраницы не кэшируются. Работает "
|
286 |
+
"даже со статической домашней страницей."
|
287 |
+
|
288 |
+
#: options.php:386
|
289 |
+
msgid "Do not cache the \"404 - Not found\" page"
|
290 |
+
msgstr "Не кэшировать \"стр.404\" "
|
291 |
+
|
292 |
+
#: options.php:391
|
293 |
+
msgid ""
|
294 |
+
"When active, Hyper Cache does not serve a cached 404 not found page. "
|
295 |
+
"Requests which lead to a 404 not found page overload you blog since "
|
296 |
+
"WordPress must generate a full page so caching it help in reduce that "
|
297 |
+
"overload."
|
298 |
+
msgstr ""
|
299 |
+
"Когда активно, Hyper Cache не работает с кэшируемым 404, страницей. Запросы, "
|
300 |
+
"которые приводят к 404 перегружают сайт, так как WordPress должен выдать "
|
301 |
+
"полную страницу... , включение параметра помогает уменьшить нагрузку"
|
302 |
+
|
303 |
+
#: options.php:395
|
304 |
+
msgid "Do not cache the blog main feeds"
|
305 |
+
msgstr "Не кешировать ленту комментариев"
|
306 |
+
|
307 |
+
#: options.php:402
|
308 |
+
msgid "When active, the main blog feed %s is not cached."
|
309 |
+
msgstr "Когда активно, главная лента новостей RSS не кэшируется"
|
310 |
+
|
311 |
+
#: options.php:405
|
312 |
+
msgid "Do not cache single post comment feed"
|
313 |
+
msgstr "Не кешировать ленту RSS комментариев"
|
314 |
+
|
315 |
+
#: options.php:412
|
316 |
+
msgid ""
|
317 |
+
"When active, the single post comment feedis not cached. Usually I enable "
|
318 |
+
"this reject since it saves disk space and comment feed on single posts are "
|
319 |
+
"not usually used."
|
320 |
+
msgstr ""
|
321 |
+
"Когда активно, страница комментариев не кэшируется. Обычно включается, так "
|
322 |
+
"как это сохраняет дисковое пространство."
|
323 |
+
|
324 |
+
#: options.php:418
|
325 |
+
msgid "Exact URIs to bypass"
|
326 |
+
msgstr "Точный URI исключение"
|
327 |
+
|
328 |
+
#: options.php:416 options.php:427 options.php:438 options.php:450
|
329 |
+
#: options.php:420
|
330 |
+
msgid "Enable"
|
331 |
+
msgstr "Включить"
|
332 |
+
|
333 |
+
#: options.php:422
|
334 |
+
#, php-format
|
335 |
+
msgid ""
|
336 |
+
"Those URIs are exactly matched. For example if you add the <code>/my-single-"
|
337 |
+
"post</code> URI and a request is received for <code>http://youblog."
|
338 |
+
"com<strong>/my-single-post</strong></code> that page is not cached. A "
|
339 |
+
"request for <code>http://youblog.com<strong>/my-single-post-something</"
|
340 |
+
"strong></code> IS cached."
|
341 |
+
msgstr ""
|
342 |
+
"Тем URIs точно соответствуют. Например, если Вы добавляете <code>/my-single-"
|
343 |
+
"post </code>, URI и запрос получены для <code>http://youblog.com<strong>/my-"
|
344 |
+
"single-post</strong></code>, что страница не кэшируется. Запрос о "
|
345 |
+
"<code>http://youblog.com<strong>/my-single-post-something</strong></code> "
|
346 |
+
"кэшируется."
|
347 |
+
|
348 |
+
#: options.php:431
|
349 |
+
msgid "(Starting with) URIs to bypass"
|
350 |
+
msgstr "(Начиная с) URI исключить"
|
351 |
+
|
352 |
+
#: options.php:437
|
353 |
+
#, php-format
|
354 |
+
msgid ""
|
355 |
+
"Those URIs match is a requested URI starts with one of them. For example if "
|
356 |
+
"you add the <code>/my-single-post</code> URI and a request is received for "
|
357 |
+
"<code>http://youblog.com<strong>/my-single-post</strong></code> that page IS "
|
358 |
+
"cached. A request for <code>http://youblog.com<strong>/my-single-post-"
|
359 |
+
"something</strong></code> IS cached as well."
|
360 |
+
msgstr ""
|
361 |
+
"То соответствие URIs - требуемые начала URI с одним из них. Например, если "
|
362 |
+
"Вы добавляете<code>/my-single-post</code> URI кешируется так же <code>http://"
|
363 |
+
"youblog.com<strong>/my-single-post</strong></code> та страница кэшируется. "
|
364 |
+
"Запрос к <code>http://youblog.com<strong>/my-single-post-something</strong></"
|
365 |
+
"code> Кэшируется также."
|
366 |
+
|
367 |
+
#: options.php:445
|
368 |
+
msgid "Cookies to bypass"
|
369 |
+
msgstr "Куки исключить"
|
370 |
+
|
371 |
+
#: options.php:452 options.php:441 options.php:530 options.php:430 #:
|
372 |
+
#: options.php:419 options.php:516
|
373 |
+
msgid "One per line"
|
374 |
+
msgstr "По одному адресу в строке"
|
375 |
+
|
376 |
+
#: options.php:451
|
377 |
+
msgid ""
|
378 |
+
"If the visitor has a cookie named as one of the listed values, the cache is "
|
379 |
+
"bypassed."
|
380 |
+
msgstr ""
|
381 |
+
"Если указанная строка совпадает с одним из имен Cookies, кэш исключается."
|
382 |
+
|
383 |
+
#: options.php:456
|
384 |
+
msgid "Devices (user agents) to bypass"
|
385 |
+
msgstr "Устройства(пользовательские) исключить"
|
386 |
+
|
387 |
+
#: options.php:462
|
388 |
+
msgid ""
|
389 |
+
"If the visitor has a device with a user agent named as one of the listed "
|
390 |
+
"values, the cache is bypassed."
|
391 |
+
msgstr ""
|
392 |
+
"Если посетитель имеет устройство с пользовательским агентом, названным как "
|
393 |
+
"одно из перечисленных значений, кэширование не происходит."
|
394 |
+
|
395 |
+
#: options.php:468
|
396 |
+
msgid "Dont serve cached pages to comment authors"
|
397 |
+
msgstr "Не кешировать авторские комментарии"
|
398 |
+
|
399 |
+
#: options.php:472
|
400 |
+
msgid ""
|
401 |
+
"Hyper Cache is able to work with users who left a comment and completes the "
|
402 |
+
"comment form with user data even on cached page (with a small JavaScript "
|
403 |
+
"added at the end of the pages). But the \"awaiting moderation\" message "
|
404 |
+
"cannot be shown. If you have few commentators, you can disable this feature "
|
405 |
+
"to get back the classical WordPress comment flow."
|
406 |
+
msgstr ""
|
407 |
+
"Hyper Cache способен работать с пользователями, которые оставили комментарий "
|
408 |
+
"и завершает комментарий форму с пользовательских данных даже на кэшированной "
|
409 |
+
"страницы (с функцией JavaScript добавляется в конце страницы). Но сообщение "
|
410 |
+
"\"ожидает модерации\" не может быть показано. Если у вас не много "
|
411 |
+
"комментаторов, вы можете отключить эту функцию, чтобы вернуться классический "
|
412 |
+
"комментариев поток WordPress ."
|
413 |
+
|
414 |
+
#: options.php:466
|
415 |
+
msgid "days"
|
416 |
+
msgstr "дней"
|
417 |
+
|
418 |
+
#: options.php:482
|
419 |
+
msgid "Reject posts older than"
|
420 |
+
msgstr "Не кешировать страницы старше"
|
421 |
+
|
422 |
+
#: options.php:486
|
423 |
+
msgid ""
|
424 |
+
"Older posts wont be cached and stored resulting in a lower disk space usage. "
|
425 |
+
"Useful when older posts have low traffic."
|
426 |
+
msgstr ""
|
427 |
+
"Архивные страницы, кэшируется и сохранены приводят к экономии дискового "
|
428 |
+
"пространства. Полезно, когда старые страницы имеют низкий трафик."
|
429 |
+
|
430 |
+
#: options.php:480 options.php:497
|
431 |
+
msgid "Working mode"
|
432 |
+
msgstr "Режим работы"
|
433 |
+
|
434 |
+
#: options.php:484
|
435 |
+
msgid "[disabled] Do not detect mobile devices"
|
436 |
+
msgstr "[Отключено] Не обнаруживают мобильных устройств"
|
437 |
+
|
438 |
+
#: options.php:500
|
439 |
+
msgid "[enabled] Detect mobile devices and use a separate cache"
|
440 |
+
msgstr ""
|
441 |
+
"[Включено] Обнаружение мобильных устройства, используется отдельный кэш"
|
442 |
+
|
443 |
+
#: options.php:501
|
444 |
+
msgid "[enabled] Detect mobile devices and bypass the cache"
|
445 |
+
msgstr "[Включено] Обнаружение мобильных устройств и кэша"
|
446 |
+
|
447 |
+
#: options.php:504
|
448 |
+
msgid ""
|
449 |
+
"It make sense to disable the cache for mobile devices when their traffic is "
|
450 |
+
"very low."
|
451 |
+
msgstr ""
|
452 |
+
"Имеет смысл отключить кэш для мобильных устройств, когда их трафик очень "
|
453 |
+
"низок."
|
454 |
+
|
455 |
+
#: options.php:509
|
456 |
+
msgid "Mobile theme"
|
457 |
+
msgstr "Мобильная тема"
|
458 |
+
|
459 |
+
#: options.php:499
|
460 |
+
msgid "Use the active blog theme"
|
461 |
+
msgstr "Использование активной темы сайта"
|
462 |
+
|
463 |
+
#: options.php:519
|
464 |
+
msgid ""
|
465 |
+
"If you have plugins which produce different content for desktop and mobile "
|
466 |
+
"devices, you should use a separate cache for mobile."
|
467 |
+
msgstr ""
|
468 |
+
"Если Вы имеете дополнения к программе, которые производят различное "
|
469 |
+
"содержание для стационарных и мобильных устройств, Вы должны использовать "
|
470 |
+
"отдельный кэш для мобильных устройств."
|
471 |
+
|
472 |
+
#: options.php:520
|
473 |
+
msgid ""
|
474 |
+
"See for example my <a href=\"http://www.satollo.net/plugins/header-footer\" "
|
475 |
+
"target=\"_blank\">Header and Footer</a> plugin for different desktop/mobile "
|
476 |
+
"ads injection in posts."
|
477 |
+
msgstr ""
|
478 |
+
"Смотрите пример использования <a href=\"http://www.satollo.net/plugins/"
|
479 |
+
"header-footer\" target=\"_blank\">Header и Footer</a> расширений для "
|
480 |
+
"различных устройств."
|
481 |
+
|
482 |
+
#: options.php:525
|
483 |
+
msgid "Mobile user agents"
|
484 |
+
msgstr "Мобильные агенты пользователей"
|
485 |
+
|
486 |
+
#: options.php:528
|
487 |
+
msgid "Reset"
|
488 |
+
msgstr "Сброс"
|
489 |
+
|
490 |
+
#: options.php:531
|
491 |
+
#, php-format
|
492 |
+
msgid ""
|
493 |
+
"A \"user agent\" is a text which identify the kind of device used to surf "
|
494 |
+
"the site. For example and iPhone has <code>iphone</code> as user agent."
|
495 |
+
msgstr ""
|
496 |
+
"A \"пользовательский агент \" является текстом, которые идентифицируют вид "
|
497 |
+
"используемого устройства заниматься серфингом по сайтам. Например и iPhone "
|
498 |
+
"имеет <code>iphone</code> как пользовательский агент."
|
499 |
+
|
500 |
+
#: options.php:541
|
501 |
+
msgid "Save"
|
502 |
+
msgstr "Сохранить"
|
503 |
+
|
504 |
+
#: options.php:544
|
505 |
+
msgid "Delete options"
|
506 |
+
msgstr "Удалить параметры"
|
507 |
+
|
508 |
+
#: options.php:545
|
509 |
+
msgid "Autoclean"
|
510 |
+
msgstr "Автоочистка"
|
languages/hyper-cache.pot
ADDED
@@ -0,0 +1,341 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2014
|
2 |
+
# This file is distributed under the same license as the package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: \n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/hyper-cache\n"
|
7 |
+
"POT-Creation-Date: 2014-09-16 07:25:25+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
|
12 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
+
|
15 |
+
#: options.php:70
|
16 |
+
msgid "Options saved. If you changes any of the bypasses empty the cache."
|
17 |
+
msgstr ""
|
18 |
+
|
19 |
+
#: options.php:83
|
20 |
+
msgid "The cache folder has been cleaned."
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: options.php:130
|
24 |
+
msgid "Cache size"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: options.php:222
|
28 |
+
msgid "You must save the options since some files must be updated."
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: options.php:231
|
32 |
+
msgid "Hyper Cache was not able to create or find the %s folder."
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: options.php:233
|
36 |
+
msgid ""
|
37 |
+
"Please create it manually with list, write and read permissions (usually "
|
38 |
+
"777)."
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
#: options.php:244
|
42 |
+
msgid "You should choose a different permalink structure."
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: options.php:245
|
46 |
+
msgid ""
|
47 |
+
"Change it on the <a href=\"options-permalink.php\" target=\"_blank"
|
48 |
+
"\">permalink panel</a> otherwise Hyper Cache cannot work properly."
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: options.php:270
|
52 |
+
msgid "Clean the whole cache"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: options.php:271
|
56 |
+
msgid "Clean home and archives"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: options.php:272
|
60 |
+
msgid "Compute the cache size"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: options.php:273
|
64 |
+
msgid "Import old options"
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: options.php:278
|
68 |
+
msgid "General"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: options.php:279
|
72 |
+
msgid "Bypasses"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: options.php:280
|
76 |
+
msgid "Mobile"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: options.php:298
|
80 |
+
msgid "Cached pages will be valid for"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: options.php:301
|
84 |
+
msgid "0 means forever."
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: options.php:305
|
88 |
+
msgid "Enable compression"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: options.php:310
|
92 |
+
msgid ""
|
93 |
+
"If you note odd characters when enabled, disable it since your server is "
|
94 |
+
"already\r\n"
|
95 |
+
" compressing the pages."
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: options.php:320
|
99 |
+
msgid "The number of latest posts to invalidate when the home is invalidated."
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: options.php:326
|
103 |
+
msgid "Cache folder"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: options.php:337
|
107 |
+
msgid "Next autoclean will run in"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: options.php:341
|
111 |
+
msgid "The autoclean process removes old files to save disk space."
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: options.php:346
|
115 |
+
msgid "Allow browser caching"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: options.php:362
|
119 |
+
msgid "Remove HTTP/HTTPS"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: options.php:374
|
123 |
+
msgid "HTTPS"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: options.php:376 options.php:515
|
127 |
+
msgid "Bypass the cache"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: options.php:377 options.php:514
|
131 |
+
msgid "Cache separately"
|
132 |
+
msgstr ""
|
133 |
+
|
134 |
+
#: options.php:378
|
135 |
+
msgid "Use the standard cache (I have HTTP/HTTPS aware pages)"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: options.php:391
|
139 |
+
msgid "Do not cache the home page"
|
140 |
+
msgstr ""
|
141 |
+
|
142 |
+
#: options.php:395
|
143 |
+
msgid "When active, the home page and its subpages are not cached."
|
144 |
+
msgstr ""
|
145 |
+
|
146 |
+
#: options.php:396
|
147 |
+
msgid "Works even with a static home page."
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: options.php:401
|
151 |
+
msgid "Do not cache the \"404 - Not found\" page"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
#: options.php:405
|
155 |
+
msgid ""
|
156 |
+
"When active, Hyper Cache does not serve a cached \"404 not found\" page."
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: options.php:406
|
160 |
+
msgid ""
|
161 |
+
"Requests which lead to a 404 not found page overload you blog since "
|
162 |
+
"WordPress must generate a full page"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: options.php:407
|
166 |
+
msgid "Caching it help in reduce that overload."
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: options.php:412
|
170 |
+
msgid "Do not cache the blog main feeds"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: options.php:416
|
174 |
+
msgid "When active, the main blog feed %s is not cached."
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: options.php:422
|
178 |
+
msgid "Do not cache single post comment feed"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: options.php:426
|
182 |
+
msgid "When active, the single post comment feeds are not cached."
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: options.php:427
|
186 |
+
msgid ""
|
187 |
+
"Usually I enable this bypass since it saves disk space and comment feed on "
|
188 |
+
"single posts are not usually used."
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: options.php:432
|
192 |
+
msgid "Exact URIs to bypass"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: options.php:434 options.php:447 options.php:461 options.php:472
|
196 |
+
#: options.php:484
|
197 |
+
msgid "Enable"
|
198 |
+
msgstr ""
|
199 |
+
|
200 |
+
#: options.php:437 options.php:450 options.php:464 options.php:475
|
201 |
+
#: options.php:545
|
202 |
+
msgid "One per line."
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: options.php:438
|
206 |
+
msgid "Those URIs are exactly matched."
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: options.php:439 options.php:452
|
210 |
+
msgid ""
|
211 |
+
"For example if you add the <code>/my-single-post</code> URI and a request is "
|
212 |
+
"received for <code>http://youblog.com<strong>/my-single-post</strong></code> "
|
213 |
+
"that page IS NOT cached."
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: options.php:440
|
217 |
+
msgid ""
|
218 |
+
"A request for <code>http://youblog.com<strong>/my-single-post-something</"
|
219 |
+
"strong></code> IS cached."
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: options.php:445
|
223 |
+
msgid "(Starting with) URIs to bypass"
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: options.php:451
|
227 |
+
msgid "Those URIs match if a requested URI starts with one of them."
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: options.php:454
|
231 |
+
msgid ""
|
232 |
+
"A request for <code>http://youblog.com<strong>/my-single-post-something</"
|
233 |
+
"strong></code> IS NOT cached as well."
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#: options.php:459
|
237 |
+
msgid "Cookies to bypass"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: options.php:465
|
241 |
+
msgid ""
|
242 |
+
"If the visitor has a cookie named as one of the listed values, the cache is "
|
243 |
+
"bypassed."
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: options.php:470
|
247 |
+
msgid "Devices (user agents) to bypass"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: options.php:476
|
251 |
+
msgid ""
|
252 |
+
"If the visitor has a device with a user agent named as one of the listed "
|
253 |
+
"values, the cache is bypassed."
|
254 |
+
msgstr ""
|
255 |
+
|
256 |
+
#: options.php:482
|
257 |
+
msgid "Don't serve cached pages to comment authors"
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: options.php:487
|
261 |
+
msgid ""
|
262 |
+
"Hyper Cache is able to work with users who left a comment and completes the "
|
263 |
+
"comment form with\r\n"
|
264 |
+
" user data even on cached page"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: options.php:489
|
268 |
+
msgid "(with a small JavaScript added at the end of the pages)."
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: options.php:490
|
272 |
+
msgid "But the \"awaiting moderation\" message cannot be shown."
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: options.php:491
|
276 |
+
msgid ""
|
277 |
+
"If you have few readers who comment you can disable this feature to get back "
|
278 |
+
"the classical WordPress comment flow."
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: options.php:496
|
282 |
+
msgid "Reject posts older than"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: options.php:500
|
286 |
+
msgid ""
|
287 |
+
"Older posts won't be cached and stored resulting in a lower disk space usage."
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: options.php:501
|
291 |
+
msgid "Useful when older posts have low traffic."
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: options.php:511
|
295 |
+
msgid "Working mode"
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: options.php:513
|
299 |
+
msgid "Use the standard cache"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: options.php:518
|
303 |
+
msgid ""
|
304 |
+
"Choose \"cache separately\" if you produce different content for mobile "
|
305 |
+
"devices"
|
306 |
+
msgstr ""
|
307 |
+
|
308 |
+
#: options.php:519
|
309 |
+
msgid ""
|
310 |
+
"See for example my <a href=\"http://www.satollo.net/plugins/header-footer\" "
|
311 |
+
"target=\"_blank\">Header and Footer</a> plugin for different desktop/mobile "
|
312 |
+
"ads injection in posts."
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: options.php:524
|
316 |
+
msgid "Mobile theme"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: options.php:535
|
320 |
+
msgid ""
|
321 |
+
"If you have plugins which produce different content for desktop and mobile "
|
322 |
+
"devices, you should use a separate cache for mobile."
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: options.php:540
|
326 |
+
msgid "Mobile user agents"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: options.php:546
|
330 |
+
msgid ""
|
331 |
+
"A \"user agent\" is a text which identify the kind of device used to surf "
|
332 |
+
"the site."
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: options.php:547
|
336 |
+
msgid "For example and iPhone has <code>iphone</code> as user agent."
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: options.php:557
|
340 |
+
msgid "Save"
|
341 |
+
msgstr ""
|
options.php
CHANGED
@@ -1,525 +1,774 @@
|
|
1 |
<?php
|
|
|
|
|
2 |
|
3 |
-
$options
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
$plugin_dir = basename(dirname(__FILE__));
|
8 |
-
load_plugin_textdomain('hyper-cache', 'wp-content/plugins/' . $plugin_dir, $plugin_dir);
|
9 |
}
|
10 |
|
|
|
|
|
11 |
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
|
|
|
|
|
|
16 |
|
17 |
-
$
|
18 |
-
if (
|
19 |
-
|
20 |
-
if (!check_admin_referer()) die('No hacking please');
|
21 |
-
|
22 |
-
$tmp = stripslashes_deep($_POST['options']);
|
23 |
|
24 |
-
if ($options['
|
25 |
-
|
26 |
-
hyper_delete_path(WP_CONTENT_DIR . '/cache/hyper-cache');
|
27 |
}
|
28 |
|
29 |
-
$options
|
30 |
-
|
31 |
-
|
32 |
-
$options['timeout'] = (int)$options['timeout'];
|
33 |
|
34 |
-
|
35 |
-
$options['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
$
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
43 |
}
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
-
update_option('hyper', $options);
|
48 |
|
49 |
-
|
50 |
-
if ($options['
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
54 |
}
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
}
|
63 |
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
#satollo-header {
|
69 |
-
text-align: left;
|
70 |
-
background-color: #f4f4f4;
|
71 |
-
padding: 5px;
|
72 |
-
padding-left: 15px;
|
73 |
-
border-radius: 3px;
|
74 |
-
text-transform: uppercase;
|
75 |
}
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
padding: 5px;
|
85 |
-
margin-top: 10px;
|
86 |
-
border-bottom-left-radius: 4px 4px;
|
87 |
-
border-bottom-right-radius: 4px 4px;
|
88 |
-
border-top-left-radius: 4px 4px;
|
89 |
-
border-top-right-radius: 4px 4px;
|
90 |
}
|
91 |
-
|
92 |
-
|
93 |
-
|
|
|
94 |
}
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
font-weight: bold;
|
99 |
}
|
100 |
-
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
<div id="satollo-header">
|
105 |
-
<a href="http://www.satollo.net/plugins/hyper-cache" target="_blank">Get Help</a>
|
106 |
-
<a href="http://www.satollo.net/forums" target="_blank">Forum</a>
|
107 |
-
|
108 |
-
<form style="display: inline; margin: 0;" action="http://www.satollo.net/wp-content/plugins/newsletter/do/subscribe.php" method="post" target="_blank">
|
109 |
-
Subscribe to satollo.net <input type="email" name="ne" required placeholder="Your email">
|
110 |
-
<input type="hidden" name="nr" value="hyper-cache">
|
111 |
-
<input type="submit" value="Go">
|
112 |
-
</form>
|
113 |
|
114 |
-
|
|
|
|
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
|
128 |
-
|
|
|
|
|
|
|
|
|
129 |
|
130 |
-
|
131 |
-
<strong>Florian Höch</strong> (<a href="http://hoech.net" target="_blank">hoech.net</a>) for new features on version 2.9+.
|
132 |
-
<strong>Quentin</strong> (<a href="http://www.tradpress.fr" target="_blank">TradPress</a>) for French translation.
|
133 |
-
<strong>Mckryak</strong> for Russian translation. Tommy Tung alias Ragnarok for Chineese and Twaineese translations. And many others to be added.
|
134 |
-
</p>
|
135 |
|
136 |
-
|
137 |
-
if ($error)
|
138 |
-
{
|
139 |
-
echo __('<p><strong>Options saved BUT not active because Hyper Cache was not able to update the file wp-content/advanced-cache.php (is it writable?).</strong></p>', 'hyper-cache');
|
140 |
}
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
-
<
|
150 |
-
<?php printf(__('You can find more details about configurations and working mode on <a href="%s">Hyper Cache official page</a>.', 'hyper-cache'), 'http://www.satollo.net/plugins/hyper-cache'); ?>
|
151 |
-
</p>
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
<form method="post" action="">
|
156 |
-
<?php wp_nonce_field(); ?>
|
157 |
-
|
158 |
-
<p class="submit">
|
159 |
-
<input class="button" type="submit" name="clean" value="<?php _e('Clear cache', 'hyper-cache'); ?>">
|
160 |
-
</p>
|
161 |
-
|
162 |
-
<h3><?php _e('Cache status', 'hyper-cache'); ?></h3>
|
163 |
-
<table class="form-table">
|
164 |
-
<tr valign="top">
|
165 |
-
<th><?php _e('Files in cache (valid and expired)', 'hyper-cache'); ?></th>
|
166 |
-
<td><?php echo hyper_count(); ?></td>
|
167 |
-
</tr>
|
168 |
-
<tr valign="top">
|
169 |
-
<th><?php _e('Cleaning process', 'hyper-cache'); ?></th>
|
170 |
-
<td>
|
171 |
-
<?php _e('Next run on: ', 'hyper-cache'); ?>
|
172 |
-
<?php
|
173 |
-
$next_scheduled = wp_next_scheduled('hyper_clean');
|
174 |
-
if (empty($next_scheduled)) echo '? (read below)';
|
175 |
-
else echo gmdate(get_option('date_format') . ' ' . get_option('time_format'), $next_scheduled + get_option('gmt_offset')*3600);
|
176 |
-
?>
|
177 |
-
<div class="hints">
|
178 |
-
<?php _e('The cleaning process runs hourly and it\'s ok to run it hourly: that grant you an efficient cache. If above there is not a valid next run time, wait 10 seconds and reenter this panel. If nothing change, try to deactivate and reactivate Hyper Cache.', 'hyper-cache'); ?>
|
179 |
-
</div>
|
180 |
-
</td>
|
181 |
-
</tr>
|
182 |
-
</table>
|
183 |
-
|
184 |
-
|
185 |
-
<h3><?php _e('Configuration', 'hyper-cache'); ?></h3>
|
186 |
-
|
187 |
-
<table class="form-table">
|
188 |
-
|
189 |
-
<tr valign="top">
|
190 |
-
<th><?php _e('Cached pages timeout', 'hyper-cache'); ?></th>
|
191 |
-
<td>
|
192 |
-
<input type="text" size="5" name="options[timeout]" value="<?php echo htmlspecialchars($options['timeout']); ?>"/>
|
193 |
-
(<?php _e('minutes', 'hyper-cache'); ?>)
|
194 |
-
<div class="hints">
|
195 |
-
<?php _e('Minutes a cached page is valid and served to users. A zero value means a cached page is
|
196 |
-
valid forever.', 'hyper-cache'); ?>
|
197 |
-
<?php _e('If a cached page is older than specified value (expired) it is no more used and
|
198 |
-
will be regenerated on next request of it.', 'hyper-cache'); ?>
|
199 |
-
<?php _e('720 minutes is half a day, 1440 is a full day and so on.', 'hyper-cache'); ?>
|
200 |
-
</div>
|
201 |
-
</td>
|
202 |
-
</tr>
|
203 |
-
|
204 |
-
<tr valign="top">
|
205 |
-
<th><?php _e('Cache invalidation mode', 'hyper-cache'); ?></th>
|
206 |
-
<td>
|
207 |
-
<select name="options[expire_type]">
|
208 |
-
<option value="all" <?php echo ($options['expire_type'] == 'all')?'selected':''; ?>><?php _e('All cached pages', 'hyper-cache'); ?></option>
|
209 |
-
<option value="post" <?php echo ($options['expire_type'] == 'post')?'selected':''; ?>><?php _e('Only modified posts', 'hyper-cache'); ?></option>
|
210 |
-
<!--<option value="post_strictly" <?php echo ($options['expire_type'] == 'post_strictly')?'selected':''; ?>><?php _e('Only modified pages', 'hyper-cache'); ?></option>-->
|
211 |
-
<option value="none" <?php echo ($options['expire_type'] == 'none')?'selected':''; ?>><?php _e('Nothing', 'hyper-cache'); ?></option>
|
212 |
-
</select>
|
213 |
-
<br />
|
214 |
-
<input type="checkbox" name="options[archive]" value="1" <?php echo $options['archive']?'checked':''; ?>/>
|
215 |
-
<?php _e('Invalidate home, archives, categories on single post invalidation', 'hyper-cache'); ?>
|
216 |
-
<br />
|
217 |
-
<div class="hints">
|
218 |
-
<?php _e('"Invalidation" is the process of deleting cached pages when they are no more valid.', 'hyper-cache'); ?>
|
219 |
-
<?php _e('Invalidation process is started when blog contents are modified (new post, post update, new comment,...) so
|
220 |
-
one or more cached pages need to be refreshed to get that new content.', 'hyper-cache'); ?>
|
221 |
-
<?php _e('A new comment submission or a comment moderation is considered like a post modification
|
222 |
-
where the post is the one the comment is relative to.', 'hyper-cache'); ?>
|
223 |
-
</div>
|
224 |
-
</td>
|
225 |
-
</tr>
|
226 |
-
|
227 |
-
<tr valign="top">
|
228 |
-
<th><?php _e('Disable cache for commenters', 'hyper-cache'); ?></th>
|
229 |
-
<td>
|
230 |
-
<input type="checkbox" name="options[comment]" value="1" <?php echo isset($options['comment'])?'checked':''; ?>/>
|
231 |
-
<div class="hints">
|
232 |
-
<?php _e('When users leave comments, WordPress show pages with their comments even if in moderation
|
233 |
-
(and not visible to others) and pre-fills the comment form.', 'hyper-cache'); ?>
|
234 |
-
<?php _e('If you want to keep those features, enable this option.', 'hyper-cache'); ?>
|
235 |
-
<?php _e('The caching system will be less efficient but the blog more usable.', 'hyper-cache'); ?>
|
236 |
-
</div>
|
237 |
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
<
|
242 |
-
|
243 |
-
|
244 |
-
<input type="checkbox" name="options[feed]" value="1" <?php echo isset($options['feed'])?'checked':''; ?>/>
|
245 |
-
<div class="hints">
|
246 |
-
<?php _e('When enabled the blog feeds will be cache as well.', 'hyper-cache'); ?>
|
247 |
-
<?php _e('Usually this options has to be left unchecked but if your blog is rather static,
|
248 |
-
you can enable it and have a bit more efficiency', 'hyper-cache'); ?>
|
249 |
</div>
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
<
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
<div class="hints">
|
258 |
-
<?php _e('Allow browser caching.','hyper-cache'); ?>
|
259 |
-
</div>
|
260 |
-
</td>
|
261 |
-
</tr>
|
262 |
-
</table>
|
263 |
-
<p class="submit">
|
264 |
-
<input class="button" type="submit" name="save" value="<?php _e('Update'); ?>">
|
265 |
-
</p>
|
266 |
-
|
267 |
-
<h3><?php _e('Configuration for mobile devices', 'hyper-cache'); ?></h3>
|
268 |
-
<table class="form-table">
|
269 |
-
<tr valign="top">
|
270 |
-
<th><?php _e('WordPress Mobile Pack', 'hyper-cache'); ?></th>
|
271 |
-
<td>
|
272 |
-
<input type="checkbox" name="options[plugin_mobile_pack]" value="1" <?php echo isset($options['plugin_mobile_pack'])?'checked':''; ?>/>
|
273 |
-
<div class="hints">
|
274 |
-
<?php _e('Enbale integration with <a href="http://wordpress.org/extend/plugins/wordpress-mobile-pack/">WordPress Mobile Pack</a> plugin. If you have that plugin, Hyper Cache use it to detect mobile devices and caches saparately
|
275 |
-
the different pages generated.', 'hyper-cache'); ?>
|
276 |
-
</div>
|
277 |
-
</td>
|
278 |
-
</tr>
|
279 |
-
<tr valign="top">
|
280 |
-
<th><?php _e('Detect mobile devices', 'hyper-cache'); ?></th>
|
281 |
-
<td>
|
282 |
-
<input type="checkbox" name="options[mobile]" value="1" <?php echo isset($options['mobile'])?'checked':''; ?>/>
|
283 |
-
<div class="hints">
|
284 |
-
<?php _e('When enabled mobile devices will be detected and the cached page stored under different name.', 'hyper-cache'); ?>
|
285 |
-
<?php _e('This makes blogs with different themes for mobile devices to work correctly.', 'hyper-cache'); ?>
|
286 |
-
</div>
|
287 |
-
</td>
|
288 |
-
</tr>
|
289 |
-
|
290 |
-
<tr valign="top">
|
291 |
-
<th><?php _e('Mobile agent list', 'hyper-cache'); ?></th>
|
292 |
-
<td>
|
293 |
-
<textarea wrap="off" rows="4" cols="70" name="options[mobile_agents]"><?php echo htmlspecialchars($options['mobile_agents']); ?></textarea>
|
294 |
-
<div class="hints">
|
295 |
-
<?php _e('One per line mobile agents to check for when a page is requested.', 'hyper-cache'); ?>
|
296 |
-
<?php _e('The mobile agent string is matched against the agent a device is sending to the server.', 'hyper-cache'); ?>
|
297 |
-
</div>
|
298 |
-
</td>
|
299 |
-
</tr>
|
300 |
-
</table>
|
301 |
-
<p class="submit">
|
302 |
-
<input class="button" type="submit" name="save" value="<?php _e('Update'); ?>">
|
303 |
-
</p>
|
304 |
-
|
305 |
-
|
306 |
-
<h3><?php _e('Compression', 'hyper-cache'); ?></h3>
|
307 |
-
|
308 |
-
<?php if (!function_exists('gzencode') || !function_exists('gzinflate')) { ?>
|
309 |
-
|
310 |
-
<p><?php _e('Your hosting space has not the "gzencode" or "gzinflate" function, so no compression options are available.', 'hyper-cache'); ?></p>
|
311 |
-
|
312 |
-
<?php } else { ?>
|
313 |
-
|
314 |
-
<table class="form-table">
|
315 |
-
<tr valign="top">
|
316 |
-
<th><?php _e('Store compressed pages', 'hyper-cache'); ?></th>
|
317 |
-
<td>
|
318 |
-
<input type="checkbox" name="options[store_compressed]" value="1" <?php echo $options['store_compressed']?'checked':''; ?>
|
319 |
-
onchange="jQuery('input[name="options[gzip]"]').attr('disabled', !this.checked)" />
|
320 |
-
<div class="hints">
|
321 |
-
<?php _e('Enable this option to minimize disk space usage and make sending of compressed pages possible with the option below.', 'hyper-cache'); ?>
|
322 |
-
<?php _e('The cache will be a little less performant.', 'hyper-cache'); ?>
|
323 |
-
<?php _e('Leave the options disabled if you note malfunctions, like blank pages.', 'hyper-cache'); ?>
|
324 |
-
<br />
|
325 |
-
<?php _e('If you enable this option, the option below will be available as well.', 'hyper-cache'); ?>
|
326 |
-
</div>
|
327 |
-
</td>
|
328 |
-
</tr>
|
329 |
-
|
330 |
-
<tr valign="top">
|
331 |
-
<th><?php _e('Send compressed pages', 'hyper-cache'); ?></th>
|
332 |
-
<td>
|
333 |
-
<input type="checkbox" name="options[gzip]" value="1" <?php echo $options['gzip']?'checked':''; ?>
|
334 |
-
<?php echo $options['store_compressed']?'':'disabled'; ?> />
|
335 |
-
<div class="hints">
|
336 |
-
<?php _e('When possible (i.e. if the browser accepts compression and the page was cached compressed) the page will be sent compressed to save bandwidth.', 'hyper-cache'); ?>
|
337 |
-
<?php _e('Only the textual part of a page can be compressed, not images, so a photo
|
338 |
-
blog will consume a lot of bandwidth even with compression enabled.', 'hyper-cache'); ?>
|
339 |
-
<?php _e('Leave the options disabled if you note malfunctions, like blank pages.', 'hyper-cache'); ?>
|
340 |
-
<br />
|
341 |
-
<?php _e('If you enable this option, the option below will be available as well.', 'hyper-cache'); ?>
|
342 |
-
</div>
|
343 |
-
</td>
|
344 |
-
</tr>
|
345 |
-
|
346 |
-
<tr valign="top">
|
347 |
-
<th><?php _e('On-the-fly compression', 'hyper-cache'); ?></th>
|
348 |
-
<td>
|
349 |
-
<input type="checkbox" name="options[gzip_on_the_fly]" value="1" <?php echo $options['gzip_on_the_fly']?'checked':''; ?> />
|
350 |
-
<div class="hints">
|
351 |
-
<?php _e('When possible (i.e. if the browser accepts compression) use on-the-fly compression to save bandwidth when sending pages which are not compressed.', 'hyper-cache'); ?>
|
352 |
-
<?php _e('Serving of such pages will be a little less performant.', 'hyper-cache'); ?>
|
353 |
-
<?php _e('Leave the options disabled if you note malfunctions, like blank pages.', 'hyper-cache'); ?>
|
354 |
-
</div>
|
355 |
-
</td>
|
356 |
-
</tr>
|
357 |
-
</table>
|
358 |
-
<p class="submit">
|
359 |
-
<input class="button" type="submit" name="save" value="<?php _e('Update'); ?>">
|
360 |
-
</p>
|
361 |
-
<?php } ?>
|
362 |
-
|
363 |
-
|
364 |
-
<h3><?php _e('Advanced options', 'hyper-cache'); ?></h3>
|
365 |
-
|
366 |
-
<table class="form-table">
|
367 |
-
<tr valign="top">
|
368 |
-
<th><?php _e('Translation', 'hyper-cache'); ?></th>
|
369 |
-
<td>
|
370 |
-
<input type="checkbox" name="options[notranslation]" value="1" <?php echo $options['notranslation']?'checked':''; ?>/>
|
371 |
-
<div class="hints">
|
372 |
-
<?php _e('DO NOT show this panel translated.', 'hyper-cache'); ?>
|
373 |
-
</div>
|
374 |
-
</td>
|
375 |
-
</tr>
|
376 |
-
|
377 |
-
<tr valign="top">
|
378 |
-
<th><?php _e('Disable Last-Modified header', 'hyper-cache'); ?></th>
|
379 |
-
<td>
|
380 |
-
<input type="checkbox" name="options[lastmodified]" value="1" <?php echo $options['lastmodified']?'checked':''; ?>/>
|
381 |
-
<div class="hints">
|
382 |
-
<?php _e('Disable some HTTP headers (Last-Modified) which improve performances but some one is reporting they create problems which some hosting configurations.','hyper-cache'); ?>
|
383 |
-
</div>
|
384 |
-
</td>
|
385 |
-
</tr>
|
386 |
-
|
387 |
-
<tr valign="top">
|
388 |
-
<th><?php _e('Home caching', 'hyper-cache'); ?></th>
|
389 |
-
<td>
|
390 |
-
<input type="checkbox" name="options[home]" value="1" <?php echo $options['home']?'checked':''; ?>/>
|
391 |
-
<div class="hints">
|
392 |
-
<?php _e('DO NOT cache the home page so it is always fresh.','hyper-cache'); ?>
|
393 |
-
</div>
|
394 |
-
</td>
|
395 |
-
</tr>
|
396 |
-
|
397 |
-
<tr valign="top">
|
398 |
-
<th><?php _e('Redirect caching', 'hyper-cache'); ?></th>
|
399 |
-
<td>
|
400 |
-
<input type="checkbox" name="options[redirects]" value="1" <?php echo $options['redirects']?'checked':''; ?>/>
|
401 |
-
<br />
|
402 |
-
<?php _e('Cache WordPress redirects.', 'hyper-cache'); ?>
|
403 |
-
<?php _e('WordPress sometime sends back redirects that can be cached to avoid further processing time.', 'hyper-cache'); ?>
|
404 |
-
</td>
|
405 |
-
</tr>
|
406 |
-
|
407 |
-
<tr valign="top">
|
408 |
-
<th><?php _e('Page not found caching (HTTP 404)', 'hyper-cache'); ?></th>
|
409 |
-
<td>
|
410 |
-
<input type="checkbox" name="options[notfound]" value="1" <?php echo $options['notfound']?'checked':''; ?>/>
|
411 |
-
</td>
|
412 |
-
</tr>
|
413 |
-
|
414 |
-
<tr valign="top">
|
415 |
-
<th><?php _e('Strip query string', 'hyper-cache'); ?></th>
|
416 |
-
<td>
|
417 |
-
<input type="checkbox" name="options[strip_qs]" value="1" <?php echo $options['strip_qs']?'checked':''; ?>/>
|
418 |
-
<div class="hints">
|
419 |
-
<?php _e('This is a really special case, usually you have to kept it disabled. When enabled, URL with query string will be
|
420 |
-
reduced removing the query string. So the URL http://www.domain.com/post-title and
|
421 |
-
http://www.domain.com/post-title?a=b&c=d are cached as a single page.<br />
|
422 |
-
Setting this option disable the next one.', 'hyper-cache'); ?>
|
423 |
-
<br />
|
424 |
-
<?php _e('<strong>Many plugins can stop to work correctly with this option enabled
|
425 |
-
(eg. my <a href="http://www.satollo.net/plugins/newsletter">Newsletter plugin</a>)</strong>', 'hyper-cache'); ?>
|
426 |
-
</div>
|
427 |
-
</td>
|
428 |
-
</tr>
|
429 |
-
|
430 |
-
<tr valign="top">
|
431 |
-
<th><?php _e('URL with parameters', 'hyper-cache'); ?></th>
|
432 |
-
<td>
|
433 |
-
<input type="checkbox" name="options[cache_qs]" value="1" <?php echo $options['cache_qs']?'checked':''; ?>/>
|
434 |
-
<div class="hints">
|
435 |
-
<?php _e('Cache requests with query string (parameters).', 'hyper-cache'); ?>
|
436 |
-
<?php _e('This option has to be enabled for blogs which have post URLs with a question mark on them.', 'hyper-cache'); ?>
|
437 |
-
<?php _e('This option is disabled by default because there is plugins which use
|
438 |
-
URL parameter to perform specific action that cannot be cached', 'hyper-cache'); ?>
|
439 |
-
<?php _e('For who is using search engines friendly permalink format is safe to
|
440 |
-
leave this option disabled, no performances will be lost.', 'hyper-cache'); ?>
|
441 |
-
</div>
|
442 |
-
</td>
|
443 |
-
</tr>
|
444 |
-
|
445 |
-
<tr valign="top">
|
446 |
-
<th><?php _e('Allow browser to bypass cache', 'hyper-cache'); ?></th>
|
447 |
-
<td>
|
448 |
-
<input type="checkbox" name="options[nocache]" value="1" <?php echo $options['nocache']?'checked':''; ?>/>
|
449 |
-
<div class="hints">
|
450 |
-
<?php _e('Do not use cache if browser sends no-cache header (e.g. on explicit page reload).','hyper-cache'); ?>
|
451 |
</div>
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
<tr valign="top">
|
465 |
-
<th><?php _e('URI to reject', 'hyper-cache'); ?></th>
|
466 |
-
<td>
|
467 |
-
<textarea wrap="off" rows="5" cols="70" name="options[reject]"><?php echo htmlspecialchars($options['reject']); ?></textarea>
|
468 |
-
<div class="hints">
|
469 |
-
<?php _e('Write one URI per line, each URI has to start with a slash.', 'hyper-cache'); ?>
|
470 |
-
<?php _e('A specified URI will match the requested URI if the latter starts with the former.', 'hyper-cache'); ?>
|
471 |
-
<?php _e('If you want to specify a stric matching, surround the URI with double quotes.', 'hyper-cache'); ?>
|
472 |
-
|
473 |
-
<?php
|
474 |
-
$languages = get_option('gltr_preferred_languages');
|
475 |
-
if (is_array($languages))
|
476 |
-
{
|
477 |
-
echo '<br />';
|
478 |
-
$home = get_option('home');
|
479 |
-
$x = strpos($home, '/', 8); // skips http://
|
480 |
-
$base = '';
|
481 |
-
if ($x !== false) $base = substr($home, $x);
|
482 |
-
echo 'It seems you have Global Translator installed. The URI prefixes below can be added to avoid double caching of translated pages:<br />';
|
483 |
-
foreach($languages as $l) echo $base . '/' . $l . '/ ';
|
484 |
-
}
|
485 |
-
?>
|
486 |
</div>
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
<
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
</div>
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
</div>
|
516 |
-
|
517 |
-
|
518 |
|
519 |
-
|
|
|
|
|
|
|
|
|
520 |
|
521 |
-
|
522 |
-
<input class="button" type="submit" name="save" value="<?php _e('Update'); ?>">
|
523 |
-
</p>
|
524 |
-
</form>
|
525 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
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');
|
8 |
+
}
|
|
|
|
|
9 |
}
|
10 |
|
11 |
+
if ($controls->is_action('save')) {
|
12 |
+
$controls->options = stripslashes_deep($_POST['options']);
|
13 |
|
14 |
+
$controls->options['cdn_url'] = strtolower(trim($controls->options['cdn_url']));
|
15 |
+
$controls->options['cdn_url'] = rtrim($controls->options['cdn_url'], '/');
|
16 |
+
if (!empty($controls->options['cdn_url'])) {
|
17 |
+
if (strpos($controls->options['cdn_url'], 'http') !== 0) {
|
18 |
+
$controls->options['cdn_url'] = 'http://' . $controls->options['cdn_url'];
|
19 |
+
}
|
20 |
+
}
|
21 |
|
22 |
+
$controls->options['folder'] = trim($controls->options['folder']);
|
23 |
+
if (!empty($controls->options['folder']))
|
24 |
+
$controls->options['folder'] = untrailingslashit($controls->options['folder']);
|
|
|
|
|
|
|
25 |
|
26 |
+
if (!is_numeric($controls->options['max_age'])) {
|
27 |
+
$controls->options['max_age'] = 24;
|
|
|
28 |
}
|
29 |
|
30 |
+
if (!is_numeric($controls->options['browser_cache_hours'])) {
|
31 |
+
$controls->options['browser_cache_hours'] = 0;
|
32 |
+
}
|
|
|
33 |
|
34 |
+
// Mobile Agents
|
35 |
+
$controls->options['mobile_agents'] = strtolower(trim($controls->options['mobile_agents']));
|
36 |
+
$controls->options['mobile_agents'] = $plugin->text_to_list($controls->options['mobile_agents']);
|
37 |
+
|
38 |
+
// Rejected Agents
|
39 |
+
$controls->options['reject_agents'] = strtolower(trim($controls->options['reject_agents']));
|
40 |
+
if (empty($controls->options['reject_agents'])) {
|
41 |
+
unset($controls->options['reject_agents_enabled']);
|
42 |
+
$controls->options['reject_agents'] = array();
|
43 |
+
} else {
|
44 |
+
$controls->options['reject_agents'] = str_replace('#', ' ', $controls->options['reject_agents']);
|
45 |
+
$controls->options['reject_agents'] = $plugin->text_to_list($controls->options['reject_agents']);
|
46 |
+
}
|
47 |
|
48 |
+
$controls->options['reject_cookies'] = strtolower(trim($controls->options['reject_cookies']));
|
49 |
+
if (empty($controls->options['reject_cookies'])) {
|
50 |
+
unset($controls->options['reject_cookies_enabled']);
|
51 |
+
$controls->options['reject_cookies'] = array();
|
52 |
+
} else {
|
53 |
+
$controls->options['reject_cookies'] = str_replace('#', ' ', $controls->options['reject_cookies']);
|
54 |
+
$controls->options['reject_cookies'] = $plugin->text_to_list($controls->options['reject_cookies']);
|
55 |
}
|
56 |
+
// Rejected URIs
|
57 |
+
$controls->options['reject_uris'] = strtolower(trim($controls->options['reject_uris']));
|
58 |
+
if (empty($controls->options['reject_uris'])) {
|
59 |
+
unset($controls->options['reject_uris_enabled']);
|
60 |
+
$controls->options['reject_uris'] = array();
|
61 |
+
} else {
|
62 |
+
$controls->options['reject_uris'] = str_replace('#', ' ', $controls->options['reject_uris']);
|
63 |
+
$controls->options['reject_uris'] = $plugin->text_to_list($controls->options['reject_uris']);
|
64 |
}
|
|
|
65 |
|
66 |
+
$controls->options['reject_uris_exact'] = strtolower(trim($controls->options['reject_uris_exact']));
|
67 |
+
if (empty($controls->options['reject_uris_exact'])) {
|
68 |
+
unset($controls->options['reject_uris_exact_enabled']);
|
69 |
+
$controls->options['reject_uris_exact'] = array();
|
70 |
+
} else {
|
71 |
+
$controls->options['reject_uris_exact'] = str_replace('#', ' ', $controls->options['reject_uris_exact']);
|
72 |
+
$controls->options['reject_uris_exact'] = $plugin->text_to_list($controls->options['reject_uris_exact']);
|
73 |
}
|
74 |
+
|
75 |
+
update_option('hyper-cache', $controls->options);
|
76 |
+
|
77 |
+
$controls->messages = __('Options saved. If you changed any of the bypasses empty the cache.', 'hyper-cache');
|
78 |
+
|
79 |
+
$plugin->options = $controls->options;
|
80 |
+
$r = $plugin->build_advanced_cache();
|
81 |
+
|
82 |
+
if ($r == false) {
|
83 |
+
$controls->errors = 'Unable to write the <code>wp-content/advanced-cache.php</code> file. Check the file or folder permissions.';
|
84 |
}
|
85 |
}
|
86 |
|
87 |
+
if ($controls->is_action('clean')) {
|
88 |
+
$folder = $plugin->get_folder();
|
89 |
+
$plugin->remove_dir($folder . '');
|
90 |
+
$controls->messages = __('The cache folder has been cleaned.', 'hyper-cache');
|
91 |
+
}
|
92 |
|
93 |
+
if ($controls->is_action('autoclean')) {
|
94 |
+
$plugin->hook_hyper_cache_clean();
|
95 |
+
$controls->messages = 'Done!';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
}
|
97 |
|
98 |
+
if ($controls->is_action('clean-home')) {
|
99 |
+
$home = get_option('home');
|
100 |
+
$home = substr($home, strpos($home, '://') + 1);
|
101 |
+
$folder = $plugin->get_folder() . '/' . $home;
|
102 |
+
@unlink($folder . '/index.html');
|
103 |
+
@unlink($folder . '/index.html.gz');
|
104 |
+
@unlink($folder . '/index-https.html');
|
105 |
+
@unlink($folder . '/index-https.html.gz');
|
106 |
+
@unlink($folder . '/index-mobile.html');
|
107 |
+
@unlink($folder . '/index-mobile.html.gz');
|
108 |
+
@unlink($folder . '/index-https-mobile.html');
|
109 |
+
@unlink($folder . '/index-https-mobile.html.gz');
|
110 |
+
@unlink($folder . '/robots.txt');
|
111 |
+
$plugin->remove_dir($folder . '/feed/');
|
112 |
+
$plugin->remove_dir($folder . '/page/');
|
113 |
+
$base = get_option('category_base');
|
114 |
+
if (empty($base)) {
|
115 |
+
$base = 'category';
|
116 |
+
}
|
117 |
+
$plugin->remove_dir($folder . '/' . $base . '/');
|
118 |
+
|
119 |
+
$base = get_option('tag_base');
|
120 |
+
if (empty($base)) {
|
121 |
+
$base = 'tag';
|
122 |
+
}
|
123 |
+
$plugin->remove_dir($folder . '/' . $base . '/');
|
124 |
+
|
125 |
+
$plugin->remove_dir($folder . '/type/');
|
126 |
+
|
127 |
+
$plugin->remove_dir($folder . '/' . date('Y') . '/');
|
128 |
}
|
129 |
|
130 |
+
if ($controls->is_action('delete')) {
|
131 |
+
delete_option('hyper-cahe');
|
132 |
+
$controls->messages = 'Options deleted';
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
}
|
134 |
+
|
135 |
+
if ($controls->is_action('size')) {
|
136 |
+
$folder = $plugin->get_folder();
|
137 |
+
$controls->messages = __('Cache size', 'hyper-cache') . ': ' . size_format((hc_size($folder . '/')));
|
138 |
}
|
139 |
|
140 |
+
if ($controls->is_action('reset_mobile_agents')) {
|
141 |
+
$controls->options['mobile_agents'] = explode('|', HyperCache::MOBILE_AGENTS);
|
|
|
142 |
}
|
143 |
+
if ($controls->is_action('import')) {
|
144 |
|
145 |
+
$old_options = get_option('hyper');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
+
if (!is_array($old_options)) {
|
148 |
+
$controls->errors = 'Old Hyper Cache options are missing or not readable';
|
149 |
+
} else {
|
150 |
|
151 |
+
$uris = $plugin->text_to_list($old_options['reject']);
|
152 |
+
$controls->options['reject_uris'] = array();
|
153 |
+
$controls->options['reject_uris_exact'] = array();
|
154 |
|
155 |
+
foreach ($uris as $uri) {
|
156 |
+
if (substr($uri, 0, 1) == '"') {
|
157 |
+
$controls->options['reject_uris_exact'] = str_replace('"', '', $uri);
|
158 |
+
} else {
|
159 |
+
$controls->options['reject_uris'];
|
160 |
+
}
|
161 |
+
}
|
162 |
|
163 |
+
$controls->options['mobile'] = isset($old_options['timeout']) ? 1 : 0;
|
164 |
+
$controls->options['max_age'] = (int) $old_options['timeout'] / 60;
|
165 |
+
$controls->options['reject_agents'] = $plugin->text_to_list($old_options['reject_agents']);
|
166 |
+
$controls->options['reject_cookies'] = $plugin->text_to_list($old_options['reject_cookies']);
|
167 |
+
$controls->options['mobile_agents'] = $plugin->text_to_list($old_options['mobile_agents']);
|
168 |
|
169 |
+
update_option('hyper-cache', $controls->options);
|
|
|
|
|
|
|
|
|
170 |
|
171 |
+
$controls->messages = 'Old options imported, now review them and save.';
|
|
|
|
|
|
|
172 |
}
|
173 |
+
}
|
174 |
+
|
175 |
+
function hc_size($dir) {
|
176 |
+
$files = glob($dir . '*', GLOB_MARK);
|
177 |
+
$size = 0;
|
178 |
+
if (!empty($files)) {
|
179 |
+
foreach ($files as &$file) {
|
180 |
+
if (substr($file, -1) == '/')
|
181 |
+
$size += hc_size($file);
|
182 |
+
else
|
183 |
+
$size += @filesize($file);
|
184 |
+
}
|
185 |
}
|
186 |
+
return $size;
|
187 |
+
}
|
188 |
+
|
189 |
+
if ($controls->options == null) {
|
190 |
+
$controls->options = get_option('hyper-cache');
|
191 |
+
}
|
192 |
+
|
193 |
+
// For installation that does not create the directory on activation
|
194 |
+
wp_mkdir_p($plugin->get_folder());
|
195 |
+
|
196 |
+
// Sometime it happens that a scheduled job is lost...
|
197 |
+
if (!wp_next_scheduled('hyper_cache_clean')) {
|
198 |
+
wp_schedule_event(time()+300, 'hourly', 'hyper_cache_clean');
|
199 |
+
}
|
200 |
+
|
201 |
?>
|
202 |
+
<script>
|
203 |
+
jQuery(document).ready(function() {
|
204 |
+
jQuery(function() {
|
205 |
+
tabs = jQuery("#tabs").tabs({
|
206 |
+
cookie: {
|
207 |
+
expires: 30
|
208 |
+
}
|
209 |
+
});
|
210 |
+
});
|
211 |
+
});
|
212 |
+
</script>
|
213 |
+
<div class="wrap">
|
214 |
|
215 |
+
<h2>Hyper Cache</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
|
217 |
+
<?php if (!defined('WP_CACHE') || !WP_CACHE) { ?>
|
218 |
+
<div class="error">
|
219 |
+
<p>
|
220 |
+
You must add to the file wp-config.php (after the <code>define('WPLANG', '');</code>) the line of code:
|
221 |
+
<code>define('WP_CACHE', true);</code>.
|
222 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
223 |
</div>
|
224 |
+
<?php } ?>
|
225 |
+
|
226 |
+
<?php if (@filemtime(WP_CONTENT_DIR . '/advanced-cache.php') < @filemtime(dirname(__FILE__) . '/advanced-cache.php')) { ?>
|
227 |
+
<div class="error">
|
228 |
+
<p>
|
229 |
+
<?php _e('You must save the options since some files must be updated.', 'hyper-cache'); ?>
|
230 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
</div>
|
232 |
+
<?php } ?>
|
233 |
+
|
234 |
+
<?php if (!is_dir($plugin->get_folder())) { ?>
|
235 |
+
<div class="error">
|
236 |
+
<p>
|
237 |
+
<?php
|
238 |
+
printf(__('Hyper Cache was not able to create or find the %s folder.', 'hyper-cache'),
|
239 |
+
'<code>' . $plugin->get_folder() . '</code>');
|
240 |
+
_e('Please create it manually with list, write and read permissions (usually 777).', 'hyper-cache');
|
241 |
+
?>
|
242 |
+
|
243 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
</div>
|
245 |
+
<?php } ?>
|
246 |
+
|
247 |
+
<?php if (get_option('permalink_structure') == '') { ?>
|
248 |
+
<div class="error">
|
249 |
+
<p>
|
250 |
+
<?php
|
251 |
+
_e('You should choose a different permalink structure.', 'hyper-cache');
|
252 |
+
_e('Change it on the <a href="options-permalink.php" target="_blank">permalink panel</a> otherwise Hyper Cache cannot work properly.', 'hyper-cache');
|
253 |
+
?>
|
254 |
+
</p>
|
255 |
</div>
|
256 |
+
<?php } ?>
|
257 |
+
|
258 |
+
|
259 |
+
<?php $controls->show(); ?>
|
260 |
+
|
261 |
+
|
262 |
+
<form method="post" action="">
|
263 |
+
<?php $controls->init(); ?>
|
264 |
+
|
265 |
+
|
266 |
+
<p>
|
267 |
+
Please, refer to the <a href="http://www.satollo.net/plugins/hyper-cache" target="_blank">official page</a>
|
268 |
+
and the <a href="http://www.satollo.net/forums/forum/hyper-cache" target="_blank">official forum</a> for support.
|
269 |
+
|
270 |
+
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8" target="_blank"><img style="vertical-align: bottom" src="http://www.satollo.net/images/donate.png"></a>
|
271 |
+
Even <b>2$</b> helps! (<a href="http://www.satollo.net/donations" target="_blank">read more</a>)
|
272 |
+
</p>
|
273 |
+
<p>
|
274 |
+
Want a full mail marketing system in your blog? Try my free <a href="http://www.satollo.net/plugins/newsletter" target="_blank">Newsletter</a> plugin.
|
275 |
+
</p>
|
276 |
+
<p>
|
277 |
+
<?php $controls->button('clean', __('Clean the whole cache', 'hyper-cache')); ?>
|
278 |
+
<?php $controls->button('clean-home', __('Clean home and archives', 'hyper-cache')); ?>
|
279 |
+
<?php $controls->button('size', __('Compute the cache size', 'hyper-cache')); ?>
|
280 |
+
<?php $controls->button('import', __('Import old options', 'hyper-cache'), 'Sure? Your setting will be overwritten.'); ?>
|
281 |
+
</p>
|
282 |
+
|
283 |
+
<div id="tabs">
|
284 |
+
<ul>
|
285 |
+
<li><a href="#tabs-general"><?php _e('General', 'hyper-cache'); ?></a></li>
|
286 |
+
<li><a href="#tabs-rejects"><?php _e('Bypasses', 'hyper-cache'); ?></a></li>
|
287 |
+
<li><a href="#tabs-mobile"><?php _e('Mobile', 'hyper-cache'); ?></a></li>
|
288 |
+
<?php if (defined('HYPER_CACHE_BETA') && HYPER_CACHE_BETA) { ?>
|
289 |
+
<li><a href="#tabs-cdn"><?php _e('CDN', 'hyper-cache'); ?></a></li>
|
290 |
+
<?php } ?>
|
291 |
+
</ul>
|
292 |
+
|
293 |
+
<?php if (defined('HYPER_CACHE_BETA') && HYPER_CACHE_BETA) { ?>
|
294 |
+
<div id="tabs-cdn">
|
295 |
+
<p>EXPERIEMTAL! It works only with images, css, scripts.</p>
|
296 |
+
<table class="form-table">
|
297 |
+
<tr>
|
298 |
+
<th> </th>
|
299 |
+
<td>
|
300 |
+
<?php $controls->checkbox('cdn_enabled', 'Enable'); ?>
|
301 |
+
</td>
|
302 |
+
</tr>
|
303 |
+
<tr>
|
304 |
+
<th>CDN URL</th>
|
305 |
+
<td>
|
306 |
+
<?php $controls->text('cdn_url', 50); ?>
|
307 |
+
<p class="description">
|
308 |
+
Write here the CDN URL. For example a MaxCDN URL is something like
|
309 |
+
<code>http://foo.bar.netdna-cdn.com</code>. You should usually create a pull zone in your
|
310 |
+
CDN panel and they will give your an URL.
|
311 |
+
</p>
|
312 |
+
</td>
|
313 |
+
</tr>
|
314 |
+
</table>
|
315 |
+
<p>
|
316 |
+
I'm actually testing it with <a href="http://www.satollo.net/affiliate/maxcdn" target="_blank">MaxCDN</a> and
|
317 |
+
<a href="http://www.satollo.net/affiliate/keycdn" target="_blank">KeyCDN</a>.
|
318 |
+
</p>
|
319 |
+
</div>
|
320 |
+
<?php } ?>
|
321 |
+
|
322 |
+
<div id="tabs-general">
|
323 |
+
|
324 |
+
<table class="form-table">
|
325 |
+
<tr>
|
326 |
+
<th>Disable translations</th>
|
327 |
+
<td>
|
328 |
+
<?php $controls->checkbox('translation_disabled', 'Disable'); ?>
|
329 |
+
<p class="description">
|
330 |
+
<!-- Do not translate that -->
|
331 |
+
If you want to see this panel with the original labels, you can disable the
|
332 |
+
tranlsation.
|
333 |
+
</p>
|
334 |
+
</td>
|
335 |
+
</tr>
|
336 |
+
<tr>
|
337 |
+
<th><?php _e('Cached pages will be valid for', 'hyper-cache'); ?></th>
|
338 |
+
<td>
|
339 |
+
<?php $controls->text('max_age'); ?> hours
|
340 |
+
<p class="description"><?php _e('0 means forever.', 'hyper-cache'); ?></p>
|
341 |
+
</td>
|
342 |
+
</tr>
|
343 |
+
<tr>
|
344 |
+
<th><?php _e('Enable compression', 'hyper-cache'); ?></th>
|
345 |
+
<td>
|
346 |
+
<?php $controls->checkbox('gzip'); ?>
|
347 |
+
|
348 |
+
<p class="description">
|
349 |
+
<?php _e('If you note odd characters when enabled, disable it since your server is already
|
350 |
+
compressing the pages.', 'hyper-cache'); ?>
|
351 |
+
</p>
|
352 |
+
</td>
|
353 |
+
</tr>
|
354 |
+
<tr>
|
355 |
+
<th>When the home is refreshed, refresh even the</th>
|
356 |
+
<td>
|
357 |
+
<?php $controls->text('clean_last_posts', 5); ?> latest post
|
358 |
+
<p class="description">
|
359 |
+
<?php _e('The number of latest posts to invalidate when the home is invalidated.', 'hyper-cache'); ?>
|
360 |
+
</p>
|
361 |
+
</td>
|
362 |
+
</tr>
|
363 |
+
<tr>
|
364 |
+
<th>When a post receives a comment</th>
|
365 |
+
<td>
|
366 |
+
<?php $controls->checkbox('clean_archives_on_comment'); ?> clean archives (categories, tags, ..., but not the home)
|
367 |
+
<br>
|
368 |
+
<?php $controls->checkbox('clean_home_on_comment'); ?> clean the home
|
369 |
+
<p class="description">
|
370 |
+
|
371 |
+
</p>
|
372 |
+
</td>
|
373 |
+
</tr>
|
374 |
+
<tr>
|
375 |
+
<th>When a post is edited</th>
|
376 |
+
<td>
|
377 |
+
<?php $controls->checkbox('clean_archives_on_post_edit'); ?> clean archives (categories, tags, ..., but not the home)
|
378 |
+
<br>
|
379 |
+
<?php $controls->checkbox('clean_home_on_post_edit'); ?> clean the home
|
380 |
+
<p class="description">
|
381 |
+
|
382 |
+
</p>
|
383 |
+
</td>
|
384 |
+
</tr>
|
385 |
+
|
386 |
+
<tr>
|
387 |
+
<th><?php _e('Cache folder', 'hyper-cache'); ?></th>
|
388 |
+
<td>
|
389 |
+
<?php $controls->text('folder', 70); ?> path on disk
|
390 |
+
<p class="description">
|
391 |
+
Leave blank for default value. You can even evaluate to leave
|
392 |
+
this blank and create a symbolic link <code>wp-content/cache/hyper-cache -> [your folder]</code>. Your blog is located on
|
393 |
+
<code><?php echo ABSPATH; ?></code>. A wrong configuration can destroy your blog.
|
394 |
+
</p>
|
395 |
+
</td>
|
396 |
+
</tr>
|
397 |
+
<tr>
|
398 |
+
<th><?php _e('Next autoclean will run in', 'hyper-cache'); ?></th>
|
399 |
+
<td>
|
400 |
+
<?php $controls->checkbox('autoclean', 'enable it'); ?>
|
401 |
+
|
402 |
+
(will run again in <?php echo (int)((wp_next_scheduled('hyper_cache_clean')-time())/60) ?> minutes)
|
403 |
+
<p class="description">
|
404 |
+
<?php _e('The autoclean process removes old files to save disk space.', 'hyper-cache'); ?>
|
405 |
+
<?php _e('If you enable the "serve expired pages to bots", you should disable the auto clean.', 'hyper-cache'); ?>
|
406 |
+
</p>
|
407 |
+
</td>
|
408 |
+
</tr>
|
409 |
+
<tr valign="top">
|
410 |
+
<th><?php _e('Allow browser caching', 'hyper-cache'); ?></th>
|
411 |
+
<td>
|
412 |
+
<?php $controls->checkbox('browser_cache', 'enable it'); ?>
|
413 |
+
|
414 |
+
with an expire time of <?php $controls->text('browser_cache_hours', 5); ?> hours
|
415 |
+
<p class="description">
|
416 |
+
When enabled Hyper Cache sends a signal to the browser allowing it to NOT request a page more than once and
|
417 |
+
to use the copy it has in the local cache. If you set an expire time greater than zero, the browser should keep the copy
|
418 |
+
for that amount of hours, otherwise Hyper Cache will tell the browser to keep the copy until the page expire in the blog
|
419 |
+
cache.<br>
|
420 |
+
Usually I keep this feature disabled.
|
421 |
+
</p>
|
422 |
+
</td>
|
423 |
+
</tr>
|
424 |
+
<!--
|
425 |
+
<tr>
|
426 |
+
<th><?php _e('Remove HTTP/HTTPS', 'hyper-cache'); ?></th>
|
427 |
+
<td>
|
428 |
+
<?php $controls->checkbox('remove_protocol', 'Enable'); ?>
|
429 |
+
<p class="description">
|
430 |
+
If your site uses both HTTP and HTTPS it's better to have page links as
|
431 |
+
<code>://www.domain.com/...</code> without the protocol.
|
432 |
+
</p>
|
433 |
+
</td>
|
434 |
+
</tr>
|
435 |
+
-->
|
436 |
+
|
437 |
+
<tr valign="top">
|
438 |
+
<th><?php _e('HTTPS', 'hyper-cache'); ?></th>
|
439 |
+
<td>
|
440 |
+
<?php $controls->select('https', array(0 => __('Bypass the cache', 'hyper-cache'),
|
441 |
+
1 => __('Cache separately', 'hyper-cache'),
|
442 |
+
2 => __('Use the standard cache (I have HTTP/HTTPS aware pages)', 'hyper-cache'))); ?>
|
443 |
+
<p class="description">
|
444 |
+
</p>
|
445 |
+
</td>
|
446 |
+
</tr>
|
447 |
+
|
448 |
+
<tr>
|
449 |
+
<th><?php _e('Use readfile()', 'hyper-cache'); ?></th>
|
450 |
+
<td>
|
451 |
+
<?php $controls->checkbox('readfile', 'Enable'); ?>
|
452 |
+
<p class="description">
|
453 |
+
The PHP function readfile() to send back a page should optimized but on some server
|
454 |
+
it has less performances the a standard file_get_contents(). Probably you won't notice the
|
455 |
+
difference.
|
456 |
+
</p>
|
457 |
+
</td>
|
458 |
+
</tr>
|
459 |
+
<!--
|
460 |
+
<tr>
|
461 |
+
<th><?php _e('Ignore no-cache header from bots', 'hyper-cache'); ?></th>
|
462 |
+
<td>
|
463 |
+
<?php $controls->checkbox('bots_ignore_nocache', 'Enable'); ?>
|
464 |
+
<p class="description">
|
465 |
+
Bots usually send a no-cache request to ask always fresh pages. This option force the cache to
|
466 |
+
ignore such request and serve a caches page if available.
|
467 |
+
</p>
|
468 |
+
</td>
|
469 |
+
</tr>
|
470 |
+
-->
|
471 |
+
<tr>
|
472 |
+
<th><?php _e('Serve expired pages to bots', 'hyper-cache'); ?></th>
|
473 |
+
<td>
|
474 |
+
<?php $controls->checkbox('serve_expired_to_bots', 'Enable'); ?>
|
475 |
+
<p class="description">
|
476 |
+
Serve a cache page even if expired when requested by bots.
|
477 |
+
</p>
|
478 |
+
</td>
|
479 |
+
</tr>
|
480 |
+
</table>
|
481 |
+
|
482 |
+
</div>
|
483 |
+
|
484 |
+
<div id="tabs-rejects">
|
485 |
+
<table class="form-table">
|
486 |
+
<tr>
|
487 |
+
<th><?php _e('Do not cache the home page', 'hyper-cache'); ?></th>
|
488 |
+
<td>
|
489 |
+
<?php $controls->checkbox('reject_home'); ?>
|
490 |
+
<p class="description">
|
491 |
+
<?php _e('When active, the home page and its subpages are not cached.', 'hyper-cache'); ?>
|
492 |
+
<?php _e('Works even with a static home page.', 'hyper-cache'); ?>
|
493 |
+
</p>
|
494 |
+
</td>
|
495 |
+
</tr>
|
496 |
+
<tr>
|
497 |
+
<th><?php _e('Do not cache the "404 - Not found" page', 'hyper-cache'); ?></th>
|
498 |
+
<td>
|
499 |
+
<?php $controls->checkbox('reject_404'); ?>
|
500 |
+
<p class="description">
|
501 |
+
<?php _e('When active, Hyper Cache does not serve a cached "404 not found" page.', 'hyper-cache'); ?>
|
502 |
+
<?php _e('Requests which lead to a 404 not found page overload you blog since WordPress must generate a full page', 'hyper-cache'); ?>
|
503 |
+
<?php _e('Caching it help in reduce that overload.', 'hyper-cache'); ?>
|
504 |
+
</p>
|
505 |
+
</td>
|
506 |
+
</tr>
|
507 |
+
<tr>
|
508 |
+
<th><?php _e('Do not cache the blog main feeds', 'hyper-cache'); ?></th>
|
509 |
+
<td>
|
510 |
+
<?php $controls->checkbox('reject_feeds'); ?>
|
511 |
+
<p class="description">
|
512 |
+
<?php printf(__('When active, the main blog feed %s is not cached.', 'hyper-cache'),
|
513 |
+
'(<code>' . get_option('home') . '/feed</code>)'); ?>
|
514 |
+
</p>
|
515 |
+
</td>
|
516 |
+
</tr>
|
517 |
+
<tr>
|
518 |
+
<th><?php _e('Do not cache single post comment feed', 'hyper-cache'); ?></th>
|
519 |
+
<td>
|
520 |
+
<?php $controls->checkbox('reject_comment_feeds'); ?>
|
521 |
+
<p class="description">
|
522 |
+
<?php _e('When active, the single post comment feeds are not cached.', 'hyper-cache'); ?>
|
523 |
+
<?php _e('Usually I enable this bypass since it saves disk space and comment feed on single posts are not usually used.', 'hyper-cache'); ?>
|
524 |
+
</p>
|
525 |
+
</td>
|
526 |
+
</tr>
|
527 |
+
<tr>
|
528 |
+
<th><?php _e('Exact URIs to bypass', 'hyper-cache'); ?></th>
|
529 |
+
<td>
|
530 |
+
<?php $controls->checkbox('reject_uris_exact_enabled', __('Enable', 'hyper-cache')); ?><br>
|
531 |
+
<?php $controls->textarea('reject_uris_exact'); ?>
|
532 |
+
<p class="description">
|
533 |
+
<?php _e('One per line.', 'hyper-cache'); ?>
|
534 |
+
<?php _e('Those URIs are exactly matched.', 'hyper-cache'); ?>
|
535 |
+
<?php _e('For example if you add the <code>/my-single-post</code> URI and a request is received for <code>http://youblog.com<strong>/my-single-post</strong></code> that page IS NOT cached.', 'hyper-cache'); ?>
|
536 |
+
<?php _e('A request for <code>http://youblog.com<strong>/my-single-post-something</strong></code> IS cached.', 'hyper-cache'); ?>
|
537 |
+
</p>
|
538 |
+
</td>
|
539 |
+
</tr>
|
540 |
+
<tr>
|
541 |
+
<th><?php _e('(Starting with) URIs to bypass', 'hyper-cache'); ?></th>
|
542 |
+
<td>
|
543 |
+
<?php $controls->checkbox('reject_uris_enabled', __('Enable', 'hyper-cache')); ?><br>
|
544 |
+
<?php $controls->textarea('reject_uris'); ?>
|
545 |
+
<p class="description">
|
546 |
+
<?php _e('One per line.', 'hyper-cache'); ?>
|
547 |
+
<?php _e('Those URIs match if a requested URI starts with one of them.', 'hyper-cache'); ?>
|
548 |
+
<?php _e('For example if you add the <code>/my-single-post</code> URI and a request is received for <code>http://youblog.com<strong>/my-single-post</strong></code> that page IS NOT cached.', 'hyper-cache'); ?>
|
549 |
+
|
550 |
+
<?php _e('A request for <code>http://youblog.com<strong>/my-single-post-something</strong></code> IS NOT cached as well.', 'hyper-cache'); ?>
|
551 |
+
</p>
|
552 |
+
</td>
|
553 |
+
</tr>
|
554 |
+
<tr>
|
555 |
+
<th><?php _e('Cookies to bypass', 'hyper-cache'); ?></th>
|
556 |
+
<td>
|
557 |
+
<?php $controls->checkbox('reject_cookies_enabled', __('Enable', 'hyper-cache')); ?><br>
|
558 |
+
<?php $controls->textarea('reject_cookies'); ?>
|
559 |
+
<p class="description">
|
560 |
+
<?php _e('One per line.', 'hyper-cache'); ?>
|
561 |
+
<?php _e('If the visitor has a cookie named as one of the listed values, the cache is bypassed.', 'hyper-cache'); ?>
|
562 |
+
</p>
|
563 |
+
</td>
|
564 |
+
</tr>
|
565 |
+
<tr>
|
566 |
+
<th><?php _e('Devices (user agents) to bypass', 'hyper-cache'); ?></th>
|
567 |
+
<td>
|
568 |
+
<?php $controls->checkbox('reject_agents_enabled', __('Enable', 'hyper-cache')); ?><br>
|
569 |
+
<?php $controls->textarea('reject_agents'); ?>
|
570 |
+
<p class="description">
|
571 |
+
<?php _e('One per line.', 'hyper-cache'); ?>
|
572 |
+
<?php _e('If the visitor has a device with a user agent named as one of the listed values, the cache is bypassed.', 'hyper-cache'); ?>
|
573 |
+
</p>
|
574 |
+
</td>
|
575 |
+
</tr>
|
576 |
+
|
577 |
+
<tr>
|
578 |
+
<th><?php _e('Don\'t serve cached pages to comment authors', 'hyper-cache'); ?></th>
|
579 |
+
<td>
|
580 |
+
<?php $controls->checkbox('reject_comment_authors', __('Enable', 'hyper-cache')); ?>
|
581 |
+
|
582 |
+
<p class="description">
|
583 |
+
<?php _e('Hyper Cache is able to work with users who left a comment and completes the comment form with
|
584 |
+
user data even on cached page', 'hyper-cache'); ?>
|
585 |
+
<?php _e('(with a small JavaScript added at the end of the pages).', 'hyper-cache'); ?>
|
586 |
+
<?php _e('But the "awaiting moderation" message cannot be shown.', 'hyper-cache'); ?>
|
587 |
+
<?php _e('If you have few readers who comment you can disable this feature to get back the classical WordPress comment flow.', 'hyper-cache'); ?>
|
588 |
+
</p>
|
589 |
+
</td>
|
590 |
+
</tr>
|
591 |
+
<tr>
|
592 |
+
<th><?php _e('Reject posts older than', 'hyper-cache'); ?></th>
|
593 |
+
<td>
|
594 |
+
<?php $controls->text('reject_old_posts', 5); ?> days
|
595 |
+
<p class="description">
|
596 |
+
<?php _e('Older posts won\'t be cached and stored resulting in a lower disk space usage.', 'hyper-cache'); ?>
|
597 |
+
<?php _e('Useful when older posts have low traffic.', 'hyper-cache'); ?>
|
598 |
+
</p>
|
599 |
+
</td>
|
600 |
+
</tr>
|
601 |
+
</table>
|
602 |
+
</div>
|
603 |
+
|
604 |
+
<div id="tabs-mobile">
|
605 |
+
<table class="form-table">
|
606 |
+
<tr>
|
607 |
+
<th><?php _e('Working mode', 'hyper-cache'); ?></th>
|
608 |
+
<td>
|
609 |
+
<?php $controls->select('mobile', array(0 => __('Use the standard cache', 'hyper-cache'),
|
610 |
+
1 => __('Cache separately', 'hyper-cache'),
|
611 |
+
2 => __('Bypass the cache', 'hyper-cache'))); ?>
|
612 |
+
|
613 |
+
<p class="description">
|
614 |
+
<?php _e('Choose "cache separately" if you produce different content for mobile devices', 'hyper-cache'); ?><br>
|
615 |
+
<?php _e('See for example my <a href="http://www.satollo.net/plugins/header-footer" target="_blank">Header and Footer</a> plugin for different desktop/mobile ads injection in posts.', 'hyper-cache'); ?>
|
616 |
+
</p>
|
617 |
+
</td>
|
618 |
+
</tr>
|
619 |
+
<tr>
|
620 |
+
<th><?php _e('Mobile theme', 'hyper-cache'); ?></th>
|
621 |
+
<td>
|
622 |
+
<?php
|
623 |
+
$themes = wp_get_themes();
|
624 |
+
//var_dump($themes);
|
625 |
+
$list = array('' => 'Use the active blog theme');
|
626 |
+
foreach ($themes as $theme)
|
627 |
+
$list[$theme->stylesheet] = $theme->name;
|
628 |
+
?>
|
629 |
+
<?php $controls->select('theme', $list); ?>
|
630 |
+
<p class="description">
|
631 |
+
<?php _e('If you have plugins which produce different content for desktop and mobile devices, you should use a separate cache for mobile.', 'hyper-cache'); ?>
|
632 |
+
</p>
|
633 |
+
</td>
|
634 |
+
</tr>
|
635 |
+
<tr>
|
636 |
+
<th><?php _e('Mobile user agents', 'hyper-cache'); ?></th>
|
637 |
+
<td>
|
638 |
+
<?php $controls->textarea('mobile_agents'); ?>
|
639 |
+
<?php $controls->button('reset_mobile_agents', 'Reset'); ?>
|
640 |
+
<p class="description">
|
641 |
+
<?php _e('One per line.', 'hyper-cache'); ?>
|
642 |
+
<?php _e('A "user agent" is a text which identify the kind of device used to surf the site.', 'hyper-cache'); ?>
|
643 |
+
<?php _e('For example and iPhone has <code>iphone</code> as user agent.', 'hyper-cache'); ?>
|
644 |
+
</p>
|
645 |
+
</td>
|
646 |
+
</tr>
|
647 |
+
</table>
|
648 |
+
</div>
|
649 |
+
|
650 |
+
|
651 |
</div>
|
652 |
+
<p>
|
653 |
+
<?php $controls->button('save', __('Save', 'hyper-cache')); ?>
|
654 |
|
655 |
+
<?php if ($_SERVER['HTTP_HOST'] == 'www.satollo.net' || $_SERVER['HTTP_HOST'] == 'www.satollo.com') { ?>
|
656 |
+
<?php $controls->button('delete', 'Delete options'); ?>
|
657 |
+
<?php $controls->button('autoclean', 'Autoclean'); ?>
|
658 |
+
<?php } ?>
|
659 |
+
</p>
|
660 |
|
661 |
+
</form>
|
|
|
|
|
|
|
662 |
</div>
|
663 |
+
|
664 |
+
<?php
|
665 |
+
|
666 |
+
class HyperCacheControls {
|
667 |
+
|
668 |
+
var $options = null;
|
669 |
+
var $errors = null;
|
670 |
+
var $messages = null;
|
671 |
+
|
672 |
+
function is_action($action = null) {
|
673 |
+
if ($action == null)
|
674 |
+
return !empty($_REQUEST['act']);
|
675 |
+
if (empty($_REQUEST['act']))
|
676 |
+
return false;
|
677 |
+
if ($_REQUEST['act'] != $action)
|
678 |
+
return false;
|
679 |
+
if (check_admin_referer('save'))
|
680 |
+
return true;
|
681 |
+
die('Invalid call');
|
682 |
+
}
|
683 |
+
|
684 |
+
function text($name, $size = 20) {
|
685 |
+
if (!isset($this->options[$name]))
|
686 |
+
$this->options[$name] = '';
|
687 |
+
$value = $this->options[$name];
|
688 |
+
if (is_array($value))
|
689 |
+
$value = implode(',', $value);
|
690 |
+
echo '<input name="options[' . $name . ']" type="text" size="' . $size . '" value="';
|
691 |
+
echo htmlspecialchars($value);
|
692 |
+
echo '"/>';
|
693 |
+
}
|
694 |
+
|
695 |
+
function checkbox($name, $label = '') {
|
696 |
+
if (!isset($this->options[$name]))
|
697 |
+
$this->options[$name] = '';
|
698 |
+
$value = $this->options[$name];
|
699 |
+
echo '<label><input class="panel_checkbox" name="options[' . $name . ']" type="checkbox" value="1"';
|
700 |
+
if (!empty($value))
|
701 |
+
echo ' checked';
|
702 |
+
echo '>';
|
703 |
+
echo $label;
|
704 |
+
echo '</label>';
|
705 |
+
}
|
706 |
+
|
707 |
+
function textarea($name) {
|
708 |
+
if (!isset($this->options[$name]))
|
709 |
+
$value = '';
|
710 |
+
else
|
711 |
+
$value = $this->options[$name];
|
712 |
+
if (is_array($value))
|
713 |
+
$value = implode("\n", $value);
|
714 |
+
echo '<textarea name="options[' . $name . ']" style="width: 100%; heigth: 120px;">';
|
715 |
+
echo htmlspecialchars($value);
|
716 |
+
echo '</textarea>';
|
717 |
+
}
|
718 |
+
|
719 |
+
function select($name, $options) {
|
720 |
+
if (!isset($this->options[$name]))
|
721 |
+
$this->options[$name] = '';
|
722 |
+
$value = $this->options[$name];
|
723 |
+
|
724 |
+
echo '<select name="options[' . $name . ']">';
|
725 |
+
foreach ($options as $key => $label) {
|
726 |
+
echo '<option value="' . $key . '"';
|
727 |
+
if ($value == $key)
|
728 |
+
echo ' selected';
|
729 |
+
echo '>' . htmlspecialchars($label) . ' </option>';
|
730 |
+
}
|
731 |
+
echo '</select>';
|
732 |
+
}
|
733 |
+
|
734 |
+
function button($action, $label, $message = null) {
|
735 |
+
if ($message == null) {
|
736 |
+
echo '<input class="button-primary" type="submit" value="' . $label . '" onclick="this.form.act.value=\'' . $action . '\'"/>';
|
737 |
+
} else {
|
738 |
+
echo '<input class="button-primary" type="submit" value="' . $label . '" onclick="this.form.act.value=\'' . $action . '\';return confirm(\'' .
|
739 |
+
htmlspecialchars($message) . '\')"/>';
|
740 |
+
}
|
741 |
+
}
|
742 |
+
|
743 |
+
function init() {
|
744 |
+
echo '<script type="text/javascript">
|
745 |
+
jQuery(document).ready(function(){
|
746 |
+
jQuery("textarea").focus(function() {
|
747 |
+
jQuery(this).css("height", "400px");
|
748 |
+
});
|
749 |
+
jQuery("textarea").blur(function() {
|
750 |
+
jQuery(this).css("height", "120px");
|
751 |
+
});
|
752 |
+
});
|
753 |
+
</script>
|
754 |
+
';
|
755 |
+
echo '<input name="act" type="hidden" value=""/>';
|
756 |
+
wp_nonce_field('save');
|
757 |
+
}
|
758 |
+
|
759 |
+
function show() {
|
760 |
+
if (!empty($this->errors)) {
|
761 |
+
echo '<div class="error"><p>';
|
762 |
+
echo $this->errors;
|
763 |
+
echo '</p></div>';
|
764 |
+
}
|
765 |
+
|
766 |
+
if (!empty($this->messages)) {
|
767 |
+
echo '<div class="updated"><p>';
|
768 |
+
echo $this->messages;
|
769 |
+
echo '</p></div>';
|
770 |
+
}
|
771 |
+
}
|
772 |
+
|
773 |
+
}
|
774 |
+
?>
|
plugin.php
CHANGED
@@ -1,456 +1,753 @@
|
|
1 |
<?php
|
|
|
2 |
/*
|
3 |
-
Plugin Name: Hyper Cache
|
4 |
-
Plugin URI: http://www.satollo.net/plugins/hyper-cache
|
5 |
-
Description:
|
6 |
-
Version:
|
7 |
-
|
8 |
-
Author:
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
(
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
$hyper_invalidated_post_id = null;
|
32 |
-
|
33 |
-
|
34 |
-
// On activation, we try to create files and directories. If something goes wrong
|
35 |
-
// (eg. for wrong permission on file system) the options page will give a
|
36 |
-
// warning.
|
37 |
-
register_activation_hook(__FILE__, 'hyper_activate');
|
38 |
-
function hyper_activate()
|
39 |
-
{
|
40 |
-
$options = get_option('hyper');
|
41 |
-
|
42 |
-
wp_clear_scheduled_hook('hyper_clean');
|
43 |
-
|
44 |
-
if (!is_array($options)) {
|
45 |
-
$options = array();
|
46 |
-
$options['comment'] = 1;
|
47 |
-
$options['archive'] = 1;
|
48 |
-
$options['timeout'] = 1440;
|
49 |
-
$options['redirects'] = 1;
|
50 |
-
$options['notfound'] = 1;
|
51 |
-
$options['clean_interval'] = 60;
|
52 |
-
$options['gzip'] = 1;
|
53 |
-
$options['store_compressed'] = 1;
|
54 |
-
$options['expire_type'] = 'post';
|
55 |
-
update_option('hyper', $options);
|
56 |
-
}
|
57 |
-
|
58 |
-
$buffer = hyper_generate_config($options);
|
59 |
-
$file = @fopen(WP_CONTENT_DIR . '/advanced-cache.php', 'wb');
|
60 |
-
@fwrite($file, $buffer);
|
61 |
-
@fclose($file);
|
62 |
-
|
63 |
-
wp_mkdir_p(WP_CONTENT_DIR . '/cache/hyper-cache');
|
64 |
-
|
65 |
-
wp_schedule_event(time()+300, 'hourly', 'hyper_clean');
|
66 |
}
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
-
|
|
|
|
|
75 |
|
76 |
-
|
|
|
77 |
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
80 |
|
81 |
-
|
82 |
-
$time = time();
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
-
|
91 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
hyper_log('file time ' . $t);
|
96 |
-
if ($time - $t > $timeout || ($invalidation_time && $t < $invalidation_time)) {
|
97 |
-
@unlink($path . '/' . $file);
|
98 |
-
hyper_log('cleaned ' . $file);
|
99 |
}
|
100 |
}
|
101 |
-
closedir($handle);
|
102 |
|
103 |
-
|
104 |
-
|
|
|
|
|
|
|
105 |
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
|
|
110 |
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
@fwrite($file, '');
|
116 |
-
@fclose($file);
|
117 |
}
|
118 |
-
}
|
119 |
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
function hyper_cache_invalidate()
|
131 |
-
{
|
132 |
-
global $hyper_invalidated;
|
133 |
|
134 |
-
|
|
|
135 |
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
|
|
|
|
|
|
140 |
}
|
141 |
|
142 |
-
|
143 |
-
|
144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
}
|
146 |
-
|
147 |
-
{
|
148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
}
|
150 |
-
@unlink(WP_CONTENT_DIR . '/cache/hyper-cache/_archives.dat');
|
151 |
-
$hyper_invalidated = true;
|
152 |
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
}
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
}
|
208 |
}
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
}
|
|
|
211 |
|
212 |
-
|
|
|
|
|
213 |
|
214 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
-
|
217 |
-
|
|
|
|
|
|
|
218 |
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
}
|
225 |
-
|
226 |
-
|
227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
}
|
229 |
}
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
}
|
232 |
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
return;
|
238 |
}
|
239 |
-
}
|
240 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
|
|
254 |
}
|
255 |
}
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
}
|
258 |
-
}
|
259 |
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
{
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
}
|
274 |
}
|
275 |
-
closedir($handle);
|
276 |
}
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
}
|
279 |
|
280 |
-
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
-
|
283 |
-
|
284 |
-
|
|
|
285 |
|
|
|
286 |
|
287 |
-
|
288 |
-
// can cache (or ignore) it. Redirects were source of problems for blogs
|
289 |
-
// with more than one host name (eg. domain.com and www.domain.com) comined
|
290 |
-
// with the use of Hyper Cache.
|
291 |
-
add_filter('redirect_canonical', 'hyper_redirect_canonical', 10, 2);
|
292 |
-
$hyper_redirect = null;
|
293 |
-
function hyper_redirect_canonical($redirect_url, $requested_url)
|
294 |
-
{
|
295 |
-
global $hyper_redirect;
|
296 |
|
297 |
-
|
|
|
|
|
|
|
|
|
298 |
|
299 |
-
|
|
|
|
|
|
|
300 |
}
|
301 |
|
302 |
-
function
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
$
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
// WordPress mobile pack integration?
|
334 |
-
$buffer .= '$hyper_cache_plugin_mobile_pack = ' . (isset($options['plugin_mobile_pack'])?'true':'false') . ";\n";
|
335 |
-
// Cache the feeds?
|
336 |
-
$buffer .= '$hyper_cache_feed = ' . (isset($options['feed'])?'true':'false') . ";\n";
|
337 |
-
// Cache GET request with parameters?
|
338 |
-
$buffer .= '$hyper_cache_cache_qs = ' . (isset($options['cache_qs'])?'true':'false') . ";\n";
|
339 |
-
// Strip query string?
|
340 |
-
$buffer .= '$hyper_cache_strip_qs = ' . (isset($options['strip_qs'])?'true':'false') . ";\n";
|
341 |
-
// DO NOT cache the home?
|
342 |
-
$buffer .= '$hyper_cache_home = ' . (isset($options['home'])?'true':'false') . ";\n";
|
343 |
-
// Disable last modified header
|
344 |
-
$buffer .= '$hyper_cache_lastmodified = ' . (isset($options['lastmodified'])?'true':'false') . ";\n";
|
345 |
-
// Allow browser caching?
|
346 |
-
$buffer .= '$hyper_cache_browsercache = ' . (isset($options['browsercache'])?'true':'false') . ";\n";
|
347 |
-
// Do not use cache if browser sends no-cache header?
|
348 |
-
$buffer .= '$hyper_cache_nocache = ' . (isset($options['nocache'])?'true':'false') . ";\n";
|
349 |
-
|
350 |
-
if ($options['gzip']) $options['store_compressed'] = 1;
|
351 |
-
|
352 |
-
$buffer .= '$hyper_cache_gzip = ' . (isset($options['gzip'])?'true':'false') . ";\n";
|
353 |
-
$buffer .= '$hyper_cache_gzip_on_the_fly = ' . (isset($options['gzip_on_the_fly'])?'true':'false') . ";\n";
|
354 |
-
$buffer .= '$hyper_cache_store_compressed = ' . (isset($options['store_compressed'])?'true':'false') . ";\n";
|
355 |
-
|
356 |
-
//$buffer .= '$hyper_cache_clean_interval = ' . ($options['clean_interval']*60) . ";\n";
|
357 |
-
|
358 |
-
if (isset($options['reject']) && trim($options['reject']) != '')
|
359 |
-
{
|
360 |
-
$options['reject'] = str_replace(' ', "\n", $options['reject']);
|
361 |
-
$options['reject'] = str_replace("\r", "\n", $options['reject']);
|
362 |
-
$buffer .= '$hyper_cache_reject = array(';
|
363 |
-
$reject = explode("\n", $options['reject']);
|
364 |
-
$options['reject'] = '';
|
365 |
-
foreach ($reject as $uri)
|
366 |
-
{
|
367 |
-
$uri = trim($uri);
|
368 |
-
if ($uri == '') continue;
|
369 |
-
$buffer .= "\"" . addslashes(trim($uri)) . "\",";
|
370 |
-
$options['reject'] .= $uri . "\n";
|
371 |
-
}
|
372 |
-
$buffer = rtrim($buffer, ',');
|
373 |
-
$buffer .= ");\n";
|
374 |
-
}
|
375 |
-
else {
|
376 |
-
$buffer .= '$hyper_cache_reject = false;' . "\n";
|
377 |
-
}
|
378 |
-
|
379 |
-
if (isset($options['reject_agents']) && trim($options['reject_agents']) != '')
|
380 |
-
{
|
381 |
-
$options['reject_agents'] = str_replace(' ', "\n", $options['reject_agents']);
|
382 |
-
$options['reject_agents'] = str_replace("\r", "\n", $options['reject_agents']);
|
383 |
-
$buffer .= '$hyper_cache_reject_agents = array(';
|
384 |
-
$reject_agents = explode("\n", $options['reject_agents']);
|
385 |
-
$options['reject_agents'] = '';
|
386 |
-
foreach ($reject_agents as $uri)
|
387 |
-
{
|
388 |
-
$uri = trim($uri);
|
389 |
-
if ($uri == '') continue;
|
390 |
-
$buffer .= "\"" . addslashes(strtolower(trim($uri))) . "\",";
|
391 |
-
$options['reject_agents'] .= $uri . "\n";
|
392 |
-
}
|
393 |
-
$buffer = rtrim($buffer, ',');
|
394 |
-
$buffer .= ");\n";
|
395 |
-
}
|
396 |
-
else {
|
397 |
-
$buffer .= '$hyper_cache_reject_agents = false;' . "\n";
|
398 |
-
}
|
399 |
-
|
400 |
-
if (isset($options['reject_cookies']) && trim($options['reject_cookies']) != '')
|
401 |
-
{
|
402 |
-
$options['reject_cookies'] = str_replace(' ', "\n", $options['reject_cookies']);
|
403 |
-
$options['reject_cookies'] = str_replace("\r", "\n", $options['reject_cookies']);
|
404 |
-
$buffer .= '$hyper_cache_reject_cookies = array(';
|
405 |
-
$reject_cookies = explode("\n", $options['reject_cookies']);
|
406 |
-
$options['reject_cookies'] = '';
|
407 |
-
foreach ($reject_cookies as $c)
|
408 |
-
{
|
409 |
-
$c = trim($c);
|
410 |
-
if ($c == '') continue;
|
411 |
-
$buffer .= "\"" . addslashes(strtolower(trim($c))) . "\",";
|
412 |
-
$options['reject_cookies'] .= $c . "\n";
|
413 |
-
}
|
414 |
-
$buffer = rtrim($buffer, ',');
|
415 |
-
$buffer .= ");\n";
|
416 |
-
}
|
417 |
-
else {
|
418 |
-
$buffer .= '$hyper_cache_reject_cookies = false;' . "\n";
|
419 |
-
}
|
420 |
-
|
421 |
-
if (isset($options['mobile']))
|
422 |
-
{
|
423 |
-
if (!isset($options['mobile_agents']) || trim($options['mobile_agents']) == '')
|
424 |
-
{
|
425 |
-
$options['mobile_agents'] = "elaine/3.0\niphone\nipod\npalm\neudoraweb\nblazer\navantgo\nwindows ce\ncellphone\nsmall\nmmef20\ndanger\nhiptop\nproxinet\nnewt\npalmos\nnetfront\nsharp-tq-gx10\nsonyericsson\nsymbianos\nup.browser\nup.link\nts21i-10\nmot-v\nportalmmm\ndocomo\nopera mini\npalm\nhandspring\nnokia\nkyocera\nsamsung\nmotorola\nmot\nsmartphone\nblackberry\nwap\nplaystation portable\nlg\nmmp\nopwv\nsymbian\nepoc";
|
426 |
-
}
|
427 |
-
|
428 |
-
if (trim($options['mobile_agents']) != '')
|
429 |
-
{
|
430 |
-
$options['mobile_agents'] = str_replace(',', "\n", $options['mobile_agents']);
|
431 |
-
$options['mobile_agents'] = str_replace("\r", "\n", $options['mobile_agents']);
|
432 |
-
$buffer .= '$hyper_cache_mobile_agents = array(';
|
433 |
-
$mobile_agents = explode("\n", $options['mobile_agents']);
|
434 |
-
$options['mobile_agents'] = '';
|
435 |
-
foreach ($mobile_agents as $uri)
|
436 |
-
{
|
437 |
-
$uri = trim($uri);
|
438 |
-
if ($uri == '') continue;
|
439 |
-
$buffer .= "\"" . addslashes(strtolower(trim($uri))) . "\",";
|
440 |
-
$options['mobile_agents'] .= $uri . "\n";
|
441 |
}
|
442 |
-
|
443 |
-
$buffer .= ");\n";
|
444 |
}
|
445 |
-
|
446 |
-
|
447 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
}
|
449 |
}
|
450 |
-
|
451 |
-
$buffer .= "include(WP_CONTENT_DIR . '/plugins/hyper-cache/cache.php');\n";
|
452 |
-
$buffer .= '?>';
|
453 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
return $buffer;
|
455 |
}
|
456 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
|
3 |
/*
|
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.1.8
|
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.
|
11 |
+
Contributors: satollo
|
12 |
+
*/
|
13 |
+
|
14 |
+
if (!defined('HYPER_CACHE_LOG')) {
|
15 |
+
define('HYPER_CACHE_LOG', false);
|
16 |
+
}
|
17 |
+
|
18 |
+
if (isset($_GET['cache'])) {
|
19 |
+
if ($_GET['cache'] === '0') {
|
20 |
+
setcookie('cache_disable', 1, time() + 3600 * 24 * 365, '/');
|
21 |
+
$x = strpos($_SERVER['REQUEST_URI'], '?');
|
22 |
+
header('Location:' . substr($_SERVER['REQUEST_URI'], 0, $x));
|
23 |
+
die();
|
24 |
+
}
|
25 |
+
|
26 |
+
if ($_GET['cache'] === '1') {
|
27 |
+
setcookie('cache_disable', 1, time() - 3600, '/');
|
28 |
+
$x = strpos($_SERVER['REQUEST_URI'], '?');
|
29 |
+
header('Location:' . substr($_SERVER['REQUEST_URI'], 0, $x));
|
30 |
+
die();
|
31 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
+
new HyperCache();
|
35 |
+
|
36 |
+
global $cache_stop;
|
37 |
+
|
38 |
+
class HyperCache {
|
39 |
+
|
40 |
+
var $post_id;
|
41 |
+
var $options;
|
42 |
+
var $ob_started = false;
|
43 |
+
static $instance;
|
44 |
+
|
45 |
+
const MOBILE_AGENTS = 'android|iphone|iemobile|up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|ipod|xoom|blackberry';
|
46 |
|
47 |
+
function __construct() {
|
48 |
+
self::$instance = $this;
|
49 |
+
$this->options = get_option('hyper-cache', array());
|
50 |
|
51 |
+
register_activation_hook('hyper-cache/plugin.php', array($this, 'hook_activate'));
|
52 |
+
register_deactivation_hook('hyper-cache/plugin.php', array($this, 'hook_deactivate'));
|
53 |
|
54 |
+
add_action('edit_post', array($this, 'hook_edit_post'), 1);
|
55 |
+
add_action('save_post', array($this, 'hook_save_post'), 1);
|
56 |
+
add_action('comment_post', array($this, 'hook_comment_post'), 1, 2);
|
57 |
+
add_action('wp_update_comment_count', array($this, 'hook_wp_update_comment_count'), 1);
|
58 |
+
add_action('bbp_new_reply', array($this, 'hook_bbp_new_reply'));
|
59 |
+
add_action('bbp_new_topic', array($this, 'hook_bbp_new_topic'));
|
60 |
|
61 |
+
add_action('hyper_cache_clean', array($this, 'hook_hyper_cache_clean'));
|
|
|
62 |
|
63 |
+
if (!is_admin() && !isset($_COOKIE['cache_disable'])) {
|
64 |
+
|
65 |
+
// The function must exists or the advanced-cache.php has been removed
|
66 |
+
global $hyper_cache_is_mobile;
|
67 |
+
if ($hyper_cache_is_mobile && !empty($this->options['theme'])) {
|
68 |
+
add_filter('stylesheet', array($this, 'hook_get_stylesheet'));
|
69 |
+
add_filter('template', array($this, 'hook_get_template'));
|
70 |
+
}
|
71 |
+
add_action('template_redirect', array($this, 'hook_template_redirect'), 0);
|
72 |
+
}
|
73 |
+
|
74 |
+
if (is_admin()) {
|
75 |
+
add_action('admin_init', array($this, 'hook_admin_init'));
|
76 |
+
add_action('admin_head', array($this, 'hook_admin_head'));
|
77 |
+
add_action('admin_menu', array($this, 'hook_admin_menu'));
|
78 |
+
|
79 |
+
if (!is_dir(WP_CONTENT_DIR . '/logs')) {
|
80 |
+
wp_mkdir_p(WP_CONTENT_DIR . '/logs');
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
function log($object) {
|
86 |
+
if (is_object($object) || is_array($object)) {
|
87 |
+
$object = print_r($object, true);
|
88 |
+
}
|
89 |
+
//file_put_contents(WP_CONTENT_DIR . '/logs/hyper-cache.log', $object, FILE_APPEND);
|
90 |
+
error_log($object);
|
91 |
}
|
92 |
|
93 |
+
function hook_activate() {
|
94 |
+
if (!is_dir(WP_CONTENT_DIR . '/logs')) {
|
95 |
+
wp_mkdir_p(WP_CONTENT_DIR . '/logs');
|
96 |
+
}
|
97 |
+
|
98 |
+
if (!isset($this->options['mobile'])) {
|
99 |
+
$this->options['mobile'] = 0;
|
100 |
+
}
|
101 |
+
if (!isset($this->options['folder'])) {
|
102 |
+
$this->options['folder'] = '';
|
103 |
+
}
|
104 |
+
if (!isset($this->options['max_age'])) {
|
105 |
+
$this->options['max_age'] = 24;
|
106 |
+
}
|
107 |
+
if (!isset($this->options['clean_last_posts'])) {
|
108 |
+
$this->options['clean_last_posts'] = 0;
|
109 |
+
}
|
110 |
+
if (!isset($this->options['mobile_agents'])) {
|
111 |
+
$this->options['mobile_agents'] = explode('|', self::MOBILE_AGENTS);
|
112 |
+
}
|
113 |
+
if (!isset($this->options['reject_agents']))
|
114 |
+
$this->options['reject_agents'] = array();
|
115 |
+
if (!isset($this->options['reject_cookies']))
|
116 |
+
$this->options['reject_cookies'] = array();
|
117 |
+
if (!isset($this->options['reject_uris']))
|
118 |
+
$this->options['reject_uris'] = array();
|
119 |
+
if (!isset($this->options['reject_uris_exact']))
|
120 |
+
$this->options['reject_uris_exact'] = array();
|
121 |
+
if (!isset($this->options['clean_last_posts']))
|
122 |
+
$this->options['clean_last_posts'] = 0;
|
123 |
+
|
124 |
+
if (!isset($this->options['https']))
|
125 |
+
$this->options['https'] = 1;
|
126 |
+
|
127 |
+
if (!isset($this->options['theme']))
|
128 |
+
$this->options['theme'] = '';
|
129 |
+
|
130 |
+
if (!isset($this->options['browser_cache_hours']))
|
131 |
+
$this->options['browser_cache_hours'] = 24;
|
132 |
+
|
133 |
+
update_option('hyper-cache', $this->options);
|
134 |
+
|
135 |
+
@wp_mkdir_p(WP_CONTENT_DIR . '/cache/hyper-cache');
|
136 |
+
|
137 |
+
if (is_file(WP_CONTENT_DIR . '/advanced-cache.php')) {
|
138 |
+
$this->build_advanced_cache();
|
139 |
+
touch(WP_CONTENT_DIR . '/advanced-cache.php');
|
140 |
+
}
|
141 |
|
142 |
+
if (!wp_next_scheduled('hyper_cache_clean')) {
|
143 |
+
wp_schedule_event(time() + 300, 'hourly', 'hyper_cache_clean');
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
}
|
|
|
146 |
|
147 |
+
function hook_deactivate() {
|
148 |
+
// Reset the file without deleting it to avoid to lost manually assigned permissions
|
149 |
+
file_put_contents(WP_CONTENT_DIR . '/advanced-cache.php', '');
|
150 |
+
wp_clear_scheduled_hook('hyper_cache_clean');
|
151 |
+
}
|
152 |
|
153 |
+
function hook_admin_init() {
|
154 |
+
if (isset($_GET['page']) && strpos($_GET['page'], 'hyper-cache/') === 0) {
|
155 |
+
wp_enqueue_script('jquery-ui-tabs');
|
156 |
+
}
|
157 |
+
}
|
158 |
|
159 |
+
function hook_admin_head() {
|
160 |
+
if (isset($_GET['page']) && strpos($_GET['page'], 'hyper-cache/') === 0) {
|
161 |
+
echo '<link type="text/css" rel="stylesheet" href="' . plugins_url('hyper-cache') . '/admin.css"/>';
|
162 |
+
}
|
|
|
|
|
163 |
}
|
|
|
164 |
|
165 |
+
function hook_admin_menu() {
|
166 |
+
add_options_page('Hyper Cache', 'Hyper Cache', 'manage_options', 'hyper-cache/options.php');
|
167 |
+
}
|
168 |
+
|
169 |
+
function build_advanced_cache() {
|
170 |
+
$advanced_cache = file_get_contents(dirname(__FILE__) . '/advanced-cache.php');
|
171 |
+
$advanced_cache = str_replace('HC_MOBILE_AGENTS', implode('|', array_map('preg_quote', $this->options['mobile_agents'])), $advanced_cache);
|
172 |
+
$advanced_cache = str_replace('HC_MOBILE', $this->options['mobile'], $advanced_cache);
|
173 |
+
|
174 |
+
$advanced_cache = str_replace('HC_REJECT_AGENTS_ENABLED', empty($this->options['reject_agents_enabled']) ? 0 : 1, $advanced_cache);
|
175 |
+
$advanced_cache = str_replace('HC_REJECT_AGENTS', implode('|', array_map('preg_quote', $this->options['reject_agents'])), $advanced_cache);
|
176 |
+
|
177 |
+
$advanced_cache = str_replace('HC_REJECT_COOKIES_ENABLED', empty($this->options['reject_cookies_enabled']) ? 0 : 1, $advanced_cache);
|
178 |
+
$advanced_cache = str_replace('HC_REJECT_COOKIES', implode('|', array_map('preg_quote', $this->options['reject_cookies'])), $advanced_cache);
|
179 |
+
|
180 |
|
181 |
+
$advanced_cache = str_replace('HC_GZIP', isset($this->options['gzip']) ? 1 : 0, $advanced_cache);
|
182 |
+
$advanced_cache = str_replace('HC_FOLDER', $this->get_folder(), $advanced_cache);
|
183 |
+
$advanced_cache = str_replace('HC_MAX_AGE', $this->options['max_age'], $advanced_cache);
|
184 |
+
$advanced_cache = str_replace('HC_REJECT_COMMENT_AUTHORS', isset($this->options['reject_comment_authors']) ? 1 : 0, $advanced_cache);
|
|
|
|
|
|
|
185 |
|
186 |
+
$advanced_cache = str_replace('HC_BROWSER_CACHE_HOURS', $this->options['browser_cache_hours'], $advanced_cache);
|
187 |
+
$advanced_cache = str_replace('HC_BROWSER_CACHE', isset($this->options['browser_cache']) ? 1 : 0, $advanced_cache);
|
188 |
|
189 |
+
$advanced_cache = str_replace('HC_HTTPS', (int) $this->options['https'], $advanced_cache);
|
190 |
+
$advanced_cache = str_replace('HC_READFILE', isset($this->options['readfile']) ? 1 : 0, $advanced_cache);
|
191 |
+
|
192 |
+
$advanced_cache = str_replace('HC_SERVE_EXPIRED_TO_BOT', isset($this->options['serve_expired_to_bots']) ? 1 : 0, $advanced_cache);
|
193 |
+
$advanced_cache = str_replace('HC_BOTS_IGNORE_NOCACHE', isset($this->options['bots_ignore_nocache']) ? 1 : 0, $advanced_cache);
|
194 |
+
|
195 |
+
return file_put_contents(WP_CONTENT_DIR . '/advanced-cache.php', $advanced_cache);
|
196 |
}
|
197 |
|
198 |
+
function hook_bbp_new_reply($reply_id) {
|
199 |
+
$topic_id = bbp_get_reply_topic_id($reply_id);
|
200 |
+
$topic_url = bbp_get_topic_permalink($topic_id);
|
201 |
+
//$dir = $this->get_folder() . '' . substr($topic_url, strlen(get_option('home'))) . '/';
|
202 |
+
$dir = $this->get_folder() . '/' . substr($topic_url, strpos($topic_url, '://') + 3) . '/';
|
203 |
+
$this->remove_dir($dir);
|
204 |
+
|
205 |
+
$forum_id = bbp_get_reply_forum_id($reply_id);
|
206 |
+
$forum_url = bbp_get_forum_permalink($forum_id);
|
207 |
+
//$dir = $this->get_folder() . '' . substr($forum_url, strlen(get_option('home'))) . '/';
|
208 |
+
$dir = $this->get_folder() . '/' . substr($topic_url, strpos($forum_url, '://') + 3) . '/';
|
209 |
+
$this->remove_dir($dir);
|
210 |
}
|
211 |
+
|
212 |
+
function hook_bbp_new_topic($topic_id) {
|
213 |
+
$topic_url = bbp_get_topic_permalink($topic_id);
|
214 |
+
//$dir = $this->get_folder() . '' . substr($topic_url, strlen(get_option('home'))) . '/';
|
215 |
+
$dir = $this->get_folder() . '/' . substr($topic_url, strpos($topic_url, '://') + 3) . '/';
|
216 |
+
$this->remove_dir($dir);
|
217 |
+
|
218 |
+
$forum_id = bbp_get_topic_forum_id($topic_id);
|
219 |
+
$forum_url = bbp_get_forum_permalink($forum_id);
|
220 |
+
$dir = $this->get_folder() . '/' . substr($topic_url, strpos($forum_url, '://') + 3) . '/';
|
221 |
+
//$dir = $this->get_folder() . '' . substr($forum_url, strlen(get_option('home'))) . '/';
|
222 |
+
$this->remove_dir($dir);
|
223 |
}
|
|
|
|
|
224 |
|
225 |
+
function hook_comment_post($comment_id, $status) {
|
226 |
+
if (HYPER_CACHE_LOG)
|
227 |
+
$this->log('Hook: comment_post');
|
228 |
+
if ($status === 1) {
|
229 |
+
$comment = get_comment($comment_id);
|
230 |
+
$this->clean_post($comment->comment_post_ID, isset($this->options['clean_archives_on_comment']), isset($this->options['clean_archives_on_comment']));
|
231 |
+
}
|
232 |
+
}
|
233 |
|
234 |
+
function hook_wp_update_comment_count($post_id) {
|
235 |
+
if (HYPER_CACHE_LOG)
|
236 |
+
$this->log('Hook: wp_update_comment_count');
|
237 |
+
if ($this->post_id == $post_id) {
|
238 |
+
return;
|
239 |
+
}
|
240 |
+
$this->clean_post($post_id, isset($this->options['clean_archives_on_comment']), isset($this->options['clean_home_on_comment']));
|
241 |
+
}
|
242 |
+
|
243 |
+
function hook_save_post($post_id) {
|
244 |
+
if (HYPER_CACHE_LOG)
|
245 |
+
$this->log('Hook: save_post');
|
246 |
+
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* edit_post is called even when a comment is added, but the comment hook prevent the execution of
|
250 |
+
* edit_post like if the post has been modified.
|
251 |
+
*/
|
252 |
+
function hook_edit_post($post_id) {
|
253 |
+
if (HYPER_CACHE_LOG)
|
254 |
+
$this->log('Hook: edit_post');
|
255 |
+
$this->clean_post($post_id, isset($this->options['clean_archives_on_post_edit']), isset($this->options['clean_home_on_post_edit']));
|
256 |
+
}
|
257 |
+
|
258 |
+
function clean_post($post_id, $clean_archives = true, $clean_home = true) {
|
259 |
+
if (HYPER_CACHE_LOG)
|
260 |
+
$this->log('Cleaning post ' . $post_id);
|
261 |
+
// When someone deletes the advaced-cache.php file
|
262 |
+
if (!function_exists('hyper_cache_sanitize_uri')) {
|
263 |
+
if (HYPER_CACHE_LOG)
|
264 |
+
$this->log('hyper_cache_sanitize_uri does not exists');
|
265 |
+
return;
|
266 |
+
}
|
267 |
+
|
268 |
+
if ($this->post_id == $post_id) {
|
269 |
+
if (HYPER_CACHE_LOG)
|
270 |
+
$this->log('Already cleaned in this session');
|
271 |
+
return;
|
272 |
+
}
|
273 |
+
|
274 |
+
$status = get_post_status($post_id);
|
275 |
+
if (HYPER_CACHE_LOG)
|
276 |
+
$this->log('Status: ' . $status);
|
277 |
+
if ($status != 'publish' && $status != 'trash') {
|
278 |
+
if (HYPER_CACHE_LOG)
|
279 |
+
$this->log('Post not published');
|
280 |
+
//$this->log('Not a published post');
|
281 |
+
return;
|
282 |
+
}
|
283 |
+
|
284 |
+
if ($status == 'trash') {
|
285 |
+
$clean_archives = true;
|
286 |
+
$clean_home = true;
|
287 |
+
}
|
288 |
+
|
289 |
+
$this->post_id = $post_id;
|
290 |
+
$folder = trailingslashit($this->get_folder());
|
291 |
+
$dir = $folder . $this->post_folder($post_id);
|
292 |
+
$this->remove_dir($dir);
|
293 |
+
|
294 |
+
if ($this->options['clean_last_posts'] != 0) {
|
295 |
+
$posts = get_posts(array('numberposts' => $this->options['clean_last_posts']));
|
296 |
+
foreach ($posts as &$post) {
|
297 |
+
$dir = $folder . $this->post_folder($post_id);
|
298 |
+
$this->remove_dir($dir);
|
299 |
+
}
|
300 |
+
}
|
301 |
+
|
302 |
+
|
303 |
+
$dir = $folder . substr(get_option('home'), strpos(get_option('home'), '://') + 3);
|
304 |
+
|
305 |
+
if ($clean_home) {
|
306 |
+
if (HYPER_CACHE_LOG)
|
307 |
+
$this->log('Cleaning the home');
|
308 |
+
|
309 |
+
// The home
|
310 |
+
if (HYPER_CACHE_LOG)
|
311 |
+
$this->log('Cleaning the home index*');
|
312 |
+
@unlink($dir . '/index.html');
|
313 |
+
@unlink($dir . '/index.html.gz');
|
314 |
+
@unlink($dir . '/index-https.html');
|
315 |
+
@unlink($dir . '/index-https.html.gz');
|
316 |
+
@unlink($dir . '/index-mobile.html');
|
317 |
+
@unlink($dir . '/index-mobile.html.gz');
|
318 |
+
@unlink($dir . '/index-https-mobile.html');
|
319 |
+
@unlink($dir . '/index-https-mobile.html.gz');
|
320 |
+
|
321 |
+
$this->remove_dir($dir . '/feed/');
|
322 |
+
// Home subpages
|
323 |
+
$this->remove_dir($dir . '/page/');
|
324 |
+
}
|
325 |
+
|
326 |
+
//@unlink($dir . '/robots.txt');
|
327 |
+
if ($clean_archives) {
|
328 |
+
if (HYPER_CACHE_LOG)
|
329 |
+
$this->log('Cleaning archives');
|
330 |
+
|
331 |
+
$base = get_option('category_base');
|
332 |
+
if (empty($base)) {
|
333 |
+
$base = 'category';
|
334 |
+
}
|
335 |
+
$this->remove_dir($dir . '/' . $base . '/');
|
336 |
+
|
337 |
+
$permalink_structure = get_option('permalink_structure');
|
338 |
+
//$this->log(substr($permalink_structure, 0, 11));
|
339 |
+
if (substr($permalink_structure, 0, 11) == '/%category%') {
|
340 |
+
$categories = get_categories();
|
341 |
+
//$this->log(print_r($categories, true));
|
342 |
+
foreach ($categories as &$category) {
|
343 |
+
//$this->log('Removing: ' . $dir . '/' . $category->slug . '/');
|
344 |
+
$this->remove_page($dir . '/' . $category->slug);
|
345 |
}
|
346 |
}
|
347 |
+
|
348 |
+
$base = get_option('tag_base');
|
349 |
+
if (empty($base)) {
|
350 |
+
$base = 'tag';
|
351 |
+
}
|
352 |
+
$this->remove_dir($dir . '/' . $base . '/');
|
353 |
+
|
354 |
+
$this->remove_dir($dir . '/type/');
|
355 |
+
|
356 |
+
$this->remove_dir($dir . '/' . date('Y') . '/');
|
357 |
}
|
358 |
+
}
|
359 |
|
360 |
+
/*
|
361 |
+
* Runs only if $hyper_cache_is_mobile is true
|
362 |
+
*/
|
363 |
|
364 |
+
function hook_get_stylesheet($stylesheet = '') {
|
365 |
+
$theme = wp_get_theme($this->options['theme']);
|
366 |
+
if (!$theme->exists()) {
|
367 |
+
return $stylesheet;
|
368 |
+
}
|
369 |
+
return $theme->stylesheet;
|
370 |
+
}
|
371 |
|
372 |
+
/*
|
373 |
+
* Runs only if $hyper_cache_is_mobile is true
|
374 |
+
*
|
375 |
+
* var WP_Theme $theme
|
376 |
+
*/
|
377 |
|
378 |
+
function hook_get_template($template) {
|
379 |
+
$theme = wp_get_theme($this->options['theme']);
|
380 |
+
if (!$theme->exists()) {
|
381 |
+
return $template;
|
382 |
+
}
|
383 |
+
return $theme->template;
|
384 |
+
}
|
385 |
|
386 |
+
function hook_template_redirect() {
|
387 |
+
global $cache_stop, $hyper_cache_stop, $lite_cache_stop;
|
388 |
+
|
389 |
+
if (HYPER_CACHE_LOG) {
|
390 |
+
$this->log('hook_template_redirect');
|
391 |
+
}
|
392 |
+
|
393 |
+
if ($this->ob_started) {
|
394 |
+
return;
|
395 |
+
}
|
396 |
+
|
397 |
+
$home_root = parse_url(get_option('home'), PHP_URL_PATH);
|
398 |
+
|
399 |
+
if ($cache_stop || $hyper_cache_stop || $lite_cache_stop) {
|
400 |
+
|
401 |
+
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
402 |
+
$cache_stop = true;
|
403 |
+
} else if (!empty($_SERVER['QUERY_STRING'])) {
|
404 |
+
$cache_stop = true;
|
405 |
+
} else if (is_user_logged_in()) {
|
406 |
+
$cache_stop = true;
|
407 |
+
} else if (is_trackback()) {
|
408 |
+
$cache_stop = true;
|
409 |
+
}
|
410 |
+
|
411 |
+
// Global feed and global comment feed
|
412 |
+
else if (isset($this->options['reject_feeds']) && is_feed()) {
|
413 |
+
$cache_stop = true;
|
414 |
+
}
|
415 |
+
|
416 |
+
// Single post/page feed
|
417 |
+
else if (isset($this->options['reject_comment_feeds']) && is_comment_feed()) {
|
418 |
+
$cache_stop = true;
|
419 |
+
} else if (isset($this->options['reject_home']) && is_front_page()) {
|
420 |
+
$cache_stop = true;
|
421 |
+
} else if (is_robots()) {
|
422 |
+
$cache_stop = true;
|
423 |
+
}
|
424 |
+
|
425 |
+
if (defined('SID') && SID != '') {
|
426 |
+
$cache_stop = true;
|
427 |
+
}
|
428 |
+
|
429 |
+
// Compatibility with XML Sitemap 4.x
|
430 |
+
else if (substr($_SERVER['REQUEST_URI'], 0, strlen($home_root) + 8) == ($home_root . '/sitemap')) {
|
431 |
+
$cache_stop = true;
|
432 |
+
}
|
433 |
+
// Never cache pages generated for administrator (to be patched to see if the user is an administrator)
|
434 |
+
//if (get_current_user_id() == 1) return;
|
435 |
+
else if (is_404()) {
|
436 |
+
if (isset($this->options['reject_404'])) {
|
437 |
+
$cache_stop = true;
|
438 |
+
} else {
|
439 |
+
$file = $this->get_folder() . '/' . substr(get_option('home'), strpos(get_option('home'), '://') + 3) . '/404.html';
|
440 |
+
|
441 |
+
if (file_exists($file) && ($this->options['max_age'] == 0 || filemtime($file) > time() - $this->options['max_age'] * 3600)) {
|
442 |
+
header('Content-Type: text/html;charset=UTF-8');
|
443 |
+
// For some reason it seems more performant than readfile...
|
444 |
+
header('X-Hyper-Cache: hit,404');
|
445 |
+
echo file_get_contents($file);
|
446 |
+
die();
|
447 |
+
}
|
448 |
}
|
449 |
+
}
|
450 |
+
|
451 |
+
if (!$cache_stop && substr($_SERVER['REQUEST_URI'], 0, strlen($home_root) + 4) == ($home_root . '/wp-')) {
|
452 |
+
$cache_stop = true;
|
453 |
+
}
|
454 |
+
|
455 |
+
|
456 |
+
|
457 |
+
// URLs to reject (exact)
|
458 |
+
if (!$cache_stop && isset($this->options['reject_uris_exact_enabled'])) {
|
459 |
+
if (is_array($this->options['reject_uris_exact'])) {
|
460 |
+
foreach ($this->options['reject_uris_exact'] as &$uri) {
|
461 |
+
if ($_SERVER['REQUEST_URI'] == $uri) {
|
462 |
+
$cache_stop = true;
|
463 |
+
break;
|
464 |
+
}
|
465 |
+
}
|
466 |
}
|
467 |
}
|
468 |
+
|
469 |
+
// URLs to reject
|
470 |
+
if (!$cache_stop && isset($this->options['reject_uris_enabled'])) {
|
471 |
+
if (is_array($this->options['reject_uris'])) {
|
472 |
+
foreach ($this->options['reject_uris'] as &$uri) {
|
473 |
+
if (strpos($_SERVER['REQUEST_URI'], $uri) === 0) {
|
474 |
+
$cache_stop = true;
|
475 |
+
break;
|
476 |
+
}
|
477 |
+
}
|
478 |
+
}
|
479 |
+
}
|
480 |
+
|
481 |
+
if (!$cache_stop && !empty($this->options['reject_old_posts']) && is_single()) {
|
482 |
+
global $post;
|
483 |
+
if (strtotime($post->post_date_gmt) < time() - 86400 * $this->options['reject_old_posts'])
|
484 |
+
return;
|
485 |
+
}
|
486 |
+
|
487 |
+
// If is not require to bypass the comment authors, remove the cookies so the page is generated without
|
488 |
+
// comment moderation noticies
|
489 |
+
if (!isset($this->options['reject_comment_authors'])) {
|
490 |
+
foreach ($_COOKIE as $n => $v) {
|
491 |
+
if (substr($n, 0, 14) == 'comment_author') {
|
492 |
+
unset($_COOKIE[$n]);
|
493 |
+
}
|
494 |
+
}
|
495 |
+
}
|
496 |
+
|
497 |
+
$this->ob_started = true;
|
498 |
+
ob_start('hyper_cache_callback');
|
499 |
}
|
500 |
|
501 |
+
function post_folder($post_id) {
|
502 |
+
$url = get_permalink($post_id);
|
503 |
+
$parts = parse_url($url);
|
504 |
+
return $parts['host'] . hyper_cache_sanitize_uri($parts['path']);
|
|
|
505 |
}
|
|
|
506 |
|
507 |
+
function remove_page($dir) {
|
508 |
+
if (HYPER_CACHE_LOG)
|
509 |
+
$this->log('Removing page: ' . $dir);
|
510 |
+
$dir = untrailingslashit($dir);
|
511 |
+
@unlink($dir . '/index.html');
|
512 |
+
@unlink($dir . '/index.html.gz');
|
513 |
+
@unlink($dir . '/index-https.html');
|
514 |
+
@unlink($dir . '/index-https.html.gz');
|
515 |
+
@unlink($dir . '/index-mobile.html');
|
516 |
+
@unlink($dir . '/index-mobile.html.gz');
|
517 |
+
@unlink($dir . '/index-https-mobile.html');
|
518 |
+
@unlink($dir . '/index-https-mobile.html.gz');
|
519 |
+
|
520 |
+
$this->remove_dir($dir . '/feed/');
|
521 |
+
// Pagination
|
522 |
+
$this->remove_dir($dir . '/page/');
|
523 |
+
}
|
524 |
|
525 |
+
function remove_dir($dir) {
|
526 |
+
if (HYPER_CACHE_LOG) {
|
527 |
+
$this->log('Removing dir: ' . $dir);
|
528 |
+
}
|
529 |
+
$dir = trailingslashit($dir);
|
530 |
+
$files = glob($dir . '*', GLOB_MARK);
|
531 |
+
if (!empty($files)) {
|
532 |
+
foreach ($files as &$file) {
|
533 |
+
if (substr($file, -1) == DIRECTORY_SEPARATOR)
|
534 |
+
$this->remove_dir($file);
|
535 |
+
else {
|
536 |
+
@unlink($file);
|
537 |
+
}
|
538 |
}
|
539 |
}
|
540 |
+
@rmdir($dir);
|
541 |
+
}
|
542 |
+
|
543 |
+
function hook_hyper_cache_clean() {
|
544 |
+
if (!isset($this->options['autoclean'])) {
|
545 |
+
return;
|
546 |
+
}
|
547 |
+
if (HYPER_CACHE_LOG) {
|
548 |
+
$this->log('Periodic cache cleaning start');
|
549 |
+
}
|
550 |
+
if ($this->options['max_age'] == 0) {
|
551 |
+
return;
|
552 |
+
}
|
553 |
+
$this->remove_older_than(time() - $this->options['max_age'] * 3600);
|
554 |
+
if (HYPER_CACHE_LOG) {
|
555 |
+
$this->log('Periodic cache cleaning stop');
|
556 |
+
}
|
557 |
+
}
|
558 |
+
|
559 |
+
function remove_older_than($time) {
|
560 |
+
$this->_remove_older_than($time, $this->get_folder() . '/');
|
561 |
}
|
|
|
562 |
|
563 |
+
function _remove_older_than($time, $dir) {
|
564 |
+
$files = glob($dir . '*', GLOB_MARK);
|
565 |
+
if (!empty($files)) {
|
566 |
+
foreach ($files as &$file) {
|
567 |
+
if (substr($file, -1) == '/')
|
568 |
+
$this->_remove_older_than($time, $file);
|
569 |
+
else {
|
570 |
+
//$this->log($file . ' ' . ($time-filemtime($file)));
|
571 |
+
if (@filemtime($file) < $time) {
|
572 |
+
//$this->log('Removing ' . $file);
|
573 |
+
@unlink($file);
|
574 |
+
}
|
575 |
+
}
|
576 |
}
|
577 |
}
|
|
|
578 |
}
|
579 |
+
|
580 |
+
function get_folder() {
|
581 |
+
if (empty($this->options['folder']))
|
582 |
+
return WP_CONTENT_DIR . '/cache/hyper-cache';
|
583 |
+
else
|
584 |
+
return $this->options['folder'];
|
585 |
+
}
|
586 |
+
|
587 |
+
function text_to_list($text) {
|
588 |
+
$list = array();
|
589 |
+
$items = explode("\n", str_replace(array("\n", "\r"), "\n", $text));
|
590 |
+
foreach ($items as &$item) {
|
591 |
+
$item = trim($item);
|
592 |
+
if ($item == '')
|
593 |
+
continue;
|
594 |
+
$list[] = $item;
|
595 |
+
}
|
596 |
+
return $list;
|
597 |
+
}
|
598 |
+
|
599 |
}
|
600 |
|
601 |
+
/*
|
602 |
+
function hyper_cache_remove_protocol($buffer) {
|
603 |
+
|
604 |
+
$buffer = str_ireplace('"http://', '"//', $buffer);
|
605 |
+
$buffer = str_ireplace('\'http://', '\'//', $buffer);
|
606 |
+
return $buffer;
|
607 |
|
608 |
+
$parts = parse_url(get_home_url());
|
609 |
+
$buffer = str_ireplace('http://' . $parts['host'], '//' . $parts['host'], $buffer);
|
610 |
+
$buffer = str_ireplace('https://' . $parts['host'], '//' . $parts['host'], $buffer);
|
611 |
+
return $buffer;
|
612 |
|
613 |
+
}
|
614 |
|
615 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
|
617 |
+
function hyper_cache_cdn_callback($matches) {
|
618 |
+
//error_log($matches[1]);
|
619 |
+
$parts = parse_url($matches[2]);
|
620 |
+
//$return = $parts['scheme'] . '://' . $parts['host'] . $parts['path'];
|
621 |
+
$return = HyperCache::$instance->options['cdn_url'] . $parts['path'];
|
622 |
|
623 |
+
if (!empty($parts['query'])) {
|
624 |
+
$return .= '?' . $parts['query'];
|
625 |
+
}
|
626 |
+
return $matches[1] . $return . $matches[3];
|
627 |
}
|
628 |
|
629 |
+
function hyper_cache_callback($buffer) {
|
630 |
+
global $cache_stop, $lite_cache, $hyper_cache_stop, $hyper_cache_group, $hyper_cache_is_mobile, $hyper_cache_gzip_accepted;
|
631 |
+
|
632 |
+
$buffer = trim($buffer);
|
633 |
+
|
634 |
+
if (strlen($buffer) == 0) {
|
635 |
+
return '';
|
636 |
+
}
|
637 |
+
|
638 |
+
$options = HyperCache::$instance->options;
|
639 |
+
|
640 |
+
// Replace the CDN Url
|
641 |
+
if (isset($options['cdn_enabled'])) {
|
642 |
+
$parts = parse_url(get_option('home'));
|
643 |
+
$base = quotemeta($parts['scheme'] . '://' . $parts['host']);
|
644 |
+
$base = quotemeta('http://' . $parts['host']);
|
645 |
+
|
646 |
+
$buffer = preg_replace_callback("#(<img.+src=[\"'])(" . $base . ".*)([\"'])#U", 'hyper_cache_cdn_callback', $buffer);
|
647 |
+
$buffer = preg_replace_callback("#(<script.+src=[\"'])(" . $base . ".*)([\"'])#U", 'hyper_cache_cdn_callback', $buffer);
|
648 |
+
$buffer = preg_replace_callback("#(<link.+href=[\"'])(" . $base . ".*)([\"'])#U", 'hyper_cache_cdn_callback', $buffer);
|
649 |
+
}
|
650 |
+
|
651 |
+
$buffer = apply_filters('cache_buffer', $buffer);
|
652 |
+
|
653 |
+
if ($cache_stop || $hyper_cache_stop) {
|
654 |
|
655 |
+
if (isset($options['gzip']) && $hyper_cache_gzip_accepted && function_exists('gzencode')) {
|
656 |
+
//error_log('dsfsdfsdfsdfsdffafasfsafdsa');
|
657 |
+
header('Cache-Control: private, max-age=0, no-cache, no-transform', false);
|
658 |
+
header('Vary: Accept-Encoding,User-Agent');
|
659 |
+
header('Content-Encoding: gzip');
|
660 |
+
header('X-Hyper-Cache: gzip on the fly', false);
|
661 |
+
return gzencode($buffer, 9);
|
662 |
+
}
|
663 |
+
return $buffer;
|
664 |
+
}
|
665 |
+
|
666 |
+
$uri = hyper_cache_sanitize_uri($_SERVER['REQUEST_URI']);
|
667 |
+
|
668 |
+
$lc_dir = HyperCache::$instance->get_folder() . '/' . strtolower($_SERVER['HTTP_HOST']) . $uri;
|
669 |
+
|
670 |
+
if ($hyper_cache_is_mobile) {
|
671 |
+
// Bypass (should no need since there is that control on advanced-cache.php)
|
672 |
+
if ($options['mobile'] == 2) {
|
673 |
+
if (isset($options['gzip']) && $hyper_cache_gzip_accepted && function_exists('gzencode')) {
|
674 |
+
header('Cache-Control: private, max-age=0, no-cache, no-transform', false);
|
675 |
+
header('Vary: Accept-Encoding,User-Agent');
|
676 |
+
header('Content-Encoding: gzip');
|
677 |
+
header('X-Hyper-Cache: mobile, gzip on the fly', false);
|
678 |
+
return gzencode($buffer, 9);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
}
|
680 |
+
return $buffer;
|
|
|
681 |
}
|
682 |
+
}
|
683 |
+
|
684 |
+
if (is_404()) {
|
685 |
+
$lc_file = HyperCache::$instance->get_folder() . '/' . strtolower($_SERVER['HTTP_HOST']) . '/404.html';
|
686 |
+
} else {
|
687 |
+
$lc_file = $lc_dir . '/index' . $hyper_cache_group . '.html';
|
688 |
+
|
689 |
+
if (!is_dir($lc_dir)) {
|
690 |
+
wp_mkdir_p($lc_dir);
|
691 |
+
}
|
692 |
+
}
|
693 |
+
|
694 |
+
if (!isset($options['reject_comment_authors']) && is_singular() && !is_feed() && !is_user_logged_in()) {
|
695 |
+
$script = '<script>';
|
696 |
+
$script .= 'function lc_get_cookie(name) {';
|
697 |
+
$script .= 'var c = document.cookie;';
|
698 |
+
$script .= 'if (c.indexOf(name) != -1) {';
|
699 |
+
$script .= 'var x = c.indexOf(name)+name.length+1;';
|
700 |
+
$script .= 'var y = c.indexOf(";",x);';
|
701 |
+
$script .= 'if (y < 0) y = c.length;';
|
702 |
+
$script .= 'return decodeURIComponent(c.substring(x,y));';
|
703 |
+
$script .= '} else return "";}';
|
704 |
+
$script .= 'if ((d = document.getElementById("commentform")) != null) { e = d.elements;';
|
705 |
+
$script .= 'var z = lc_get_cookie("comment_author_email_' . COOKIEHASH . '");';
|
706 |
+
$script .= 'if (z != "") e["email"].value = z;';
|
707 |
+
$script .= 'z = lc_get_cookie("comment_author_' . COOKIEHASH . '");';
|
708 |
+
$script .= 'if (z != "") e["author"].value = z.replace(/\+/g, " ");';
|
709 |
+
$script .= 'z = lc_get_cookie("comment_author_url_' . COOKIEHASH . '");';
|
710 |
+
$script .= 'if (z != "") e["url"].value = z;';
|
711 |
+
$script .= '}';
|
712 |
+
$script .= '</script>';
|
713 |
+
$x = strrpos($buffer, '</body>');
|
714 |
+
if ($x) {
|
715 |
+
$buffer = substr($buffer, 0, $x) . $script . '</body></html>';
|
716 |
+
} else {
|
717 |
+
$buffer .= $script;
|
718 |
}
|
719 |
}
|
|
|
|
|
|
|
720 |
|
721 |
+
file_put_contents($lc_file, $buffer . '<!-- hyper cache ' . date('Y-m-d h:i:s') . ' -->');
|
722 |
+
|
723 |
+
// Saves the gzipped version
|
724 |
+
if (isset($options['gzip'])) {
|
725 |
+
$gzf = gzopen($lc_file . '.gz', 'wb9');
|
726 |
+
gzwrite($gzf, $buffer . '<!-- hyper cache gzip ' . date('Y-m-d h:i:s') . ' -->');
|
727 |
+
gzclose($gzf);
|
728 |
+
}
|
729 |
return $buffer;
|
730 |
}
|
731 |
+
|
732 |
+
if (!function_exists('hyper_cache_sanitize_uri')) {
|
733 |
+
|
734 |
+
function hyper_cache_sanitize_uri($uri) {
|
735 |
+
if (HYPER_CACHE_LOG) {
|
736 |
+
$this->log('URI: ' . $uri);
|
737 |
+
}
|
738 |
+
$uri = preg_replace('/[^a-zA-Z0-9\/\-_]+/', '_', $uri);
|
739 |
+
$uri = preg_replace('/\/+/', '/', $uri);
|
740 |
+
//$uri = rtrim($uri, '.-_/');
|
741 |
+
if (empty($uri) || $uri[0] != '/') {
|
742 |
+
$uri = '/' . $uri;
|
743 |
+
}
|
744 |
+
if (strlen($uri) > 1 && substr($uri, -1, 1) == '/') {
|
745 |
+
$uri = rtrim($uri, '/') . '_';
|
746 |
+
}
|
747 |
+
if (HYPER_CACHE_LOG) {
|
748 |
+
$this->log('Sanitized URI: ' . $uri);
|
749 |
+
}
|
750 |
+
return $uri;
|
751 |
+
}
|
752 |
+
|
753 |
+
}
|
readme.txt
CHANGED
@@ -1,69 +1,45 @@
|
|
1 |
=== Hyper Cache ===
|
2 |
-
Tags: cache,
|
3 |
Requires at least: 2.5
|
4 |
-
Tested up to:
|
5 |
Stable tag: trunk
|
6 |
Donate link: http://www.satollo.net/donations
|
|
|
7 |
|
8 |
-
Hyper Cache is
|
9 |
|
10 |
== Description ==
|
11 |
|
12 |
-
Hyper Cache is a
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
It has not yet tested for multisite configuration (WordPress 3.0 feature).
|
19 |
-
|
20 |
-
An alternative to Hyper Cache is Lite Cache which probably is simpler to configure but
|
21 |
-
with the same performace level. Lite Cache is able to cache pages for commenters, too,
|
22 |
-
which are usually excluded from other type of caches.
|
23 |
-
|
24 |
-
Some features:
|
25 |
-
|
26 |
-
* compatible with the plugin wp-pda which enables a blog to be *accessible from mobile devices*
|
27 |
-
* manages (both) *plain and gzip compressed pages*
|
28 |
-
* autoclean system to reduce the disk usage
|
29 |
-
* 404 caching
|
30 |
-
* redirects caching
|
31 |
-
* easy to configure
|
32 |
-
* Global Translator compatibility
|
33 |
-
* Last Modified http header compatibility with 304 responses
|
34 |
-
* compressed storage to reduce the disk space usage
|
35 |
-
* agents, urls and cookies based rejection configurable
|
36 |
-
* easy to integrated with other plugins
|
37 |
-
|
38 |
-
More can be read on the [official plugin page](http://www.satollo.net/plugins/hyper-cache) and write me
|
39 |
-
if you have issues to info@satollo.net.
|
40 |
-
|
41 |
-
New contributors policy: since in the pas I had problem with link to contributors sites, I removed
|
42 |
-
them but I would like to add a reference to profile pages of contributors on WordPress, Twitter,
|
43 |
-
Facebook, Google+. Those links should be safe.
|
44 |
-
|
45 |
-
**Check out my other plugins**:
|
46 |
-
|
47 |
-
* [Post Layout](http://www.satollo.net/plugins/post-layout "Post Layout WordPress plugin: the easy way to enrich your posts")
|
48 |
-
* [Comment Notifier](http://www.satollo.net/plugins/comment-notifier "Keep your blog discussions on fire")
|
49 |
-
* [Feed Layout](http://www.satollo.net/plugins/feed-layout "Feed Layout WordPress plugin: the easy way to enrich your feed contents")
|
50 |
-
* [Dynatags](http://www.satollo.net/plugins/dynatags "Dynatags WordPress plugin: Create your own custom short tag in seconds")
|
51 |
-
* [Header and Footer](http://www.satollo.net/plugins/header-footer)
|
52 |
-
* [Newsletter](http://www.satollo.net/plugins/newsletter)
|
53 |
|
54 |
-
|
55 |
|
56 |
-
*
|
57 |
-
*
|
58 |
-
*
|
59 |
-
*
|
60 |
-
*
|
61 |
-
*
|
62 |
-
|
63 |
-
*
|
64 |
-
*
|
65 |
-
*
|
66 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
|
69 |
== Installation ==
|
@@ -72,109 +48,109 @@ Thanks to:
|
|
72 |
2. Go into the WordPress admin interface and activate the plugin
|
73 |
3. Optional: go to the options page and configure the plugin
|
74 |
|
75 |
-
Before upgrade DEACTIVATE the plugin and then ACTIVATE and RECONFIGURE!
|
76 |
-
|
77 |
== Frequently Asked Questions ==
|
78 |
|
79 |
-
See the [Hyper Cache official page](http://www.satollo.net/plugins/hyper-cache)
|
80 |
-
|
81 |
-
== Screenshots ==
|
82 |
-
|
83 |
-
No screenshots are available.
|
84 |
-
|
85 |
-
== Changelog ==
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
* Fixed some debug noticies
|
90 |
|
91 |
-
|
92 |
|
93 |
-
|
94 |
|
95 |
-
|
96 |
|
97 |
-
|
98 |
|
99 |
-
=
|
100 |
|
101 |
-
*
|
102 |
|
103 |
-
=
|
104 |
|
105 |
-
*
|
|
|
|
|
106 |
|
107 |
-
=
|
108 |
|
109 |
-
*
|
110 |
|
111 |
-
=
|
112 |
|
113 |
-
*
|
114 |
-
* fixed the WP_CONTENT_DIR usage
|
115 |
-
* some "undefined index" notices because people and PHP pretend that an associative array should be checked for a key before asking for its content... (terrible and inefficient)
|
116 |
-
* cache path save with single quote to avoid problem with windows paths
|
117 |
|
118 |
-
=
|
119 |
|
120 |
-
*
|
121 |
|
122 |
-
=
|
123 |
|
124 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
|
126 |
-
=
|
127 |
|
128 |
-
*
|
129 |
|
130 |
-
=
|
131 |
|
132 |
-
|
|
|
|
|
133 |
|
134 |
-
|
135 |
-
* added the Vary header
|
136 |
-
* fixed the Cache-Control/Expires and Last-Modified headers
|
137 |
-
* remove the trailing slash for permalink (even if WordPress should send a redirect and Hyper Cache should already intercept it)
|
138 |
-
* added a few safety checks for gzencode/decode functions in cache.php
|
139 |
-
* new configuration option: allow browser caching
|
140 |
-
* allow browser to bypass the server-side cache
|
141 |
-
* some options panel fixes and improvements
|
142 |
|
143 |
-
|
|
|
|
|
|
|
144 |
|
145 |
-
|
146 |
|
147 |
-
|
|
|
|
|
148 |
|
149 |
-
|
150 |
|
151 |
-
|
|
|
152 |
|
153 |
-
|
154 |
-
* Introduced the text domain (re-trnslation needed)
|
155 |
|
156 |
-
|
157 |
|
158 |
-
|
159 |
|
160 |
-
|
|
|
161 |
|
162 |
-
|
163 |
|
164 |
-
|
|
|
|
|
165 |
|
166 |
-
|
167 |
|
168 |
-
|
|
|
|
|
169 |
|
170 |
-
|
171 |
|
172 |
-
|
173 |
|
174 |
-
|
175 |
-
* configuration panel has no more expandable sections
|
176 |
-
* the cached pages are no more deleted on update
|
177 |
|
178 |
-
|
|
|
|
|
179 |
|
180 |
-
* fixed the Last Modified header (thanks Yuri C.)
|
1 |
=== Hyper Cache ===
|
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.1
|
5 |
Stable tag: trunk
|
6 |
Donate link: http://www.satollo.net/donations
|
7 |
+
Contributors: satollo
|
8 |
|
9 |
+
Hyper Cache is a performant and easy to configure cache system for WordPress.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
Hyper Cache is a cache plugin specifically written to get the maximum
|
14 |
+
speed for your WordPress blog. It can be used in low resources hosting as well
|
15 |
+
on high end servers.
|
16 |
+
|
17 |
+
Hyper Cache is purely PHP and works on every blog: no complex configurations are need
|
18 |
+
and when you deactivate it no stale setting are left floating around.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
Short list of features:
|
21 |
|
22 |
+
* Mobile aware: double cache for desktop and mobile site versions
|
23 |
+
* Mobile theme switch option: change the theme on mobile device detection
|
24 |
+
* Able to serve expired pages to bots to increase the perceived speed by bots
|
25 |
+
* Manages compression even on the fly for non cached pages
|
26 |
+
* Lots of configurable bypasses: matching cookies, matching urls, user agents, ...
|
27 |
+
* Comments aware: is able to serve cached pages even to visitors who commented the blog (perfect for
|
28 |
+
blog with great readers paritipation)
|
29 |
+
* Cache folder can be moved outside your blog space to exclude it from backups
|
30 |
+
* Controls over cache cleaning on blog events (post edited, comments, ...)
|
31 |
+
* Autoclean to controls the cache used disk space
|
32 |
+
* CDN support (experimental)
|
33 |
+
* Other special options
|
34 |
+
* Response header signature to check the working status
|
35 |
+
|
36 |
+
More can be read on the [Hyper Cache official page](http://www.satollo.net/plugins/hyper-cache).
|
37 |
+
|
38 |
+
Other plugins by Stefano Lissa:
|
39 |
+
|
40 |
+
* [Newsletter](http://www.thenewsletterplugin.com)
|
41 |
+
* [Header and Footer](http://www.satollo.net/plugins/header-footer)
|
42 |
+
* [Include Me](http://www.satollo.net/plugins/include-me)
|
43 |
|
44 |
|
45 |
== Installation ==
|
48 |
2. Go into the WordPress admin interface and activate the plugin
|
49 |
3. Optional: go to the options page and configure the plugin
|
50 |
|
|
|
|
|
51 |
== Frequently Asked Questions ==
|
52 |
|
53 |
+
See the [Hyper Cache official page](http://www.satollo.net/plugins/hyper-cache) or
|
54 |
+
the [Hyper Cache official forum](http://www.satollo.net/forums/forum/hyper-cache-plugin).
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
+
== Screenshots ==
|
|
|
|
|
57 |
|
58 |
+
1. The main configuration panel
|
59 |
|
60 |
+
2. Configuration of bypasses (things you want/not want to be cached)
|
61 |
|
62 |
+
3. Mobile devices configuration
|
63 |
|
64 |
+
== Changelog ==
|
65 |
|
66 |
+
= 3.1.8 =
|
67 |
|
68 |
+
* Fixed the comment awaiting notification cached
|
69 |
|
70 |
+
= 3.1.7 =
|
71 |
|
72 |
+
* Added experimental support for CDN
|
73 |
+
* Added on-the-fly compression
|
74 |
+
* Fixed some headers
|
75 |
|
76 |
+
= 3.1.6 =
|
77 |
|
78 |
+
* Fixed the post trashing detection
|
79 |
|
80 |
+
= 3.1.5 =
|
81 |
|
82 |
+
* Tidy option removed
|
|
|
|
|
|
|
83 |
|
84 |
+
= 3.1.4 =
|
85 |
|
86 |
+
* Fixed an error log always active
|
87 |
|
88 |
+
= 3.1.3 =
|
89 |
|
90 |
+
* Fixed the agents bypass
|
91 |
+
* Added the "serve expired pages to bots" options
|
92 |
+
* Added the readfile/file_get_contents switch
|
93 |
+
* Fixed the draft saving triggering a cache invalidation
|
94 |
+
* Added distinct cache clean for home and archives
|
95 |
+
* Added debug logging when HYPER_CACHE_LOG is true (define it on wp-config.php)
|
96 |
+
* Fixed the + sign on comment author
|
97 |
|
98 |
+
= 3.1.2 =
|
99 |
|
100 |
+
* Fixed comment author cookie clean
|
101 |
|
102 |
+
= 3.1.1 =
|
103 |
|
104 |
+
* fixed a PHP warning on options panel when clearing an empty cache
|
105 |
+
* pot file added
|
106 |
+
* possible fix for after update messages that saving is needed
|
107 |
|
108 |
+
= 3.1.0 =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
+
* Fixed the cookie bypass
|
111 |
+
* Removed a debug notice
|
112 |
+
* Added HTTPS separated cache
|
113 |
+
* Improved code performance
|
114 |
|
115 |
+
= 3.0.6 =
|
116 |
|
117 |
+
* readme.txt fix
|
118 |
+
* WP 4.0 compatibility check
|
119 |
+
* Fixed invalidation on draft saving
|
120 |
|
121 |
+
= 3.0.5 =
|
122 |
|
123 |
+
* Fixed analysis of URL with commas and dots
|
124 |
+
* Improved the categories invalidation with /%category% permalink
|
125 |
|
126 |
+
= 3.0.4 =
|
|
|
127 |
|
128 |
+
* Help texts fixed
|
129 |
|
130 |
+
= 3.0.3 =
|
131 |
|
132 |
+
* Fixed the autoclean when max cached page age is set to 0
|
133 |
+
* Changed a little the mobile agent list
|
134 |
|
135 |
+
= 3.0.2 =
|
136 |
|
137 |
+
* Added the browser caching option
|
138 |
+
* Fixed a cache header
|
139 |
+
* Fixed warning on cache size if empty
|
140 |
|
141 |
+
= 3.0.1 =
|
142 |
|
143 |
+
* Short description fix on plugin.php
|
144 |
+
* Forum link fix on readme.txt
|
145 |
+
* More help on comment authors option
|
146 |
|
147 |
+
= 3.0.0 =
|
148 |
|
149 |
+
* Totally rewritten to include the Lite Cache features
|
150 |
|
151 |
+
= To Do =
|
|
|
|
|
152 |
|
153 |
+
* Register an action to clean the cache by other plugin
|
154 |
+
* Separated cache for https
|
155 |
+
* Invalidation of categories paths when /%category%/%postname% is used
|
156 |
|
|