You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
(23) |
May
(11) |
Jun
(24) |
Jul
(18) |
Aug
(7) |
Sep
(6) |
Oct
(34) |
Nov
(6) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(16) |
Sep
(12) |
Oct
(2) |
Nov
|
Dec
(6) |
2009 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(4) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
From: <Zon...@us...> - 2007-10-09 09:28:30
|
Revision: 168 http://elma.svn.sourceforge.net/elma/?rev=168&view=rev Author: ZoneAdmin Date: 2007-10-09 02:28:08 -0700 (Tue, 09 Oct 2007) Log Message: ----------- changed references to $smarty.server.php_self to UPPERCASE Modified Paths: -------------- trunk/templates/simple/banner.tpl trunk/templates/simple/content_alias_delete.tpl trunk/templates/simple/content_alias_edit.tpl trunk/templates/simple/content_alias_new.tpl trunk/templates/simple/content_domain_delete.tpl trunk/templates/simple/content_domain_edit.tpl trunk/templates/simple/content_domain_new.tpl trunk/templates/simple/content_globaladmins_edit.tpl trunk/templates/simple/content_systemuser_delete.tpl trunk/templates/simple/content_systemuser_edit.tpl trunk/templates/simple/content_user_delete.tpl trunk/templates/simple/content_user_edit.tpl trunk/templates/simple/content_user_new.tpl Modified: trunk/templates/simple/banner.tpl =================================================================== --- trunk/templates/simple/banner.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/banner.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -1,11 +1,9 @@ <div id="Banner"> <h1>ELMA - Exim LDAP Mail Administrator - v0.3</h1> </div> - <!-- WILL BE IMPLEMENTET IN THE NEXT RELEASE <div id="Pathfinder"> {$get.module} > {$get.domain} > {$get.user} </div> - --> {* Modified: trunk/templates/simple/content_alias_delete.tpl =================================================================== --- trunk/templates/simple/content_alias_delete.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_alias_delete.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -5,7 +5,7 @@ <br /> <a href="index.php?module=users_list&domain={$domain}">{t}Back to domain overview{/t}</a> {else} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$alias.uid.0}@{$domain}</legend> <table> Modified: trunk/templates/simple/content_alias_edit.tpl =================================================================== --- trunk/templates/simple/content_alias_edit.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_alias_edit.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$alias.uid.0}@{$domain}</legend> <table> Modified: trunk/templates/simple/content_alias_new.tpl =================================================================== --- trunk/templates/simple/content_alias_new.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_alias_new.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{t}new alias{/t}</legend> <table> Modified: trunk/templates/simple/content_domain_delete.tpl =================================================================== --- trunk/templates/simple/content_domain_delete.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_domain_delete.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -5,7 +5,7 @@ <br /> <a href="index.php?module=domains_list">{t}Back to domains list{/t}</a> {else} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$domain}</legend> <table> Modified: trunk/templates/simple/content_domain_edit.tpl =================================================================== --- trunk/templates/simple/content_domain_edit.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_domain_edit.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post" onsubmit="markAllAdmins()"> + <form action="{$smarty.server.PHP_SELF}" method="post" onsubmit="markAllAdmins()"> <div> <input type="hidden" name="dc" value="{$domain.dc.0}" /> </div> Modified: trunk/templates/simple/content_domain_new.tpl =================================================================== --- trunk/templates/simple/content_domain_new.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_domain_new.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post" onsubmit="markAllAdmins()"> + <form action="{$smarty.server.PHP_SELF}" method="post" onsubmit="markAllAdmins()"> <fieldset> <legend>{t}new domain{/t}</legend> <table> Modified: trunk/templates/simple/content_globaladmins_edit.tpl =================================================================== --- trunk/templates/simple/content_globaladmins_edit.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_globaladmins_edit.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post" onsubmit="markAllAdmins()"> + <form action="{$smarty.server.PHP_SELF}" method="post" onsubmit="markAllAdmins()"> <table> <tr> <td> Modified: trunk/templates/simple/content_systemuser_delete.tpl =================================================================== --- trunk/templates/simple/content_systemuser_delete.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_systemuser_delete.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -5,7 +5,7 @@ <br /> <a href="index.php?module=systemusers_list">{t}Back to Systemusers overview{/t}</a> {else} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$user.uid.0}</legend> <table> Modified: trunk/templates/simple/content_systemuser_edit.tpl =================================================================== --- trunk/templates/simple/content_systemuser_edit.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_systemuser_edit.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -7,7 +7,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post" onsubmit="markAllDomains()"> + <form action="{$smarty.server.PHP_SELF}" method="post" onsubmit="markAllDomains()"> <div> <input type="hidden" name="mode" value="{$mode}"/> </div> Modified: trunk/templates/simple/content_user_delete.tpl =================================================================== --- trunk/templates/simple/content_user_delete.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_user_delete.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -5,7 +5,7 @@ <br /> <a href="index.php?module=users_list&domain={$domain}">{t}Back to domain overview{/t}</a> {else} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$user.uid.0}@{$domain}</legend> <table> Modified: trunk/templates/simple/content_user_edit.tpl =================================================================== --- trunk/templates/simple/content_user_edit.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_user_edit.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{$user.uid.0}@{$domain}</legend> <table> Modified: trunk/templates/simple/content_user_new.tpl =================================================================== --- trunk/templates/simple/content_user_new.tpl 2007-10-09 09:17:41 UTC (rev 167) +++ trunk/templates/simple/content_user_new.tpl 2007-10-09 09:28:08 UTC (rev 168) @@ -3,7 +3,7 @@ {if $smarty.post.submit} {include file="print_submit_status.tpl"} {/if} - <form action="{$smarty.server.php_self}" method="post"> + <form action="{$smarty.server.PHP_SELF}" method="post"> <fieldset> <legend>{t}new user{/t}</legend> <table> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-09 09:17:49
|
Revision: 167 http://elma.svn.sourceforge.net/elma/?rev=167&view=rev Author: dweuthen Date: 2007-10-09 02:17:41 -0700 (Tue, 09 Oct 2007) Log Message: ----------- exim filter migration Modified Paths: -------------- trunk/includes/eximfilter.inc.php Modified: trunk/includes/eximfilter.inc.php =================================================================== --- trunk/includes/eximfilter.inc.php 2007-10-02 15:13:43 UTC (rev 166) +++ trunk/includes/eximfilter.inc.php 2007-10-09 09:17:41 UTC (rev 167) @@ -1,7 +1,7 @@ <?php function loadEximFilterTemplates() { - $fields = array("require","template","regex","values"); + $fields = array("template","regex","values"); $rulesets = array("redirect","spamfilter","vacation"); foreach ( $rulesets as $ruleset ) { @@ -12,25 +12,23 @@ } // Redirect Template - $eximFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; - $eximFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; + $eximFilter["redirect"]["template"] = '%STATUS%deliver %RECIPIENT% # REDIRECT'; + $eximFilter["redirect"]["regex"] = '/^(.*)deliver (.*) # REDIRECT$/i'; $eximFilter["redirect"]["values"] = array("STATUS" => "#", - "RECIPIENT" => ""); + "RECIPIENT" => ""); // Spamfilter Template - $eximFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; - $eximFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; + $eximFilter["spamfilter"]["template"] = '%STATUS%if $header_X-Spam-Flag: contains "YES" then %FILTERACTION% endif # SPAMFILTER %ACTION%'; + $eximFilter["spamfilter"]["regex"] = '/^(.*)if \$header_X-Spam-Flag: contains "YES" then (.*) endif # SPAMFILTER (.*)$/i'; $eximFilter["spamfilter"]["values"] = array("STATUS" => "#", - "SIEVEACTION" => "", - "ACTION" => "MARK"); + "FILTERACTION" => "", + "ACTION" => "MARK"); // Vacation Template - $eximFilter["vacation"]["require"] = "\"vacation\""; - $eximFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; - $eximFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; + $eximFilter["vacation"]["template"] = '%STATUS%if personal then mail to $reply_address subject "Re: $h_subject:" text "%MESSAGE%" once $home/.vacation.db once_repeat 7d # VACATION'; + $eximFilter["vacation"]["regex"] = '/^(.*)if personal then mail to \$reply_address subject "Re: \$h_subject:" text "(.*)" once \$home\/\.vacation.db once_repeat 7d # VACATION$/i'; $eximFilter["vacation"]["values"] = array("STATUS" => "#", - "RECIPIENT" => "", - "MESSAGE" => ""); + "MESSAGE" => ""); return $eximFilter; } @@ -45,7 +43,9 @@ } } $eximFilterScript = implode("\n",$eximFilterStr)."\n"; - + +my_print_r($eximFilterScript); + return (eximFilterEscapeChars($eximFilterScript)); } @@ -69,6 +69,8 @@ } $line = array_shift($lines); } + + my_print_r($eximFilter); return $eximFilter; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 15:13:46
|
Revision: 166 http://elma.svn.sourceforge.net/elma/?rev=166&view=rev Author: dweuthen Date: 2007-10-02 08:13:43 -0700 (Tue, 02 Oct 2007) Log Message: ----------- renamed all variables from sieveFilter to eximFilter Modified Paths: -------------- trunk/includes/eximfilter.inc.php trunk/modules/content_domain_edit.php trunk/modules/content_user_edit.php Modified: trunk/includes/eximfilter.inc.php =================================================================== --- trunk/includes/eximfilter.inc.php 2007-10-02 14:57:21 UTC (rev 165) +++ trunk/includes/eximfilter.inc.php 2007-10-02 15:13:43 UTC (rev 166) @@ -1,75 +1,75 @@ <?php -function loadSieveTemplates() { +function loadEximFilterTemplates() { $fields = array("require","template","regex","values"); $rulesets = array("redirect","spamfilter","vacation"); foreach ( $rulesets as $ruleset ) { - $eximFilterFilter[$ruleset] = array(); + $eximFilter[$ruleset] = array(); foreach ( $fields as $field ) { - $eximFilterFilter[$ruleset][$field] = array(); + $eximFilter[$ruleset][$field] = array(); } } // Redirect Template - $eximFilterFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; - $eximFilterFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; - $eximFilterFilter["redirect"]["values"] = array("STATUS" => "#", + $eximFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; + $eximFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; + $eximFilter["redirect"]["values"] = array("STATUS" => "#", "RECIPIENT" => ""); // Spamfilter Template - $eximFilterFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; - $eximFilterFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; - $eximFilterFilter["spamfilter"]["values"] = array("STATUS" => "#", + $eximFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; + $eximFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; + $eximFilter["spamfilter"]["values"] = array("STATUS" => "#", "SIEVEACTION" => "", "ACTION" => "MARK"); // Vacation Template - $eximFilterFilter["vacation"]["require"] = "\"vacation\""; - $eximFilterFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; - $eximFilterFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; - $eximFilterFilter["vacation"]["values"] = array("STATUS" => "#", + $eximFilter["vacation"]["require"] = "\"vacation\""; + $eximFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; + $eximFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; + $eximFilter["vacation"]["values"] = array("STATUS" => "#", "RECIPIENT" => "", "MESSAGE" => ""); - return $eximFilterFilter; + return $eximFilter; } -function createSieveFilter ( $eximFilterValues ) { - $eximFilterFilter = loadSieveTemplates(); +function createEximFilter ( $eximFilterValues ) { + $eximFilter = loadEximFilterTemplates(); foreach ( array_keys($eximFilterValues) as $categorie ) { - $eximFilterFilterStr[$categorie] = $eximFilterFilter[$categorie]["template"]; + $eximFilterStr[$categorie] = $eximFilter[$categorie]["template"]; foreach ( $eximFilterValues[$categorie]["values"] as $keyword => $value ) { - $eximFilterFilterStr[$categorie] = str_replace("%$keyword%", $value, $eximFilterFilterStr[$categorie]); + $eximFilterStr[$categorie] = str_replace("%$keyword%", $value, $eximFilterStr[$categorie]); } } - $eximFilterFilterScript = implode("\n",$eximFilterFilterStr)."\n"; + $eximFilterScript = implode("\n",$eximFilterStr)."\n"; - return (eximFilterEscapeChars($eximFilterFilterScript)); + return (eximFilterEscapeChars($eximFilterScript)); } -function parseSieveFilter ( $eximFilterFilterString ) { - $eximFilterFilter = loadSieveTemplates(); +function parseEximFilter ( $eximFilterStr ) { + $eximFilter = loadEximFilterTemplates(); $lines = array(); - $lines = preg_split("/\n/",$eximFilterFilterString); + $lines = preg_split("/\n/",$eximFilterStr); $line = array_shift($lines); while ( isset($line) ) { - foreach ( array_keys($eximFilterFilter) as $ruleset ) { - if ( preg_match($eximFilterFilter[$ruleset]["regex"],$line,$values) ) { + foreach ( array_keys($eximFilter) as $ruleset ) { + if ( preg_match($eximFilter[$ruleset]["regex"],$line,$values) ) { array_shift($values); // don't need the whole string in $0 $i = 0; - foreach ( array_keys($eximFilterFilter[$ruleset]["values"]) as $valuename ) { - $eximFilterFilter[$ruleset]["values"][$valuename] = eximFilterUnescapeChars($values[$i]); + foreach ( array_keys($eximFilter[$ruleset]["values"]) as $valuename ) { + $eximFilter[$ruleset]["values"][$valuename] = eximFilterUnescapeChars($values[$i]); $i++; } } } $line = array_shift($lines); } - return $eximFilterFilter; + return $eximFilter; } /** Modified: trunk/modules/content_domain_edit.php =================================================================== --- trunk/modules/content_domain_edit.php 2007-10-02 14:57:21 UTC (rev 165) +++ trunk/modules/content_domain_edit.php 2007-10-02 15:13:43 UTC (rev 166) @@ -84,7 +84,7 @@ } else { $my_domain["mailstatus"] = "FALSE"; } - $my_domain["mailSieveFilter"] = createSieveFilter( $eximFilterValues ); + $my_domain["mailSieveFilter"] = createEximFilter( $eximFilterValues ); $validation_errors = validate_domain($my_domain); if (count($validation_errors) == 0) { $this->ldap->modifyDomain($my_domain); @@ -165,8 +165,8 @@ $this->smarty->assign("nonadmins", $nonadmins); } - /* parse Sieve filter and assign values */ - $eximFilterValues = parseSieveFilter($my_domain["maileximFilterfilter"][0]); + /* parse Exim filter and assign values */ + $eximFilterValues = parseEximFilter($my_domain["mailsievefilter"][0]); $this->smarty->assign("spamfiltersettings",$eximFilterValues["spamfilter"]["values"]); } Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-10-02 14:57:21 UTC (rev 165) +++ trunk/modules/content_user_edit.php 2007-10-02 15:13:43 UTC (rev 166) @@ -82,7 +82,7 @@ $my_user["mailstatus"] = "FALSE"; } - $my_user["mailSieveFilter"] = createSieveFilter( $eximFilterValues ); + $my_user["mailSieveFilter"] = createEximFilter( $eximFilterValues ); $my_user["userpassword"] = "{MD5}".base64_encode(pack("H*",md5($my_user["clearpassword"]))); $validation_errors = validate_user($my_user); @@ -107,7 +107,7 @@ $this->smarty->assign("mode","add"); } else { $my_user = $this->ldap->getUser($domain,$user); - $eximFilterValues = parseSieveFilter($my_user["maileximFilterfilter"][0]); + $eximFilterValues = parseEximFilter($my_user["mailsievefilter"][0]); $this->smarty->assign("mode","modify"); $this->smarty->assign("user",$my_user); $this->smarty->assign("vacationsettings",$eximFilterValues["vacation"]["values"]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 14:57:25
|
Revision: 165 http://elma.svn.sourceforge.net/elma/?rev=165&view=rev Author: dweuthen Date: 2007-10-02 07:57:21 -0700 (Tue, 02 Oct 2007) Log Message: ----------- corected include path for eximfilter.inc.php Modified Paths: -------------- trunk/index.php Modified: trunk/index.php =================================================================== --- trunk/index.php 2007-10-02 14:56:05 UTC (rev 164) +++ trunk/index.php 2007-10-02 14:57:21 UTC (rev 165) @@ -37,7 +37,7 @@ require("includes/ldap_functions.inc.php"); require("includes/my_functions.inc.php"); require("includes/crypt.inc.php"); -require("includes/sieve.inc.php"); +require("includes/eximfilter.inc.php"); if (isset($_POST["module"])) $module = $_POST["module"]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 14:56:09
|
Revision: 164 http://elma.svn.sourceforge.net/elma/?rev=164&view=rev Author: dweuthen Date: 2007-10-02 07:56:05 -0700 (Tue, 02 Oct 2007) Log Message: ----------- renamed sieve to eximFilter wherever it occurs Modified Paths: -------------- trunk/modules/content_domain_edit.php trunk/modules/content_user_edit.php Added Paths: ----------- trunk/includes/eximfilter.inc.php Removed Paths: ------------- trunk/includes/sieve.inc.php Copied: trunk/includes/eximfilter.inc.php (from rev 163, trunk/includes/sieve.inc.php) =================================================================== --- trunk/includes/eximfilter.inc.php (rev 0) +++ trunk/includes/eximfilter.inc.php 2007-10-02 14:56:05 UTC (rev 164) @@ -0,0 +1,103 @@ +<?php + +function loadSieveTemplates() { + $fields = array("require","template","regex","values"); + $rulesets = array("redirect","spamfilter","vacation"); + + foreach ( $rulesets as $ruleset ) { + $eximFilterFilter[$ruleset] = array(); + foreach ( $fields as $field ) { + $eximFilterFilter[$ruleset][$field] = array(); + } + } + + // Redirect Template + $eximFilterFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; + $eximFilterFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; + $eximFilterFilter["redirect"]["values"] = array("STATUS" => "#", + "RECIPIENT" => ""); + + // Spamfilter Template + $eximFilterFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; + $eximFilterFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; + $eximFilterFilter["spamfilter"]["values"] = array("STATUS" => "#", + "SIEVEACTION" => "", + "ACTION" => "MARK"); + + // Vacation Template + $eximFilterFilter["vacation"]["require"] = "\"vacation\""; + $eximFilterFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; + $eximFilterFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; + $eximFilterFilter["vacation"]["values"] = array("STATUS" => "#", + "RECIPIENT" => "", + "MESSAGE" => ""); + + return $eximFilterFilter; +} + +function createSieveFilter ( $eximFilterValues ) { + $eximFilterFilter = loadSieveTemplates(); + + foreach ( array_keys($eximFilterValues) as $categorie ) { + $eximFilterFilterStr[$categorie] = $eximFilterFilter[$categorie]["template"]; + foreach ( $eximFilterValues[$categorie]["values"] as $keyword => $value ) { + $eximFilterFilterStr[$categorie] = str_replace("%$keyword%", $value, $eximFilterFilterStr[$categorie]); + } + } + $eximFilterFilterScript = implode("\n",$eximFilterFilterStr)."\n"; + + return (eximFilterEscapeChars($eximFilterFilterScript)); +} + +function parseSieveFilter ( $eximFilterFilterString ) { + $eximFilterFilter = loadSieveTemplates(); + + $lines = array(); + $lines = preg_split("/\n/",$eximFilterFilterString); + $line = array_shift($lines); + + while ( isset($line) ) { + foreach ( array_keys($eximFilterFilter) as $ruleset ) { + if ( preg_match($eximFilterFilter[$ruleset]["regex"],$line,$values) ) { + array_shift($values); // don't need the whole string in $0 + $i = 0; + foreach ( array_keys($eximFilterFilter[$ruleset]["values"]) as $valuename ) { + $eximFilterFilter[$ruleset]["values"][$valuename] = eximFilterUnescapeChars($values[$i]); + $i++; + } + } + } + $line = array_shift($lines); + } + return $eximFilterFilter; +} + +/** +* Make a string safe for the encoded index. Replace CRLFs and & chars. +* +* @param string $string The string to make safe +* @return string The safe string +*/ +function eximFilterEscapeChars($string) +{ + $string = preg_replace("/\r\n/", "\\n", $string); + $string = preg_replace("/&/", "\&", $string); + return $string; +} + +/** +* Unescape a string made safe by escapeChars(). +* +* @param string $string The string to unescape +* @return string The unescaped string +*/ +function eximFilterUnescapeChars($string) +{ + $string = preg_replace("/\\\\n/", "\r\n", $string); + $string = preg_replace("/\\\&/", "&", $string); + return $string; +} + + +// vim:tabstop=4:expandtab:shiftwidth=4:filetype=php:syntax:ruler: +?> Deleted: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-10-02 12:26:36 UTC (rev 163) +++ trunk/includes/sieve.inc.php 2007-10-02 14:56:05 UTC (rev 164) @@ -1,103 +0,0 @@ -<?php - -function loadSieveTemplates() { - $fields = array("require","template","regex","values"); - $rulesets = array("redirect","spamfilter","vacation"); - - foreach ( $rulesets as $ruleset ) { - $sieveFilter[$ruleset] = array(); - foreach ( $fields as $field ) { - $sieveFilter[$ruleset][$field] = array(); - } - } - - // Redirect Template - $sieveFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; - $sieveFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; - $sieveFilter["redirect"]["values"] = array("STATUS" => "#", - "RECIPIENT" => ""); - - // Spamfilter Template - $sieveFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; - $sieveFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; - $sieveFilter["spamfilter"]["values"] = array("STATUS" => "#", - "SIEVEACTION" => "", - "ACTION" => "MARK"); - - // Vacation Template - $sieveFilter["vacation"]["require"] = "\"vacation\""; - $sieveFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; - $sieveFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; - $sieveFilter["vacation"]["values"] = array("STATUS" => "#", - "RECIPIENT" => "", - "MESSAGE" => ""); - - return $sieveFilter; -} - -function createSieveFilter ( $sieveValues ) { - $sieveFilter = loadSieveTemplates(); - - foreach ( array_keys($sieveValues) as $categorie ) { - $sieveFilterStr[$categorie] = $sieveFilter[$categorie]["template"]; - foreach ( $sieveValues[$categorie]["values"] as $keyword => $value ) { - $sieveFilterStr[$categorie] = str_replace("%$keyword%", $value, $sieveFilterStr[$categorie]); - } - } - $sieveFilterScript = implode("\n",$sieveFilterStr)."\n"; - - return (sieveEscapeChars($sieveFilterScript)); -} - -function parseSieveFilter ( $sieveFilterString ) { - $sieveFilter = loadSieveTemplates(); - - $lines = array(); - $lines = preg_split("/\n/",$sieveFilterString); - $line = array_shift($lines); - - while ( isset($line) ) { - foreach ( array_keys($sieveFilter) as $ruleset ) { - if ( preg_match($sieveFilter[$ruleset]["regex"],$line,$values) ) { - array_shift($values); // don't need the whole string in $0 - $i = 0; - foreach ( array_keys($sieveFilter[$ruleset]["values"]) as $valuename ) { - $sieveFilter[$ruleset]["values"][$valuename] = sieveUnescapeChars($values[$i]); - $i++; - } - } - } - $line = array_shift($lines); - } - return $sieveFilter; -} - -/** -* Make a string safe for the encoded index. Replace CRLFs and & chars. -* -* @param string $string The string to make safe -* @return string The safe string -*/ -function sieveEscapeChars($string) -{ - $string = preg_replace("/\r\n/", "\\n", $string); - $string = preg_replace("/&/", "\&", $string); - return $string; -} - -/** -* Unescape a string made safe by escapeChars(). -* -* @param string $string The string to unescape -* @return string The unescaped string -*/ -function sieveUnescapeChars($string) -{ - $string = preg_replace("/\\\\n/", "\r\n", $string); - $string = preg_replace("/\\\&/", "&", $string); - return $string; -} - - -// vim:tabstop=4:expandtab:shiftwidth=4:filetype=php:syntax:ruler: -?> Modified: trunk/modules/content_domain_edit.php =================================================================== --- trunk/modules/content_domain_edit.php 2007-10-02 12:26:36 UTC (rev 163) +++ trunk/modules/content_domain_edit.php 2007-10-02 14:56:05 UTC (rev 164) @@ -57,10 +57,10 @@ if (isset($_POST["submit"])) { // create array of submitted values - $sieveValues["spamfilter"]["values"] = array( STATUS => "", + $eximFilterValues["spamfilter"]["values"] = array( STATUS => "", ACTION => $_POST["nlo_spamfilteraction"]); if ( ! isset($_POST["nlo_spamfilterstatus"]) ) { - $sieveValues["spamfilter"]["values"]["STATUS"] = "#"; + $eximFilterValues["spamfilter"]["values"]["STATUS"] = "#"; } // remove all non LDAP objects from submited form @@ -84,7 +84,7 @@ } else { $my_domain["mailstatus"] = "FALSE"; } - $my_domain["mailSieveFilter"] = createSieveFilter( $sieveValues ); + $my_domain["mailSieveFilter"] = createSieveFilter( $eximFilterValues ); $validation_errors = validate_domain($my_domain); if (count($validation_errors) == 0) { $this->ldap->modifyDomain($my_domain); @@ -166,8 +166,8 @@ } /* parse Sieve filter and assign values */ - $sieveValues = parseSieveFilter($my_domain["mailsievefilter"][0]); - $this->smarty->assign("spamfiltersettings",$sieveValues["spamfilter"]["values"]); + $eximFilterValues = parseSieveFilter($my_domain["maileximFilterfilter"][0]); + $this->smarty->assign("spamfiltersettings",$eximFilterValues["spamfilter"]["values"]); } /** Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-10-02 12:26:36 UTC (rev 163) +++ trunk/modules/content_user_edit.php 2007-10-02 14:56:05 UTC (rev 164) @@ -58,17 +58,17 @@ if (isset($_POST["submit"])) { // create array of submitted values - $sieveValues["vacation"]["values"] = array( STATUS => "", + $eximFilterValues["vacation"]["values"] = array( STATUS => "", RECIPIENT => $_POST["uid"]."@".$domain, MESSAGE => $_POST["nlo_vacationmessage"]); if (! isset($_POST["nlo_vacationstatus"])) { - $sieveValues["vacation"]["values"]["STATUS"] = "#"; + $eximFilterValues["vacation"]["values"]["STATUS"] = "#"; } - $sieveValues["redirect"]["values"] = array( STATUS => "", + $eximFilterValues["redirect"]["values"] = array( STATUS => "", RECIPIENT => $_POST["nlo_redirectrecipient"]); if (! isset($_POST["nlo_redirectstatus"])) { - $sieveValues["redirect"]["values"]["STATUS"] = "#"; + $eximFilterValues["redirect"]["values"]["STATUS"] = "#"; } // remove all non LDAP objects from submited form @@ -82,7 +82,7 @@ $my_user["mailstatus"] = "FALSE"; } - $my_user["mailSieveFilter"] = createSieveFilter( $sieveValues ); + $my_user["mailSieveFilter"] = createSieveFilter( $eximFilterValues ); $my_user["userpassword"] = "{MD5}".base64_encode(pack("H*",md5($my_user["clearpassword"]))); $validation_errors = validate_user($my_user); @@ -107,11 +107,11 @@ $this->smarty->assign("mode","add"); } else { $my_user = $this->ldap->getUser($domain,$user); - $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); + $eximFilterValues = parseSieveFilter($my_user["maileximFilterfilter"][0]); $this->smarty->assign("mode","modify"); $this->smarty->assign("user",$my_user); - $this->smarty->assign("vacationsettings",$sieveValues["vacation"]["values"]); - $this->smarty->assign("redirectsettings",$sieveValues["redirect"]["values"]); + $this->smarty->assign("vacationsettings",$eximFilterValues["vacation"]["values"]); + $this->smarty->assign("redirectsettings",$eximFilterValues["redirect"]["values"]); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 12:26:37
|
Revision: 163 http://elma.svn.sourceforge.net/elma/?rev=163&view=rev Author: ZoneAdmin Date: 2007-10-02 05:26:36 -0700 (Tue, 02 Oct 2007) Log Message: ----------- added "Next-Step"-Choice to domain_new form fixed position of "Next Step"-String in table layout Modified Paths: -------------- trunk/modules/content_domain_new.php trunk/templates/simple/content_alias_new.tpl trunk/templates/simple/content_domain_new.tpl trunk/templates/simple/content_user_new.tpl Modified: trunk/modules/content_domain_new.php =================================================================== --- trunk/modules/content_domain_new.php 2007-10-02 12:07:01 UTC (rev 162) +++ trunk/modules/content_domain_new.php 2007-10-02 12:26:36 UTC (rev 163) @@ -56,6 +56,13 @@ // new domain created or existing domain altert if (isset($_POST["submit"])) { + if(!empty($_POST["nlo_next_step"])) { + $next_step = $_POST["nlo_next_step"]; + } + else { + $next_step = ""; + } + // remove all non LDAP objects from submited form // an the submit value $my_domain = remove_key_by_str($_POST,"nlo_"); @@ -90,6 +97,19 @@ if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); $domain = $my_domain["dc"]; + switch($next_step) { + case 'show_overview': + Header("Location: index.php?module=users_list&domain=" . urlencode($domain) ); + exit; + break; + case 'show_domain_list': + Header("Location: index.php?module=domains_list"); + exit; + break; + case 'add_another': + // nothing + break; + } } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/templates/simple/content_alias_new.tpl =================================================================== --- trunk/templates/simple/content_alias_new.tpl 2007-10-02 12:07:01 UTC (rev 162) +++ trunk/templates/simple/content_alias_new.tpl 2007-10-02 12:26:36 UTC (rev 163) @@ -43,7 +43,7 @@ </td> </tr> <tr> - <td> + <td valign="top"> {t}Next Step{/t} </td> <td> Modified: trunk/templates/simple/content_domain_new.tpl =================================================================== --- trunk/templates/simple/content_domain_new.tpl 2007-10-02 12:07:01 UTC (rev 162) +++ trunk/templates/simple/content_domain_new.tpl 2007-10-02 12:26:36 UTC (rev 163) @@ -102,6 +102,22 @@ </td> </tr> <tr> + <td colspan="2"> + <hr/> + </td> + </tr> + <tr> + <td valign="top"> + {t}Next Step{/t} + </td> + <td> + <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another domain{/t}<br /> + <input type="radio" name="nlo_next_step" value="show_domain_list" /> {t}Go to domain list{/t}<br /> + <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Edit newly created domain{/t}<br /> + </td> + </tr> + + <tr> <td colspan="2"> <hr /> </td> Modified: trunk/templates/simple/content_user_new.tpl =================================================================== --- trunk/templates/simple/content_user_new.tpl 2007-10-02 12:07:01 UTC (rev 162) +++ trunk/templates/simple/content_user_new.tpl 2007-10-02 12:26:36 UTC (rev 163) @@ -58,7 +58,7 @@ </td> </tr> <tr> - <td> + <td valign="top"> {t}Next Step{/t} </td> <td> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 12:07:18
|
Revision: 162 http://elma.svn.sourceforge.net/elma/?rev=162&view=rev Author: ZoneAdmin Date: 2007-10-02 05:07:01 -0700 (Tue, 02 Oct 2007) Log Message: ----------- Added "Backlink" to domain_delete confirmation Modified Paths: -------------- trunk/modules/content_domain_delete.php trunk/templates/simple/content_domain_delete.tpl Modified: trunk/modules/content_domain_delete.php =================================================================== --- trunk/modules/content_domain_delete.php 2007-10-02 09:51:44 UTC (rev 161) +++ trunk/modules/content_domain_delete.php 2007-10-02 12:07:01 UTC (rev 162) @@ -56,6 +56,7 @@ $submit_status = ldap_errno($this->ldap->cid); if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); + $this->smarty->assign("domain",$domain); } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/templates/simple/content_domain_delete.tpl =================================================================== --- trunk/templates/simple/content_domain_delete.tpl 2007-10-02 09:51:44 UTC (rev 161) +++ trunk/templates/simple/content_domain_delete.tpl 2007-10-02 12:07:01 UTC (rev 162) @@ -2,6 +2,8 @@ <h2>{t}Delete domain{/t} {$domain}</h2> {if $smarty.post.submit} {include file="print_submit_status.tpl"} + <br /> + <a href="index.php?module=domains_list">{t}Back to domains list{/t}</a> {else} <form action="{$smarty.server.php_self}" method="post"> <fieldset> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 09:51:54
|
Revision: 161 http://elma.svn.sourceforge.net/elma/?rev=161&view=rev Author: ZoneAdmin Date: 2007-10-02 02:51:44 -0700 (Tue, 02 Oct 2007) Log Message: ----------- "Next Step"-form elements should not be visible in systemuser_edit "modify" mode Modified Paths: -------------- trunk/templates/simple/content_systemuser_edit.tpl Modified: trunk/templates/simple/content_systemuser_edit.tpl =================================================================== --- trunk/templates/simple/content_systemuser_edit.tpl 2007-10-02 09:50:24 UTC (rev 160) +++ trunk/templates/simple/content_systemuser_edit.tpl 2007-10-02 09:51:44 UTC (rev 161) @@ -105,6 +105,7 @@ </table> </td> </tr> + {if $mode != "modify"} <tr> <td colspan="2"> <hr/> @@ -120,6 +121,7 @@ <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Go to user overview{/t}<br /> </td> </tr> + {/if} <tr> <td colspan="2"> <hr/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 09:50:27
|
Revision: 160 http://elma.svn.sourceforge.net/elma/?rev=160&view=rev Author: dweuthen Date: 2007-10-02 02:50:24 -0700 (Tue, 02 Oct 2007) Log Message: ----------- some layout problems resolved. Modified Paths: -------------- trunk/templates/simple/content_domain_new.tpl Modified: trunk/templates/simple/content_domain_new.tpl =================================================================== --- trunk/templates/simple/content_domain_new.tpl 2007-10-02 09:45:55 UTC (rev 159) +++ trunk/templates/simple/content_domain_new.tpl 2007-10-02 09:50:24 UTC (rev 160) @@ -43,15 +43,21 @@ </td> </tr> <tr> - <td> + <td colspan="2"> ACL - </td> - <td> - <table> + <table class="inside"> <tr> <td> {t}Administrators{/t} - <br /> + </td> + <td> + </td> + <td> + {t}available users{/t} + </td> + <tr/> + <tr> + <td> <select name="admins[]" size="8" multiple="multiple"> <optgroup label="{t}Systemusers{/t}"> {foreach from=$admins item=admin} @@ -70,18 +76,10 @@ </select> </td> <td> - <div> - <br /> - <br /> - <input type="button" name="delfromlist" value=">" onclick="delAdmin()" /> - <br /> - <br /> - <input type="button" name="addtolist" value="<" onclick="addAdmin()" /> - </div> + <input type="button" name="delfromlist" value=">" onclick="delAdmin()" /><br /> + <input type="button" name="addtolist" value="<" onclick="addAdmin()" /> </td> <td> - {t}available users{/t} - <br /> <select name="nonadmins[]" size="8" multiple="multiple"> <optgroup label="{t}Systemusers{/t}"> {foreach from=$nonadmins item=nonadmin} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 09:45:59
|
Revision: 159 http://elma.svn.sourceforge.net/elma/?rev=159&view=rev Author: ZoneAdmin Date: 2007-10-02 02:45:55 -0700 (Tue, 02 Oct 2007) Log Message: ----------- Added "Next Step" form element to systemusers Fixed typo in user_new template Modified Paths: -------------- trunk/modules/content_systemuser_delete.php trunk/modules/content_systemuser_edit.php trunk/templates/simple/content_systemuser_delete.tpl trunk/templates/simple/content_systemuser_edit.tpl trunk/templates/simple/content_user_new.tpl Modified: trunk/modules/content_systemuser_delete.php =================================================================== --- trunk/modules/content_systemuser_delete.php 2007-10-02 09:42:35 UTC (rev 158) +++ trunk/modules/content_systemuser_delete.php 2007-10-02 09:45:55 UTC (rev 159) @@ -56,6 +56,8 @@ $submit_status = ldap_errno($this->ldap->cid); if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); + $user["uid"][0] = $uid; + $this->smarty->assign("user",$user); } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/modules/content_systemuser_edit.php =================================================================== --- trunk/modules/content_systemuser_edit.php 2007-10-02 09:42:35 UTC (rev 158) +++ trunk/modules/content_systemuser_edit.php 2007-10-02 09:45:55 UTC (rev 159) @@ -57,6 +57,12 @@ if (isset($_POST["submit"])) { // save all needed information which are no ldap objects themself $new_adminofdomains = $_POST["nlo_adminofdomains"]; + if(!empty($_POST["nlo_next_step"])) { + $next_step = $_POST["nlo_next_step"]; + } + else { + $next_step = ""; + } // remove all non LDAP objects from submited form // an the submit and mode value @@ -115,6 +121,19 @@ if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); $systemuser = $my_systemuser["uid"]; + switch($next_step) { + case 'show_overview': + Header("Location: index.php?module=systemusers_list" ); + exit; + break; + case 'add_another': + Header("Location: index.php?module=systemuser_edit&user=new") ; + exit; + break; + case 'edit_current': + //nothing.. + break; + } } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/templates/simple/content_systemuser_delete.tpl =================================================================== --- trunk/templates/simple/content_systemuser_delete.tpl 2007-10-02 09:42:35 UTC (rev 158) +++ trunk/templates/simple/content_systemuser_delete.tpl 2007-10-02 09:45:55 UTC (rev 159) @@ -2,6 +2,8 @@ <h2>{t}Delete systemuser{/t} {$user.uid.0}</h2> {if $smarty.post.submit} {include file="print_submit_status.tpl"} + <br /> + <a href="index.php?module=systemusers_list">{t}Back to Systemusers overview{/t}</a> {else} <form action="{$smarty.server.php_self}" method="post"> <fieldset> Modified: trunk/templates/simple/content_systemuser_edit.tpl =================================================================== --- trunk/templates/simple/content_systemuser_edit.tpl 2007-10-02 09:42:35 UTC (rev 158) +++ trunk/templates/simple/content_systemuser_edit.tpl 2007-10-02 09:45:55 UTC (rev 159) @@ -110,6 +110,21 @@ <hr/> </td> </tr> + <tr> + <td> + {t}Next Step{/t} + </td> + <td> + <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another user{/t}<br /> + <input type="radio" name="nlo_next_step" value="edit_current" /> {t}neuen Benutzer bearbeiten{/t}<br /> + <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Go to user overview{/t}<br /> + </td> + </tr> + <tr> + <td colspan="2"> + <hr/> + </td> + </tr> <tr> <td colspan="2" class="buttons"> <input type="submit" name="submit" value="{t}Save{/t}"/> Modified: trunk/templates/simple/content_user_new.tpl =================================================================== --- trunk/templates/simple/content_user_new.tpl 2007-10-02 09:42:35 UTC (rev 158) +++ trunk/templates/simple/content_user_new.tpl 2007-10-02 09:45:55 UTC (rev 159) @@ -62,7 +62,7 @@ {t}Next Step{/t} </td> <td> - <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another alias{/t}<br /> + <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another user{/t}<br /> <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Go to domain overview{/t}<br /> </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 09:42:37
|
Revision: 158 http://elma.svn.sourceforge.net/elma/?rev=158&view=rev Author: dweuthen Date: 2007-10-02 02:42:35 -0700 (Tue, 02 Oct 2007) Log Message: ----------- template modified Modified Paths: -------------- trunk/templates/simple/content_domain_edit.tpl trunk/templates/simple/style.css Modified: trunk/templates/simple/content_domain_edit.tpl =================================================================== --- trunk/templates/simple/content_domain_edit.tpl 2007-10-02 09:30:31 UTC (rev 157) +++ trunk/templates/simple/content_domain_edit.tpl 2007-10-02 09:42:35 UTC (rev 158) @@ -67,15 +67,21 @@ </td> </tr> <tr> - <td> + <td colspan="2"> ACL - </td> - <td> - <table> + <table class="inside"> <tr> <td> {t}Administrators{/t} - <br /> + </td> + <td> + </td> + <td> + {t}available users{/t} + </td> + <tr/> + <tr> + <td> <select name="admins[]" size="8" multiple="multiple"> <optgroup label="{t}Systemusers{/t}"> {foreach from=$admins item=admin} @@ -94,18 +100,9 @@ </select> </td> <td> - <div> - <br /> - <br /> - <input type="button" name="delfromlist" value=">" onclick="delAdmin()" /> - <br /> - <br /> - <input type="button" name="addtolist" value="<" onclick="addAdmin()" /> - </div> + <input type="button" name="delfromlist" value=">" onclick="delAdmin()" /><br /><input type="button" name="addtolist" value="<" onclick="addAdmin()" /> </td> <td> - {t}available users{/t} - <br /> <select name="nonadmins[]" size="8" multiple="multiple"> <optgroup label="{t}Systemusers{/t}"> {foreach from=$nonadmins item=nonadmin} Modified: trunk/templates/simple/style.css =================================================================== --- trunk/templates/simple/style.css 2007-10-02 09:30:31 UTC (rev 157) +++ trunk/templates/simple/style.css 2007-10-02 09:42:35 UTC (rev 158) @@ -129,7 +129,6 @@ div#Content td { padding: 1px 10px 1px 10px; - vertical-align: top; } div#Content td.status,th.status { @@ -229,7 +228,6 @@ div#Content td.buttons { text-align: right; - vertical-align: middle; } .center { @@ -244,3 +242,9 @@ border: 1px gray solid ; } + +div#Content table.inside { + padding: 0; + margin: 0; + text-align: center; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 09:30:33
|
Revision: 157 http://elma.svn.sourceforge.net/elma/?rev=157&view=rev Author: ZoneAdmin Date: 2007-10-02 02:30:31 -0700 (Tue, 02 Oct 2007) Log Message: ----------- Added link to domain overview on "delete user/alias"-confirmation-page Modified Paths: -------------- trunk/modules/content_alias_delete.php trunk/modules/content_user_delete.php trunk/templates/simple/content_alias_delete.tpl trunk/templates/simple/content_user_delete.tpl Modified: trunk/modules/content_alias_delete.php =================================================================== --- trunk/modules/content_alias_delete.php 2007-10-02 09:15:56 UTC (rev 156) +++ trunk/modules/content_alias_delete.php 2007-10-02 09:30:31 UTC (rev 157) @@ -60,6 +60,9 @@ if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); + $alias["uid"][0] = $uid; + $this->smarty->assign("alias",$alias); + $this->smarty->assign("domain",$domain); } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/modules/content_user_delete.php =================================================================== --- trunk/modules/content_user_delete.php 2007-10-02 09:15:56 UTC (rev 156) +++ trunk/modules/content_user_delete.php 2007-10-02 09:30:31 UTC (rev 157) @@ -57,6 +57,9 @@ $submit_status = ldap_errno($this->ldap->cid); if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); + $user["uid"][0] = $uid; + $this->smarty->assign("user",$user); + $this->smarty->assign("domain",$domain); } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/templates/simple/content_alias_delete.tpl =================================================================== --- trunk/templates/simple/content_alias_delete.tpl 2007-10-02 09:15:56 UTC (rev 156) +++ trunk/templates/simple/content_alias_delete.tpl 2007-10-02 09:30:31 UTC (rev 157) @@ -2,6 +2,8 @@ <h2>{t}Delete alias{/t} {$alias.uid.0}@{$domain}</h2> {if $smarty.post.submit} {include file="print_submit_status.tpl"} + <br /> + <a href="index.php?module=users_list&domain={$domain}">{t}Back to domain overview{/t}</a> {else} <form action="{$smarty.server.php_self}" method="post"> <fieldset> Modified: trunk/templates/simple/content_user_delete.tpl =================================================================== --- trunk/templates/simple/content_user_delete.tpl 2007-10-02 09:15:56 UTC (rev 156) +++ trunk/templates/simple/content_user_delete.tpl 2007-10-02 09:30:31 UTC (rev 157) @@ -2,6 +2,8 @@ <h2>{t}Delete user{/t} {$user.uid.0}@{$domain}</h2> {if $smarty.post.submit} {include file="print_submit_status.tpl"} + <br /> + <a href="index.php?module=users_list&domain={$domain}">{t}Back to domain overview{/t}</a> {else} <form action="{$smarty.server.php_self}" method="post"> <fieldset> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Zon...@us...> - 2007-10-02 09:16:11
|
Revision: 156 http://elma.svn.sourceforge.net/elma/?rev=156&view=rev Author: ZoneAdmin Date: 2007-10-02 02:15:56 -0700 (Tue, 02 Oct 2007) Log Message: ----------- fixed [1805913] elma v0.3 after adding a mail alias you're returned to form the user_new/alias_new forms now leave you the choice between adding another record and going back to domain overview Modified Paths: -------------- trunk/modules/content_alias_new.php trunk/modules/content_user_new.php trunk/templates/simple/content_alias_new.tpl trunk/templates/simple/content_user_new.tpl Modified: trunk/modules/content_alias_new.php =================================================================== --- trunk/modules/content_alias_new.php 2007-10-02 08:47:14 UTC (rev 155) +++ trunk/modules/content_alias_new.php 2007-10-02 09:15:56 UTC (rev 156) @@ -56,6 +56,13 @@ // new alias created or existing alias altert if (isset($_POST["submit"])) { + if(!empty($_POST["nlo_next_step"])) { + $next_step = $_POST["nlo_next_step"]; + } + else { + $next_step = ""; + } + // remove all non LDAP objects from submited form // an the submit and mode value $my_alias = remove_key_by_str($_POST,"nlo_"); @@ -77,13 +84,22 @@ if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); $alias = $my_alias["uid"]; + switch($next_step) { + case 'show_overview': + Header("Location: index.php?module=users_list&domain=" . urlencode($domain) ); + exit; + break; + case 'add_another': + // nothing + break; + } } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } } else { $this->smarty->assign("submit_status","Invalid Data"); $this->smarty->assign("validation_errors",$validation_errors); - } + } } else { $this->smarty->assign("submit_status",-1); } Modified: trunk/modules/content_user_new.php =================================================================== --- trunk/modules/content_user_new.php 2007-10-02 08:47:14 UTC (rev 155) +++ trunk/modules/content_user_new.php 2007-10-02 09:15:56 UTC (rev 156) @@ -56,6 +56,12 @@ // new user created or existing user modified if (isset($_POST["submit"])) { + if(!empty($_POST["nlo_next_step"])) { + $next_step = $_POST["nlo_next_step"]; + } + else { + $next_step = ""; + } // remove all non LDAP objects from submited form // an the submit value $my_user = remove_key_by_str($_POST,"nlo_"); @@ -77,6 +83,15 @@ if ($submit_status == "0") { $this->smarty->assign("submit_status",$submit_status); $user = $my_user["uid"]; + switch($next_step) { + case 'show_overview': + Header("Location: index.php?module=users_list&domain=" . urlencode($domain) ); + exit; + break; + case 'add_another': + // nothing + break; + } } else { $this->smarty->assign("submit_status",ldap_err2str($submit_status)); } Modified: trunk/templates/simple/content_alias_new.tpl =================================================================== --- trunk/templates/simple/content_alias_new.tpl 2007-10-02 08:47:14 UTC (rev 155) +++ trunk/templates/simple/content_alias_new.tpl 2007-10-02 09:15:56 UTC (rev 156) @@ -42,6 +42,20 @@ <hr/> </td> </tr> + <tr> + <td> + {t}Next Step{/t} + </td> + <td> + <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another alias{/t}<br /> + <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Go to domain overview{/t}<br /> + </td> + </tr> + <tr> + <td colspan="2"> + <hr/> + </td> + </tr> <tr> <td colspan="2" class="buttons"> <input type="submit" name="submit" value="{t}Save{/t}"/> Modified: trunk/templates/simple/content_user_new.tpl =================================================================== --- trunk/templates/simple/content_user_new.tpl 2007-10-02 08:47:14 UTC (rev 155) +++ trunk/templates/simple/content_user_new.tpl 2007-10-02 09:15:56 UTC (rev 156) @@ -57,6 +57,20 @@ <hr/> </td> </tr> + <tr> + <td> + {t}Next Step{/t} + </td> + <td> + <input type="radio" name="nlo_next_step" value="add_another" checked="true" /> {t}Add another alias{/t}<br /> + <input type="radio" name="nlo_next_step" value="show_overview" /> {t}Go to domain overview{/t}<br /> + </td> + </tr> + <tr> + <td colspan="2"> + <hr/> + </td> + </tr> <tr> <td colspan="2" class="buttons"> <input type="submit" name="submit" value="{t}Save{/t}" id="button"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 08:47:18
|
Revision: 155 http://elma.svn.sourceforge.net/elma/?rev=155&view=rev Author: dweuthen Date: 2007-10-02 01:47:14 -0700 (Tue, 02 Oct 2007) Log Message: ----------- set default values for sieve filter values this fixes bug [1805921] elma v0.3 "redirect" and "on vacation" ticked by default Modified Paths: -------------- trunk/includes/sieve.inc.php Modified: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-10-02 08:31:27 UTC (rev 154) +++ trunk/includes/sieve.inc.php 2007-10-02 08:47:14 UTC (rev 155) @@ -14,21 +14,21 @@ // Redirect Template $sieveFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; $sieveFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; - $sieveFilter["redirect"]["values"] = array("STATUS" => "", + $sieveFilter["redirect"]["values"] = array("STATUS" => "#", "RECIPIENT" => ""); // Spamfilter Template $sieveFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; $sieveFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; - $sieveFilter["spamfilter"]["values"] = array("STATUS" => "", + $sieveFilter["spamfilter"]["values"] = array("STATUS" => "#", "SIEVEACTION" => "", - "ACTION" => ""); + "ACTION" => "MARK"); // Vacation Template $sieveFilter["vacation"]["require"] = "\"vacation\""; $sieveFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; $sieveFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; - $sieveFilter["vacation"]["values"] = array("STATUS" => "", + $sieveFilter["vacation"]["values"] = array("STATUS" => "#", "RECIPIENT" => "", "MESSAGE" => ""); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 08:31:28
|
Revision: 154 http://elma.svn.sourceforge.net/elma/?rev=154&view=rev Author: dweuthen Date: 2007-10-02 01:31:27 -0700 (Tue, 02 Oct 2007) Log Message: ----------- fixes bug [1805911] elma v0.3 can not edit alias vacation for alias does not make sense Modified Paths: -------------- trunk/modules/content_alias_edit.php trunk/templates/simple/content_alias_edit.tpl Modified: trunk/modules/content_alias_edit.php =================================================================== --- trunk/modules/content_alias_edit.php 2007-10-02 08:13:52 UTC (rev 153) +++ trunk/modules/content_alias_edit.php 2007-10-02 08:31:27 UTC (rev 154) @@ -67,16 +67,6 @@ $my_alias["mailstatus"] = "FALSE"; } - if (isset($_POST["vacationstatus"])) { - $my_alias["vacationstatus"] = "TRUE"; - } else { - $my_alias["vacationstatus"] = "FALSE"; - } - - if ($my_alias["vacationmessage"] == "") { - unset ($my_alias["vacationmessage"]); - } - $my_alias["mailaliasedname"] = explode("\n", $_POST['nlo_mailaliasedname']); $validation_errors = validate_alias($my_alias); Modified: trunk/templates/simple/content_alias_edit.tpl =================================================================== --- trunk/templates/simple/content_alias_edit.tpl 2007-10-02 08:13:52 UTC (rev 153) +++ trunk/templates/simple/content_alias_edit.tpl 2007-10-02 08:31:27 UTC (rev 154) @@ -34,34 +34,7 @@ <input type="checkbox" name="mailstatus" {if $alias.mailstatus.0 eq "FALSE"}{else}checked="checked"{/if} /> </td> </tr> - <tr> - <td colspan="2"> - <hr/> - </td> - </tr> - <tr> - <td> - {t}Vacant?{/t} - </td> - <td> - <input type="checkbox" name="vacationstatus" {if $alias.vacationstatus.0 eq "FALSE"}{else}checked="checked"{/if} /> - </td> - </tr> - <tr> - <td> - {t}Message:{/t} - </td> - <td> - <textarea name="vacationmessage">{$alias.vacationmessage.0}</textarea> - </td> - </tr> <tr> - <tr> - <td colspan="2"> - <hr/> - </td> - </tr> - <tr> <td colspan="2" class="buttons"> <input type="submit" name="submit" value="{t}Save{/t}"/> </td> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-10-02 08:13:58
|
Revision: 153 http://elma.svn.sourceforge.net/elma/?rev=153&view=rev Author: dweuthen Date: 2007-10-02 01:13:52 -0700 (Tue, 02 Oct 2007) Log Message: ----------- fixed bug [1789660] elma does not allow "_" in mail aliases fixed bug [1805919] elma v0.3 "_" not allowed in mailbox names Modified Paths: -------------- trunk/includes/my_functions.inc.php Modified: trunk/includes/my_functions.inc.php =================================================================== --- trunk/includes/my_functions.inc.php 2007-09-19 15:45:44 UTC (rev 152) +++ trunk/includes/my_functions.inc.php 2007-10-02 08:13:52 UTC (rev 153) @@ -131,7 +131,7 @@ switch ($object) { case "dc": if (preg_match("/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/",$string)) $valid_data = TRUE; break; - case "uid": if (preg_match("/^[a-zA-Z0-9\-\.]{1,64}$/",$string)) $valid_data = TRUE; + case "uid": if (preg_match("/^[a-zA-Z0-9\-\.\_]{1,64}$/",$string)) $valid_data = TRUE; break; case "sn": if (preg_match("/^[a-zA-Z0-9\-\.]{1,64}$/",$string)) $valid_data = TRUE; break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-19 15:45:46
|
Revision: 152 http://elma.svn.sourceforge.net/elma/?rev=152&view=rev Author: dweuthen Date: 2007-09-19 08:45:44 -0700 (Wed, 19 Sep 2007) Log Message: ----------- remove sievetest.php Removed Paths: ------------- trunk/sievetest.php Deleted: trunk/sievetest.php =================================================================== --- trunk/sievetest.php 2007-09-19 15:44:43 UTC (rev 151) +++ trunk/sievetest.php 2007-09-19 15:45:44 UTC (rev 152) @@ -1,21 +0,0 @@ -<?php - -require("includes/config.inc.php"); -require("includes/acl.inc.php"); -require("includes/smarty.inc.php"); -require("includes/gettext.inc.php"); -require("includes/ldap_functions.inc.php"); -require("includes/my_functions.inc.php"); -require("includes/crypt.inc.php"); -require("includes/sieve.inc.php"); - -$sieveValues = array( RECIPIENT => "dw...@me...", - MESSAGE => "Dies ist ein test"); - -$sieveFilterScript = createSieveFilter( $sieveFilter, $sieveValues ); - -my_print_r($sieveFilterScript); - - -// vim:tabstop=4:expandtab:shiftwidth=4:filetype=php:syntax:ruler: -?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-19 15:44:45
|
Revision: 151 http://elma.svn.sourceforge.net/elma/?rev=151&view=rev Author: dweuthen Date: 2007-09-19 08:44:43 -0700 (Wed, 19 Sep 2007) Log Message: ----------- remove debug outputs made domain spamfilter support working Modified Paths: -------------- trunk/includes/sieve.inc.php trunk/modules/content_domain_edit.php trunk/modules/content_user_edit.php trunk/templates/simple/content_domain_edit.tpl Modified: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-09-19 11:51:18 UTC (rev 150) +++ trunk/includes/sieve.inc.php 2007-09-19 15:44:43 UTC (rev 151) @@ -2,7 +2,7 @@ function loadSieveTemplates() { $fields = array("require","template","regex","values"); - $rulesets = array("redirect","spamfilter_discard","vacation"); + $rulesets = array("redirect","spamfilter","vacation"); foreach ( $rulesets as $ruleset ) { $sieveFilter[$ruleset] = array(); @@ -18,9 +18,11 @@ "RECIPIENT" => ""); // Spamfilter Template - $sieveFilter["spamfilter_discard"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER_DISCARD'; - $sieveFilter["spamfilter_discard"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER_DISCARD$/i'; - $sieveFilter["spamfilter_discard"]["values"] = array("STATUS" => ""); + $sieveFilter["spamfilter"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { %SIEVEACTION% }; # SPAMFILTER %ACTION%'; + $sieveFilter["spamfilter"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{ (.*) \}; # SPAMFILTER (.*)$/i'; + $sieveFilter["spamfilter"]["values"] = array("STATUS" => "", + "SIEVEACTION" => "", + "ACTION" => ""); // Vacation Template $sieveFilter["vacation"]["require"] = "\"vacation\""; @@ -33,17 +35,17 @@ return $sieveFilter; } -function createSieveFilter ( $sieveFilter, $sieveValues ) { +function createSieveFilter ( $sieveValues ) { $sieveFilter = loadSieveTemplates(); foreach ( array_keys($sieveValues) as $categorie ) { $sieveFilterStr[$categorie] = $sieveFilter[$categorie]["template"]; - foreach ( $sieveValues[$categorie] as $keyword => $value) { + foreach ( $sieveValues[$categorie]["values"] as $keyword => $value ) { $sieveFilterStr[$categorie] = str_replace("%$keyword%", $value, $sieveFilterStr[$categorie]); } } $sieveFilterScript = implode("\n",$sieveFilterStr)."\n"; - + return (sieveEscapeChars($sieveFilterScript)); } @@ -54,7 +56,6 @@ $lines = preg_split("/\n/",$sieveFilterString); $line = array_shift($lines); - while ( isset($line) ) { foreach ( array_keys($sieveFilter) as $ruleset ) { if ( preg_match($sieveFilter[$ruleset]["regex"],$line,$values) ) { @@ -68,7 +69,6 @@ } $line = array_shift($lines); } - my_print_r($sieveFilter); return $sieveFilter; } Modified: trunk/modules/content_domain_edit.php =================================================================== --- trunk/modules/content_domain_edit.php 2007-09-19 11:51:18 UTC (rev 150) +++ trunk/modules/content_domain_edit.php 2007-09-19 15:44:43 UTC (rev 151) @@ -36,7 +36,6 @@ class content_domain_edit extends module_base { - /** * Constructor of this class */ @@ -57,16 +56,11 @@ // existing domain altert if (isset($_POST["submit"])) { - // load Sieve Templates - $sieveFilter = loadSieveTemplates(); - $spamfilter_available_actions = unserialize(SPAMFILTER_AVAILABLE_ACTIONS); - // create array of submitted values - $sieveValues["spamfilter"] = array( STATUS => "", - ACTION => $spamfilter_available_actions[$_POST["nlo_spamfilteraction"]]); - + $sieveValues["spamfilter"]["values"] = array( STATUS => "", + ACTION => $_POST["nlo_spamfilteraction"]); if ( ! isset($_POST["nlo_spamfilterstatus"]) ) { - $sieveValues["spamfilter"]["STATUS"] = "#"; + $sieveValues["spamfilter"]["values"]["STATUS"] = "#"; } // remove all non LDAP objects from submited form @@ -90,7 +84,7 @@ } else { $my_domain["mailstatus"] = "FALSE"; } - $my_domain["mailSieveFilter"] = createSieveFilter( $sieveFilter, $sieveValues ); + $my_domain["mailSieveFilter"] = createSieveFilter( $sieveValues ); $validation_errors = validate_domain($my_domain); if (count($validation_errors) == 0) { $this->ldap->modifyDomain($my_domain); @@ -129,8 +123,8 @@ } else { $this->smarty->assign("submit_status",-1); } - - $this->smarty->assign("domain",$this->ldap->getDomain($domain)); + $my_domain = $this->ldap->getDomain($domain); + $this->smarty->assign("domain",$my_domain); /* create a users/admin array from system- and mailusers * and unset the count key from users/admins array @@ -170,9 +164,10 @@ if (isset($nonadmins)) { $this->smarty->assign("nonadmins", $nonadmins); } - - $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); - $this->smarty->assign("spamfiltersettings",$sieveValues["spamfilter"]); + + /* parse Sieve filter and assign values */ + $sieveValues = parseSieveFilter($my_domain["mailsievefilter"][0]); + $this->smarty->assign("spamfiltersettings",$sieveValues["spamfilter"]["values"]); } /** Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-09-19 11:51:18 UTC (rev 150) +++ trunk/modules/content_user_edit.php 2007-09-19 15:44:43 UTC (rev 151) @@ -57,21 +57,18 @@ // new user created or existing user modified if (isset($_POST["submit"])) { - // load Sieve Templates - $sieveFilter = loadSieveTemplates(); - // create array of submitted values - $sieveValues["vacation"] = array( STATUS => "", - RECIPIENT => $_POST["uid"]."@".$domain, - MESSAGE => $_POST["nlo_vacationmessage"]); + $sieveValues["vacation"]["values"] = array( STATUS => "", + RECIPIENT => $_POST["uid"]."@".$domain, + MESSAGE => $_POST["nlo_vacationmessage"]); if (! isset($_POST["nlo_vacationstatus"])) { - $sieveValues["vacation"]["STATUS"] = "#"; + $sieveValues["vacation"]["values"]["STATUS"] = "#"; } - $sieveValues["redirect"] = array( STATUS => "", - RECIPIENT => $_POST["nlo_redirectrecipient"]); + $sieveValues["redirect"]["values"] = array( STATUS => "", + RECIPIENT => $_POST["nlo_redirectrecipient"]); if (! isset($_POST["nlo_redirectstatus"])) { - $sieveValues["redirect"]["STATUS"] = "#"; + $sieveValues["redirect"]["values"]["STATUS"] = "#"; } // remove all non LDAP objects from submited form @@ -85,7 +82,7 @@ $my_user["mailstatus"] = "FALSE"; } - $my_user["mailSieveFilter"] = createSieveFilter( $sieveFilter, $sieveValues ); + $my_user["mailSieveFilter"] = createSieveFilter( $sieveValues ); $my_user["userpassword"] = "{MD5}".base64_encode(pack("H*",md5($my_user["clearpassword"]))); $validation_errors = validate_user($my_user); Modified: trunk/templates/simple/content_domain_edit.tpl =================================================================== --- trunk/templates/simple/content_domain_edit.tpl 2007-09-19 11:51:18 UTC (rev 150) +++ trunk/templates/simple/content_domain_edit.tpl 2007-09-19 15:44:43 UTC (rev 151) @@ -53,9 +53,10 @@ </td> <td> <select name="nlo_spamfilteraction"> - <option {if $spamfiltersettings.ACTION eq "discard"}selected{/if}>discard</option> - <option {if $spamfiltersettings.ACTION eq "redirect"}selected{/if}>redirect</option> - <option {if $spamfiltersettings.ACTION eq "folder"}selected{/if}>folder</option> + <option {if $spamfiltersettings.ACTION eq "DISCARD"}selected{/if} value="DISCARD">discard</option> + <option {if $spamfiltersettings.ACTION eq "REDIRECT"}selected{/if} value="REDIRECT">redirect</option> + <option {if $spamfiltersettings.ACTION eq "FOLDER"}selected{/if} value="FOLDER">folder</option> + <option {if $spamfiltersettings.ACTION eq "MARK"}selected{/if} value="MARK">mark</option> </select> </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-19 11:51:20
|
Revision: 150 http://elma.svn.sourceforge.net/elma/?rev=150&view=rev Author: dweuthen Date: 2007-09-19 04:51:18 -0700 (Wed, 19 Sep 2007) Log Message: ----------- file is unused now, content has been moved to includes/sieve.inc.php Removed Paths: ------------- trunk/lib/sieve/initSieve.php Deleted: trunk/lib/sieve/initSieve.php =================================================================== --- trunk/lib/sieve/initSieve.php 2007-09-19 11:49:38 UTC (rev 149) +++ trunk/lib/sieve/initSieve.php 2007-09-19 11:51:18 UTC (rev 150) @@ -1,29 +0,0 @@ -<?php - -$fields = array("require","template","regex","values"); -$rulesets = array("redirect","spamfilter_discard","vacation"); - -foreach ( $rulesets as $ruleset ) { - $sieveFilter[$ruleset] = array(); - foreach ( $fields as $field ) { - $sieveFilter[$ruleset][$field] = array(); - } -} - -// Redirect Template -array_push($sieveFilter["redirect"]["template"], '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'); -array_push($sieveFilter["redirect"]["regex"], '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'); -array_push($sieveFilter["redirect"]["values"], array("STATUS","REDIRECT")); - -// Spamfilter Template -array_push($sieveFilter["spamfilter_discard"]["template"], '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER_DISCARD'); -array_push($sieveFilter["spamfilter_discard"]["regex"], '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER_DISCARD$/i'); -array_push($sieveFilter["spamfilter_discard"]["values"], array("STATUS")); - -// Vacation Template -array_push($sieveFilter["vacation"]["require"],"\"vacation\""); -array_push($sieveFilter["vacation"]["template"], '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'); -array_push($sieveFilter["vacation"]["regex"], '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'); -array_push($sieveFilter["vacation"]["values"], array("STATUS","RECIPIENT","MESSAGE")); - -?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-19 11:49:42
|
Revision: 149 http://elma.svn.sourceforge.net/elma/?rev=149&view=rev Author: dweuthen Date: 2007-09-19 04:49:38 -0700 (Wed, 19 Sep 2007) Log Message: ----------- made sieve filter parsing finally work Modified Paths: -------------- trunk/includes/sieve.inc.php trunk/lib/sieve/initSieve.php trunk/modules/content_domain_edit.php trunk/modules/content_user_edit.php Modified: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-09-10 11:48:07 UTC (rev 148) +++ trunk/includes/sieve.inc.php 2007-09-19 11:49:38 UTC (rev 149) @@ -1,54 +1,75 @@ <?php function loadSieveTemplates() { - include("lib/sieve/initSieve.php"); + $fields = array("require","template","regex","values"); + $rulesets = array("redirect","spamfilter_discard","vacation"); + + foreach ( $rulesets as $ruleset ) { + $sieveFilter[$ruleset] = array(); + foreach ( $fields as $field ) { + $sieveFilter[$ruleset][$field] = array(); + } + } + + // Redirect Template + $sieveFilter["redirect"]["template"] = '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'; + $sieveFilter["redirect"]["regex"] = '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'; + $sieveFilter["redirect"]["values"] = array("STATUS" => "", + "RECIPIENT" => ""); + + // Spamfilter Template + $sieveFilter["spamfilter_discard"]["template"] = '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER_DISCARD'; + $sieveFilter["spamfilter_discard"]["regex"] = '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER_DISCARD$/i'; + $sieveFilter["spamfilter_discard"]["values"] = array("STATUS" => ""); + + // Vacation Template + $sieveFilter["vacation"]["require"] = "\"vacation\""; + $sieveFilter["vacation"]["template"] = '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'; + $sieveFilter["vacation"]["regex"] = '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'; + $sieveFilter["vacation"]["values"] = array("STATUS" => "", + "RECIPIENT" => "", + "MESSAGE" => ""); + return $sieveFilter; } function createSieveFilter ( $sieveFilter, $sieveValues ) { + $sieveFilter = loadSieveTemplates(); - $requireValues .= implode(",",$sieveFilter["require"]); - $sieveFilterScript = "require [$requireValues];\n"; - - $index = 0; - foreach ( $sieveValues as $categorie ) { - $categories = array_keys($sieveValues); - $categorie_name = strtolower($categories[$index]); - foreach ( $categorie as $keyword => $value) { - $sieveFilter["rules"][$categorie_name] = str_replace("%$keyword%", $value, $sieveFilter["rules"][$categorie_name]); + foreach ( array_keys($sieveValues) as $categorie ) { + $sieveFilterStr[$categorie] = $sieveFilter[$categorie]["template"]; + foreach ( $sieveValues[$categorie] as $keyword => $value) { + $sieveFilterStr[$categorie] = str_replace("%$keyword%", $value, $sieveFilterStr[$categorie]); } - $index++; - $sieveFilterScript .= implode("\n",$sieveFilter["rules"][$categorie_name])."\n"; } + $sieveFilterScript = implode("\n",$sieveFilterStr)."\n"; - //$sieveFilterScript .= implode("\n",$sieveFilter["rules"][$categorie_name]); - my_print_r($sieveFilterScript); return (sieveEscapeChars($sieveFilterScript)); } -function parseSieveFilter ( $sieveFilter ) { +function parseSieveFilter ( $sieveFilterString ) { + $sieveFilter = loadSieveTemplates(); + $lines = array(); - $lines = preg_split("/\n/",$sieveFilter); + $lines = preg_split("/\n/",$sieveFilterString); $line = array_shift($lines); + + while ( isset($line) ) { - unset ($values); - if ( preg_match(,$line,$values) ) { - echo "JA"; - $sieveValues["spamfilter"] = array( STATUS => sieveUnescapeChars($values[1]), - ACTION => sieveUnescapeChars($values[2])); + foreach ( array_keys($sieveFilter) as $ruleset ) { + if ( preg_match($sieveFilter[$ruleset]["regex"],$line,$values) ) { + array_shift($values); // don't need the whole string in $0 + $i = 0; + foreach ( array_keys($sieveFilter[$ruleset]["values"]) as $valuename ) { + $sieveFilter[$ruleset]["values"][$valuename] = sieveUnescapeChars($values[$i]); + $i++; + } + } } - if ( preg_match('/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i',$line,$values) ) { - $sieveValues["vacation"] = array( STATUS => sieveUnescapeChars($values[1]), - RECIPIENT => sieveUnescapeChars($values[2]), - MESSAGE => sieveUnescapeChars($values[3])); - } - if ( preg_match('/^(.*)redirect "(.*)"; keep; # REDIRECT$/i',$line,$values) ) { - $sieveValues["redirect"] = array( STATUS => sieveUnescapeChars($values[1]), - RECIPIENT => sieveUnescapeChars($values[2])); - } $line = array_shift($lines); } - return $sieveValues; + my_print_r($sieveFilter); + return $sieveFilter; } /** Modified: trunk/lib/sieve/initSieve.php =================================================================== --- trunk/lib/sieve/initSieve.php 2007-09-10 11:48:07 UTC (rev 148) +++ trunk/lib/sieve/initSieve.php 2007-09-19 11:49:38 UTC (rev 149) @@ -1,31 +1,29 @@ <?php +$fields = array("require","template","regex","values"); +$rulesets = array("redirect","spamfilter_discard","vacation"); -$sieveFilter["require"] = array(); -$sieveFilter["rules"] = array(); - -foreach ( $field as array("templates","regex","values") ) { - $sieveFilter[$field] = array(); - foreach ( $ruleset as array("redirect","spamfilter_discard","vacation") ) { - $sieveFilter[$field][$ruleset] = array(); +foreach ( $rulesets as $ruleset ) { + $sieveFilter[$ruleset] = array(); + foreach ( $fields as $field ) { + $sieveFilter[$ruleset][$field] = array(); } } // Redirect Template -array_push($sieveFilter["templates"]["redirect"], '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'); -array_push($sieveFilter["regex"]["redirect"], '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'); -array_push($sieveFilter["values"]["redirect"], array("STATUS","REDIRECT")); +array_push($sieveFilter["redirect"]["template"], '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'); +array_push($sieveFilter["redirect"]["regex"], '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'); +array_push($sieveFilter["redirect"]["values"], array("STATUS","REDIRECT")); // Spamfilter Template -array_push($sieveFilter["templates"]["spamfilter_discard"], '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER'); -array_push($sieveFilter["regex"]["spamfilter_discard"], '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER$/i'); -array_push($sieveFilter["values"]["spamfilter_discard"], array("STATUS")); +array_push($sieveFilter["spamfilter_discard"]["template"], '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER_DISCARD'); +array_push($sieveFilter["spamfilter_discard"]["regex"], '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER_DISCARD$/i'); +array_push($sieveFilter["spamfilter_discard"]["values"], array("STATUS")); // Vacation Template -array_push($sieveFilter["require"],"\"vacation\""); -array_push($sieveFilter["templates"]["vacation"], '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'); -array_push($sieveFilter["regex"]["vacation"], '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i' -array_push($sieveFilter["values"]["vacation"], array("STATUS","RECIPIENT","MESSAGE")); +array_push($sieveFilter["vacation"]["require"],"\"vacation\""); +array_push($sieveFilter["vacation"]["template"], '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'); +array_push($sieveFilter["vacation"]["regex"], '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i'); +array_push($sieveFilter["vacation"]["values"], array("STATUS","RECIPIENT","MESSAGE")); - ?> Modified: trunk/modules/content_domain_edit.php =================================================================== --- trunk/modules/content_domain_edit.php 2007-09-10 11:48:07 UTC (rev 148) +++ trunk/modules/content_domain_edit.php 2007-09-19 11:49:38 UTC (rev 149) @@ -173,7 +173,6 @@ $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); $this->smarty->assign("spamfiltersettings",$sieveValues["spamfilter"]); - my_print_r($sieveValues); } /** Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-09-10 11:48:07 UTC (rev 148) +++ trunk/modules/content_user_edit.php 2007-09-19 11:49:38 UTC (rev 149) @@ -113,8 +113,8 @@ $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); $this->smarty->assign("mode","modify"); $this->smarty->assign("user",$my_user); - $this->smarty->assign("vacationsettings",$sieveValues["vacation"]); - $this->smarty->assign("redirectsettings",$sieveValues["redirect"]); + $this->smarty->assign("vacationsettings",$sieveValues["vacation"]["values"]); + $this->smarty->assign("redirectsettings",$sieveValues["redirect"]["values"]); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-10 11:48:15
|
Revision: 148 http://elma.svn.sourceforge.net/elma/?rev=148&view=rev Author: dweuthen Date: 2007-09-10 04:48:07 -0700 (Mon, 10 Sep 2007) Log Message: ----------- updated to match recent requerments Modified Paths: -------------- trunk/includes/config.inc.php.dist Modified: trunk/includes/config.inc.php.dist =================================================================== --- trunk/includes/config.inc.php.dist 2007-09-10 11:45:21 UTC (rev 147) +++ trunk/includes/config.inc.php.dist 2007-09-10 11:48:07 UTC (rev 148) @@ -62,7 +62,6 @@ // Set all languages which should be available at login define ("AVAILABLE_LANGUAGES",serialize(array("deutsch" => "de_DE", "english" => "en_US" - ))); /* ######## Template Settings #### */ @@ -80,4 +79,19 @@ // Should ELMA save the cleartext password in the LDAP database (needed for cram-md5 authentification) // a value with anything else than an empty string will enable cleatext password saving!! define('SAVECLEARPASS',"TRUE"); + +/* ######## Spamfilter Settings #### */ + +define ("SPAMFILTER_AVAILABLE_ACTIONS",serialize(array("none" => "none", + "discard" => "discard;", + "redirect" => "redirect %REDIRECT%", + "folder" => "fileinfo \"Spam\""))); + +/* ######## Mailserver Settings #### */ + +// Array of available mailstore servers. Each item should be a FQHN. +define("MAILSTORAGESERVERS",serialize(array("mailstore01.megabit.net","mailstore02.megabit.net"))); + +// The default root directory for homeDirectory attribute of each mailuser. +define("DEFAULT_HOMEDIR_ROOT","/var/mailhome"); ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-09-10 11:45:41
|
Revision: 147 http://elma.svn.sourceforge.net/elma/?rev=147&view=rev Author: dweuthen Date: 2007-09-10 04:45:21 -0700 (Mon, 10 Sep 2007) Log Message: ----------- sieve filter implementation Modified Paths: -------------- trunk/includes/acl.inc.php trunk/includes/sieve.inc.php trunk/index.php trunk/lib/sieve/initSieve.php trunk/modules/content_domain_edit.php trunk/modules/content_user_edit.php trunk/modules/content_user_new.php trunk/templates/simple/banner.tpl trunk/templates/simple/content_domain_edit.tpl trunk/templates/simple/content_user_edit.tpl trunk/templates/simple/login.tpl Modified: trunk/includes/acl.inc.php =================================================================== --- trunk/includes/acl.inc.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/includes/acl.inc.php 2007-09-10 11:45:21 UTC (rev 147) @@ -2,8 +2,8 @@ // ACLs define ("ACL",serialize(array( - "systemadmin" => array("main","domains_list","domain_new","domain_new.mailstorageserver","domain_edit","domain_edit.mailstorageserver","domain_delete","users_list","user_new","user_edit","user_delete","alias_new","alias_edit","alias_delete","settings","systemusers_list","systemuser_edit","systemuser_delete","globaladmins_edit","statistics"), - "domainadmin" => array("main","domains_list","domain_edit","users_list","user_new","user_edit","user_delete","alias_new","alias_edit","alias_delete","statistics"), + "systemadmin" => array("main","domains_list","domain_new","domain_new.mailstorageserver","domain_new.spamfilter","domain_edit","domain_edit.mailstorageserver","domain_edit.spamfilter","domain_delete","users_list","user_new","user_edit","user_delete","alias_new","alias_edit","alias_delete","settings","systemusers_list","systemuser_edit","systemuser_delete","globaladmins_edit","statistics"), + "domainadmin" => array("main","domains_list","domain_edit","domain_edit.spamfilter","users_list","user_new","user_edit","user_delete","alias_new","alias_edit","alias_delete","statistics"), "user" => array("main") ))); Modified: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/includes/sieve.inc.php 2007-09-10 11:45:21 UTC (rev 147) @@ -6,19 +6,23 @@ } function createSieveFilter ( $sieveFilter, $sieveValues ) { + + $requireValues .= implode(",",$sieveFilter["require"]); + $sieveFilterScript = "require [$requireValues];\n"; + $index = 0; - foreach ( $sieveValues as $catergorie ) { - $catergories = array_keys($sieveValues); - $catergorie_name = strtoupper($catergories[$i]); - foreach ( $catergorie as $keyword => $value) { - $sieveFilter["rules"] = str_replace("%$catergorie_name.$keyword%", $value, $sieveFilter["rules"]); + foreach ( $sieveValues as $categorie ) { + $categories = array_keys($sieveValues); + $categorie_name = strtolower($categories[$index]); + foreach ( $categorie as $keyword => $value) { + $sieveFilter["rules"][$categorie_name] = str_replace("%$keyword%", $value, $sieveFilter["rules"][$categorie_name]); } $index++; + $sieveFilterScript .= implode("\n",$sieveFilter["rules"][$categorie_name])."\n"; } - $requireValues .= implode(",",$sieveFilter["require"]); - $sieveFilterScript = "require [$requireValues];\n"; - $sieveFilterScript .= implode("\n",$sieveFilter["rules"]); + //$sieveFilterScript .= implode("\n",$sieveFilter["rules"][$categorie_name]); + my_print_r($sieveFilterScript); return (sieveEscapeChars($sieveFilterScript)); } @@ -28,6 +32,11 @@ $line = array_shift($lines); while ( isset($line) ) { unset ($values); + if ( preg_match(,$line,$values) ) { + echo "JA"; + $sieveValues["spamfilter"] = array( STATUS => sieveUnescapeChars($values[1]), + ACTION => sieveUnescapeChars($values[2])); + } if ( preg_match('/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i',$line,$values) ) { $sieveValues["vacation"] = array( STATUS => sieveUnescapeChars($values[1]), RECIPIENT => sieveUnescapeChars($values[2]), Modified: trunk/index.php =================================================================== --- trunk/index.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/index.php 2007-09-10 11:45:21 UTC (rev 147) @@ -48,6 +48,12 @@ if (!isset($_SESSION["login"])) { session_destroy(); if (isset($_GET["loginerror"])) $smarty->assign("loginerror",$_GET["loginerror"]); + + $languages = unserialize(AVAILABLE_LANGUAGES); + $smarty->assign('language_ids', array_values($languages)); + $smarty->assign('language_names', array_keys($languages)); + $smarty->assign('default_language',DEFAULT_LANGUAGE); + $smarty->display("header.tpl"); $smarty->display("login.tpl"); $smarty->display("footer.tpl"); Modified: trunk/lib/sieve/initSieve.php =================================================================== --- trunk/lib/sieve/initSieve.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/lib/sieve/initSieve.php 2007-09-10 11:45:21 UTC (rev 147) @@ -1,13 +1,31 @@ <?php + $sieveFilter["require"] = array(); $sieveFilter["rules"] = array(); -$sieveFilter["rules"]["vacation"] = array(); +foreach ( $field as array("templates","regex","values") ) { + $sieveFilter[$field] = array(); + foreach ( $ruleset as array("redirect","spamfilter_discard","vacation") ) { + $sieveFilter[$field][$ruleset] = array(); + } +} +// Redirect Template +array_push($sieveFilter["templates"]["redirect"], '%STATUS%redirect "%RECIPIENT%"; keep; # REDIRECT'); +array_push($sieveFilter["regex"]["redirect"], '/^(.*)redirect "(.*)"; keep; # REDIRECT$/i'); +array_push($sieveFilter["values"]["redirect"], array("STATUS","REDIRECT")); +// Spamfilter Template +array_push($sieveFilter["templates"]["spamfilter_discard"], '%STATUS%if header :matches "X-Spam-Flag" "yes" { discard; }; # SPAMFILTER'); +array_push($sieveFilter["regex"]["spamfilter_discard"], '/^(.*)if header :matches \"X-Spam-Flag\" \"yes\" \{(.*)\}; # SPAMFILTER$/i'); +array_push($sieveFilter["values"]["spamfilter_discard"], array("STATUS")); + +// Vacation Template array_push($sieveFilter["require"],"\"vacation\""); -array_push($sieveFilter["rules"], "%REDIRECT.STATUS%redirect \"%REDIRECT.RECIPIENT%\"; keep; # REDIRECT"); -array_push($sieveFilter["rules"], "%VACATION.STATUS%vacation :days 7 :addresses \"%VACATION.RECIPIENT%\" \"%VACATION.MESSAGE%\"; # VACATION"); +array_push($sieveFilter["templates"]["vacation"], '%STATUS%vacation :days 7 :addresses "%RECIPIENT%" "%MESSAGE%"; # VACATION'); +array_push($sieveFilter["regex"]["vacation"], '/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i' +array_push($sieveFilter["values"]["vacation"], array("STATUS","RECIPIENT","MESSAGE")); + ?> Modified: trunk/modules/content_domain_edit.php =================================================================== --- trunk/modules/content_domain_edit.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/modules/content_domain_edit.php 2007-09-10 11:45:21 UTC (rev 147) @@ -56,6 +56,19 @@ // existing domain altert if (isset($_POST["submit"])) { + + // load Sieve Templates + $sieveFilter = loadSieveTemplates(); + $spamfilter_available_actions = unserialize(SPAMFILTER_AVAILABLE_ACTIONS); + + // create array of submitted values + $sieveValues["spamfilter"] = array( STATUS => "", + ACTION => $spamfilter_available_actions[$_POST["nlo_spamfilteraction"]]); + + if ( ! isset($_POST["nlo_spamfilterstatus"]) ) { + $sieveValues["spamfilter"]["STATUS"] = "#"; + } + // remove all non LDAP objects from submited form // an the submit and mode value $my_domain = remove_key_by_str($_POST,"nlo_"); @@ -77,7 +90,7 @@ } else { $my_domain["mailstatus"] = "FALSE"; } - + $my_domain["mailSieveFilter"] = createSieveFilter( $sieveFilter, $sieveValues ); $validation_errors = validate_domain($my_domain); if (count($validation_errors) == 0) { $this->ldap->modifyDomain($my_domain); @@ -157,6 +170,10 @@ if (isset($nonadmins)) { $this->smarty->assign("nonadmins", $nonadmins); } + + $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); + $this->smarty->assign("spamfiltersettings",$sieveValues["spamfilter"]); + my_print_r($sieveValues); } /** Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/modules/content_user_edit.php 2007-09-10 11:45:21 UTC (rev 147) @@ -74,7 +74,6 @@ $sieveValues["redirect"]["STATUS"] = "#"; } - // remove all non LDAP objects from submited form // an the submit and mode value $my_user = remove_key_by_str($_POST,"nlo_"); Modified: trunk/modules/content_user_new.php =================================================================== --- trunk/modules/content_user_new.php 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/modules/content_user_new.php 2007-09-10 11:45:21 UTC (rev 147) @@ -67,8 +67,6 @@ $my_user["mailstatus"] = "FALSE"; } - $my_user["vacationstatus"] = "FALSE"; - $my_user["userpassword"] = "{MD5}".base64_encode(pack("H*",md5($my_user["clearpassword"]))); $validation_errors = validate_user($my_user); Modified: trunk/templates/simple/banner.tpl =================================================================== --- trunk/templates/simple/banner.tpl 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/templates/simple/banner.tpl 2007-09-10 11:45:21 UTC (rev 147) @@ -1,5 +1,5 @@ <div id="Banner"> - <h1>ELMA - Exim LDAP Mail Administrator - v0.2</h1> + <h1>ELMA - Exim LDAP Mail Administrator - v0.3</h1> </div> <!-- WILL BE IMPLEMENTET IN THE NEXT RELEASE <div id="Pathfinder"> Modified: trunk/templates/simple/content_domain_edit.tpl =================================================================== --- trunk/templates/simple/content_domain_edit.tpl 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/templates/simple/content_domain_edit.tpl 2007-09-10 11:45:21 UTC (rev 147) @@ -33,6 +33,34 @@ </tr> {/if} <tr> + <td colspan="2"> + <hr /> + </td> + </tr> + {if @in_array("domain_edit.spamfilter",$acl) } + <tr> + <td> + {t}Spamfilter enabled{/t} + </td> + <td> + <input type="checkbox" name="nlo_spamfilterstatus" {if $spamfiltersettings.STATUS eq "#"}{else}checked="checked"{/if} /> + </td> + </tr> + <tr> + + <td> + {t}Rule{/t} + </td> + <td> + <select name="nlo_spamfilteraction"> + <option {if $spamfiltersettings.ACTION eq "discard"}selected{/if}>discard</option> + <option {if $spamfiltersettings.ACTION eq "redirect"}selected{/if}>redirect</option> + <option {if $spamfiltersettings.ACTION eq "folder"}selected{/if}>folder</option> + </select> + </td> + </tr> + {/if} + <tr> <td colspan="2"> <hr /> </td> Modified: trunk/templates/simple/content_user_edit.tpl =================================================================== --- trunk/templates/simple/content_user_edit.tpl 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/templates/simple/content_user_edit.tpl 2007-09-10 11:45:21 UTC (rev 147) @@ -76,7 +76,7 @@ {t}Message:{/t} </td> <td> - <textarea name="nlo_vacationmessage" cols="60" rows="5">{$vacationsettings.MESSAGE}</textarea> + <textarea name="nlo_vacationmessage" cols="55" rows="5">{$vacationsettings.MESSAGE}</textarea> </td> </tr> <tr> Modified: trunk/templates/simple/login.tpl =================================================================== --- trunk/templates/simple/login.tpl 2007-08-20 21:36:03 UTC (rev 146) +++ trunk/templates/simple/login.tpl 2007-09-10 11:45:21 UTC (rev 147) @@ -43,8 +43,7 @@ </td> <td> <select name="language"> - <option value="de_DE">deutsch</option> - <option value="en_US">english</option> + {html_options values=$language_ids output=$language_names selected=$default_language} </select> </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-08-20 21:36:08
|
Revision: 146 http://elma.svn.sourceforge.net/elma/?rev=146&view=rev Author: dweuthen Date: 2007-08-20 14:36:03 -0700 (Mon, 20 Aug 2007) Log Message: ----------- redirect and vaction sieve filter creation and update working Modified Paths: -------------- trunk/includes/sieve.inc.php trunk/lib/sieve/initSieve.php trunk/modules/content_user_edit.php trunk/templates/simple/content_user_edit.tpl Modified: trunk/includes/sieve.inc.php =================================================================== --- trunk/includes/sieve.inc.php 2007-08-20 20:29:47 UTC (rev 145) +++ trunk/includes/sieve.inc.php 2007-08-20 21:36:03 UTC (rev 146) @@ -6,8 +6,14 @@ } function createSieveFilter ( $sieveFilter, $sieveValues ) { - foreach ( $sieveValues as $keyword => $value) { - $sieveFilter["rules"] = str_replace("%$keyword%", $value, $sieveFilter["rules"]); + $index = 0; + foreach ( $sieveValues as $catergorie ) { + $catergories = array_keys($sieveValues); + $catergorie_name = strtoupper($catergories[$i]); + foreach ( $catergorie as $keyword => $value) { + $sieveFilter["rules"] = str_replace("%$catergorie_name.$keyword%", $value, $sieveFilter["rules"]); + } + $index++; } $requireValues .= implode(",",$sieveFilter["require"]); @@ -21,11 +27,16 @@ $lines = preg_split("/\n/",$sieveFilter); $line = array_shift($lines); while ( isset($line) ) { - if ( preg_match('/^(.*)vacation :days 7 :addresses "(.*)" "(.*)";/i',$line,$values) ) { - $sieveValues = array( STATUS => sieveUnescapeChars($values[1]), - RECIPIENT => sieveUnescapeChars($values[2]), - MESSAGE => sieveUnescapeChars($values[3])); + unset ($values); + if ( preg_match('/^(.*)vacation :days 7 :addresses "(.*)" "(.*)"; # VACATION$/i',$line,$values) ) { + $sieveValues["vacation"] = array( STATUS => sieveUnescapeChars($values[1]), + RECIPIENT => sieveUnescapeChars($values[2]), + MESSAGE => sieveUnescapeChars($values[3])); } + if ( preg_match('/^(.*)redirect "(.*)"; keep; # REDIRECT$/i',$line,$values) ) { + $sieveValues["redirect"] = array( STATUS => sieveUnescapeChars($values[1]), + RECIPIENT => sieveUnescapeChars($values[2])); + } $line = array_shift($lines); } return $sieveValues; Modified: trunk/lib/sieve/initSieve.php =================================================================== --- trunk/lib/sieve/initSieve.php 2007-08-20 20:29:47 UTC (rev 145) +++ trunk/lib/sieve/initSieve.php 2007-08-20 21:36:03 UTC (rev 146) @@ -2,8 +2,12 @@ $sieveFilter["require"] = array(); $sieveFilter["rules"] = array(); +$sieveFilter["rules"]["vacation"] = array(); + + array_push($sieveFilter["require"],"\"vacation\""); -array_push($sieveFilter["rules"], "%STATUS%vacation :days 7 :addresses \"%RECIPIENT%\" \"%MESSAGE%\";"); +array_push($sieveFilter["rules"], "%REDIRECT.STATUS%redirect \"%REDIRECT.RECIPIENT%\"; keep; # REDIRECT"); +array_push($sieveFilter["rules"], "%VACATION.STATUS%vacation :days 7 :addresses \"%VACATION.RECIPIENT%\" \"%VACATION.MESSAGE%\"; # VACATION"); ?> Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-08-20 20:29:47 UTC (rev 145) +++ trunk/modules/content_user_edit.php 2007-08-20 21:36:03 UTC (rev 146) @@ -56,18 +56,25 @@ // new user created or existing user modified if (isset($_POST["submit"])) { - if (isset($_POST["nlo_vacationstatus"])) { - $sieveFilter = loadSieveTemplates(); - $sieveValues = array( STATUS => "", - RECIPIENT => $_POST["uid"]."@".$domain, - MESSAGE => $_POST["nlo_vacationmessage"]); - } else { - $sieveFilter = loadSieveTemplates(); - $sieveValues = array( STATUS => "#", - RECIPIENT => $_POST["uid"]."@".$domain, - MESSAGE => $_POST["nlo_vacationmessage"]); + + // load Sieve Templates + $sieveFilter = loadSieveTemplates(); + + // create array of submitted values + $sieveValues["vacation"] = array( STATUS => "", + RECIPIENT => $_POST["uid"]."@".$domain, + MESSAGE => $_POST["nlo_vacationmessage"]); + if (! isset($_POST["nlo_vacationstatus"])) { + $sieveValues["vacation"]["STATUS"] = "#"; } + $sieveValues["redirect"] = array( STATUS => "", + RECIPIENT => $_POST["nlo_redirectrecipient"]); + if (! isset($_POST["nlo_redirectstatus"])) { + $sieveValues["redirect"]["STATUS"] = "#"; + } + + // remove all non LDAP objects from submited form // an the submit and mode value $my_user = remove_key_by_str($_POST,"nlo_"); @@ -107,7 +114,8 @@ $sieveValues = parseSieveFilter($my_user["mailsievefilter"][0]); $this->smarty->assign("mode","modify"); $this->smarty->assign("user",$my_user); - $this->smarty->assign("vacationsettings",$sieveValues); + $this->smarty->assign("vacationsettings",$sieveValues["vacation"]); + $this->smarty->assign("redirectsettings",$sieveValues["redirect"]); } } Modified: trunk/templates/simple/content_user_edit.tpl =================================================================== --- trunk/templates/simple/content_user_edit.tpl 2007-08-20 20:29:47 UTC (rev 145) +++ trunk/templates/simple/content_user_edit.tpl 2007-08-20 21:36:03 UTC (rev 146) @@ -43,9 +43,31 @@ </tr> <tr> <td> - {t}Vacant?{/t} + {t}Redirect{/t} </td> <td> + <input type="checkbox" name="nlo_redirectstatus" {if $redirectsettings.STATUS eq "#"}{else}checked="checked"{/if} /> + </td> + </tr> + <tr> + <td> + {t}Recipient:{/t} + </td> + <td> + <input type="text" name="nlo_redirectrecipient" cols="60" value="{$redirectsettings.RECIPIENT}"/> + </td> + </tr> + + <tr> + <td colspan="2"> + <hr/> + </td> + </tr> + <tr> + <td> + {t}on vacation?{/t} + </td> + <td> <input type="checkbox" name="nlo_vacationstatus" {if $vacationsettings.STATUS eq "#"}{else}checked="checked"{/if} /> </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-08-20 20:29:50
|
Revision: 145 http://elma.svn.sourceforge.net/elma/?rev=145&view=rev Author: dweuthen Date: 2007-08-20 13:29:47 -0700 (Mon, 20 Aug 2007) Log Message: ----------- resolved errors with variable names, thnx to Pavel Modified Paths: -------------- trunk/includes/ldap_functions.inc.php Modified: trunk/includes/ldap_functions.inc.php =================================================================== --- trunk/includes/ldap_functions.inc.php 2007-08-13 21:15:24 UTC (rev 144) +++ trunk/includes/ldap_functions.inc.php 2007-08-20 20:29:47 UTC (rev 145) @@ -127,8 +127,8 @@ if (isset($domain[0])) { if ( $domain_dc !== "*" ) { $domain = $domain[0]; - if ( count($attribute) == 1 ) { - $domain = $domain[$attribute[0]]; + if ( count($attributes) == 1 ) { + $domain = $domain[$attributes[0]]; } } } @@ -315,7 +315,7 @@ $member = explode(",", $searchresult[$i]["member"][$c]); if (isset($member[3])) { - if (($member[0] == "uid=".$user) && ($member[2].",".$member[3] == LDAP_DOMAINS_ROOT_DN)) { + if (($member[0] == "uid=".$user_uid) && ($member[2].",".$member[3] == LDAP_DOMAINS_ROOT_DN)) { $del["member"] = array($searchresult[$i]["member"][$c]); ldap_mod_del($this->cid, $searchresult[$i]["dn"], $del); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dwe...@us...> - 2007-08-13 21:15:25
|
Revision: 144 http://elma.svn.sourceforge.net/elma/?rev=144&view=rev Author: dweuthen Date: 2007-08-13 14:15:24 -0700 (Mon, 13 Aug 2007) Log Message: ----------- just another cleanup of debugging calls Modified Paths: -------------- trunk/modules/content_user_edit.php Modified: trunk/modules/content_user_edit.php =================================================================== --- trunk/modules/content_user_edit.php 2007-08-13 21:14:27 UTC (rev 143) +++ trunk/modules/content_user_edit.php 2007-08-13 21:15:24 UTC (rev 144) @@ -82,7 +82,6 @@ $my_user["mailSieveFilter"] = createSieveFilter( $sieveFilter, $sieveValues ); $my_user["userpassword"] = "{MD5}".base64_encode(pack("H*",md5($my_user["clearpassword"]))); - my_print_r($my_user); $validation_errors = validate_user($my_user); if (count($validation_errors) == 0) { $this->ldap->modifyUser($domain,$my_user); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |