[TASK] Remove "Clear language cache" menu item 77/24077/4
authorChristian Kuhn <lolli@schwarzbu.ch>
Thu, 26 Sep 2013 16:46:29 +0000 (18:46 +0200)
committerWouter Wolters <typo3@wouterwolters.nl>
Thu, 26 Sep 2013 21:45:00 +0000 (23:45 +0200)
* To show the item, SYS/lang/cache/clear_menu has to be manually
enabled, and a (not documented) userTSconfig option must be set.
* The item *never* worked since the underlying LanguageCacheClearer
class expects an array with cacheCmd set to either "all" or
"temp_cached", that is not set in the according AJAX call of the
menu action.
* Class LanguageCacheClearer hooks into DataHandler and is only
triggered on clear "all" cache.
* Clearing "all" cache flushes all caches anyway, so the hook
currently triggers flushing the language cache a second time.
* SYS/lang/cache/lifetime is unused and can be removed.

Since the functionality is broken, not documented, obsolete and
"internal" code of ext:lang, the whole thing is removed without
further deprecation.

Change-Id: Ic0d19bf31109832c9ed88d81d883516c109cf47e
Resolves: #52312
Releases: 6.2
Reviewed-on: https://review.typo3.org/24077
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Migrations/Code/LegacyClassesForIde.php
typo3/sysext/lang/Classes/ClearLanguageCacheMenuItem.php [deleted file]
typo3/sysext/lang/Classes/LanguageCacheClearer.php [deleted file]
typo3/sysext/lang/Migrations/Code/ClassAliasMap.php
typo3/sysext/lang/ext_localconf.php

index 11bfa0f..d12857e 100644 (file)
@@ -57,10 +57,6 @@ return array(
        'SYS' => array(
                // System related concerning both frontend and backend.
                'lang' => array(
-                       'cache' => array(
-                               'lifetime' => 86400,
-                               'clear_menu' => FALSE
-                       ),
                        'format' => array(
                                'priority' => 'xlf,xml,php'
                        ),
@@ -770,4 +766,4 @@ return array(
        ),
        'SVCONF' => array()
 );
-?>
\ No newline at end of file
+?>
index 5e89818..ce60316 100644 (file)
@@ -5509,16 +5509,6 @@ class Tx_Install_Updates_File_TtContentUploadsUpdateWizard extends \TYPO3\CMS\In
 /**
  * @deprecated since 6.0 will be removed in 7.0
  */
-class tx_lang_clearcachemenu extends \TYPO3\CMS\Lang\ClearLanguageCacheMenuItem {}
-
-/**
- * @deprecated since 6.0 will be removed in 7.0
- */
-class tx_lang_clearcache extends \TYPO3\CMS\Lang\LanguageCacheClearer {}
-
-/**
- * @deprecated since 6.0 will be removed in 7.0
- */
 class language extends \TYPO3\CMS\Lang\LanguageService {}
 
 /**
diff --git a/typo3/sysext/lang/Classes/ClearLanguageCacheMenuItem.php b/typo3/sysext/lang/Classes/ClearLanguageCacheMenuItem.php
deleted file mode 100644 (file)
index 61afa86..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-namespace TYPO3\CMS\Lang;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2007-2013 Dominique Feyer <dominique.feyer@reelpeek.net>
- *  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.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  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!
- ***************************************************************/
-/**
- * Extending class to render the menu for the cache clearing actions, and adding Clear lang/l10n cache option
- *
- * @author Dominique Feyer <dominique.feyer@reelpeek.net>
- */
-class ClearLanguageCacheMenuItem implements \TYPO3\CMS\Backend\Toolbar\ClearCacheActionsHookInterface {
-
-       /**
-        * Add cache menu item
-        *
-        * @param array $cacheActions
-        * @param array $optionValues
-        * @return void
-        */
-       public function manipulateCacheActions(&$cacheActions, &$optionValues) {
-               if ($GLOBALS['BE_USER']->isAdmin() || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.clearLangCache')) {
-                       // Add new cache menu item
-                       $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/hooks/clearcache/locallang.xlf:title');
-                       $cacheActions[] = array(
-                               'id' => 'clearLangCache',
-                               'title' => $title,
-                               'href' => $GLOBALS['BACK_PATH'] . 'ajax.php?ajaxID=lang::clearCache',
-                               'icon' => '<span class="t3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-cache-clear-impact-low"></span>'
-                       );
-                       $optionValues[] = 'clearLangCache';
-               }
-       }
-
-}
-
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/lang/Classes/LanguageCacheClearer.php b/typo3/sysext/lang/Classes/LanguageCacheClearer.php
deleted file mode 100644 (file)
index f7950cf..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-namespace TYPO3\CMS\Lang;
-
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2008-2013 Dominique Feyer <dominique.feyer@reelpeek.net>
- *  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.
- *  A copy is found in the textfile GPL.txt and important notices to the license
- *  from the author is found in LICENSE.txt distributed with these scripts.
- *
- *
- *  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!
- ***************************************************************/
-/**
- * Class to clear temp files of htmlArea RTE
- *
- * @author Dominique Feyer <dominique.feyer@reelpeek.net>
- */
-class LanguageCacheClearer {
-
-       /**
-        * @var \TYPO3\CMS\Core\Cache\Frontend\StringFrontend
-        */
-       protected $cacheInstance;
-
-       /**
-        * Constructor
-        */
-       public function __construct() {
-               $this->initializeCache();
-       }
-
-       /**
-        * Initialize cache instance to be ready to use
-        *
-        * @return void
-        */
-       protected function initializeCache() {
-               $this->cacheInstance = $GLOBALS['typo3CacheManager']->getCache('t3lib_l10n');
-       }
-
-       /**
-        * Flush the l10n cache if the clear cache command "all" or "temp_cached" is given.
-        *
-        * @param array $parameters Parameters as defined in DataHandler
-        * @return void
-        */
-       public function clearCache(array $parameters) {
-               $isValidCall = (
-                       !empty($parameters['cacheCmd'])
-                       && \TYPO3\CMS\Core\Utility\GeneralUtility::inList('all,temp_cached', $parameters['cacheCmd'])
-               );
-
-               if (isset($GLOBALS['BE_USER']) && $isValidCall) {
-                       $GLOBALS['BE_USER']->writelog(3, 1, 0, 0, '[lang]: User %s has cleared the language cache', array($GLOBALS['BE_USER']->user['username']));
-                       $this->cacheInstance->flush();
-               }
-       }
-
-}
-
-
-?>
\ No newline at end of file
index af75bb5..6e731c1 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 return array(
-       'tx_lang_clearcachemenu' => 'TYPO3\\CMS\\Lang\\ClearLanguageCacheMenuItem',
-       'tx_lang_clearcache' => 'TYPO3\\CMS\\Lang\\LanguageCacheClearer',
        'language' => 'TYPO3\\CMS\\Lang\\LanguageService',
 );
 ?>
\ No newline at end of file
index a3fc91a..a71c6be 100644 (file)
@@ -3,16 +3,6 @@ if (!defined('TYPO3_MODE')) {
        die('Access denied.');
 }
 
-if (isset($GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['cache']['clear_menu']) && $GLOBALS['TYPO3_CONF_VARS']['SYS']['lang']['cache']['clear_menu']) {
-       // Register Clear Cache Menu hook
-       $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['additionalBackendItems']['cacheActions']['clearLangCache'] = 'TYPO3\CMS\Lang\ClearLanguageCacheMenuItem';
-} else {
-       // Clear l10n cache when the user clears all caches
-       $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc']['clearLangCache'] = 'TYPO3\CMS\Lang\LanguageCacheClearer->clearCache';
-}
-// Register Ajax call
-$GLOBALS['TYPO3_CONF_VARS']['BE']['AJAX']['lang::clearCache'] = 'TYPO3\CMS\Lang\LanguageCacheClearer->clearCache';
-
 // Register language update command controller
 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'][] = 'TYPO3\\CMS\\Lang\\Command\\UpdateCommandController';
 ?>
\ No newline at end of file