/** * 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; }