steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user vacation.php.in, 1.2, 1.3

cvs at intevation.de cvs at intevation.de
Fri Jun 16 16:25:31 CEST 2006


Author: steffen

Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv8668/kolab-webadmin/www/admin/user

Modified Files:
	vacation.php.in 
Log Message:
Fix for issue1214 (vacation days minimum)

Index: vacation.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/vacation.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vacation.php.in	9 Mar 2006 21:27:22 -0000	1.2
+++ vacation.php.in	16 Jun 2006 14:25:29 -0000	1.3
@@ -38,22 +38,27 @@
 	$addresses = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', $_REQUEST['addresses'] ) ), 'strlen') );
 	$maildomain = trim( $_REQUEST['maildomain'] );
 	$reacttospam = isset( $_REQUEST['reacttospam'] );
-	$script = 
-	  "require \"vacation\";\r\n\r\n".
-	  (!empty($maildomain)?"if not address :domain :contains \"From\" \"".$maildomain."\" { keep; stop; }\r\n":"").
-	  ($reacttospam?"if header :contains \"X-Spam-Flag\" \"YES\" { keep; stop; }\r\n":"").
-	  "vacation :addresses [ \"".join('", "', $addresses )."\" ] :days ".
-	  $_REQUEST['days']." text:\r\n".
-	  SieveUtils::dotstuff(trim($_REQUEST['text']))."\r\n.\r\n;\r\n\r\n";
-	$active = isset($_REQUEST['active']);
-
-	if( PEAR::isError( $res = $sieve->installScript( $scriptname, $script, $active ) ) ) {
-	  $errors[] = $res->getMessage();
-	  $errors[] = 'Script was:';
-	  $errors[] = '<pre>'.MySmarty::htmlentities($script).'</pre>';
-	}
-	if( !$active && $sieve->getActive() === $scriptname ) {
-	  $sieve->setActive( '' );
+	$days = $_REQUEST['days'];
+	if( $days < 1 ) {
+	  $errors[] = _('Days must be at least one');
+	} else {
+	  $script = 
+		"require \"vacation\";\r\n\r\n".
+		(!empty($maildomain)?"if not address :domain :contains \"From\" \"".$maildomain."\" { keep; stop; }\r\n":"").
+		($reacttospam?"if header :contains \"X-Spam-Flag\" \"YES\" { keep; stop; }\r\n":"").
+		"vacation :addresses [ \"".join('", "', $addresses )."\" ] :days ".
+		$_REQUEST['days']." text:\r\n".
+		SieveUtils::dotstuff(trim($_REQUEST['text']))."\r\n.\r\n;\r\n\r\n";
+	  $active = isset($_REQUEST['active']);
+	  
+	  if( PEAR::isError( $res = $sieve->installScript( $scriptname, $script, $active ) ) ) {
+		$errors[] = $res->getMessage();
+		$errors[] = 'Script was:';
+		$errors[] = '<pre>'.MySmarty::htmlentities($script).'</pre>';
+	  }
+	  if( !$active && $sieve->getActive() === $scriptname ) {
+		$sieve->setActive( '' );
+	  }
 	}
 
 	if( !$errors ) {
@@ -77,7 +82,7 @@
 	$object = $ldap->read( $auth->dn() );
 	$addresses = array_merge( (array)$object['mail'], (array)$object['alias'] );
   }
-  if( $days === false ) $days = 7;
+  if( $days === false || $days < 1 ) $days = 7;
   if( $text === false ) {
 	$date = strftime(_('%x'));
 	$text = sprintf(





More information about the commits mailing list