Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/multiphp_manager/poolOptionsForm.ptt

<h2 class="break-on-mobile" ng-if="displayValue.displayMode === 'default'">[% locale.maketext('System [asis,PHP-FPM] Configuration') %]</h2>
<h2 class="break-on-mobile" ng-if="displayValue.displayMode === 'domain'">[% locale.maketext('[asis,PHP-FPM] Configuration Options for the “[_1]” domain.', '{{displayValue.selectedDomain}}') %]</h2>

<cp-loading-panel id="loadingPHPFPMPoolOptionsPanel" ng-show="actions.initialLoading">[% locale.maketext('Loading …') %]</cp-loading-panel>

<div ng-if="!actions.initialLoading" class="col-xs-12 col-md-8">
    <form name="poolOptionsForm" id="poolOptionsForm" class="form layout-medium" novalidate>
        <div class="panel panel-default">
            <div class="panel-heading">[% locale.maketext('[asis,PHP-FPM] Configuration') %]</div>
            <div class="panel-body">
                <div class="section">
                    <div class="form-group">
                        <h3 class="section-heading">[% locale.maketext('PHP-FPM Pool Options') %]</h3>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <label for="maxRequestsInput">[% locale.maketext('Max Requests') %]</label>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
                                <input 
                                    id="maxRequestsInput" 
                                    name="maxRequestsInput" 
                                    type="number" 
                                    class="form-control"
                                    ng-model="poolOptions.pm_max_requests.value"
                                    num-greater-than-equal="1"
                                    num-less-than-equal="10000000"
                                    positive-integer
                                    required />
                            </div>
                            <ul class="col-xs-12 col-sm-9 col-md-9 col-lg-8" validation-container field-name="maxRequestsInput">
                                <li validation-item field-name="maxRequestsInput" validation-name="positive-integer">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="maxRequestsInput" validation-name="number">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="maxRequestsInput" validation-name="required">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                            </ul>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <label for="idleTimeInput">[% locale.maketext('Process Idle Timeout') %]</label>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
                                <input 
                                    id="idleTimeInput" 
                                    name="idleTimeInput"
                                    type="number" 
                                    class="form-control"
                                    ng-model="poolOptions.pm_process_idle_timeout.value"
                                    num-greater-than-equal="1"
                                    num-less-than-equal="10000000"
                                    positive-integer
                                    required />
                            </div>
                            <ul class="col-xs-12 col-sm-9 col-md-9 col-lg-8" validation-container field-name="idleTimeInput">
                                <li validation-item field-name="idleTimeInput" validation-name="number">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="idleTimeInput" validation-name="positive-integer">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="idleTimeInput" validation-name="required">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                            </ul>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <label for="maxChildrenInput">[% locale.maketext('Max Children') %]</label>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
                                <input 
                                    id="maxChildrenInput"
                                    name="maxChildrenInput" 
                                    type="number" 
                                    class="form-control"
                                    ng-model="poolOptions.pm_max_children.value"
                                    num-greater-than-equal="1"
                                    num-less-than-equal="10000"
                                    positive-integer
                                    required />
                            </div>
                            <ul class="col-xs-12 col-sm-9 col-md-9 col-lg-8" validation-container field-name="maxChildrenInput">
                                <li validation-item field-name="maxChildrenInput" validation-name="number">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="maxChildrenInput" validation-name="positive-integer">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                                <li validation-item field-name="maxChildrenInput" validation-name="required">
                                    [% locale.maketext("The input should be a positive whole number.") %]
                                </li>
                            </ul>
                        </div>

                        <hr />

                        <div class="row">
                            <h3 class="col-lg-12">[% locale.maketext('PHP INI Directives') %]</h3>
                        </div>
                        

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <div class="checkbox">
                                    <label for="urlFopenInput">
                                        <input 
                                            id="urlFopenInput" 
                                            type="checkbox"
                                            ng-model="poolOptions.allow_url_fopen.value" />
                                        <span>[% locale.maketext('Treat URLs as files [output,chr,40][asis,allow_url_fopen][output,chr,41]') %]</span>
                                    </label>
                                </div>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <button
                                    id="allowURLFopenBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.allow_url_fopen.admin"
                                    ng-click="toggleOverrideVal('allow_url_fopen',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.allow_url_fopen.admin}">
                                    <span ng-if="!poolOptions.allow_url_fopen.admin"><i class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.allow_url_fopen.admin"><i class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                                <hr class="hidden-sm hidden-md hidden-lg" />
                            </div>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <div class="checkbox">
                                    <label for="logErrorsInput">
                                        <input 
                                            id="logErrorsInput" 
                                            type="checkbox"
                                            ng-model="poolOptions.log_errors.value" />
                                        [% locale.maketext('Log errors [output,chr,40][asis,log_errors][output,chr,41]') %]
                                    </label>
                                </div>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> 
                                <button
                                    id="logErrsBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.log_errors.admin"
                                    ng-click="toggleOverrideVal('log_errors',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.log_errors.admin}">
                                    <span ng-if="!poolOptions.log_errors.admin"><i ng-if="!poolOptions.log_errors.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.log_errors.admin"><i ng-if="poolOptions.log_errors.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                                <hr class="hidden-sm hidden-md hidden-lg" />
                            </div>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <div class="checkbox">
                                    <label for="shortOpenTagInput">
                                        <input 
                                            id="shortOpenTagInput" 
                                            type="checkbox"
                                            ng-model="poolOptions.short_open_tag.value" />
                                        [% locale.maketext('Recognize code between [output,lt]? and ?[output,gt] tags as PHP source [output,chr,40][asis,short_open_tag][output,chr,41]') %]
                                    </label>
                                </div>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <button
                                    id="shortOpenTagBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.short_open_tag.admin"
                                    ng-click="toggleOverrideVal('short_open_tag',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.short_open_tag.admin}">
                                    <span ng-if="!poolOptions.short_open_tag.admin"><i ng-if="!poolOptions.short_open_tag.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.short_open_tag.admin"><i ng-if="poolOptions.short_open_tag.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                                <hr class="hidden-sm hidden-md hidden-lg" />
                            </div>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <label for="docRootInput" ng-if="displayValue.displayMode === 'default'">[% locale.maketext('The PHP pages’ document root [output,chr,40][asis,doc_root][output,chr,41]') %]</label>
                                <toggle-label-info
                                    for="docRootInput"
                                    label-text="[% locale.maketext('The PHP pages’ document root [output,chr,40][asis,doc_root][output,chr,41]') %]"
                                    label-id="docRootLabel"
                                    ng-if="displayValue.displayMode === 'domain'"
                                    info-icon-id="docRootLabelIcon"
                                    info-block-id="docRootInfoBlock"
                                    show-info-block="false">
                                    [% locale.maketext('Enter a path, relative to this directory: [output,strong,_1]', '{{displayValue.docRootDisplayValue}}') %]        
                                </toggle-label-info>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <input 
                                    id="documentRootDefaultPlaceholder" 
                                    type="text" 
                                    class="form-control"
                                    ng-if="displayValue.displayMode === 'default'"
                                    placeholder="[% locale.maketext('Only valid for domain settings[output,nbsp]') %]"
                                    ng-disabled="true"
                                    aria-label="Placeholder only valid for domain settings" />

                                <input 
                                    id="documentRootInput"
                                    name="documentRootInput"
                                    ng-if="displayValue.displayMode === 'domain'" 
                                    type="text" 
                                    class="form-control"
                                    ng-model="poolOptions.doc_root.value"
                                    aria-label="document root input" />
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <button
                                    id="docRootBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.doc_root.admin"
                                    ng-click="toggleOverrideVal('doc_root',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.doc_root.admin}">
                                    <span ng-if="!poolOptions.doc_root.admin"><i ng-if="!poolOptions.doc_root.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.doc_root.admin"><i ng-if="poolOptions.doc_root.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                                <hr class="hidden-sm hidden-md hidden-lg" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <ul validation-container field-name="documentRootInput"></ul>
                            </div>
                        </div>
                        

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <label ng-if="displayValue.displayMode === 'default'" for="errorLogInput">[% locale.maketext('The error log file [output,chr,40][asis,error_log][output,chr,41]') %]</label>
                                <toggle-label-info
                                    ng-if="displayValue.displayMode === 'domain'"
                                    for="errorLogInput"
                                    label-text="[% locale.maketext('The error log file [output,chr,40][asis,error_log][output,chr,41]') %]"
                                    label-id="errorLogLabel"
                                    info-icon-id="errorLogLabelIcon"
                                    info-block-id="errorLogInfoBlock"
                                    show-info-block="false">
                                    [% locale.maketext('Enter a path, relative to this directory: [output,strong,_1]', '{{displayValue.logDirDisplayValue}}') %]        
                                </toggle-label-info>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <input 
                                    id="errorLogDefaultPlaceholder" 
                                    type="text" 
                                    class="form-control"
                                    ng-if="displayValue.displayMode === 'default'"
                                    placeholder="[% locale.maketext('Only valid for domain settings[output,nbsp]') %]"
                                    ng-disabled="true"
                                    aria-label="Placeholder only valid for domain settings" />

                                <input 
                                    id="errorLogInput"
                                    name="errorLogInput" 
                                    type="text"
                                    ng-if="displayValue.displayMode === 'domain'" 
                                    class="form-control"
                                    ng-model="poolOptions.error_log.value" />
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"><button
                                    id="errLogBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.error_log.admin"
                                    ng-click="toggleOverrideVal('error_log',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.error_log.admin}">
                                    <span ng-if="!poolOptions.error_log.admin"><i ng-if="!poolOptions.error_log.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.error_log.admin"><i ng-if="poolOptions.error_log.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                                <hr class="hidden-sm hidden-md hidden-lg" />
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <ul validation-container field-name="errorLogInput"></ul>
                            </div>
                        </div>

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <toggle-label-info
                                    for="disableFunctionsInput"
                                    label-text="[% locale.maketext('Disabled functions [output,chr,40][asis,disable_functions][output,chr,41]') %]"
                                    label-id="disableFunctionsLabel"
                                    info-icon-id="disableFunctionsLabelIcon"
                                    info-block-id="disableFunctionsInfoBlock"
                                    show-info-block="false">
                                    [% locale.maketext('Enter a function. To enter multiple functions, separate them with commas.') %]        
                                </toggle-label-info>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <div class="input-group">
                                    <input 
                                        id="disableFunctionsInput" 
                                        type="text" 
                                        class="form-control"
                                        ng-model="displayValue.disabledFuncs"
                                        ng-change="deactivateSaveActions(poolOptionsForm)"
                                        aria-label="[% locale.maketext('Disabled functions [output,chr,40][asis,disable_functions][output,chr,41]') %]" />
                                    <span class="input-group-btn">
                                        <button 
                                            button-ng-class="getDefaultButtonClasses()" 
                                            type="button"
                                            cp-action="addFunctionsToDisable(displayValue.disabledFuncs, poolOptionsForm)"
                                            ng-disabled="!displayValue.disabledFuncs">[% locale.maketext('[output,chr,43]Add') %]
                                        </button>
                                    </span>    
                                </div>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"><button
                                    id="disableFuncsBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.disable_functions.admin"
                                    ng-click="toggleOverrideVal('disable_functions',poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.disable_functions.admin}">
                                    <span ng-if="!poolOptions.disable_functions.admin"><i ng-if="!poolOptions.disable_functions.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.disable_functions.admin"><i ng-if="poolOptions.disable_functions.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                            </div>
                        </div>

                        <div class="row edit-input-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <uib-accordion>
                                    <uib-accordion-group
                                        is-open="displayValue.disabledFuncsPanelOpen">
                                        <uib-accordion-heading>
                                            [% locale.maketext('Edit function list[output,nbsp]') %]
                                            <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': displayValue.disabledFuncsPanelOpen, 'glyphicon-chevron-right': !displayValue.disabledFuncsPanelOpen}"></i>
                                        </uib-accordion-heading>
                                        <ul id="disabledFunctionsList">
                                            <li ng-repeat="command in poolOptions.disable_functions.value track by $index | orderBy: 'command'" id="disabled_command_{{command}}">
                                                <span class="btn-group btn-group-xs disabled-function-btn-group" role="group">
                                                    <button 
                                                        type="button" 
                                                        class="btn btn-default lister-button"
                                                        value="{{command}}">{{command}}</button>
                                                    <button 
                                                        type="button" 
                                                        ng-disabled="actions.validatingFuncs" 
                                                        class="btn btn-default" 
                                                        ng-click="removeDisabledFunction(command, poolOptionsForm)"
                                                        aria-label="remove function">
                                                        <i class="fas fa-times fa-xs" aria-hidden="true"></i>
                                                    </button>
                                                </span>
                                                
                                            </li>
                                        </ul>        
                                    </uib-accordion-group>
                                </uib-accordion>
                            </div>
                        </div>
                        
                        <hr class="hidden-sm hidden-md hidden-lg" />

                        <div class="row label-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <toggle-label-info
                                    for="errorReportingInput"
                                    label-text="[% locale.maketext('Report these errors [output,chr,40][asis,error_reporting][output,chr,41]') %]"
                                    label-id="errorReportingLabel"
                                    info-icon-id="errorReportingLabelIcon"
                                    info-block-id="errorReportingInfoBlock"
                                    show-info-block="false">
                                    [% locale.maketext('Enter an error. To enter multiple errors, separate them with commas.') %]        
                                </toggle-label-info>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"></div>
                        </div>
                        <div class="row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <div class="input-group">
                                    <input 
                                        id="errorReportingInput" 
                                        type="text" 
                                        class="form-control"
                                        ng-model="displayValue.reportedErrs"
                                        ng-change="deactivateSaveActions(poolOptionsForm)"
                                        aria-label="[% locale.maketext('Report these errors [output,chr,40][asis,error_reporting][output,chr,41]') %]" />
                                    <span class="input-group-btn">
                                        <button 
                                            button-ng-class="getDefaultButtonClasses()" 
                                            type="button"
                                            cp-action="addErrsToReport(displayValue.reportedErrs, poolOptionsForm)"
                                            ng-disabled="!displayValue.reportedErrs">[% locale.maketext('[output,chr,43]Add') %]
                                        </button>
                                    </span>
                                </div>
                            </div>
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <button
                                    id="errReportingBtnToggle" 
                                    type="button" 
                                    class="btn btn-default"
                                    ng-model="poolOptions.error_reporting.admin"
                                    ng-click="toggleOverrideVal('error_reporting', poolOptionsForm)"
                                    ng-class="{'locked-button': poolOptions.error_reporting.admin}">
                                    <span ng-if="!poolOptions.error_reporting.admin"><i ng-if="!poolOptions.error_reporting.admin" class="fas fa-unlock-alt admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Lock user override ability[output,nbsp]') %]</span>
                                    <span ng-if="poolOptions.error_reporting.admin"><i ng-if="poolOptions.error_reporting.admin" class="fas fa-lock admin-toggle-icon" aria-hidden="true"></i>[% locale.maketext('Unlock user override ability[output,nbsp]') %]</span>
                                </button>
                            </div>
                        </div>

                        <div class="row edit-input-row">
                            <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
                                <uib-accordion>
                                    <uib-accordion-group
                                        is-open="displayValue.errsReportedPanelOpen">
                                        <uib-accordion-heading>
                                            [% locale.maketext('Edit error list[output,nbsp]') %]
                                            <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': displayValue.errsReportedPanelOpen, 'glyphicon-chevron-right': !displayValue.errsReportedPanelOpen}"></i>
                                        </uib-accordion-heading>

                                        <ul id="reportedErrorsList">
                                            <li ng-repeat="err in poolOptions.error_reporting.value track by $index | orderBy: 'err'" id="reported_error_{{err}}">
                                                <span class="btn-group btn-group-xs disabled-function-btn-group" role="group">
                                                    <button 
                                                        type="button" 
                                                        class="btn btn-default lister-button"
                                                        value="{{err}}">{{err}}</button>
                                                    <button 
                                                        type="button" 
                                                        ng-disabled="actions.validatingErrs" 
                                                        class="btn btn-default" 
                                                        ng-click="removeReportedErrs(err, poolOptionsForm)"
                                                        aria-label="remove error">
                                                        <i class="fas fa-times fa-xs" aria-hidden="true"></i>
                                                    </button>
                                                </span>
                                                
                                            </li>
                                        </ul>        
                                    </uib-accordion-group>
                                </uib-accordion>
                            </div>
                        </div>

                        <div class="action-group label-row">
                            <button
                                type="submit"
                                button-ng-class="getPrimaryButtonsClasses()"
                                id="savePoolOptionsBtn"
                                ng-disabled="poolOptionsForm.$pristine || poolOptionsForm.$invalid"
                                cp-action="savePoolOptions(poolOptionsForm)"
                                spinner-id="submitPoolOptionsSpinner">[% locale.maketext('Save Configuration') %]
                            </button>
                            <button
                                type="button"
                                button-ng-class="getSmallDefaultButtonClasses()"
                                id="validatePoolOptionsBtn"
                                ng-disabled="poolOptionsForm.$pristine || poolOptionsForm.$invalid"
                                cp-action="validatePoolOptions()">[% locale.maketext('Validate Configuration') %]
                            </button>
                            <button
                                type="reset"
                                class="btn btn-sm btn-default"
                                id="resetPoolOptionsBtn"
                                ng-disabled="poolOptionsForm.$pristine"
                                ng-click="resetPoolOptionsForm(poolOptionsForm)">[% locale.maketext('Reset Configuration') %]
                            </button>
                            <button
                                type="button"
                                ng-if="displayValue.displayMode === 'domain'"
                                class="btn btn-link"
                                id="returnToDomainsBtn"
                                ng-click="returnToDomainsList()">[% locale.maketext('Return to domains list[output,nbsp]') %]
                            </button>
                            <a
                                ng-if="displayValue.displayMode === 'default'"
                                href="config"
                                class="btn btn-link"
                                id="returnToDomainsBtn">[% locale.maketext('Return to [asis,PHP] Versions') %]
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </form>
</div>


<div ng-if="!actions.initialLoading" class="col-xs-12 col-md-4">
    <div class="panel panel-default">
        <div class="panel-heading">[% locale.maketext('Additional Resources') %]</div>
        <div class="panel-body">
            <div class="section">
                <ul>
                    <li ng-repeat="resource in additionalResources">
                        <a ng-href="{{resource.link}}"
                            target="_blank"
                            id="resourceLink_{{resource.link}}">
                            {{resource.text}}
                            <span class="fas fa-fw fa-external-link-alt" aria-hidden="true"></span>
                        </a>
                        <hr />
                    </li>
                </ul>
            </div>
        </div>
    </div>
</div>
Back to Directory File Manager