Viewing File: /usr/local/cpanel/base/frontend/jupiter/sql/wizard2.html.tt

[%
SET CPANEL.CPVAR.dprefix = "../";

USE CpanelDB;
SET dbownerprefix = ExpVar.expand('$dbownerprefix');
SET max_length = CpanelDB.MAX_MYSQL_DBUSER_LENGTH - dbownerprefix.length();

Api2.pre_exec("PasswdStrength", "get_required_strength");
SET required_strength_result = Api2.exec("PasswdStrength", "get_required_strength", {"app"=>"mysql"} );
Api2.post_exec("PasswdStrength", "get_required_strength");
SET password_strength = required_strength_result.0.strength;

SET full_db = dbownerprefix _ RAW_FORM.db;

IF !CPANEL.CPDATA.item('DEMO') && !(FORM.item('nocreate') == "1");
    SET adddb = execute("Mysql", "create_database", {"name" => full_db});
END;

%]

[% js_code = PROCESS js_block %]
[% WRAPPER '_assets/master.html.tt'
    app_key = 'mysql_database_wizard'
    page_js = js_code
 -%]

<div class="body-content">
[% IF CPANEL.CPDATA.item('DEMO') %]
    <div id="details">
        [% locale.maketext("This feature is disabled in demo mode.") %]
    </div>
[% ELSIF adddb && !adddb.status %]
    <div class="alert alert-danger" id="createDatabaseError">
        <span class="glyphicon glyphicon-exclamation-sign"></span>
        <div class="alert-message">
            [% FOREACH q = adddb.errors %]
                <strong>[% locale.maketext("Error") %]: </strong> [% q.html() %]
            [% END %]
        </div>
    </div>
[% ELSIF !(FORM.item('nocreate') == "1") %]
    <script>YAHOO.util.Connect.asyncRequest( "POST", '[% cp_security_token %]/3rdparty/phpMyAdmin/clearcache.php', null, null);</script>
    <div class="alert alert-success" id="createDatabaseSuccess">
        <span class="glyphicon glyphicon-ok-sign"></span>
        <p>[% locale.maketext("You have created a database named “[_1]”.", full_db.html()) %]</p>
    </div>
[% END %]

    <div class="section">
        <h2>
            [% locale.maketext("Step 2: Create Database Users:") %]
        </h2>

        <form method="post" action="wizard3.html" name="userform" id="userform">
            <!-- prevent password autofill -->
            <input type="text" style="display:none">
            <input type="password" autocomplete='off' style="display:none">
            <input type="hidden" name="db" value="[% full_db.html() %]" id="hidDatabaseName"/>
            <div class="form-group">
                <label for="user">
                    [% locale.maketext("Username:") %]
                </label>
                <div class="row">
                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                        [% IF dbownerprefix %]
                        <div class="input-group">
                            <span class="input-group-addon" id="dbPrefix">
                                [% dbownerprefix %]
                            </span>
                            <input type="text" class="form-control" size="15" name="user" id="user" maxlength="[% max_length %]" />
                        </div>
                        [% ELSE %]
                        <input type="text" class="form-control" size="15" name="user" id="user" maxlength="[% max_length %]" />
                        [% END %]
                    </div>
                    <div id="user_error" class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                    </div>
                </div>
                <span class="help-block" id="helpBlock">
                    [% locale.maketext("[output,strong,Note:] [numf,_1] characters max.", max_length) %]
                </span>
            </div>
            <div class="form-group">
                <label for="password">
                    [% locale.maketext("Password:") %]
                </label>
                <div class="row">
                    <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                        <input size="15" type="password" autocomplete='off' name="pass" id="password" class="form-control"/>
                    </div>
                    <div id="password_error" class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label 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="pass2" id="password2" class="form-control"/>
                    </div>
                    <div id="password2_error" class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label>
                    [% 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" class="btn btn-default"
                               id="create_strong_password"
                               value="[% locale.maketext("Password Generator") %]" tabindex="-1" />
                    </div>
                </div>
            </div>
            <div class="form-group">
                <input type="submit" value="[% locale.maketext("Create User") %]" class="btn btn-primary" id="submit_new_user" />
            </div>
        </form>
    </div>


    <ul class="list-inline text-center">
        <li>
            [% INCLUDE _assets/return_link.html.tt id_prefix='lnkStep1', return_location='wizard1.html' return_link_text=locale.maketext('Go Back') %]
        </li>
        <li>
            [% INCLUDE _assets/return_link.html.tt id_prefix='lnkHome', return_location='index.html' return_link_text=locale.maketext('Go Back to Manage My Databases') data_testid='goBackToManageDb' %]
        </li>
    </ul>

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

[% BLOCK js_block %]

    <script type="text/javascript">
        var max_length = [% max_length %];
        var REQUIRED_PASSWORD_STRENGTH = parseInt([% password_strength.json() %]) || 0;

        /**
         * [init_user_validation description]
         * @return {[type]} [description]
         */
        var init_user_validation = function() {
            var user_validator = new CPANEL.validate.validator("[% locale.maketext("Database Username") %]");
            user_validator.add("user", "sql_alphanumeric", "[% locale.maketext("Username must be alphanumeric characters.")  %]");
            user_validator.add("user", "max_length(%input%, "+max_length+")", "[% locale.maketext("The database name cannot contain more than [quant,_1,character,characters].", CpanelDB.MAX_MYSQL_DBUSER_LENGTH)  %]");
            user_validator.add("user", "min_length(%input%, 1)", '[% locale.maketext("The user name can not be empty.")  %]');
            user_validator.attach();

            var password_validators = CPANEL.password.setup("password", "password2", "password_strength", REQUIRED_PASSWORD_STRENGTH, "create_strong_password", "why_strong_passwords_link", "why_strong_passwords_text");
            password_validators.push(user_validator);
            CPANEL.validate.attach_to_form("submit_new_user", password_validators);

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

        YAHOO.util.Event.onDOMReady(init_user_validation);
    </script>
[% END %]
Back to Directory File Manager