Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/passwdlist/index.tmpl

[%
    USE Whostmgr;
    USE JSON;

    SET stylesheet_includes = [];

    SET PAGE_BASE = '/scripts/passwdlist';
    SET PAGE_NAME = Whostmgr.get_page_name_by_url(PAGE_BASE);

    WRAPPER 'master_templates/master.tmpl'
        app_key = 'password_modification'
        header         = locale.makevar(PAGE_NAME),
        breadcrumburl  = PAGE_BASE,
        base           = PAGE_BASE,
        stylesheets    = stylesheet_includes,
        CJT2_EXCLUSIVE = 1,
        theme          = 'bootstrap'
        extrastyle     = '
            .validation-container {
                margin-top:5px;
            }
        '
    ;
%]

<div id="passwdListWidget" ng-controller="PasswordListController" class="ng-cloak" ng-cloak>
    <callout ng-if="domains.length === 0" callout-type="information">
        [% locale.maketext('No [asis,cPanel] users exist on this system.') -%]
    </callout>
    <div class="form-area" ng-show="domains.length > 0">
        <form class="layout-medium" id="changePasswordForm" name="changePasswordForm" autocomplete="off">

            <user-domain-list
                    id="userDomainList"
                    domains="domains"
                    required="1"
                    hide-account-summary="1"
                    ng-model="selectedDomain"
                    on-select="userSelected(user, domain)"
                    edit-locked-accounts="editLockedAccounts"
                    ></user-domain-list>

            <div class="form-group">
                <div class="row">
                    <div class="col-xs-12 col-sm-8 col-md-6">
                        <toggle-label-info
                            for="password"
                            label-text="[% locale.maketext('New Password') %]"
                            label-id="password-label"
                            info-icon-id="password-info-icon"
                            info-block-id="password-info-block"
                            show-info-block="false">
                            [% locale.maketext('Change the password for [asis,cPanel amp() WHM].') %]
                        </toggle-label-info>
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12 col-sm-8 col-md-6">
                        <password name="password"
                            title="[% locale.maketext('Password') %]"
                            autocomplete="new-password"
                            minimum-strength="{{minimumPasswordStrength}}"
                            placeholder="[% locale.maketext('Enter a Password') %]"
                            password="password"
                            show-meter="true"
                            show-strength="true"
                            show-generator="true"
                            minimum-length="5"
                            required
                            generate-button-tab-index="-1"
                            toggle-view-button-tab-index="-1"
                            generate-settings-tab-index="-1"
                            strength-meets-template="[% locale.lextext('This password has a strength of [numf,_1], which meets or exceeds the system requirement of [numf,_2].') %]"
                            strength-does-not-meet-template="[% locale.lextext('The password has a strength of [numf,_1], but your system requires a strength of [numf,_2].') %]"></password>
                    </div>
                    <div class="col-xs-12 col-sm-4 col-md-6">
                        <ul validation-container field-name="password">
                            <li validation-item field-name="password" validation-name="required" id="val-password-required">
                                [% locale.maketext('You [output,strong,must] enter a password.') %]
                            </li>
                            <li validation-item field-name="password" validation-name="minlength" id="val-password-minlength">
                                [% locale.maketext('You [output,strong,must] enter a password that contains at least five characters.') %]
                            </li>
                            <li validation-item field-name="password" validation-name="minimumPasswordStrength" id="val-password-minimum-strength">
                                [% locale.maketext('You [output,strong,must] enter a stronger password.') %]
                            </li>
                        </ul>
                    </div>
                </div>
            </div>


            <div class="form-group">
                <div class="row"><!--Label-->
                    <div class="col-xs-12 col-sm-8 col-md-6">
                        <toggle-label-info
                            for="confirm-password"
                            label-text="[% locale.maketext('Confirm Password') %]"
                            show-info-block="false">
                            [% locale.maketext('Enter your new password again to confirm the change.') %]
                        </toggle-label-info>
                    </div>
                </div>

                <div class="row">
                    <div class="col-xs-12 col-sm-8 col-md-6">
                        <input
                            id="confirm-password"
                            name="confirm-password"
                            type="password"
                            autocomplete="new-password"
                            class="form-control"
                            required
                            validate-equals="changePasswordForm.password"
                            title="[% locale.maketext('Confirm your password.') %]"
                            ng-model="confirmPassword"/>
                    </div>

                    <div class="col-xs-12 col-sm-4 col-md-6">
                        <ul validation-container field-name="confirm-password">
                            <li validation-item field-name="confirm-password" validation-name="required" id="val-confirm-password-required">
                                [% locale.maketext('You [output,strong,must] enter a password.') %]
                            </li>
                            <li validation-item field-name="confirm-password" validation-name="validateEquals" id="val-confirm-password-match">
                                [% locale.maketext('The passwords do not match.') %]
                            </li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="form-group">
                <div class="row ng-hide" ng-show="hasMyCnf">
                    <div class="col-xs-12">
                        <div class="checkbox">
                            <label for="syncMySQLPass">
                                <input ng-if="!currentHasMyCnfCheck" type='checkbox' ng-model="userConfig.syncMySQLPass" id='syncMySQLPass' name="syncMySQLPass" />
                                <span ng-if="currentHasMyCnfCheck" class='fas fa-spinner fa-spin fa-lg'></span>
                                <span>[% locale.maketext('Synchronize database password') %]</span>
                            </label>
                            <span class="help-block">
                                [% locale.maketext('This option will set the database password to be the same as the new password.') %]
                                [% locale.maketext('To allow users to continue to use the password from the “[_1]” file of their home directory, deselect this checkbox.','.my.cnf') %]
                            </span>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12">
                        <div class="checkbox">
                            <label for="enableDigestAuth">
                                <input ng-if="!currentDigestAuthCheck" type='checkbox' ng-model="userConfig.enableDigestAuth" id='enableDigestAuth' name="enableDigestAuth" />
                                <span ng-if="currentDigestAuthCheck" class='fas fa-spinner fa-spin fa-lg'></span>
                                <span>[% locale.maketext('Enable Digest Authentication') %]</span>
                            </label>
                            <span class="help-block">
                                [% locale.maketext('[list_and,_*] require Digest Authentication support to be enabled in order to access your Web Disk over a clear text/unencrypted connection.', 'Windows Vista®', 'Windows® 7', 'Windows® 8') %] [% locale.maketext('If the server has an SSL certificate signed by a recognized certificate authority and you are able to make an SSL connection over port 2078, you do not need to enable this.') %]
                            </span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="form-group">
                <div class="row">
                    <div class="col-xs-12 col-sm-8 col-md-6">
                        <input
                            type="submit"
                            id="srOnlySubmit"
                            ng-click="submitChangePassword()"
                            ng-disabled="!changePasswordForm.$valid || currentDigestAuthCheck || currentHasMyCnfCheck"
                            title="[% locale.maketext('Change Password') %]"
                            value="[% locale.maketext('Change Password') %]" class="sr-only" />
                        <button
                            id="btnChangePassword"
                            aria-hidden="true"
                            role="presentation"
                            spinner-id="spinnerChangePassword"
                            cp-action="submitChangePassword()"
                            ng-disabled="!changePasswordForm.$valid || currentDigestAuthCheck || currentHasMyCnfCheck">
                            [% locale.maketext('Change Password') %]
                        </button>
                    </div>
                </div>
            </div>
        </form>
    </div>
    <div growl></div>
</div>

<script type="text/javascript">
    var PAGE = {
        role_MySQLClient: [% data.role_MySQLClient ? 'true' : 'false' %],
        domains:[% JSON.stringify(data.userdomains) %],
        MINIMUM_PASSWORD_STRENGTH: [% JSON.stringify(data.minpwstrength) %],
        childWorkloadAccounts: [% JSON.stringify(data.child_workload_accts) %],
    };
</script>

[% PROCESS 'master_templates/cjt2_header_include.tt' %]

[% END; %]
Back to Directory File Manager