view = $view; $this->id = $containerid; foreach ($flags as $type => $value) { if ($type === 'elementId') { $this->elementId = $value; continue; } if ($type === 'refreshInterval') { $this->refreshInterval = intval($type); continue; } if ($type == 'detachable' && $value == true) { $this->features["detachable"] = true; continue; } if ($type == 'expandable' && $value == true) { $this->features["expandable"] = true; continue; } if ($type == "icingaUrl") { $this->url = $value; continue; } if ($type == "iframeFallback") { $this->iframeFallback = true; } if ($type == 'class') { $this->class = $value; continue; } } return $this; } public function beginContent() { ob_start(); return $this; } public function endContent() { $content = ob_get_contents(); ob_end_clean(); return $this->buildDOM($content); } public function buildDOM($content = "") { $additional = ""; if ($this->refreshInterval > 0) $additional .= " container-refresh-interval='{$this->refreshInterval}' "; if ($this->elementId) $additional .= " id='$this->elementId'"; $url = ""; if ($this->url) { $url = $this->view->baseUrl($this->url); $additional .= "icinga-url='{$url}'"; if($this->iframeFallback) { $content = " "; } } $controls = $this->getControlDOM(); $html = "
$controls $content
"; return $html; } private function getControlDOM() { if(empty($this->features)) return ""; $features = ""; foreach($this->features as $feature=>$enabled) { if(!$enabled) continue; if($feature == "detachable") { $url = $this->view->baseUrl($this->url ? $this->url : Zend_Controller_Front::getInstance()->getRequest()->getRequestUri()); $features .= " "; } if($feature == "expandable") { $url = $this->url ? $this->url : Zend_Controller_Front::getInstance()->getRequest()->getRequestUri(); $features .= " "; } } return "
$features
"; } public function registerTabs($tabHelper) { } public function __toString() { return $this->endContent(); } } class Zend_View_Helper_Container extends Zend_View_Helper_Abstract { /** * @param $id * @param array $flags * @return Zend_View_Helper_Container */ public function container($containerid, $flags = array()) { return new Zend_View_Helper_Container_State($containerid,$flags,$this->view); } }