public function start() { $this->aModules = Config::i()->getModules(); $this->loadCommonExtensions(); $this->init(); $oFilterChain = new FilterChain(); $this->composeFilters($oFilterChain)->process(); }
public function translate($category, $message, $params = [], $language = null, $basePath = null) { if ($language === null) { $language = Config::i()->getLang(); } $messageSource = $this->getMessageSource($category); $translate = $messageSource->translate($category, $message, $language, $basePath); return $this->format($translate, $params, $language); }
/** * Magic method to return specific instance * * @param string $name * @param array $args * @return Cacher */ public static function __callstatic($name, $args) { if (!isset(self::$instances[$name])) { if (!class_exists('Q\\Config') || !Config::i()->exists() || !($dsn = Config::i()->get('cache' . ($name != 'i' ? ".{$name}" : '')))) { return new Cache_Mock($name); } self::$instances[$name] = self::with($dsn); } return self::$instances[$name]; }
/** * Перевод строки * * @param $category категория * @param $message сообщение * @param $language язык, на который переводим * @param $basePath путь к файлам перевода * @return string|bool */ public function translate($category, $message, $language, $basePath) { $messages = $this->loadMessages($category, $language, $basePath); // Core::p($category); if ($language == Config::i()->getDefaultLang() && empty($messages[$message])) { return $message; } elseif (!empty($messages[$message])) { return $messages[$message]; } else { return $message; } return false; }
public function getDb($sKey = false) { if ($sKey) { $db = $this->oDbManager->get($sKey); if (!$db) { $val = Config::i()->getDbById($sKey); if ($val) { $db = new Db($val['ConnectionString'], $val['Username'], $val['Password'], $val['Params']); $db->open(); $this->oDbManager->add($db, $sKey); return $db; } return false; } return $db; } else { return $this->oDbManager; } }
/** * Check if named path is registered. * * @param string $name * @return boolean */ public static function hasPath($name) { $name = strtolower($name); switch ($name) { case 'root': return true; case 'home': return getenv('HOME') != ''; case 'cwd': return true; case 'basepath': case 'document_root': return isset($_SERVER['DOCUMENT_ROOT']); case 'script': return isset($_SERVER['SCRIPT_NAME']); } if (load_class('Q\\Config') && !Config::i() instanceof Mock && isset(Config::i()->fs[$name])) { $paths = Config::i()->fs; unset($paths['root'], $paths['home'], $paths['cwd'], $paths['document_root'], $paths['script']); self::$paths += $path; } return isset(self::$paths[$name]); }
/** * Get specific named instance. * Returns a Mock object if instance doesn't exist. * * @param string $name * @return object|Mock */ public static function getInstance($name) { if (!isset(self::$instances[$name])) { if (!class_exists('Q\\Config') || Config::i() instanceof Mock || !($dsn = Config::i()->get('db' . ($name != 'i' ? ".{$name}" : '')))) { load_class('Q\\Mock'); return new Mock(__CLASS__, $name, 'connect'); } self::$instances[$name] = self::connect($dsn); } return self::$instances[$name]; }
/** * Set the default event variables. */ public static function initVars() { self::$vars = array(); self::$vars['application'] = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : ($_SERVER['PWD'] == '/' ? '' : $_SERVER['PWD']) . '/' . $_SERVER['SCRIPT_NAME']; self::$vars['server'] = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : php_uname('n'); self::$vars['phpversion'] = phpversion(); self::$vars['system-pid'] = getmypid(); $sysuser = posix_getpwuid(posix_getuid()); self::$vars['system-user'] = $sysuser['name']; self::$vars['system-info'] = php_uname(); self::$vars['system-os'] = php_uname('s'); self::$vars['system-hostname'] = php_uname('n'); self::$vars['system-kernel'] = php_uname('r'); self::$vars['system-versioninfo'] = php_uname('v'); self::$vars['system-machine'] = php_uname('m'); self::$vars['error_prepend'] = ini_get('error_prepend_string'); self::$vars['error_append'] = ini_get('error_append_string'); self::$vars['time'] = function () { return date("Y-m-d H:i:s O"); }; self::$vars['trace'] = function () { return serialize_trace(debug_backtrace(), 2); }; self::$vars += array_change_key_case($_SERVER, CASE_LOWER); if (class_exists('Q\\Config', false) && Config::i()->exists() && Config::i()->log_vars) { self::$vars += (array) Config::i()->log_vars; } }
/** * Return timestamp * * @param mixed $value * @return mixed */ function generate($value = null) { $settings =& Config::i()->getSettings(null, false); return isset($this->_properties['configvar']) && isset($settings[$this->_properties['configvar']]) ? $settings[$this->_properties['configvar']] : null; }
/** * Get specific named interface. * * @param string $name * @return Auth */ public static function getInterface($name) { if (!isset(self::$instances[$name])) { if (!class_exists('Q\\Config') || Config::i() instanceof Mock || !($dsn = Config::i()->get('auth' . ($name != 'i' ? ".{$name}" : '')))) { return new Mock(__CLASS__, $name); } self::$instances[$name] = self::with($dsn); } return self::$instances[$name]; }
/** * Factory; Create a new router. * * @param string|array $dsn Configuration options, may be serialized as assoc set (string) * @param array $options Configuration options (which do not appear in DSN) * @return Router */ public static function with($dsn, $options = array()) { if (get_called_class() == __CLASS__) { $dsn_options = is_string($dsn) ? extract_dsn($dsn) : $dsn; $options = (array) $dsn_options + (is_array($options) || $options instanceof \ArrayObject ? $options : array($options)); if (load_class('Q\\Config')) { $cfg_options = Config::i()->get('route' . (empty($options['driver']) ? '' : '.' . $options['driver'])); if ($cfg_options) { if (!is_array($cfg_options) && !$options instanceof \ArrayObject) { $cfg_options = split_set(';', $cfg_options); } $options += $cfg_options; if (isset($cfg_options['driver'])) { $options['driver'] = $cfg_options['driver']; } } } if (empty($options['driver'])) { throw new Exception("Unable to create Route object: No driver specified."); } if (!isset(self::$drivers[$options['driver']])) { throw new Exception("Unable to create Route object: Unknown driver '{$options['driver']}'"); } $class = self::$drivers[$options['driver']]; if (!load_class($class)) { throw new Exception("Unable to create {$class} object: Class does not exist."); } } else { $options = (is_array($dsn) ? $dsn : array($dsn)) + $options; $class = get_called_class(); } return new $class($options); }