/** Initialisation. * - setup error handling * - load configuration data * - set up theme */ function __init() { // Load config $conf =& new Config(); $conf->parseConfig('/home/mbertier/dev/htdocs/mb/conf/microbuilder-conf.ini', 'GenericConf'); // $conf->parseConfig( '/var/www/localhost/mb/conf/microbuilder-conf.ini', 'GenericConf' ); $confroot =& $conf->getRoot(); $confarray = $confroot->toArray(); $this->conf =& $confarray['root']; // Error Handling $this->err =& PEAR_ErrorStack::singleton('MicroBuilder'); // -- Callback $errcallback =& new MicroBuilder_ErrorCallback(); $this->err->setDefaultCallback(array(&$errcallback, 'errorCallback')); // -- Error messages templates $msg = array(MB_NONEXISTENT_THEME => "Requested theme '%theme%' could not be found.", MB_NONEXISTENT_MODULE => "Requested module '%module%' could not be found.", MB_NONEXISTENT_BLOCK => "Requested block '%module%::%block%' could not be found."); $this->err->setErrorMessageTemplate($msg); $msgcallback =& new MicroBuilder_MessageCallback(); $msgcallback->verbosity = $this->conf['error_verbosity']; $this->err->setMessageCallback(array(&$msgcallback, 'messageCallback')); // -- Logger $logpath = $this->conf['prefix'] . '/logs/' . $this->conf['log_file']; $log =& Log::singleton('file', $logpath, 'MicroBuilder error log'); PEAR_ErrorStack::setDefaultLogger($log); // Constants // -- this conf constants are needed by factories to access conf (factories are static) define("MB_CONF_PREFIX", $this->conf['prefix']); define("MB_ERROR_VERBOSITY", $this->conf['error_verbosity']); // Theme // -- UI description $this->ui =& new MicroBuilder_UI(); // -- Theme object $this->theme =& MicroBuilder_Theme_Factory::make($this->conf['default_theme']); $this->theme->setTitle($this->conf['site_name']); }