Renamed ifSqlHasZeroNums() to ifSqlHasZeroNumRows() and improved some queries.
[mailer.git] / inc / modules / admin / what-theme_edit.php
index 1e4c1d3d7b2e20e690149d4649efac877c3d742a..e1e60490fe0c846ca50d7c47b8c3ef4a07537380 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 02/12/2004 *
- * ================                             Last change: 02/12/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 02/12/2004 *
+ * ===================                          Last change: 02/12/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-theme_edit.php                              *
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2015 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
  ************************************************************************/
 
 // Some security stuff...
-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__, generateExtensionInactiveNotInstalledMessage('theme'));
-       return;
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
+} // END - if
 
 // Add description as navigation point
-ADD_DESCR('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
 // Check for selected themes
-$SEL = 0;
-if (REQUEST_ISSET_POST('sel')) $SEL = countPostSelection();
-if ($SEL > 0) {
+if (ifPostContainsSelections()) {
        $OUT = '';
-       foreach (REQUEST_POST('sel') as $id => $sel) {
+       foreach (postRequestElement('sel') as $id => $sel) {
                $sql = '';
                // Shall I de-/activate or delete themes?
-               if (REQUEST_ISSET_POST(('status'))) {
+               if (isPostRequestElementSet('status')) {
                        // Change status
-                       if (REQUEST_POST('active', $id) == 'Y') {
-                               $sql = "UPDATE `{!_MYSQL_PREFIX!}_themes` SET theme_active='N' WHERE `id`='".$id."' LIMIT 1";
+                       if (postRequestElement('active', $id) == 'Y') {
+                               $sql = "UPDATE `{?_MYSQL_PREFIX?}_themes` SET `theme_active`='N' WHERE `id`=%s LIMIT 1";
                        } else {
-                               $sql = "UPDATE `{!_MYSQL_PREFIX!}_themes` SET theme_active='Y' WHERE `id`='".$id."' LIMIT 1";
+                               $sql = "UPDATE `{?_MYSQL_PREFIX?}_themes` SET `theme_active`='Y' WHERE `id`=%s LIMIT 1";
                        }
-                       $OUT = getMessage('ADMIN_THEMES_UPDATED');
-               } elseif (REQUEST_ISSET_POST('del')) {
+                       $OUT = '{--ADMIN_THEMES_UPDATED--}';
+               } elseif (isFormSent('delete')) {
                        // Delete themes
-                       $sql = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_themes` WHERE `id`='".$id."' LIMIT 1";
-                       $OUT = getMessage('ADMIN_THEMES_DELETED');
+                       $sql = "DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_themes` WHERE `id`=%s LIMIT 1";
+                       $OUT = '{--ADMIN_THEMES_DELETED--}';
                }
 
                // Run SQL command?
                if (!empty($sql)) {
                        // Run it
-                       $result = SQL_QUERY($sql, __FILE__, __LINE__);
+                       $result = sqlQueryEscaped($sql, array(bigintval($id)), __FILE__, __LINE__);
 
                        // Rebuild cache
-                       rebuildCacheFiles("themes", "them");
+                       rebuildCache('themes', 'themes');
                } // END - if
-       }
+       } // END - foreach
 
        // Output generated?
-       if (empty($OUT)) $OUT = getMessage('ADMIN_THEME_NO_OUTPUT');
-} elseif (REQUEST_ISSET_GET(('default_theme'))) {
+       if (empty($OUT)) $OUT = '{--ADMIN_THEME_NO_OUTPUT--}';
+} elseif (isGetRequestElementSet('default_theme')) {
        // Escape string from input
-       $POST['default_theme'] = REQUEST_GET(('default_theme'));
+       $postData['default_theme'] = getRequestElement('default_theme');
 
        // Set session
-       setSession('mxchange_theme', $POST['default_theme']);
+       setMailerTheme($postData['default_theme']);
 
        // Set it in config and current theme as well
-       $GLOBALS['curr_theme'] = $POST['default_theme'];
-       setConfigEntry('default_theme', $POST['default_theme']);
+       setConfigEntry('default_theme', $postData['default_theme']);
 
        // Save theme
-       ADMIN_SAVE_SETTINGS($POST);
+       adminSaveSettings($postData);
 }
 
+// Init rows
+$OUT = '';
+
 // Switch to testing mode
 $GLOBALS['theme_mode'] = 'test';
 
-// Generate output lines for the template
-$OUT = ''; $SW = 2;
-$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 ($content = SQL_FETCHARRAY($result)) {
-               // Construct IFN
-               $INC = sprintf("theme/%s/theme.php", $content['theme_path']);
-
-               // Load theme in test mode
-               loadInclude($INC);
-
-               // Is the loaded theme name != current theme name?
-               $LINK = $content['theme_path'];
-               if ($content['theme_path'] != getCurrentTheme()) $LINK = "<a href=\"{!URL!}/modules.php?module=admin&amp;what=theme_edit&amp;default_theme=".$content['theme_path']."\" title=\"{--ADMIN_SET_AS_NEW_THEME--}\">".$content['theme_path']."</a>";
-
-               // Prepare data for the row template
-               $content = array(
-                       'sw'        => $SW,
-                       'id'        => $content['id'],
-                       'active'    => $content['theme_active'],
-                       'link'      => $LINK,
-                       'name'      => $content['theme_name'],
-                       'is_act'    => translateYesNo($content['theme_active']),
-                       'email'     => "<a href=\"mailto:".$GLOBALS['theme_data']['email']."?Subject=[Theme:] ".$GLOBALS['theme_data']['name']." (".$content['theme_path'].")'.'\">".$GLOBALS['theme_data']['author']."</a>",
-                       'url_link'  => DEREFERER($GLOBALS['theme_data']['url']),
-                       'url_title' => $GLOBALS['theme_data']['url'],
-                       'ver'       => $content['theme_ver'],
-               );
-
-               // Load row template and switch color
-               $OUT .= LOAD_TEMPLATE("admin_theme_edit_row", true, $content);
-               $SW = 3 - $SW;
-       }
+$result = sqlQuery("SELECT
+       `id`,
+       `theme_path`,
+       `theme_active`,
+       `theme_ver` AS `theme_version`,
+       `theme_name`
+FROM
+       `{?_MYSQL_PREFIX?}_themes`
+ORDER BY
+       `theme_path` ASC", __FILE__, __LINE__);
+
+if (!ifSqlHasZeroNumRows($result)) {
+       while ($content = sqlFetchArray($result)) {
+               // Is the theme readable?
+               if (isThemeReadable($content['theme_path'])) {
+                       // Load theme in test mode
+                       loadInclude(sprintf('theme/%s/theme.php', $content['theme_path']));
+
+                       // Copy data from theme to content
+                       $content['theme_url'] = $GLOBALS['theme_data']['url'];
+
+                       // Is the loaded theme name != current theme name?
+                       $content['link'] = $content['theme_path'];
+                       if ($content['theme_path'] != getCurrentTheme()) {
+                               $content['link'] = '<a href="{%url=modules.php?module=admin&amp;what=theme_edit&amp;default_theme=' . $content['theme_path'] . '%}" title="{--ADMIN_SET_AS_DEFAULT_THEME--}">' . $content['theme_path'] . '</a>';
+                       } // END - if
+
+                       // Prepare data for the row template
+                       $content['email'] = '<a href="mailto:' . $GLOBALS['theme_data']['email'] . '?Subject=[Theme:] ' . $GLOBALS['theme_data']['name'] . ' (' . $content['theme_path'] . ')\>' . $GLOBALS['theme_data']['author'] . '</a>';
+
+                       // Load row template and switch color
+                       $OUT .= loadTemplate('admin_edit_theme_row', TRUE, $content);
+               } else {
+                       // Not readable
+                       $OUT .= loadTemplate('admin_edit_theme_row_404', TRUE, $content);
+               }
+       } // END - while
 
        // Free memory
-       SQL_FREERESULT($result);
+       sqlFreeResult($result);
 } else {
        // No themes found???
-       $OUT .= "<tr>
-  <td colspan=\"7\" class=\"bottom2\" height=\"60\">
-    ".LOAD_TEMPLATE('admin_settings_saved', true, getMessage('ADMIN_NO_THEMES_FOUND'))."
+       $OUT .= '<tr>
+  <td colspan="7" class="bottom" height="60">
+    ' . displayMessage('{--ADMIN_NO_THEMES_FOUND--}', TRUE) . '
   </td>
-</tr>\n";
+</tr>';
 }
 
-define('__THEME_LIST', $OUT);
-
 // Load template
-LOAD_TEMPLATE("admin_theme_edit");
+loadTemplate('admin_edit_theme', FALSE, $OUT);
 
-//
+// [EOF]
 ?>