2001-02-24 00:31:58 +00:00
|
|
|
<?php
|
2001-04-20 07:30:45 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* common.php
|
|
|
|
* -------------------
|
|
|
|
* begin : Saturday, Feb 23, 2001
|
|
|
|
* copyright : (C) 2001 The phpBB Group
|
|
|
|
* email : support@phpbb.com
|
|
|
|
*
|
2001-02-24 00:31:58 +00:00
|
|
|
* $Id$
|
2001-04-20 07:30:45 +00:00
|
|
|
*
|
|
|
|
***************************************************************************/
|
2001-02-24 00:31:58 +00:00
|
|
|
|
2001-08-30 22:20:23 +00:00
|
|
|
/***************************************************************************
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
***************************************************************************/
|
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
if (!defined('IN_PHPBB'))
|
2002-03-18 23:45:24 +00:00
|
|
|
{
|
2002-07-14 14:45:26 +00:00
|
|
|
die('Hacking attempt');
|
2002-03-18 23:45:24 +00:00
|
|
|
}
|
|
|
|
|
2002-10-17 02:50:50 +00:00
|
|
|
error_reporting(E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninitialized variables
|
|
|
|
//error_reporting(E_ALL);
|
2002-10-04 13:09:10 +00:00
|
|
|
set_magic_quotes_runtime(0);
|
2001-08-09 22:21:55 +00:00
|
|
|
|
2002-10-20 19:19:07 +00:00
|
|
|
// If magic quotes is off, addslashes
|
2003-01-21 14:33:07 +00:00
|
|
|
if (!get_magic_quotes_gpc())
|
2002-10-20 19:19:07 +00:00
|
|
|
{
|
|
|
|
$_GET = slash_input_data($_GET);
|
|
|
|
$_POST = slash_input_data($_POST);
|
|
|
|
$_COOKIE = slash_input_data($_COOKIE);
|
|
|
|
}
|
|
|
|
|
2002-07-14 14:45:26 +00:00
|
|
|
require($phpbb_root_path . 'config.'.$phpEx);
|
2001-08-09 22:21:55 +00:00
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
if (!defined('PHPBB_INSTALLED'))
|
2002-04-20 00:22:29 +00:00
|
|
|
{
|
2002-07-14 14:45:26 +00:00
|
|
|
header('Location: install/install.'.$phpEx);
|
|
|
|
exit;
|
2001-08-09 22:21:55 +00:00
|
|
|
}
|
|
|
|
|
2003-02-25 16:49:45 +00:00
|
|
|
// Load Extensions
|
2003-02-25 18:20:33 +00:00
|
|
|
if (!empty($load_extensions))
|
2003-02-25 16:49:45 +00:00
|
|
|
{
|
|
|
|
$load_extensions = explode(',', $load_extensions);
|
|
|
|
|
2003-02-25 18:20:33 +00:00
|
|
|
foreach ($load_extensions as $extension)
|
2003-02-25 16:49:45 +00:00
|
|
|
{
|
2003-02-25 18:20:33 +00:00
|
|
|
@dl(trim($extension));
|
2003-02-25 16:49:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2002-10-26 12:36:38 +00:00
|
|
|
// Include files
|
2003-03-19 01:44:44 +00:00
|
|
|
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.'.$phpEx);
|
2003-03-17 10:54:45 +00:00
|
|
|
require($phpbb_root_path . 'includes/db/' . $dbms . '.'.$phpEx);
|
2002-10-26 12:36:38 +00:00
|
|
|
require($phpbb_root_path . 'includes/template.'.$phpEx);
|
|
|
|
require($phpbb_root_path . 'includes/session.'.$phpEx);
|
|
|
|
require($phpbb_root_path . 'includes/functions.'.$phpEx);
|
2002-04-20 00:22:29 +00:00
|
|
|
|
|
|
|
// User related
|
2003-02-25 18:20:33 +00:00
|
|
|
define('ANONYMOUS', 1);
|
2002-10-20 19:19:07 +00:00
|
|
|
|
2002-04-20 00:22:29 +00:00
|
|
|
define('USER_ACTIVATION_NONE', 0);
|
|
|
|
define('USER_ACTIVATION_SELF', 1);
|
|
|
|
define('USER_ACTIVATION_ADMIN', 2);
|
2002-07-28 19:41:21 +00:00
|
|
|
define('USER_ACTIVATION_DISABLE', 3);
|
2002-04-20 00:22:29 +00:00
|
|
|
|
|
|
|
define('USER_AVATAR_NONE', 0);
|
|
|
|
define('USER_AVATAR_UPLOAD', 1);
|
|
|
|
define('USER_AVATAR_REMOTE', 2);
|
|
|
|
define('USER_AVATAR_GALLERY', 3);
|
|
|
|
|
2002-08-13 16:34:17 +00:00
|
|
|
// ACL
|
2003-04-12 20:01:10 +00:00
|
|
|
define('ACL_NO', 0);
|
|
|
|
define('ACL_YES', 1);
|
2003-04-15 17:34:03 +00:00
|
|
|
define('ACL_UNSET', -1);
|
2002-08-13 16:34:17 +00:00
|
|
|
|
2002-04-20 00:22:29 +00:00
|
|
|
// Group settings
|
|
|
|
define('GROUP_OPEN', 0);
|
|
|
|
define('GROUP_CLOSED', 1);
|
|
|
|
define('GROUP_HIDDEN', 2);
|
2002-11-09 00:45:34 +00:00
|
|
|
define('GROUP_SPECIAL', 3);
|
2003-01-31 15:39:54 +00:00
|
|
|
define('GROUP_FREE', 4);
|
2002-04-20 00:22:29 +00:00
|
|
|
|
2002-08-13 16:34:17 +00:00
|
|
|
// Forum/Topic states
|
2003-05-02 15:50:11 +00:00
|
|
|
define('FORUM_CAT', 0);
|
|
|
|
define('FORUM_POST', 1);
|
|
|
|
define('FORUM_LINK', 2);
|
2002-08-13 16:34:17 +00:00
|
|
|
define('ITEM_UNLOCKED', 0);
|
|
|
|
define('ITEM_LOCKED', 1);
|
|
|
|
define('ITEM_MOVED', 2);
|
2002-04-20 00:22:29 +00:00
|
|
|
|
|
|
|
// Topic types
|
|
|
|
define('POST_NORMAL', 0);
|
|
|
|
define('POST_STICKY', 1);
|
|
|
|
define('POST_ANNOUNCE', 2);
|
|
|
|
|
2002-11-27 13:24:46 +00:00
|
|
|
// Lastread types
|
2003-04-26 01:17:40 +00:00
|
|
|
define('TRACK_NORMAL', 0); // not used at the moment
|
|
|
|
define('TRACK_POSTED', 1);
|
2002-11-27 13:24:46 +00:00
|
|
|
|
2002-04-20 00:22:29 +00:00
|
|
|
// Private messaging
|
|
|
|
define('PRIVMSGS_READ_MAIL', 0);
|
|
|
|
define('PRIVMSGS_NEW_MAIL', 1);
|
|
|
|
define('PRIVMSGS_UNREAD_MAIL', 5);
|
|
|
|
|
2003-04-11 19:51:38 +00:00
|
|
|
// Download Modes - Attachments
|
|
|
|
define('INLINE_LINK', 1);
|
|
|
|
define('PHYSICAL_LINK', 2);
|
|
|
|
|
|
|
|
// Categories - Attachments
|
|
|
|
define('NONE_CAT', 0);
|
2003-04-23 20:50:07 +00:00
|
|
|
define('IMAGE_CAT', 1); // Inline Images
|
|
|
|
define('WM_CAT', 2); // Windows Media Files - Streaming
|
|
|
|
define('RM_CAT', 3); // Real Media Files - Streaming
|
|
|
|
define('THUMB_CAT', 4); // Not used within the database, only while displaying posts
|
|
|
|
//define('SWF_CAT', 5); // Replaced by [flash] ? or an additional possibility ?
|
2003-04-11 19:51:38 +00:00
|
|
|
|
2003-04-11 00:02:54 +00:00
|
|
|
// BBCode UID length
|
|
|
|
define('BBCODE_UID_LEN', 5);
|
|
|
|
|
2002-04-20 00:22:29 +00:00
|
|
|
// Table names
|
2002-07-14 14:45:26 +00:00
|
|
|
define('ACL_GROUPS_TABLE', $table_prefix.'auth_groups');
|
|
|
|
define('ACL_OPTIONS_TABLE', $table_prefix.'auth_options');
|
2003-04-12 20:01:10 +00:00
|
|
|
define('ACL_DEPS_TABLE', $table_prefix.'auth_deps');
|
2003-01-11 01:37:34 +00:00
|
|
|
define('ACL_PRESETS_TABLE', $table_prefix.'auth_presets');
|
2002-07-14 14:45:26 +00:00
|
|
|
define('ACL_USERS_TABLE', $table_prefix.'auth_users');
|
2003-03-22 15:48:46 +00:00
|
|
|
define('ATTACHMENTS_TABLE', $table_prefix.'attachments');
|
|
|
|
define('ATTACHMENTS_DESC_TABLE', $table_prefix.'attach_desc');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('BANLIST_TABLE', $table_prefix.'banlist');
|
|
|
|
define('CONFIG_TABLE', $table_prefix.'config');
|
2003-01-21 15:01:39 +00:00
|
|
|
define('CONFIRM_TABLE', $table_prefix.'confirm');
|
2002-07-14 14:45:26 +00:00
|
|
|
define('DISALLOW_TABLE', $table_prefix.'disallow'); //
|
2003-03-22 15:48:46 +00:00
|
|
|
define('EXTENSIONS_TABLE', $table_prefix.'extensions');
|
|
|
|
define('EXTENSION_GROUPS_TABLE', $table_prefix.'extension_groups');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('FORUMS_TABLE', $table_prefix.'forums');
|
2003-04-26 01:17:40 +00:00
|
|
|
define('FORUMS_TRACK_TABLE', $table_prefix.'forums_marking');
|
2002-04-20 22:56:09 +00:00
|
|
|
define('FORUMS_WATCH_TABLE', $table_prefix.'forums_watch');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('GROUPS_TABLE', $table_prefix.'groups');
|
2003-01-31 15:39:54 +00:00
|
|
|
define('GROUPS_MODERATOR_TABLE', $table_prefix.'groups_moderator');
|
2002-07-14 14:45:26 +00:00
|
|
|
define('ICONS_TABLE', $table_prefix.'icons');
|
2003-05-08 01:14:14 +00:00
|
|
|
define('LANG_TABLE', $table_prefix.'lang');
|
2002-07-14 14:45:26 +00:00
|
|
|
define('LOG_ADMIN_TABLE', $table_prefix.'log_admin');
|
2002-08-03 23:52:33 +00:00
|
|
|
define('LOG_MOD_TABLE', $table_prefix.'log_moderator');
|
2002-11-18 18:56:27 +00:00
|
|
|
define('MODERATOR_TABLE', $table_prefix.'moderator_cache');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('POSTS_TABLE', $table_prefix.'posts');
|
|
|
|
define('POSTS_TEXT_TABLE', $table_prefix.'posts_text');
|
|
|
|
define('PRIVMSGS_TABLE', $table_prefix.'privmsgs');
|
|
|
|
define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');
|
|
|
|
define('RANKS_TABLE', $table_prefix.'ranks');
|
2003-01-21 15:01:39 +00:00
|
|
|
define('RATINGS_TABLE', $table_prefix.'ratings');
|
2003-03-06 01:13:44 +00:00
|
|
|
define('REPORTS_TABLE', $table_prefix.'reports');
|
|
|
|
define('REASONS_TABLE', $table_prefix.'reports_reasons');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('SEARCH_TABLE', $table_prefix.'search_results');
|
|
|
|
define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');
|
|
|
|
define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');
|
|
|
|
define('SESSIONS_TABLE', $table_prefix.'sessions');
|
|
|
|
define('SMILIES_TABLE', $table_prefix.'smilies');
|
2002-07-14 14:45:26 +00:00
|
|
|
define('STYLES_TABLE', $table_prefix.'styles');
|
|
|
|
define('STYLES_TPL_TABLE', $table_prefix.'styles_template');
|
|
|
|
define('STYLES_CSS_TABLE', $table_prefix.'styles_theme');
|
|
|
|
define('STYLES_IMAGE_TABLE', $table_prefix.'styles_imageset');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('TOPICS_TABLE', $table_prefix.'topics');
|
2003-04-26 01:17:40 +00:00
|
|
|
define('TOPICS_TRACK_TABLE', $table_prefix.'topics_marking');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');
|
2003-03-25 00:23:43 +00:00
|
|
|
define('UCP_MODULES_TABLE', $table_prefix.'ucp_modules');
|
2002-04-20 00:22:29 +00:00
|
|
|
define('USER_GROUP_TABLE', $table_prefix.'user_group');
|
|
|
|
define('USERS_TABLE', $table_prefix.'users');
|
|
|
|
define('WORDS_TABLE', $table_prefix.'words');
|
2002-10-30 00:57:27 +00:00
|
|
|
define('POLL_OPTIONS_TABLE', $table_prefix.'poll_results');
|
|
|
|
define('POLL_VOTES_TABLE', $table_prefix.'poll_voters');
|
2002-04-20 00:22:29 +00:00
|
|
|
|
2002-10-26 12:36:38 +00:00
|
|
|
// Set PHP error handler to ours
|
|
|
|
set_error_handler('msg_handler');
|
2002-07-14 14:45:26 +00:00
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
// Instantiate some basic classes
|
|
|
|
$user = new user();
|
|
|
|
$auth = new auth();
|
2003-02-21 01:51:46 +00:00
|
|
|
$cache = new acm();
|
2003-01-21 15:01:39 +00:00
|
|
|
$template = new template();
|
2002-07-14 14:45:26 +00:00
|
|
|
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false);
|
2001-11-26 12:09:37 +00:00
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
// Grab global variables, re-cache if necessary
|
2003-01-22 20:44:37 +00:00
|
|
|
if ($config = $cache->get('config'))
|
|
|
|
{
|
|
|
|
$sql = 'SELECT *
|
|
|
|
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'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
2003-01-11 22:56:49 +00:00
|
|
|
{
|
2003-04-23 21:48:41 +00:00
|
|
|
$config = $cached_config = array();
|
2003-01-11 22:56:49 +00:00
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
$sql = 'SELECT *
|
|
|
|
FROM ' . CONFIG_TABLE;
|
2003-01-11 22:56:49 +00:00
|
|
|
$result = $db->sql_query($sql);
|
|
|
|
|
|
|
|
while ($row = $db->sql_fetchrow($result))
|
|
|
|
{
|
2003-04-23 21:48:41 +00:00
|
|
|
if (!$row['is_dynamic'])
|
|
|
|
{
|
|
|
|
$cached_config[$row['config_name']] = $row['config_value'];
|
|
|
|
}
|
|
|
|
|
2003-01-11 22:56:49 +00:00
|
|
|
$config[$row['config_name']] = $row['config_value'];
|
|
|
|
}
|
2003-01-21 14:33:07 +00:00
|
|
|
$db->sql_freeresult($result);
|
2003-01-11 22:56:49 +00:00
|
|
|
|
2003-04-23 21:48:41 +00:00
|
|
|
$cache->put('config', $cached_config);
|
|
|
|
unset($cached_config);
|
2003-01-20 05:12:38 +00:00
|
|
|
}
|
|
|
|
|
2003-01-11 22:56:49 +00:00
|
|
|
/*
|
|
|
|
if (time() - $config['cache_interval'] >= $config['cache_last_gc'])
|
|
|
|
{
|
|
|
|
$cache->tidy($config['cache_gc']);
|
|
|
|
}
|
|
|
|
*/
|
2002-10-26 12:36:38 +00:00
|
|
|
|
2002-10-04 13:09:10 +00:00
|
|
|
// Show 'Board is disabled' message
|
2003-01-21 14:33:07 +00:00
|
|
|
if ($config['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN'))
|
2001-07-03 00:32:27 +00:00
|
|
|
{
|
2003-02-25 18:20:33 +00:00
|
|
|
$message = (!empty($config['board_disable_msg'])) ? $config['board_disable_msg'] : 'BOARD_DISABLE';
|
2002-10-26 12:36:38 +00:00
|
|
|
trigger_error($message);
|
2002-07-14 14:45:26 +00:00
|
|
|
}
|
|
|
|
|
2002-10-04 13:09:10 +00:00
|
|
|
// addslashes to vars if magic_quotes_gpc is off
|
2002-07-14 14:45:26 +00:00
|
|
|
function slash_input_data(&$data)
|
|
|
|
{
|
2003-01-21 14:33:07 +00:00
|
|
|
if (is_array($data))
|
2002-07-14 14:45:26 +00:00
|
|
|
{
|
2003-01-21 14:33:07 +00:00
|
|
|
foreach ($data as $k => $v)
|
2002-07-14 14:45:26 +00:00
|
|
|
{
|
2003-01-21 14:33:07 +00:00
|
|
|
$data[$k] = (is_array($v)) ? slash_input_data($v) : addslashes($v);
|
2002-07-14 14:45:26 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return $data;
|
2001-07-03 00:32:27 +00:00
|
|
|
}
|
2001-06-30 21:04:37 +00:00
|
|
|
|
2003-01-21 14:33:07 +00:00
|
|
|
?>
|