3 * pre.php - Automatically prepend to every page.
5 * SourceForge: Breaking Down the Barriers to Open Source Development
6 * Copyright 1999-2001 (c) VA Linux Systems
7 * http://sourceforge.net
13 ob_start("ob_gzhandler");
17 redirect to proper hostname to get around certificate problem on IE 5
19 if (is_file('/etc/gforge/custom/pre.php')){
20 require_once('/etc/gforge/custom/pre.php');
23 // Defines all of the Source Forge hosts, databases, etc.
24 // This needs to be loaded first because the lines below depend upon it.
25 require ('/etc/gforge/local.inc');
27 if ($HTTP_HOST != $GLOBALS['sys_default_domain'] && $HTTP_HOST != $GLOBALS['sys_fallback_domain']) {
28 if ($SERVER_PORT == '443') {
29 header ("Location: https://".$GLOBALS['sys_default_domain']."$REQUEST_URI");
31 header ("Location: http://".$GLOBALS['sys_default_domain']."$REQUEST_URI");
37 if ($sys_use_jabber) {
38 require_once('common/include/Jabber.class');
41 //library to determine browser settings
42 require_once('www/include/browser.php');
44 //base error library for new objects
45 require_once('common/include/Error.class');
47 // HTML layout class, may be overriden by the Theme class
48 require_once('www/include/Layout.class');
51 //various html utilities
52 require_once('common/include/utils.php');
54 //database abstraction
55 require_once('common/include/database.php');
58 require_once('common/include/session.php');
61 require_once('common/include/ldap.php');
63 //user functions like get_name, logged_in, etc
64 require_once('common/include/User.class');
66 //group functions like get_name, etc
67 require_once('common/include/Group.class');
69 //permission functions
70 require_once('common/include/Permission.class');
72 //library to set up context help
73 require_once('www/include/help.php');
76 require_once('www/include/exit.php');
78 //various html libs like button bar, themable
79 require_once('www/include/html.php');
86 print "$sys_name Could Not Connect to Database: ".db_error();
91 require_once('common/include/Plugin.class') ;
92 require_once('common/include/PluginManager.class') ;
94 //determine if they're logged in
97 //insert this page view into the database
98 require_once('www/include/logger.php');
101 // If logged in, set up a $LUSER var referencing
102 // the logged in user's object
104 if (session_loggedin()) {
105 //set up the user's timezone if they are logged in
106 $LUSER =& session_get_user();
107 $LUSER->setUpTheme();
111 // Include user Theme
113 if ($sys_theme=='') {
114 // to avoid error at first execution
117 require_once($sys_themeroot.$sys_theme.'/Theme.class');
123 Timezone must come after logger to prevent messups
128 if (session_loggedin()) {
129 //set up the user's timezone if they are logged in
130 putenv('TZ='. $LUSER->getTimeZone());
132 //just use pacific time as always
137 Now figure out what language file to instantiate
141 require_once('www/include/BaseLanguage.class');
146 if (session_loggedin()) {
147 $Language=new BaseLanguage();
148 $Language->loadLanguageID($LUSER->getLanguage());
150 //if you aren't logged in, check your browser settings
151 //and see if we support that language
152 //if we don't support it, just use English as default
153 if ($HTTP_ACCEPT_LANGUAGE) {
154 $res = language_code_to_result ($HTTP_ACCEPT_LANGUAGE);
155 $classfile=db_result($res,0,'filename');
158 $classname=$sys_lang;
160 $Language=new BaseLanguage();
161 $Language->loadLanguage($classname);
164 setlocale (LC_TIME, $Language->getText('system','locale'));
165 $sys_strftimefmt = $Language->getText('system','strftimefmt');
166 $sys_datefmt = $Language->getText('system','datefmt');
177 $LUSER - Logged in user object