Till Brehm
2014-11-06 d907c0ce889a71b1ac5fb49e8dd5229b9459bd0e
Fix for gentoo: http://www.howtoforge.com/forums/showpost.php?p=321184&postcount=10
2 files modified
84 ■■■■■ changed files
interface/lib/plugins/mail_user_filter_plugin.inc.php 80 ●●●●● patch | view | raw | blame | history
server/plugins-available/bind_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
interface/lib/plugins/mail_user_filter_plugin.inc.php
@@ -137,41 +137,69 @@
            $content .= '### BEGIN FILTER_ID:'.$page_form->id."\n";
            //$content .= 'require ["fileinto", "regex", "vacation"];'."\n";
            if($page_form->dataRecord["op"] == 'domain') {
                $content .= 'if address :domain :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n";
            } elseif ($page_form->dataRecord["op"] == 'localpart') {
                $content .= 'if address :localpart :is "'.strtolower($page_form->dataRecord["source"]).'" "'.$page_form->dataRecord["searchterm"].'" {'."\n";
            } elseif ($page_form->dataRecord["source"] == 'Size') {
                if(substr(trim($page_form->dataRecord["searchterm"]),-1) == 'k' || substr(trim($page_form->dataRecord["searchterm"]),-1) == 'K') {
                    $unit = 'k';
                } else {
                    $unit = 'm';
                }
                $content .= 'if size :over '.intval($page_form->dataRecord["searchterm"]).$unit.' {'."\n";
            } else {
                if($page_form->dataRecord["source"] == 'Header') {
                    $parts = explode(':',trim($page_form->dataRecord["searchterm"]));
                    $page_form->dataRecord["source"] = trim($parts[0]);
                    unset($parts[0]);
                    $page_form->dataRecord["searchterm"] = trim(implode(':',$parts));
                    unset($parts);
                }
            $content .= 'if header :regex    ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
                $content .= 'if header :regex    ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
            $searchterm = preg_quote($page_form->dataRecord["searchterm"]);
            $searchterm = str_replace(
                array(
                    '"',
                    '\\[',
                    '\\]'
                ),
                array(
                    '\\"',
                    '\\\\[',
                    '\\\\]'
                ), $searchterm);
                $searchterm = preg_quote($page_form->dataRecord["searchterm"]);
                $searchterm = str_replace(
                    array(
                        '"',
                        '\\[',
                        '\\]'
                    ),
                    array(
                        '\\"',
                        '\\\\[',
                        '\\\\]'
                    ), $searchterm);
            if($page_form->dataRecord["op"] == 'contains') {
                $content .= ".*".$searchterm;
            } elseif ($page_form->dataRecord["op"] == 'is') {
                $content .= "^".$searchterm."$";
            } elseif ($page_form->dataRecord["op"] == 'begins') {
                $content .= " ".$searchterm."";
            } elseif ($page_form->dataRecord["op"] == 'ends') {
                $content .= ".*".$searchterm."$";
                if($page_form->dataRecord["op"] == 'contains') {
                    $content .= ".*".$searchterm;
                } elseif ($page_form->dataRecord["op"] == 'is') {
                    $content .= "^".$searchterm."$";
                } elseif ($page_form->dataRecord["op"] == 'begins') {
                    $content .= " ".$searchterm."";
                } elseif ($page_form->dataRecord["op"] == 'ends') {
                    $content .= ".*".$searchterm."$";
                }
                $content .= '"] {'."\n";
            }
            $content .= '"] {'."\n";
            if($page_form->dataRecord["action"] == 'move') {
                $content .= '    fileinto "'.$page_form->dataRecord["target"].'";' . "\n";
                $content .= '    fileinto "'.$page_form->dataRecord["target"].'";' . "\n    stop;\n";
            } elseif ($page_form->dataRecord["action"] == 'keep') {
                $content .= "    keep;\n";
            } elseif ($page_form->dataRecord["action"] == 'stop') {
                $content .= "    stop;\n";
            } elseif ($page_form->dataRecord["action"] == 'reject') {
                $content .= '    reject "'.$page_form->dataRecord["target"].'";    stop;\n\n';
            } else {
                $content .= "    discard;\n";
                $content .= "    discard;\n    stop;\n";
            }
            $content .= "    stop;\n}\n";
            $content .= "}\n";
            $content .= '### END FILTER_ID:'.$page_form->id."\n";
server/plugins-available/bind_plugin.inc.php
@@ -117,7 +117,7 @@
            //TODO : change this when distribution information has been integrated into server record
            if (file_exists('/etc/gentoo-release')) {
                $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
                $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri/'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
            }
            else {
                $filename = escapeshellcmd($dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($zone['origin'], 0, -1)));
@@ -151,7 +151,7 @@
        if($data['old']['origin'] != $data['new']['origin']) {
            //TODO : change this when distribution information has been integrated into server record
            if (file_exists('/etc/gentoo-release')) {
                $filename = $dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));
                $filename = $dns_config['bind_zonefiles_dir'].'/pri/'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));
            }
            else {
                $filename = $dns_config['bind_zonefiles_dir'].'/pri.'.str_replace("/", "_", substr($data['old']['origin'], 0, -1));