Browse Source

[Web] Support old style app links

FreddleSpl0it 6 months ago
parent
commit
6f9c8deab7

+ 8 - 7
data/web/inc/functions.customize.inc.php

@@ -3,7 +3,7 @@ function customize($_action, $_item, $_data = null) {
 	global $redis;
 	global $redis;
 	global $lang;
 	global $lang;
   global $LOGO_LIMITS;
   global $LOGO_LIMITS;
-  
+
   switch ($_action) {
   switch ($_action) {
     case 'add':
     case 'add':
       // disable functionality when demo mode is enabled
       // disable functionality when demo mode is enabled
@@ -267,12 +267,13 @@ function customize($_action, $_item, $_data = null) {
             return false;
             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;
               }
               }
             }
             }
           }
           }

+ 10 - 2
data/web/inc/header.inc.php

@@ -39,7 +39,11 @@ for ($i = 0; $i < count($mailcow_apps_processed); $i++) {
     $hide_mailcow_apps = false;
     $hide_mailcow_apps = false;
   }
   }
   if (!empty($_SESSION['mailcow_cc_username'])){
   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){
 if ($app_links_processed){
@@ -49,7 +53,11 @@ if ($app_links_processed){
       $hide_mailcow_apps = false;
       $hide_mailcow_apps = false;
     }
     }
     if (!empty($_SESSION['mailcow_cc_username'])){
     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'];
+      }
     }
     }
   }
   }
 }
 }

+ 1 - 1
data/web/templates/base.twig

@@ -118,7 +118,7 @@
               </li>
               </li>
               {% endif %}
               {% endif %}
             {% endfor %}
             {% endfor %}
-            {% for row in app_links %}
+            {% for row in app_links_processed %}
               {% for key, val in row %}
               {% for key, val in row %}
               <li><a href="{{ val.user_link }}" class="dropdown-item">{{ key }}</a></li>
               <li><a href="{{ val.user_link }}" class="dropdown-item">{{ key }}</a></li>
               {% endfor %}
               {% endfor %}