HTML->XHTML preparation (still *A LOT* to convert
[mailer.git] / inc / modules / admin / what-theme_edit.php
index 15418d191cb147ff6d22b74768d46c1670caee25..0feb999a63e73285300beeaac3adb29d15bad5c2 100644 (file)
  ************************************************************************/
 
 // 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__));
 
-global $CurrTheme;
+// Add description as navigation point
+ADD_DESCR("admin", __FILE__);
 
 // Check for selected themes
 $SEL = 0;
 if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);
-if ($SEL > 0)
-{
+if ($SEL > 0) {
        $OUT = "";
-       foreach ($_POST['sel'] as $id=>$sel)
-       {
+       foreach ($_POST['sel'] as $id => $sel) {
                $SQL = "";
                // Shall I de-/activate or delete themes?
-               if (isset($_POST['status']))
-               {
+               if (isset($_POST['status'])) {
                        // Change status
-                       if ($_POST['active'][$id] == 'Y')
-                       {
-                               $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='N' WHERE id='".$id."' LIMIT 1";
-                       }
-                        else
-                       {
-                               $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='Y' WHERE id='".$id."' LIMIT 1";
+                       if ($_POST['active'][$id] == "Y") {
+                               $SQL = "UPDATE `"._MYSQL_PREFIX."_themes` SET theme_active='N' WHERE id='".$id."' LIMIT 1";
+                       } else {
+                               $SQL = "UPDATE `"._MYSQL_PREFIX."_themes` SET theme_active='Y' WHERE id='".$id."' LIMIT 1";
                        }
                        $OUT = ADMIN_THEMES_UPDATED;
-               }
-                elseif (isset($_POST['del']))
-               {
+               } elseif (isset($_POST['del'])) {
                        // Delete themes
-                       $SQL = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_themes WHERE id='".$id."' LIMIT 1";
+                       $SQL = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_themes` WHERE id='".$id."' LIMIT 1";
                        $OUT = ADMIN_THEMES_DELETED;
                }
 
                // Run SQL command?
-               if (!empty($SQL)) $result = SQL_QUERY($SQL, __FILE__, __LINE__);
+               if (!empty($SQL)) {
+                       // Run it
+                       $result = SQL_QUERY($SQL, __FILE__, __LINE__);
+
+                       // Rebuild cache
+                       REBUILD_CACHE("themes", "them");
+               }
        }
 
        // Output generated?
        if (empty($OUT)) ADMIN_THEME_NO_OUTPUT;
 } elseif (!empty($_GET['default_theme'])) {
-       // Save theme
+       // Escape string from input
        $POST['default_theme'] = SQL_ESCAPE($_GET['default_theme']);
-       set_session("mxchange_theme", $POST['default_theme'], (time() + 60*60*24*365), COOKIE_PATH);
+
+       // Set session
+       set_session('mxchange_theme', $POST['default_theme']);
+
+       // Set it in config and current theme as well
+       global $currTheme;
+       $currTheme = $POST['default_theme'];
+       $_CONFIG['default_theme'] = $POST['default_theme'];
+
+       // Save theme
        ADMIN_SAVE_SETTINGS($POST);
 }
 
@@ -90,17 +98,15 @@ $THEME_MODE = "test";
 
 // Generate output lines for the template
 $OUT = ""; $SW = 2;
-$result = SQL_QUERY("SELECT id, theme_path, theme_active, theme_ver FROM "._MYSQL_PREFIX."_themes ORDER BY theme_path", __FILE__, __LINE__);
-if (SQL_NUMROWS($result) > 0)
-{
-       while(list($id, $unix, $active, $ver) = SQL_FETCHROW($result))
-       {
+$result = SQL_QUERY("SELECT id, theme_path, theme_active, theme_ver, theme_name FROM `"._MYSQL_PREFIX."_themes` ORDER BY theme_path", __FILE__, __LINE__);
+if (SQL_NUMROWS($result) > 0) {
+       while(list($id, $unix, $active, $ver, $name) = SQL_FETCHROW($result)) {
                // Load theme in test mode
                require(PATH."theme/".$unix."/theme.php");
 
                // Is the loaded theme name != current theme name?
                $LINK = $unix;
-               if ($unix != $CurrTheme) $LINK = "<A href=\"".URL."/modules.php?module=admin&amp;what=theme_edit&amp;default_theme=".$unix."\" title=\"".ADMIN_SET_AS_NEW_THEME."\">".$unix."</A>";
+               if ($unix != GET_CURR_THEME()) $LINK = "<a href=\"".URL."/modules.php?module=admin&amp;what=theme_edit&amp;default_theme=".$unix."\" title=\"".ADMIN_SET_AS_NEW_THEME."\">".$unix."</a>";
 
                // Prepare data for the row template
                $content = array(
@@ -108,9 +114,9 @@ if (SQL_NUMROWS($result) > 0)
                        'id'        => $id,
                        'active'    => $active,
                        'link'      => $LINK,
-                       'name'      => $THEME_NAME,
+                       'name'      => $name,
                        'is_act'    => TRANSLATE_YESNO($active),
-                       'email'     => "<A href=\"mailto:".$THEME_EMAIL."?Subject=[Theme:] ".$THEME_NAME." (".$unix.")"."\">".$THEME_AUTHOR."</A>",
+                       'email'     => "<a href=\"mailto:".$THEME_EMAIL."?Subject=[Theme:] ".$THEME_NAME." (".$unix.")"."\">".$THEME_AUTHOR."</a>",
                        'url_link'  => DEREFERER($THEME_URL),
                        'url_title' => $THEME_URL,
                        'ver'       => $ver,
@@ -123,9 +129,7 @@ if (SQL_NUMROWS($result) > 0)
 
        // Free memory
        SQL_FREERESULT($result);
-}
- else
-{
+} else {
                // No themes found???
        $OUT .= "<TR>
   <TD colspan=\"7\" class=\"bottom2\" height=\"60\">