. */ namespace SP\Mgmt\Groups; defined('APP_ROOT') || die(); use SP\DataModel\ItemSearchData; use SP\Mgmt\ItemSearchInterface; use SP\Storage\DbWrapper; use SP\Storage\QueryData; /** * Class GroupSearch * * @package SP\Mgmt\Groups */ class GroupSearch extends GroupBase implements ItemSearchInterface { /** * @param ItemSearchData $SearchData * @return mixed */ public function getMgmtSearch(ItemSearchData $SearchData) { $Data = new QueryData(); $Data->setMapClassName($this->getDataModel()); $Data->setSelect('usergroup_id, usergroup_name, usergroup_description'); $Data->setFrom('usrGroups'); $Data->setOrder('usergroup_name'); if ($SearchData->getSeachString() !== '') { $Data->setWhere('usergroup_name LIKE ? OR usergroup_description LIKE ?'); $search = '%' . $SearchData->getSeachString() . '%'; $Data->addParam($search); $Data->addParam($search); } $Data->setLimit('?,?'); $Data->addParam($SearchData->getLimitStart()); $Data->addParam($SearchData->getLimitCount()); DbWrapper::setFullRowCount(); $queryRes = DbWrapper::getResultsArray($Data); $queryRes['count'] = $Data->getQueryNumRows(); return $queryRes; } }