} $oNewsletters->setOrder("welcome DESC, " . $_REQUEST["sortby"] . " " . $_REQUEST["sortorder"]); $oNewsletters->query(); // Output data $oMenu = new UI_Menu(); $iMenu = 0; // Store messages for repeated use (speeds performance, as i18n translation is only needed once) $aMsg = array(); $aMsg["DelTitle"] = i18n("Delete newsletter", $plugin_name); $aMsg["DelDescr"] = i18n("Do you really want to delete the following newsletter:<br />", $plugin_name); $aMsg["SendTestTitle"] = i18n("Send test newsletter", $plugin_name); $aMsg["SendTestTitleOff"] = i18n("Send test newsletter (disabled, check newsletter sender e-mail address and handler article selection)", $plugin_name); $aMsg["AddJobTitle"] = i18n("Add newsletter dispatch job", $plugin_name); $aMsg["AddJobTitleOff"] = i18n("Add newsletter dispatch job (disabled, check newsletter sender e-mail address and handler article selection)", $plugin_name); $aMsg["CopyTitle"] = i18n("Duplicate newsletter", $plugin_name); while ($oNewsletter = $oNewsletters->next()) { $idnewsletter = $oNewsletter->get("idnews"); $iMenu++; $sName = $oNewsletter->get("name"); if ($oNewsletter->get("welcome")) { $sName = $sName . "*"; } // Create the link to show/edit the newsletter $oLnk = new cHTMLLink(); $oLnk->setMultiLink($area, "", $area, ""); $oLnk->setCustom("idnewsletter", $idnewsletter); $oMenu->setTitle($iMenu, $sName); $oMenu->setLink($iMenu, $oLnk); if ($perm->have_perm_area_action($area, "news_add_job") || $perm->have_perm_area_action($area, "news_create") || $perm->have_perm_area_action($area, "news_save")) { // Rights: If you are able to add a job, you should be able to test it // If you are able to add or change a newsletter, you should be able to test it
/** * Overriden store()-Method to set modified and modifiedby data and * to ensure, that there is only one welcome newsletter */ public function store() { global $client, $lang, $auth; $client = Contenido_Security::toInteger($client); $lang = Contenido_Security::toInteger($lang); $this->set("modified", date("Y-m-d H:i:s"), false); $this->set("modifiedby", $auth->auth["uid"]); if ($this->get("welcome") == 1) { $oItems = new NewsletterCollection(); $oItems->setWhere("idclient", $client); $oItems->setWhere("idlang", $lang); $oItems->setWhere("welcome", 1); $oItems->setWhere("idnews", $this->get("idnews"), "<>"); $oItems->query(); while ($oItem = $oItems->next()) { $oItem->set("welcome", 0); $oItem->store(); } unset($oItem); unset($oItems); } parent::store(); }