diff options
Diffstat (limited to 'admin')
-rw-r--r-- | admin/themes/default/template/updates_pwg.tpl | 5 | ||||
-rw-r--r-- | admin/updates_pwg.php | 29 |
2 files changed, 33 insertions, 1 deletions
diff --git a/admin/themes/default/template/updates_pwg.tpl b/admin/themes/default/template/updates_pwg.tpl index 5b1bf3238..2b9d820c5 100644 --- a/admin/themes/default/template/updates_pwg.tpl +++ b/admin/themes/default/template/updates_pwg.tpl @@ -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"> {'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;"> {'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> diff --git a/admin/updates_pwg.php b/admin/updates_pwg.php index 016deeecd..9b980d546 100644 --- a/admin/updates_pwg.php +++ b/admin/updates_pwg.php @@ -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);
}
|