]>
src.bluestatic.org Git - bugdar.git/blob - includes/init.php
2 /*=====================================================================*\
3 || ###################################################################
5 || # Copyright (c)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 // ###################################################################
25 // initialize the database
27 define ( 'ISSO_MT_START' , microtime ());
28 define ( 'ISSO_CHECK_POST_REFERER' , 1 );
30 require_once ( './includes/version.php' );
32 require_once ( './framework/kernel.php' );
35 $bugsys- > setAppPath ( getcwd ());
36 $bugsys- > setApplication ( 'Bugdar' );
37 $bugsys- > setAppVersion ( BUGDAR_VERSION
);
39 if (! file_exists ( './includes/config.php' ))
41 echo 'includes/config.php needs to be present!' ;
45 require_once ( './includes/config.php' );
47 $bugsys- > setDebug ( $debug );
49 $bugsys- > load ( 'db_mysql_pdo' , 'db' , true );
50 $db- > connect ( $servername , $username , $password , $database , $usepconnect );
53 $db- > query ( "SET NAMES utf8" );
56 // don't use sql strict mode
57 $db- > query ( "SET sql_mode = ''" );
59 $bugsys- > load ( 'functions' , 'funct' , true );
60 $bugsys- > load ( 'xml' , 'xml' , true );
62 // change cookie expiration to one hour
63 $funct- > cookieexp
= 3600 ;
65 define ( 'DEVDEBUG' , $debug );
66 define ( 'TABLE_PREFIX' , $tableprefix );
67 define ( 'COOKIE_PREFIX' , $cookieprefix );
69 unset ( $database , $servername , $theuser , $password , $thepass , $usepconnect , $tableprefix , $cookieprefix );
71 require_once ( './includes/functions_datastore.php' );
72 require_once ( './includes/functions.php' );
73 require_once ( './includes/language.php' );
75 // ###################################################################
77 $bugsys- > options
= array ();
78 $bugsys- > userinfo
= array ();
79 bugdar
:: $datastore = array ();
83 /*! @var \PDO The database connection instance. */
86 /*! @var \hoplite\http\Input Input filter for the new stack. */
89 static $options = array ();
90 static $user = array ();
91 static $datastore = array ();
95 // ###################################################################
96 // Initialize Hoplite concurrently with ISSO 2.x.
98 define ( 'HOPLITE_ROOT' , dirname ( __FILE__
) . '/hoplite' );
100 require_once HOPLITE_ROOT
. '/data/model.php' ;
101 \hoplite\data\Model
:: set_db ( $db- > dblink
);
103 require_once HOPLITE_ROOT
. '/http/input.php' ;
104 bugdar
:: $input = new \hoplite\http\
Input ( \hoplite\http\Input
:: TYPE_HTML
);
106 bugdar
:: $db = $db- > dblink
;
108 // ###################################################################
110 header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
111 header ( "Last-Modified: " . gmdate ( "D, d M Y H:i:s" ) . " GMT" );
112 header ( "Cache-Control: no-store, no-cache, must-revalidate" );
113 header ( "Cache-Control: post-check=0, pre-check=0" , false );
116 header ( "Content-Type: text/html; charset= \" utf8 \" " );
118 header ( "Pragma: no-cache" );
120 // ###################################################################
121 // populate our caches
122 $db- > showerrors
= false ;
123 $datastoretemp = $db- > query ( "SELECT * FROM " . TABLE_PREFIX
. "datastore" );
124 $db- > showerrors
= true ;
128 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 />' ;
129 $db- > error ( 'Invalid SQL error' );
132 while ( $store = $db- > fetch_array ( $datastoretemp ))
134 bugdar
:: $datastore [ " $store [title]" ] = unserialize ( $store [ 'data' ]);
137 $bugsys- > options
= bugdar
:: $datastore [ 'setting' ];
138 $bugsys- > options
[ 'columnoptions' ] = unserialize ( $bugsys- > options
[ 'columnoptions' ]);
139 unset ( bugdar
:: $datastore [ 'setting' ]);
140 bugdar
:: $options = $bugsys- > options
;
142 $bugsys- > setAppVersion ( $bugsys- > options
[ 'trackerversion' ]);
144 // ###################################################################
147 require_once ( './includes/permissions.php' );
149 // ###################################################################
152 $authMethod = (( defined ( 'USE_DEFAULT_AUTH_METHOD' ) AND constant ( 'USE_DEFAULT_AUTH_METHOD' ) == 1 ) ? 'default' : $bugsys- > options
[ 'authmethod' ]);
153 require_once ( './includes/auth/auth_' . $authMethod . '.php' );
155 $authClass = 'Authentication' . str_replace ( ' ' , '' , ucwords ( str_replace ( '_' , ' ' , $authMethod )));
156 $bugsys- > auth
= $auth = new $authClass ();
158 if ( $auth- > authenticateCookies ())
160 $bugsys- > userinfo
= $auth- > fetchBugdarUser ();
161 $bugsys- > userinfo
[ 'permissions' ] = FetchUserPermissions ( $bugsys- > userinfo
);
162 $bugsys- > userinfo
[ 'displaytitle' ] = bugdar
:: $datastore [ 'usergroup' ][ $bugsys- > userinfo
[ 'usergroupid' ] ][ 'displaytitle' ];
163 $bugsys- > userinfo
[ 'columnoptions' ] = unserialize ( $bugsys- > userinfo
[ 'columnoptions' ]);
167 $bugsys- > userinfo
= fetch_guest_user ();
169 bugdar
:: $user = $bugsys- > userinfo
;
171 // ###################################################################
172 // initialize localization system
174 $language = fetch_user_language ();
176 $stylevar [ 'lang' ] = $language [ 'langcode' ];
177 $stylevar [ 'lang_dir' ] = $language [ 'direction' ];
178 $stylevar [ 'charset' ] = $language [ 'charset' ];
179 $stylevar [ 'left' ] = ( $language [ 'direction' ] == 'ltr' ? 'left' : 'right' );
180 $stylevar [ 'right' ] = ( $language [ 'direction' ] == 'ltr' ? 'right' : 'left' );
182 require_once ( './includes/definitions.php' );
184 // ###################################################################
185 // initialize the date system
186 $bugsys- > load ( 'date' , 'datef' , true );
187 $datef- > usertz
= $bugsys- > userinfo
[ 'timezone' ] +
( $bugsys- > userinfo
[ 'usedst' ] * 1 );
188 $bugsys- > debug ( 'user tz = ' . $bugsys- > userinfo
[ 'timezone' ] . '; use version = ' . $datef- > usertz
);
189 $datef- > fetch_offset ();
191 // ###################################################################
193 $bugsys- > load ( 'mail' , 'mail' , true );
194 $mail- > setFromAddress ( $bugsys- > options
[ 'webmasteremail' ]);
195 $mail- > setFromName ( T ( 'Bugdar Notification' ));