[FEATURE] Drop character set conversions 33/51233/3
authorStanislas Rolland <typo3@sjbr.ca>
Tue, 10 Jan 2017 06:30:46 +0000 (01:30 -0500)
committerStanislas Rolland <typo3@sjbr.ca>
Tue, 10 Jan 2017 06:35:28 +0000 (07:35 +0100)
Change-Id: I93d1c5d53ce120e3dd4fbc3928e88ab60d270b78
Resolves: #79231
Reviewed-on: https://review.typo3.org/51233
Reviewed-by: Stanislas Rolland <typo3@sjbr.ca>
Tested-by: Stanislas Rolland <typo3@sjbr.ca>
ChangeLog
Classes/Utility/HtmlElementUtility.php
Classes/Utility/LocalizationUtility.php
class.tx_staticinfotables_encoding.php [deleted file]

index 1ee0ef9..41e4a41 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@
        * Resolves #79229: Migrate suggest receiver to Doctrine
        * Follow-up to Resolves #79209: Migrate update script to Doctrine
        * Resolves #79230: Migrate ProcessDataMap hook to Doctrine
+       * Resolves #79231: Drop character set conversions
 
 2017-01-08  Stanislas Rolland  <typo3(arobas)sjbr.ca>
 
index 37a3fca..fa04faa 100644 (file)
@@ -1,32 +1,33 @@
 <?php
 namespace SJBR\StaticInfoTables\Utility;
+
 /***************************************************************
-*  Copyright notice
-*
-*  (c) 2013 StanislasRolland <typo3@sjbr.ca>
-*  All rights reserved
-*
-*  This script is part of the Typo3 project. The Typo3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
+ *  Copyright notice
+ *
+ *  (c) 2013-2017 StanislasRolland <typo3@sjbr.ca>
+ *  All rights reserved
+ *
+ *  This script is part of the Typo3 project. The Typo3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
 /**
  * HTML form element utility functions
  */
-class HtmlElementUtility {
-
+class HtmlElementUtility
+{
        /**
         * Buils a HTML drop-down selector of countries, country subdivisions, currencies or languages
         *
@@ -45,12 +46,11 @@ class HtmlElementUtility {
                $selector = '';
                if (is_array($items) && count($items) > 0) {
 
-                       $renderCharset = TYPO3_MODE === 'FE' ? $GLOBALS['TSFE']->renderCharset : 'utf-8';
-                       $idAttribute = (trim($id)) ? 'id="' . htmlspecialchars(trim($id), ENT_COMPAT, $renderCharset) . '" ' : '';
-                       $nameAttribute = (trim($name)) ? 'name="' . htmlspecialchars(trim($name), ENT_COMPAT, $renderCharset) . '" ' : '';
-                       $titleAttribute = (trim($title)) ? 'title="' . htmlspecialchars(trim($title), ENT_COMPAT, $renderCharset) . '" ' : '';
-                       $classAttribute = (trim($class)) ? 'class="' . htmlspecialchars(trim($class), ENT_COMPAT, $renderCharset) . '" ' : '';
-       
+                       $idAttribute = (trim($id)) ? 'id="' . htmlspecialchars(trim($id)) . '" ' : '';
+                       $nameAttribute = (trim($name)) ? 'name="' . htmlspecialchars(trim($name)) . '" ' : '';
+                       $titleAttribute = (trim($title)) ? 'title="' . htmlspecialchars(trim($title)) . '" ' : '';
+                       $classAttribute = (trim($class)) ? 'class="' . htmlspecialchars(trim($class)) . '" ' : '';
+
                        if ($onChange) {
                                $onChangeAttribute = $onChange;
                                $onChangeAttribute = str_replace('"', '\'', $onChangeAttribute);
@@ -59,7 +59,7 @@ class HtmlElementUtility {
                        } else {
                                $onChangeAttribute = '';
                        }
-       
+
                        if ($size > 1) {
                                $multiple = 'multiple="multiple" ';
                                $name .= '[]';
@@ -82,7 +82,8 @@ class HtmlElementUtility {
         * @param array $outSelected: resulting array of keys of selected items
         * @return string A string of HTML <option> tags
         */
-       public static function optionsConstructor ($items, $selected = array(), &$outSelected = array()) {
+       public static function optionsConstructor($items, $selected = array(), &$outSelected = array())
+       {
                $options = '';
                foreach ($items as $item) {
                        $options  .= '<option value="' . $item['value'] . '"';
@@ -90,7 +91,7 @@ class HtmlElementUtility {
                                $options  .= ' selected="selected"';
                                $outSelected[] = $item['value'];
                        }
-                       $options  .= '>' . LocalizationUtility::convertCharset($item['name'], 'utf-8') . '</option>' . LF;
+                       $options  .= '>' . $item['name'] . '</option>' . LF;
                }
                if (!isset($outSelected) || count($outSelected) == 0)   {
                        reset($items);
@@ -102,13 +103,13 @@ class HtmlElementUtility {
        /**
         * Quotes a string for usage as JS parameter.
         *
-        * @param       string          The string to encode.
-        * @return      string          The encoded value already quoted
+        * @param string The string to encode.
+        * @return string The encoded value already quoted
         */
-       protected static function quoteJsValue ($value) {
+       protected static function quoteJsValue($value)
+       {
                $value = addcslashes($value, '"' . LF . CR);
-               $value = htmlspecialchars($value, ENT_COMPAT, TYPO3_MODE === 'FE' ? $GLOBALS['TSFE']->renderCharset : 'utf-8');
+               $value = htmlspecialchars($value);
                return '"' . $value . '"';
        }
-}
-?>
\ No newline at end of file
+}
\ No newline at end of file
index 1e1e22d..6a77e1e 100644 (file)
@@ -1,10 +1,11 @@
 <?php
 namespace SJBR\StaticInfoTables\Utility;
+
 /***************************************************************
  *  Copyright notice
  *
  *  (c) 2009 Sebastian Kurfürst <sebastian@typo3.org>
- *  (c) 2013 Stanislas Rolland <typo3@sjbr.ca>
+ *  (c) 2013-2017 Stanislas Rolland <typo3@sjbr.ca>
  *  All rights reserved
  *
  *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -23,12 +24,15 @@ namespace SJBR\StaticInfoTables\Utility;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+
 /**
  * Localization helper which should be used to fetch localized labels for static info entities.
  *
  */
-class LocalizationUtility {
-
+class LocalizationUtility
+{
        /**
         * Key of the language to use
         *
@@ -58,15 +62,12 @@ class LocalizationUtility {
         * @param boolean local name only - if set local labels are returned
         * @return string The value from the label field of the table
         */
-       public static function translate ($identifiers, $tableName, $local = FALSE) {
-
+       public static function translate($identifiers, $tableName, $local = false)
+       {
                $value = '';
                self::setLanguageKeys();
                $isoLanguage = self::getIsoLanguageKey(self::$languageKey);
                $value = self::getLabelFieldValue($identifiers, $tableName, $isoLanguage, $local);
-               if ($value) {
-                       $value = self::convertCharset($value, 'utf-8');
-               }
                return $value;
        }
 
@@ -79,7 +80,8 @@ class LocalizationUtility {
         * @param boolean local name only - if set local labels are returned
         * @return string the value for the label field
         */
-       public static function getLabelFieldValue ($identifiers, $tableName, $language, $local = FALSE) {
+       public static function getLabelFieldValue($identifiers, $tableName, $language, $local = false)
+       {
                $value = '';
                $labelFields = self::getLabelFields($tableName, $language, $local);
                if (count($labelFields)) {
@@ -242,7 +244,7 @@ class LocalizationUtility {
                                        self::$alternativeLanguageKeys[] = $GLOBALS['TSFE']->config['config']['language_alt'];
                                } else {
                                        /** @var $locales \TYPO3\CMS\Core\Localization\Locales */
-                                       $locales = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Locales');
+                                       $locales = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Locales');
                                        if (in_array(self::$languageKey, $locales->getLocales())) {
                                                foreach ($locales->getLocaleDependencies(self::$languageKey) as $language) {
                                                        self::$alternativeLanguageKeys[] = $language;
@@ -254,7 +256,7 @@ class LocalizationUtility {
                        self::$languageKey = strlen($GLOBALS['BE_USER']->uc['lang']) > 0 ? $GLOBALS['BE_USER']->uc['lang'] : 'default';
                        // Get standard locale dependencies for the backend
                        /** @var $locales \TYPO3\CMS\Core\Localization\Locales */
-                       $locales = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Locales');
+                       $locales = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Locales');
                        if (in_array(self::$languageKey, $locales->getLocales())) {
                                foreach ($locales->getLocaleDependencies(self::$languageKey) as $language) {
                                        self::$alternativeLanguageKeys[] = $language;
@@ -275,7 +277,7 @@ class LocalizationUtility {
                if (self::$collatingLocale === '') {
                        $languageCode = self::getCurrentLanguage();
                        /** @var $objectManager \TYPO3\CMS\Extbase\Object\ObjectManager */
-                       $objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
+                       $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
                        /** @var $languageRepository SJBR\StaticInfoTables\Domain\Repository\LanguageRepository */
                        $languageRepository = $objectManager->get('SJBR\\StaticInfoTables\\Domain\\Repository\\LanguageRepository');
                        list($languageIsoCodeA2, $countryIsoCodeA2) = explode('_', $languageCode, 2);
@@ -292,20 +294,4 @@ class LocalizationUtility {
                        )
                );
        }
-
-       /**
-        * Converts a string from the specified character set to the current.
-        * The current charset is defined by the TYPO3 mode.
-        *
-        * @param string $value string to be converted
-        * @param string $charset The source charset
-        * @return string converted string
-        */
-       public static function convertCharset($value, $charset) {
-               if (TYPO3_MODE === 'FE') {
-                       return $GLOBALS['TSFE']->csConv($value, $charset);
-               } else {
-                       return $value;
-               }
-       }
 }
\ No newline at end of file
diff --git a/class.tx_staticinfotables_encoding.php b/class.tx_staticinfotables_encoding.php
deleted file mode 100644 (file)
index 7ee2db2..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2004-2007 René Fritz (r.fritz@colorcube.de)
-*  All rights reserved
-*
-*  This script is part of the Typo3 project. The Typo3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * Functions to convert the character encoding of the static info tables
- * * DEPRECATED * Used by language packs prior to Static Info Tables version 6
- *
- */
-class tx_staticinfotables_encoding {
-       /**
-        * Returns a selector box with charset encodings
-        *
-        * @deprecated since 6.0, will be removed two versions later - Language pack should be re-created
-        *
-        * @param       string          $elementName it the form elements name, probably something like "SET[...]"
-        * @param       string          $currentKey is the key to be selected currently.
-        * @param       string          $firstEntry is the key to be placed on top as first (default) entry.
-        * @param       string          $unsetEntries List of keys that should be removed (comma list).
-        * @return      string          HTML code for selector box
-        */
-       function getEncodingSelect ($elementName, $currentKey, $firstEntry='', $unsetEntries='') {
-               \TYPO3\CMS\Core\Utility\GeneralUtility::logDeprecatedFunction();
-               $menuItems = array(
-                       'utf-8' => 'UTF-8',
-               );
-
-               if ($firstEntry && $menuItems[$firstEntry]) {
-                       $entry = array($firstEntry => $menuItems[$firstEntry]);
-                       unset($menuItems[$firstEntry]);
-                       $menuItems = array_merge($entry, $menuItems);
-               }
-
-               $unsetEntries = explode(',', $unsetEntries);
-               foreach($unsetEntries as $entry) {
-                       unset($menuItems[$entry]);
-               }
-
-               $options = array();
-               foreach($menuItems as $value => $label) {
-                       $options[] = '<option value="'.htmlspecialchars($value).'"'.(!strcmp($currentKey,$value)?' selected="selected"':'').'>'.
-                                                       \TYPO3\CMS\Core\Utility\GeneralUtility::deHSCentities(htmlspecialchars($label)).
-                                                       '</option>';
-               }
-               if (count($options)) {
-                       return '
-
-                                       <!-- charset encoding menu -->
-                                       <select name="'.$elementName.'">
-                                               '.implode('
-                                               ',$options).'
-                                       </select>
-                                               ';
-               }
-       }
-}
-?>
\ No newline at end of file