if (file_exists($opthandler)) { require_once $opthandler; $opt = new ThemeOptions(); // prime the default options! } /* set any "standard" options that may not have been covered by the theme */ standardThemeOptions($newtheme, $_set_theme_album); header("Location: " . FULLWEBPATH . "/" . ZENFOLDER . "/admin-themes.php?themealbum=" . sanitize($_GET['themealbum'])); exitZP(); } break; // Duplicate a theme // Duplicate a theme case 'copytheme': if (isset($_GET['source']) && isset($_GET['target']) && isset($_GET['name'])) { $message = copyThemeDirectory(sanitize($_GET['source'], 3), sanitize($_GET['target'], 3), sanitize($_GET['name'], 3)); } $_zp_gallery = new Gallery(); // flush out remembered themes break; case 'deletetheme': if (isset($_GET['theme'])) { if (deleteThemeDirectory(SERVERPATH . '/themes/' . internalToFilesystem($theme = sanitize($_GET['theme'], 3)))) { $message = sprintf(gettext("Theme <em>%s</em> removed."), html_encode($theme)); } else { $message = sprintf(gettext('Error removing theme <em>%s</em>'), html_encode($theme)); } $_zp_gallery = new Gallery(); // flush out remembered themes break; }
$alb = sanitize_path($_GET['themealbum']); $newtheme = strip($_GET['theme']); if (empty($alb)) { $gallery->setCurrentTheme($newtheme); } else { $album = new Album($gallery, $alb); $oldtheme = $album->getAlbumTheme(); $album->setAlbumTheme($newtheme); $album->save(); } header("Location: " . FULLWEBPATH . "/" . ZENFOLDER . "/admin-themes.php?themealbum=" . $_GET['themealbum']); } // Duplicate a theme } elseif ($_GET['action'] == 'copytheme') { if (isset($_GET['source']) && isset($_GET['target']) && isset($_GET['name'])) { $message = copyThemeDirectory($_GET['source'], $_GET['target'], $_GET['name']); } } } printAdminHeader(); // Script for the "Duplicate theme" feature ?> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('li.zp_copy_theme a').each(function(){ var source = jQuery(this).attr('title'); jQuery(this).click(function(){ var targetname = prompt('<?php echo gettext('New theme name? (eg. "My Cool Theme")'); ?>