]>
src.bluestatic.org Git - bugdar.git/blob - init.php
2f72fb7badbb2b90b2241645edf5b2586fa73417
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # Renapsus [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # All parts of this file are ©2003-[#]year[#] Iris Studios, Inc. No # ||
7 || # part of this file may be reproduced in any way: part or whole. # ||
8 || # --------------------------------------------------------------- # ||
9 || # ©2003 - [#]year[#] Iris Studios, Inc. | http://www.iris-studios.com # ||
10 || ################################################################### ||
11 \*=====================================================================*/
13 error_reporting ( E_ALL
& ~E_NOTICE
);
15 // ###################################################################
16 if ( PHP_VERSION
< '4.1.0' )
18 echo 'you do not have a new enough version of PHP' ;
22 // ###################################################################
24 set_magic_quotes_runtime ( 0 );
26 // ###################################################################
27 // Initialize the database
28 if (! file_exists ( './includes/config.php' ))
30 echo 'includes/config.php needs to be present!' ;
34 require_once ( './includes/config.php' );
35 require_once ( './includes/db_mysql.php' );
37 $DB_sql = new DB_Sql ();
38 $DB_sql- > appname
= 'Renapsus' ;
39 $DB_sql- > database
= $database ;
40 $DB_sql- > connect ( $servername , $username , $password , $usepconnect );
41 define ( 'DEVDEBUG' , $debug );
42 define ( 'TABLE_PREFIX' , $tableprefix );
43 define ( 'COOKIE_PREFIX' , $cookieprefix );
44 unset ( $database , $servername , $username , $password , $usepconnect , $tableprefix , $cookieprefix );
46 // ###################################################################
47 // Initialize our environment
48 require_once ( './includes/functions_datastore.php' );
49 require_once ( './includes/functions.php' );
52 var $options = array ();
53 var $userinfo = array ();
54 var $language = array ();
55 var $datastore = array ();
59 global $DB_sql , $vars ;
61 // Fetch all the datastore caches
62 $datastoretemp = $DB_sql- > query ( "SELECT * FROM " . TABLE_PREFIX
. "datastore" );
63 while ( $store = $DB_sql- > fetch_array ( $datastoretemp ))
65 $this- > datastore
[ " $store [title]" ] = unserialize ( $store [ 'data' ]);
68 // Assign options and fetch the userinfo
69 $this- > options
= $this- > datastore
[ 'setting' ];
70 unset ( $this- > datastore
[ 'setting' ]);
71 $this- > userinfo
= ( array ) $this- > fetch_userinfo (- 1 , true );
73 // Pull our languageid
74 if ( $this- > userinfo
[ 'userid' ])
76 $languageid = $this- > userinfo
[ 'languageid' ];
77 $language = $this- > datastore
[ 'language' ][ " $languageid" ];
81 foreach ( $this- >datastore['language'] AS $language )
83 if ( $language ['default'])
85 $languageid = $language ['languageid'];
86 $language = $this- >datastore['language'][" $languageid" ];
92 $this- > options
[ 'lang_id' ] = $language [ 'languageid' ];
93 $this- > options
[ 'lang_charset' ] = $language [ 'charset' ];
94 $this- > options
[ 'lang_dir' ] = $language [ 'direction' ];
95 $this- > options
[ 'lang_code' ] = $language [ 'languagecode' ];
98 // can't use this because not everyone has MySQL >= 4.0.17 ... one day, one day
99 $phrases = $DB_sql->query("
100 (SELECT varname, phrasetext FROM " . TABLE_PREFIX . "phrase)
102 (SELECT varname AS lvarname, phrasetext AS lphrasetext FROM " . TABLE_PREFIX . "locale AS locale WHERE languageid = " . $this->options['lang_id'] . ")"
104 while ($phrase = $DB_sql->fetch_array($phrases))
106 $this->language["$phrase[varname]"] = $phrase['phrasetext'];
108 $DB_sql->free_result($phrases);
111 // load master language
112 $phrases = $DB_sql- > query ( "SELECT * FROM " . TABLE_PREFIX
. "phrase" );
113 while ( $phrase = $DB_sql- > fetch_array ( $phrases ))
115 $this- > language
[ " $phrase [varname]" ] = $phrase [ 'phrasetext' ];
117 $DB_sql- > free_result ( $phrases );
120 $locale = $DB_sql- > query ( "SELECT * FROM " . TABLE_PREFIX
. "locale WHERE languageid = " . $this- > options
[ 'lang_id' ]);
121 while ( $phrase = $DB_sql- > fetch_array ( $locale ))
123 $this- > language
[ " $phrase [varname]" ] = $phrase [ 'phrasetext' ];
125 $DB_sql- > free_result ( $phrases );
127 // get the templateset
128 if ( $this- > userinfo
[ 'userid' ])
130 $templatesetid = $this- > userinfo
[ 'templatesetid' ];
131 $templateset = $this- > datastore
[ 'templateset' ][ " $templatesetid" ];
135 foreach ( $this- >datastore['templateset'] AS $templateset )
137 if ( $templateset ['default'])
139 $templatesetid = $templateset ['templatesetid'];
140 $templateset = $this- >datastore['templateset'][" $templatesetid" ];
145 // load the template system
146 if ( file_exists ( "./templates/ $templateset [shortname]/tsinfo.php" ))
148 $this- > options
[ 'ts_includepath' ] = "./templates/ $templateset [shortname]/" ;
152 echo "template set info (templates/ $templateset [shortname]/tsinfo.php) could not be loaded!" ;
157 function fetch_userinfo ( $userid = - 1 , $verify_password = false )
161 // Get the userid if not specified
164 $userid = intval ( $_COOKIE [ COOKIE_PREFIX
. 'userid' ]);
167 // Set the falseinfo stuff
173 'permissions' => $this- > datastore
[ 'usergroup' ][ 1 ][ 'permissions' ],
174 'displaytitle' => $this- > datastore
[ 'usergroup' ][ 1 ][ 'displaytitle' ],
175 'mdisplayname' => $this- > datastore
[ 'usergroup' ][ 1 ][ 'opentag' ] . '' . $this- > datastore
[ 'usergroup' ][ 1 ][ 'closetag' ]
179 $userinfo = $DB_sql- > query_first ( "SELECT * FROM " . TABLE_PREFIX
. "user WHERE userid = $userid" );
180 if (is_array( $userinfo ))
182 $userinfo ['permissions'] = (int) $this- >datastore['usergroup'][" $userinfo [ usergroupid
] "]['permissions'];
183 $userinfo ['displaytitle'] = $this- >datastore['usergroup'][" $userinfo [ usergroupid
] "]['displaytitle'];
184 fetch_user_display_name( $userinfo );
185 $userinfo ['mdisplayname'] = $this- >datastore['usergroup'][" $userinfo [ usergroupid
] "]['opentag'] . $userinfo ['displayname'] . $this- >datastore['usergroup'][" $userinfo [ usergroupid
] "]['closetag'];
186 // Verify that the cookie isn't fake
187 if ( $verify_password )
189 if ( $_COOKIE [COOKIE_PREFIX . 'authkey'] == $userinfo ['authkey'])
195 mysetcookie(COOKIE_PREFIX . 'userid');
196 mysetcookie(COOKIE_PREFIX . 'authkey');
207 mysetcookie(COOKIE_PREFIX . 'userid');
208 mysetcookie(COOKIE_PREFIX . 'authkey');
214 $bugsys = new BugTracker();
216 // ###################################################################
217 // Initialize usergroup system
218 $_PERMISSION = array(
219 'canviewbugs' => 1, // can view bugs
220 'cansearch' => 2, // can use the search
221 'cansubscribe' => 4, // can email subscribe
222 'canvote' => 8, // can vote on bugs
223 'cansubmitbugs' => 16, // can submit new bugs
224 'canpostcomments' => 32, // can post new comments
225 'cangetattach' => 64, // can dl attachments
226 'canputattach' => 128, // can ul attachments
227 'caneditown' => 256, // can edit own comments
228 'caneditothers' => 512, // can edit others' comments
229 'caneditinfo' => 1024, // can edit bug info -- works in conjunction with canedit(own|others)
230 'canassign' => 2048, // can assign bug
231 'canchangestatus' => 4096, // can change bug status
232 'canadminpanel' => 8192, // can view admin panel
233 'canadminbugs' => 16384, // can administrate bug functions
234 'canadminversions' => 32768, // can admin version info
235 'canadminusers' => 65536, // can admin users
236 'canadmingroups' => 131072, // can admin permission masks
237 'canadmintools' => 262144, // can use admin tools
238 'canadminfields' => 524288, // can admin custom bug fields
239 'canbeassignedto' => 1048576 // can be assigned bugs
242 foreach ( $_PERMISSION AS $name => $maskvalue )
244 define(strtoupper( $name ), $maskvalue );
247 /*=====================================================================*\
248 || ###################################################################
251 || ###################################################################
252 \*=====================================================================*/