set_tabsheet($page['page']);
//-----------------------------------------------------------automatic upgrade
if (isset($_GET['theme']) and isset($_GET['revision']))
{
if (!is_webmaster())
{
array_push($page['errors'], l10n('Webmaster status is required.'));
}
else
{
check_pwg_token();
$theme_id = $_GET['theme'];
$revision = $_GET['revision'];
$upgrade_status = $themes->extract_theme_files('upgrade', $revision, $theme_id);
switch ($upgrade_status)
{
case 'ok':
array_push($page['infos'],
sprintf(
l10n('%s has been successfully upgraded.'),
$themes->fs_themes[$_GET['theme']]['name']));
break;
case 'temp_path_error':
array_push($page['errors'], l10n('Can\'t create temporary file.'));
break;
case 'dl_archive_error':
array_push($page['errors'], l10n('Can\'t download archive.'));
break;
case 'archive_error':
array_push($page['errors'], l10n('Can\'t read or extract archive.'));
break;
default:
array_push($page['errors'],
sprintf(l10n('An error occured during extraction (%s).'), $_GET['upgradestatus'])
);
}
$themes->themes();
$template->delete_compiled_templates();
}
}
// +-----------------------------------------------------------------------+
// | start template output |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('themes' => 'themes_update.tpl'));
if ($themes->get_server_themes())
{
foreach($themes->fs_themes as $theme_id => $fs_theme)
{
if (isset($fs_theme['extension'])
and isset($themes->server_themes[$fs_theme['extension']]))
{
$theme_info = $themes->server_themes[$fs_theme['extension']];
list($date, ) = explode(' ', $theme_info['revision_date']);
$ext_desc = ''.l10n('Downloads').': '.$theme_info['extension_nb_downloads']."\r\n"
."\r\n"
.$theme_info['extension_description'];
$rev_desc = ''.l10n('Version').': '.$theme_info['revision_name']."\r\n"
.''.l10n('Released on').': '.$date."\r\n"
.''.l10n('Downloads').': '.$theme_info['revision_nb_downloads']."\r\n"
."\r\n"
.$theme_info['revision_description'];
if ($themes->theme_version_compare($fs_theme['version'], $theme_info['revision_name']))
{
// Plugin is up to date
$template->append('themes_uptodate', array(
'URL' => PEM_URL.'/extension_view.php?eid='.$theme_info['extension_id'],
'NAME' => $fs_theme['name'],
'EXT_DESC' => $ext_desc,
'VERSION' => $fs_theme['version'],
'VER_DESC' => $rev_desc));
}
else
{
// Plugin need upgrade
$url_auto_update = $base_url
. '&revision=' . $theme_info['revision_id']
. '&theme=' . $theme_id
. '&pwg_token='.get_pwg_token()
;
$template->append('themes_not_uptodate', array(
'EXT_NAME' => $fs_theme['name'],
'EXT_URL' => PEM_URL.'/extension_view.php?eid='.$theme_info['extension_id'],
'EXT_DESC' => $ext_desc,
'VERSION' => $fs_theme['version'],
'NEW_VERSION' => $theme_info['revision_name'],
'NEW_VER_DESC' => $rev_desc,
'URL_UPDATE' => $url_auto_update,
'URL_DOWNLOAD' => $theme_info['download_url'] . '&origin=piwigo_download'));
}
}
else
{
// Can't check theme
$template->append('themes_cant_check', array(
'NAME' => $fs_theme['name'],
'VERSION' => $fs_theme['version']));
}
}
}
else
{
array_push($page['errors'], l10n('Can\'t connect to server.'));
}
$template->assign_var_from_handle('ADMIN_CONTENT', 'themes');
?>