X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=8d8e5de725bf5bc60a714edd222ed0863588d776;hp=0e3ec8ebdf00ebdc71830dfe519cda755855ae45;hb=d90ace91b5fce766924e587d20450f45318ccc64;hpb=8a9324b2d931f54f54f4319fd7234910af77012c diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 0e3ec8ebdf..8d8e5de725 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -32,46 +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 = PATH."theme/".$_POST['theme']."/theme.php"; - if (file_exists($file)) - { + $file = sprintf("%stheme/%s/theme.php", PATH, SQL_ESCAPE($_POST['theme'])); + if (FILE_READABLE($file)) { + // Load the theme header file include($file); - $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__); + + // Register it ith the exchange + $result = 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 - { + } else { // Include file not found! $msg = ADMIN_THEME_INC_404_1.$_POST['theme'].ADMIN_THEME_INC_404_2; } - } - else - { - // Free memory - SQL_FREERESULT($result); - + } else { // Theme already imported $msg = ADMIN_THEME_ALREADY_1.$_POST['theme'].ADMIN_THEME_ALREADY_2; } @@ -79,7 +78,7 @@ VALUES ('%s', 'N', '%s')", // Output message LOAD_TEMPLATE("admin_settings_saved", false, $msg); OUTPUT_HTML("
"); -} +} // END - if // Initialize array $THEMES = array( @@ -93,14 +92,12 @@ $THEMES = array( // Read directory "themes" $handle = opendir(PATH."theme/") or mxchange_die("Cannot read themes dir!"); -while ($dir = readdir($handle)) -{ +while ($dir = readdir($handle)) { // Construct absolute theme.php file name - $theme = PATH."theme/".$dir."/"."theme.php"; + $theme = sprintf("%stheme/%s/theme.php", PATH, $dir); // Test it... - if (($dir != ".") && ($dir != "..") && (file_exists($theme))) - { + if (($dir != ".") && ($dir != "..") && (FILE_READABLE($theme))) { // Found a valid directory so let's load it's theme.php file include($theme); @@ -111,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 @@ -120,21 +119,12 @@ 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 - { + } else { // Theme not installed $FOUND = "
@@ -157,17 +147,19 @@ foreach ($THEMES['theme_unix'] as $key=>$unix) ".$FOUND." \n"; + + // Switch color $SW = 3 - $SW; } -if (empty($OUT)) -{ - // No themes found??? + +if (empty($OUT)) { + // No themes found??? $OUT .= " ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)." \n"; -} +} // END - if define('__THEME_LIST', $OUT); // Load template