Exemple #1
0
 /**
  * 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;
 }