From 7af008ff156480fedae42c5de9a5f850c1c7638f Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Wed, 24 Aug 2016 20:21:43 +0200 Subject: [PATCH] [BUGFIX] ext:dbal: Remove obsolete xclass Method makeSearchString() in DatabaseRecordList has been migrated to doctrine and is thus dbal compatible. The registered xclass from ext:dbal can be dropped. Change-Id: I8599fda63c397e77207f210e5e9b7c789e0f9a83 Resolves: #77623 Releases: master Reviewed-on: https://review.typo3.org/49581 Tested-by: Bamboo TYPO3com <info@typo3.com> Reviewed-by: Benni Mack <benni@typo3.org> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Georg Ringer <georg.ringer@gmail.com> Tested-by: Georg Ringer <georg.ringer@gmail.com> --- .../Classes/RecordList/DatabaseRecordList.php | 71 ------------------- typo3/sysext/dbal/ext_localconf.php | 1 - 2 files changed, 72 deletions(-) delete mode 100644 typo3/sysext/dbal/Classes/RecordList/DatabaseRecordList.php diff --git a/typo3/sysext/dbal/Classes/RecordList/DatabaseRecordList.php b/typo3/sysext/dbal/Classes/RecordList/DatabaseRecordList.php deleted file mode 100644 index f84fa684751e..000000000000 --- a/typo3/sysext/dbal/Classes/RecordList/DatabaseRecordList.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php -namespace TYPO3\CMS\Dbal\RecordList; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Child class for rendering of Web > List (not the final class) - */ -class DatabaseRecordList extends \TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList -{ - /** - * Creates part of query for searching after a word ($this->searchString) fields in input table - * - * DBAL specific: no LIKE for numeric fields, in this case "uid" (breaks on Oracle) - * no LIKE for BLOB fields, skip - * - * @param string $table, in which the fields are being searched. - * @param int $currentPid argument not used in this method, only available for compatibility to parent class - * @return string Returns part of WHERE-clause for searching, if applicable. - */ - public function makeSearchString($table, $currentPid = -1) - { - // Make query, only if table is valid and a search string is actually defined: - if ($GLOBALS['TCA'][$table] && $this->searchString) { - // Initialize field array: - $sfields = array(); - $or = ''; - // add the uid only if input is numeric, cast to int - if (is_numeric($this->searchString)) { - $queryPart = ' AND (uid=' . (int)$this->searchString . ' OR '; - } else { - $queryPart = ' AND ('; - } - if ($GLOBALS['TYPO3_DB']->runningADOdbDriver('oci8')) { - foreach ($GLOBALS['TCA'][$table]['columns'] as $fieldName => $info) { - if ($GLOBALS['TYPO3_DB']->cache_fieldType[$table][$fieldName]['metaType'] === 'B') { - } elseif ($info['config']['type'] === 'text' || $info['config']['type'] === 'input' && !preg_match('/date|time|int/', $info['config']['eval'])) { - $queryPart .= $or . $fieldName . ' LIKE \'%' . $GLOBALS['TYPO3_DB']->quoteStr($this->searchString, $table) . '%\''; - $or = ' OR '; - } - } - } else { - // Traverse the configured columns and add all columns that can be searched - foreach ($GLOBALS['TCA'][$table]['columns'] as $fieldName => $info) { - if ($info['config']['type'] === 'text' || $info['config']['type'] === 'input' && !preg_match('/date|time|int/', $info['config']['eval'])) { - $sfields[] = $fieldName; - } - } - // If search-fields were defined (and there always are) we create the query: - if (!empty($sfields)) { - $like = ' LIKE \'%' . $GLOBALS['TYPO3_DB']->quoteStr($this->searchString, $table) . '%\''; - // Free-text - $queryPart .= implode(($like . ' OR '), $sfields) . $like; - } - } - // Return query: - return $queryPart . ')'; - } - } -} diff --git a/typo3/sysext/dbal/ext_localconf.php b/typo3/sysext/dbal/ext_localconf.php index 499b7ed5c932..5cc05d66c418 100644 --- a/typo3/sysext/dbal/ext_localconf.php +++ b/typo3/sysext/dbal/ext_localconf.php @@ -2,7 +2,6 @@ defined('TYPO3_MODE') or die(); $GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][\TYPO3\CMS\Core\Database\DatabaseConnection::class] = array('className' => \TYPO3\CMS\Dbal\Database\DatabaseConnection::class); -$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'][\TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList::class] = array('className' => \TYPO3\CMS\Dbal\RecordList\DatabaseRecordList::class); // Register caches if not already done in localconf.php or a previously loaded extension. if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['dbal'])) { -- GitLab