steffen: server/kolab-webadmin/kolab-webadmin/php/admin/include sieveutils.class.php, NONE, 1.1 menu.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/php/admin/include
In directory doto:/tmp/cvs-serv11633/kolab-webadmin/php/admin/include

Modified Files:
	menu.php 
Added Files:
	sieveutils.class.php 
Log Message:
first steps towards cleaning up the sieve stuff

--- NEW FILE: sieveutils.class.php ---
<?php
class SieveUtils {
  // Funny multiline string escaping in Sieve
  /*static*/ function dotstuff( $str ) {
    return str_replace( "\n.", "\n..", $str );
  }
  
  /*static*/ function undotstuff( $str ) {
    return str_replace( "\n..", "\n.", $str );
  }
  
  /*static*/ function getDeliverFolder( &$sieve ) {
    $inbox = false;
    $scripts = $sieve->listScripts();
    if( in_array( "kolab-deliver.siv", $scripts ) ) {
      $deliverscript = $sieve->getScript( $scriptname );
      
      if( ereg('fileinto "INBOX/(.*)";', $deliverscript, $regs ) ) {
	$inbox = $regs[1];
      }
    }
    return $inbox;
  }

  /*static*/ function getVacationAddresses( &$sieve ) {
    $script = $sieve->getScript( 'kolab-vacation.siv' );
    $addresses = false;
    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;
      }
    }
    return $addresses;
  }

  /*static*/ function getVacationDays( &$sieve ) {
    $script = $sieve->getScript( 'kolab-vacation.siv' );
    $days = false;
    if( ereg(':days ([0-9]+)', $script, $regs ) ) {
      $days = $regs[1];
    }
    return $days;
  }

  /*static*/ function getVacationText( &$sieve ) {
    $text = false;
    $script = $sieve->getScript( 'kolab-vacation.siv' );
    if( ereg("text:\r\n(.*)\r\n\\.\r\n", $script, $regs ) ) {
      $text = $regs[1];
      $text = str_replace( '\n', "\r\n", $text );
      $text = SieveUtils::undotstuff($text);
    }
    return $text;
  }

  /*static*/ function getForwardAddress( &$sieve ) {
    $address = false;
    $script = $sieve->getScript( 'kolab-forward.siv' );
    if( ereg('redirect "(.*)";', $script, $regs ) ) {
      $address = $regs[1];
    }
    return $address;
  }

  /*static*/ function getKeepOnServer( &$sieve ) {
    $script = $sieve->getScript( 'kolab-forward.siv' );
    return ereg('"; keep;', $script, $regs );    
  }

  function createScript( $scriptname ) {
    // TODO
  }
};
?>
Index: menu.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include/menu.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- menu.php	5 Nov 2004 13:31:09 -0000	1.6
+++ menu.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>
  *
@@ -96,7 +96,7 @@
 													   'url'  => 'erfrakon.php' ),
 												array( 'name' => _('Intevation'),
 													   'url'  => 'intevation.php' ),
-												array( 'name' => _('Klarälvdalens Datakonsult'),
+												array( 'name' => _('Klarälvdalens Datakonsult'),
 													   'url'  => 'kdab.php' ),
 												array( 'name' => _('Code Fusion'),
 													   'url'  => 'codefusion.php' ),





More information about the commits mailing list