public function testCreateDelete() { echo "creating a news..\n"; $objNews = new class_module_news_news(); $objNews->setStrTitle("autotest"); $objNews->setStrIntro("autotest"); $objNews->setStrText("autotest"); $this->assertTrue($objNews->updateObjectToDb(), __FILE__ . " save news"); echo "creating category...\n"; $objCat = new class_module_news_category(); $objCat->setStrTitle("autotest"); $this->assertTrue($objCat->updateObjectToDb(), __FILE__ . " save cat"); $this->flushDBCache(); $this->assertEquals(0, count(class_module_news_category::getNewsMember($objNews->getSystemid())), __FILE__ . " check cats for news"); $this->assertEquals(0, count(class_module_news_news::getObjectList($objCat->getSystemid())), __FILE__ . " check news for cat"); echo "adding news to category..\n"; $objNews->setArrCats(array($objCat->getSystemid())); $this->assertTrue($objNews->updateObjectToDb(), __FILE__ . " update news"); $strNewsId = $objNews->getSystemid(); $strCatId = $objCat->getSystemid(); $this->flushDBCache(); $objNews = new class_module_news_news($strNewsId); $objCat = new class_module_news_category($strCatId); $this->assertEquals(1, count(class_module_news_category::getNewsMember($objNews->getSystemid())), __FILE__ . " check cats for news"); $this->assertEquals(1, count(class_module_news_news::getObjectList($objCat->getSystemid())), __FILE__ . " check news for cat"); echo "deleting news...\n"; $this->assertTrue($objNews->deleteObjectFromDatabase(), __FILE__ . " delete news"); $this->flushDBCache(); $this->assertEquals(0, count(class_module_news_news::getObjectList($objCat->getSystemid())), __FILE__ . " check news for cat"); $this->assertTrue($objCat->deleteObjectFromDatabase(), __FILE__ . " delete cat"); }
/** * Renders the news category titles * @param class_module_news_news $objNews * * @return string */ private function renderCategoryTitles(class_module_news_news $objNews) { if (count(class_module_news_category::getNewsMember($objNews->getSystemid())) == 0) { return ""; } $strCategories = ""; foreach (class_module_news_category::getNewsMember($objNews->getSystemid()) as $objCat) { $objMapper = new class_template_mapper($objCat); $strCategories .= $objMapper->writeToTemplate("/module_news/" . $this->arrElementData["news_template"], "categories_category"); } $strWrapper = $this->objTemplate->readTemplate("/module_news/" . $this->arrElementData["news_template"], "categories_wrapper"); return $this->objTemplate->fillTemplate(array("categories" => $strCategories), $strWrapper); }
/** * 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; }