Example #1
0
 public function start()
 {
     $this->aModules = Config::i()->getModules();
     $this->loadCommonExtensions();
     $this->init();
     $oFilterChain = new FilterChain();
     $this->composeFilters($oFilterChain)->process();
 }
Example #2
0
 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);
 }
Example #3
0
File: Cache.php Project: jasny/Q
 /**
  * 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];
 }
Example #4
0
 /**
  * Перевод строки
  *
  * @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;
 }
Example #5
0
 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;
     }
 }
Example #6
0
File: Fs.php Project: jasny/Q
 /**
  * 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]);
 }
Example #7
0
File: DB.php Project: jasny/Q
 /**
  * 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];
 }
Example #8
0
 /**
  * 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;
     }
 }
Example #9
0
 /**
  * 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;
 }
Example #10
0
File: Auth.php Project: jasny/Q
 /**
  * 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];
 }
Example #11
0
File: Route.php Project: jasny/Q
 /**
  * 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);
 }