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 require_once('common/include/escapingUtils.php');
15 // Just say no to link prefetching (Moz prefetching, Google Web Accelerator, others)
16 // http://www.google.com/webmasters/faq.html#prefetchblock
17 if (getStringFromServer('HTTP_X_moz') === 'prefetch'){
18 header(getStringFromServer('SERVER_PROTOCOL') . ' 404 Prefetch Forbidden');
19 trigger_error('Prefetch request forbidden.');
23 if (!isset($no_gz_buffer) || !$no_gz_buffer) {
24 ob_start("ob_gzhandler");
29 // get constants used for flags or status
30 require('common/include/constants.php');
34 if ($sys_use_jabber) {
35 require_once('common/include/Jabber.class.php');
38 //library to determine browser settings
39 require_once('www/include/browser.php');
41 //base error library for new objects
42 require_once('common/include/Error.class.php');
44 // HTML layout class, may be overriden by the Theme class
45 require_once('www/include/Layout.class.php');
48 //various html utilities
49 require_once('common/include/utils.php');
51 //database abstraction
52 require_once('common/include/database-'.$sys_database_type.'.php');
55 require_once('common/include/session.php');
58 require_once('common/include/System.class.php');
59 if (!$sys_account_manager_type) {
60 $sys_account_manager_type='UNIX';
62 require_once('common/include/system/'.$sys_account_manager_type.'.class.php');
63 $SYS=new $sys_account_manager_type();
65 //user functions like get_name, logged_in, etc
66 require_once('common/include/User.class.php');
68 //group functions like get_name, etc
69 require_once('common/include/Group.class.php');
71 //permission functions
72 require_once('common/include/Permission.class.php');
74 //library to set up context help
75 require_once('www/include/help.php');
78 require_once('www/include/exit.php');
80 //various html libs like button bar, themable
81 require_once('www/include/html.php');
83 //forms key generation
84 require_once('common/include/forms.php');
90 if (!$GLOBALS['gfconn']) {
91 print "$sys_name Could Not Connect to Database: ".db_error();
96 require_once('common/include/Plugin.class.php') ;
97 require_once('common/include/PluginManager.class.php') ;
99 // SCM-specific plugins subsystem
100 require_once('common/include/SCM.class.php') ;
102 setup_plugin_manager () ;
105 //determine if they're logged in
111 if (!session_loggedin() && $sys_force_login == 1 ) {
112 $expl_pathinfo = explode('/',getStringFromServer('REQUEST_URI'));
113 if (getStringFromServer('REQUEST_URI')!='/' && $expl_pathinfo[1]!='account' && $expl_pathinfo[1]!='export' ) exit_not_logged_in();
114 // Show proj* export even if not logged in when force login
115 // If not default web project page would be broken
116 if ($expl_pathinfo[1]=='export' && !ereg("^proj", $expl_pathinfo[2])) exit_not_logged_in();
119 //insert this page view into the database
120 require_once('www/include/logger.php');
123 // If logged in, set up a $LUSER var referencing
124 // the logged in user's object
126 if (session_loggedin()) {
127 //set up the user's timezone if they are logged in
128 $LUSER =& session_get_user();
129 $LUSER->setUpTheme();
130 header('Cache-Control: private');
134 // Include user Theme
136 require_once($sys_themeroot.$sys_theme.'/Theme.class.php');
142 Timezone must come after logger to prevent messups
147 if (session_loggedin()) {
148 //set up the user's timezone if they are logged in
149 putenv('TZ='. $LUSER->getTimeZone());
151 //just use pacific time as always
156 Now figure out what language file to instantiate
160 require_once('common/include/gettext.php');
162 setup_gettext_from_browser() ;
171 $LUSER - Logged in user object
179 // c-file-style: "bsd"