A lot while() conditions rewritten to SQL_FETCHARRAY(), see bug #107, @TODO tags...
[mailer.git] / inc / modules / guest / action-themes.php
index aedec8bacda7c243b9fb6d844df552d362798780..543fe3f1671862cd77cd2b6a21efbe87cdacf9c2 100644 (file)
  ************************************************************************/
 
 // Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
+} elseif ((!EXT_IS_ACTIVE("theme")) && (!IS_ADMIN())) {
+       addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "theme");
+       return;
 }
 
-// Already loaded?
-if (defined('__THEME_SELECTION_CONTENT')) return false;
-
 // Load all active designs (or all if admin)
 $whereStatement = ""; $OUT = "";
 if (!IS_ADMIN()) $whereStatement = " WHERE theme_active='Y'";
-$result_themes = SQL_QUERY("SELECT theme_path FROM "._MYSQL_PREFIX."_themes".$whereStatement, __FILE__, __LINE__);
+$result_themes = SQL_QUERY("SELECT theme_path FROM `{!_MYSQL_PREFIX!}_themes`".$whereStatement, __FILE__, __LINE__);
 $num_themes = SQL_NUMROWS($result_themes);
 
 if ($num_themes > 1) {
@@ -53,22 +53,18 @@ if ($num_themes > 1) {
        $OUT = THEME_SELECTION_BOX("index", $act, $GLOBALS['what'], $result_themes);
 } elseif (($num_themes == 1) || ((!IS_ADMIN()) && ($num_themes == 0))) {
        // If there's only one just print it's name
-       global $THEME_NAME;
-       define('__THEME_NAME', $THEME_NAME);
+       define('__THEME_NAME', GET_CURR_THEME_NAME());
        $OUT = LOAD_TEMPLATE("theme_one", true);
 } elseif (IS_ADMIN()) {
        // If there is no theme installed and there's an admin notify him!
-       $OUT = LOAD_TEMPLATE("admin_settings_saved", true, "<FONT class=\"admin_note\">".ADMIN_NO_THEME_INSTALLED_WARNING."</FONT>");
+       $OUT = LOAD_TEMPLATE("admin_settings_saved", true, "<div class=\"admin_note\">{--ADMIN_NO_THEME_INSTALLED_WARNING--}</div>");
 }
 
-// Remember
-define('__THEME_SELECTION_CONTENT', $OUT);
-
 // Free memory
 SQL_FREERESULT($result_themes);
 
 // Load final box template
-LOAD_TEMPLATE("theme_select_box");
+LOAD_TEMPLATE("theme_select_box", false, $OUT);
 
 //
 ?>