2 namespace TYPO3\CMS\Extensionmanager\Utility;
39 return $scriptObject->access() ? $scriptObject->main() : null;
53 if (class_exists(
'ext_update',
false)) {
55 'class ext_update for this run does already exist, requiring impossible',
61 if ($className ===
'') {
63 'Requested update script of extension does not exist',
81 if ($className !==
'') {
83 return $updater->access();
98 'EXT:' . $extensionKey .
'/class.ext_update.php',
101 if (!file_exists($updateScript)) {
108 if (!preg_match(
'/<\?php.*namespace\s+([^;]+);.*class/is', $scriptSourceCode, $matches)) {
110 $className =
'ext_update' . md5($extensionKey . $scriptSourceCode);
111 $temporaryFileName = PATH_site .
'typo3temp/ExtensionManager/UpdateScripts/' . $className .
'.php';
113 $scriptSourceCode = preg_replace(
'/^\s*class\s+ext_update\s+/m',
'class ' . $className .
' ', $scriptSourceCode);
116 $updateScript = $temporaryFileName;
118 $className = $matches[1] .
'\ext_update';
120 include_once $updateScript;
121 if (!class_exists($className,
false)) {
123 sprintf(
'class.ext_update.php of extension "%s" did not declare ext_update class', $extensionKey),