* -------------------------------------------------------------------- *
* Kurzbeschreibung : *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: 856 $ *
+ * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. March 2009) $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: stelzi $ *
+ * 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 *
************************************************************************/
// 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(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "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 (REQUEST_ISSET_POST('sel')) $SEL = SELECTION_COUNT(REQUEST_POST('sel'));
+if ($SEL > 0) {
$OUT = "";
- foreach ($_POST['sel'] as $id=>$sel)
- {
- $SQL = "";
+ foreach (REQUEST_POST('sel') as $id => $sel) {
+ $sql = "";
// Shall I de-/activate or delete themes?
- if (isset($_POST['status']))
- {
+ if (REQUEST_ISSET_POST(('status'))) {
// Change status
- if ($_POST['active'][$id] == "Y")
- {
- $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='N' WHERE id='".$id."' LIMIT 1";
+ if (REQUEST_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";
}
- else
- {
- $SQL = "UPDATE "._MYSQL_PREFIX."_themes SET theme_active='Y' WHERE id='".$id."' LIMIT 1";
- }
- $OUT = ADMIN_THEMES_UPDATED;
- }
- elseif (isset($_POST['del']))
- {
+ $OUT = getMessage('ADMIN_THEMES_UPDATED');
+ } elseif (REQUEST_ISSET_POST('del')) {
// Delete themes
- $SQL = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_themes WHERE id='".$id."' LIMIT 1";
- $OUT = ADMIN_THEMES_DELETED;
+ $sql = "DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_themes` WHERE id='".$id."' LIMIT 1";
+ $OUT = getMessage('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
+ rebuildCacheFiles("themes", "them");
+ } // END - if
}
// Output generated?
- if (empty($OUT)) ADMIN_THEME_NO_OUTPUT;
-}
- elseif (!empty($_GET['default_theme']))
-{
+ if (empty($OUT)) $OUT = getMessage('ADMIN_THEME_NO_OUTPUT');
+} elseif (REQUEST_ISSET_GET(('default_theme'))) {
+ // Escape string from input
+ $POST['default_theme'] = REQUEST_GET(('default_theme'));
+
+ // Set session
+ set_session('mxchange_theme', $POST['default_theme']);
+
+ // Set it in config and current theme as well
+ $GLOBALS['curr_theme'] = $POST['default_theme'];
+ setConfigEntry('default_theme', $POST['default_theme']);
+
// Save theme
- $POST['default_theme'] = $_GET['default_theme'];
- @setcookie("mxchange_theme", $POST['default_theme'], (time() + 60*60*24*365), COOKIE_PATH);
- $_COOKIE['mxchange_theme'] = $POST['default_theme'];
- ADMIN_SAVE_SETTINGS($POST, "_config", "config='0'");
+ ADMIN_SAVE_SETTINGS($POST);
}
// Switch to testing mode
// 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 ($content = SQL_FETCHARRAY($result)) {
+ // Construct IFN
+ $INC = sprintf("theme/%s/theme.php", $content['theme_path']);
+
// Load theme in test mode
- require(PATH."theme/".$unix."/theme.php");
+ LOAD_INC($INC);
// Is the loaded theme name != current theme name?
- $LINK = $unix;
- if ($unix != $CurrTheme) $LINK = "<A href=\"".URL."/modules.php?module=admin&what=theme_edit&default_theme=".$unix."\" title=\"".ADMIN_SET_AS_NEW_THEME."\">".$unix."</A>";
+ $LINK = $content['theme_path'];
+ if ($content['theme_path'] != GET_CURR_THEME()) $LINK = "<a href=\"{!URL!}/modules.php?module=admin&what=theme_edit&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' => $id,
- 'active' => $active,
+ 'id' => $content['id'],
+ 'active' => $content['theme_active'],
'link' => $LINK,
- 'name' => $THEME_NAME,
- 'is_act' => TRANSLATE_YESNO($active),
- 'email' => "<A href=\"mailto:".$THEME_EMAIL."?Subject=[Theme:] ".$THEME_NAME." (".$unix.")"."\">".$THEME_AUTHOR."</A>",
+ 'name' => $content['theme_name'],
+ 'is_act' => TRANSLATE_YESNO($content['theme_active']),
+ 'email' => "<a href=\"mailto:".$THEME_EMAIL."?Subject=[Theme:] ".$THEME_NAME." (".$content['theme_path'].")"."\">".$THEME_AUTHOR."</a>",
'url_link' => DEREFERER($THEME_URL),
'url_title' => $THEME_URL,
- 'ver' => $ver,
+ 'ver' => $content['theme_ver'],
);
// Load row template and switch color
// Free memory
SQL_FREERESULT($result);
-}
- else
-{
+} else {
// No themes found???
- $OUT .= "<TR>
- <TD colspan=\"7\" class=\"bottom2\" height=\"60\">
- ".LOAD_TEMPLATE("admin_settings_saved", true, ADMIN_NO_THEMES_FOUND)."
- </TD>
-</TR>\n";
+ $OUT .= "<tr>
+ <td colspan=\"7\" class=\"bottom2\" height=\"60\">
+ ".LOAD_TEMPLATE("admin_settings_saved", true, getMessage('ADMIN_NO_THEMES_FOUND'))."
+ </td>
+</tr>\n";
}
define('__THEME_LIST', $OUT);