author | Dan |
Wed, 25 Feb 2009 13:38:21 -0500 | |
changeset 835 | 146bc1daf498 |
parent 801 | eb8b23f11744 |
child 953 | 323c4cd1aa37 |
permissions | -rw-r--r-- |
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
1 |
<?php |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
2 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
3 |
/* |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
4 |
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between |
801
eb8b23f11744
Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents:
685
diff
changeset
|
5 |
* Version 1.1.6 (Caoineag beta 1) |
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
6 |
* Copyright (C) 2006-2008 Dan Fuhry |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
7 |
* |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
8 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
9 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
10 |
* |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
11 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
12 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
13 |
*/ |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
14 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
15 |
// Cache manager - regenerate and clear various cached values |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
16 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
17 |
function page_Admin_CacheManager() |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
18 |
{ |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
19 |
global $db, $session, $paths, $template, $plugins; // Common objects |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
20 |
global $lang; |
613 | 21 |
global $cache; |
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
22 |
if ( $session->auth_level < USER_LEVEL_ADMIN || $session->user_level < USER_LEVEL_ADMIN ) |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
23 |
{ |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
24 |
$login_link = makeUrlNS('Special', 'Login/' . $paths->nslist['Special'] . 'Administration', 'level=' . USER_LEVEL_ADMIN, true); |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
25 |
echo '<h3>' . $lang->get('adm_err_not_auth_title') . '</h3>'; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
26 |
echo '<p>' . $lang->get('adm_err_not_auth_body', array( 'login_link' => $login_link )) . '</p>'; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
27 |
return; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
28 |
} |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
29 |
|
613 | 30 |
// validation/actions |
31 |
if ( isset($_POST['refresh']) || isset($_POST['clear']) ) |
|
32 |
{ |
|
33 |
$success = false; |
|
34 |
||
35 |
$target = ( isset($_POST['refresh']) ) ? $_POST['refresh'] : $_POST['clear']; |
|
36 |
$do_refresh = isset($_POST['refresh']); |
|
37 |
switch ( $target ) |
|
38 |
{ |
|
39 |
case 'page': |
|
40 |
$success = $cache->purge('page_meta'); |
|
41 |
if ( $do_refresh && $success ) |
|
42 |
$success = $paths->update_metadata_cache(); |
|
43 |
break; |
|
44 |
case 'ranks': |
|
45 |
$success = $cache->purge('ranks'); |
|
46 |
if ( $do_refresh && $success ) |
|
47 |
$success = generate_cache_userranks(); |
|
48 |
break; |
|
49 |
case 'sidebar': |
|
50 |
$success = $cache->purge('anon_sidebar'); |
|
51 |
break; |
|
52 |
case 'plugins': |
|
53 |
$success = $cache->purge('plugins'); |
|
54 |
if ( $do_refresh && $success ) |
|
55 |
$success = $plugins->generate_plugins_cache(); |
|
56 |
break; |
|
57 |
case 'template': |
|
58 |
if ( $dh = opendir(ENANO_ROOT . '/cache') ) |
|
59 |
{ |
|
60 |
while ( $file = @readdir($dh) ) |
|
61 |
{ |
|
62 |
$fullpath = ENANO_ROOT . "/cache/$file"; |
|
63 |
// we don't want to mess with directories |
|
64 |
if ( !is_file($fullpath) ) |
|
65 |
continue; |
|
66 |
||
67 |
if ( preg_match('/\.(?:tpl|css)\.php$/', $file) ) |
|
68 |
{ |
|
69 |
unlink($fullpath); |
|
70 |
} |
|
71 |
} |
|
72 |
$success = true; |
|
73 |
} |
|
74 |
break; |
|
75 |
case 'aes': |
|
76 |
$success = @unlink(ENANO_ROOT . '/cache/aes_decrypt.php'); |
|
77 |
break; |
|
78 |
case 'lang': |
|
79 |
if ( $dh = opendir(ENANO_ROOT . '/cache') ) |
|
80 |
{ |
|
81 |
while ( $file = @readdir($dh) ) |
|
82 |
{ |
|
83 |
$fullpath = ENANO_ROOT . "/cache/$file"; |
|
84 |
// we don't want to mess with directories |
|
85 |
if ( !is_file($fullpath) ) |
|
86 |
continue; |
|
87 |
||
88 |
if ( preg_match('/^lang_json_(?:[a-f0-9]+?)\.php$/', $file) || preg_match('/^(?:cache_)?lang_(?:[0-9]+?)\.php$/', $file) ) |
|
89 |
unlink($fullpath); |
|
90 |
} |
|
91 |
$success = true; |
|
92 |
} |
|
93 |
if ( $do_refresh && $success ) |
|
94 |
{ |
|
95 |
// for each language in the database, call regen_caches() |
|
96 |
$q = $db->sql_query('SELECT lang_id FROM ' . table_prefix . 'language;'); |
|
97 |
if ( !$q ) |
|
98 |
$db->_die(); |
|
99 |
while ( $row = $db->fetchrow($q) ) |
|
100 |
{ |
|
101 |
$lang_local = ( $row['lang_id'] == $lang->lang_id ) ? $lang : new Language($row['lang_id']); |
|
102 |
$success = $lang_local->regen_caches(); |
|
103 |
if ( !$success ) |
|
104 |
break 2; |
|
105 |
} |
|
106 |
} |
|
107 |
break; |
|
108 |
case 'js': |
|
109 |
if ( $dh = opendir(ENANO_ROOT . '/cache') ) |
|
110 |
{ |
|
111 |
while ( $file = @readdir($dh) ) |
|
112 |
{ |
|
113 |
$fullpath = ENANO_ROOT . "/cache/$file"; |
|
114 |
// we don't want to mess with directories |
|
115 |
if ( !is_file($fullpath) ) |
|
116 |
continue; |
|
117 |
||
118 |
// compressed javascript |
|
119 |
if ( preg_match('/^jsres_(?:[A-z0-9_-]+)\.js\.json$/', $file) ) |
|
120 |
unlink($fullpath); |
|
121 |
// tinymce stuff |
|
122 |
else if ( preg_match('/^tiny_mce_(?:[a-f0-9]+)\.gz$/', $file) ) |
|
123 |
unlink($fullpath); |
|
124 |
} |
|
125 |
$success = true; |
|
126 |
} |
|
127 |
break; |
|
128 |
case 'thumbs': |
|
129 |
if ( $dh = opendir(ENANO_ROOT . '/cache') ) |
|
130 |
{ |
|
131 |
while ( $file = @readdir($dh) ) |
|
132 |
{ |
|
133 |
$fullpath = ENANO_ROOT . "/cache/$file"; |
|
134 |
// we don't want to mess with directories |
|
135 |
if ( !is_file($fullpath) ) |
|
136 |
continue; |
|
137 |
||
138 |
if ( preg_match('/^(?:[a-z0-9\._,-]+)-(?:[0-9]{10})-[0-9]+x[0-9]+\.([a-z0-9_-]+)$/i', $file) ) |
|
139 |
unlink($fullpath); |
|
140 |
} |
|
141 |
$success = true; |
|
142 |
} |
|
143 |
break; |
|
144 |
case 'all': |
|
145 |
$success = purge_all_caches(); |
|
146 |
if ( $do_refresh ) |
|
147 |
{ |
|
148 |
// |
|
149 |
// refresh all static (non-incremental) caches |
|
150 |
// |
|
151 |
||
152 |
// pages |
|
153 |
$success = $paths->update_metadata_cache(); |
|
154 |
if ( !$success ) |
|
155 |
break; |
|
156 |
||
157 |
// user ranks |
|
158 |
$success = generate_cache_userranks(); |
|
159 |
if ( !$success ) |
|
160 |
break; |
|
161 |
||
162 |
// plugins |
|
163 |
$success = $plugins->generate_plugins_cache(); |
|
164 |
if ( !$success ) |
|
165 |
break; |
|
166 |
||
167 |
// languages |
|
168 |
$q = $db->sql_query('SELECT lang_id FROM ' . table_prefix . 'language;'); |
|
169 |
if ( !$q ) |
|
170 |
$db->_die(); |
|
171 |
while ( $row = $db->fetchrow($q) ) |
|
172 |
{ |
|
173 |
$lang_local = ( $row['lang_id'] == $lang->lang_id ) ? $lang : new Language($row['lang_id']); |
|
174 |
$success = $lang_local->regen_caches(); |
|
175 |
if ( !$success ) |
|
176 |
break 2; |
|
177 |
} |
|
178 |
} |
|
179 |
break; |
|
180 |
default: |
|
181 |
$code = $plugins->setHook('acp_cache_manager_action'); |
|
182 |
foreach ( $code as $cmd ) |
|
183 |
{ |
|
184 |
eval($cmd); |
|
185 |
} |
|
186 |
break; |
|
187 |
} |
|
188 |
if ( $success ) |
|
189 |
{ |
|
190 |
echo '<div class="info-box">' . $lang->get('acpcm_msg_action_success') . '</div>'; |
|
191 |
} |
|
192 |
else |
|
193 |
{ |
|
194 |
echo '<div class="error-box">' . $lang->get('acpcm_err_action_failed') . '</div>'; |
|
195 |
} |
|
196 |
} |
|
197 |
else if ( isset($_POST['save']) ) |
|
198 |
{ |
|
199 |
$config_value = ( isset($_POST['cache_thumbs']) ) ? '1' : '0'; |
|
200 |
setConfig('cache_thumbs', $config_value); |
|
201 |
echo '<div class="info-box">' . $lang->get('acpcm_msg_action_success') . '</div>'; |
|
202 |
} |
|
203 |
||
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
204 |
echo '<h3><img alt=" " src="' . scriptPath . '/images/icons/applets/cachemanager.png" /> ' . $lang->get('acpcm_heading_main') . '</h3>'; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
205 |
echo '<p>' . $lang->get('acpcm_intro') . '</p>'; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
206 |
|
613 | 207 |
echo '<div class="warning-box">' . $lang->get('acpcm_msg_refresh_warning') . '</div>'; |
208 |
||
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
209 |
acp_start_form(); |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
210 |
?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
211 |
<div class="tblholder"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
212 |
<table border="0" cellspacing="1" cellpadding="4"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
213 |
<!-- HEADER --> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
214 |
<tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
215 |
<th colspan="2"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
216 |
<?php echo $lang->get('acpcm_table_header'); ?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
217 |
</th> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
218 |
</tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
219 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
220 |
<!-- ENABLE CACHE --> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
221 |
<tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
222 |
<td class="row1" colspan="2"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
223 |
<label> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
224 |
<input type="checkbox" name="cache_thumbs"<?php if ( getConfig('cache_thumbs') == '1' ) echo ' checked="checked"'; ?> /> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
225 |
<?php echo $lang->get('acpcm_lbl_enable_cache'); ?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
226 |
</label> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
227 |
<br /> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
228 |
<small> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
229 |
<?php echo $lang->get('acpcm_hint_enable_cache'); ?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
230 |
</small> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
231 |
</td> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
232 |
</tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
233 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
234 |
<!-- CLEAR ALL --> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
235 |
<tr> |
613 | 236 |
<td class="row2" style="width: 120px; text-align: center;"> |
237 |
<button name="clear" value="all"><?php echo $lang->get('acpcm_btn_clear_all'); ?></button> |
|
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
238 |
</td> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
239 |
<td class="row2"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
240 |
<?php echo $lang->get('acpcm_hint_clear_all'); ?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
241 |
</td> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
242 |
</tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
243 |
|
613 | 244 |
<?php |
245 |
// if caching is disabled, might as well break off here |
|
246 |
if ( getConfig('cache_thumbs') == '1' ): |
|
247 |
?> |
|
248 |
||
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
249 |
<!-- REFRESH ALL --> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
250 |
<tr> |
613 | 251 |
<td class="row1" style="text-align: center;"> |
252 |
<button name="refresh" value="all"><?php echo $lang->get('acpcm_btn_refresh_all'); ?></button> |
|
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
253 |
</td> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
254 |
<td class="row1"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
255 |
<?php echo $lang->get('acpcm_hint_refresh_all'); ?> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
256 |
</td> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
257 |
</tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
258 |
|
613 | 259 |
<!-- INDIVIDUAL CACHES --> |
260 |
<tr> |
|
261 |
<th class="subhead" colspan="2"> |
|
262 |
<?php echo $lang->get('acpcm_th_individual_caches'); ?> |
|
263 |
</th> |
|
264 |
</tr> |
|
265 |
||
266 |
<?php |
|
267 |
$class = 'row2'; |
|
268 |
$cache_list = array('page', 'ranks', 'sidebar', 'plugins', 'template', 'aes', 'lang', 'js', 'thumbs'); |
|
269 |
$code = $plugins->setHook('acp_cache_manager_list_caches'); |
|
270 |
foreach ( $code as $cmd ) |
|
271 |
{ |
|
272 |
eval($cmd); |
|
273 |
} |
|
274 |
foreach ( $cache_list as $target ) |
|
275 |
{ |
|
276 |
$class = ( $class == 'row1' ) ? 'row2' : 'row1'; |
|
277 |
?><tr> |
|
278 |
<td class="<?php echo $class; ?>" style="text-align: center;"> |
|
279 |
<button name="refresh" value="<?php echo $target; ?>"<?php if ( in_array($target, array('template', 'sidebar', 'aes', 'js', 'thumbs')) ) echo ' disabled="disabled"'; ?>> |
|
280 |
<?php echo $lang->get('acpcm_btn_refresh'); ?> |
|
281 |
</button> |
|
282 |
<button name="clear" value="<?php echo $target; ?>"> |
|
283 |
<?php echo $lang->get('acpcm_btn_clear'); ?> |
|
284 |
</button> |
|
285 |
</td> |
|
286 |
<td class="<?php echo $class; ?>"> |
|
287 |
<b><?php echo $lang->get("acpcm_cache_{$target}_desc_title"); ?></b> – |
|
288 |
<?php echo $lang->get("acpcm_cache_{$target}_desc_body"); ?> |
|
289 |
</td> |
|
290 |
</tr> |
|
291 |
<?php |
|
292 |
} |
|
293 |
||
294 |
// getConfig('cache_thumbs') == '1' |
|
295 |
endif; |
|
296 |
?> |
|
297 |
||
605
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
298 |
<!-- SAVE CHANGES --> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
299 |
<tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
300 |
<th colspan="2" class="subhead"> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
301 |
<input type="submit" name="save" value="<?php echo $lang->get('etc_save_changes'); ?>" style="font-weight: bold;" /> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
302 |
<input type="submit" name="cancel" value="<?php echo $lang->get('etc_cancel'); ?>" /> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
303 |
</th> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
304 |
</tr> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
305 |
</table> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
306 |
</div> |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
307 |
<?php |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
308 |
echo '</form>'; |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
309 |
} |
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
310 |
|
d2d4e40ecd29
First draft of new CacheManager admin page. Backend is yet to be implemented.
Dan
parents:
diff
changeset
|
311 |
?> |