~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/php/phpBB3/common.php

  • Committer: mattgiuca
  • Date: 2008-07-15 07:19:34 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:875
Added "migrations" directory, which contains incremental database update
    scripts.
Updated users.sql, uniqueness key on offering table.
Added migration matching this update to the migrations directory. Mm handy!

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/**
 
3
*
 
4
* @package phpBB3
 
5
* @version $Id: common.php,v 1.214 2007/11/18 15:37:17 naderman Exp $
 
6
* @copyright (c) 2005 phpBB Group
 
7
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
 
8
*
 
9
* Minimum Requirement: PHP 4.3.3
 
10
*/
 
11
 
 
12
/**
 
13
*/
 
14
if (!defined('IN_PHPBB'))
 
15
{
 
16
        exit;
 
17
}
 
18
 
 
19
$starttime = explode(' ', microtime());
 
20
$starttime = $starttime[1] + $starttime[0];
 
21
 
 
22
// Report all errors, except notices
 
23
error_reporting(E_ALL ^ E_NOTICE);
 
24
 
 
25
/*
 
26
* Remove variables created by register_globals from the global scope
 
27
* Thanks to Matt Kavanagh
 
28
*/
 
29
function deregister_globals()
 
30
{
 
31
        $not_unset = array(
 
32
                'GLOBALS'       => true,
 
33
                '_GET'          => true,
 
34
                '_POST'         => true,
 
35
                '_COOKIE'       => true,
 
36
                '_REQUEST'      => true,
 
37
                '_SERVER'       => true,
 
38
                '_SESSION'      => true,
 
39
                '_ENV'          => true,
 
40
                '_FILES'        => true,
 
41
                'phpEx'         => true,
 
42
                'phpbb_root_path'       => true
 
43
        );
 
44
 
 
45
        // Not only will array_merge and array_keys give a warning if
 
46
        // a parameter is not an array, array_merge will actually fail.
 
47
        // So we check if _SESSION has been initialised.
 
48
        if (!isset($_SESSION) || !is_array($_SESSION))
 
49
        {
 
50
                $_SESSION = array();
 
51
        }
 
52
 
 
53
        // Merge all into one extremely huge array; unset this later
 
54
        $input = array_merge(
 
55
                array_keys($_GET),
 
56
                array_keys($_POST),
 
57
                array_keys($_COOKIE),
 
58
                array_keys($_SERVER),
 
59
                array_keys($_SESSION),
 
60
                array_keys($_ENV),
 
61
                array_keys($_FILES)
 
62
        );
 
63
 
 
64
        foreach ($input as $varname)
 
65
        {
 
66
                if (isset($not_unset[$varname]))
 
67
                {
 
68
                        // Hacking attempt. No point in continuing unless it's a COOKIE
 
69
                        if ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))
 
70
                        {
 
71
                                exit;
 
72
                        }
 
73
                        else
 
74
                        {
 
75
                                $cookie = &$_COOKIE;
 
76
                                while (isset($cookie['GLOBALS']))
 
77
                                {
 
78
                                        foreach ($cookie['GLOBALS'] as $registered_var => $value)
 
79
                                        {
 
80
                                                if (!isset($not_unset[$registered_var]))
 
81
                                                {
 
82
                                                        unset($GLOBALS[$registered_var]);
 
83
                                                }
 
84
                                        }
 
85
                                        $cookie = &$cookie['GLOBALS'];
 
86
                                }
 
87
                        }
 
88
                }
 
89
 
 
90
                unset($GLOBALS[$varname]);
 
91
        }
 
92
 
 
93
        unset($input);
 
94
}
 
95
 
 
96
// If we are on PHP >= 6.0.0 we do not need some code
 
97
if (version_compare(PHP_VERSION, '6.0.0-dev', '>='))
 
98
{
 
99
        /**
 
100
        * @ignore
 
101
        */
 
102
        define('STRIP', false);
 
103
}
 
104
else
 
105
{
 
106
        set_magic_quotes_runtime(0);
 
107
 
 
108
        // Be paranoid with passed vars
 
109
        if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get'))
 
110
        {
 
111
                deregister_globals();
 
112
        }
 
113
 
 
114
        define('STRIP', (get_magic_quotes_gpc()) ? true : false);
 
115
}
 
116
 
 
117
if (defined('IN_CRON'))
 
118
{
 
119
        $phpbb_root_path = dirname(__FILE__) . DIRECTORY_SEPARATOR;
 
120
}
 
121
 
 
122
if (!file_exists($phpbb_root_path . 'config.' . $phpEx))
 
123
{
 
124
        die("<p>The config.$phpEx file could not be found.</p><p><a href=\"{$phpbb_root_path}install/index.$phpEx\">Click here to install phpBB</a></p>");
 
125
}
 
126
 
 
127
require($phpbb_root_path . 'config.' . $phpEx);
 
128
 
 
129
if (!defined('PHPBB_INSTALLED'))
 
130
{
 
131
        // Redirect the user to the installer
 
132
        // We have to generate a full HTTP/1.1 header here since we can't guarantee to have any of the information
 
133
        // available as used by the redirect function
 
134
        $server_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME');
 
135
        $server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');
 
136
        $secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 1 : 0;
 
137
 
 
138
        $script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
 
139
        if (!$script_name)
 
140
        {
 
141
                $script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
 
142
        }
 
143
 
 
144
        // Replace any number of consecutive backslashes and/or slashes with a single slash
 
145
        // (could happen on some proxy setups and/or Windows servers)
 
146
        $script_path = trim(dirname($script_name)) . '/install/index.' . $phpEx;
 
147
        $script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
 
148
 
 
149
        $url = (($secure) ? 'https://' : 'http://') . $server_name;
 
150
 
 
151
        if ($server_port && (($secure && $server_port <> 443) || (!$secure && $server_port <> 80)))
 
152
        {
 
153
                $url .= ':' . $server_port;
 
154
        }
 
155
 
 
156
        $url .= $script_path;
 
157
        header('Location: ' . $url);
 
158
        exit;
 
159
}
 
160
 
 
161
if (defined('DEBUG_EXTRA'))
 
162
{
 
163
        $base_memory_usage = 0;
 
164
        if (function_exists('memory_get_usage'))
 
165
        {
 
166
                $base_memory_usage = memory_get_usage();
 
167
        }
 
168
}
 
169
 
 
170
// Load Extensions
 
171
if (!empty($load_extensions))
 
172
{
 
173
        $load_extensions = explode(',', $load_extensions);
 
174
 
 
175
        foreach ($load_extensions as $extension)
 
176
        {
 
177
                @dl(trim($extension));
 
178
        }
 
179
}
 
180
 
 
181
// Include files
 
182
require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
 
183
require($phpbb_root_path . 'includes/cache.' . $phpEx);
 
184
require($phpbb_root_path . 'includes/template.' . $phpEx);
 
185
require($phpbb_root_path . 'includes/session.' . $phpEx);
 
186
require($phpbb_root_path . 'includes/auth.' . $phpEx);
 
187
 
 
188
require($phpbb_root_path . 'includes/functions.' . $phpEx);
 
189
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
 
190
 
 
191
require($phpbb_root_path . 'includes/constants.' . $phpEx);
 
192
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
 
193
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
 
194
 
 
195
// Set PHP error handler to ours
 
196
set_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');
 
197
 
 
198
// Instantiate some basic classes
 
199
$user           = new user();
 
200
$auth           = new auth();
 
201
$template       = new template();
 
202
$cache          = new cache();
 
203
$db                     = new $sql_db();
 
204
 
 
205
// Connect to DB
 
206
$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false);
 
207
 
 
208
// We do not need this any longer, unset for safety purposes
 
209
unset($dbpasswd);
 
210
 
 
211
// Grab global variables, re-cache if necessary
 
212
$config = $cache->obtain_config();
 
213
 
 
214
// Add own hook handler
 
215
require($phpbb_root_path . 'includes/hooks/index.' . $phpEx);
 
216
$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));
 
217
 
 
218
foreach ($cache->obtain_hooks() as $hook)
 
219
{
 
220
        @include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);
 
221
}
 
222
 
 
223
?>
 
 
b'\\ No newline at end of file'