Skip to content

Commit

Permalink
feature 2632: add a test on upgrade.php, if a remote site is detected…
Browse files Browse the repository at this point in the history
… downgrade to 2.3.4

git-svn-id: http://piwigo.org/svn/trunk@15680 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
plegall committed Jun 14, 2012
1 parent 754a128 commit c89365f
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 4 deletions.
8 changes: 4 additions & 4 deletions admin/include/updates.class.php
Expand Up @@ -359,26 +359,26 @@ function dump_database($include_history=false)
}
}

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__)));
}

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';
Expand Down
38 changes: 38 additions & 0 deletions upgrade.php
Expand Up @@ -229,6 +229,44 @@ function print_time($message)
)
);

// +-----------------------------------------------------------------------+
// | 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 |
// +-----------------------------------------------------------------------+
Expand Down

0 comments on commit c89365f

Please sign in to comment.