function deleteThemeDirectory($source) { if (is_dir($source)) { $result = true; $handle = opendir($source); while (false !== ($filename = readdir($handle))) { $fullname = $source . '/' . $filename; if (is_dir($fullname)) { if ($filename != '.' && $filename != '..') { $result = $result && deleteThemeDirectory($fullname); } } else { if (file_exists($fullname)) { @chmod($fullname, 0777); $result = $result && unlink($fullname); } } } closedir($handle); $result = $result && rmdir($source); return $result; } return false; }
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; } } } printAdminHeader('themes'); // Script for the "Duplicate theme" feature ?> <script type="text/javascript" src="<?php