function PostFixCheckHashTable()
{
    $field = $_GET["field"];
    $ldap_field = $_GET["PostFixCheckHashTable"];
    $page = CurrentPageName();
    $action_table = array(null => "{select}", "OK" => "ACCEPT", "REJECT" => "REJECT", "BCC" => "BCC", "DISCARD" => "DISCARD", "DUNNO" => "DUNNO", "FILTER" => "FILTER", "HOLD" => "HOLD", "PREPEND" => "PREPEND", "REDIRECT" => "REDIRECT", "WARN" => "WARN", "reject_unverified_sender" => "{reject_unverified_sender}");
    $html = "\n\t<div style='padding:20px'>\n\t<h3>{" . $field . "}</h3>\n\t<div class=caption>{" . $field . "_text}</div>\n\t<form name='{$field}'>\n\t<input type='hidden' name='field' value='{$field}'>\n\t<input type='hidden' name='PostFixCheckHashTableSave' value='{$ldap_field}'>\n\t<H4>{add_entry}</h4>\n\t<table style='width:100%'>\n\t<tr>\n\t<td style='text-decoration:underline'><strong>" . icon_help('pattern_action') . "</strong>:</td>\n\t</tr>\n\t<tr>\n\t<td>" . Field_text('value', null) . "</td>\n\t</tr>\n\t<tr>\n\t<td style='text-decoration:underline'><strong>{action}</strong>:</td>\n\t</tr>\t\n\t<tr>\n\t<td>" . Field_array_Hash($action_table, 'action', null, "PostFixCheckHashTableSelectAction()", null, 0, 'width:100%') . "</td>\n\t</tr>\t\n\t<tr>\n\t<td class=caption><div id='selected'></div></td>\n\t</tr>\t\n\t<td align='right'><input type='button' value='{apply}&nbsp;&raquo;' OnClick=\"javascript:ParseForm('{$field}','{$page}',true);Load_postfix_security_rules_table();\"></td>\n\t</tr>\t\t\n\t<tr>\t\t\n\t</table>\n\t\n\t\n\t</div>";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}
示例#2
0
function backends_settings()
{
    $tt = $_GET["t"];
    $t = time();
    $users = new usersMenus();
    $page = CurrentPageName();
    $tpl = new templates();
    $servicename = $_GET["servicename"];
    $backendname = $_GET["backendname"];
    $hapServ = new haproxy_multi($servicename);
    $UseSMTPProto = $hapServ->MainConfig["UseSMTPProto"];
    if (!is_numeric($UseSMTPProto)) {
        $UseSMTPProto = 0;
    }
    $hap = new haproxy_backends($servicename, $backendname);
    $remove_this_backend = $tpl->javascript_parse_text("{remove_this_backend}");
    if ($hap->enabled == 1) {
        $enableT = "\t<tr>\n\t\t<td width=1%><img src='img/arrow-right-24.png'>\n\t\t<td><a href=\"javascript:blur();\" OnClick=\"javascript:SaveHaProxyBackendDisable{$t}(0);\" \n\t\tstyle=\"font-size:14px;text-decoration:underline\">{disable_this_backend}</td>\n\t</tr>";
    } else {
        $enableT = "\t<tr>\n\t\t<td width=1%><img src='img/arrow-right-24.png'>\n\t\t<td><a href=\"javascript:blur();\" OnClick=\"javascript:SaveHaProxyBackendDisable{$t}(1);\" \n\t\tstyle=\"font-size:14px;text-decoration:underline\">{activate_this_backend}</td>\n\t</tr>";
    }
    $toolbox = "\n\t<table style='width:99%' class=form>\n\t{$enableT}\n\t<tr>\n\t\t<td width=1%><img src='img/arrow-right-24.png'>\n\t\t<td><a href=\"javascript:blur();\" OnClick=\"javascript:SaveHaProxyBackendDelete{$t}();\" \n\t\tstyle=\"font-size:14px;text-decoration:underline\">{$remove_this_backend}</td>\n\t</tr>\n\t</table>";
    $buttonname = "{apply}";
    if ($backendname == null) {
        $buttonname = "{add}";
        $toolbox = null;
    }
    if (!is_numeric($hap->MainConfig["inter"])) {
        $hap->MainConfig["inter"] = 60000;
    }
    if (!is_numeric($hap->MainConfig["fall"])) {
        $hap->MainConfig["fall"] = 3;
    }
    if (!is_numeric($hap->MainConfig["rise"])) {
        $hap->MainConfig["rise"] = 2;
    }
    if (!is_numeric($hap->MainConfig["maxconn"])) {
        $hap->MainConfig["maxconn"] = 10000;
    }
    $ip = new networking();
    $Interfaces = $ip->Local_interfaces();
    $Interfaces[null] = "{default}";
    unset($Interfaces["lo"]);
    $html = "\n\t<div id='{$t}-defaults'></div>\n\t<table style='width:99%;margin-bottom:15px' class=form>\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{backendname}:</td>\n\t\t\t\t<td>" . Field_text("backendname-{$t}", $backendname, "font-size:16px;padding:3px;width:270px") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{outgoing_address}:</td>\n\t\t\t\t<td>" . Field_array_Hash($Interfaces, "localInterface-{$t}", $hap->localInterface, "style:font-size:16px;padding:3px;") . "</td>\n\t\t\t\t<td>" . icon_help("{haproxy_local_interface_help}") . "</td>\n\t\t\t</tr>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{listen_ip}:</td>\n\t\t\t\t<td width=99%>" . field_ipv4("listen_ip-{$t}", $hap->listen_ip, "font-size:16px;") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{listen_port}:</td>\n\t\t\t\t<td>" . Field_text("listen_port-{$t}", $hap->listen_port, "font-size:16px;padding:3px;width:70px") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{postfix_send_proxy}:</td>\n\t\t\t\t<td width=99%>" . Field_checkbox("postfix-send-proxy-{$t}", 1, $hap->MainConfig["postfix-send-proxy"], "UseSMTPSendProxy{$t}()") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\t\t\t\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{weight}:</td>\n\t\t\t\t<td>" . Field_text("bweight-{$t}", $hap->bweight, "font-size:16px;padding:3px;width:70px") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{max_connections}:</td>\n\t\t\t\t<td>" . Field_text("maxconn-{$t}", $hap->MainConfig["maxconn"], "font-size:16px;padding:3px;width:100px") . "</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\t\t\t\n\t\t\t\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{check_interval}:</td>\n\t\t\t\t<td style='font-size:16px;'>" . Field_text("inter-{$t}", $hap->MainConfig["inter"], "font-size:16px;padding:3px;width:100px", null, "intercalc{$t}()", null, false, "intercalc{$t}()", false) . "&nbsp;{milliseconds}&nbsp;<span id='inter-span-{$t}'></span></td>\n\t\t\t\t <td>&nbsp;</td>\n\t\t\t</tr>\t\t\t\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{failed_number}:</td>\n\t\t\t\t<td style='font-size:16px;'>\n\t\t\t\t" . Field_text("fall-{$t}", $hap->MainConfig["fall"], "font-size:16px;padding:3px;width:100px") . "&nbsp;{attempts}&nbsp;<span id='fall-span-{$t}'></span></td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\t\t\t\n\t\t\t<tr>\n\t\t\t\t<td class=legend style='font-size:16px' nowrap>{success_number}:</td>\n\t\t\t\t<td style='font-size:16px;'>" . Field_text("rise-{$t}", $hap->MainConfig["rise"], "font-size:16px;padding:3px;width:70px") . "&nbsp;{attempts}</td>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\t\t\t\t\n\t\t\t<tr>\t\t\t\n\t\t\t\t<td colspan=3 align='right'>" . button("{$buttonname}", "SaveHaProxyBackend()", 18) . "</td>\n\t\t\t</tr>\t\t\t\t\t\t\n\t</table>\n{$toolbox}\n\t\n<script>\n\tvar x_SaveHaProxyBackend{$t}=function (obj) {\n\t\t    var servicename='{$backendname}';\n\t\t\tvar results=obj.responseText;\n\t\t\tdocument.getElementById('{$t}-defaults').innerHTML='';\n\t\t\tif(results.length>2){alert(results);return;}\n\t\t\t\$('#table-{$tt}').flexReload();\n\t\t\tif(servicename.length==0){YahooWin4Hide();return;}\n\t\t\tRefreshTab('main_config_backendservice');\n\t\t}\n\n\tvar x_SaveHaProxyBackendDelete{$t}=function (obj) {\n\t\t    var servicename='{$backendname}';\n\t\t\tvar results=obj.responseText;\n\t\t\tdocument.getElementById('{$t}-defaults').innerHTML='';\n\t\t\tif(results.length>2){alert(results);return;}\n\t\t\t\$('#table-{$tt}').flexReload();\n\t\t\tYahooWin4Hide();\n\t\t\t\n\t\t}\t\t\n\t\t\n\t\tfunction SaveHaProxyBackend(){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('backends-save','yes');\n    \t\tXHR.appendData('servicename','{$servicename}');\n    \t\tXHR.appendData('backendname',document.getElementById('backendname-{$t}').value);\n    \t\tXHR.appendData('listen_ip',document.getElementById('listen_ip-{$t}').value);\n    \t\tXHR.appendData('listen_port',document.getElementById('listen_port-{$t}').value);\n    \t\tXHR.appendData('bweight',document.getElementById('bweight-{$t}').value);\n    \t\tXHR.appendData('maxconn',document.getElementById('maxconn-{$t}').value);\n    \t\tXHR.appendData('localInterface',document.getElementById('localInterface-{$t}').value);\n    \t\t\n    \t\t\n    \t\t\n    \t\t\n    \t\tXHR.appendData('inter',document.getElementById('inter-{$t}').value);\n    \t\tXHR.appendData('fall',document.getElementById('fall-{$t}').value);\n    \t\tXHR.appendData('rise',document.getElementById('rise-{$t}').value);\n    \t\tif(document.getElementById('postfix-send-proxy-{$t}').checked){XHR.appendData('postfix-send-proxy',1);}else{XHR.appendData('postfix-send-proxy',0);}\n    \t\t\n\t\t\tAnimateDiv('{$t}-defaults');\n    \t\tXHR.sendAndLoad('{$page}', 'POST',x_SaveHaProxyBackend{$t});\n\t\t\t\n\t\t}\t\n\t\t\n\t\tfunction SaveHaProxyBackendDelete{$t}(){\n\t\t\tif(confirm('{$remove_this_backend} ?')){\n\t\t\t\tAnimateDiv('{$t}-defaults');\n\t\t\t\tXHR.appendData('servicename','{$servicename}');\n    \t\t\tXHR.appendData('backends-delete','{$backendname}');\n\t\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_SaveHaProxyBackendDelete{$t});\n\t\t\t}\n\t\t}\n\t\tfunction SaveHaProxyBackendDisable{$t}(enable){\n\t\t\tvar XHR = new XHRConnection();\n\t\t\tXHR.appendData('backends-enable', '{$backendname}');\n\t\t\tXHR.appendData('servicename', '{$servicename}');\n\t\t\tXHR.appendData('enable', enable);\n\t\t\tXHR.sendAndLoad('{$page}', 'POST',x_SaveHaProxyBackend{$t});\n\t\t}  \t\n\n\t\t\n\t\tfunction intercalc{$t}(){\n\t\t\tLoadAjaxTiny('inter-span-{$t}','{$page}?millisec='+document.getElementById('inter-{$t}').value);\n\t\t\n\t\t}\n\t\t\n\t\t\n\t\tfunction CheckService{$t}(){\n\t\t\t var backendname='{$backendname}';\n\t\t\t var UseSMTPProto={$UseSMTPProto};\n\t\t\t document.getElementById('postfix-send-proxy-{$t}').disabled=false;\n\t\t\t if(backendname.length>2){document.getElementById('backendname-{$t}').disabled=true;}\n\t\t\t if(UseSMTPProto==1){document.getElementById('postfix-send-proxy-{$t}').disabled=false;}\n\t\t}\n\t\t\nCheckService{$t}();\t\t\n\tintercalc{$t}();\t\n\t\t\n</script>";
    echo $tpl->_ENGINE_parse_body($html);
}
function PostFixRestrictionLoadLdap()
{
    $class_name = $_GET["PostFixRestrictionLoadLdap"];
    $hash_table = $_GET["key"];
    $restrictions = new smtpd_restrictions();
    $hash = $restrictions->smtpd_hash_restrictions_table;
    $correspondance = $hash[1];
    while (list($num, $ligne) = each($hash[0])) {
        if ($correspondance[$ligne]["datas"] == "ACTIONS_datas") {
            $arr[$ligne] = $ligne;
        } else {
            $arr[$ligne] = "{" . strtolower($ligne) . "{$suffix}}";
        }
    }
    $arr[null] = "{select}";
    ksort($arr);
    //prevent creating new hash table by deleting access keys...
    while (list($num, $ligne) = each($restrictions->restriction_rules_key)) {
        unset($arr[$num]);
    }
    //-----
    $field = Field_array_Hash($arr, 'pattern_action', null, 'PostFixRestrictionLoadLdapSelect()');
    $html = "\n\t<input type='hidden' id='PostFixRestrictionLoadLdap_class_name' value='{$class_name}'>\n\t<input type='hidden' id='PostFixRestrictionLoadLdap_hash_table' value='{$hash_table}'>\n\t<div style='padding:20px'>\n\t<H3>{$class_name}:&nbsp;{" . $hash_table . "}&nbsp;</H3>\n\t\t<table style='width:100%'>\n\t<tr>\n\t<td><strong>" . icon_help('pattern_action') . "</strong>:</td>\n\t</tr>\n\t<tr>\t\n\t<td>" . Field_text('pattern_email', null) . "</td>\n\t</tr>\n\t<tr>\n\t<td><strong>{action}</strong></td>\n\t</tr>\n\t<tr>\n\t<td>{$field}</td>\n\t</tr>\t\n\t</table>\n\t<div id='PostFixRestrictionLoadLdapSecondStep'></div>\n\t<div id='PostFixRestrictionTableList' style='text-align:center;width:100%;padding:5px;border:1px solid #CCCCCC;margin-top:10px;'>" . PostFixRestrictionTableList($class_name, $hash_table) . "</div>\n\t</div>\n\t";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}
function LoadGroupSettingsNotifications($group, $ou)
{
    $ldap = new clladp();
    $ren = new renattach($group, $ou);
    $page = CurrentPageName();
    $html = RuleTab($group, $ou) . "\n<FORM NAME='FFM1'>\n<input type='hidden' name='ou' value='{$ou}'>\n<input type='hidden' name='group' value='{$group}'>\n<table style='width:100%;border:1px solid #CCCCCC;padding:5px;margin:5px'>\n<tr><td colspan=3>" . imgtootltip('restore-on.png', '{back}', "LoadAjax('group_list','{$page}?LoadGroups={$ou}')") . "</td></tR>\n\t<tr>\n\n\t\t\t<td valign='top' align='right' nowrap><strong>{search_zip}:</strong></td>\n\t\t\t<td width=1% valign='top' align='left'>" . Field_yesno_checkbox_img('search_zip', $ren->arrayDatas["search_zip"]) . "</td>\n\t\t\t<td width=1% class=caption>" . icon_help('search_zip_text', 1) . "</td>\n\t</tr>\n\t<tr>\n\t\t\t<td valign='top' nowrap align='right'><strong>{subj_deleted}:</strong></td>\n\t\t\t<td width=99% valign='top' align='left'>" . Field_text('subj_deleted', $ren->arrayDatas["subj_deleted"], 'width:100%') . "</td>\n\t\t\t<td width=1% class=caption>" . icon_help('subj_deleted_text', 1) . "</td>\n\t</tr>\n\t<tr>\n\t\t\t<td valign='top' nowrap align='right'><strong>{subj_renamed}:</strong></td>\n\t\t\t<td width=99% valign='top' align='left'>" . Field_text('subj_renamed', $ren->arrayDatas["subj_renamed"], 'width:100%') . "</td>\n\t\t\t<td width=1% class=caption>" . icon_help('subj_renamed_text', 1) . "</td>\n\t</tr>\t\n\t<tr>\n\t\t\t<td valign='top' nowrap align='right'><strong>{add_subject}:</strong></td>\n\t\t\t<td width=99% valign='top' align='left'>" . Field_text('add_subject', $ren->arrayDatas["add_subject"], 'width:100%') . "</td>\n\t\t\t<td width=1% class=caption>" . icon_help('add_subject_text', 1) . "</td>\n\t</tr>\t\n\t\n\t<tr>\n\t<td valign='top' nowrap align='right'><strong>{warning_text}:</strong></td>\n\t\t\t<td width=99% valign='top' align='left'><textarea name='warning_text' id='warning_text' style='width:100%'>{$ren->arrayDatas["warning_text"]}</textarea></td>\n\t\t\t<td width=1% class=caption>" . icon_help('warning_text_text', 1) . "</td>\n\t</tR>\n\t\n\t<tr>\n\t<td valign='top' nowrap align='right'><strong>{warning_html}:</strong></td>\n\t\t\t<td  valign='top' align='left'><textarea name='warning_html' id='warning_html' style='width:100%'>{$ren->arrayDatas["warning_html"]}</textarea></td>\n\t\t\t<td width=1% class=caption>" . icon_help('warning_html_text', 1) . "</td>\n\t</tR>\t\n\t<tr>\n\t<td colspan=3 align='right'><input type='button' value='{save}&nbsp;&raquo;' OnClick=\"javascript:ParseForm('FFM1','" . CurrentPageName() . "',true);\"></td>\n\t</tR>\n\t\n\t\t\n\t\n\t\n        </table>";
    $tpl = new templates();
    echo $tpl->_ENGINE_parse_body($html);
}