From dd0130670fe3cab4c7e2c1ab4f3bf0d2b2d512b0 Mon Sep 17 00:00:00 2001
From: Denny Bortfeldt <denny@bortfeldt.net>
Date: Mon, 27 Jun 2016 18:02:16 -0400
Subject: [PATCH] When uploading a logo which is smaller than the current ispconfig one, then the logo will be on the left side of the header. In my opinion it will look better when it's centered. You could vote about it ;)
---
interface/web/tools/interface_settings.php | 102 +++++++++++++++++++++++++++++++++------------------
1 files changed, 66 insertions(+), 36 deletions(-)
diff --git a/interface/web/tools/interface_settings.php b/interface/web/tools/interface_settings.php
index f3751df..d7a1333 100644
--- a/interface/web/tools/interface_settings.php
+++ b/interface/web/tools/interface_settings.php
@@ -38,8 +38,8 @@
* End Form configuration
******************************************/
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
//* Check permissions for module
$app->auth->check_module_permissions('tools');
@@ -49,57 +49,87 @@
$app->load('tform_actions');
class page_action extends tform_actions {
-
+ var $_theme_changed = false;
+
function onLoad() {
- global $app, $conf, $tform_def_file;
+ global $app, $conf, $tform_def_file;
- // Loading template classes and initialize template
- if(!is_object($app->tpl)) $app->uses('tpl');
- if(!is_object($app->tform)) $app->uses('tform');
+ // Loading template classes and initialize template
+ if(!is_object($app->tpl)) $app->uses('tpl');
+ if(!is_object($app->tform)) $app->uses('tform');
- $app->tpl->newTemplate("tabbed_form.tpl.htm");
+ $app->tpl->newTemplate("tabbed_form.tpl.htm");
- // Load table definition from file
- $app->tform->loadFormDef($tform_def_file);
-
- // Importing ID
- $this->id = $_SESSION['s']['user']['userid'];
+ // Load table definition from file
+ $app->tform->loadFormDef($tform_def_file);
+
+ // Importing ID
+ $this->id = $_SESSION['s']['user']['userid'];
$_POST['id'] = $_SESSION['s']['user']['userid'];
- if(count($_POST) > 1) {
- $this->dataRecord = $_POST;
- $this->onSubmit();
- } else {
- $this->onShow();
- }
- }
-
- function onBeforeInsert() {
- global $app, $conf;
-
- if(!in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
- $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
+ if(count($_POST) > 1) {
+ $this->dataRecord = $_POST;
+ $this->onSubmit();
+ } else {
+ $this->onShow();
}
}
-
+
+ function onBeforeInsert() {
+ global $app, $conf;
+
+ if(!in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
+ $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
+ }
+ $this->updateSessionTheme();
+ }
+
function onInsert() {
die('No inserts allowed.');
}
-
+
function onBeforeUpdate() {
global $app, $conf;
-
+
if($conf['demo_mode'] == true && $this->id <= 3) $app->tform->errorMessage .= 'This function is disabled in demo mode.';
-
- $_SESSION['s']['user']['language'] = $_POST['language'];
- $_SESSION['s']['language'] = $_POST['language'];
-
- if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
+
+ if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
}
+ $this->updateSessionTheme();
}
-
-
+
+ function updateSessionTheme() {
+ global $app, $conf;
+
+ if($this->dataRecord['app_theme'] != 'default') {
+ $tmp_path = ISPC_THEMES_PATH."/".$this->dataRecord['app_theme'];
+ if(!@is_dir($tmp_path) || (@file_exists($tmp_path."/ispconfig_version") && trim(file_get_contents($tmp_path."/ispconfig_version")) != ISPC_APP_VERSION)) {
+ // fall back to default theme if this one is not compatible with current ispc version
+ $this->dataRecord['app_theme'] = 'default';
+ }
+ }
+ if($this->dataRecord['app_theme'] != $_SESSION['s']['user']['theme']) $this->_theme_changed = true;
+ $_SESSION['s']['theme'] = $this->dataRecord['app_theme'];
+ $_SESSION['s']['user']['theme'] = $_SESSION['s']['theme'];
+ $_SESSION['s']['user']['app_theme'] = $_SESSION['s']['theme'];
+ }
+
+ function onAfterInsert() {
+ $this->onAfterUpdate();
+ }
+
+ function onAfterUpdate() {
+ if($this->_theme_changed == true) {
+ // not the best way, but it works
+ header('Content-Type: text/html');
+ print '<script type="text/javascript">document.location.reload();</script>';
+ exit;
+ }
+ //else parent::onShow();
+ }
+
+
}
$page = new page_action;
--
Gitblit v1.9.1