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'); ?>