[% USE CPScalar -%] [% USE JSON -%] [% USE Encoder -%] [% USE Whostmgr -%] [% WRAPPER 'master_templates/master.tmpl' theme="yui" inside_frame_or_tab_or_popup = in_tab skipheader = in_tab stylesheets = [ Whostmgr.find_file_url('css/tweaksettings_optimized.css'), '/yui/button/assets/skins/sam/button.css' '/yui/autocomplete/assets/skins/sam/autocomplete.css' ] scripts = [ '/yui/datasource/datasource-min.js' '/yui/autocomplete/autocomplete-min.js' '/cjt/combobox.js' ] breadcrumburl = '/scripts2/displayeximconfforedit' extrastyle = ' /* Tab Style */ #pageContainer { margin: 0; padding: 0; } #contentContainer { max-width: inherit !important; } /* End Tab Style */ .confeditbox { overflow: hidden; } .brickliststart li { list-style: none; } #rbl_table { width: 100%; } #rbl_table th, #rbl_table td { text-align: center; } tr.delete_rbl td { font-style: italic; color: graytext; } .CONFIG_autocompleter { margin-right: 10px; border: 1px solid #aaaaaa; display: inline-block; } .CONFIG_autocompleter a { margin: 0 2px; vertical-align: middle; } .CONFIG_autocompleter a:hover { text-decoration: none; } .CONFIG_autocompleter input { width: 256px; border: 0; border-right: 1px solid #aaaaaa; } .yui-skin-sam .yui-ac-input { position: static; width: 20em; vertical-align: middle; } .yui-skin-sam .yui-ac-container { width: 20em; left: 0px; } .yui-skin-sam .yui-ac-container .yui-ac-content { max-height: 150px; overflow-y: scroll; } .syntax_error { color: #a00; } .sortable td .validator_display, .datatable td .validator_display, .validator_display { border: 0; } .validator_display { width: 80px; } .CONFIG_container td { padding-bottom: 0; } .CONFIG_container textarea { margin: 0; } .CONFIG_default_container td { padding-top: 0; width: 215px; font: 12px "Andale Mono", "Courier New", Courier, monospace; } fieldset.section { padding: 0; padding-left: 10px !important; border: none; } fieldset.aclinsert { padding: 0; padding-left: 10px !important; } #CONFIG a { color: #037094; } #CONFIG a:visited { color: #335024; } #CONFIG a:hover, a:visited:hover { color: #000000; } #CONFIG .docbook_filename, .docbook_emphasis, .docbook_function { font-style: italic; } #CONFIG .docbook_option, .docbook_command { font-weight: bold; } #CONFIG .docbook_literal { font-family: monospace; } #CONFIG .docbook_literallayout { background-color: #E8E8D0; } #CONFIG .docbook_literallayout pre { margin-bottom: 1em; padding: 1em; } #CONFIG p, #CONFIG pre { margin: 0; } #CONFIG .CONFIG_description { width: 710px; padding-left: 15px; border: dashed 1px #ccc; } #eximconf pre { margin: 0; padding-left: 10px; } .aclinsert { padding-left: 15px; padding-top: 5px; } #CONFIG td { border: 0; } legend { font-weight: 900; } .datatable td, .sortable td { border-right: 0; } html[dir="rtl"] .sortable .cell, html[dir="rtl"] .fixedtable .cell, html[dir="rtl"] .datatable .cell { border-left: 1px solid #ccc; } html[dir="rtl"] .yui-panel .container-close { left: 4px; right: auto; } ' -%]
[% WRAPPER '_brick.tmpl' bricktitle='Instructions' brickpercent='auto' -%]
The following configuration editor will allow you to modify the default configuration of Exim. Configuration changes made within this editor will be conserved across Exim updates and reinstallation. Changes to the default configuration can significantly impact Exim's performance and may prevent it from operating altogether. Use this editor with caution.

To use, add new directives or modify current directives within the provided text boxes. You should only use this feature if you understand how to write a valid Exim configuration file. Information on Exim's configuration syntax can be found in Exim's documentation.

Adding invalid configuration information here will prevent Exim from operating.
[% END -%]

[% WRAPPER '_brick.tmpl' bricktitle='Combined Exim Configuration' brickpercent='auto' %]
[% VIEW cfg_ac_cell; BLOCK hash -%]
[% END; END; -%] [%- SET cols = 100; SET minrows = 5; SET incfkill = 0; SET section = 'acl'; SET inblock = 0; SET inpre = 0; FOREACH line = data.exim_dist_config_template; SET this_match = line.match('\Abegin\s+(.+)\z'); IF this_match; SET section = this_match.0; END; SET this_match = line.match('\A\s*\@(.+)\@\s*\n?\z'); IF this_match; IF inpre; ""; SET inpre=0; END; SET insert = this_match.0; "
Section: $insert"; IF insert == "CONFIG"; SET optcount = 0; "
"; "
"; FOREACH cfgopt = data.parsed_config; SET optname = cfgopt.name; SET optsetting = cfgopt.setting; SET optcount = optcount + 1; "\n\n\n
"; ""; cfg_ac_cell.print({ 'optcount'=>optcount, 'optsetting'=>optsetting }); ""; SET cfgval = cfgopt.val.cpanel_safe_html_encode_str(); SET rows = cfgval.split('\n').size; IF rows < minrows; SET rows = 2; END; "'; ""; ""; ""; ""; ""; IF data.config_docs.$optname.default; ""; ELSE; ""; END; IF data.config_docs.$optname.cpanel_default; ""; ELSE; ""; END; ""; '
=
"; "
"; "
"; IF ! data.non_removable_opts.$optsetting; "Delete"; END; "
Exim Default: " _ data.config_docs.$optname.default.cpanel_safe_html_encode_str() _ "cPanel Default: " _ data.config_docs.$optname.cpanel_default.cpanel_safe_html_encode_str() _ "
'; "
"; "
"; data.config_docs.$optname.description; "
\n\n\n"; END; "
"; "

Add additional configuration setting
"; "
"; ELSE; SET rows = data.cf.$insert.split('\n').size; IF rows < minrows; SET rows = minrows; END; ""; ""; ""; ""; ""; "
"; "
";
                            "';
                         "
";
                    "
"; "
"; "
"; END; "
"; NEXT; END; SET this_match = line.match('\A\%(.+)\%\n?\z'); IF this_match; IF inpre; ""; SET inpre=0; END; SET insert = this_match.0; SET acf = insert.replace('\A(?:BEGIN|END)', ''); IF insert.match( '\ABEGINACL' ); "
Section: ACLs"; SET incfkill = 1; SET usingcustom = 0; SET currentblock = ""; SET inside_insert = 0; SET insert_text = ""; SET customacls = data.cf.$acf ? data.cf.$acf : data.distcf.$acf; SET parsedacls = data.parsed_acls; IF data.cf.exists( acf ) && data.cf.$acf; SET usingcustom = 1; END; SET rows = customacls.split('\n').size; IF rows < minrows; SET rows = minrows; END; "
"; "
"; ""; ""; ""; ""; ""; "
"; "
";
                                    "';
                                "
"; "
"; "
"; "
"; "
"; ""; "
"; FOREACH entry = parsedacls; IF entry.type == "text"; IF entry.value.match('^\s*$'); NEXT; END; IF entry.value.match('^\s*#'); NEXT; END; SET aclname = entry.value; "
"; GET aclname.cpanel_safe_html_encode_str(); ""; ELSIF entry.type == "insert"; SET rows = entry.value.split('\n').size; IF rows < 1; SET rows = 1; END; "
"; " "; " "; entry.name.cpanel_safe_html_encode_str(); SET aclkey = "acl_" _ entry.name; IF data.rbl_docs.$aclkey; " (" _ data.rbl_docs.$aclkey.label _ ")"; END; "" ; "
"; IF entry.editable; ""; ""; ""; ""; ""; "
"; "
";
                                            "';
                                        "
"; "
"; "
"; "
"; ELSE; "
";
                                "
"; FOREACH txtline IN entry.value.split("\n"); GET txtline.textbreak( cols, "\n" ).cpanel_safe_html_encode_str() _ "\n"; END; '
'; "
"; END; "
"; #aclinner "
"; END; END; "
"; "
"; "
"; ELSIF insert.match( '\ABEGIN(.+)' ); SET inblock = 1; SET acf = this_match.0.replace('\ABEGIN',''); "
Section: ${acf}"; SET rows = minrows; "
"; "
"; ""; ""; ""; ""; ""; "
"; "
";
                                    "';
                                "
"; "
"; "
"; "
"; "
"; "
"; ""; "
"; END; NEXT; END; NEXT IF incfkill; IF !inblock && !inpre; "
";
        SET inpre= 1;
    END;
    GET line.textbreak( cols, "\n" ).cpanel_safe_html_encode_str() _ "\n";

END;

IF inpre;
    "
"; END; -%]
[% END #block -%]
[% END #wrapper -%]