From e0feda08baeeedcd3449fb82709f87044237e348 Mon Sep 17 00:00:00 2001
From: Leif Andersson <leif.andersson@control.lth.se>
Date: Sat, 12 Sep 2015 19:05:21 +0200
Subject: [PATCH] Added handling of mailinglists when email changes.

---
 action.add_edit.php       |  5 +++--
 action.changeDatabase.php | 11 +++++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/action.add_edit.php b/action.add_edit.php
index 698e8ca..b2b054e 100644
--- a/action.add_edit.php
+++ b/action.add_edit.php
@@ -62,7 +62,7 @@ foreach ($simpleFields as $key => $name) {
   $place = $this->CreateInputText($id,$key,$person->$key,30);
   $smarty->assign('input_'.$key,$place);
 }
-  $smarty->assign('title_Andrad','Ändrad');
+$smarty->assign('title_Andrad','Ändrad');
 $smarty->assign('value_Andrad', $person->Andrad);
 
 foreach ($areaFields as $key => $name) {
@@ -89,13 +89,14 @@ if ($ID) {
 $smarty->assign('groupsButton', $place);
 
 
-
+$epost = $person->Epost;
 $place = '';
 foreach (Person::$firstFields as $field) {
   if (isset($params[$field])) {
     $place .= $this->CreateInputHidden($id, $field,$params[$field]);
   }
 }
+$place .= $this->CreateInputHidden($id, 'oldEpost',$epost);
 $smarty->assign('hidden',$place);
 
 
diff --git a/action.changeDatabase.php b/action.changeDatabase.php
index f376222..b328943 100644
--- a/action.changeDatabase.php
+++ b/action.changeDatabase.php
@@ -1,12 +1,15 @@
 <?php
+require_once 'lib/class.Group.php';
+
 if (!isset($gCms)) exit;
-// echo '<pre>'; print_r($params); echo '</pre>'; exit;
+//echo '<pre>'; print_r($params); echo '</pre>'; exit;
 
 if (! $this->CheckPermission('Use ReglerAddress')) {
   return $this->DisplayErrorPage($id, $params, $returnid,
 				 'ReglerAddress access denied.');
 }
 
+
 if (isset($params['doGroups'])) {
   $paramsB = array(); 
   foreach (Person::$firstFields as $field) {
@@ -33,7 +36,7 @@ if (isset($params['cancelUpdate'])) {
  
 if (isset($params['submit'])) {
   $record = new Person($params);
-  echo '<pre>'; print_r($record); echo '</pre>';
+  //echo '<pre>'; print_r($record); echo '</pre>';
   $record->updateRecord();
   $paramsB['module_message'] = 'Adressinformation ändrad';
   foreach (Person::$firstFields as $field) {
@@ -41,6 +44,10 @@ if (isset($params['submit'])) {
       $paramsB[$field] = $params[$field];
     }
   }
+  if (isset($params['oldEpost']) && isset($params['Epost'])) {
+    if ($params['oldEpost'] != $params['Epost']) Group::setMailLists();
+  }
+  
   $this->Redirect($id, 'defaultadmin', $returnid, $paramsB);
 }
 
-- 
GitLab