From 6f9c8deab76a652f23d2db18df7c1b43019765c3 Mon Sep 17 00:00:00 2001 From: FreddleSpl0it Date: Fri, 7 Mar 2025 09:56:20 +0100 Subject: [PATCH] [Web] Support old style app links --- 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 --git a/data/web/inc/functions.customize.inc.php b/data/web/inc/functions.customize.inc.php index 5aef7d720..8c0feb69f 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 b93787b02..9ab2ad174 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 4d0a30251..0ef5f668e 100644 --- a/data/web/templates/base.twig +++ b/data/web/templates/base.twig @@ -118,7 +118,7 @@ {% endif %} {% endfor %} - {% for row in app_links %} + {% for row in app_links_processed %} {% for key, val in row %}
  • {{ key }}
  • {% endfor %}