1 <?php
2 /*
3 This code is part of GOsa (https://gosa.gonicus.de)
4 Copyright (C) 2004 Cajus Pollmeier
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
21 class mailMethodSendmailCyrus extends mailMethodCyrus
22 {
24 function mailMethodSendmailCyrus(&$config)
25 {
26 /* Check if the mail account identification attribute
27 is overridden in the configuration file
28 */
29 if(isset($config->current['MAIL_ATTRIB']) && !empty($config->current['MAIL_ATTRIB'])){
30 $new_uattrib= strtolower($config->current['MAIL_ATTRIB']);
31 if(in_array($new_uattrib,array("mail","uid"))){
32 $this->uattrib = $new_uattrib;
33 }else{
34 trigger_error(sprintf("Unsupported MAIL_ATTRIB in gosa configuration specified, use 'mail' or 'uid', instead of '%s'.", $new_uattrib));
35 }
36 }
38 $this->config= $config->data['SERVERS']['IMAP'];
39 }
41 function fixAttributesOnLoad(&$mailObject)
42 {
43 /* Remove possible local alias from forwarders */
44 $newForwarder= array();
45 foreach ($mailObject->gosaMailForwardingAddress as $addr){
46 if (!preg_match('/^\\\\/', $addr)){
47 $newForwarder[]= $addr;
48 }
49 }
50 $mailObject->gosaMailForwardingAddress= $newForwarder;
51 }
53 function fixAttributesOnStore(&$mailObject)
54 {
55 /* Add local user if checked */
56 if (preg_match("/L/", $mailObject->gosaMailDeliveryMode)) {
57 $mailObject->gosaMailForwardingAddress[]= "\\".$mailObject->uid;
58 }
59 }
61 }
63 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
64 ?>