/** * Looks up the list of tags and renders the list. * * @return string the prepared html-output */ public function loadData() { $strReturn = ""; $arrTags = class_module_tags_tag::getTagsWithAssignments(); //load the template $strTemplateWrapperID = $this->objTemplate->readTemplate("/element_tags/" . $this->arrElementData["char1"], "tags"); $strTemplateTagID = $this->objTemplate->readTemplate("/element_tags/" . $this->arrElementData["char1"], "tagname"); $strTemplateTaglinkID = $this->objTemplate->readTemplate("/element_tags/" . $this->arrElementData["char1"], "taglink"); $strTags = ""; foreach ($arrTags as $objTag) { if ($objTag->rightView()) { $arrAssignments = $objTag->getListOfAssignments(); $strLinks = ""; //render the links - if possible foreach ($arrAssignments as $arrOneAssignment) { $objRecord = class_objectfactory::getInstance()->getObject($arrOneAssignment["tags_systemid"]); if ($objRecord == null) { continue; } if ($objRecord instanceof class_module_pages_page) { $strLink = getLinkPortal($objRecord->getStrName(), "", "_self", $objRecord->getStrBrowsername(), "", "&highlight=" . urlencode($objTag->getStrName()), "", "", $arrOneAssignment["tags_attribute"]); $strLinks .= $this->fillTemplate(array("taglink" => $strLink), $strTemplateTaglinkID); } if (class_module_system_module::getModuleByName("news") != null && $objRecord->getIntModuleNr() == _news_module_id_) { //TODO: fix after news integration, move to search link target interface handler $objNews = new class_module_news_news($objRecord->getSystemid()); $strLink = getLinkPortal("newsdetails", "", "_self", $objNews->getStrTitle(), "newsDetail", "&highlight=" . urlencode($objTag->getStrName()), $objRecord->getSystemid(), "", "", $objNews->getStrTitle()); $strLinks .= $this->fillTemplate(array("taglink" => $strLink), $strTemplateTaglinkID); } } $arrTemplate = array(); $arrTemplate["tagname"] = $objTag->getStrName(); $arrTemplate["linkcount"] = count($arrAssignments); $arrTemplate["taglinks"] = $strLinks; $arrTemplate["tagid"] = $objTag->getSystemid(); $strTags .= $this->fillTemplate($arrTemplate, $strTemplateTagID); } } $strReturn = $this->fillTemplate(array("tags" => $strTags), $strTemplateWrapperID); return $strReturn; }
/** * Returns a xml-based representation of a single news. * Return format: * <news> * <title></title> * <systemid></systemid> * <intro></intro> * <text></text> * <image></image> * <categories></categories> * <startdate></startdate> * <enddate></enddate> * <archivedate></archivedate> * </news> * * @return string * @xml */ protected function actionNewsDetails() { $strReturn = ""; $objNews = new class_module_news_news($this->getSystemid()); $arrCats = class_module_news_category::getNewsMember($objNews->getSystemid()); array_walk($arrCats, function (class_module_news_category &$objValue) { $objValue = $objValue->getSystemid(); }); if ($objNews->rightView()) { $strReturn .= " <news>\n"; $strReturn .= " <title>" . xmlSafeString($objNews->getStrTitle()) . "</title>"; $strReturn .= " <systemid>" . $objNews->getSystemid() . "</systemid>"; $strReturn .= " <intro>" . xmlSafeString($objNews->getStrIntro()) . "</intro>"; $strReturn .= " <text>" . xmlSafeString($objNews->getStrText()) . "</text>"; $strReturn .= " <image>" . xmlSafeString($objNews->getStrImage()) . "</image>"; $strReturn .= " <categories>" . xmlSafeString(implode(",", $arrCats)) . "</categories>"; $strReturn .= " <startdate>" . xmlSafeString($objNews->getObjStartDate() != null ? $objNews->getObjStartDate()->getTimeInOldStyle() : "") . "</startdate>"; $strReturn .= " <enddate>" . xmlSafeString($objNews->getObjEndDate() != null ? $objNews->getObjEndDate()->getTimeInOldStyle() : "") . "</enddate>"; $strReturn .= " <archivedate>" . xmlSafeString($objNews->getObjDateSpecial() != null ? $objNews->getObjDateSpecial()->getTimeInOldStyle() : "") . "</archivedate>"; $strReturn .= " </news>\n"; } else { $strReturn = "<error>" . $this->getLang("commons_error_permissions") . "</error>"; } return $strReturn; }