/** * Find records from database based on the given $searchQuery. * * @param string $searchQuery * @return array Result list of database search. */ public function find($searchQuery) { $recordArray = []; $pageList = []; $mounts = $GLOBALS['BE_USER']->returnWebmounts(); foreach ($mounts as $pageId) { $pageList[] = $this->getAvailablePageIds($pageId, self::RECURSIVE_PAGE_LEVEL); } $pageIdList = array_unique(explode(',', implode(',', $pageList))); unset($pageList); if ($this->queryParser->isValidCommand($searchQuery)) { $this->setQueryString($this->queryParser->getSearchQueryValue($searchQuery)); $tableName = $this->queryParser->getTableNameFromCommand($searchQuery); if ($tableName) { $recordArray[] = $this->findByTable($tableName, $pageIdList, $this->startCount, $this->limitCount); } } else { $this->setQueryString($searchQuery); $recordArray = $this->findByGlobalTableList($pageIdList); } return $recordArray; }