X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=cde282ba93e120f8cdd01ba672319ccc6b6de8db;hb=ab92fb7241d00636b0eb940f147449758820cba1;hp=775f6f493f5b6f48ed51af0fce29b9639601ea4d;hpb=cddcc697721ff6fd726b1dce851cc514b95c0201;p=mailer.git diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 775f6f493f..cde282ba93 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -32,52 +32,52 @@ ************************************************************************/ // 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")) { + addFatalMessage(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))) { + $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE($_POST['theme'])); + if (FILE_READABLE($INC)) { // Load the theme header file - include($file); + LOAD_INC($INC); // 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; } // Output message LOAD_TEMPLATE("admin_settings_saved", false, $msg); - OUTPUT_HTML("
"); -} +} // END - if // Initialize array $THEMES = array( @@ -93,12 +93,12 @@ $THEMES = array( $handle = opendir(PATH."theme/") or mxchange_die("Cannot read themes dir!"); while ($dir = readdir($handle)) { // Construct absolute theme.php file name - $theme = sprintf("%stheme/%s/theme.php", PATH, $dir); + $INC = sprintf("theme/%s/theme.php", $dir); // Test it... - if (($dir != ".") && ($dir != "..") && (file_exists($theme)) && (is_readable($theme))) { + if (($dir != ".") && ($dir != "..") && (FILE_READABLE($INC))) { // Found a valid directory so let's load it's theme.php file - include($theme); + LOAD_INC($INC); // Add found theme to array $THEMES['theme_unix'][] = $dir; @@ -107,8 +107,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,50 +118,47 @@ 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.""; + $FOUND = "
{--ADMIN_THEME_ALREADY_INSTALLED--}
"; } else { // Theme not installed - $FOUND = "
- - -
"; + $FOUND = "
+ + +
"; } // Add row - $OUT .= " - ".$unix." - ".$THEMES['theme_name'][$key]." - - ".$THEMES['theme_author'][$key]." - - - ".$THEMES['theme_url'][$key]." - - v".$THEMES['theme_ver'][$key]." - + $OUT .= " + ".$unix." + ".$THEMES['theme_name'][$key]." + + ".$THEMES['theme_author'][$key]." + + + ".$THEMES['theme_url'][$key]." + + v".$THEMES['theme_ver'][$key]." + ".$FOUND." - -\n"; + +\n"; + + // Switch color $SW = 3 - $SW; } if (empty($OUT)) { - // No themes found??? - $OUT .= " - - ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)." - -\n"; -} + // No themes found??? + $OUT .= " + + ".LOAD_TEMPLATE("admin_settings_saved", true, getMessage('ADMIN_NO_THEMES_FOUND'))." + +\n"; +} // END - if define('__THEME_LIST', $OUT); // Load template