gunnar: server/kolab-webadmin/kolab-webadmin/lib/KolabAdmin/Sieve/Segment Delivery.php, 1.3, 1.4
cvs at kolab.org
cvs at kolab.org
Thu Apr 1 15:38:21 CEST 2010
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/lib/KolabAdmin/Sieve/Segment
In directory doto:/tmp/cvs-serv16540/kolab-webadmin/lib/KolabAdmin/Sieve/Segment
Modified Files:
Delivery.php
Log Message:
Complete the handling of the folder delivery segment.
Index: Delivery.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/lib/KolabAdmin/Sieve/Segment/Delivery.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Delivery.php 1 Apr 2010 09:12:30 -0000 1.3
+++ Delivery.php 1 Apr 2010 13:38:19 -0000 1.4
@@ -30,11 +30,32 @@
extends KolabAdmin_Sieve_Segment
{
/**
+ * The segment type
+ *
+ * @var string
+ */
+ protected $type = 'delivery';
+
+ /**
* The folder to deliver mails to.
*
* @var string
*/
- private $_delivery_folder;
+ private $_delivery_folder = 'Inbox';
+
+ /**
+ * Constructor.
+ *
+ * @param string $script The current script segment
+ */
+ public function __construct($script = '')
+ {
+ $this->template = 'if allof (%s' . "\r\n" .
+ 'header :contains ["X-Kolab-Scheduling-Message"] ["FALSE"]) {' . "\r\n" .
+ 'fileinto "INBOX/%s";' . "\r\n" .
+ '}' . "\r\n";
+ parent::__construct($script);
+ }
/**
* Retrieve the delivery folder this script will deliver to.
@@ -56,5 +77,25 @@
public function setDeliveryFolder($folder)
{
$this->_delivery_folder = $folder;
+ }
+
+ public function getArguments()
+ {
+ return array(
+ ($this->isActive()) ? 'true, ## delivery enabled' : 'false, ## delivery disabled',
+ $this->getDeliveryFolder()
+ );
+ }
+
+ public function parseArguments($script)
+ {
+ $this->parseDeliveryFolder($script);
+ }
+
+ public function parseDeliveryFolder($script)
+ {
+ if (preg_match("/fileinto \"INBOX\/([^\"]*)\";/", $script, $regs)) {
+ $this->setDeliveryFolder($regs[1]);
+ }
}
}
More information about the commits
mailing list