From e0456f4d679d2cac991d18aa3179984767e9f902 Mon Sep 17 00:00:00 2001 From: Konstantin Shalygin Date: Thu, 18 Apr 2019 14:17:51 +0700 Subject: [PATCH] Added support for 'signature default support addres' with user object city mapping. --- ldap.cfg.example | 9 +++++++++ ldap.defaults.php | 2 +- ldap.siga.php | 4 ++-- thunderbird.php | 19 ++++++++++++++----- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/ldap.cfg.example b/ldap.cfg.example index 71e0b98..0aabb4b 100644 --- a/ldap.cfg.example +++ b/ldap.cfg.example @@ -49,4 +49,13 @@ $siga_marketing = "Marketing bullshit
"; $siga_prefix = "Best regards, "; $siga_url = "
URL"; $siga_postfix = "
Some spam"; +$siga_support_address_domain = 'example.com'; +$siga_support_address_prefix = 'info.'; +$siga_support_address_postfix = ''; +$siga_support_address_default = "$siga_support_address_prefix" . "global" . "$siga_support_address_postfix" . "@" . "$siga_support_address_domain"; +$siga_support_address_array = array( + 'boston' => 'Boston', + 'de' => 'Delaware', + 'ny' => 'New York' +); ?> diff --git a/ldap.defaults.php b/ldap.defaults.php index 412306c..48b4b52 100644 --- a/ldap.defaults.php +++ b/ldap.defaults.php @@ -15,7 +15,7 @@ $ldap_attributes = array( "telexnumber", "pager", "homephone", + "homepostaladdress", "entryuuid" ); - ?> diff --git a/ldap.siga.php b/ldap.siga.php index 9997e4b..532ca0e 100644 --- a/ldap.siga.php +++ b/ldap.siga.php @@ -4,7 +4,7 @@ function getSignatureAll($siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap return $siga_prefix . $ldap_givenname_exploded . " " . $ldap_sn . ",
" . $ldap_title . $siga_url . $main_telnumber . " " . $ldap_extention . $ldap_pager . $siga_postfix; } -function getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $siga_url, $main_telnumber, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix) { - return $siga_marketing . $siga_prefix . $ldap_givenname_exploded . " " . $ldap_sn . ",
" . $ldap_title . $siga_url . $main_telnumber . " " . $ldap_extention . $ldap_pager . $ldap_im . $siga_postfix; +function getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $ldap_support_mail, $siga_url, $main_telnumber, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix) { + return $siga_marketing . $siga_prefix . $ldap_givenname_exploded . " " . $ldap_sn . ",
" . $ldap_title . $ldap_support_mail . $siga_url . $main_telnumber . " " . $ldap_extention . $ldap_pager . $ldap_im . $siga_postfix; } ?> diff --git a/thunderbird.php b/thunderbird.php index 30b3e43..a091c5d 100644 --- a/thunderbird.php +++ b/thunderbird.php @@ -1,6 +1,6 @@ +// (c) 2015-2019, Konstantin Shalygin require_once 'ldap.cfg.php'; require_once 'ldap.defaults.php'; @@ -47,11 +47,20 @@ if($im_enabled == true) { } } +if (isset($info[0]["homepostaladdress"])) { + $ldap_support_key = array_search($info[0]["homepostaladdress"][0], $siga_support_address_array); + if (isset($ldap_support_key)) { + $ldap_support_mail = "$siga_support_address_prefix$ldap_support_key$siga_support_address_postfix" . "@" . "$siga_support_address_domain"; + $ldap_support_mail = "
" . $ldap_support_mail . ""; + } +} else { + $ldap_support_mail = "
" . $siga_support_address_default . ""; +} + if (isset($info[0]["pager"])) { $ldap_pager = $info[0]["pager"][0]; $ldap_pager = "
+$ldap_pager"; -} -elseif (isset($info[0]["homephone"])) { +} elseif (isset($info[0]["homephone"])) { $ldap_pager = $info[0]["homephone"][0]; $ldap_pager = "
+$ldap_pager"; } else { @@ -65,7 +74,7 @@ $entry_manager = ldap_first_entry($link, $result_manager); if($entry_manager == false) { if($ldap_gid == $ldap_target_gid) { - $signature = getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $siga_url, $telnumber_all, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix); + $signature = getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $ldap_support_mail, $siga_url, $telnumber_all, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix); } else { $signature = getSignatureAll($siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $siga_url, $telnumber_all, $ldap_extention, $ldap_pager, $siga_postfix); } @@ -75,7 +84,7 @@ if($entry_manager == false) { if($counter < 1) { $signature = getSignatureAll($siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $siga_url, $telnumber_all, $ldap_extention, $ldap_pager, $siga_postfix); } else { - $signature = getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, $siga_url, $telnumber_manager, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix); + $signature = getSignatureManager($siga_marketing, $siga_prefix, $ldap_givenname_exploded, $ldap_sn, $ldap_title, "", $siga_url, $telnumber_manager, $ldap_extention, $ldap_pager, $ldap_im, $siga_postfix); } }