public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
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
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 %}