Changeset 2312
- Timestamp:
- 12/18/10 11:28:20 (17 months ago)
- Location:
- branches/1.5/libs
- Files:
-
- 3 modified
-
AdminPages.php (modified) (4 diffs)
-
Database.php (modified) (1 diff)
-
Maintenance.php (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.5/libs/AdminPages.php
r2308 r2312 1 1 <?php 2 2 3 /** 3 4 * Functions for Admin pages, e.g. settings, maintenance, blocked list... … … 313 314 break; 314 315 case 'optimize': 315 $h->optimizeTables(); 316 $h->db->optimizeTables(); 317 $h->message = $h->lang['admin_maintenance_optimize_success']; 318 $h->messageType = 'green'; 316 319 break; 317 320 case 'empty': 318 $h->emptyTable($h->cage->get->testAlnumLines('table')); 321 $h->db->emptyTable($h->cage->get->testAlnumLines('table')); 322 $h->message = $h->lang['admin_maintenance_table_emptied']; 323 $h->messageType = 'green'; 319 324 break; 320 325 case 'drop': 321 $h->dropTable($h->cage->get->testAlnumLines('table')); 326 $h->db->dropTable($h->cage->get->testAlnumLines('table')); 327 $h->message = $h->lang['admin_maintenance_table_deleted']; 328 $h->messageType = 'green'; 322 329 break; 323 330 case 'remove_settings': … … 374 381 if ($exclude_tables) { 375 382 $exclude = array( 376 DB_PREFIX .'settings',377 DB_PREFIX .'users',378 DB_PREFIX .'usermeta',379 DB_PREFIX .'categories',380 DB_PREFIX .'comments',381 DB_PREFIX .'miscdata',382 DB_PREFIX .'posts',383 DB_PREFIX .'postvotes',384 DB_PREFIX .'tags',385 DB_PREFIX .'widgets',383 DB_PREFIX.'settings', 384 DB_PREFIX.'users', 385 DB_PREFIX.'usermeta', 386 DB_PREFIX.'categories', 387 DB_PREFIX.'comments', 388 DB_PREFIX.'miscdata', 389 DB_PREFIX.'posts', 390 DB_PREFIX.'postvotes', 391 DB_PREFIX.'tags', 392 DB_PREFIX.'widgets', 386 393 ); 387 394 } … … 404 411 } 405 412 406 /* *************************************************************413 /* * ************************************************************ 407 414 * 408 415 * BLOCKED PAGE 409 416 * 410 * ************************************************************/417 * *********************************************************** */ 411 418 412 419 /** -
branches/1.5/libs/Database.php
r2302 r2312 367 367 368 368 /** 369 * Optimize all database tables 370 */ 371 public function optimizeTables() 372 { 373 foreach ($this->get_col("SHOW TABLES", 0) as $table_name) { 374 $this->query("OPTIMIZE TABLE ".$table_name); 375 } 376 } 377 378 /** 379 * Empty plugin database table 380 * 381 * @param string $table_name - table to empty 382 * @param string $msg - show "emptied" message or not 383 */ 384 public function emptyTable($table_name) 385 { 386 $this->query("DELETE FROM ".$table_name); 387 } 388 389 /** 390 * Delete plugin database table 391 * 392 * @param string $table_name - table to drop 393 */ 394 public function dropTable($table_name) 395 { 396 $this->query("DROP TABLE ".$table_name); 397 } 398 399 /** 369 400 * Store a result to the cache 370 401 * -
branches/1.5/libs/Maintenance.php
r2292 r2312 140 140 141 141 /** 142 * Optimize all database tables143 */144 public function optimizeTables($h)145 {146 $h->db->selectDB(DB_NAME);147 148 foreach ($h->db->get_col("SHOW TABLES", 0) as $table_name) {149 $h->db->query("OPTIMIZE TABLE ".$table_name);150 }151 152 $h->message = $h->lang['admin_maintenance_optimize_success'];153 $h->messageType = 'green';154 }155 156 /**157 * Empty plugin database table158 *159 * @param string $table_name - table to empty160 * @param string $msg - show "emptied" message or not161 */162 public function emptyTable($h, $table_name, $msg = true)163 {164 $h->db->query("DELETE FROM ".$table_name);165 166 if ($msg) {167 $h->message = $h->lang['admin_maintenance_table_emptied'];168 $h->messageType = 'green';169 }170 }171 172 /**173 * Delete plugin database table174 *175 * @param string $table_name - table to drop176 */177 public function dropTable($h, $table_name, $msg = true)178 {179 $h->db->query("DROP TABLE ".$table_name);180 181 if ($msg) {182 $h->message = $h->lang['admin_maintenance_table_deleted'];183 $h->messageType = 'green';184 }185 }186 187 /**188 142 * Open or close the site for maintenance 189 143 * 190 * @param object$h144 * @param Hotaru $h 191 145 * @param string $switch - 'open' or 'close' 192 146 */ … … 195 149 if ($switch == 'open') { 196 150 // open 197 $sql = "UPDATE ".TABLE_SETTINGS." SET settings_value = %s WHERE settings_name = %s"; 198 $h->db->query($h->db->prepare($sql, 'true', 'SITE_OPEN')); 151 $h->db->query("UPDATE ".TABLE_SETTINGS." SET settings_value = 'true' WHERE settings_name = 'SITE_OPEN'"); 199 152 $h->message = $h->lang['admin_maintenance_site_opened']; 200 153 $h->messageType = 'green'; 201 154 } else { 202 155 //close 203 $sql = "UPDATE ".TABLE_SETTINGS." SET settings_value = %s WHERE settings_name = %s"; 204 $h->db->query($h->db->prepare($sql, 'false', 'SITE_OPEN')); 156 $h->db->query("UPDATE ".TABLE_SETTINGS." SET settings_value = 'false' WHERE settings_name = 'SITE_OPEN'"); 205 157 $h->message = $h->lang['admin_maintenance_site_closed']; 206 158 $h->messageType = 'green'; … … 215 167 public function siteClosed($h, $lang) 216 168 { 169 217 170 // site closed and access not granted 218 echo "<HTML id='site_closed_body'>\n<HEAD>\n";171 echo '<html><head>'; 219 172 220 173 // include current theme style and default style 221 174 if (file_exists(BASE.'content/themes/'.$h->pageHandling->default.'css/style.css')) { 222 echo "<link rel='stylesheet' href='".SITEURL."content/themes/".$h->pageHandling->default."css/style.css' type='text/css'>\n";175 echo '<link rel="stylesheet" href="'.SITEURL.'content/themes/'.$h->pageHandling->default.'css/style.css" type="text/css">'; 223 176 } 224 177 if (file_exists(BASE.'content/themes/'.THEME.'css/style.css')) { 225 echo "<link rel='stylesheet' href='".SITEURL."content/themes/".THEME."css/style.css' type='text/css'>\n";226 } 227 echo "</HEAD>\n<BODY>\n";228 echo "<div id='site_closed'>\n";178 echo '<link rel="stylesheet" href="'.SITEURL.'content/themes/'.THEME.'css/style.css" type="text/css">\n'; 179 } 180 echo '</head><body>'; 181 echo '<div id="site_closed">'; 229 182 230 183 // show custom maintenance page if one exists: … … 233 186 } else { 234 187 // show default maintenance page: 235 echo $lang['main_hotaru_site_closed']; 236 echo "<br /><span id='site_closed_admin_link'>[<a href='".SITEURL."admin_index.php?page=admin_login'>Admin Login</a>]</span>"; 237 } 238 239 echo "\n</div>\n</BODY>\n</HTML>\n"; 188 echo $lang['main_hotaru_site_closed'].'<br /><span id="site_closed_admin_link">[<a href="'.SITEURL.'admin_index.php?page=admin_login">Admin Login</a>]</span>'; 189 } 190 echo '</div></body></html>'; 240 191 241 192 die(); … … 249 200 { 250 201 // get announcement from database 251 $sql = "SELECT miscdata_value FROM ".TABLE_MISCDATA." WHERE miscdata_key = %s"; 252 $query = $h->db->prepare($sql, 'site_announcement'); 202 $query = "SELECT miscdata_value FROM ".TABLE_MISCDATA." WHERE miscdata_key = 'site_announcement'"; 253 203 254 204 if ($h->pageName != 'maintenance') { … … 265 215 if ($result) { 266 216 $result = unserialize($result); 267 $h->vars['admin_announcement'] = urldecode($result['announcement']);217 $h->vars['admin_announcement'] = $result['announcement']; 268 218 $h->vars['admin_announcement_enabled'] = $result['enabled']; 269 219 } else { 270 $h->vars['admin_announcement'] = "";271 $h->vars['admin_announcement_enabled'] = "";220 $h->vars['admin_announcement'] = ''; 221 $h->vars['admin_announcement_enabled'] = ''; 272 222 } 273 223 } … … 282 232 $allowable_tags = "<div><p><span><b><i><u><a><img><blockquote><del><br>"; 283 233 $h->vars['admin_announcement'] = sanitize($h->cage->get->getHtmLawed('announcement_text'), 'tags', $allowable_tags); 284 if ($h->cage->get->keyExists('announcement_enabled')) { 285 $h->vars['admin_announcement_enabled'] = "checked"; 286 } else { 287 $h->vars['admin_announcement_enabled'] = ""; 288 } 234 $h->vars['admin_announcement_enabled'] = ($h->cage->get->keyExists('announcement_enabled')) ? 'checked' : ''; 289 235 290 236 // prepare annoucment for database entry: 291 $value = array('announcement' => urlencode($h->vars['admin_announcement']), 'enabled' => $h->vars['admin_announcement_enabled']); 292 $value = serialize($value); 237 $value = serialize(array('announcement' => $h->vars['admin_announcement'],'enabled' => $h->vars['admin_announcement_enabled'])); 293 238 294 239 // update existing db record 295 $sql = "UPDATE ".TABLE_MISCDATA." SET miscdata_value = %s, miscdata_updateby = %d WHERE miscdata_key = %s";296 $h->db->query($h->db->prepare($sql, $value, $h->currentUser->id , 'site_announcement'));240 $sql = "UPDATE ".TABLE_MISCDATA." SET miscdata_value = %s, miscdata_updateby = %d WHERE miscdata_key = 'site_announcement'"; 241 $h->db->query($h->db->prepare($sql, $value, $h->currentUser->id)); 297 242 298 243 // clear the database cache: … … 313 258 { 314 259 $files = array(); 315 $exceptions = array('.svn', '.', '..', 'placeholder.txt'); 316 $exceptions = array_merge($exceptions, $exclude); 317 318 $handle = opendir($dir); 319 320 while (($file = readdir($handle)) !== false) { 321 if (!in_array($file, $exceptions)) { 322 array_push($files, $file); 260 $exceptions = array_merge(array('.svn', '.', '..', 'placeholder.txt'), $exclude); 261 262 foreach (new DirectoryIterator($dir) as $file) { 263 if ($file->isDot() || in_array($file->getFilename(), $exceptions)) { 264 continue; 323 265 } 324 }325 closedir($handle);266 $files[] = $file; 267 } 326 268 327 269 if ($files) { 328 270 return $files; 329 271 } 330 return false; 272 273 return FALSE; 331 274 } 332 275