feature 2632: add a test on upgrade.php, if a remote site is detected downgrade to 2.3.4
git-svn-id: http://piwigo.org/svn/trunk@15680 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
754a12881d
commit
c89365f10e
2 changed files with 42 additions and 4 deletions
|
@ -359,11 +359,11 @@ class updates
|
|||
}
|
||||
}
|
||||
|
||||
function upgrade_to($upgrade_to, &$step)
|
||||
function upgrade_to($upgrade_to, &$step, $check_current_version=true)
|
||||
{
|
||||
global $page, $conf, $template;
|
||||
|
||||
if (!version_compare($_POST['upgrade_to'], PHPWG_VERSION, '>'))
|
||||
if ($check_current_version and !version_compare($upgrade_to, PHPWG_VERSION, '>'))
|
||||
{
|
||||
redirect(get_root_url().'admin.php?page=plugin-'.basename(dirname(__FILE__)));
|
||||
}
|
||||
|
@ -371,14 +371,14 @@ class updates
|
|||
if ($step == 2)
|
||||
{
|
||||
preg_match('/(\d+\.\d+)\.(\d+)/', PHPWG_VERSION, $matches);
|
||||
$code = $matches[1].'.x_to_'.$_POST['upgrade_to'];
|
||||
$code = $matches[1].'.x_to_'.$upgrade_to;
|
||||
$dl_code = str_replace(array('.', '_'), '', $code);
|
||||
$remove_path = $code;
|
||||
$obsolete_list = 'obsolete.list';
|
||||
}
|
||||
else
|
||||
{
|
||||
$code = $_POST['upgrade_to'];
|
||||
$code = $upgrade_to;
|
||||
$dl_code = $code;
|
||||
$remove_path = version_compare($code, '2.0.8', '>=') ? 'piwigo' : 'piwigo-'.$code;
|
||||
$obsolete_list = PHPWG_ROOT_PATH.'install/obsolete.list';
|
||||
|
|
38
upgrade.php
38
upgrade.php
|
@ -229,6 +229,44 @@ $template->assign(array(
|
|||
)
|
||||
);
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Remote sites are not compatible with Piwigo 2.4+ |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$has_remote_site = false;
|
||||
|
||||
$query = 'SELECT galleries_url FROM '.SITES_TABLE.';';
|
||||
$result = pwg_query($query);
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
if (url_is_remote($row['galleries_url']))
|
||||
{
|
||||
$has_remote_site = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($has_remote_site)
|
||||
{
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/updates.class.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
|
||||
$page['errors'] = array();
|
||||
$step = 3;
|
||||
updates::upgrade_to('2.3.4', $step, false);
|
||||
|
||||
if (!empty($page['errors']))
|
||||
{
|
||||
echo '<ul>';
|
||||
foreach ($page['errors'] as $error)
|
||||
{
|
||||
echo '<li>'.$error.'</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
exit();
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | upgrade choice |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
Loading…
Reference in a new issue