Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/easyapache4/directives/eaWizard.ptt

<section id="{{ idPrefix }}_stepContainer" role="main" aria-live="polite">
    <!-- STEP CONTAINER -->
    <div class="row">
        <div class="col-xs-12">
            <h2 class="view-heading">
                <span ng-bind-html="::stepTitle" id="wizard-step-title" tabindex="-1"></span>
            </h2>
            <!-- PHP Filter tags -->
            <div class="row" ng-show="extensions.showPhpFilterTags()">
                <div class="col-xs-12">
                    <ul class="nav nav-pills quick-filters">
                        <li><span class="quick-filter-label">[% locale.maketext("Filter by PHP Version") %]</span></li>
                        <li ng-repeat="verInfo in phpVersions track by verInfo.version">
                            <label class="checkbox-label">
                                <input id="filter_{{ ::verInfo.version }}" type="checkbox"
                                ng-model="verInfo.selected"
                                ng-change="extensions.filterPHPExtensions()">
                                {{ verInfo.name }}
                            </label>
                        </li>
                    </ul>
                </div>
            </div>
            <div class="row search-page-container" ng-show="showSearchPageSection()">
                <!-- Search/Filter -->
                <div class="col-xs-12 col-md-6" ng-show="showSearch">
                    <search id="{{ ::stepName }}" ng-model="metaData.filterValue"
                        ng-change="applyMetaData()">
                    </search>
                </div>
                <!-- Pagination -->
                <div class="col-xs-12 col-md-6" ng-show="showPagination">
                    <div class="pagination-container">
                        <page-size id="pageSize_{{ ::stepName }}"
                            allowed-sizes="metaData.pageSizes"
                            total-items="metaData.totalItems"
                            ng-model="metaData.pageSize"
                            show-all="true"
                            ng-show="metaData.showPager"
                            ng-change="applyMetaData()">
                        </page-size>
                        <uib-pagination id="paginateItems_{{ ::stepName }}"
                            total-items="metaData.totalItems"
                            ng-model="metaData.currentPage"
                            max-size="0"
                            boundary-links="true"
                            rotate="false"
                            previous-text="<"
                            next-text=">"
                            first-text="<<"
                            last-text=">>"
                            items-per-page="metaData.pageSize"
                            ng-show="metaData.showPager"
                            ng-change="applyMetaData()">
                        </uib-pagination>
                    </div>
                </div>
            </div>
            <!-- Page Stats -->
            <div class="row" ng-show="showPagination && metaData.showPager">
                <div class="col-xs-12">
                    <div class="page-stats pull-right" ng-bind-html="getShowingText()"></div>
                </div>
            </div>
            <!-- Empty message -->
            <div id="emptyListMsg_{{ ::stepName }}"
                class="alert alert-info col-xs-12"
                role="alert"
                ng-show="showEmptyMessage()">
                <span>
                    [% locale.maketext("There are no packages to display.") %]
                </span>
            </div>

            <!-- No PHP Message -->
            <div id="noPHPMsg_{{ ::stepName }}" ng-show="extensions.noPHPSelected"
                class="alert alert-info col-xs-12" role="alert">
                [% locale.maketext("You must select a [output,url,_1,PHP version] to view the available extensions.", "php") %]
            </div>

            <!-- Package listing -->
            <div class="row"
                ng-hide="metaData.isEmptyList">
                <div class="col-xs-12">
                    <!-- TODO: This needs to align with search box above -->
                    <ul id="pkgList_{{ ::stepName }}"
                        class="list-unstyled PackageList col-xs-12"
                        role="region"
                        aria-labelledby="step-title">
                        <li id="pkg_{{ pkg | qaSafeID }}"
                            ng-repeat="(pkg, pkgData) in metaData.filterList track by $index"
                            ng-class="packageClass(pkgData)">
                            <!-- Display Package data -->
                            <div class="row">
                                <div class="col-xs-12">
                                    <div class="row">
                                        <div class="col-xs-12 col-md-5">
                                            <p id="pkgState_{{ pkg | qaSafeID }}">
                                                <strong>
                                                    {{ pkgData.displayName }}
                                                    <span ng-if="pkgData.prefix" class="label label-info">{{ pkgData.prefix }}</span>
                                                </strong>
                                                <span class="label label-success"
                                                    ng-show="pkgData.state === 'installed'">
                                                    [% locale.maketext("Installed") %]
                                                </span>
                                                <span class="label label-info"
                                                    ng-show="pkgData.state === 'updatable'">
                                                    [% locale.maketext("Updatable") %]
                                                </span>
                                            </p>
                                        </div>
                                        <div class="col-xs-12 col-md-4">
                                            <p id="pkgVersions_{{ pkg | qaSafeID }}" class="StatusBlock">
                                                <span class="text text-success"
                                                    ng-show="pkgData.version_installed && pkgData.version_latest">
                                                    <strong>
                                                        {{ pkgData.version_latest }}
                                                    </strong>
                                                </span>
                                                <span class="text text-info"
                                                    ng-show="!pkgData.version_installed && pkgData.version_latest">
                                                    <strong>
                                                        {{ pkgData.version_latest }}
                                                    </strong>
                                                </span>
                                            </p>
                                        </div>
                                        <div class="col-xs-12 col-md-3">
                                            <toggle-switch id="switch_{{ pkg | qaSafeID }}"
                                                class="toggle-switch-{{ $index }}"
                                                ng-model="pkgData.selectedPackage"
                                                on-toggle="initializeSelection(pkgData)"
                                                enabled-label ="{{ toggleLabel(pkgData) }}"
                                                disabled-label="{{ toggleLabel(pkgData) }}"
                                                aria-label="{{ pkgData.displayName }}"
                                                ng-show="showToggleSwitch(pkgData)">
                                            </toggle-switch>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <div class="col-xs-12">
                                            <p id="pkgDesc_{{ pkg | qaSafeID }}" class="help-block animate-hide"
                                                ng-show="!pkgData.hideDescription">
                                                {{ pkgData.short_description }}
                                            </p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!-- Vhosts exist callout -->
                            <div class="row">
                                <div class="col-xs-12"
                                    ng-show="pkgData.vhostWarning.exist">
                                    <div class="alert alert-warning" role="alert">
                                        <p class="text-danger">
                                            <span ng-bind-html="pkgData.vhostWarning.text"></span>
                                        </p>
                                        <p>
                                            <label>[% locale.maketext("Fix:") %]</label>
                                            [% SET localized_text = locale.maketext("[asis,MultiPHP] Manager");
                                            locale.maketext("Open the [comment][output,url,_1,_2,target,_3][comment,Please do not use this url title as part of sentences] in a new window. Move those virtual hosts to another PHP version to ensure that they continue to function. Return to this window and click Continue.",
                                                cp_security_token _ "/scripts7/multiphp-manager/user",
                                                localized_text _ " <span class='fas fa-external-link-alt fa-md'></span>",
                                                "_blank") %]
                                        </p>
                                        <hr />
                                        <p class="text-warning">
                                            [% locale.maketext("Make certain that your virtual hosts have a functional PHP version before you click Continue.") %]
                                        </p>
                                        <button id="btnContinueVhosts_{{ pkg | qaSafeID }}"
                                            class="btn btn-primary"
                                            ng-click="php.continueCheckDependency(pkgData)">
                                            [% locale.maketext("Continue") %]
                                        </button>
                                        <a id="cancelVhosts_{{ pkg | qaSafeID }}"
                                            href="javascript:void(0)"
                                            ng-click="php.resetVhostWarning(pkgData)"
                                            class="btn btn-link">
                                            [% locale.maketext("Cancel") %]
                                        </a>
                                    </div>
                                </div>
                            </div>
                            <!-- Auto-select PHP Extensions callout -->
                            <div class="row" ng-show="pkgData.autoSelectExt.show">
                                <div class="col-xs-12">
                                    <div class="alert" role="alert" ng-class="{ 'alert-info' : !pkgData.autoSelectExt.showError, 'alert-danger' : pkgData.autoSelectExt.showError  }">
                                        <section id="autoSelectExtInfo_{{ pkg | qaSafeID }}" ng-hide="pkgData.autoSelectExt.showError">
                                            <div class="text-info">
                                                <p ng-bind-html="pkgData.autoSelectExt.text"></p>
                                            </div>
                                            <div class="php-extensions-list" ng-show="pkgData.autoSelectExt.showCommonExtensions">
                                                <h4><strong>[% locale.maketext("Common Extensions") %]</strong></h4>
                                                <p>[% locale.maketext("Remove any extensions here that you do not want to install.") %]</p>
                                                <ul id="othersPkgList" class="list-unstyled list-inline">
                                                    <li ng-repeat="extension in pkgData.autoSelectExt.list" class="col-xs-4">
                                                        <label class="res-pkg-item">
                                                            <input id="commonExtensions_{{ extension.displayName | qaSafeID }}"
                                                                type="checkbox"
                                                                ng-model="extension.isSelected">
                                                            {{ extension.displayName }}
                                                        </label>
                                                    </li>
                                                </ul>
                                                <div class="clearfix"></div>
                                            </div>
                                            <hr class="ea-prompt-hr" />
                                            <button id="btnOkAutoSelect_{{ pkg | qaSafeID }}"
                                                class="btn btn-primary"
                                                title="[% locale.maketext('Install the [asis,PHP] version and extensions.') %]"
                                                ng-click="php.performAutoSelect(pkgData)">
                                                {{ pkgData.autoSelectExt.okText }}
                                            </button>
                                            <button id="cancelAutoSelect_{{ pkg | qaSafeID }}"
                                                class="btn btn-default"
                                                title="[% locale.maketext('Install only [asis,PHP] version.') %]"
                                                ng-click="php.resetAutoSelectExtensions(pkgData)"
                                                class="btn btn-link">
                                                {{ pkgData.autoSelectExt.cancelText }}
                                            </button>
                                            <a id="editAutoSelect_{{ pkg | qaSafeID }}"
                                                href="javascript:void(0)"
                                                title="[% locale.maketext('View and edit extensions.') %]"
                                                class="btn btn-link"
                                                ng-click="pkgData.autoSelectExt.showCommonExtensions = !pkgData.autoSelectExt.showCommonExtensions">
                                                [% locale.maketext("Edit") %]
                                            </a>
                                        </section>
                                        <section id="autoSelectExtError_{{ pkg | qaSafeID }}" ng-show="pkgData.autoSelectExt.showError">
                                            <div class="row">
                                                <div class="col-xs-12">
                                                    <p class="text-danger">
                                                        [% locale.maketext("The following extensions could not be selected due to unresolved conflicts:") %]
                                                    </p>
                                                </div>
                                                <div class="col-xs-12">
                                                    <ul id="autoSelectErrorList_{{ pkg | qaSafeID }}" class="list-unstyled list-inline res-pkg-item">
                                                        <li ng-repeat="error in pkgData.autoSelectExt.errorList track by $index" class="col-xs-4">
                                                            {{ error }}
                                                        </li>
                                                    </ul>
                                                </div>
                                                <div class="col-xs-12">
                                                    <p class="text-danger p-under-list">
                                                        [% locale.maketext("You may select them manually in PHP Extensions step.") %]
                                                    </p>
                                                </div>
                                            </div>
                                            <hr class="ea-prompt-hr" />
                                            <button id="closeAutoSelect_{{ pkg | qaSafeID }}"
                                                class="btn btn-primary"
                                                ng-click="php.resetAutoSelectExtensions(pkgData)">
                                                [% locale.maketext("Close") %]
                                            </button>
                                        </section>
                                    </div>
                                </div>
                            </div>
                            <!-- Conflict/Requirement callout -->
                            <div class="row">
                                <div class="col-xs-12"
                                    ng-show="pkgData.actions.actionNeeded">
                                    <div class="alert alert-warning">
                                        <div class="pkg-actions-group" ng-show="pkgData.actions.removeList.length">
                                            <p class="text-danger">
                                                [% locale.maketext("The following conflicts are installed on this machine. They will be removed as part of this package selection:") %]
                                            </p>
                                            <ul class="list-unstyled text-danger">
                                                <li class="res-pkg-item" ng-repeat="remPkg in pkgData.actions.removeList track by $index">
                                                    {{ remPkg }}
                                                </li>
                                            </ul>
                                        </div>
                                        <div class="pkg-actions-group" ng-show="pkgData.actions.addList.length">
                                            <p class="text-info">
                                                [% locale.maketext("The following requirements are not installed on this machine. They will be added as part of this package selection:") %]
                                            </p>
                                            <ul class="list-unstyled text-info">
                                                <li class="res-pkg-item" ng-repeat="addPkg in pkgData.actions.addList track by $index">
                                                    {{ addPkg }}
                                                </li>
                                            </ul>
                                        </div>
                                        <!-- Recommendation container -->
                                        <section id="recommendationsContainer_{{ pkg | qaSafeID }}" ng-show="pkgData.showRecommendations">
                                            <hr ng-show="pkgData.actions.removeList.length">
                                            <div id="recoItem_{{ $index }}"
                                                class="reco-item"
                                                ng-repeat="reco in pkgData.recommendations track by $index"
                                                ng-show="reco.show">
                                                <label>{{reco.displayName}} *</label>
                                                <p>
                                                    <span ng-class="{'text-danger': reco.level == 'danger'}" ng-bind-html="reco.desc"></span>
                                                    <a href="{{ reco.url }}" target="_blank" ng-show="reco.url">
                                                        [% locale.maketext("Learn More") %]
                                                    </a>
                                                </p>
                                                <ul class="fa-ul">
                                                    <li ng-repeat="option in reco.options track by $index"
                                                        class="bullet"
                                                        ng-show="option.show">
                                                        <span class="fa-stack" title="{{option.title}}" ng-class="{'text-success': option.recommended}">
                                                            <i class="fa-li fas fa-certificate fa-stack-1x"></i>
                                                            <i class="fa-li fas fa-ban fa-stack-2x text-danger"
                                                                ng-show="option.recommended == false"></i>
                                                        </span>
                                                        <span class="bullet-item" ng-class="{'text-danger': option.level == 'danger'}" ng-bind-html="option.text">
                                                        </span>
                                                        <a href="{{ option.url }}" target="_blank" ng-show="option.url">
                                                            [% locale.maketext("Learn More") %]
                                                        </a>
                                                        <ul>
                                                            <li id="recoOptionItem_{{ item }}" class="res-pkg-item reco-option-list-item" ng-repeat="item in option.items track by $index" ng-bind-html="item">
                                                            </li>
                                                        </ul>
                                                    </li>
                                                </ul>
                                                <div class="foot-note"
                                                    ng-show="reco.showFootnote">
                                                    * [% locale.maketext("You must make any recommended changes manually.") %]
                                                </div>
                                            </div>
                                        </section>
                                        <hr>
                                        <p class="text-warning">
                                            [% locale.maketext("Do you want to proceed with this selection?") %]
                                        </p>
                                        <button id="btnContinueDeps_{{ pkg | qaSafeID }}" class="btn btn-primary"
                                            ng-click="finalizeSelection(pkgData)">
                                            [% locale.maketext("Yes") %]
                                        </button>
                                        <button  id="btnCancelDeps_{{ pkg | qaSafeID }}" class="btn btn-default"
                                            ng-click="resetSelection(pkgData)">
                                            [% locale.maketext("No") %]
                                        </button>
                                    </div>
                                </div>
                            </div>
                            <!-- MPM module requirement callout -->
                            <div class="row">
                                <div class="col-xs-12"
                                    ng-show="pkgData.mpmMissing">
                                    <div class="alert alert-warning" role="alert">
                                        {{ pkgData.mpmMissingMsg }}
                                        <hr>
                                        <button id="btnMpmMissingContinue_{{ pkg | qaSafeID }}"
                                            class="btn btn-primary"
                                            ng-click="finalizeSelection(pkgData); proceed('mpm')">
                                            [% locale.maketext("Continue") %]
                                        </button>
                                        <a id="linkMpmMissingCancel_{{ pkg | qaSafeID }}"
                                            href="javascript:void(0)"
                                            ng-click="resetSelection(pkgData)"
                                            class="btn btn-link">
                                            [% locale.maketext("Cancel") %]
                                        </a>
                                    </div>
                                </div>
                            </div>
                            <!-- Multi Requirement callout -->
                            <div class="row">
                                <div class="col-xs-12"
                                    ng-show="pkgData.multiRequirements.exist">
                                    <div class="alert alert-info" role="alert">
                                        [% locale.maketext("While resolving the dependencies, we have identified the following breakpoint. Please select one to continue with the process:") %]
                                        <div ng-repeat="orPkgData in pkgData.multiRequirements.orList track by $index">
                                            <div class="radio">
                                                <label>
                                                    <input id="multiReqPkg_{{ orPkgData.package }}"
                                                        type="radio"
                                                        name="optionsRadios"
                                                        ng-model="pkgData.multiRequirements.chosenPackage"
                                                        ng-value="orPkgData.package">
                                                    <span>
                                                        {{orPkgData.displayName}}
                                                    </span>
                                                </label>
                                            </div>
                                        </div>
                                        <hr>
                                        <button id="btnMultiReqContinue_{{ pkg | qaSafeID }}"
                                            class="btn btn-primary"
                                            ng-disabled="pkgData.multiRequirements.chosenPackage == ''"
                                            ng-click="continueProcess(pkgData)">
                                            [% locale.maketext("Continue") %]
                                        </button>
                                        <a id="cancelMultiReq_{{ pkg | qaSafeID }}"
                                            href="javascript:void(0)"
                                            ng-click="resetSelection(pkgData)"
                                            class="btn btn-link">
                                            [% locale.maketext("Cancel") %]
                                        </a>
                                    </div>
                                </div>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
            <!-- Page Stats -->
            <div class="row" ng-show="showPagination && metaData.showPager">
                <div class="col-xs-12">
                    <div class="page-stats pull-right" ng-bind-html="getShowingText()"></div>
                </div>
            </div>
            <div class="row search-page-container">
                <!-- Pagination -->
                <div class="col-xs-12 pull-right" ng-show="showPagination">
                    <div class="pagination-container">
                        <page-size id="pageSize_bottom_{{ ::stepName }}"
                            allowed-sizes="metaData.pageSizes"
                            total-items="metaData.totalItems"
                            ng-model="metaData.pageSize"
                            show-all="true"
                            ng-show="metaData.showPager"
                            ng-change="applyMetaData()">
                        </page-size>
                        <uib-pagination id="paginateItems_bottom_{{ ::stepName }}"
                            total-items="metaData.totalItems"
                            ng-model="metaData.currentPage"
                            max-size="0"
                            boundary-links="true"
                            rotate="false"
                            previous-text="<"
                            next-text=">"
                            first-text="<<"
                            last-text=">>"
                            items-per-page="metaData.pageSize"
                            ng-show="metaData.showPager"
                            ng-change="applyMetaData()">
                        </uib-pagination>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>
Back to Directory File Manager