// Default sort by field, possible values see above $_REQUEST["searchin"] = "--all--"; // Free memory unset($oUser); unset($oClient); ################################## # Get data ################################## $oRcpGroups = new RecipientGroupCollection(); $oRcpGroups->setWhere("idclient", $client); $oRcpGroups->setWhere("idlang", $lang); if ($_REQUEST["filter"] != "") { if ($_REQUEST["searchin"] == "--all--" || $_REQUEST["searchin"] == "") { foreach ($aFields as $sKey => $aData) { if (strpos($aData["type"], "search") !== false) { $oRcpGroups->setWhereGroup("filter", $aData["field"], $_REQUEST["filter"], "LIKE"); } } $oRcpGroups->setInnerGroupCondition("filter", "OR"); } else { $oRcpGroups->setWhere($_REQUEST["searchin"], $_REQUEST["filter"], "LIKE"); } } if ($_REQUEST["elemperpage"] > 0) { // Getting item count without limit (for page function) - better idea anyone (performance)? $oRcpGroups->query(); $iItemCount = $oRcpGroups->count(); if ($_REQUEST["elemperpage"] * $_REQUEST["page"] >= $iItemCount + $_REQUEST["elemperpage"] && $_REQUEST["page"] != 1) { $_REQUEST["page"]--; } $oRcpGroups->setLimit($_REQUEST["elemperpage"] * ($_REQUEST["page"] - 1), $_REQUEST["elemperpage"]);