foreach ($aFields as $sKey => $aData) { if (strpos($aData["type"], "search") !== false) { $oInsiders->setWhereGroup("filter", "recipientcollection." . $aData["field"], $_REQUEST["member_filter"], "LIKE"); } } $oInsiders->setInnerGroupCondition("filter", "OR"); } else { $oInsiders->setWhere("recipientcollection." . $_REQUEST["member_searchin"], $_REQUEST["member_filter"], "LIKE"); } } // If elemperpage is something else than "all", get item count based on filters if ($_REQUEST["member_elemperpage"] > 0) { $oInsiders->query(); $iMembers = $oInsiders->count(); // Getting item count without limit (for page function) - better idea anybody (performance)? $oInsiders->setLimit($_REQUEST["member_elemperpage"] * ($_REQUEST["member_page"] - 1), $_REQUEST["member_elemperpage"]); } else { $iMembers = 0; } // Get data $sSortSQL = "recipientcollection." . $_REQUEST["member_sortby"] . " " . $_REQUEST["member_sortorder"]; if ($_REQUEST["member_sortby"] == "name") { // Name field may be empty, add email as sort criteria $sSortSQL .= ", email " . $_REQUEST["member_sortorder"]; } $oInsiders->setOrder($sSortSQL); $oInsiders->query(); $iItems = $oInsiders->count(); if ($iItems == 0 && $_REQUEST["member_filter"] == "" && ($_REQUEST["member_elemperpage"] == 0 || $iMembers == 0)) { $oAddedRecipientList->setCell(1, 1, i18n("No recipients are added to this group yet", $plugin_name)); $oAddedRecipientList->setCell(1, 2, ' ');
} } $oRecipients->setInnerGroupCondition("filter", "OR"); } else { $oRecipients->setWhere("recipientcollection." . $_REQUEST["searchin"], $_REQUEST["filter"], "LIKE"); } } // Items / page if ($_REQUEST["elemperpage"] > 0) { // Getting item count without limit (for page function) - better idea anyone (performance)? $oRecipients->query(); $iItemCount = $oRecipients->count(); if ($_REQUEST["elemperpage"] * $_REQUEST["page"] >= $iItemCount + $_REQUEST["elemperpage"] && $_REQUEST["page"] != 1) { $_REQUEST["page"]--; } $oRecipients->setLimit($_REQUEST["elemperpage"] * ($_REQUEST["page"] - 1), $_REQUEST["elemperpage"]); } else { $iItemCount = 0; } $oRecipients->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 recipient", $plugin_name); $aMsg["DelDescr"] = i18n("Do you really want to delete the following recipient:<br />", $plugin_name); while ($oRecipient = $oRecipients->next()) { $iMenu++; $idnewsrcp = $oRecipient->get("idnewsrcp"); $sName = $oRecipient->get("name");