Viewing File: /usr/local/cpanel/base/frontend/jupiter/mail/lists.html.tt

[%
SET CPANEL.CPVAR.dprefix = "../";
SET mail_domains = execute("Email", "list_mail_domains", {});
SET password_strength_required_strength = execute("PasswdStrength", "get_required_strength", { "app" =>"list" });

PROCESS '_assets/resource_usage_macro.html.tt';

IF FORM.item('itemsperpage');
    SET CPANEL.CPVAR.itemsperpage = FORM.item('itemsperpage');
END;
IF (!( FORM.item('itemsperpage')) || !( CPANEL.CPVAR.item('itemsperpage')));
    SET CPANEL.CPVAR.itemsperpage = "10";
END;
%]

[% js_code = PROCESS js_block %]

[% WRAPPER '_assets/master.html.tt'
    app_key = 'mailing_lists'
    page_js = js_code
    page_scripts = CPANEL.is_debug_mode_enabled() ?
        [
            'libraries/handlebars/handlebars.js'
        ] :
        [
            'libraries/handlebars/handlebars.min.js'
        ]
    page_stylesheets = ['css2/mail/lists.css']
    use_master_bootstrap = 0
-%]
<div class="body-content">
    <p id="descMailingList" class="description">
        [% locale.maketext("Use a single address to send email to multiple email addresses. For more information, read the [output,url,_1,documentation,target,_2,id,_3].", "//go.cpanel.net/MailingLists", "_blank", "lnkMailingListsDocumentation") %]
    </p>

<div class="section">
    <h2 id="hdrCreateMailingList">[% locale.maketext("Create a Mailing List") %]</h2>
        [%
            # Note: a MACRO was not used here because we need to be able
            # to access resource_usage_limits after the block runs
            SET resource_usage_key = 'mailinglists';
            SET resource_usage_percent_used_to_warn = 80;
            PROCESS resource_usage_block;
         IF !resource_usage_limits || !resource_usage_limits.is_maxed  %]
        <div>
    [% ELSE %]
        <div class="hide">
    [% END %]
            <form method="post" action="doaddlist.html" id="userform" name="userform">
                <!-- prevent password autofill -->
                <input type="text" style="display:none">
                <input type="password" autocomplete='off' style="display:none">
                <div class="form-group">
                    <label id="lblListName" for="email">
                        [% locale.maketext("List Name") %]
                    </label>
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <input type="text" class="form-control" name="email" id="email" />
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6" id="email_error"></div>
                    </div>
                </div>

                [% IF mail_domains.data.size > 1 %]
                <div class="form-group">
                    <label id="lblDomain" for="domain">
                        [% locale.maketext("Domain") %]
                    </label>
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <select name="domain" id="domain" class="form-control">
                                [% FOREACH hashref IN mail_domains.data %]
                                    <option value="[% hashref.domain.html() %]">[% hashref.domain.html() %]</option>
                                [% END %]
                            </select>
                        </div>
                    </div>
                </div>
                [% ELSIF mail_domains.data.size %]
                <input id="hidDomain" type="hidden" name="domain" value="[% mail_domains.data.0.domain.html() %]" />
                [% END %]

                <div class="form-group">
                    <label id="lblPassword" for="password">
                        [% locale.maketext("Password") %]
                    </label>
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <input type="password" autocomplete='off' size="15" name="password" id="password" class="form-control" />
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6" id="password_error"></div>
                    </div>
                </div>

                <div class="form-group">
                    <label id="lblPasswordAgain" for="password2">
                        [% locale.maketext("Password (Again)") %]
                    </label>
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <input type="password" autocomplete='off' size="15" name="password2" id="password2" class="form-control" />
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6" id="password2_error"></div>
                    </div>
                </div>

                <div class="form-group">
                    <label id="lblStrength">
                        [% locale.maketext("Strength") %] <span id="why_strong_passwords_link" class="glyphicon glyphicon-info-sign"></span>
                    </label>
                    [% INCLUDE _assets/why_strong_passwords.html.tt %]
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <div id="password_strength" class="password_strength"></div>
                        </div>
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <input type="button" id="create_strong_password" class="btn btn-default" value="[% locale.maketext("Password Generator") %]" tabindex="-1" />
                        </div>
                    </div>
                </div>

                <div class="form-group">
                    <label id="lblAccessType" for="private">
                        [% locale.maketext("Access Type")  %]
                    </label>
                    <div class="row">
                        <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                            <div class="radio">
                                <label id="lblPublic">
                                    <input id="private_public" type="radio" name="private" value="0" checked="checked">
                                    [% locale.maketext("Public")  %]
                                </label>
                            </div>
                            <div class="radio">
                                <label id="lblPrivate">
                                    <input id="private_private" type="radio" name="private" value="1">
                                    [% locale.maketext("Private")  %]
                                </label>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="form-group">
                    <input type="submit" id="submit" value="[% locale.maketext("Add") %]" class="btn btn-primary" disabled="disabled" />
                </div>

            </form>
        </div>
</div>

<!-- used as an anchor in other pages -->
<a id="lnkListlists" name="listlists"></a>

<div class="section">
[% INCLUDE mail/lists/lists.tt %]
</div>

</div><!-- end body-content -->
[% END #wrapper %]

[% BLOCK js_block %]
<script type="text/javascript">
var REQUIRED_PASSWORD_STRENGTH = parseInt('[% password_strength_required_strength.data.strength.html() %]', 10) || 0;

var init_lists = function() {
    var lname_validator = new CPANEL.validate.validator("List Name");
    lname_validator.add("email", "min_length(%input%, 1)", "[% locale.maketext("The “[_1]” field cannot be left blank.", locale.maketext('List Name')) %]");
    lname_validator.add("email", function() {
        return !/[^a-zA-Z0-9\.\-\_]/.test(DOM.get("email").value)
    }, "[% locale.maketext("Mailing list names may contain only these characters: [join, ,_*]", 'a-z', '0-9', '_', '.', '-') %]");
    lname_validator.add("email", function() {
        return !/^[\.\-\_]/.test(DOM.get("email").value)
    }, "[% locale.maketext("Mailing list names may not start with a special character.") %]");
    lname_validator.attach();

    var validators = CPANEL.password.setup("password", "password2", "password_strength", REQUIRED_PASSWORD_STRENGTH, "create_strong_password", "why_strong_passwords_link", "why_strong_passwords_text");
    validators.push(lname_validator);

    var validationChanged = function() {
        var isValid = validators.every(function(validator){
            return validator.is_valid();
        });

        var submitEl = YAHOO.util.Dom.get("submit");
        if (isValid) {
            submitEl.removeAttribute("disabled");
        } else {
            submitEl.setAttribute("disabled", "disabled");
        }

    }

    validators.forEach(function(validator) {
        validator.validateFailure.subscribe(validationChanged, this);
        validator.validateSuccess.subscribe(validationChanged, this);
    } );

    CPANEL.validate.attach_to_form("submit", validators);

    YAHOO.util.Dom.get("email").focus();
};

YAHOO.util.Event.onDOMReady(init_lists);
</script>
[% END %]

Back to Directory File Manager