Browse Source

small cleanup

pull/40/head
Michael Save 12 years ago
parent
commit
abd65b0c8a
  1. 211
      inc/cache.php
  2. 61
      inc/functions.php

211
inc/cache.php

@ -1,112 +1,113 @@
<?php <?php
class Cache {
private static $cache; class Cache {
public static function init() { private static $cache;
global $config; public static function init() {
global $config;
switch($config['cache']['enabled']) {
case 'memcached': switch($config['cache']['enabled']) {
self::$cache = new Memcached(); case 'memcached':
self::$cache->addServers($config['cache']['memcached']); self::$cache = new Memcached();
break; self::$cache->addServers($config['cache']['memcached']);
case 'php': break;
self::$cache = Array(); case 'php':
break; self::$cache = Array();
} break;
} }
public static function get($key) { }
global $config, $debug; public static function get($key) {
global $config, $debug;
$key = $config['cache']['prefix'] . $key;
$key = $config['cache']['prefix'] . $key;
$data = false;
switch($config['cache']['enabled']) { $data = false;
case 'memcached': switch($config['cache']['enabled']) {
if(!self::$cache) case 'memcached':
self::init(); if(!self::$cache)
$data = self::$cache->get($key); self::init();
break; $data = self::$cache->get($key);
case 'apc': break;
$data = apc_fetch($key); case 'apc':
break; $data = apc_fetch($key);
case 'xcache': break;
$data = xcache_get($key); case 'xcache':
break; $data = xcache_get($key);
case 'php': break;
$data = isset(self::$cache[$key]) ? self::$cache[$key] : false; case 'php':
break; $data = isset(self::$cache[$key]) ? self::$cache[$key] : false;
} break;
// debug
if($data && $config['debug']) {
$debug['cached'][] = $key;
}
return $data;
} }
public static function set($key, $value, $expires = false) {
global $config; // debug
if($data && $config['debug']) {
$key = $config['cache']['prefix'] . $key; $debug['cached'][] = $key;
if(!$expires)
$expires = $config['cache']['timeout'];
switch($config['cache']['enabled']) {
case 'memcached':
if(!self::$cache)
self::init();
self::$cache->set($key, $value, $expires);
break;
case 'apc':
apc_store($key, $value, $expires);
break;
case 'xcache':
xcache_set($key, $value, $expires);
break;
case 'php':
self::$cache[$key] = $value;
break;
}
} }
public static function delete($key) {
global $config; return $data;
}
$key = $config['cache']['prefix'] . $key; public static function set($key, $value, $expires = false) {
global $config;
switch($config['cache']['enabled']) {
case 'memcached': $key = $config['cache']['prefix'] . $key;
if(!self::$cache)
self::init(); if(!$expires)
self::$cache->delete($key); $expires = $config['cache']['timeout'];
break;
case 'apc': switch($config['cache']['enabled']) {
apc_delete($key); case 'memcached':
break; if(!self::$cache)
case 'xcache': self::init();
xcache_unset($key); self::$cache->set($key, $value, $expires);
break; break;
case 'php': case 'apc':
unset(self::$cache[$key]); apc_store($key, $value, $expires);
break; break;
} case 'xcache':
xcache_set($key, $value, $expires);
break;
case 'php':
self::$cache[$key] = $value;
break;
}
}
public static function delete($key) {
global $config;
$key = $config['cache']['prefix'] . $key;
switch($config['cache']['enabled']) {
case 'memcached':
if(!self::$cache)
self::init();
self::$cache->delete($key);
break;
case 'apc':
apc_delete($key);
break;
case 'xcache':
xcache_unset($key);
break;
case 'php':
unset(self::$cache[$key]);
break;
} }
public static function flush() { }
global $config; public static function flush() {
global $config;
switch($config['cache']['enabled']) {
case 'memcached': switch($config['cache']['enabled']) {
if(!self::$cache) case 'memcached':
self::init(); if(!self::$cache)
return self::$cache->flush(); self::init();
case 'apc': return self::$cache->flush();
return apc_clear_cache('user'); case 'apc':
case 'php': return apc_clear_cache('user');
self::$cache[$key] = Array(); case 'php':
break; self::$cache[$key] = Array();
} break;
return false;
} }
return false;
} }
}

61
inc/functions.php

@ -15,13 +15,10 @@
function loadConfig() { function loadConfig() {
global $board, $config, $__ip, $debug, $__version; global $board, $config, $__ip, $debug, $__version;
$error = function_exists('error') ? 'error' : 'basic_error_function_because_the_other_isnt_loaded_yet';
reset_events(); reset_events();
if(!defined('PHP_VERSION_ID')) {
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
if(!isset($_SERVER['REMOTE_ADDR'])) if(!isset($_SERVER['REMOTE_ADDR']))
$_SERVER['REMOTE_ADDR'] = '0.0.0.0'; $_SERVER['REMOTE_ADDR'] = '0.0.0.0';
@ -33,9 +30,11 @@
} }
require 'inc/config.php'; require 'inc/config.php';
if (file_exists('inc/instance-config.php')) { if(!file_exists('inc/instance-config.php'))
require 'inc/instance-config.php'; $error('Tinyboard is not configured! Create inc/instance-config.php.');
}
require 'inc/instance-config.php';
if(isset($board['dir']) && file_exists($board['dir'] . '/config.php')) { if(isset($board['dir']) && file_exists($board['dir'] . '/config.php')) {
require $board['dir'] . '/config.php'; require $board['dir'] . '/config.php';
} }
@ -137,7 +136,6 @@
$_SERVER['REMOTE_ADDR'] = $m[2]; $_SERVER['REMOTE_ADDR'] = $m[2];
if(_setlocale(LC_ALL, $config['locale']) === false) { if(_setlocale(LC_ALL, $config['locale']) === false) {
$error = function_exists('error') ? 'error' : 'basic_error_function_because_the_other_isnt_loaded_yet';
$error('The specified locale (' . $config['locale'] . ') does not exist on your platform!'); $error('The specified locale (' . $config['locale'] . ') does not exist on your platform!');
} }
@ -193,9 +191,7 @@
} }
function _syslog($priority, $message) { function _syslog($priority, $message) {
if( isset($_SERVER['REMOTE_ADDR']) && if(isset($_SERVER['REMOTE_ADDR'], $_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'])) {
isset($_SERVER['REQUEST_METHOD']) &&
isset($_SERVER['REQUEST_URI'])) {
// CGI // CGI
syslog($priority, $message . ' - client: ' . $_SERVER['REMOTE_ADDR'] . ', request: "' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . '"'); syslog($priority, $message . ' - client: ' . $_SERVER['REMOTE_ADDR'] . ', request: "' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . '"');
} else { } else {
@ -203,52 +199,55 @@
} }
} }
function rebuildThemes($action) {
// List themes
$query = query("SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL") or error(db_error());
while($theme = $query->fetch()) {
rebuildTheme($theme['theme'], $action);
}
}
function loadThemeConfig($_theme) { function loadThemeConfig($_theme) {
global $config; global $config;
if(!file_exists($config['dir']['themes'] . '/' . $_theme . '/info.php')) if(!file_exists($config['dir']['themes'] . '/' . $_theme . '/info.php'))
return false; return false;
// Load theme information into $theme // Load theme information into $theme
include $config['dir']['themes'] . '/' . $_theme . '/info.php'; include $config['dir']['themes'] . '/' . $_theme . '/info.php';
return $theme; return $theme;
} }
function rebuildTheme($theme, $action) { function rebuildTheme($theme, $action) {
global $config, $_theme; global $config, $_theme;
$_theme = $theme; $_theme = $theme;
$theme = loadThemeConfig($_theme); $theme = loadThemeConfig($_theme);
if(file_exists($config['dir']['themes'] . '/' . $_theme . '/theme.php')) { if(file_exists($config['dir']['themes'] . '/' . $_theme . '/theme.php')) {
require_once $config['dir']['themes'] . '/' . $_theme . '/theme.php'; require_once $config['dir']['themes'] . '/' . $_theme . '/theme.php';
$theme['build_function']($action, themeSettings($_theme));
}
}
function rebuildThemes($action) {
global $config, $_theme;
// List themes $theme['build_function']($action, themeSettings($_theme));
$query = query("SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL") or error(db_error());
while($theme = $query->fetch()) {
rebuildTheme($theme['theme'], $action);
} }
} }
function themeSettings($theme) { function themeSettings($theme) {
$query = prepare("SELECT `name`, `value` FROM `theme_settings` WHERE `theme` = :theme AND `name` IS NOT NULL"); $query = prepare("SELECT `name`, `value` FROM `theme_settings` WHERE `theme` = :theme AND `name` IS NOT NULL");
$query->bindValue(':theme', $theme); $query->bindValue(':theme', $theme);
$query->execute() or error(db_error($query)); $query->execute() or error(db_error($query));
$settings = Array(); $settings = Array();
while($s = $query->fetch()) { while($s = $query->fetch()) {
$settings[$s['name']] = $s['value']; $settings[$s['name']] = $s['value'];
} }
return $settings; return $settings;
} }
function sprintf3($str, $vars, $delim = '%') { function sprintf3($str, $vars, $delim = '%') {
$replaces = array(); $replaces = array();
foreach($vars as $k => $v) { foreach($vars as $k => $v) {

Loading…
Cancel
Save