Fix following errors: \n" . implode("
", $errors)); } } /** * Pobiera instancję systemu. * @return system */ public static function getInstance() { if (!isset(self::$instance)) { $c = __CLASS__; self::$instance = new $c; } return self::$instance; } protected function __construct() { $cli = !isset($_SERVER['HTTP_HOST']); $this->set("CLI", $cli); define('CLI', $cli); $this->requiredPHPConfiguration(); require_once('Sql2/sql.php'); require_once('class.autoload.php'); require_once('class.module.php'); require_once('class.tree.php'); require_once('class.cms_tree.php'); require_once('class.cms_controller.php'); require_once('class.cms_module.php'); require_once('class.template.php'); require_once('class.paginate_base.php'); require_once('class.paginate.php'); require_once('class.config.php'); require_once('class.mailer.php'); require_once('class.cache.php'); require_once('AF_Forms/Form.php'); require_once('functions.php'); CMSAutoload::register(); $config = Config::run(dirname(__FILE__).'/../config'); $this->config = $config->get(); set_include_path(get_include_path() . PATH_SEPARATOR . INCLUDES_PATH); require_once INCLUDES_PATH . 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); } function start() { if (!CLI) { if (isset($_GET['print'])){ $this->tpl = new Template('tpl/layout/print.php'); } else { $this->tpl = new Template('tpl/index.php'); } } $this->dbStart(); } function show() { if(!CLI){ $page = isset($this->getModule('pages')->page) ? $this->getModule('pages')->page : null; $this->tpl->page = $page; $parent = null; if (is_array($page) && $page['parent_id']) { $parent = $this->getModule('pages')->getTree()->rekord[$page['parent_id']]; if (!$parent['parent_id']) $parent = null; } $this->tpl->parent = $parent; echo $this->tpl->fetch(); }else echo "\r\n \r\n"; } function halt() { $this->stop(); exit(0); } public function getModule($modName) { if (isset($this->modulesLoaded[$modName])) { return $this->modulesLoaded[$modName]; } return null; } private function addModule($modName, module $object) { $this->modulesLoaded[$modName] = $object; } public function setModulePrefix($prefix) { $this->modulePrefix = $prefix; } public function loadModule($modName, $prefix = false) { if ($prefix === false) { $prefix = IS_CMS?'cms_':''; } // oszczędność 4 sekund przy 80+ objektach if ($this->getModule($prefix.$modName)){ return $this->getModule($prefix.$modName); } $filename = "$modName/index.php"; $modPath = CMS_PATH . "mod/$filename"; if (IS_CMS || $prefix == 'cms_') { $modPath = ADMIN_PATH . "mod/$filename"; } if (!file_exists($modPath)) { $filename = "$modName/$modName.php"; $modPath = CMS_PATH . "mod/$filename"; if (IS_CMS || $prefix == 'cms_') { $modPath = ADMIN_PATH . "mod/$filename"; } } if (file_exists($modPath)) { $class = $prefix.$modName; $module = $this->getModule($class); if (!$module) { include_once($modPath); $module = new $class(); $this->addModule($class, $module); } return $module; } else { throw new Exception("Module '$modName' in '$modPath' not found!"); } } public function dbStart() { $this->sql = new Sql(getConfig('db')); $this->sql->debug = getConfig('debug'); } public function setTemplate(Template $tpl) { $this->tpl = $tpl; } public function getTemplate() { return $this->tpl; } /** * Zatrzymuje system. * Zamyka połączenie do bazy, czyści flashowe zmienne sesyjne * @return void */ public function stop() { unset($this->sql); } public function set($name, $value) { $this->vars[$name] = $value; } public function get($name) { return isset($this->vars[$name])?$this->vars[$name]:false; } /** * @return Sql */ public function getSql() { return $this->sql; } } ?>