SplitParamsStr($params_str); } } /** * Splits tag params into associative array * * @param string $params_str * @access private */ function SplitParamsStr($params_str) { // $re = preg_quote('([\${}a-zA-Z0-9_.-#\[\]]+)=(["\']{1,1})(.*?)(? $val){ $values[$val[1]] = str_replace('\\' . $val[2], $val[2], $val[3]); } $this->AddParams($values); } /** * Sets new parameter value * * @param string $name * @param string $val * @return void * @access public */ public function Set($name, $val) { $this->_Params[$name] = $val; } /** * Removes parameter * * @param string $name * @return void * @access public */ public function Remove($name) { unset($this->_Params[$name]); } /** * Gets parameter value by parameter name * * @param string $name Name of variable to retrieve * @param mixed $default default value returned in case if variable not present * @return string * @access public */ public function Get($name, $default = false) { return isset($this->_Params[$name]) ? $this->_Params[$name] : $default; } /** * Mass parameter setting from hash * * @param Array $params * @access public */ function AddParams($params) { if (!is_array($params)) return; /*if (count($this->_Params) == 0) { $this->_Params = $params; } else {*/ foreach ($params as $name => $val) // $this->Set(strtolower($name), $val); $this->Set($name, $val); //} } /** * Return all paramters as hash * * @return Array * @access public */ function GetParams() { return $this->_Params; } } class kArray extends kBase implements kiCacheable { var $_Array; /** * Returns array value with any deep key * * @return mixed * @todo array_unshift doesn't accept parameters by reference, fix it's usage in this method */ function GetArrayValue() { $args = func_get_args(); kUtil::array_unshift_ref($args, $this->_Array); return call_user_func_array('getArrayValue', $args); } function SetArrayValue() { $args = func_get_args(); $value = array_pop($args); $arr =& $this->_Array; for ($i=0; $i_Array = $data['TagsAggregator.data']; } /** * Gets object data for caching * * @access public * @return Array */ public function getToCache() { return Array ( 'TagsAggregator.data' => $this->_Array, ); } }