diff --git a/typo3/sysext/core/Classes/Database/QueryView.php b/typo3/sysext/core/Classes/Database/QueryView.php index dac343db92616750b14d23c114d144f8e789df04..746ac85abba05781d44966c66a61e5b89e2dd2b6 100644 --- a/typo3/sysext/core/Classes/Database/QueryView.php +++ b/typo3/sysext/core/Classes/Database/QueryView.php @@ -23,6 +23,7 @@ use TYPO3\CMS\Core\Imaging\Icon; use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Messaging\FlashMessage; use TYPO3\CMS\Core\Messaging\FlashMessageRendererResolver; +use TYPO3\CMS\Core\Utility\CsvUtility; use TYPO3\CMS\Core\Utility\DebugUtility; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -575,7 +576,7 @@ class QueryView $valueArray[$key] = $this->getProcessedValueExtra($table, $key, $val, $conf, ';'); } } - return GeneralUtility::csvValues($valueArray, $delim, $quote); + return CsvUtility::csvValues($valueArray, $delim, $quote); } /** diff --git a/typo3/sysext/core/Classes/Utility/CsvUtility.php b/typo3/sysext/core/Classes/Utility/CsvUtility.php index ee1557010b7d14e30c953e603e6fc0a1ea1dec77..daf8e7f4b62f775bb0235adac4df06dc9e339b67 100644 --- a/typo3/sysext/core/Classes/Utility/CsvUtility.php +++ b/typo3/sysext/core/Classes/Utility/CsvUtility.php @@ -67,4 +67,21 @@ class CsvUtility return $multiArray; } + + /** + * Takes a row and returns a CSV string of the values with $delim (default is ,) and $quote (default is ") as separator chars. + * + * @param array $row Input array of values + * @param string $delim Delimited, default is comma + * @param string $quote Quote-character to wrap around the values. + * @return string A single line of CSV + */ + public static function csvValues(array $row, $delim = ',', $quote = '"') + { + $out = []; + foreach ($row as $value) { + $out[] = str_replace($quote, $quote . $quote, $value); + } + return $quote . implode($quote . $delim . $quote, $out) . $quote; + } } diff --git a/typo3/sysext/core/Classes/Utility/GeneralUtility.php b/typo3/sysext/core/Classes/Utility/GeneralUtility.php index f7591a9f1fbd69f7ad0bcb2981b37b98283671b0..d3828c1a65b66197596e433840fc141dc8184559 100644 --- a/typo3/sysext/core/Classes/Utility/GeneralUtility.php +++ b/typo3/sysext/core/Classes/Utility/GeneralUtility.php @@ -1391,15 +1391,12 @@ class GeneralUtility * @param string $delim Delimited, default is comma * @param string $quote Quote-character to wrap around the values. * @return string A single line of CSV + * @deprecated since TYPO3 v8, will be removed in TYPO3 v9. */ public static function csvValues(array $row, $delim = ',', $quote = '"') { - $out = []; - foreach ($row as $value) { - $out[] = str_replace($quote, $quote . $quote, $value); - } - $str = $quote . implode(($quote . $delim . $quote), $out) . $quote; - return $str; + self::logDeprecatedFunction(); + return CsvUtility::csvValues($row, $delim, $quote); } /** diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-80451-DeprecateGeneralUtilitycsvValues.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-80451-DeprecateGeneralUtilitycsvValues.rst new file mode 100644 index 0000000000000000000000000000000000000000..103f1d32b3577c5bfda8273144ab1a237e45996e --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-80451-DeprecateGeneralUtilitycsvValues.rst @@ -0,0 +1,27 @@ +.. include:: ../../Includes.txt + +========================================================= +Deprecation: #80451 - Deprecate GeneralUtility::csvValues +========================================================= + +See :issue:`80451` + +Description +=========== + +The method :php:`GeneralUtility::csvValues()` has been marked as deprecated. + + +Impact +====== + +Calling the deprecated methods will trigger a deprecation log entry. + + +Migration +========= + +Use the new method :php:`CsvUtility::csvValues()` + + +.. index:: Backend, PHP-API diff --git a/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php b/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php index ebd219b2c16da36737f0b2ba543f514cce65f6d6..c2495342f2e66c5493dd1f1a584475970ea5f645 100644 --- a/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php +++ b/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php @@ -28,6 +28,7 @@ use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Messaging\FlashMessage; use TYPO3\CMS\Core\Messaging\FlashMessageService; use TYPO3\CMS\Core\Type\Bitmask\Permission; +use TYPO3\CMS\Core\Utility\CsvUtility; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Frontend\Page\PageRepository; @@ -2219,7 +2220,7 @@ class DatabaseRecordList extends AbstractDatabaseRecordList */ public function setCsvRow($csvRow) { - $this->csvLines[] = GeneralUtility::csvValues($csvRow); + $this->csvLines[] = CsvUtility::csvValues($csvRow); } /**