$oNewsletters->setWhere("idlang", $lang);
if ($_REQUEST["filter"] != "") {
    if ($_REQUEST["searchin"] == "--all--" || $_REQUEST["searchin"] == "") {
        foreach ($aFields as $sKey => $aData) {
            if (strpos($aData["type"], "search") !== false) {
                $oNewsletters->setWhereGroup("filter", $aData["field"], $_REQUEST["filter"], "LIKE");
            }
        }
        $oNewsletters->setInnerGroupCondition("filter", "OR");
    } else {
        $oNewsletters->setWhere($_REQUEST["searchin"], $_REQUEST["filter"], "LIKE");
    }
}
if ($_REQUEST["elemperpage"] > 0) {
    // Getting item count without limit (for page function) - better idea anyone (performance)?
    $oNewsletters->query();
    $iItemCount = $oNewsletters->count();
    if ($_REQUEST["elemperpage"] * $_REQUEST["page"] >= $iItemCount + $_REQUEST["elemperpage"] && $_REQUEST["page"] != 1) {
        $_REQUEST["page"]--;
    }
    $oNewsletters->setLimit($_REQUEST["elemperpage"] * ($_REQUEST["page"] - 1), $_REQUEST["elemperpage"]);
} else {
    $iItemCount = 0;
}
$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();
 /**
  * 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();
 }