Esempio n. 1
0
 /**
  * Search
  *
  * @return string
  */
 public function search()
 {
     $SET = $GLOBALS['SOBE']->MOD_SETTINGS;
     $swords = $SET['sword'];
     $out = '';
     $limit = 200;
     if ($swords) {
         foreach ($GLOBALS['TCA'] as $table => $value) {
             // Get fields list
             $conf = $GLOBALS['TCA'][$table];
             // Avoid querying tables with no columns
             if (empty($conf['columns'])) {
                 continue;
             }
             $fieldsInDatabase = $this->databaseConnection->admin_get_fields($table);
             $list = array_intersect(array_keys($conf['columns']), array_keys($fieldsInDatabase));
             // Get query
             $qp = $this->databaseConnection->searchQuery(array($swords), $list, $table);
             // Count:
             $count = $this->databaseConnection->exec_SELECTcountRows('*', $table, $qp . BackendUtility::deleteClause($table));
             if ($count) {
                 $rowArr = array();
                 $res = $this->databaseConnection->exec_SELECTquery('uid,' . $conf['ctrl']['label'], $table, $qp . BackendUtility::deleteClause($table), '', '', $limit);
                 $lrow = null;
                 while ($row = $this->databaseConnection->sql_fetch_assoc($res)) {
                     $rowArr[] = $this->resultRowDisplay($row, $conf, $table);
                     $lrow = $row;
                 }
                 $this->databaseConnection->sql_free_result($res);
                 $markup = [];
                 $markup[] = '<div class="panel panel-default">';
                 $markup[] = '  <div class="panel-heading">';
                 $markup[] = $this->languageService->sL($conf['ctrl']['title'], true) . ' (' . $count . ')';
                 $markup[] = '  </div>';
                 $markup[] = '  <table class="table table-striped table-hover">';
                 $markup[] = $this->resultRowTitles($lrow, $conf, $table);
                 $markup[] = '  </table>';
                 $markup[] = '</div>';
                 $out .= implode(LF, $markup);
             }
         }
     }
     return $out;
 }