X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=1df771d2cf23af205d636907cdb0e6ebd9d81c72;hb=e71e9e1380d65ccd06beef6fbc594bec10371f5f;hp=775f6f493f5b6f48ed51af0fce29b9639601ea4d;hpb=d18075f375db1b9db40773cdf80a5d6f2c36cd3a;p=mailer.git diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 775f6f493f..1df771d2cf 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -32,44 +32,45 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!is_admin())) -{ +if ((!defined('__SECURITY')) || (!IS_ADMIN())) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); +} elseif (!EXT_IS_ACTIVE("theme")) { + ADD_FATAL(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "theme")); + return; } // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); +ADD_DESCR("admin", __FILE__); // Switch to testing mode $THEME_MODE = "test"; // Import selected theme if not present -if (!empty($_POST['theme'])) -{ - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' LIMIT 1", - array($_POST['theme']), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 0) - { +if (!empty($_POST['theme'])) { + // Check if theme is there + if (!THEME_CHECK_EXIST($_POST['theme'])) { // Import theme $file = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_POST['theme'])); - if ((file_exists($file)) && (is_readable($file))) { + if (FILE_READABLE($file)) { // Load the theme header file include($file); // Register it ith the exchange - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_themes (theme_path, theme_active, theme_ver) -VALUES ('%s', 'N', '%s')", - array($_POST['theme'], $THEME_VERSION), __FILE__, __LINE__); + 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__); + + // Destroy cache + REBUILD_CACHE("themes", "them"); + + // Prepare message $msg = ADMIN_THEME_IMPORTED_1.$_POST['theme'].ADMIN_THEME_IMPORTED_2; } else { // Include file not found! $msg = ADMIN_THEME_INC_404_1.$_POST['theme'].ADMIN_THEME_INC_404_2; } } else { - // Free memory - SQL_FREERESULT($result); - // Theme already imported $msg = ADMIN_THEME_ALREADY_1.$_POST['theme'].ADMIN_THEME_ALREADY_2; } @@ -77,7 +78,7 @@ VALUES ('%s', 'N', '%s')", // Output message LOAD_TEMPLATE("admin_settings_saved", false, $msg); OUTPUT_HTML("
"); -} +} // END - if // Initialize array $THEMES = array( @@ -96,7 +97,7 @@ while ($dir = readdir($handle)) { $theme = sprintf("%stheme/%s/theme.php", PATH, $dir); // Test it... - if (($dir != ".") && ($dir != "..") && (file_exists($theme)) && (is_readable($theme))) { + if (($dir != ".") && ($dir != "..") && (FILE_READABLE($theme))) { // Found a valid directory so let's load it's theme.php file include($theme); @@ -107,8 +108,10 @@ while ($dir = readdir($handle)) { $THEMES['theme_email'][] = $THEME_EMAIL; $THEMES['theme_url'][] = $THEME_URL; $THEMES['theme_ver'][] = $THEME_VERSION; - } -} + } // END - if +} // END - while + +// Close directory closedir($handle); // Sort array by Uni* name @@ -116,14 +119,9 @@ array_pk_sort($THEMES, array("theme_name")); // Generate output lines for the template $OUT = ""; $SW = 2; -foreach ($THEMES['theme_unix'] as $key=>$unix) { +foreach ($THEMES['theme_unix'] as $key => $unix) { // Check if current theme is already imported or not - $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_themes WHERE theme_path='%s' LIMIT 1", - array($unix), __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) { - // Free memory - SQL_FREERESULT($result); - + if (THEME_CHECK_EXIST($unix)) { // Already installed $FOUND = "".ADMIN_THEME_ALREADY_INSTALLED.""; } else { @@ -149,17 +147,19 @@ foreach ($THEMES['theme_unix'] as $key=>$unix) { ".$FOUND." \n"; + + // Switch color $SW = 3 - $SW; } if (empty($OUT)) { - // No themes found??? + // No themes found??? $OUT .= " ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)." \n"; -} +} // END - if define('__THEME_LIST', $OUT); // Load template