appname = '[#]app[#]'; $DB_sql->database = $database; $DB_sql->connect($servername, $username, $password, $usepconnect); define('DEVDEBUG', $debug); define('TABLE_PREFIX', $tableprefix); define('COOKIE_PREFIX', $cookieprefix); unset($database, $servername, $username, $password, $usepconnect, $tableprefix, $cookieprefix); // ################################################################### // Initialize our environment require_once('./includes/functions_datastore.php'); require_once('./includes/functions.php'); class BugTracker { var $options = array(); var $userinfo = array(); var $language = array(); var $datastore = array(); function BugTracker() { global $DB_sql, $vars; // Fetch all the datastore caches $datastoretemp = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX . "datastore"); while ($store = $DB_sql->fetch_array($datastoretemp)) { $this->datastore["$store[title]"] = unserialize($store['data']); } // Assign options and fetch the userinfo $this->options = $this->datastore['setting']; unset($this->datastore['setting']); $this->userinfo = (array)$this->fetch_userinfo(-1, true); // Pull our languageid if ($this->userinfo['userid']) { $languageid = $this->userinfo['languageid']; $language = $this->datastore['language']["$languageid"]; } if (!$languageid) { foreach ($this->datastore['language'] AS $language) { if ($language['default']) { $languageid = $language['languageid']; $language = $this->datastore['language']["$languageid"]; break; } } } // Load language system if (file_exists("./locale/$language[filename]")) { require_once("./locale/$language[filename]"); $this->language = $language; $this->options['lang_charset'] = $cfg['charset']; $this->options['lang_dir'] = $cfg['direction']; $this->options['lang_code'] = $cfg['languagecode']; unset($language); } else { echo "language file (locale/$language[filename]) could not be loaded!"; exit; } } function fetch_userinfo($userid = -1, $verify_password = false) { global $DB_sql; // Get the userid if not specified if ($userid == -1) { $userid = intval($_COOKIE[COOKIE_PREFIX . 'userid']); } // Set the falseinfo stuff $falseinfo = array( 'usergroupid' => 1, 'userid' => 0, 'email' => '', 'displayname' => '', 'permissions' => $this->datastore['usergroup'][1]['permissions'], 'displaytitle' => $this->datastore['usergroup'][1]['displaytitle'], 'mdisplayname' => $this->datastore['usergroup'][1]['opentag'] . '' . $this->datastore['usergroup'][1]['closetag'] ); // Get the userinfo $userinfo = $DB_sql->query_first("SELECT * FROM " . TABLE_PREFIX . "user WHERE userid = $userid"); if (is_array($userinfo)) { $userinfo['permissions'] = (int)$this->datastore['usergroup']["$userinfo[usergroupid]"]['permissions']; $userinfo['displaytitle'] = $this->datastore['usergroup']["$userinfo[usergroupid]"]['displaytitle']; fetch_user_display_name($userinfo); $userinfo['mdisplayname'] = $this->datastore['usergroup']["$userinfo[usergroupid]"]['opentag'] . $userinfo['displayname'] . $this->datastore['usergroup']["$userinfo[usergroupid]"]['closetag']; // Verify that the cookie isn't fake if ($verify_password) { if ($_COOKIE[COOKIE_PREFIX . 'authkey'] == $userinfo['authkey']) { return $userinfo; } else { mysetcookie(COOKIE_PREFIX . 'userid'); mysetcookie(COOKIE_PREFIX . 'authkey'); return $falseinfo; } } else { return $userinfo; } } else { mysetcookie(COOKIE_PREFIX . 'userid'); mysetcookie(COOKIE_PREFIX . 'authkey'); return $falseinfo; } } } $bugsys = new BugTracker(); // ################################################################### // Initialize usergroup system $_PERMISSION = array( 'canviewbugs' => 1, 'cansearch' => 2, 'cansubscribe' => 4, 'canvote' => 8, 'cansubmitbugs' => 16, // 5 'canpostcomments' => 32, 'cangetattach' => 64, 'canputattach' => 128, 'caneditown' => 256, 'caneditothers' => 512, // 10 'caneditinfo' => 1024, 'canassign' => 2048, 'canchangestatus' => 4096, 'canadminpanel' => 8192, 'canadminbugs' => 16384, // 15 'canadminversions' => 32768, 'canadminusers' => 65536, 'canadmingroups' => 131072, 'canadmintools' => 262144, 'canadminfields' => 524288, // 20 'canbeassignedto' => 1048576 ); foreach ($_PERMISSION AS $name => $maskvalue) { define(strtoupper($name), $maskvalue); } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>