Project

General

Profile

Bug #23877 ยป 16177.diff

Administrator Admin, 2010-10-30 08:47

View differences:

typo3/sysext/em/mod1/class.em_index.php (working copy)
$instObj->performUpdateQueries($update_statements['change'],$instObj->INSTALL['database_update']);
$instObj->performUpdateQueries($update_statements['create_table'],$instObj->INSTALL['database_update']);
} else {
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['add'], $GLOBALS['LANG']->getLL('checkDBupdates_add_fields'));
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['change'], $GLOBALS['LANG']->getLL('checkDBupdates_changing_fields'), 1, 0, $update_statements['change_currentValue']);
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['create_table'], $GLOBALS['LANG']->getLL('checkDBupdates_add_tables'));
$preprocessContent = '';
if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/mod/tools/em/index.php']['checkDBupdates'])) {
foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/mod/tools/em/index.php']['checkDBupdates'] as $classData) {
$hookObject = t3lib_div::getUserObj($classData);
if (!($hookObject instanceof em_index_checkDBupdatesHook)) {
throw new UnexpectedValueException('$hookObject must implement interface em_index_checkDBupdatesHook', 1288418476);
}
/* @var $hookObject em_index_checkDBupdatesHook */
$preprocessContent = $hookObject->preprocessDBupdates($extKey, $extInfo, $update_statements, $this);
if ($preprocessContent) {
$content .= $preprocessContent;
break;
}
}
}
if (!$preprocessContent) {
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['add'], $GLOBALS['LANG']->getLL('checkDBupdates_add_fields'));
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['change'], $GLOBALS['LANG']->getLL('checkDBupdates_changing_fields'), 1, 0, $update_statements['change_currentValue']);
$content .= $instObj->generateUpdateDatabaseForm_checkboxes(
$update_statements['create_table'], $GLOBALS['LANG']->getLL('checkDBupdates_add_tables'));
}
}
}
}
typo3/sysext/em/interfaces/interface.em_index_checkdbupdateshook.php (revision 0)
<?php
/***************************************************************
* Copyright notice
*
* (c) 2010 Xavier Perseguers <typo3@perseguers.ch>
* 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!
***************************************************************/
/**
* Interface for hook in SC_mod_tools_em_index::checkDBupdates.
*
* @author Xavier Perseguers <typo3@perseguers.ch>
* @package TYPO3
* @subpackage em
*/
interface em_index_checkDBupdatesHook {
/**
* Hook that allows pre-processing of database structure modifications.
* The hook implementation may return a user form that will temporarily
* replace the standard database update form. This allows additional
* operations to be performed before the database structure gets updated.
*
* @param string $extKey: Extension key
* @param array $extInfo: Extension information array
* @param array $updateStatements: Database update statements
* @param SC_mod_tools_em_index $parent: The calling parent object
* @return string Either empty string or a pre-processing user form
*/
public function preprocessDBupdates($extKey, array $extInfo, array $updateStatements, SC_mod_tools_em_index $parent);
}
?>
typo3/sysext/em/ext_autoload.php (working copy)
<?php
$emClassesPath = PATH_site . 'typo3/sysext/em/classes/';
$emInterfacesPath = PATH_site . 'typo3/sysext/em/interfaces/';
return array(
'sc_mod_tools_em_index' => $emClassesPath . '../mod1/class.em_index.php',
'em_connection_exception' => $emClassesPath . 'exception/class.em_connection_exception.php',
'em_tasks_updateextensionlist' => $emClassesPath . 'tasks/class.em_tasks_updateextensionlist.php',
'em_index_checkdbupdateshook' => $emInterfacesPath . 'interface.em_index_checkdbupdateshook.php',
);
?>
?>
    (1-1/1)