X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fglobals.inc.php.in;h=6ad5a3c5e2da82c8125c8b477384a993493f1473;hb=259626014d09f53dd6993724a6b0f38bb8af8b86;hp=7672412bffa2065b441f50073b99b39f23031640;hpb=c4c8da69a5718740241d4f11c2f6cc3bba447396;p=platal.git diff --git a/include/globals.inc.php.in b/include/globals.inc.php.in index 7672412..6ad5a3c 100644 --- a/include/globals.inc.php.in +++ b/include/globals.inc.php.in @@ -1,6 +1,6 @@ session = $sess; $base = empty($_SERVER['HTTPS']) ? 'http://' : 'https://'; - $this->baseurl = trim($base.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']), '/'); - $this->spoolroot = dirname(dirname(dirname(__FILE__))); + $this->baseurl = @trim($base.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']), '/'); + $this->spoolroot = dirname(dirname(__FILE__)); $this->read_config(); - - $this->dbconnect(); $this->setlocale(); } - function read_config() + private function read_ini_file($filename) { - $array = parse_ini_file($this->spoolroot.'/configs/platal.ini', true); - foreach ($array as $cat => $conf) { - $c = strtolower($cat); - foreach ($conf as $k => $v) { - $this->$c->$k = $v; - } - } - - $array = parse_ini_file($this->spoolroot.'/configs/platal.conf', true); + $array = parse_ini_file($filename, true); if (!is_array($array)) { return; } - - foreach ($array as $cat=>$conf) { + foreach ($array as $cat => $conf) { $c = strtolower($cat); - foreach ($conf as $key=>$val) { - if ($c == 'core' && isset($this->$key)) { - $this->$key=$val; + foreach ($conf as $k => $v) { + if ($c == 'core' && property_exists($this, $k)) { + $this->$k=$v; } else { - $this->$c->$key = $val; + if (!isset($this->$c)) { + $this->$c = new stdClass; + } + $this->$c->$k = $v; } } } } - function dbconnect() + private function read_config() { - @mysql_connect($this->dbhost, $this->dbuser, $this->dbpwd); - @mysql_select_db($this->dbdb); + $this->read_ini_file($this->spoolroot.'/configs/platal.ini'); + $this->read_ini_file($this->spoolroot.'/configs/platal.conf'); } - function setlocale() + private function setlocale() { - global $globals; - setlocale(LC_MESSAGES, $globals->core->locale); - setlocale(LC_TIME, $globals->core->locale); - setlocale(LC_CTYPE, $globals->core->locale); + setlocale(LC_MESSAGES, $this->locale); + setlocale(LC_TIME, $this->locale); + setlocale(LC_CTYPE, $this->locale); + date_default_timezone_set($this->timezone); + mb_internal_encoding("UTF-8"); } - function asso($key=null) + public function asso($key=null) { static $aid = null; if (is_null($aid)) { $gp = Get::v('n'); - $gp = substr($gp, 0, strpos($gp, '/')); + if ($p = strpos($gp, '/')) { + $gp = substr($gp, 0, $p); + } if ($gp) { $res = XDB::query('SELECT a.*, d.nom AS domnom @@ -122,5 +125,5 @@ class PlatalGlobals } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>