aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/cache.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/cache.php')
-rw-r--r--phpBB/includes/cache.php437
1 files changed, 0 insertions, 437 deletions
diff --git a/phpBB/includes/cache.php b/phpBB/includes/cache.php
deleted file mode 100644
index 612adcca4f..0000000000
--- a/phpBB/includes/cache.php
+++ /dev/null
@@ -1,437 +0,0 @@
-<?php
-/**
-*
-* @package acm
-* @version $Id$
-* @copyright (c) 2005 phpBB Group
-* @license http://opensource.org/licenses/gpl-license.php GNU Public License
-*
-*/
-
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
-
-/**
-* Class for grabbing/handling cached entries, extends acm_file or acm_db depending on the setup
-* @package acm
-*/
-class cache extends acm
-{
- /**
- * Get config values
- */
- function obtain_config()
- {
- global $db;
-
- if (($config = $this->get('config')) !== false)
- {
- $sql = 'SELECT config_name, config_value
- FROM ' . CONFIG_TABLE . '
- WHERE is_dynamic = 1';
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- $config[$row['config_name']] = $row['config_value'];
- }
- $db->sql_freeresult($result);
- }
- else
- {
- $config = $cached_config = array();
-
- $sql = 'SELECT config_name, config_value, is_dynamic
- FROM ' . CONFIG_TABLE;
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- if (!$row['is_dynamic'])
- {
- $cached_config[$row['config_name']] = $row['config_value'];
- }
-
- $config[$row['config_name']] = $row['config_value'];
- }
- $db->sql_freeresult($result);
-
- $this->put('config', $cached_config);
- }
-
- return $config;
- }
-
- /**
- * Obtain list of naughty words and build preg style replacement arrays for use by the
- * calling script
- */
- function obtain_word_list()
- {
- global $db;
-
- if (($censors = $this->get('_word_censors')) === false)
- {
- $sql = 'SELECT word, replacement
- FROM ' . WORDS_TABLE;
- $result = $db->sql_query($sql);
-
- $censors = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $censors['match'][] = get_censor_preg_expression($row['word']);
- $censors['replace'][] = $row['replacement'];
- }
- $db->sql_freeresult($result);
-
- $this->put('_word_censors', $censors);
- }
-
- return $censors;
- }
-
- /**
- * Obtain currently listed icons
- */
- function obtain_icons()
- {
- if (($icons = $this->get('_icons')) === false)
- {
- global $db;
-
- // Topic icons
- $sql = 'SELECT *
- FROM ' . ICONS_TABLE . '
- ORDER BY icons_order';
- $result = $db->sql_query($sql);
-
- $icons = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $icons[$row['icons_id']]['img'] = $row['icons_url'];
- $icons[$row['icons_id']]['width'] = (int) $row['icons_width'];
- $icons[$row['icons_id']]['height'] = (int) $row['icons_height'];
- $icons[$row['icons_id']]['display'] = (bool) $row['display_on_posting'];
- }
- $db->sql_freeresult($result);
-
- $this->put('_icons', $icons);
- }
-
- return $icons;
- }
-
- /**
- * Obtain ranks
- */
- function obtain_ranks()
- {
- if (($ranks = $this->get('_ranks')) === false)
- {
- global $db;
-
- $sql = 'SELECT *
- FROM ' . RANKS_TABLE . '
- ORDER BY rank_min DESC';
- $result = $db->sql_query($sql);
-
- $ranks = array();
- while ($row = $db->sql_fetchrow($result))
- {
- if ($row['rank_special'])
- {
- $ranks['special'][$row['rank_id']] = array(
- 'rank_title' => $row['rank_title'],
- 'rank_image' => $row['rank_image']
- );
- }
- else
- {
- $ranks['normal'][] = array(
- 'rank_title' => $row['rank_title'],
- 'rank_min' => $row['rank_min'],
- 'rank_image' => $row['rank_image']
- );
- }
- }
- $db->sql_freeresult($result);
-
- $this->put('_ranks', $ranks);
- }
-
- return $ranks;
- }
-
- /**
- * Obtain allowed extensions
- *
- * @param mixed $forum_id If false then check for private messaging, if int then check for forum id. If true, then only return extension informations.
- *
- * @return array allowed extensions array.
- */
- function obtain_attach_extensions($forum_id)
- {
- if (($extensions = $this->get('_extensions')) === false)
- {
- global $db;
-
- $extensions = array(
- '_allowed_post' => array(),
- '_allowed_pm' => array(),
- );
-
- // The rule is to only allow those extensions defined. ;)
- $sql = 'SELECT e.extension, g.*
- FROM ' . EXTENSIONS_TABLE . ' e, ' . EXTENSION_GROUPS_TABLE . ' g
- WHERE e.group_id = g.group_id
- AND (g.allow_group = 1 OR g.allow_in_pm = 1)';
- $result = $db->sql_query($sql);
-
- while ($row = $db->sql_fetchrow($result))
- {
- $extension = strtolower(trim($row['extension']));
-
- $extensions[$extension] = array(
- 'display_cat' => (int) $row['cat_id'],
- 'download_mode' => (int) $row['download_mode'],
- 'upload_icon' => trim($row['upload_icon']),
- 'max_filesize' => (int) $row['max_filesize'],
- 'allow_group' => $row['allow_group'],
- 'allow_in_pm' => $row['allow_in_pm'],
- );
-
- $allowed_forums = ($row['allowed_forums']) ? unserialize(trim($row['allowed_forums'])) : array();
-
- // Store allowed extensions forum wise
- if ($row['allow_group'])
- {
- $extensions['_allowed_post'][$extension] = (!sizeof($allowed_forums)) ? 0 : $allowed_forums;
- }
-
- if ($row['allow_in_pm'])
- {
- $extensions['_allowed_pm'][$extension] = 0;
- }
- }
- $db->sql_freeresult($result);
-
- $this->put('_extensions', $extensions);
- }
-
- // Forum post
- if ($forum_id === false)
- {
- // We are checking for private messages, therefore we only need to get the pm extensions...
- $return = array('_allowed_' => array());
-
- foreach ($extensions['_allowed_pm'] as $extension => $check)
- {
- $return['_allowed_'][$extension] = 0;
- $return[$extension] = $extensions[$extension];
- }
-
- $extensions = $return;
- }
- else if ($forum_id === true)
- {
- return $extensions;
- }
- else
- {
- $forum_id = (int) $forum_id;
- $return = array('_allowed_' => array());
-
- foreach ($extensions['_allowed_post'] as $extension => $check)
- {
- // Check for allowed forums
- if (is_array($check))
- {
- $allowed = (!in_array($forum_id, $check)) ? false : true;
- }
- else
- {
- $allowed = true;
- }
-
- if ($allowed)
- {
- $return['_allowed_'][$extension] = 0;
- $return[$extension] = $extensions[$extension];
- }
- }
-
- $extensions = $return;
- }
-
- if (!isset($extensions['_allowed_']))
- {
- $extensions['_allowed_'] = array();
- }
-
- return $extensions;
- }
-
- /**
- * Obtain active bots
- */
- function obtain_bots()
- {
- if (($bots = $this->get('_bots')) === false)
- {
- global $db;
-
- switch ($db->sql_layer)
- {
- case 'mssql':
- case 'mssql_odbc':
- case 'mssqlnative':
- $sql = 'SELECT user_id, bot_agent, bot_ip
- FROM ' . BOTS_TABLE . '
- WHERE bot_active = 1
- ORDER BY LEN(bot_agent) DESC';
- break;
-
- case 'firebird':
- $sql = 'SELECT user_id, bot_agent, bot_ip
- FROM ' . BOTS_TABLE . '
- WHERE bot_active = 1
- ORDER BY CHAR_LENGTH(bot_agent) DESC';
- break;
-
- // LENGTH supported by MySQL, IBM DB2 and Oracle for sure...
- default:
- $sql = 'SELECT user_id, bot_agent, bot_ip
- FROM ' . BOTS_TABLE . '
- WHERE bot_active = 1
- ORDER BY LENGTH(bot_agent) DESC';
- break;
- }
- $result = $db->sql_query($sql);
-
- $bots = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $bots[] = $row;
- }
- $db->sql_freeresult($result);
-
- $this->put('_bots', $bots);
- }
-
- return $bots;
- }
-
- /**
- * Obtain cfg file data
- */
- function obtain_cfg_items($theme)
- {
- global $config, $phpbb_root_path;
-
- $parsed_items = array(
- 'theme' => array(),
- 'template' => array(),
- 'imageset' => array()
- );
-
- foreach ($parsed_items as $key => $parsed_array)
- {
- $parsed_array = $this->get('_cfg_' . $key . '_' . $theme[$key . '_path']);
-
- if ($parsed_array === false)
- {
- $parsed_array = array();
- }
-
- $reparse = false;
- $filename = $phpbb_root_path . 'styles/' . $theme[$key . '_path'] . '/' . $key . '/' . $key . '.cfg';
-
- if (!file_exists($filename))
- {
- continue;
- }
-
- if (!isset($parsed_array['filetime']) || (($config['load_tplcompile'] && @filemtime($filename) > $parsed_array['filetime'])))
- {
- $reparse = true;
- }
-
- // Re-parse cfg file
- if ($reparse)
- {
- $parsed_array = parse_cfg_file($filename);
- $parsed_array['filetime'] = @filemtime($filename);
-
- $this->put('_cfg_' . $key . '_' . $theme[$key . '_path'], $parsed_array);
- }
- $parsed_items[$key] = $parsed_array;
- }
-
- return $parsed_items;
- }
-
- /**
- * Obtain disallowed usernames
- */
- function obtain_disallowed_usernames()
- {
- if (($usernames = $this->get('_disallowed_usernames')) === false)
- {
- global $db;
-
- $sql = 'SELECT disallow_username
- FROM ' . DISALLOW_TABLE;
- $result = $db->sql_query($sql);
-
- $usernames = array();
- while ($row = $db->sql_fetchrow($result))
- {
- $usernames[] = str_replace('%', '.*?', preg_quote(utf8_clean_string($row['disallow_username']), '#'));
- }
- $db->sql_freeresult($result);
-
- $this->put('_disallowed_usernames', $usernames);
- }
-
- return $usernames;
- }
-
- /**
- * Obtain hooks...
- */
- function obtain_hooks()
- {
- global $phpbb_root_path, $phpEx;
-
- if (($hook_files = $this->get('_hooks')) === false)
- {
- $hook_files = array();
-
- // Now search for hooks...
- $dh = @opendir($phpbb_root_path . 'includes/hooks/');
-
- if ($dh)
- {
- while (($file = readdir($dh)) !== false)
- {
- if (strpos($file, 'hook_') === 0 && substr($file, -(strlen($phpEx) + 1)) === '.' . $phpEx)
- {
- $hook_files[] = substr($file, 0, -(strlen($phpEx) + 1));
- }
- }
- closedir($dh);
- }
-
- $this->put('_hooks', $hook_files);
- }
-
- return $hook_files;
- }
-}
-
-?> \ No newline at end of file