protected static function _load() { self::$_loaded = true; // load core configurations self::load('default.php'); // load extensions' configurations SlExtensions::getInstance(); if (!self::load('site.php')) { self::load('site.sample.php'); $isHtml = isset($_GET['url']) && !preg_match('!(^|/)(js|css|img)/|\\.(rss|xml|atom)|/isAjax:1$!', '/' . $_GET['url']); if (!Configure::read() && $isHtml && env('HTTP_X_REQUESTED_WITH') !== "XMLHttpRequest") { self::write('Message.noConfig', '<b>Site configuration file not found!</b><br />Please create <em>/app/config/site.php</em>. You may use <em>/app/config/site.sample.php</em> as a template.'); } } self::$_persistentData = self::load(TMP . 'sl_configuration.php'); if (SlSession::started()) { self::$_data['session'] =& SlSession::$data; } SlCookie::ready(); self::setCollections(); Sl::setLocale(); // If you are on PHP 5.3 correct your server timezone to fix the date & time related errors. $tz = self::read('I18n.options.timeZone'); if ($tz) { date_default_timezone_set($tz); } }
/** * Loads Components and prepares them for initialization. * Models will be lazy loaded by default * * @return mixed true if models found and instance created, or cakeError if models not found. * @access public * @see Controller::loadModel() * @link http://book.cakephp.org/view/977/Controller-Methods#constructClasses-986 */ function constructClasses() { if (SlExtensions::getInstance()->dependencyError) { $params = SlExtensions::getInstance()->dependencyError; SlExtensions::getInstance()->dependencyError = false; $this->cakeError('missingDependence', $params); } SlExtensions::trigger('constructClasses', $this); $this->__mergeVars(); // Component class sets components by reference, hence triggering an uneeded read operation // Avoid magic __get() method calls by setting null values $this->components = Set::normalize($this->components); foreach ($this->components as $component => $settings) { if (strpos($component, '.') !== false) { list($plugin, $component) = explode('.', $component); } $this->{$component} = null; } if (!SlConfigure::read('Sl.options.lazyLoadModels')) { return parent::constructClasses(); } $this->Component->init($this); if ($this->uses !== null || $this->uses !== array()) { if ($this->uses) { $uses = is_array($this->uses) ? $this->uses : array($this->uses); $modelClassName = $uses[0]; if (strpos($uses[0], '.') !== false) { list($plugin, $modelClassName) = explode('.', $uses[0]); } $this->modelClass = $modelClassName; } } return true; }
public static function trigger($hook, $params = null, $options = array()) { return SlExtensions::getInstance()->_trigger($hook, $params, $options); }