NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Web] Support old style app links

6f9c8dea
FreddleSpl0it <[email protected]> 1 year, 5 months ago
data/web/inc/functions.customize.inc.php | 15 ++++++++-------
 data/web/inc/header.inc.php              | 12 ++++++++++--
 data/web/templates/base.twig             |  2 +-
 3 files changed, 19 insertions(+), 10 deletions(-)

Diff

diff --git a/data/web/inc/functions.customize.inc.php b/data/web/inc/functions.customize.inc.php
index 5aef7d72..8c0feb69 100644
--- a/data/web/inc/functions.customize.inc.php
+++ b/data/web/inc/functions.customize.inc.php
@@ -3,7 +3,7 @@ function customize($_action, $_item, $_data = null) {
 	global $redis;
 	global $lang;
   global $LOGO_LIMITS;
-  
+
   switch ($_action) {
     case 'add':
       // disable functionality when demo mode is enabled
@@ -267,12 +267,13 @@ function customize($_action, $_item, $_data = null) {
             return false;
           }
 
-          foreach($app_links as $key => $value){
-            foreach($value as $app => $details){
-              if (empty($details['user_link']) || empty($_SESSION['mailcow_cc_username'])){
-                $app_links[$key][$app]['user_link'] = $app_links[$key][$app]['link'];
-              } else {
-                $app_links[$key][$app]['user_link'] = str_replace('%u', $_SESSION['mailcow_cc_username'], $app_links[$key][$app]['user_link']);
+          // convert from old style
+          foreach($app_links as $i => $entry){
+            foreach($entry as $app => $link){
+              if (empty($link['link']) && empty($link['user_link'])){
+                $app_links[$i][$app] = array();
+                $app_links[$i][$app]['link'] = $link;
+                $app_links[$i][$app]['user_link'] = $link;
               }
             }
           }
diff --git a/data/web/inc/header.inc.php b/data/web/inc/header.inc.php
index b93787b0..9ab2ad17 100644
--- a/data/web/inc/header.inc.php
+++ b/data/web/inc/header.inc.php
@@ -39,7 +39,11 @@ for ($i = 0; $i < count($mailcow_apps_processed); $i++) {
     $hide_mailcow_apps = false;
   }
   if (!empty($_SESSION['mailcow_cc_username'])){
-    $mailcow_apps_processed[$i]['user_link'] = str_replace('%u', $_SESSION['mailcow_cc_username'], $mailcow_apps_processed[$i]['user_link']);
+    if ($app_links_processed[$i]['user_link']) {
+      $mailcow_apps_processed[$i]['user_link'] = str_replace('%u', $_SESSION['mailcow_cc_username'], $mailcow_apps_processed[$i]['user_link']);
+    } else {
+      $mailcow_apps_processed[$i]['user_link'] = $mailcow_apps_processed[$i]['link'];
+    }
   }
 }
 if ($app_links_processed){
@@ -49,7 +53,11 @@ if ($app_links_processed){
       $hide_mailcow_apps = false;
     }
     if (!empty($_SESSION['mailcow_cc_username'])){
-      $app_links_processed[$i][$key]['user_link'] = str_replace('%u', $_SESSION['mailcow_cc_username'], $app_links_processed[$i][$key]['user_link']);
+      if ($app_links_processed[$i][$key]['user_link']) {
+        $app_links_processed[$i][$key]['user_link'] = str_replace('%u', $_SESSION['mailcow_cc_username'], $app_links_processed[$i][$key]['user_link']);
+      } else {
+        $app_links_processed[$i][$key]['user_link'] = $app_links_processed[$i][$key]['link'];
+      }
     }
   }
 }
diff --git a/data/web/templates/base.twig b/data/web/templates/base.twig
index 4d0a3025..0ef5f668 100644
--- a/data/web/templates/base.twig
+++ b/data/web/templates/base.twig
@@ -118,7 +118,7 @@
               </li>
               {% endif %}
             {% endfor %}
-            {% for row in app_links %}
+            {% for row in app_links_processed %}
               {% for key, val in row %}
               <li><a href="{{ val.user_link }}" class="dropdown-item">{{ key }}</a></li>
               {% endfor %}