/** * Triggers the "real" creation of the report and wraps the code inline into a xml-structure * * @return string * @permissions view */ protected function actionGetReport() { $strPlugin = $this->getParam("plugin"); $strReturn = ""; $objPluginManager = new class_pluginmanager(class_module_stats_admin::$STR_PLUGIN_EXTENSION_POINT, "/admin/statsreports"); $objPlugin = null; foreach ($objPluginManager->getPlugins(array(class_carrier::getInstance()->getObjDB(), $this->objToolkit, $this->getObjLang())) as $objOneReport) { if (uniStrReplace("class_stats_report_", "", get_class($objOneReport)) == $strPlugin) { $objPlugin = $objOneReport; break; } } if ($objPlugin !== null && $objPlugin instanceof interface_admin_statsreports) { //get date-params as ints $intStartDate = mktime(0, 0, 0, $this->objDateStart->getIntMonth(), $this->objDateStart->getIntDay(), $this->objDateStart->getIntYear()); $intEndDate = mktime(0, 0, 0, $this->objDateEnd->getIntMonth(), $this->objDateEnd->getIntDay(), $this->objDateEnd->getIntYear()); $objPlugin->setEndDate($intEndDate); $objPlugin->setStartDate($intStartDate); $objPlugin->setInterval($this->intInterval); $arrImage = $objPlugin->getReportGraph(); if (!is_array($arrImage)) { $arrImage = array($arrImage); } foreach ($arrImage as $strImage) { if ($strImage != "") { $strReturn .= $this->objToolkit->getGraphContainer($strImage); } } $strReturn .= $objPlugin->getReport(); $strReturn = "<content><![CDATA[" . $strReturn . "]]></content>"; } return $strReturn; }
/** * @return interface_admin_statsreports[] */ private function getArrReports() { if (self::$arrReports == null) { self::$arrReports = $this->objPluginManager->getPlugins(array(class_carrier::getInstance()->getObjDB(), $this->objToolkit, $this->getObjLang())); } uasort(self::$arrReports, function (interface_admin_statsreports $objA, interface_admin_statsreports $objB) { return strcmp($objA->getTitle(), $objB->getTitle()); }); return self::$arrReports; }
/** * Generates a xml-based set of information about the current system and evironment * Returned structure: * <info> * <infoset name="xx"> * <entry> * <key></key> * <value></value> * </entry> * </infoset> * </info> * * @return string * @permissions edit */ protected function actionSystemInfo() { $strReturn = "<info>"; $objPluginmanager = new class_pluginmanager(interface_systeminfo::STR_EXTENSION_POINT); /** @var interface_systeminfo[] $arrPlugins */ $arrPlugins = $objPluginmanager->getPlugins(); foreach ($arrPlugins as $objOnePlugin) { $strReturn .= "<infoset name=\"" . $objOnePlugin->getStrTitle() . "\">"; foreach ($objOnePlugin->getArrContent() as $arrValue) { $strReturn .= "<entry>"; $strReturn .= "<key>" . xmlSafeString($arrValue[0]) . "</key>"; $strReturn .= "<value>" . xmlSafeString($arrValue[1]) . "</value>"; $strReturn .= "</entry>"; } $strReturn .= "</infoset>"; } $strReturn .= "</info>"; return $strReturn; }
public function testNegativeSearch() { $objManager = new class_pluginmanager("core.pluginmanager.nonexisting"); $arrInstances = $objManager->getPlugins(); $this->assertEquals(count($arrInstances), 0); }
/** * Shows information about the current system * * @return string * @permissions edit */ protected function actionSystemInfo() { $strReturn = ""; $objPluginmanager = new class_pluginmanager(interface_systeminfo::STR_EXTENSION_POINT); /** @var interface_systeminfo[] $arrPlugins */ $arrPlugins = $objPluginmanager->getPlugins(); foreach ($arrPlugins as $objOnePlugin) { $strContent = $this->objToolkit->dataTable(null, $objOnePlugin->getArrContent()); $strReturn .= $this->objToolkit->getFieldset($objOnePlugin->getStrTitle(), $strContent); } return $strReturn; }