示例#1
0
 /**
  * Load data from parsed ini file
  * @param string $a_filename
  * @return ZConfig
  */
 function &fromIni($a_filename)
 {
     $ini = new ZIni($a_filename);
     parent::setData($ini->getData());
     unset($ini);
     return $this;
 }
示例#2
0
 public function __construct($a_delimeter = null)
 {
     parent::__construct(array(), $a_delimeter);
     if (session_id() == '') {
         session_start();
     }
     $this->setDataRef($_SESSION);
 }
示例#3
0
 public function __destruct()
 {
     parent::__destruct();
     if ($this->m_session) {
         $_SESSION = $this->m_session->toArray();
     }
     unset($this->m_router, $this->m_session, $this->m_database);
 }
示例#4
0
 /**
  * To string conversion
  * @return string
  */
 public function __toString()
 {
     $r = implode(Zoombi::SS, $this->m_segments);
     if ($this->m_query->count() > 0) {
         $r .= Zoombi::SS . $this->queryString();
     }
     return $r;
 }
示例#5
0
 public function __construct($a_delimeter = null)
 {
     parent::__construct(array(), $a_delimeter);
     $id = session_id();
     if (empty($id)) {
         @session_start();
     }
     $this->setDataRef($_SESSION);
 }
示例#6
0
 /**
  * To string conversion
  * @return string
  */
 public function __toString()
 {
     $o = implode(Zoombi::SS, $this->m_segments);
     $arr = array();
     foreach ($this->m_query->getData() as $k => $v) {
         $arr[] = $k . '=' . $v;
     }
     if (count($arr) > 0) {
         $o .= '?' . implode('&', $arr);
     }
     return $o;
 }
示例#7
0
 /**
  * Render string
  * @param string $a_string
  * @param array $a_data
  * @param bool $a_return
  * @return mixed
  */
 protected function renderString($a_string, $a_data = array(), $a_return = false)
 {
     if (empty($a_string)) {
         return;
     }
     if ($a_data) {
         $this->setDataRef($a_data);
     }
     if ($this->m_data->count() > 0) {
         extract($this->getDataRef(), EXTR_REFS | EXTR_OVERWRITE);
     }
     ob_start();
     eval(' ?>' . $a_string . '<?php ');
     if ($a_return) {
         $echo = ob_get_contents();
         ob_end_clean();
         return $echo;
     }
     ob_end_flush();
 }
示例#8
0
 /**
  * Magic setter
  * @param string $a_name
  * @param mixed $a_value
  * @return mixed
  */
 public function __set($a_name, $a_value)
 {
     switch ($a_name) {
         case 'module':
             $this->setModule($a_value);
             return;
         case 'controller':
             $this->setController($a_value);
             return;
         case 'action':
             $this->setAction($a_value);
             return;
         case 'params':
             $this->setParams($a_value);
             return;
         case 'param':
             $this->setParam($a_value);
             return;
         case 'query':
             $this->setQuery($a_value);
             return;
     }
     return $this->m_query->set($a_name, $a_value);
 }
示例#9
0
 /**
  * Constructor
  * @param string $a_template Template
  * @param array $a_data Data
  */
 public function __construct($a_template = null, $a_data = null, $a_brackets = array(null, null))
 {
     parent::__construct($a_data);
     $this->setTemplate($a_template)->setBrackets($a_brackets);
 }
示例#10
0
 /**
  *
  * @param ZFile $a_data
  * @return ZConfig
  */
 function &setData($a_data)
 {
     switch (gettype($a_data)) {
         default:
             parent::setData($a_data);
             break;
         case 'string':
             return $this->fromFile($a_data);
         case 'object':
             if ($a_data instanceof ZFile) {
                 $d = parse_ini_string($a_data->get_contents(), true);
                 if ($d and is_array($d)) {
                     parent::setData($d);
                 }
             }
             parent::setData($a_data);
             break;
     }
     return $this;
 }
示例#11
0
 public static final function cookie($a_key = null, $a_value = null, $a_filter = FILTER_DEFAULT)
 {
     if ($a_key === null) {
         $v =& self::$m_vars['cookie'];
         if ($v === null) {
             $v = new ZRegistry();
             $v->setDataRef($_COOKIE);
         }
         return $v;
     }
     if ($a_value === null) {
         if (function_exists('filter_input')) {
             return filter_input(INPUT_COOKIE, $a_key, $a_filter);
         }
         return isset($_COOKIE[$a_key]) ? $_COOKIE[$a_key] : null;
     }
     $_COOKIE[$a_key] = $a_value;
 }
示例#12
0
 /**
  * Constructor
  * @param string $a_template Template
  * @param array $a_data Data
  */
 public function __construct($a_template = null, $a_data = null)
 {
     parent::__construct($a_data);
     $this->setTemplate($a_template);
     $this->m_brackets = array('', '');
 }
示例#13
0
 function &setData($a_data)
 {
     switch (gettype($a_data)) {
         default:
             return parent::setData($a_data);
         case 'string':
             return $this->fromFile($a_data);
     }
 }
示例#14
0
 /**
  * Has cookie value by ket name
  * @param string $a_key Key name
  * @return bool
  */
 public function hasCookie($a_key)
 {
     return $this->cookie->has($a_key);
 }