]>
src.bluestatic.org Git - bugdar.git/blob - includes/init.php
2 /*=====================================================================*\
3 || ###################################################################
5 || # Copyright ©2002-2007 Blue Static
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version 2 of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
22 error_reporting ( E_ALL
& ~E_NOTICE
);
24 // ###################################################################
27 define ( 'ISSO_MT_START' , microtime ());
28 define ( 'ISSO_CHECK_POST_REFERER' , 1 );
30 require_once ( './includes/version.php' );
32 if (! file_exists ( './includes/config.php' ))
34 echo 'includes/config.php needs to be present!' ;
38 require_once ( './includes/config.php' );
40 define ( 'ISSO' , getcwd () . '/includes/framework/' );
41 require_once ISSO
. '/App.php' ;
42 BSApp
:: set_debug ( $debug );
44 // ###################################################################
45 // initialize the database
47 require_once ISSO
. '/DbMySqlI.php' ;
48 $db = BSApp
:: $db = new BSDBMySQLI ();
50 $db- > connect ( $servername , $username , $password , $database );
53 $db- > query ( "SET NAMES utf8" );
56 require_once ISSO
. '/Functions.php' ;
58 // change cookie expiration to one hour
59 BSFunctions
:: set_cookie_timeout ( 3600 );
61 define ( 'DEVDEBUG' , $debug );
62 define ( 'TABLE_PREFIX' , $tableprefix );
63 define ( 'COOKIE_PREFIX' , $cookieprefix );
65 unset ( $database , $servername , $theuser , $password , $thepass , $usepconnect , $tableprefix , $cookieprefix );
67 require_once ( './includes/functions_datastore.php' );
68 require_once ( './includes/functions.php' );
69 require_once ( './includes/language.php' );
71 // ###################################################################
73 $bugsys- > options
= array ();
74 $bugsys- > userinfo
= array ();
75 $bugsys- > datastore
= array ();
77 // ###################################################################
79 header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
80 header ( "Last-Modified: " . gmdate ( "D, d M Y H:i:s" ) . " GMT" );
81 header ( "Cache-Control: no-store, no-cache, must-revalidate" );
82 header ( "Cache-Control: post-check=0, pre-check=0" , false );
85 header ( "Content-Type: text/html; charset= \" utf8 \" " );
87 header ( "Pragma: no-cache" );
89 // ###################################################################
90 // populate our caches
91 $db- > showerrors
= false ;
92 $datastoretemp = $db- > query ( "SELECT * FROM " . TABLE_PREFIX
. "datastore" );
93 $db- > showerrors
= true ;
97 echo '<div style="font-size: 18px"><strong>Notice:</strong> This error could be caused if you have not installed Bugdar. If this is the case, you can run the installer <a href="install/install.php">here</a>.</div><br />' ;
98 $db- > error ( 'Invalid SQL error' );
101 foreach ( $datastoretemp as $store )
103 $bugsys- > datastore
[ " $store [title]" ] = unserialize ( $store [ 'data' ]);
105 $bugsys- > options
= $bugsys- > datastore
[ 'setting' ];
106 $bugsys- > options
[ 'columnoptions' ] = unserialize ( $bugsys- > options
[ 'columnoptions' ]);
107 unset ( $bugsys- > datastore
[ 'setting' ]);
109 // ###################################################################
112 require_once ( './includes/permissions.php' );
114 // ###################################################################
117 $authMethod = (( defined ( 'USE_DEFAULT_AUTH_METHOD' ) AND constant ( 'USE_DEFAULT_AUTH_METHOD' ) == 1 ) ? 'default' : $bugsys- > options
[ 'authmethod' ]);
118 require_once ( './includes/auth/auth_' . $authMethod . '.php' );
120 $authClass = 'Authentication' . str_replace ( ' ' , '' , ucwords ( str_replace ( '_' , ' ' , $authMethod )));
121 $bugsys- > auth
= $auth = new $authClass ();
123 if ( $auth- > authenticateCookies ())
125 $bugsys- > userinfo
= $auth- > fetchBugdarUser ();
126 $bugsys- > userinfo
[ 'permissions' ] = FetchUserPermissions ( $bugsys- > userinfo
);
127 $bugsys- > userinfo
[ 'displaytitle' ] = $bugsys- > datastore
[ 'usergroup' ][ $bugsys- > userinfo
[ 'usergroupid' ] ][ 'displaytitle' ];
128 $bugsys- > userinfo
[ 'columnoptions' ] = unserialize ( $bugsys- > userinfo
[ 'columnoptions' ]);
132 $bugsys- > userinfo
= fetch_guest_user ();
135 // ###################################################################
136 // initialize localization system
138 $language = fetch_user_language ();
140 $stylevar [ 'lang' ] = $language [ 'langcode' ];
141 $stylevar [ 'lang_dir' ] = $language [ 'direction' ];
142 $stylevar [ 'charset' ] = $language [ 'charset' ];
143 $stylevar [ 'left' ] = ( $language [ 'direction' ] == 'ltr' ? 'left' : 'right' );
144 $stylevar [ 'right' ] = ( $language [ 'direction' ] == 'ltr' ? 'right' : 'left' );
146 // start gettext engine
147 if (! $bugsys- > options
[ 'devgettext' ])
149 putenv ( "LANG= $language [langcode]" );
150 putenv ( "LANGUAGE= $language [langcode]" );
152 setlocale ( LC_ALL
, $language [ 'langcode' ]);
154 bindtextdomain ( 'MESSAGES' , $bugsys- > apppath
. 'locale/' );
155 textdomain ( 'MESSAGES' );
157 bind_textdomain_codeset ( 'MESSAGES' , $language [ 'charset' ]);
161 $bugsys- > debug ( "using custom MOReader instead of Gettext" );
164 // ###################################################################
165 // initialize the date system
166 require_once ISSO
. '/Date.php' ;
167 $datef = BSApp
:: $date = new BSDate ();
168 $datef- > setUserTimeZone ( $bugsys- > userinfo
[ 'timezone' ] +
( $bugsys- > userinfo
[ 'usedst' ] * 1 ));
169 $bugsys- > debug ( 'user tz = ' . $bugsys- > userinfo
[ 'timezone' ] . '; use version = ' . $datef- > usertz
);
171 // ###################################################################
173 $bugsys- > load ( 'mail' , 'mail' , true );
174 $mail- > setFromAddress ( $bugsys- > options
[ 'webmasteremail' ]);
175 $mail- > setFromName ( T ( 'Bugdar Notification' ));
177 /*=====================================================================*\
178 || ###################################################################
181 || ###################################################################
182 \*=====================================================================*/