X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=f783bd04a98266928a10beddc974abedc22840b8;hb=eb301334eb0960dd060cc0d59e6021260a41f835;hp=0ca4421b141cb6bf435d9b55b2cdf2a2d4d2446d;hpb=994ca012bbe3815b45360d1298c11257af13df90;p=mailer.git diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 0ca4421b14..f783bd04a9 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Importieren von neuen Themes * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,51 +37,58 @@ ************************************************************************/ // Some security stuff... -if ((!defined('__SECURITY')) || (!IS_ADMIN())) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} elseif (!EXT_IS_ACTIVE("theme")) { - addFatalMessage(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "theme")); - return; -} +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); +} // END - if // Add description as navigation point -ADD_DESCR("admin", __FILE__); +addMenuDescription('admin', __FILE__); + +if (!isExtensionActive('theme')) { + loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('theme')); + return; +} // END - if // Switch to testing mode -$THEME_MODE = "test"; +$GLOBALS['theme_mode'] = 'test'; // Import selected theme if not present -if (!empty($_POST['theme'])) { +if (isPostRequestElementSet('theme')) { // Check if theme is there - if (!THEME_CHECK_EXIST($_POST['theme'])) { + if (!ifThemeExists(postRequestElement('theme'))) { // Import theme - $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($_POST['theme'])); - if (FILE_READABLE($INC)) { + $inc = sprintf("theme/%s/theme.php", SQL_ESCAPE(postRequestElement('theme'))); + + // Is the theme readable? + if (isIncludeReadable($inc)) { // Load the theme header file - LOAD_INC($INC); + loadInclude($inc); // Register it ith the exchange - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_themes` (`theme_path`, `theme_active`, `theme_ver`, `theme_name`) + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_themes` (`theme_path`,`theme_active`,`theme_ver`,`theme_name`) VALUES ('%s','N','%s','%s')", - array($_POST['theme'], $THEME_VERSION, $THEME_NAME), __FILE__, __LINE__); + array( + postRequestElement('theme'), + $GLOBALS['theme_data']['version'], + $GLOBALS['theme_data']['name'] + ), __FILE__, __LINE__); // Destroy cache - REBUILD_CACHE("themes", "them"); + rebuildCacheFile('themes', 'them'); // Prepare message - $msg = ADMIN_THEME_IMPORTED_1.$_POST['theme'].ADMIN_THEME_IMPORTED_2; + $message = sprintf(getMessage('ADMIN_THEME_IMPORTED'), postRequestElement('theme')); } else { // Include file not found! - $msg = ADMIN_THEME_INC_404_1.$_POST['theme'].ADMIN_THEME_INC_404_2; + $message = sprintf(getMessage('ADMIN_THEME_INC_404'), postRequestElement('theme')); } } else { // Theme already imported - $msg = ADMIN_THEME_ALREADY_1.$_POST['theme'].ADMIN_THEME_ALREADY_2; + $message = sprintf(getMessage('ADMIN_THEME_ALREADY_INSTALLED'), postRequestElement('theme')); } // Output message - LOAD_TEMPLATE("admin_settings_saved", false, $msg); + loadTemplate('admin_settings_saved', false, $message); } // END - if // Initialize array @@ -90,42 +102,38 @@ $THEMES = array( ); // Read directory "themes" -$handle = opendir(PATH."theme/") or mxchange_die("Cannot read themes dir!"); -while ($dir = readdir($handle)) { - // Construct absolute theme.php file name - $INC = sprintf("theme/%s/theme.php", $dir); - - // Test it... - if (($dir != ".") && ($dir != "..") && (FILE_READABLE($INC))) { - // Found a valid directory so let's load it's theme.php file - LOAD_INC($INC); - - // Add found theme to array - $THEMES['theme_unix'][] = $dir; - $THEMES['theme_name'][] = $THEME_NAME; - $THEMES['theme_author'][] = $THEME_AUTHOR; - $THEMES['theme_email'][] = $THEME_EMAIL; - $THEMES['theme_url'][] = $THEME_URL; - $THEMES['theme_ver'][] = $THEME_VERSION; - } // END - if +$includes = getArrayFromDirectory('theme/', '', false, true, array('css', 'images')); + +// Walk through all entries and add it +foreach ($includes as $inc) { + // Get directory from it + $dir = basename(dirname($inc)); + + // Load include file + loadInclude($inc); + + // Add found theme to array + $THEMES['theme_unix'][] = $dir; + $THEMES['theme_name'][] = $GLOBALS['theme_data']['name']; + $THEMES['theme_author'][] = $GLOBALS['theme_data']['author']; + $THEMES['theme_email'][] = $GLOBALS['theme_data']['email']; + $THEMES['theme_url'][] = $GLOBALS['theme_data']['url']; + $THEMES['theme_ver'][] = $GLOBALS['theme_data']['version']; } // END - while -// Close directory -closedir($handle); - // Sort array by Uni* name -array_pk_sort($THEMES, array("theme_name")); +array_pk_sort($THEMES, array('theme_name')); // Generate output lines for the template -$OUT = ""; $SW = 2; +$OUT = ''; $SW = 2; foreach ($THEMES['theme_unix'] as $key => $unix) { // Already installed is default - $FOUND = "