aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/common.php
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2002-04-20 00:22:29 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2002-04-20 00:22:29 +0000
commit5b0bba72b1c619af2f39859ec0c262f860f991ac (patch)
tree9fb003cf223ff6bf2e26feb78a35603dff88a471 /phpBB/common.php
parent65aa92182826eb06830626df49ab7a0210b06718 (diff)
downloadforums-5b0bba72b1c619af2f39859ec0c262f860f991ac.tar
forums-5b0bba72b1c619af2f39859ec0c262f860f991ac.tar.gz
forums-5b0bba72b1c619af2f39859ec0c262f860f991ac.tar.bz2
forums-5b0bba72b1c619af2f39859ec0c262f860f991ac.tar.xz
forums-5b0bba72b1c619af2f39859ec0c262f860f991ac.zip
merged from 2.0.0 branch (marked merge_point_20020420) + assorted updates and trial stuff for example session alterations
git-svn-id: file:///svn/phpbb/trunk@2532 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/common.php')
-rw-r--r--phpBB/common.php288
1 files changed, 215 insertions, 73 deletions
diff --git a/phpBB/common.php b/phpBB/common.php
index 7075f759fd..b144a30d12 100644
--- a/phpBB/common.php
+++ b/phpBB/common.php
@@ -29,71 +29,28 @@ error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninit
set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
//
-// addslashes to vars if magic_quotes_gpc is off
-// this is a security precaution to prevent someone
-// trying to break out of a SQL statement.
+// addslashes to vars if magic_quotes_gpc is off this is a security precaution
+// to prevent someone trying to break out of a SQL statement.
//
-if( !get_magic_quotes_gpc() )
+function slash_input_data(&$data)
{
- if( is_array($HTTP_GET_VARS) )
+ if ( is_array($data) )
{
- while( list($k, $v) = each($HTTP_GET_VARS) )
+ while( list($k, $v) = each($data) )
{
- if( is_array($HTTP_GET_VARS[$k]) )
- {
- while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
- {
- $HTTP_GET_VARS[$k][$k2] = addslashes($v2);
- }
- @reset($HTTP_GET_VARS[$k]);
- }
- else
- {
- $HTTP_GET_VARS[$k] = addslashes($v);
- }
+ $data[$k] = ( is_array($v) ) ? slash_input_data($v) : addslashes($v);
}
- @reset($HTTP_GET_VARS);
- }
- if( is_array($HTTP_POST_VARS) )
- {
- while( list($k, $v) = each($HTTP_POST_VARS) )
- {
- if( is_array($HTTP_POST_VARS[$k]) )
- {
- while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
- {
- $HTTP_POST_VARS[$k][$k2] = addslashes($v2);
- }
- @reset($HTTP_POST_VARS[$k]);
- }
- else
- {
- $HTTP_POST_VARS[$k] = addslashes($v);
- }
- }
- @reset($HTTP_POST_VARS);
+ @reset($data);
}
+ return $data;
+}
- if( is_array($HTTP_COOKIE_VARS) )
- {
- while( list($k, $v) = each($HTTP_COOKIE_VARS) )
- {
- if( is_array($HTTP_COOKIE_VARS[$k]) )
- {
- while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
- {
- $HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
- }
- @reset($HTTP_COOKIE_VARS[$k]);
- }
- else
- {
- $HTTP_COOKIE_VARS[$k] = addslashes($v);
- }
- }
- @reset($HTTP_COOKIE_VARS);
- }
+if ( !get_magic_quotes_gpc() )
+{
+ $HTTP_GET_VARS = slash_input_data($HTTP_GET_VARS);
+ $HTTP_POST_VARS = slash_input_data($HTTP_POST_VARS);
+ $HTTP_COOKIE_VARS = slash_input_data($HTTP_COOKIE_VARS);
}
//
@@ -101,26 +58,213 @@ if( !get_magic_quotes_gpc() )
// malicious rewriting of language and otherarray values via
// URI params
//
-$board_config = Array();
-$userdata = Array();
-$theme = Array();
-$images = Array();
-$lang = Array();
+$board_config = array();
+$userdata = array();
+$theme = array();
+$images = array();
+$lang = array();
$gen_simple_header = FALSE;
-@include($phpbb_root_path . 'config.'.$phpEx);
+require($phpbb_root_path . 'config.'.$phpEx);
if( !defined("PHPBB_INSTALLED") )
{
header("Location: install.$phpEx");
}
-include($phpbb_root_path . 'includes/constants.'.$phpEx);
+// Debug Level
+define('DEBUG', 1); // Debugging on
+//define('DEBUG', 0); // Debugging off
+
+
+// User Levels <- Do not change the values of USER or ADMIN
+define('ANONYMOUS', -1);
+define('USER', 0);
+define('ADMIN', 1);
+define('MOD', 2);
+
+
+// User related
+define('USER_ACTIVATION_NONE', 0);
+define('USER_ACTIVATION_SELF', 1);
+define('USER_ACTIVATION_ADMIN', 2);
+
+define('USER_AVATAR_NONE', 0);
+define('USER_AVATAR_UPLOAD', 1);
+define('USER_AVATAR_REMOTE', 2);
+define('USER_AVATAR_GALLERY', 3);
+
+
+// Group settings
+define('GROUP_OPEN', 0);
+define('GROUP_CLOSED', 1);
+define('GROUP_HIDDEN', 2);
+
+
+// Forum state
+define('FORUM_UNLOCKED', 0);
+define('FORUM_LOCKED', 1);
+
+
+// Topic status
+define('TOPIC_UNLOCKED', 0);
+define('TOPIC_LOCKED', 1);
+define('TOPIC_MOVED', 2);
+define('TOPIC_WATCH_NOTIFIED', 1);
+define('TOPIC_WATCH_UN_NOTIFIED', 0);
+
+
+// Topic types
+define('POST_NORMAL', 0);
+define('POST_STICKY', 1);
+define('POST_ANNOUNCE', 2);
+define('POST_GLOBAL_ANNOUNCE', 3);
+
+
+// SQL codes
+define('BEGIN_TRANSACTION', 1);
+define('END_TRANSACTION', 2);
+
+
+// Error codes
+define('GENERAL_MESSAGE', 200);
+define('GENERAL_ERROR', 202);
+define('CRITICAL_MESSAGE', 203);
+define('CRITICAL_ERROR', 204);
+
+
+// Private messaging
+define('PRIVMSGS_READ_MAIL', 0);
+define('PRIVMSGS_NEW_MAIL', 1);
+define('PRIVMSGS_SENT_MAIL', 2);
+define('PRIVMSGS_SAVED_IN_MAIL', 3);
+define('PRIVMSGS_SAVED_OUT_MAIL', 4);
+define('PRIVMSGS_UNREAD_MAIL', 5);
+
+
+// URL PARAMETERS
+define('POST_TOPIC_URL', 't');
+define('POST_CAT_URL', 'c');
+define('POST_FORUM_URL', 'f');
+define('POST_USERS_URL', 'u');
+define('POST_POST_URL', 'p');
+define('POST_GROUPS_URL', 'g');
+
+// Session parameters
+define('SESSION_METHOD_COOKIE', 100);
+define('SESSION_METHOD_GET', 101);
+
+
+// Page numbers for session handling
+define('PAGE_INDEX', 0);
+define('PAGE_LOGIN', -1);
+define('PAGE_SEARCH', -2);
+define('PAGE_REGISTER', -3);
+define('PAGE_PROFILE', -4);
+define('PAGE_VIEWONLINE', -6);
+define('PAGE_VIEWMEMBERS', -7);
+define('PAGE_FAQ', -8);
+define('PAGE_POSTING', -9);
+define('PAGE_PRIVMSGS', -10);
+define('PAGE_GROUPCP', -11);
+define('PAGE_TOPIC_OFFSET', 5000);
+
+
+// Auth settings
+define('AUTH_LIST_ALL', 0);
+define('AUTH_ALL', 0);
+
+define('AUTH_REG', 1);
+define('AUTH_ACL', 2);
+define('AUTH_MOD', 3);
+define('AUTH_ADMIN', 5);
+
+define('AUTH_VIEW', 1);
+define('AUTH_READ', 2);
+define('AUTH_POST', 3);
+define('AUTH_REPLY', 4);
+define('AUTH_EDIT', 5);
+define('AUTH_DELETE', 6);
+define('AUTH_ANNOUNCE', 7);
+define('AUTH_STICKY', 8);
+define('AUTH_POLLCREATE', 9);
+define('AUTH_VOTE', 10);
+define('AUTH_ATTACH', 11);
+
+
+// Table names
+define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');
+define('BANLIST_TABLE', $table_prefix.'banlist');
+define('CATEGORIES_TABLE', $table_prefix.'categories');
+define('CONFIG_TABLE', $table_prefix.'config');
+define('DISALLOW_TABLE', $table_prefix.'disallow');
+define('FORUMS_TABLE', $table_prefix.'forums');
+define('GROUPS_TABLE', $table_prefix.'groups');
+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('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');
+define('PRUNE_TABLE', $table_prefix.'forum_prune');
+define('RANKS_TABLE', $table_prefix.'ranks');
+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');
+define('THEMES_TABLE', $table_prefix.'themes');
+define('THEMES_NAME_TABLE', $table_prefix.'themes_name');
+define('TOPICS_TABLE', $table_prefix.'topics');
+define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');
+define('USER_GROUP_TABLE', $table_prefix.'user_group');
+define('USERS_TABLE', $table_prefix.'users');
+define('WORDS_TABLE', $table_prefix.'words');
+define('VOTE_DESC_TABLE', $table_prefix.'vote_desc');
+define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');
+define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');
+
include($phpbb_root_path . 'includes/template.'.$phpEx);
include($phpbb_root_path . 'includes/sessions.'.$phpEx);
include($phpbb_root_path . 'includes/auth.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
-include($phpbb_root_path . 'includes/db.'.$phpEx);
+
+switch($dbms)
+{
+ case 'mysql':
+ include($phpbb_root_path . 'db/mysql.'.$phpEx);
+ break;
+
+ case 'mysql4':
+ include($phpbb_root_path . 'db/mysql4.'.$phpEx);
+ break;
+
+ case 'postgres':
+ include($phpbb_root_path . 'db/postgres7.'.$phpEx);
+ break;
+
+ case 'mssql':
+ include($phpbb_root_path . 'db/mssql.'.$phpEx);
+ break;
+
+ case 'oracle':
+ include($phpbb_root_path . 'db/oracle.'.$phpEx);
+ break;
+
+ case 'msaccess':
+ include($phpbb_root_path . 'db/msaccess.'.$phpEx);
+ break;
+
+ case 'mssql-odbc':
+ include($phpbb_root_path . 'db/mssql-odbc.'.$phpEx);
+ break;
+}
+
+// Make the database connection.
+$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
+if ( !$db->db_connect_id )
+{
+ message_die(CRITICAL_ERROR, "Could not connect to the database");
+}
//
// Mozilla navigation bar
@@ -170,22 +314,20 @@ $user_ip = encode_ip($client_ip);
//
$sql = "SELECT *
FROM " . CONFIG_TABLE;
-if(!$result = $db->sql_query($sql))
+if ( !($result = $db->sql_query($sql)) )
{
- message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql);
+ message_die(CRITICAL_ERROR, 'Could not query config information', '', __LINE__, __FILE__, $sql);
}
-else
+
+while($row = $db->sql_fetchrow($result))
{
- while($row = $db->sql_fetchrow($result))
- {
- $board_config[$row['config_name']] = $row['config_value'];
- }
+ $board_config[$row['config_name']] = $row['config_value'];
}
//
// Show 'Board is disabled' message if needed.
//
-if( $board_config['board_disable'] && !defined("IN_ADMIN") && !defined("IN_LOGIN") )
+if ( $board_config['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN') )
{
message_die(GENERAL_MESSAGE, 'Board_disable', 'Information');
}