/**
  * Retrieve a member of the pathinfo params
  *
  * @param string $key
  * @param mixed $default
  * @return mixed
  */
 public static function param($key = null, $default = array())
 {
     $params = (array) Cola::reg('_params');
     if (null === $key) {
         return $params;
     }
     return isset($params[$key]) ? $params[$key] : $default;
 }
Exemplo n.º 2
0
 public static function cache($name = null)
 {
     if (is_array($name)) {
         return Cola_Com_Cache::factory($name);
     }
     if (empty($name)) {
         $name = '_cache';
     }
     if ($cache = Cola::reg($name)) {
         return $cache;
     }
     $config = (array) Cola::config($name);
     $cache = Cola_Com_Cache::factory($config);
     Cola::reg($name, $cache);
     return $cache;
 }
Exemplo n.º 3
0
 /**
  * Match path
  *
  * @param string $path
  * @return boolean
  */
 public function match($pathInfo = null)
 {
     $pathInfo = trim($pathInfo, '/');
     foreach ($this->_rules as $regex => $rule) {
         $res = preg_match($regex, $pathInfo, $values);
         if (0 === $res) {
             continue;
         }
         if (isset($rule['maps']) && count($rule['maps'])) {
             $params = array();
             foreach ($rule['maps'] as $pos => $key) {
                 if (isset($values[$pos]) && '' !== $values[$pos]) {
                     $params[$key] = urldecode($values[$pos]);
                 }
             }
             if (isset($rule['defaults'])) {
                 $params += $rule['defaults'];
             }
             Cola::reg('_params', $params);
         }
         return $rule;
     }
     if ($this->_enableDynamicMatch) {
         return $this->_dynamicMatch($pathInfo);
     }
     return false;
 }
 /**
  * Get var
  *
  * @param sting $key
  * @param mixed $default
  */
 protected function getVar($key = null, $default = null)
 {
     if (null === $key) {
         return array_merge(Cola::reg('_params', null, array()), $_GET, $_POST, $_COOKIE, $_SERVER, $_ENV);
     }
     $funcs = array('param', 'get', 'post', 'cookie', 'server', 'env');
     foreach ($funcs as $func) {
         if (null !== ($return = $this->request->{$func}($key))) {
             return $return;
         }
     }
     return $default;
 }
Exemplo n.º 5
0
 /**
  * Connect db from config
  *
  * @param array $config
  * @param string $regName
  * @return Cola_Com_Db
  */
 public function db($name = null)
 {
     if (empty($name)) {
         $name = $this->_db;
     }
     if (is_array($name)) {
         $config = (array) $name + array('adapter' => 'Mysql', 'params' => array());
         return Cola_Com_Db::factory($config);
     }
     if ($db = Cola::reg($name)) {
         return $db;
     }
     $config = (array) Cola::config($name) + array('adapter' => 'Mysql', 'params' => array());
     $db = Cola_Com_Db::factory($config);
     Cola::reg($name, $db);
     return $db;
 }