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

« back to all changes in this revision

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

  • Committer: William Grant
  • Date: 2010-02-25 07:34:50 UTC
  • Revision ID: grantw@unimelb.edu.au-20100225073450-zcl8ev5hlyhbszeu
Activate the Storm C extensions if possible. Moar speed.

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'