steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user forward.php, 1.6, 1.7 vacation.php, 1.6, 1.7
cvs at intevation.de
cvs at intevation.de
Thu Nov 18 03:16:42 CET 2004
Author: steffen
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv11633/kolab-webadmin/www/admin/user
Modified Files:
forward.php vacation.php
Log Message:
first steps towards cleaning up the sieve stuff
Index: forward.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/forward.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- forward.php 5 Nov 2004 13:31:09 -0000 1.6
+++ forward.php 18 Nov 2004 02:16:40 -0000 1.7
@@ -1,6 +1,6 @@
<?php
/*
- * Copyright (c) 2004 Klarälvdalens Datakonsult AB
+ * Copyright (c) 2004 KlarÃ��¿½ï¿½Ã¿Ã½Ã¯Ã¿Ã½Ã��¤lvdalens Datakonsult AB
*
* Written by Steffen Hansen <steffen at klaralvdalens-datakonsult.se>
*
@@ -21,6 +21,7 @@
require_once 'admin/include/mysmarty.php';
require_once 'admin/include/headers.php';
require_once 'admin/include/authenticate.php';
+require_once 'admin/include/sieveutils.class.php';
// Funny multiline string escaping in Sieve
function dotstuff( $str ) {
@@ -51,16 +52,10 @@
if( !$errors ) {
$obj = $ldap->read( $auth->dn() );
$sieve =& new Net_Sieve( $auth->uid(), $auth->password(), $obj['kolabHomeServer'][0] );
+ $scripts = $sieve->listScripts();
// Fetch script data from server
- $scripts = $sieve->listScripts();
- if( in_array( "kolab-deliver.siv", $scripts ) ) {
- $deliverscript = $sieve->getScript( $scriptname );
-
- if( ereg('fileinto "INBOX/(.*)";', $deliverscript, $regs ) ) {
- $inbox = $regs[1];
- }
- }
+ $inbox = SieveUtils::getDeliverFolder( $sieve );
// Update sieve script on server in case we have submit data
if( $_REQUEST['submit'] ) {
@@ -93,11 +88,8 @@
}
if( in_array( $scriptname, $scripts ) ) {
- $script = $sieve->getScript( $scriptname );
- if( ereg('redirect "(.*)";', $script, $regs ) ) {
- $address = $regs[1];
- }
- $keep = ereg('"; keep;', $script, $regs );
+ $address = SieveUtils::getForwardAddress( $sieve );
+ $keep = SieveUtils::getKeepOnServer( $sieve );
} else {
$address = '';
$keep = true;
Index: vacation.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/vacation.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- vacation.php 5 Nov 2004 13:31:09 -0000 1.6
+++ vacation.php 18 Nov 2004 02:16:40 -0000 1.7
@@ -1,6 +1,6 @@
<?php
/*
- (c) 2004 Klarälvdalens Datakonsult AB
+ (c) 2004 Klarälvdalens Datakonsult AB
This program is Free Software under the GNU General Public License (>=v2).
Read the file COPYING that comes with this packages for details.
@@ -9,15 +9,7 @@
require_once 'admin/include/mysmarty.php';
require_once 'admin/include/headers.php';
require_once 'admin/include/authenticate.php';
-
-// Funny multiline string escaping in Sieve
-function dotstuff( $str ) {
- return str_replace( "\n.", "\n..", $str );
-}
-
-function undotstuff( $str ) {
- return str_replace( "\n..", "\n.", $str );
-}
+require_once 'admin/include/sieveutils.class.php';
$errors = array();
if( (@include_once 'admin/include/Sieve.php' ) === false ) {
@@ -38,16 +30,10 @@
if( !$errors ) {
$obj = $ldap->read( $auth->dn() );
$sieve =& new Net_Sieve( $auth->uid(), $auth->password(), $obj['kolabHomeServer'][0] );
+ $scripts = $sieve->listScripts();
// Fetch script data from server
- $scripts = $sieve->listScripts();
- if( in_array( "kolab-deliver.siv", $scripts ) ) {
- $deliverscript = $sieve->getScript( $scriptname );
-
- if( ereg('fileinto "INBOX/(.*)";', $deliverscript, $regs ) ) {
- $inbox = $regs[1];
- }
- }
+ $inbox = SieveUtils::getDeliverFolder($sieve);
// Update sieve script on server in case we have submit data
if( $_REQUEST['submit'] ) {
@@ -57,7 +43,7 @@
"require \"fileinto\";\r\n\r\n".
"vacation :addresses [ \"".join('", "', $addresses )."\" ] :days ".
$_REQUEST['days']." text:\r\n".
- dotstuff($_REQUEST['text'])."\r\n.\r\n;\r\n\r\n";
+ SieveUtils::dotstuff($_REQUEST['text'])."\r\n.\r\n;\r\n\r\n";
if( $inbox ) {
$script .= "if header :contains [\"X-Kolab-Scheduling-Message\"] [\"FALSE\"] {\r\nfileinto \"INBOX/$inbox\";\r\n}\r\n";
}
@@ -79,24 +65,9 @@
}
if( in_array( $scriptname, $scripts ) ) {
- $script = $sieve->getScript( $scriptname );
- //debug("<pre>".htmlentities($script)."</pre>");
- if( ereg(':addresses \[([^\]]*)\]', $script, $regs ) ) {
- $tmp = split(',', $regs[1] );
- $addresses = array();
- foreach( $tmp as $a ) {
- if( ereg('^ *"(.*)" *$', $a, $regs ) ) $addresses[] = $regs[1];
- else $addresses[] = $a;
- }
- }
- if( ereg(':days ([0-9]+)', $script, $regs ) ) {
- $days = $regs[1];
- }
- if( ereg("text:\r\n(.*)\r\n\\.\r\n", $script, $regs ) ) {
- $text = $regs[1];
- $text = str_replace( '\n', "\r\n", $text );
- $text = undotstuff($text);
- }
+ $addresses = SieveUtils::getVacationAddresses( $sieve );
+ $days = SieveUtils::getVacationDays( $sieve );
+ $text = SieveUtils::getVacationText( $sieve );
}
if( !$addresses ) {
$object = $ldap->read( $auth->dn() );
More information about the commits
mailing list