A lot while() conditions rewritten to SQL_FETCHARRAY(), see bug #107, @TODO tags...
[mailer.git] / inc / modules / guest / action-themes.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 11/12/2004 *
4  * ================                             Last change: 11/12/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : action-themes.php                                *
8  * -------------------------------------------------------------------- *
9  * Short description : Theme selector                                   *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Theme-Auswahl                                    *
12  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
18  * This program is free software; you can redistribute it and/or modify *
19  * it under the terms of the GNU General Public License as published by *
20  * the Free Software Foundation; either version 2 of the License, or    *
21  * (at your option) any later version.                                  *
22  *                                                                      *
23  * This program is distributed in the hope that it will be useful,      *
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
26  * GNU General Public License for more details.                         *
27  *                                                                      *
28  * You should have received a copy of the GNU General Public License    *
29  * along with this program; if not, write to the Free Software          *
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
37         require($INC);
38 } elseif ((!EXT_IS_ACTIVE("theme")) && (!IS_ADMIN())) {
39         addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "theme");
40         return;
41 }
42
43 // Load all active designs (or all if admin)
44 $whereStatement = ""; $OUT = "";
45 if (!IS_ADMIN()) $whereStatement = " WHERE theme_active='Y'";
46 $result_themes = SQL_QUERY("SELECT theme_path FROM `{!_MYSQL_PREFIX!}_themes`".$whereStatement, __FILE__, __LINE__);
47 $num_themes = SQL_NUMROWS($result_themes);
48
49 if ($num_themes > 1) {
50         // If more than 1 is installed output selection box
51         $act = "";
52         if (!empty($GLOBALS['action'])) $act = SQL_ESCAPE($GLOBALS['action']);
53         $OUT = THEME_SELECTION_BOX("index", $act, $GLOBALS['what'], $result_themes);
54 } elseif (($num_themes == 1) || ((!IS_ADMIN()) && ($num_themes == 0))) {
55         // If there's only one just print it's name
56         define('__THEME_NAME', GET_CURR_THEME_NAME());
57         $OUT = LOAD_TEMPLATE("theme_one", true);
58 } elseif (IS_ADMIN()) {
59         // If there is no theme installed and there's an admin notify him!
60         $OUT = LOAD_TEMPLATE("admin_settings_saved", true, "<div class=\"admin_note\">{--ADMIN_NO_THEME_INSTALLED_WARNING--}</div>");
61 }
62
63 // Free memory
64 SQL_FREERESULT($result_themes);
65
66 // Load final box template
67 LOAD_TEMPLATE("theme_select_box", false, $OUT);
68
69 //
70 ?>