puphpet/puphpet

View on GitHub
src/PuphpetBundle/Resources/views/nginx.html.twig

Summary

Maintainability
Test Coverage
<input type="hidden" name="nginx[install]" value="0" />
<input type="hidden" name="nginx[settings][version]" value="{{ nginx.settings.version }}" />

<div class="container-fluid cm-container-white section-title">
    <div class="checkbox checkbox-lg no-padding">
        <input type="checkbox" id="nginx-install"
               name="nginx[install]" value="1"
               {% if nginx.install %}checked{% endif %}
               data-toggle="checkbox-collapse" data-target="#nginx-container"
               data-enforce-group-single="webserver" />
        <label for="nginx-install">Install Nginx</label>

        <p>
            You cannot install Apache with Nginx. Apache will be deselected.
        </p>
    </div>
</div>

<div id="nginx-container"
     class="container-fluid collapse {% if nginx.install %}in{% endif %}">
    <div class="panel panel-default">
        <div class="panel-body">
            <div class="form-group col-xs-12 col-sm-6">
                <label for="nginx-settings-proxy_buffers">
                    Proxy Buffers
                </label>
                <input type="text" id="nginx-settings-proxy_buffers"
                       name="nginx[settings][proxy_buffers]"
                       placeholder="4 256k" class="form-control"
                       value="{{ nginx.settings.proxy_buffers }}" />
                <div class="help-block">
                    <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers"
                       target="_blank">Information here</a>.
                </div>
            </div>

            <div class="form-group col-xs-12 col-sm-6">
                <label for="nginx-settings-proxy_buffer_size">
                    Proxy Buffer Size
                </label>
                <input type="text" id="nginx-settings-proxy_buffer_size"
                       name="nginx[settings][proxy_buffer_size]"
                       placeholder="128k" class="form-control"
                       value="{{ nginx.settings.proxy_buffer_size }}" />
                <div class="help-block">
                    <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size"
                       target="_blank">Information here</a>.
                </div>
            </div>

            <div class="clearfix"></div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Virtual Hosts</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.nginx.vhost') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, vhost in nginx.vhosts %}
                    {% set blockId = "nginx-vhosts-#{index}" %}
                    {% set blockName = "nginx[vhosts][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add an Nginx virtual host
                </div>
                {% for index, vhost in nginx.vhosts %}
                    {% include 'PuphpetBundle:nginx:vhost.html.twig' with {
                        'vhost': vhost,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Proxy Upstreams</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.nginx.upstream') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, upstream in nginx.upstreams %}
                    {% set blockId = "nginx-upstreams-#{index}" %}
                    {% set blockName = "nginx[upstreams][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add an Nginx proxy upstream
                </div>
                {% for index, upstream in nginx.upstreams %}
                    {% include 'PuphpetBundle:nginx:upstream.html.twig' with {
                        'upstream': upstream,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>

    <div class="panel panel-primary">
        <div class="panel-heading">Proxies</div>
        <div class="panel-body">
            <ul class="nav nav-tabs nested-tabs sortable">
                <li class="add">
                    <a href="{{ path('puphpet.nginx.proxy') }}"
                       data-toggle="add-block">
                        <i class="fa fa-plus"></i> Add</a>
                </li>
                {% for index, proxy in nginx.proxies %}
                    {% set blockId = "nginx-proxies-#{index}" %}
                    {% set blockName = "nginx[proxies][#{index}]" %}
                    <li class="{{ loop.first ? 'active' }}">
                        <a href="#" data-target="#{{ blockId }}"
                           data-toggle="tab">{{ index }}</a>
                        <div class="btn-group">
                            <button type="button" class="btn btn-default"
                                    data-toggle="delete-block"
                                    data-target="#{{ blockId }}">
                                <i class="fa fa-close"></i></button>
                        </div>
                        <input type="hidden" name="{{ blockName }}" value="1" />
                    </li>
                {% endfor %}
            </ul>

            <div class="tab-content">
                <div class="empty-tabs">
                    <i class="fa fa-share fa-rotate-270" aria-hidden="true"></i>
                    Click to add an Nginx proxy
                </div>
                {% for index, proxy in nginx.proxies %}
                    {% include 'PuphpetBundle:nginx:proxy.html.twig' with {
                        'proxy': proxy,
                        'uniqid': index,
                        'active': loop.first ? true : false,
                    } %}
                {% endfor %}
            </div>
        </div>
    </div>

    <div class="clearfix"></div>
</div>

<div class="container-fluid cm-container-white section-footer">
    <a href="#custom-files" data-toggle="tab" class="btn btn-primary btn-lg pull-left">
        <i class="fa fa-arrow-left" aria-hidden="true"></i>
        Custom Files
    </a>

    <a href="#apache" data-toggle="tab" class="btn btn-primary btn-lg pull-right">
        Apache
        <i class="fa fa-arrow-right" aria-hidden="true"></i>
    </a>
</div>