steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user vacation.php, 1.9, 1.10

cvs at intevation.de cvs at intevation.de
Wed Mar 9 03:47:07 CET 2005


Author: steffen

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

Modified Files:
	vacation.php 
Log Message:
started adding extra features to vacation script

Index: vacation.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/vacation.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- vacation.php	7 Jan 2005 12:53:36 -0000	1.9
+++ vacation.php	9 Mar 2005 02:47:05 -0000	1.10
@@ -34,13 +34,18 @@
 
   // Update sieve script on server in case we have submit data
   if( $_REQUEST['submit'] ) {
-	$addresses = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', $_POST['addresses'] ) ), 'strlen') );
+	$addresses = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', $_REQUEST['addresses'] ) ), 'strlen') );
+	$maildomain = trim( $_REQUEST['maildomain'] );
+	$onlyspam = isset( $_REQUEST['onlyspam'] );
 	$script = 
 	  "require \"vacation\";\r\n\r\n".
 	  "require \"fileinto\";\r\n\r\n".
+	  (!empty($maildomain)?"if not address :contains :domain \"From\" \"".$maildomain."\" { keep; stop; }\r\n":"").
+	  ($onlyspam?"if header :contains \"X-Spam-Flag\" \"YES\" {\r\n":"").
 	  "vacation :addresses [ \"".join('", "', $addresses )."\" ] :days ".
 	  $_REQUEST['days']." text:\r\n".
-	  SieveUtils::dotstuff($_REQUEST['text'])."\r\n.\r\n;\r\n\r\n";
+	  SieveUtils::dotstuff($_REQUEST['text'])."\r\n.\r\n;\r\n\r\n".
+	  ($onlyspam?"}\r\n":"\r\n");
 	$active = isset($_REQUEST['active']);
 
 	if( PEAR::isError( $res = $sieve->installScript( $scriptname, $script, $active ) ) ) {
@@ -62,6 +67,8 @@
   $scripts = $sieve->listScripts();
   if( in_array( $scriptname, $scripts ) ) {
 	$script = $sieve->getScript($scriptname);
+	$maildomain = SieveUtils::getMailDomain( $script );
+	$onlyspam = SieveUtils::getOnlySpam( $script );
 	$addresses = SieveUtils::getVacationAddresses( $script );
 	$days = SieveUtils::getVacationDays( $script );
 	$text = SieveUtils::getVacationText( $script );
@@ -99,6 +106,8 @@
 $smarty->assign( 'active', $active );
 $smarty->assign( 'text', $text );
 $smarty->assign( 'addresses', $addresses );
+$smarty->assign( 'maildomain', $maildomain );
+$smarty->assign( 'onlyspam', $onlyspam );
 $smarty->assign( 'days', $days );
 $smarty->assign( 'inbox', $inbox );
 $smarty->assign( 'maincontent', 'vacation.tpl' );





More information about the commits mailing list