| Current Path : /var/www/iplanru/data/old/www/i-plan.ru/administrator/components/com_widgetkit/classes/ | 
| Current File : /var/www/iplanru/data/old/www/i-plan.ru/administrator/components/com_widgetkit/classes/helper.php | 
<?php
/**
* @package   Widgetkit
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
/*
	Class: WidgetkitHelper
		Helper base class
*/
class WidgetkitHelper implements ArrayAccess {
	/* widgetkit instance */
	public $widgetkit;
	/* helper name */
	protected $_name;
	/*
		Function: Constructor
			Class Constructor.
	*/
	public function __construct($widgetkit) {
		// set widgetkit
		$this->widgetkit = $widgetkit;
		// set default name
		$this->_name = strtolower(basename(get_class($this), 'WidgetkitHelper'));
	}
	/*
		Function: getName
			Get helper name
		Returns:
			String
	*/	
	public function getName() {
		return $this->_name;
	}
	/*
		Function: _call
			Execute function call
		Returns:
			Mixed
	*/	
	protected function _call($function, $args = array()) {
		if (is_array($function)) {
			list($object, $method) = $function;
			if (is_object($object)) {
				switch (count($args)) { 
					case 0 :
						return $object->$method();
						break;
					case 1 : 
						return $object->$method($args[0]); 
						break; 
					case 2: 
						return $object->$method($args[0], $args[1]); 
						break; 
					case 3: 
						return $object->$method($args[0], $args[1], $args[2]); 
						break; 
					case 4: 
						return $object->$method($args[0], $args[1], $args[2], $args[3]); 
						break; 
				} 
			}
		}
		return call_user_func_array($function, $args);                               
	}
	
	/* ArrayAccess interface implementation */
	public function offsetGet($name) {
		return $this->widgetkit[$name];
	}
	public function offsetSet($name, $helper) {
		$this->widgetkit[$name] = $helper;
	}
	public function offsetUnset($name) {
		unset($this->widgetkit[$name]);
	}
	public function offsetExists($name) {
		return !empty($this->widgetkit[$name]);
	}
}