gunnar: server/kolab-webadmin/kolab-webadmin/www/admin/user deliver.php.in, 1.6, 1.7 forward.php.in, 1.5, 1.6 vacation.php.in, 1.7, 1.8

cvs at kolab.org cvs at kolab.org
Tue Apr 6 19:49:21 CEST 2010


Author: gunnar

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

Modified Files:
	deliver.php.in forward.php.in vacation.php.in 
Log Message:
And finally replace the code in the controllers with the new script generator.

Index: deliver.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/deliver.php.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- deliver.php.in	6 Apr 2010 10:18:55 -0000	1.6
+++ deliver.php.in	6 Apr 2010 17:49:19 -0000	1.7
@@ -62,29 +62,26 @@
     $errors[] = _('Error while connecting to Sieve service:');
     $errors[] = $sieve->getError();
   // Update sieve script on server in case we have submit data
-  } elseif( $_REQUEST['submit'] ) {
-	$inbox  = trim($_REQUEST['inbox']);
-	$active = isset($_REQUEST['active']);
-
-	  $script = 
-		"require \"fileinto\";\r\nif header :contains [\"X-Kolab-Scheduling-Message\"] [\"FALSE\"] {\r\nfileinto \"INBOX/$inbox\";\r\n}\r\n";
+  } else {
+	try {
+	  $handler = new KolabAdmin_Sieve($sieve);
 
-	  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 ($_REQUEST['submit']) {
+		$handler->fetchDeliverySegment()->setActive($_REQUEST['active']);
+		$handler->fetchDeliverySegment()->setDeliveryFolder($_REQUEST['inbox']);
+		$handler->store();
+		if ($_REQUEST['active']) {
+		  $messages[] = sprintf(_("Delivery to '%s' successfully activated"), $_REQUEST['inbox']);
+		} else {
+		  $messages[] =  sprintf(_("Delivery to '%s' successfully deactivated"), $_REQUEST['inbox']);
+		}
 	  }
-
-	  if( !$errors ) {
-		if( $active ) $messages[] = sprintf(_("Delivery to '%s' successfully activated"), $inbox);
-		else $messages[] =  sprintf(_("Delivery to '%s' successfully deactivated"), $inbox);
-	  }	
+	} catch (Exception $e) {
+	  $errors[] = $e->getMessage();
+	  $errors[] = 'Script was:';
+	  $errors[] = '<pre>' . $handler->getScript() . '</pre>';
+	}
   }
-
-  $handler = new KolabAdmin_Sieve($sieve);
 }
 
 /**** Insert into template and output ***/

Index: forward.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/forward.php.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- forward.php.in	6 Apr 2010 10:18:55 -0000	1.5
+++ forward.php.in	6 Apr 2010 17:49:19 -0000	1.6
@@ -63,33 +63,27 @@
     $errors[] = _('Error while connecting to Sieve service:');
     $errors[] = $sieve->getError();
   // Update sieve script on server in case we have submit data
-  } elseif( $_REQUEST['submit'] ) {
-	$address = trim($_REQUEST['address']);
-	$keep = isset($_REQUEST['keep']);
-	$active = isset($_REQUEST['active']);
-
-	if( empty( $address ) ) {
-	  $errors[] = _('Please enter an email address');
-	} else {
-	  $script = 
-		"require \"fileinto\";\r\nredirect \"".addslashes($address)."\";".($keep?" keep;":"");
-	  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( '' );
-	  }
+  } else {
+	try {
+	  $handler = new KolabAdmin_Sieve($sieve);
 
-	  if( !$errors ) {
-		if( $active ) $messages[] = sprintf(_("Forwarding to '%s' successfully activated"), $address);
-		else $messages[] =  sprintf(_("Forwarding to '%s' successfully deactivated"), $address);
+	  if ($_REQUEST['submit']) {
+		$handler->fetchForwardSegment()->setActive($_REQUEST['active']);
+		$handler->fetchForwardSegment()->setForwardAddress($_REQUEST['address']);
+		$handler->fetchForwardSegment()->setKeepOnServer($_REQUEST['keep']);
+		$handler->store();
+		if ($_REQUEST['active']) {
+		  $messages[] = sprintf(_("Forwarding to '%s' successfully activated"), $_REQUEST['address']);
+		} else {
+		  $messages[] = sprintf(_("Forwarding to '%s' successfully deactivated"), $_REQUEST['address']);
+		}
 	  }
+	} catch (Exception $e) {
+	  $errors[] = $e->getMessage();
+	  $errors[] = 'Script was:';
+	  $errors[] = '<pre>' . $handler->getScript() . '</pre>';
 	}
   }
-
-  $handler = new KolabAdmin_Sieve($sieve);
 }
 
 /**** Insert into template and output ***/

Index: vacation.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/vacation.php.in,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- vacation.php.in	6 Apr 2010 10:18:55 -0000	1.7
+++ vacation.php.in	6 Apr 2010 17:49:19 -0000	1.8
@@ -42,45 +42,38 @@
     $errors[] = _('Error while connecting to Sieve service:');
     $errors[] = $sieve->getError();
   // Update sieve script on server in case we have submit data
-  } elseif( $_REQUEST['submit'] ) {
-	$addresses = array_unique( array_filter( array_map( 'trim', preg_split( '/\n/', $_REQUEST['addresses'] ) ), 'strlen') );
-	$maildomain = trim( $_REQUEST['maildomain'] );
-	$reacttospam = isset( $_REQUEST['reacttospam'] );
-	$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".
-		KolabAdmin_Sieve_Script::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( '' );
-	  }
-	}
+  } else {
+	try {
+	  $handler = new KolabAdmin_Sieve($sieve);
 
-	if( !$errors ) {
-	  if( $active ) $messages[] = _('Vacation message successfully activated');
-	  else $messages[] = _('Vacation message successfully deactivated');
-	}
-  }
+	  if ($_REQUEST['submit']) {
+		$handler->fetchVacationSegment()->setActive($_REQUEST['active']);
+		$handler->fetchVacationSegment()->setDomain(trim($_REQUEST['maildomain']));
+		$handler->fetchVacationSegment()->setReactToSpam(!isset($_REQUEST['reacttospam']));
+		$handler->fetchVacationSegment()->setResendAfter($_REQUEST['days']);
+		$handler->fetchVacationSegment()->setResponse(trim($_REQUEST['text']));
 
-  $handler = new KolabAdmin_Sieve($sieve);
+		$addresses = array_unique(array_filter(array_map('trim', preg_split('/\n/', $_REQUEST['addresses'])), 'strlen'));
+		$handler->fetchVacationSegment()->setRecipientAddresses($addresses);
 
-  $addresses = $handler->fetchVacationSegment()->getRecipientAddresses();
-  if (empty($addresses)) {
-	$object = $ldap->read($auth->dn());
-	$addresses = array_merge((array) $object['mail'], (array) $object['alias']);
+		$handler->store();
+		if ($_REQUEST['active']) {
+		  $messages[] = _('Vacation message successfully activated');
+		} else {
+		  $messages[] = _('Vacation message successfully deactivated');
+		}
+	  } else {
+		$addresses = $handler->fetchVacationSegment()->getRecipientAddresses();
+		if (empty($addresses)) {
+		  $object = $ldap->read($auth->dn());
+		  $addresses = array_merge((array) $object['mail'], (array) $object['alias']);
+		}
+	  }
+	} catch (Exception $e) {
+	  $errors[] = $e->getMessage();
+	  $errors[] = 'Script was:';
+	  $errors[] = '<pre>' . $handler->getScript() . '</pre>';
+	}
   }
 }
 





More information about the commits mailing list