Browse Source

[Web] CSS fixes; Add OAUTH2_FORGET_SESSION_AFTER_LOGIN to vars.inc.php (wip); Do not run initdb on non-master cow

andryyy 5 years ago
parent
commit
7a4560ee28

+ 2 - 4
data/web/css/site/quarantine.css

@@ -15,10 +15,8 @@ table.footable>tbody>tr.footable-empty>td {
   overflow: visible !important;
 }
 
-@media screen and (max-width: 1280px) {
-  .table-responsive {
-    overflow-x: scroll !important;
-  }
+.table-responsive {
+  overflow-x: scroll !important;
 }
 
 .footer-add-item {

+ 8 - 0
data/web/inc/init_db.inc.php

@@ -12,6 +12,14 @@ function init_db_schema() {
       if ($stmt->fetch(PDO::FETCH_ASSOC)['version'] == $db_version) {
         return true;
       }
+      if (!preg_match('/y|yes/i', getenv('MASTER'))) {
+        $_SESSION['return'][] = array(
+          'type' => 'warning',
+          'log' => array(__FUNCTION__),
+          'msg' => 'Database not initialized: not running db_init on slave.'
+        );
+        return true;
+      }
     }
 
     $views = array(

+ 1 - 0
data/web/inc/prerequisites.inc.php

@@ -3,6 +3,7 @@
 // Slave does not serve UI
 if (!preg_match('/y|yes/i', getenv('MASTER'))) {
   header('Location: /SOGo', true, 307);
+  exit;
 }
 
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/vars.inc.php';

+ 4 - 0
data/web/inc/vars.inc.php

@@ -132,6 +132,8 @@ $ANONYMIZE_IPS = true;
 // OAuth2 settings
 $REFRESH_TOKEN_LIFETIME = 2678400;
 $ACCESS_TOKEN_LIFETIME = 86400;
+// Logout from mailcow after first OAuth2 session profile request
+$OAUTH2_FORGET_SESSION_AFTER_LOGIN = false;
 
 // MAILBOX_DEFAULT_ATTRIBUTES define default attributes for new mailboxes
 // These settings will not change existing mailboxes
@@ -155,6 +157,8 @@ $MAILBOX_DEFAULT_ATTRIBUTES['quarantine_notification'] = 'hourly';
 // Check dovecot.conf for further changes (e.g. shared namespace)
 $MAILBOX_DEFAULT_ATTRIBUTES['mailbox_format'] = 'maildir:';
 
+
+
 // Set visible Rspamd maps in mailcow UI, do not change unless you know what you are doing
 $RSPAMD_MAPS = array(
   'regex' => array(

+ 1 - 1
data/web/js/site/quarantine.js

@@ -57,7 +57,7 @@ jQuery(function($){
         {"name":"score","title": lang.spam_score, "type": "text"},
         {"name":"notified","title":lang.notified, "type": "text"},
         {"name":"created","formatter":function unix_time_format(tm) { var date = new Date(tm ? tm * 1000 : 0); return date.toLocaleString();},"title":lang.received,"style":{"width":"170px"}},
-        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right"},"style":{"width":"220px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
+        {"name":"action","filterable": false,"sortable": false,"style":{"text-align":"right"},"style":{"min-width":"200px"},"type":"html","title":lang.action,"breakpoints":"xs sm md"}
       ],
       "rows": $.ajax({
         dataType: 'json',

+ 4 - 0
data/web/oauth/profile.php

@@ -24,6 +24,10 @@ if (!empty($mailbox)) {
     ));
     exit;
   }
+  if ($GLOBALS['OAUTH2_FORGET_SESSION_AFTER_LOGIN'] === true) {
+    session_unset();
+    session_destroy();
+  }
 }
 echo json_encode(array(
   'success' => false