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");
 }
 /**
  * Removes the elements / modules handled by the current installer.
  * Use the reference param to add a human readable logging.
  *
  * @param string &$strReturn
  *
  * @return bool
  */
 public function remove(&$strReturn)
 {
     //delete the page-element
     $objElement = class_module_pages_element::getElement("news");
     if ($objElement != null) {
         $strReturn .= "Deleting page-element 'news'...\n";
         $objElement->deleteObjectFromDatabase();
     } else {
         $strReturn .= "Error finding page-element 'news', aborting.\n";
         return false;
     }
     /** @var class_module_news_feed $objOneObject */
     foreach (class_module_news_feed::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     /** @var class_module_news_category $objOneObject */
     foreach (class_module_news_category::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     /** @var class_module_news_news $objOneObject */
     foreach (class_module_news_news::getObjectList() as $objOneObject) {
         $strReturn .= "Deleting object '" . $objOneObject->getStrDisplayName() . "' ...\n";
         if (!$objOneObject->deleteObjectFromDatabase()) {
             $strReturn .= "Error deleting object, aborting.\n";
             return false;
         }
     }
     //delete the module-node
     $strReturn .= "Deleting the module-registration...\n";
     $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle(), true);
     if (!$objModule->deleteObjectFromDatabase()) {
         $strReturn .= "Error deleting module, aborting.\n";
         return false;
     }
     //delete the tables
     foreach (array("news_category", "news", "news_member", "news_feed", "element_news") as $strOneTable) {
         $strReturn .= "Dropping table " . $strOneTable . "...\n";
         if (!$this->objDB->_pQuery("DROP TABLE " . $this->objDB->encloseTableName(_dbprefix_ . $strOneTable) . "", array())) {
             $strReturn .= "Error deleting table, aborting.\n";
             return false;
         }
     }
     return true;
 }
 /**
  * @see interface_calendarsource_admin::getArrCalendarEntries()
  */
 public function getArrCalendarEntries(class_date $objStartDate, class_date $objEndDate)
 {
     $arrEntries = array();
     if ($this->objSession->getSession(self::STR_CALENDAR_FILTER_NEWS) != "disabled") {
         $arrNews = class_module_news_news::getObjectList("", null, null, $objStartDate, $objEndDate);
         foreach ($arrNews as $objOneNews) {
             $objEntry = new class_calendarentry();
             $objEntry->setStrClass("calendarEvent calendarNews");
             $strAlt = $this->getLang("calendar_type_news");
             $strTitle = $objOneNews->getStrTitle();
             if (uniStrlen($strTitle) > 15) {
                 $strAlt = $strTitle . "<br />" . $strAlt;
                 $strTitle = uniStrTrim($strTitle, 14);
             }
             $strName = class_link::getLinkAdmin($this->getArrModule("modul"), "edit", "&systemid=" . $objOneNews->getSystemid(), $strTitle, $strAlt);
             $objEntry->setStrName($strName);
             $arrEntries[] = $objEntry;
         }
     }
     return $arrEntries;
 }