feature 2654: forbid upgrade in case we find a remote site + dynamic message displayed from piwigo.org

git-svn-id: http://piwigo.org/svn/branches/2.3@15737 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall
2012-06-15 21:17:55 +00:00
parent e160f4f086
commit 61f0f76ffa
2 changed files with 33 additions and 1 deletions

View File

@@ -86,12 +86,17 @@ li { margin: 5px; }
<p><ul>{foreach from=$missing.themes item=theme}<li><a href="{$theme.uri}" class="externalLink">{$theme.name}</a></li>{/foreach}</ul><br></p>
{/if}
<p>
{if isset($forbid_upgrade_message)}
{$forbid_upgrade_message}
{else}
{if !empty($missing.plugins) or !empty($missing.themes)}
<p><label><input type="checkbox" name="understand"> &nbsp;{'I decide to update anyway'|@translate}</label></p>
{/if}
<p><input type="submit" name="submit" value="{'Update to Piwigo %s'|@translate|@sprintf:$UPGRADE_TO}" {if !empty($missing.plugins) or !empty($missing.themes)}disabled="disabled"{/if}>
</p>
<p class="autoupdate_bar" style="display:none;">&nbsp; {'Update in progress...'|@translate}<br><img src="admin/themes/default/images/ajax-loader-bar.gif"></p>
{/if}
</fieldset>
<p><input type="hidden" name="upgrade_to" value="{$UPGRADE_TO}"></p>

View File

@@ -127,12 +127,39 @@ if ($step == 2 and is_webmaster())
// +-----------------------------------------------------------------------+
if ($step == 3 and is_webmaster())
{
// 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)
{
$url = PHPWG_URL.'/download/messages/upgrade24-remote-sites.php';
$url.= '?lang='.$user['language'];
$url.= '&rand='.md5(uniqid(rand(), true)); // Avoid server cache
$result = null;
if (@fetchRemote($url, $result))
{
$template->assign('forbid_upgrade_message', $result);
array_push($page['errors'], $result);
}
}
if (isset($_POST['dumpDatabase']))
{
updates::dump_database(isset($_POST['includeHistory']));
}
if (isset($_POST['submit']) and isset($_POST['upgrade_to']))
if (!$has_remote_site and isset($_POST['submit']) and isset($_POST['upgrade_to']))
{
updates::upgrade_to($_POST['upgrade_to'], $step);
}