Example #1
0
 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;
 }