Project

General

Profile

Bug #23344 » rtehtmlarea_bugfix_15339_typo3_4-4.patch

Administrator Admin, 2010-09-28 01:14

View differences:

typo3/sysext/rtehtmlarea/ext_autoload.php (r?vision 0)
<?php
return array(
'tx_rtehtmlarea_statusreport_conflictscheck' => t3lib_extMgm::extPath('rtehtmlarea') . 'hooks/statusreport/conflictscheck.php',
);
?>
typo3/sysext/rtehtmlarea/ext_emconf.php (copie de travail)
),
'conflicts' => array(
'rte_conf' => '',
'tkr_rteanchors' => '',
),
'suggests' => array(
'rtehtmlarea_api_manual' => '',
typo3/sysext/rtehtmlarea/ext_localconf.php (copie de travail)
// Add Clear RTE Cache to Clear Cache menu
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;
typo3/sysext/rtehtmlarea/hooks/statusreport/conflictscheck.php (r?vision 0)
<?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
);
}
}
?>
typo3/sysext/rtehtmlarea/hooks/statusreport/ext_localconf.php (r?vision 0)
<?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';
}
?>
typo3/sysext/rtehtmlarea/hooks/statusreport/locallang.xml (r?vision 0)
<?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>
(2-2/3)