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; }