Browse code

Zeige User-Infos beim Login eines Mailaccount an

Bernd Wurst authored on12/03/2013 08:41:29
Showing3 changed files
... ...
@@ -142,7 +142,7 @@ if ($role != ROLE_ANONYMOUS) {
142 142
     $userinfo .= '<br />(Kunde '.$_SESSION['customerinfo']['customerno'].')';
143 143
   }
144 144
   elseif ($role & (ROLE_MAILACCOUNT | ROLE_VMAIL_ACCOUNT)) {
145
-    $userinfo .= '<strong>'.$_SESSION['mailaccount'].'</strong><br />(E-Mail-Account)';
145
+    $userinfo .= '<strong>'.$_SESSION['mailaccount'].'</strong><br />(Postfach von Benutzer <em>'.$_SESSION['userinfo']['username'].'</em>)';
146 146
   }
147 147
   $userinfo .= '</p>';
148 148
 }
... ...
@@ -153,7 +153,6 @@ if (isset($_SESSION['admin_user'])) {
153 153
   $userinfo .= '</p>';
154 154
 }
155 155
 
156
-
157 156
 $messages = get_messages();
158 157
 
159 158
 $BASE_PATH = $prefix;
... ...
@@ -316,7 +316,11 @@ $form .= '</div>';
316 316
 $form .= '<p><a href="#" onclick="moreForward();">'.icon_add().' Weiteren Empfänger hinzufügen</a></p>
317 317
 </div>';
318 318
 
319
-$form .= '<p><input type="submit" value="Speichern" />&#160;&#160;&#160;&#160;'.internal_link('vmail', 'Abbrechen').'</p>';
319
+$target = 'vmail';
320
+if ($accountlogin) {
321
+  $target = '../index/index';
322
+}
323
+$form .= '<p><input type="submit" value="Speichern" />&#160;&#160;&#160;&#160;'.internal_link($target, 'Abbrechen').'</p>';
320 324
 
321 325
 output(html_form('vmail_edit_mailbox', 'save', 'action=edit'.($id != 0 ? '&id='.$id : ''), $form));
322 326
 
... ...
@@ -266,6 +266,27 @@ function set_systemuser_password($uid, $newpass)
266 266
 }
267 267
 
268 268
 
269
+function user_for_mailaccount($account) 
270
+{
271
+  $result = db_query("SELECT uid FROM mail.courier_mailaccounts WHERE account='{$account}' LIMIT 1;");
272
+  if (mysql_num_rows($result) != 1) {
273
+    system_failure('Diese Adresse ist herrenlos?!');
274
+  }
275
+  $tmp = mysql_fetch_assoc($result);
276
+  return $tmp['uid'];
277
+}
278
+
279
+function user_for_vmail_account($account)
280
+{
281
+  $result = db_query("SELECT useraccount FROM mail.v_vmail_accounts WHERE CONCAT_WS('@', local, domainname)='{$account}' LIMIT 1;");
282
+  if (mysql_num_rows($result) != 1) {
283
+    system_failure('Diese Adresse ist herrenlos?!');
284
+  }
285
+  $tmp = mysql_fetch_assoc($result);
286
+  return $tmp['useraccount'];
287
+}
288
+
289
+
269 290
 function setup_session($role, $useridentity)
270 291
 {
271 292
   session_regenerate_id();
... ...
@@ -304,13 +325,17 @@ function setup_session($role, $useridentity)
304 325
     $id = $useridentity;
305 326
     if (! strstr($id, '@'))
306 327
       $id .= '@'.config('masterdomain');
328
+    $uid = user_for_mailaccount($id);
307 329
     $_SESSION['mailaccount'] = $id;
330
+    $_SESSION['userinfo'] = get_user_info($uid);
308 331
     DEBUG("We are mailaccount: {$_SESSION['mailaccount']}");
309 332
   }
310 333
   if ($role & ROLE_VMAIL_ACCOUNT)
311 334
   {
312 335
     $id = $useridentity;
336
+    $uid = user_for_vmail_account($id);
313 337
     $_SESSION['mailaccount'] = $id;
338
+    $_SESSION['userinfo'] = get_user_info($uid);
314 339
     DEBUG("We are virtual mailaccount: {$_SESSION['mailaccount']}");
315 340
   }
316 341