Index: admin/update.php
===================================================================
--- admin/update.php	(revision 3874)
+++ admin/update.php	(revision 0)
@@ -1,15 +1,18 @@
 <?php
-/**
- * @package Dotclear
- * @subpackage Backend
- *
- * @copyright Olivier Meunier & Association Dotclear
- * @copyright GPL-2.0-only
- */
-
-require dirname(__FILE__) . '/../inc/admin/prepend.php';
+# -- BEGIN LICENSE BLOCK ---------------------------------------
+#
+# This file is part of Dotclear 2.
+#
+# Copyright (c) 2003-2010 Olivier Meunier & Association Dotclear
+# Licensed under the GPL version 2.0 license.
+# See LICENSE file or
+# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+#
+# -- END LICENSE BLOCK -----------------------------------------
+
+require dirname(__FILE__).'/../inc/admin/prepend.php';
 
 if (!defined('DC_BACKUP_PATH')) {
-    define('DC_BACKUP_PATH', DC_ROOT);
+	define('DC_BACKUP_PATH',DC_ROOT);
 }
 
@@ -17,19 +20,18 @@
 
 if (!is_readable(DC_DIGESTS)) {
-    dcPage::open(__('Dotclear update'));
-    echo '<h2>Access denied</h2>';
-    dcPage::close();
-    exit;
-}
-
-$updater      = new dcUpdate(DC_UPDATE_URL, 'dotclear', DC_UPDATE_VERSION, DC_TPL_CACHE . '/versions');
-$new_v        = $updater->check(DC_VERSION, !empty($_GET['nocache']));
-$zip_file     = $new_v ? DC_BACKUP_PATH . '/' . basename($updater->getFileURL()) : '';
-$version_info = $new_v ? $updater->getInfoURL() : '';
+	dcPage::open(__('Dotclear update'));
+	echo '<h2>Access denied</h2>';
+	dcPage::close();
+	exit;
+}
+
+$updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions');
+$new_v = $updater->check(DC_VERSION);
+$zip_file = $new_v ? DC_BACKUP_PATH.'/'.basename($updater->getFileURL()) : '';
 
 # Hide "update me" message
 if (!empty($_GET['hide_msg'])) {
-    $updater->setNotify(false);
-    http::redirect('index.php');
+	$updater->setNotify(false);
+	http::redirect('index.php');
 }
 
@@ -37,202 +39,178 @@
 
 $step = isset($_GET['step']) ? $_GET['step'] : '';
-$step = in_array($step, ['check', 'download', 'backup', 'unzip']) ? $step : '';
-
-$default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'update';
-if (!empty($_POST['backup_file'])) {
-    $default_tab = 'files';
-}
-
-$archives = [];
+$step = in_array($step,array('check','download','backup','unzip')) ? $step : '';
+
+$archives = array();
 foreach (files::scanDir(DC_BACKUP_PATH) as $v) {
-    if (preg_match('/backup-([0-9A-Za-z\.-]+).zip/', $v)) {
-        $archives[] = $v;
-    }
-}
-if (!empty($archives)) {
-    usort($archives, "version_compare");
-} else {
-    $default_tab = 'update';
+	if (preg_match('/backup-([0-9A-Za-z\.-]+).zip/',$v)) {
+		$archives[] = $v;
+	}
 }
 
 # Revert or delete backup file
-if (!empty($_POST['backup_file']) && in_array($_POST['backup_file'], $archives)) {
-    $b_file = $_POST['backup_file'];
-
-    try
-    {
-        if (!empty($_POST['b_del'])) {
-            if (!@unlink(DC_BACKUP_PATH . '/' . $b_file)) {
-                throw new Exception(sprintf(__('Unable to delete file %s'), html::escapeHTML($b_file)));
-            }
-            http::redirect($p_url . '?tab=files');
-        }
-
-        if (!empty($_POST['b_revert'])) {
-            $zip = new fileUnzip(DC_BACKUP_PATH . '/' . $b_file);
-            $zip->unzipAll(DC_BACKUP_PATH . '/');
-            @unlink(DC_BACKUP_PATH . '/' . $b_file);
-            http::redirect($p_url . '?tab=files');
-        }
-    } catch (Exception $e) {
-        $core->error->add($e->getMessage());
-    }
+if (!empty($_POST['backup_file']) && in_array($_POST['backup_file'],$archives))
+{
+	$b_file = $_POST['backup_file'];
+	
+	try
+	{
+		if (!empty($_POST['b_del']))
+		{
+			if (!@unlink(DC_BACKUP_PATH.'/'.$b_file)) {
+				throw new Exception(sprintf(__('Unable to delete file %s'),html::escapeHTML($b_file)));
+			}
+			http::redirect($p_url);
+		}
+		
+		if (!empty($_POST['b_revert']))
+		{
+			$zip = new fileUnzip(DC_BACKUP_PATH.'/'.$b_file);
+			$zip->unzipAll(DC_BACKUP_PATH.'/');
+			@unlink(DC_BACKUP_PATH.'/'.$b_file);
+			http::redirect($p_url);
+		}
+	}
+	catch (Exception $e)
+	{
+		$core->error->add($e->getMessage());
+	}
 }
 
 # Upgrade process
-if ($new_v && $step) {
-    try
-    {
-        $updater->setForcedFiles('inc/digests');
-
-        switch ($step) {
-            case 'check':
-                $updater->checkIntegrity(DC_ROOT . '/inc/digests', DC_ROOT);
-                http::redirect($p_url . '?step=download');
-                break;
-            case 'download':
-                $updater->download($zip_file);
-                if (!$updater->checkDownload($zip_file)) {
-                    throw new Exception(
-                        sprintf(__('Downloaded Dotclear archive seems to be corrupted. ' .
-                            'Try <a %s>download it</a> again.'), 'href="' . $p_url . '?step=download"') .
-                        ' ' .
-                        __('If this problem persists try to ' .
-                            '<a href="http://dotclear.org/download">update manually</a>.')
-                    );
-                }
-                http::redirect($p_url . '?step=backup');
-                break;
-            case 'backup':
-                $updater->backup(
-                    $zip_file, 'dotclear/inc/digests',
-                    DC_ROOT, DC_ROOT . '/inc/digests',
-                    DC_BACKUP_PATH . '/backup-' . DC_VERSION . '.zip'
-                );
-                http::redirect($p_url . '?step=unzip');
-                break;
-            case 'unzip':
-                $updater->performUpgrade(
-                    $zip_file, 'dotclear/inc/digests', 'dotclear',
-                    DC_ROOT, DC_ROOT . '/inc/digests'
-                );
-                break;
-        }
-    } catch (Exception $e) {
-        $msg = $e->getMessage();
-
-        if ($e->getCode() == dcUpdate::ERR_FILES_CHANGED) {
-            $msg =
-                __('The following files of your Dotclear installation ' .
-                'have been modified so we won\'t try to update your installation. ' .
-                'Please try to <a href="http://dotclear.org/download">update manually</a>.');
-        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNREADABLE) {
-            $msg =
-                sprintf(__('The following files of your Dotclear installation are not readable. ' .
-                'Please fix this or try to make a backup file named %s manually.'),
-                '<strong>backup-' . DC_VERSION . '.zip</strong>');
-        } elseif ($e->getCode() == dcUpdate::ERR_FILES_UNWRITALBE) {
-            $msg =
-                __('The following files of your Dotclear installation cannot be written. ' .
-                'Please fix this or try to <a href="http://dotclear.org/download">update manually</a>.');
-        }
-
-        if (isset($e->bad_files)) {
-            $msg .=
-            '<ul><li><strong>' .
-            implode('</strong></li><li><strong>', $e->bad_files) .
-                '</strong></li></ul>';
-        }
-
-        $core->error->add($msg);
-
-        $core->callBehavior('adminDCUpdateException', $e);
-    }
+if ($new_v && $step)
+{
+	try
+	{
+		$updater->setForcedFiles('inc/digests');
+		
+		switch ($step)
+		{
+			case 'check':
+				$updater->checkIntegrity(DC_ROOT.'/inc/digests',DC_ROOT);
+				http::redirect($p_url.'?step=download');
+				break;
+			case 'download':
+				$updater->download($zip_file);
+				if (!$updater->checkDownload($zip_file)) {
+					throw new Exception(
+						sprintf(__('Downloaded Dotclear archive seems to be corrupted. '.
+						'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"')
+					);
+				}
+				http::redirect($p_url.'?step=backup');
+				break;
+			case 'backup':
+				$updater->backup(
+					$zip_file, 'dotclear/inc/digests',
+					DC_ROOT, DC_ROOT.'/inc/digests',
+					DC_BACKUP_PATH.'/backup-'.DC_VERSION.'.zip'
+				);
+				http::redirect($p_url.'?step=unzip');
+				break;
+			case 'unzip':
+				$updater->performUpgrade(
+					$zip_file, 'dotclear/inc/digests', 'dotclear',
+					DC_ROOT, DC_ROOT.'/inc/digests'
+				);
+				break;
+		}
+	}
+	catch (Exception $e)
+	{
+		$msg = $e->getMessage();
+		if ($e->getCode() == dcUpdate::ERR_FILES_CHANGED)
+		{
+			$msg =
+			__('The following files of your Dotclear installation '.
+			'have been modified so we won\'t try to update your installation. '.
+			'Please try to <a href="http://dotclear.org/download">update manually</a>.');
+		}
+		elseif ($e->getCode() == dcUpdate::ERR_FILES_UNREADABLE)
+		{
+			$msg =
+			sprintf(__('The following files of your Dotclear installation are not readable. '.
+			'Please fix this or try to make a backup file named %s manually.'),
+			'<strong>backup-'.DC_VERSION.'.zip</strong>');
+		}
+		elseif ($e->getCode() == dcUpdate::ERR_FILES_UNWRITALBE)
+		{
+			$msg =
+			__('The following files of your Dotclear installation cannot be written. '.
+			'Please fix this or try to <a href="http://dotclear.org/download">update manually</a>.');
+		}
+		
+		if (isset($e->bad_files)) {
+			$msg .=
+			'<ul><li><strong>'.
+			implode('</strong></li><li><strong>',$e->bad_files).
+			'</strong></li></ul>';
+		}
+		
+		$core->error->add($msg);
+	}
 }
 
 /* DISPLAY Main page
 -------------------------------------------------------- */
-dcPage::open(__('Dotclear update'),
-    (!$step ?
-        dcPage::jsPageTabs($default_tab) .
-        dcPage::jsLoad('js/_update.js')
-        : ''),
-    dcPage::breadcrumb(
-        [
-            __('System')          => '',
-            __('Dotclear update') => ''
-        ])
-);
+dcPage::open(__('Dotclear update'));
 
 if (!$core->error->flag()) {
-    if (!empty($_GET['nocache'])) {
-        dcPage::success(__('Manual checking of update done successfully.'));
-    }
-}
-
-if (!$step) {
-    echo '<div class="multi-part" id="update" title="' . __('Dotclear update') . '">';
-    if (empty($new_v)) {
-        echo '<p><strong>' . __('No newer Dotclear version available.') . '</strong></p>' .
-        '<form action="' . $p_url . '" method="get">' .
-        '<p><input type="hidden" name="nocache" value="1" />' .
-        '<input type="submit" value="' . __('Force checking update Dotclear') . '" /></p>' .
-            '</form>';
-    } else {
-        echo
-        '<p class="static-msg">' . sprintf(__('Dotclear %s is available.'), $new_v) .
-            ($version_info ? ' <a href="' . $version_info . '" class="outgoing" title="' . __('Information about this version') . '">(' .
-            __('Information about this version') . ')&nbsp;<img src="images/outgoing-link.svg" alt=""/></a>' : '') .
-            '</p>';
-        if (version_compare(phpversion(), $updater->getPHPVersion()) < 0) {
-            echo
-            '<p class="warning-msg">' . sprintf(__('PHP version is %s (%s or earlier needed).'), phpversion(), $updater->getPHPVersion()) . '</p>';
-        } else {
-            echo
-            '<p>' . __('To upgrade your Dotclear installation simply click on the following button. ' .
-                'A backup file of your current installation will be created in your root directory.') . '</p>' .
-            '<form action="' . $p_url . '" method="get">' .
-            '<p><input type="hidden" name="step" value="check" />' .
-            '<input type="submit" value="' . __('Update Dotclear') . '" /></p>' .
-                '</form>';
-        }
-    }
-    echo '</div>';
-
-    if (!empty($archives)) {
-        echo '<div class="multi-part" id="files" title="' . __('Manage backup files') . '">';
-
-        echo
-        '<h3>' . __('Update backup files') . '</h3>' .
-        '<p>' . __('The following files are backups of previously updates. ' .
-            'You can revert your previous installation or delete theses files.') . '</p>';
-
-        echo '<form action="' . $p_url . '" method="post">';
-        foreach ($archives as $v) {
-            echo
-            '<p><label class="classic">' . form::radio(['backup_file'], html::escapeHTML($v)) . ' ' .
-            html::escapeHTML($v) . '</label></p>';
-        }
-
-        echo
-        '<p><strong>' . __('Please note that reverting your Dotclear version may have some ' .
-            'unwanted side-effects. Consider reverting only if you experience strong issues with this new version.') . '</strong> ' .
-        sprintf(__('You should not revert to version prior to last one (%s).'), end($archives)) .
-        '</p>' .
-        '<p><input type="submit" class="delete" name="b_del" value="' . __('Delete selected file') . '" /> ' .
-        '<input type="submit" name="b_revert" value="' . __('Revert to selected file') . '" />' .
-        $core->formNonce() . '</p>' .
-            '</form>';
-
-        echo '</div>';
-    }
-} elseif ($step == 'unzip' && !$core->error->flag()) {
-    echo
-    '<p class="message">' .
-    __("Congratulations, you're one click away from the end of the update.") .
-    ' <strong><a href="index.php?logout=1">' . __('Finish the update.') . '</a></strong>' .
-        '</p>';
-}
-
-dcPage::helpBlock('core_update');
+	echo '<h2>'.__('Dotclear update').'</h2>';
+}
+
+if (!$step)
+{
+	if (empty($new_v))
+	{
+		echo '<p><strong>'.__('No newer Dotclear version available.').'</strong></p>';
+	}
+	else
+	{
+		echo
+		'<p class="static-msg">'.sprintf(__('Dotclear %s is available.'),$new_v).'</p>'.
+		
+		'<p>'.__('To upgrade your Dotclear installation simply click on the following button. '.
+			'A backup file of your current installation will be created in your root directory.').'</p>'.
+		'<form action="'.$p_url.'" method="get">'.
+		'<p><input type="hidden" name="step" value="check" />'.
+		'<input type="submit" value="'.__('Update Dotclear').'" /></p>'.
+		'</form>';
+	}
+	
+	if (!empty($archives))
+	{
+		echo
+		'<h3>'.__('Update backup files').'</h3>'.
+		'<p>'.__('The following files are backups of previously updates. '.
+		'You can revert your previous installation or delete theses files.').'</p>';
+		
+		echo	'<form action="'.$p_url.'" method="post">';
+		
+		foreach ($archives as $v) {
+			echo
+			'<p><label class="classic">'.form::radio(array('backup_file'),html::escapeHTML($v)).' '.
+			html::escapeHTML($v).'</label></p>';
+		}
+		
+		echo
+		'<p><strong>'.__('Please note that reverting your Dotclear version may have some '.
+		'unwanted side-effects. Consider reverting only if you experience strong issues with this new version.').'</strong> '.
+		sprintf(__('You should not revert to version prior to last one (%s).'),end($archives)).
+		'</p>'.
+		'<p><input type="submit" name="b_del" value="'.__('Delete selected file').'" /> '.
+		'<input type="submit" name="b_revert" value="'.__('Revert to selected file').'" />'.
+		$core->formNonce().'</p>'.
+		'</form>';
+	}
+}
+elseif ($step == 'unzip' && !$core->error->flag())
+{
+	echo
+	'<p class="message">'.
+	__("Congratulations, you're one click away from the end of the update.").
+	' <strong><a href="index.php?logout=1">'.__('Finish the update.').'</a></strong>'.
+	'</p>';
+}
+
 dcPage::close();
+?>
