*gelöst* Fehlermeldung bei Klick auf Systemwartung
PS:
Problem ist gelöst, die Datei PurgeData.php war beschädigt. Ich habe nun die Datei ersetzt und nun kann ich wieder normal in die Systemwartung. Sorry für den Beitrag, kann gelöscht werden :)
Liebe Community
Ich möchte gerne eine installation eines Kunden per Live-ID updaten. Im Moment ist da Contao 3.5.13 drauf. Alle Erweiterungen in der Erweiterungsverwaltung sind auf dem neusten Stand. Die Datenbank ist aktuell.
Leider komme ich nicht mehr in die Systemwartung. Sobald ich im Backend auf Systemwartung klicke, erscheint folgende Fehlermeldung:
HTML-Code:
d implements \executable { /** * Return true if the module is active * * @return boolean */ public function isActive() { return (\Input::post('FORM_SUBMIT') == 'tl_purge'); } /** * Generate the module * * @return string */ public function run() { $arrJobs = array(); /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_purge_data'); $objTemplate->isActive = $this->isActive(); // Confirmation message if ($_SESSION['CLEAR_CACHE_CONFIRM'] != '') { $objTemplate->message = sprintf('
%s
' . "\n", $_SESSION['CLEAR_CACHE_CONFIRM']); $_SESSION['CLEAR_CACHE_CONFIRM'] = ''; } // Add potential error messages if (!empty($_SESSION['TL_ERROR']) && is_array($_SESSION['TL_ERROR'])) { foreach ($_SESSION['TL_ERROR'] as $message) { $objTemplate->message .= sprintf('
%s
' . "\n", $message); } $_SESSION['TL_ERROR'] = array(); } // Run the jobs if (\Input::post('FORM_SUBMIT') == 'tl_purge') { $purge = \Input::post('purge'); if (!empty($purge) && is_array($purge)) { foreach ($purge as $group=>$jobs) { foreach ($jobs as $job) { list($class, $method) = $GLOBALS['TL_PURGE'][$group][$job]['callback']; $this->import($class); $this->$class->$method(); } } } $_SESSION['CLEAR_CACHE_CONFIRM'] = $GLOBALS['TL_LANG']['tl_maintenance']['cacheCleared']; $this->reload(); } // Tables foreach ($GLOBALS['TL_PURGE']['tables'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'tables', 'affected' => '' ); // Get the current table size foreach ($config['affected'] as $table) { $objCount = $this->Database->execute("SELECT COUNT(*) AS count FROM " . $table); $arrJobs[$key]['affected'] .= '
' . $table . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['entries'], $objCount->count) . ', ' . $this->getReadableSize($this->Database->getSizeOf($table), 0) . ''; } } // Folders foreach ($GLOBALS['TL_PURGE']['folders'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'folders', 'affected' => '' ); // Get the current folder size foreach ($config['affected'] as $folder) { $total = 0; // Only check existing folders if (is_dir(TL_ROOT . '/' . $folder)) { /** @var \SplFileInfo[] $objFiles */ $objFiles = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( TL_ROOT . '/' . $folder, \FilesystemIterator::UNIX_PATHS|\FilesystemIterator::FOLLOW_SYMLINKS|\FilesystemIterator::SKIP_DOTS ) ); // Ignore .gitignore and index.html files foreach ($objFiles as $objFile) { if ($objFile->getFilename() != '.gitignore' && $objFile->getFilename() != 'index.html') { ++$total; } } } $arrJobs[$key]['affected'] .= '
' . $folder . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['files'], $total) . ''; } } // Custom foreach ($GLOBALS['TL_PURGE']['custom'] as $key=>$job) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'custom' ); } $objTemplate->jobs = $arrJobs; $objTemplate->action = ampersand(\Environment::get('request')); $objTemplate->headline = $GLOBALS['TL_LANG']['tl_maintenance']['clearCache']; $objTemplate->job = $GLOBALS['TL_LANG']['tl_maintenance']['job']; $objTemplate->description = $GLOBALS['TL_LANG']['tl_maintenance']['description']; $objTemplate->submit = specialchars($GLOBALS['TL_LANG']['tl_maintenance']['clearCache']); $objTemplate->help = (\Config::get('showHelp') && ($GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] != '')) ? $GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] : ''; return $objTemplate->parse(); } } d implements \executable { /** * Return true if the module is active * * @return boolean */ public function isActive() { return (\Input::post('FORM_SUBMIT') == 'tl_purge'); } /** * Generate the module * * @return string */ public function run() { $arrJobs = array(); /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_purge_data'); $objTemplate->isActive = $this->isActive(); // Confirmation message if ($_SESSION['CLEAR_CACHE_CONFIRM'] != '') { $objTemplate->message = sprintf('
%s
' . "\n", $_SESSION['CLEAR_CACHE_CONFIRM']); $_SESSION['CLEAR_CACHE_CONFIRM'] = ''; } // Add potential error messages if (!empty($_SESSION['TL_ERROR']) && is_array($_SESSION['TL_ERROR'])) { foreach ($_SESSION['TL_ERROR'] as $message) { $objTemplate->message .= sprintf('
%s
' . "\n", $message); } $_SESSION['TL_ERROR'] = array(); } // Run the jobs if (\Input::post('FORM_SUBMIT') == 'tl_purge') { $purge = \Input::post('purge'); if (!empty($purge) && is_array($purge)) { foreach ($purge as $group=>$jobs) { foreach ($jobs as $job) { list($class, $method) = $GLOBALS['TL_PURGE'][$group][$job]['callback']; $this->import($class); $this->$class->$method(); } } } $_SESSION['CLEAR_CACHE_CONFIRM'] = $GLOBALS['TL_LANG']['tl_maintenance']['cacheCleared']; $this->reload(); } // Tables foreach ($GLOBALS['TL_PURGE']['tables'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'tables', 'affected' => '' ); // Get the current table size foreach ($config['affected'] as $table) { $objCount = $this->Database->execute("SELECT COUNT(*) AS count FROM " . $table); $arrJobs[$key]['affected'] .= '
' . $table . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['entries'], $objCount->count) . ', ' . $this->getReadableSize($this->Database->getSizeOf($table), 0) . ''; } } // Folders foreach ($GLOBALS['TL_PURGE']['folders'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'folders', 'affected' => '' ); // Get the current folder size foreach ($config['affected'] as $folder) { $total = 0; // Only check existing folders if (is_dir(TL_ROOT . '/' . $folder)) { /** @var \SplFileInfo[] $objFiles */ $objFiles = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( TL_ROOT . '/' . $folder, \FilesystemIterator::UNIX_PATHS|\FilesystemIterator::FOLLOW_SYMLINKS|\FilesystemIterator::SKIP_DOTS ) ); // Ignore .gitignore and index.html files foreach ($objFiles as $objFile) { if ($objFile->getFilename() != '.gitignore' && $objFile->getFilename() != 'index.html') { ++$total; } } } $arrJobs[$key]['affected'] .= '
' . $folder . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['files'], $total) . ''; } } // Custom foreach ($GLOBALS['TL_PURGE']['custom'] as $key=>$job) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'custom' ); } $objTemplate->jobs = $arrJobs; $objTemplate->action = ampersand(\Environment::get('request')); $objTemplate->headline = $GLOBALS['TL_LANG']['tl_maintenance']['clearCache']; $objTemplate->job = $GLOBALS['TL_LANG']['tl_maintenance']['job']; $objTemplate->description = $GLOBALS['TL_LANG']['tl_maintenance']['description']; $objTemplate->submit = specialchars($GLOBALS['TL_LANG']['tl_maintenance']['clearCache']); $objTemplate->help = (\Config::get('showHelp') && ($GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] != '')) ? $GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] : ''; return $objTemplate->parse(); } } d implements \executable { /** * Return true if the module is active * * @return boolean */ public function isActive() { return (\Input::post('FORM_SUBMIT') == 'tl_purge'); } /** * Generate the module * * @return string */ public function run() { $arrJobs = array(); /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_purge_data'); $objTemplate->isActive = $this->isActive(); // Confirmation message if ($_SESSION['CLEAR_CACHE_CONFIRM'] != '') { $objTemplate->message = sprintf('
%s
' . "\n", $_SESSION['CLEAR_CACHE_CONFIRM']); $_SESSION['CLEAR_CACHE_CONFIRM'] = ''; } // Add potential error messages if (!empty($_SESSION['TL_ERROR']) && is_array($_SESSION['TL_ERROR'])) { foreach ($_SESSION['TL_ERROR'] as $message) { $objTemplate->message .= sprintf('
%s
' . "\n", $message); } $_SESSION['TL_ERROR'] = array(); } // Run the jobs if (\Input::post('FORM_SUBMIT') == 'tl_purge') { $purge = \Input::post('purge'); if (!empty($purge) && is_array($purge)) { foreach ($purge as $group=>$jobs) { foreach ($jobs as $job) { list($class, $method) = $GLOBALS['TL_PURGE'][$group][$job]['callback']; $this->import($class); $this->$class->$method(); } } } $_SESSION['CLEAR_CACHE_CONFIRM'] = $GLOBALS['TL_LANG']['tl_maintenance']['cacheCleared']; $this->reload(); } // Tables foreach ($GLOBALS['TL_PURGE']['tables'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'tables', 'affected' => '' ); // Get the current table size foreach ($config['affected'] as $table) { $objCount = $this->Database->execute("SELECT COUNT(*) AS count FROM " . $table); $arrJobs[$key]['affected'] .= '
' . $table . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['entries'], $objCount->count) . ', ' . $this->getReadableSize($this->Database->getSizeOf($table), 0) . ''; } } // Folders foreach ($GLOBALS['TL_PURGE']['folders'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'folders', 'affected' => '' ); // Get the current folder size foreach ($config['affected'] as $folder) { $total = 0; // Only check existing folders if (is_dir(TL_ROOT . '/' . $folder)) { /** @var \SplFileInfo[] $objFiles */ $objFiles = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( TL_ROOT . '/' . $folder, \FilesystemIterator::UNIX_PATHS|\FilesystemIterator::FOLLOW_SYMLINKS|\FilesystemIterator::SKIP_DOTS ) ); // Ignore .gitignore and index.html files foreach ($objFiles as $objFile) { if ($objFile->getFilename() != '.gitignore' && $objFile->getFilename() != 'index.html') { ++$total; } } } $arrJobs[$key]['affected'] .= '
' . $folder . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['files'], $total) . ''; } } // Custom foreach ($GLOBALS['TL_PURGE']['custom'] as $key=>$job) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'custom' ); } $objTemplate->jobs = $arrJobs; $objTemplate->action = ampersand(\Environment::get('request')); $objTemplate->headline = $GLOBALS['TL_LANG']['tl_maintenance']['clearCache']; $objTemplate->job = $GLOBALS['TL_LANG']['tl_maintenance']['job']; $objTemplate->description = $GLOBALS['TL_LANG']['tl_maintenance']['description']; $objTemplate->submit = specialchars($GLOBALS['TL_LANG']['tl_maintenance']['clearCache']); $objTemplate->help = (\Config::get('showHelp') && ($GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] != '')) ? $GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] : ''; return $objTemplate->parse(); } } d implements \executable { /** * Return true if the module is active * * @return boolean */ public function isActive() { return (\Input::post('FORM_SUBMIT') == 'tl_purge'); } /** * Generate the module * * @return string */ public function run() { $arrJobs = array(); /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate('be_purge_data'); $objTemplate->isActive = $this->isActive(); // Confirmation message if ($_SESSION['CLEAR_CACHE_CONFIRM'] != '') { $objTemplate->message = sprintf('
%s
' . "\n", $_SESSION['CLEAR_CACHE_CONFIRM']); $_SESSION['CLEAR_CACHE_CONFIRM'] = ''; } // Add potential error messages if (!empty($_SESSION['TL_ERROR']) && is_array($_SESSION['TL_ERROR'])) { foreach ($_SESSION['TL_ERROR'] as $message) { $objTemplate->message .= sprintf('
%s
' . "\n", $message); } $_SESSION['TL_ERROR'] = array(); } // Run the jobs if (\Input::post('FORM_SUBMIT') == 'tl_purge') { $purge = \Input::post('purge'); if (!empty($purge) && is_array($purge)) { foreach ($purge as $group=>$jobs) { foreach ($jobs as $job) { list($class, $method) = $GLOBALS['TL_PURGE'][$group][$job]['callback']; $this->import($class); $this->$class->$method(); } } } $_SESSION['CLEAR_CACHE_CONFIRM'] = $GLOBALS['TL_LANG']['tl_maintenance']['cacheCleared']; $this->reload(); } // Tables foreach ($GLOBALS['TL_PURGE']['tables'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'tables', 'affected' => '' ); // Get the current table size foreach ($config['affected'] as $table) { $objCount = $this->Database->execute("SELECT COUNT(*) AS count FROM " . $table); $arrJobs[$key]['affected'] .= '
' . $table . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['entries'], $objCount->count) . ', ' . $this->getReadableSize($this->Database->getSizeOf($table), 0) . ''; } } // Folders foreach ($GLOBALS['TL_PURGE']['folders'] as $key=>$config) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'folders', 'affected' => '' ); // Get the current folder size foreach ($config['affected'] as $folder) { $total = 0; // Only check existing folders if (is_dir(TL_ROOT . '/' . $folder)) { /** @var \SplFileInfo[] $objFiles */ $objFiles = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator( TL_ROOT . '/' . $folder, \FilesystemIterator::UNIX_PATHS|\FilesystemIterator::FOLLOW_SYMLINKS|\FilesystemIterator::SKIP_DOTS ) ); // Ignore .gitignore and index.html files foreach ($objFiles as $objFile) { if ($objFile->getFilename() != '.gitignore' && $objFile->getFilename() != 'index.html') { ++$total; } } } $arrJobs[$key]['affected'] .= '
' . $folder . ': ' . sprintf($GLOBALS['TL_LANG']['MSC']['files'], $total) . ''; } } // Custom foreach ($GLOBALS['TL_PURGE']['custom'] as $key=>$job) { $arrJobs[$key] = array ( 'id' => 'purge_' . $key, 'title' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][0], 'description' => $GLOBALS['TL_LANG']['tl_maintenance_jobs'][$key][1], 'group' => 'custom' ); } $objTemplate->jobs = $arrJobs; $objTemplate->action = ampersand(\Environment::get('request')); $objTemplate->headline = $GLOBALS['TL_LANG']['tl_maintenance']['clearCache']; $objTemplate->job = $GLOBALS['TL_LANG']['tl_maintenance']['job']; $objTemplate->description = $GLOBALS['TL_LANG']['tl_maintenance']['description']; $objTemplate->submit = specialchars($GLOBALS['TL_LANG']['tl_maintenance']['clearCache']); $objTemplate->help = (\Config::get('showHelp') && ($GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] != '')) ? $GLOBALS['TL_LANG']['tl_maintenance']['cacheTables'][1] : ''; return $objTemplate->parse(); } }
Kann mir da jemand weiterhelfen?
Liebe Grüsse
Eva