Fixed bug #15339: htmlArea RTE: tkr_rteanchors breaks the link editing dialogue
authorStanislas Rolland <typo3@sjbr.ca>
Mon, 27 Sep 2010 23:33:34 +0000 (23:33 +0000)
committerStanislas Rolland <typo3@sjbr.ca>
Mon, 27 Sep 2010 23:33:34 +0000 (23:33 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@8909 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/rtehtmlarea/ChangeLog
typo3/sysext/rtehtmlarea/ext_autoload.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/ext_emconf.php
typo3/sysext/rtehtmlarea/ext_localconf.php
typo3/sysext/rtehtmlarea/hooks/statusreport/conflictscheck.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/hooks/statusreport/ext_localconf.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/hooks/statusreport/locallang.xml [new file with mode: 0644]

index 52f6e4a..c27faeb 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * Fixed bug #15820: htmlArea RTE: Failure to install AllowClipboard Helper extension raises js error
        * Follow-up to bug #15820: htmlArea RTE: Failure to install AllowClipboard Helper extension raises js error
+       * Fixed bug #15339: htmlArea RTE: tkr_rteanchors breaks the link editing dialogue
 
 2010-09-27  Ernesto Baschny  <ernst@cron-it.de>
 
index 8c40e4a..24aa45e 100644 (file)
@@ -1,6 +1,7 @@
 2010-09-27  Stanislas Rolland  <typo3@sjbr.ca>
 
        * Fixed bug #15820: htmlArea RTE: Failure to install AllowClipboard Helper extension raises js error
+       * Fixed bug #15339: htmlArea RTE: tkr_rteanchors breaks the link editing dialogue
 
 2010-09-26  Stanislas Rolland  <typo3@sjbr.ca>
 
diff --git a/typo3/sysext/rtehtmlarea/ext_autoload.php b/typo3/sysext/rtehtmlarea/ext_autoload.php
new file mode 100644 (file)
index 0000000..fb01dfb
--- /dev/null
@@ -0,0 +1,6 @@
+<?php
+
+return array(
+       'tx_rtehtmlarea_statusreport_conflictscheck' => t3lib_extMgm::extPath('rtehtmlarea') . 'hooks/statusreport/conflictscheck.php',
+);
+?>
\ No newline at end of file
index d99edeb..90748ea 100644 (file)
@@ -42,6 +42,7 @@ $EM_CONF[$_EXTKEY] = array(
                ),
                'conflicts' => array(
                        'rte_conf' => '',
+                       'tkr_rteanchors' => '',
                ),
                'suggests' => array(
                        'rtehtmlarea_api_manual' => '',
index 586bd7c..4cb7f31 100644 (file)
@@ -63,7 +63,9 @@ t3lib_extMgm::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKE
 t3lib_extMgm::addUserTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/res/' . strtolower($TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['defaultConfiguration']) . '/userTSConfig.txt">');
 
        // Add Clear RTE Cache to Clear Cache menu
-require_once(t3lib_extMgm::extPath('rtehtmlarea').'hooks/clearrtecache/ext_localconf.php');
+require_once(t3lib_extMgm::extPath('rtehtmlarea') . 'hooks/clearrtecache/ext_localconf.php');
+       // Add Status Report about Conflicting Extensions
+require_once(t3lib_extMgm::extPath('rtehtmlarea') . 'hooks/statusreport/ext_localconf.php');
 
        // Troubleshooting and script compression
 $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['enableDebugMode'] = isset($_EXTCONF['enableDebugMode']) ? $_EXTCONF['enableDebugMode'] : 0;
diff --git a/typo3/sysext/rtehtmlarea/hooks/statusreport/conflictscheck.php b/typo3/sysext/rtehtmlarea/hooks/statusreport/conflictscheck.php
new file mode 100644 (file)
index 0000000..5a3b3fe
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 2010 Stanislas Rolland <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!
+***************************************************************/
+
+/**
+ * Hook into the backend module "Reports" checking whether there are extensions installed that conflicting with htmlArea RTE
+ *
+ * @version $Id: conflictscheck.php $
+ */
+class tx_rtehtmlarea_statusReport_conflictsCheck implements tx_reports_StatusProvider {
+       /**
+        * Compiles a collection of system status checks as a status report.
+        *
+        * @see typo3/sysext/reports/interfaces/tx_reports_StatusProvider::getStatus()
+        */
+       public function getStatus() {
+               $reports = array(
+                       'noConflictingExtensionISInstalled' => $this->checkIfNoConflictingExtensionIsInstalled()
+               );
+               return $reports;
+       }
+       /**
+        * Check whether any conflicting extension has been installed
+        *
+        * @return      tx_reports_reports_status_Status
+        */
+       protected function checkIfNoConflictingExtensionIsInstalled() {
+               $title = $GLOBALS['LANG']->sL('LLL:EXT:rtehtmlarea/hooks/statusreport/locallang.xml:title');
+               $conflictingExtensions = array();
+               if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['conflicts'])) {
+                       foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['conflicts'] as $extensionKey => $version) {
+                               if (t3lib_extMgm::isLoaded($extensionKey)) {
+                                       $conflictingExtensions[] = $extensionKey;
+                               }
+                       }
+               }
+               if (count($conflictingExtensions)) {
+                       $value = $GLOBALS['LANG']->sL('LLL:EXT:rtehtmlarea/hooks/statusreport/locallang.xml:keys') . ' ' . implode(', ', $conflictingExtensions);
+                       $message = $GLOBALS['LANG']->sL('LLL:EXT:rtehtmlarea/hooks/statusreport/locallang.xml:uninstall');
+                       $status = tx_reports_reports_status_Status::ERROR;
+               } else {
+                       $value = $GLOBALS['LANG']->sL('LLL:EXT:rtehtmlarea/hooks/statusreport/locallang.xml:none');
+                       $message = '';
+                       $status = tx_reports_reports_status_Status::OK;
+               }
+               return t3lib_div::makeInstance('tx_reports_reports_status_Status',
+                       $title,
+                       $value,
+                       $message,
+                       $status
+               );
+       }
+}
+?>
\ No newline at end of file
diff --git a/typo3/sysext/rtehtmlarea/hooks/statusreport/ext_localconf.php b/typo3/sysext/rtehtmlarea/hooks/statusreport/ext_localconf.php
new file mode 100644 (file)
index 0000000..f1e3489
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+if (!defined ('TYPO3_MODE')) die ('Access denied.');
+
+if (TYPO3_MODE == 'BE') {
+               // Take note of conflicting extensions
+       $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['conflicts'] = $EM_CONF[$_EXTKEY]['constraints']['conflicts'];
+               // Register Status Report Hook
+       $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['reports']['tx_reports']['status']['providers']['htmlArea RTE'][] = 'tx_rtehtmlarea_statusReport_conflictsCheck';
+}
+?>
\ No newline at end of file
diff --git a/typo3/sysext/rtehtmlarea/hooks/statusreport/locallang.xml b/typo3/sysext/rtehtmlarea/hooks/statusreport/locallang.xml
new file mode 100644 (file)
index 0000000..fc10c2f
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<T3locallang>
+       <meta type="array">
+               <generator>htmlArea RTE Status Report</generator>
+               <type>module</type>
+               <description>Check whether any conflicting extension is installed</description>
+       </meta>
+       <data type="array">
+               <languageKey index="default" type="array">
+                       <label index="title">Conflicting extensions installed</label>
+                       <label index="none">None</label>
+                       <label index="keys">Extension keys:</label>
+                       <label index="uninstall">Conflicting extensions should be uninstalled for htmlArea RTE to function correctly.</label>
+               </languageKey>
+       </data>
+</T3locallang>