X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-theme_import.php;h=11061669b6bbf64584bb274e0e996ea3acfb5c0b;hb=9e604ce404fe7d2d8dafc259a5fb8cd826aec5e6;hp=0817993d288abbe32968de7f99f0f47981c6c344;hpb=f97a999e0737c0007ae9c3c26dfef49f75a175ac;p=mailer.git diff --git a/inc/modules/admin/what-theme_import.php b/inc/modules/admin/what-theme_import.php index 0817993d28..11061669b6 100644 --- a/inc/modules/admin/what-theme_import.php +++ b/inc/modules/admin/what-theme_import.php @@ -41,7 +41,7 @@ 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(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), 'theme'); + addFatalMessage(__FILE__, __LINE__, generateExtensionInactiveNotInstalledMessage('theme')); return; } @@ -52,36 +52,42 @@ ADD_DESCR('admin', __FILE__); $GLOBALS['theme_mode'] = 'test'; // Import selected theme if not present -if (REQUEST_ISSET_POST(('theme'))) { +if (REQUEST_ISSET_POST('theme')) { // Check if theme is there - if (!THEME_CHECK_EXIST(REQUEST_POST('theme'))) { + if (!ifThemeExists(REQUEST_POST('theme'))) { // Import theme $INC = sprintf("theme/%s/theme.php", SQL_ESCAPE(REQUEST_POST('theme'))); - if (INCLUDE_READABLE($INC)) { + + // 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`) VALUES ('%s','N','%s','%s')", - array(REQUEST_POST('theme'), $GLOBALS['theme_data']['version'], $GLOBALS['theme_data']['name']), __FILE__, __LINE__); + array( + REQUEST_POST('theme'), + $GLOBALS['theme_data']['version'], + $GLOBALS['theme_data']['name'] + ), __FILE__, __LINE__); // Destroy cache - rebuildCacheFiles("themes", "them"); + rebuildCacheFiles('themes', 'them'); // Prepare message - $msg = sprintf(getMessage('ADMIN_THEME_IMPORTED'), REQUEST_POST('theme')); + $message = sprintf(getMessage('ADMIN_THEME_IMPORTED'), REQUEST_POST('theme')); } else { // Include file not found! - $msg = sprintf(getMessage('ADMIN_THEME_INC_404'), REQUEST_POST('theme')); + $message = sprintf(getMessage('ADMIN_THEME_INC_404'), REQUEST_POST('theme')); } } else { // Theme already imported - $msg = sprintf(getMessage('ADMIN_THEME_ALREADY_INSTALLED'), REQUEST_POST('theme')); + $message = sprintf(getMessage('ADMIN_THEME_ALREADY_INSTALLED'), REQUEST_POST('theme')); } // Output message - LOAD_TEMPLATE('admin_settings_saved', false, $msg); + LOAD_TEMPLATE('admin_settings_saved', false, $message); } // END - if // Initialize array @@ -95,42 +101,38 @@ $THEMES = array( ); // Read directory "themes" -$handle = opendir(constant('PATH')."theme/") or app_die(__FILE__, __LINE__, "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 != "..") && (INCLUDE_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'][] = $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 - 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; foreach ($THEMES['theme_unix'] as $key => $unix) { // Already installed is default - $FOUND = "
{--ADMIN_THEME_ALREADY_INSTALLED--}
"; + $formContent = '
' . sprintf(getMessage('ADMIN_THEME_ALREADY_INSTALLED'), $unix) . '
'; // Check if current theme is already imported or not - if (!THEME_CHECK_EXIST($unix)) { + if (!ifThemeExists($unix)) { // Theme not installed - $FOUND = LOAD_TEMPLATE("admin_theme_import_form", true, $unix); + $formContent = LOAD_TEMPLATE('admin_theme_import_form', true, $unix); } // END - if // Prepare content @@ -143,11 +145,11 @@ foreach ($THEMES['theme_unix'] as $key => $unix) { 'link' => DEREFERER($THEMES['theme_url'][$key]), 'url' => $THEMES['theme_url'][$key], 'version' => $THEMES['theme_ver'][$key], - 'form' => $FOUND + 'form' => $formContent ); // Add row template - $OUT .= LOAD_TEMPLATE("admin_theme_import_row", true, $content); + $OUT .= LOAD_TEMPLATE('admin_theme_import_row', true, $content); // Switch color $SW = 3 - $SW; @@ -155,14 +157,14 @@ foreach ($THEMES['theme_unix'] as $key => $unix) { if (empty($OUT)) { // No themes found??? - $OUT .= LOAD_TEMPLATE("admin_theme_import_none", true, LOAD_TEMPLATE('admin_settings_saved', true, getMessage('ADMIN_NO_THEMES_FOUND'))); + $OUT .= LOAD_TEMPLATE('admin_theme_import_none', true, LOAD_TEMPLATE('admin_settings_saved', true, getMessage('ADMIN_NO_THEMES_FOUND'))); } // END - if // Set the generated list define('__THEME_LIST', $OUT); // Load template -LOAD_TEMPLATE("admin_theme_import"); +LOAD_TEMPLATE('admin_theme_import'); // ?>