public function getSearchViewList($module, $view) { $currentUser = Users_Record_Model::getCurrentUserModel(); $db = PearDatabase::getInstance(); $queryGenerator = new QueryGenerator($module, $currentUser); $meta = $queryGenerator->getMeta($module); $baseTable = $meta->getEntityBaseTable(); $tableIndexList = $meta->getEntityTableIndexList(); $baseTableIndex = $tableIndexList[$baseTable]; $queryGenerator->initForCustomViewById($view); $queryGenerator->setFields([]); $queryGenerator->setCustomColumn('userid'); $queryGenerator->setCustomFrom(['joinType' => 'INNER', 'relatedTable' => 'u_yf_crmentity_showners', 'relatedIndex' => 'crmid', 'baseTable' => $baseTable, 'baseIndex' => $baseTableIndex]); $listQuery = $queryGenerator->getQuery('SELECT DISTINCT'); $result = $db->query($listQuery); $users = $group = []; while ($id = $db->getSingleValue($result)) { $name = self::getUserName($id); if ($name !== false) { $users[$id] = $name; continue; } $name = self::getGroupName($id); if ($name !== false) { $group[$id] = $name; continue; } } asort($users); asort($group); return ['users' => $users, 'group' => $group]; }