private static function doInject($obj) { if (is_string($obj)) { $parent = $obj; $obj = utopia::GetInstance($parent); } else { $parent = get_class($obj); } if (!is_subclass_of($parent, 'uDataModule')) { return; } $url = $obj->GetURL(array_merge($_GET, array('__ajax' => 'dataonly', 'dataonly-type' => 'csv'))); utopia::LinkList_Add('list_functions:' . $parent, 'Export to CSV', $url, 10, NULL, array('class' => 'export export-csv')); self::$allowed[] = $parent; }
public function _RunModule() { $this->AssertURL(); if ($this->isDisabled) { echo $this->isDisabled; return; } // build linklist of children $children = utopia::GetChildren(get_class($this)); foreach ($children as $child => $links) { $obj = utopia::GetInstance($child); foreach ($links as $info) { if ($obj->flag_is_set(ALLOW_ADD) && !$this->flag_is_set(ALLOW_ADD) && is_subclass_of($child, 'uSingleDataModule') && ($info['parentField'] === NULL || $info['parentField'] === '*')) { $url = $obj->GetURL(array('_n_' . $obj->GetModuleId() => '1')); utopia::LinkList_Add('list_functions:' . get_class($this), null, CreateNavButton('New ' . $obj->itemName, $url, array('class' => 'new-item')), 1); } } } // BEFORE ob_start(); $beforeResult = uEvents::TriggerEvent('BeforeRunModule', $this); $beforeContent = ob_get_clean(); if (utopia::UsingTemplate() && $beforeContent) { $beforeContent = '<div class="module-container ' . get_class($this) . ' BeforeRunModule">' . $beforeContent . '</div>'; } echo $beforeContent; if ($beforeResult === FALSE) { return FALSE; } // RUN ob_start(); $result = $this->RunModule(); $runContent = ob_get_clean(); if (utopia::UsingTemplate() && $runContent) { $runContent = '<div class="module-container ' . get_class($this) . ' RunModule">' . $runContent . '</div>'; } echo $runContent; if ($result === FALSE) { return false; } $this->hasRun = true; // AFTER ob_start(); $afterResult = uEvents::TriggerEvent('AfterRunModule', $this); $afterContent = ob_get_clean(); if (utopia::UsingTemplate() && $afterContent) { $afterContent = '<div class="module-container ' . get_class($this) . ' AfterRunModule">' . $afterContent . '</div>'; } echo $afterContent; if ($afterResult === FALSE) { return FALSE; } }