diff --git a/gosa-plugins/mail/personal/mail/class_mailAccount.inc b/gosa-plugins/mail/personal/mail/class_mailAccount.inc
index 295ab5747b801bd6eb374b0fabd985551664e8f1..34c66cb5211b552c2ee3d13d4138e2429ccc9455 100644 (file)
*/
$this->initially_was_account = $this->is_account;
- /* Initialize vacation settings
+ /* Initialize vacation settings, if enabled.
*/
- if(empty($this->gosaVacationStart)){
+ if(empty($this->gosaVacationStart) && $this->mailMethod->vacationRangeEnabled()){
$this->gosaVacationStart = time();
$this->gosaVacationStop = time();
}
$smarty->assign("allowSieveManagement", $this->mailMethod->allowSieveManagement());
$smarty->assign("own_script", $this->sieveManagementUsed);
- print_a($this->multi_boxes);
-
/* _Multiple users vars_ */
foreach($this->attributes as $attr){
$u_attr = "use_".$attr;
$smarty->assign("months", $months);
$smarty->assign("years", $years);
$smarty->assign("days", $days);
-
}
/* fill filter settings
$this->is_modified= TRUE;
}
$this->gosaMailDeliveryMode= $tmp;
+
+ /* Get start/stop values for vacation scope of application
+ */
if($this->mailMethod->vacationRangeEnabled()){
if($this->acl_is_writeable("gosaVacationMessage") && preg_match("/V/",$this->gosaMailDeliveryMode)){
if(isset($_POST['gosaVacationStart'])){
$attrs = $obj->attributes;
}
if($obj){
+
+ /* Replace vacation start and end time */
+ if($this->mailMethod->vacationRangeEnabled()){
+ if(preg_match("/%start/",$contents)){
+ $contents = preg_replace("/%start/",date("d.m.Y",$this->gosaVacationStart),$contents);
+ }
+ if(preg_match("/%end/",$contents)){
+ $contents = preg_replace("/%end/",date("d.m.Y",$this->gosaVacationStop),$contents);
+ }
+ }else{
+ if(preg_match("/%start/",$contents)){
+ $contents = preg_replace("/%start/", _("unknown"),$contents);
+ }
+ if(preg_match("/%end/",$contents)){
+ $contents = preg_replace("/%end/", _("unknown"), $contents);
+ }
+ }
+
foreach ($attrs as $val){
if(preg_match("/dateOfBirth/",$val)){
if($obj->use_dob){
$obj->$val, $contents);
}
- /* Replace vacation start and end time */
- if(preg_match("/%start/",$contents)){
- $contents = preg_replace("/%start/",date("d.m.Y",$this->gosaVacationStart),$contents);
- }
- if(preg_match("/%end/",$contents)){
- $contents = preg_replace("/%end/",date("d.m.Y",$this->gosaVacationStop),$contents);
- }
}
}
$contents = ltrim(preg_replace("/^DESC:.*$/m","",$contents),"\n ");
}
}
}else{
- echo "Check sieve management here";
@DEBUG (DEBUG_MAIL, __LINE__, __FUNCTION__, __FILE__,
"User uses an own sieve script, skipping sieve update.".$str."</b>","");
+ $this->sieve_management->save();
}
}
}
$ret['flag_add'] = $flag_add;
$ret['flag_remove'] = $flag_remove;
- echo "1";
if($this->mailMethod->vacationRangeEnabled()){
- echo "2";
if(in_array("V",$flag_add)){
$ret['gosaVacationStart'] = $this->gosaVacationStart = $_POST['gosaVacationStart'];
$ret['gosaVacationStop'] = $this->gosaVacationStop = $_POST['gosaVacationStop'];
$message[]= msgPool::required(_("Spam folder"));
}
- if ( in_array("use_vacation",$this->multi_boxes) &&
+ if ($this->mailMethod->vacationRangeEnabled() && in_array("use_vacation",$this->multi_boxes) &&
preg_match('/V/', $this->gosaMailDeliveryMode) && $this->gosaVacationStart > $this->gosaVacationStop){
$message[]= msgPool::invalid(_("Vacation interval"));
}