/** * @inheritDoc */ public function generateFieldsFromObject() { parent::generateFieldsFromObject(); $objNews = $this->getObjSourceobject(); if ($objNews->getSystemid() != class_module_system_module::getModuleByName("news")->getSystemid()) { //search the languages maintained $objLanguageManager = class_module_languages_languageset::getLanguagesetForSystemid($objNews->getSystemid()); if ($objLanguageManager != null) { $arrMaintained = $objLanguageManager->getArrLanguageSet(); $arrDD = array(); foreach ($arrMaintained as $strLanguageId => $strSystemid) { $objLanguage = new class_module_languages_language($strLanguageId); $arrDD[$strSystemid] = $this->getLang("lang_" . $objLanguage->getStrName(), "languages"); } class_module_languages_admin::enableLanguageSwitch(); class_module_languages_admin::setArrLanguageSwitchEntries($arrDD); class_module_languages_admin::setStrOnChangeHandler("window.location='" . class_link::getLinkAdminHref("news", "editNews") . (class_module_system_setting::getConfigValue("_system_mod_rewrite_") == "true" ? "?" : "&") . "systemid='+this.value+'&pe=" . class_carrier::getInstance()->getParam("pe") . "';"); class_module_languages_admin::setStrActiveKey($objNews->getSystemid()); } } $arrCats = class_module_news_category::getObjectList(); if (count($arrCats) > 0) { $arrKeyValues = array(); /** @var class_module_news_category $objOneCat */ foreach ($arrCats as $objOneCat) { $arrKeyValues[$objOneCat->getSystemid()] = $objOneCat->getStrDisplayName(); } $this->getField("cats")->setStrLabel($this->getLang("commons_categories"))->setArrKeyValues($arrKeyValues); } if (class_module_system_setting::getConfigValue("_news_news_datetime_") == "true") { $this->addField(new class_formentry_datetime($this->getStrFormname(), "objDateStart", $objNews), "datestart")->setBitMandatory(true)->setStrLabel($this->getLang("form_news_datestart")); $this->addField(new class_formentry_datetime($this->getStrFormname(), "objDateEnd", $objNews), "dateend")->setStrLabel($this->getLang("form_news_dateend")); $this->addField(new class_formentry_datetime($this->getStrFormname(), "objDateSpecial", $objNews), "datespecial")->setStrLabel($this->getLang("form_news_datespecial")); } }
/** * @inheritDoc */ public function generateFieldsFromObject() { parent::generateFieldsFromObject(); /** @var class_module_news_category[] $arrNewsCats */ $arrNewsCats = class_module_news_category::getObjectList(); $arrCatsDD = array(); foreach ($arrNewsCats as $objOneCat) { $arrCatsDD[$objOneCat->getSystemid()] = $objOneCat->getStrTitle(); } $arrCatsDD["0"] = $this->getLang("commons_all_categories"); $this->getField("cat")->setArrKeyValues($arrCatsDD); }
/** * 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; }
public function getAdminForm() { $objForm = parent::getAdminForm(); $arrRawCats = class_module_news_category::getObjectList(); $arrCats = array(); $arrCats[0] = $this->getLang("commons_all_categories"); foreach ($arrRawCats as $objOneCat) { $arrCats[$objOneCat->getSystemid()] = $objOneCat->getStrTitle(); } $objForm->getField("category")->setArrKeyValues($arrCats); return $objForm; }
/** * Returns a xml-based representation of all categories available * Return format: * <categories> * <category> * <title></title> * <systemid></systemid> * </category> * </categories> * * @return string * @xml */ protected function actionListCategories() { $strReturn = ""; if ($this->getObjModule()->rightView()) { /** @var class_module_news_category[] $arrCategories */ $arrCategories = class_module_news_category::getObjectList(); $strReturn .= "<categories>\n"; foreach ($arrCategories as $objOneCategory) { if ($objOneCategory->rightView()) { $strReturn .= " <category>\n"; $strReturn .= " <title>" . xmlSafeString($objOneCategory->getStrTitle()) . "</title>"; $strReturn .= " <systemid>" . $objOneCategory->getSystemid() . "</systemid>"; $strReturn .= " </category>\n"; } } $strReturn .= "</categories>\n"; } else { $strReturn = "<error>" . $this->getLang("commons_error_permissions") . "</error>"; } return $strReturn; }