/**
  * @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);
 }
Exemplo n.º 3
0
 /**
  * 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;
 }