X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=d075327bfec9d4ec9a051f00afbc4add61b7ed84;hb=ca7455674c0f02d34cbfc22a823393ba629a5160;hp=0e3ec8ebdf00ebdc71830dfe519cda755855ae45;hpb=8a9324b2d931f54f54f4319fd7234910af77012c;p=mailer.git diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 0e3ec8ebdf..d075327bfe 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -32,8 +32,7 @@ ************************************************************************/ // 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); } @@ -45,33 +44,30 @@ ADD_DESCR("admin", basename(__FILE__)); $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 +75,7 @@ VALUES ('%s', 'N', '%s')", // Output message LOAD_TEMPLATE("admin_settings_saved", false, $msg); OUTPUT_HTML("
"); -} +} // END - if // Initialize array $THEMES = array( @@ -93,14 +89,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 +105,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 +116,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 +144,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