Code

Added support for master-key encrypted passwords in gosa.conf
[gosa.git] / include / class_mail-methods-sendmail-cyrus.inc
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  */
20 require_once("class_mail-methods-cyrus.inc");
22 class mailMethodSendmailCyrus extends mailMethodCyrus
23 {
25   function mailMethodSendmailCyrus($config)
26   {
27     /* Check if the mail account identification attribute
28        is overridden in the configuration file
29      */
30     if(isset($config->current['MAIL_ATTRIB']) && !empty($config->current['MAIL_ATTRIB'])){
31       $new_uattrib= strtolower($config->current['MAIL_ATTRIB']);
32       if(in_array($new_uattrib,array("mail","uid"))){
33         $this->uattrib = $new_uattrib;
34       }else{
35         trigger_error(sprintf("Unsupported MAIL_ATTRIB in gosa configuration specified, use 'mail' or 'uid', instead of '%s'.",$new_uattrib));
36       }
37     }
39     $this->config= $config->data['SERVERS']['IMAP'];
40   }
42   function fixAttributesOnLoad(&$mailObject)
43   {
44     /* Remove possible local alias from forwarders */
45     $newForwarder= array();
46     foreach ($mailObject->gosaMailForwardingAddress as $addr){
47       if (!preg_match('/^\\\\/', $addr)){
48         $newForwarder[]= $addr;
49       }
50     }
51     $mailObject->gosaMailForwardingAddress= $newForwarder;
52   }
54   function fixAttributesOnStore(&$mailObject)
55   {
56     /* Add local user if checked */
57     if (preg_match("/L/", $mailObject->gosaMailDeliveryMode)) {
58       $mailObject->gosaMailForwardingAddress[]= "\\".$mailObject->uid;
59     }
60   }
62 }
64 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
65 ?>