{% extends 'NSAceSonataBundle:CRUD:edit.html.twig' %}

{% block javascripts %}
  {{parent()}}
  <script type="text/javascript">
    jQuery.noConflict();
  </script>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/scriptaculous.js"></script>
  <script type="text/javascript" src="{{ asset('/bundles/nsutil/js/autocomplete.js') }}"></script>
  <script type="text/javascript" src="{{ asset('/bundles/nsutil/js/moment.min.js') }}"></script>
  <script type="text/javascript" src="{{ asset('/bundles/nsutil/js/pikaday.js') }}"></script>
{% endblock %}

{% block stylesheets %}
  {{ parent() }}
  <link rel="stylesheet" type="text/css" media="screen" href="{{ asset('/bundles/nsutil/css/autocomplete.css') }}" />
  <link rel="stylesheet" type="text/css" media="screen" href="{{ asset('/bundles/nsutil/css/pikaday.css') }}" />
{% endblock %}

Remove old prototype JS from user edit template


    {% include "@organisms/site/header/header.twig"
      with {
        logo: drupal_block('logo'),
        menu_main: drupal_block('menu_main'),
      }
    %}

  {{ content }}

    {% include "@organisms/site/footer/footer.twig"
      with {
        logo: drupal_block('logo'),
      }
    %}

Update paths for header and footer

    {% include "@organisms/site/00-header/header.twig"
      with {
        logo: drupal_block('logo'),
        menu_main: drupal_block('menu_main'),
      }
    %}

  {{ content }}

    {% include "@organisms/site/01-footer/footer.twig"
      with {
        logo: drupal_block('logo'),
      }
    %}


{% trans_default_domain 'EasyAdminBundle' %}

{% if paginator.haveToPaginate %}

                {{ 'paginator.counter'|trans({ '%start%': paginator.currentPageOffsetStart, '%end%': paginator.currentPageOffsetEnd, '%results%': paginator.nbResults})|raw }}

                    {% if 1 == paginator.currentPage %}

                                 {{ 'paginator.first'|trans }}

                    {% else %}

                                 {{ 'paginator.first'|trans }}

                    {% endif %}

                    {% if paginator.hasPreviousPage %}

                                 {{ 'paginator.previous'|trans }}

                    {% else %}

                                 {{ 'paginator.previous'|trans }}

                    {% endif %}

                    {% if paginator.hasNextPage %}

                                {{ 'paginator.next'|trans }}

                    {% else %}

                                {{ 'paginator.next'|trans }}

                    {% endif %}

                    {% if paginator.currentPage < paginator.nbPages %}

                                {{ 'paginator.last'|trans }}

                    {% else %}

                                {{ 'paginator.last'|trans }}

                    {% endif %}

{% endif %}


Add template for missing admin id in candidacy

{% extends 'MunicipalesBundle:theme:layout.html.twig' %}

{% block title %}{{ 'candidacy.html_title'|trans }}{% endblock %}
{% block content %}

{{ error }}

{% endblock %}


{% extends 'master.twig' %}

{% block content %}

2016 Vidya Gaem Awards

>implying you're opinion is worth shit

News view all

                {% for item in news %}

                        {% if item.new %}
                            New
                        {% endif %}
                        {{ item.timestamp|date('M j, Y') }}: {{ item.text }}

                {% endfor %}

    Google+
{% endblock %}

Add extra links to the front page

{% extends 'master.twig' %}

{% block content %}

2016 Vidya Gaem Awards

>implying you're opinion is worth anything

News view all

                {% for item in news %}

                        {% if item.new %}
                            New
                        {% endif %}
                        {{ item.timestamp|date('M j, Y') }}: {{ item.text }}

                {% endfor %}

Want to get involved?

                If you're interested in being involved with the production of the show
                in some way, fill out our Talent Recruitment Form.

                If you'd like to be involved or just want to verbally shitpost, you can
                also join our Discord channel.

    Google+
{% endblock %}


{% extends 'partials/base.html.twig' %}

{% block content %}

Error
        {{ page.header.http_response_code }}

        {{ page.content }}

{% endblock %}

Make the theme available for t9n

{% extends 'partials/base.html.twig' %}

{% block content %}

{{ "ERROR"|t }}
        {{ page.header.http_response_code }}

        {{ page.content }}

{% endblock %}


{% if actions is defined %}
    {% for k,v in actions %}
    {% if v.display is not defined or v.display != false %}
    {% set attr %}
    {% if v.attr is defined %}{% for k,v in v.attr %} {{k}}="{{v}}"{% endfor %}{% endif %}
    {% endset %}

    {% endif %}
    {% endfor %}
{% endif %}

Fix "defined and not falsy" check on display

{% if actions is defined %}
    {% for k,v in actions %}
    {% if v.display is defined and v.display %}
    {% set attr %}
    {% if v.attr is defined %}{% for k,v in v.attr %} {{k}}="{{v}}"{% endfor %}{% endif %}
    {% endset %}

    {% endif %}
    {% endfor %}
{% endif %}


    <form  method="post" action="{{ web_client['urls']['base'] }}{{ web_client['urls']['start_test_submit'] }}">

            <input class="input-xlarge" name="website" id="input-website" type="text" placeholder="Enter website homepage URL …" />
            <button type="submit" class="btn btn-primary btn-large">Test your site now</button>

                    <input type="checkbox" value="1" name="html-validation" checked /> HTML validation

                    <input type="checkbox" value="1" name="css-validation" checked /> CSS validation

    </form>

Add js static analysis to new test form

    <form  method="post" action="{{ web_client['urls']['base'] }}{{ web_client['urls']['start_test_submit'] }}">

            <input class="input-xlarge" name="website" id="input-website" type="text" placeholder="Enter website homepage URL …" />
            <button type="submit" class="btn btn-primary btn-large">Test your site now</button>

                    <input type="checkbox" value="1" name="html-validation" checked /> HTML validation

                    <input type="checkbox" value="1" name="css-validation" checked /> CSS validation

                    <input type="checkbox" value="1" name="js-static-analysis" checked /> JS static analysis

        Advanced new test form (fine tune your test)
    </form>


  {% for mainItem in navigation %}
    {% for subItem in mainItem.children if mainItem.active %}

        {{ ('lbl.'~subItem.label)|trans|ucfirst }}

      {% if subItem.children is defined and subItem.active %}

          {% for item in subItem.children %}

              {{ ('lbl.'~item.label)|trans|ucfirst }}

          {% endfor %}

      {% endif %}
    {% endfor %}
  {% endfor %}

Make our subnavigation semantically correct.


{# NietonfirRaygunBundle/Resources/views/setup.html.twig #}
<script type="text/javascript">
  rg4js('apiKey', '{{ raygun_api_key }}');
  rg4js('enableCrashReporting', true);
  {% if enable_pulse|default(false) == true %}
    rg4js('attach', true);
    rg4js('enablePulse', true);
  {% endif %}
</script>

Remove obsolete check since almost everything is truthy

{# NietonfirRaygunBundle/Resources/views/setup.html.twig #}
<script type="text/javascript">
  rg4js('apiKey', '{{ raygun_api_key }}');
  rg4js('enableCrashReporting', true);
  {% if enable_pulse|default(false) %}
    rg4js('attach', true);
    rg4js('enablePulse', true);
  {% endif %}
</script>


{% extends layout ?: "@PayumCore/layout.html.twig" %}

{% block payum_body %}
    <form method="POST">
        {{ form_row(form) }}

        {{ form_rest(form) }}

        <input type="submit" value="Submit" />
    </form>
{% endblock %}


{%- macro text(view, inline = true) -%}

    {%- if view.hasTitle -%}
        {{- view.title ~ ': ' -}}
    {%- endif -%}

    {%- if view.empty -%}
        -
    {%- else -%}

        {%- if view.hasChildren -%}

            {%- if inline -%}

                {%- for child in view.children %}

                    {{- _self.text(child) -}}

                    {%- if not loop.last -%}
                        {{- ', ' -}}
                    {%- endif -%}

                {%- endfor -%}

            {%- else -%}

                {%- for child in view.children %}

{{ _self.text(child) -}}

                {%- endfor -%}

            {%- endif -%}

        {%- endif -%}

        {%- if view.hasValue -%}
            {{- view.value|striptags -}}
        {%- endif -%}

    {%- endif -%}

{%- endmacro -%}

{%- if view -%}

    {{- _self.text(view, false) -}}

{%- endif -%}

Add intentations to data text template.

{%- macro text(view, level = 0) -%}

    {%- if view.hasTitle -%}
        {{- view.title ~ ': ' -}}
    {%- endif -%}

    {%- if view.empty -%}
        -
    {%- else -%}

        {%- if view.hasChildren -%}

            {%- for child in view.children %}

{% if level > 0 %}{% for i in 1..level %}{{ '    ' }}{% endfor %}{% endif %}{{ _self.text(child, level + 1) -}}

            {%- endfor -%}

        {%- endif -%}

        {%- if view.hasValue -%}
            {{- view.value|striptags -}}
        {%- endif -%}

    {%- endif -%}

{%- endmacro -%}

{%- if view -%}

    {{- _self.text(view) -}}

{%- endif -%}


<?php
/**
 * @file
 * Contains \Drupal\{{module_name}}\Command\{{ name.class }}.
 */

namespace Drupal\{{module_name}}\Command;

{% if container is not empty %}
use Drupal\AppConsole\Command\ContainerAwareCommand;
{% else %}
use Symfony\Component\Console\Command\Command;
{% endif %}
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

class {{ name.class }} extends {% if container is not empty %}ContainerAwareCommand {% else %}Command {% endif %}

{
  /**
   * {@inheritdoc}
   */
  protected function configure()
  {
    $this
      ->setName('{{ command }}')
      ->setDescription('Greet someone')
      ->addArgument('name', InputArgument::OPTIONAL, 'Who do you want to greet?')
      ->addOption('yell', null, InputOption::VALUE_NONE, 'If set, the task will yell in uppercase letters')
    ;
  }

  /**
   * {@inheritdoc}
   */
  protected function execute(InputInterface $input, OutputInterface $output)
  {
    $name = $input->getArgument('name');
    if ($name) {
      $text = 'Hello '.$name;
    } else {
      $text = 'Hello';
    }

    if ($input->getOption('yell')) {
      $text = strtoupper($text);
    }

    $output->writeln($text);
  }
}

Implement twig blocks from base

{% extends "base/class.php.twig" %}

{% block file_path %}
Drupal\{{module_name}}\Command\{{ name.class }}.
{% endblock %}

{% block namespace_class %}
namespace Drupal\{{module_name}}\Command;
{% endblock %}

{% block use_class %}
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
{% endblock %}

{% block class_declaration %}
class {{ name.class }} extends Command
{% endblock %}

{% block class_methods %}
  /**
   * {@inheritdoc}
   */
  protected function configure()
  {
    $this
      ->setName('{{ command }}')
      ->setDescription('Greet someone')
      ->addArgument('name', InputArgument::OPTIONAL, 'Who do you want to greet?')
      ->addOption('yell', null, InputOption::VALUE_NONE, 'If set, the task will yell in uppercase letters')
    ;
  }

  /**
   * {@inheritdoc}
   */
  protected function execute(InputInterface $input, OutputInterface $output)
  {
    $name = $input->getArgument('name');
    if ($name) {
      $text = 'Hello '.$name;
    } else {
      $text = 'Hello';
    }

    if ($input->getOption('yell')) {
      $text = strtoupper($text);
    }

    $output->writeln($text);
  }
{% endblock %}


{% extends "template.twig" %}
{% block splash %}
    {% include "parts/index-splash.twig" %}
{% endblock %}
{% block content %}
    {% include "parts/faq.twig" %}
    {% include "parts/schedule.twig" %}
    {% include "parts/pitch.twig" %}
    {% include "parts/sponsors-list.twig" %}
{% endblock %}
{% block scripts %}
    <script type="text/javascript">
        mixpanel.track(
                "Event Page Loaded"
        );
    </script>
{% endblock %}

Add hash check for playing video

{% extends "template.twig" %}
{% block splash %}
    {% include "parts/index-splash.twig" %}
{% endblock %}
{% block content %}
    {% include "parts/faq.twig" %}
    {% include "parts/schedule.twig" %}
    {% include "parts/pitch.twig" %}
    {% include "parts/sponsors-list.twig" %}
{% endblock %}
{% block scripts %}
    <script type="text/javascript">
        mixpanel.track(
                "Event Page Loaded"
        );
        if (window.location.hash == '#video') {
            $('#video-link').click();
        }
    </script>
{% endblock %}


    {% if baseUrl %}

                    {{ renderer.image(image, altText, imgCssClass )}}

        {% if showImageCaption %}

{{ image_caption }}

        {% endif %}
    {% endif %}

Add extra span for image-caption, makes styling easier can be used for animations


{% extends 'Market3wSiteBundle::backendLayout.html.twig' %}

{% block content %}

    Retour

Client

            Prénom :  {{ client.firstName }}

            Nom :  {{ client.lastName }}

 Société : {{ client.company.name }}

Devis

	{% include 'Market3wSiteBundle:Intranet/Bill:_listEstimate.html.twig' with { 'view': 'wm' } %}

Factures

        {% include 'Market3wSiteBundle:Intranet/Bill:_listBill.html.twig' with { 'view': 'wm' } %}

{% endblock %}

Add bill and estimate button on billing view for web-marketeur

{% extends 'Market3wSiteBundle::backendLayout.html.twig' %}

{% block content %}

    Retour
    Nouveau devis
    Nouvelle facture

Client

            Prénom :  {{ client.firstName }}

            Nom :  {{ client.lastName }}

 Société : {{ client.company.name }}

Devis

	{% include 'Market3wSiteBundle:Intranet/Bill:_listEstimate.html.twig' with { 'view': 'wm' } %}

Factures

        {% include 'Market3wSiteBundle:Intranet/Bill:_listBill.html.twig' with { 'view': 'wm' } %}

{% endblock %}


{% extends "master.twig" %}

{% block main_content %}

    {% include 'homepage/cta.twig' %}

    {% if talksNextMonth is not empty %}

        {% set colwidth = (talksNextMonth|length) %}

        {% if talksNextMonth|length == 1 %}
            {% set colwidth = 2 %}
        {% endif %}

                {% for key, talk in talksNextMonth %}
                    {% include 'homepage/upcoming-talk.twig' %}
                {% endfor %}

                {% if talksNextMonth|length < 2 %}
                    {% include 'homepage/venue.twig' %}
                {% endif %}

                {% if talksNextMonth|length > 1 %}
                    {% include 'homepage/venue-summary.twig' %}
                {% endif %}

    {% endif %}

            {% set colwidth = (talksThisMonth|length) %}

            {% if talksThisMonth|length == 1 %}
                {% set colwidth = 2 %}
            {% endif %}

            {% for key, talk in talksThisMonth %}
                {% include 'homepage/recent-talk.twig' %}
            {% endfor %}

            {% if talksThisMonth|length == 1 %}
                {% include 'homepage/speakers-wanted.twig' %}
            {% endif %}

    {% include 'homepage/sponsors.twig' %}

{% endblock %}

Replace speakers wanted with venue on months with one talk

{% extends "master.twig" %}

{% block main_content %}

    {% include 'homepage/cta.twig' %}

    {% if talksNextMonth is not empty %}

        {% set colwidth = (talksNextMonth|length) %}

        {% if talksNextMonth|length == 1 %}
            {% set colwidth = 2 %}
        {% endif %}

                {% for key, talk in talksNextMonth %}
                    {% include 'homepage/upcoming-talk.twig' %}
                {% endfor %}

                {% if talksNextMonth|length < 2 %}
                    {% include 'homepage/venue.twig' %}
                {% endif %}

                {% if talksNextMonth|length > 1 %}
                    {% include 'homepage/venue-summary.twig' %}
                {% endif %}

    {% endif %}

            {% set colwidth = (talksThisMonth|length) %}

            {% if talksThisMonth|length == 1 %}
                {% set colwidth = 2 %}
            {% endif %}

            {% for key, talk in talksThisMonth %}
                {% include 'homepage/recent-talk.twig' %}
            {% endfor %}

            {% if talksThisMonth|length == 1 %}
                {% include 'homepage/venue.twig' %}
            {% endif %}

    {% include 'homepage/sponsors.twig' %}

{% endblock %}


{% extends 'MunicipalesBundle:theme:layout.html.twig' %}

{% block title %}{{ 'candidacy.step_verify.html_title'|trans }}{% endblock %}

{% form_theme form 'MunicipalesBundle:theme:forms.html.twig' %}

{% block content %}

{{ 'home.step_h2'|trans }} 1

 {{ 'candidacy.step_conditions.h1_title'|trans }}

        {{ form_start(form, { 'attr': {'class': 'form_settings'}}) }}

				  {% if not form.vars.valid and form.vars.errors|length > 0 %}

                          <button data-dismiss="alert" class="close" type="button">

                          </button>
                          {{ form_errors(form) }}

                  {% endif %}

{{ 'candidacy.step_verify.h1_title'|trans }}

                  {{ form_widget(form.continue, { 'label': 'candidacy.step_verify.continue'|trans|raw, 'attr' : { 'class' : 'submit btn btn-success btn-next'} }) }}

        {{ form_rest(form) }}

			  {{ form_end(form) }}

{% endblock %}


{% extends 'base.html.twig' %}

{% block body %}

Tag creation

    <form>
        {% for language in languages %}

            Tag in {{ language|upper }}
            <input type="text" class="form-control" name="tag[{{ language }}]" id="tag-{{ language }}" minlength="3" required>

        {% endfor %}
        <button type="submit" class="btn btn-primary">Submit</button>
    </form>
{% endblock %}

{% block breadcrumb %}

        {% trans %}routes.home{% endtrans %}
         >
        {% trans %}tags.name{% endtrans %}

{% endblock %}

Change form method for tag creation

{% extends 'base.html.twig' %}

{% block body %}

Tag creation

    <form method="post">
        {% for language in languages %}

            Tag in {{ language|upper }}
            <input type="text" class="form-control" name="tag[{{ language }}]" id="tag-{{ language }}" minlength="3" required>

        {% endfor %}
        <button type="submit" class="btn btn-primary">Submit</button>
    </form>
{% endblock %}

{% block breadcrumb %}

        {% trans %}routes.home{% endtrans %}
         >
        {% trans %}tags.name{% endtrans %}

{% endblock %}


Home

ModuleName

ItemName

Fix error in layout template


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}BCC Resque{% endblock %}</title>
        {% block stylesheets %}
            <link rel="stylesheet" href="/bundles/bccresque/css/bootstrap.min.css"/>
            <style type="text/css">
                body {
                    padding-top: 60px;
                    padding-bottom: 40px;
                }
            </style>
        {% endblock %}
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>

Make css usable if symfony is in subdirectory

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}BCC Resque{% endblock %}</title>
        {% block stylesheets %}
            <link rel="stylesheet" href="{{ asset('bundles/bccresque/css/bootstrap.min.css') }}" type="text/css" media="screen" />
            <style type="text/css">
                body {
                    padding-top: 60px;
                    padding-bottom: 40px;
                }
            </style>
        {% endblock %}
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>


{% if is_logged_in %}
    This test has been limited to only the first {{remote_test_summary.ammendments[0].constraint.limit}}
    URLs of the {{ remote_test_summary.ammendments[0].reason|replace({'plan-url-limit-reached:discovered-url-count-': ''}) }} that were discovered.
    Upgrade your plan to allow larger sites to be tested.
{% else %}
    This free demo has been limited to only the first {{remote_test_summary.ammendments[0].constraint.limit}}
    URLs of the {{ remote_test_summary.ammendments[0].reason|replace({'plan-url-limit-reached:discovered-url-count-': ''}) }} that were discovered.
    Create an account or sign in to start a new test without this limit.
{% endif %}

Update notification to be more relevant for logged in user

{% if is_logged_in %}
    This free demo has been limited to only the first {{remote_test_summary.ammendments[0].constraint.limit}}
    URLs of the {{ remote_test_summary.ammendments[0].reason|replace({'plan-url-limit-reached:discovered-url-count-': ''}) }} that were discovered.
    Start a new test or upgrade your plan to allow larger sites to be tested.
{% else %}
    This free demo has been limited to only the first {{remote_test_summary.ammendments[0].constraint.limit}}
    URLs of the {{ remote_test_summary.ammendments[0].reason|replace({'plan-url-limit-reached:discovered-url-count-': ''}) }} that were discovered.
    Create an account or sign in to start a new test without this limit.
{% endif %}


	{% if event and event.registration_info.is_open %}

Build something awesome

	{% else %}

Get your ticket!

	{% endif %}

		{% if event and event.registration_info.is_open and event.registration_info.remaining > 0 %}

Practice your skills, meet new people, and have fun.

Get your ticket before they're sold out!

			Let's code
        {% elseif event.registration_info.remaining == 0 %}

Sorry, tickets are sold out, but you may still be able to attend a CodeDay nearby.

            Find a nearby event!
		{% else %}

Registrations aren't yet open, but we can let you know when they are!

			<input type="email" class="subscription-email" placeholder="Email"><input type="submit" value="Subscribe" class="subscription-submit">
		{% endif %}

Fix sold out message when notify-only

	{% if event and event.registration_info.is_open %}

Build something awesome

	{% else %}

Get your ticket!

	{% endif %}

        {% if event and event.registration_info.is_open and event.registration_info.remaining > 0 %}

Practice your skills, meet new people, and have fun.

Get your ticket before they're sold out!

			Let's code
        {% elseif event and event.registration_info.is_open and event.registration_info.remaining == 0 %}

Sorry, tickets are sold out, but you may still be able to attend a CodeDay nearby.

            Find a nearby event!
        {% else %}

Registrations aren't yet open, but we can let you know when they are!

			<input type="email" class="subscription-email" placeholder="Email"><input type="submit" value="Subscribe" class="subscription-submit">
        {% endif %}


{% extends "base.twig" %}

{% block content %}

    {% include 'blocks/page-header.twig' %}

    {% if posts.post_count == 0 %}
        {{ __('Sorry, no results were found.', 'sage') }}
        {{ function('get_search_form') }}
    {% endif %}

    {% for post in posts %}
        {% include "templates/blocks/content.twig" with {post: post}  %}
    {% endfor %}

    {{ function('the_posts_navigation') }}

{% endblock %}

Fix check for empty posts array

{% extends "base.twig" %}

{% block content %}

    {% include 'blocks/page-header.twig' %}

    {% if posts == [] %}
        {{ __('Sorry, no results were found.', 'sage') }}
        {{ function('get_search_form') }}
    {% endif %}

    {% for post in posts %}
        {% include "templates/blocks/content.twig" with {post: post}  %}
    {% endfor %}

    {{ function('the_posts_navigation') }}

{% endblock %}


Add pattern lab examples of button border_radius prop

{% set schema = bolt.data.components['@bolt-components-button'].schema %}

{% for radius in schema.properties.border_radius.enum %}

Button Border Radius Variation: {{ radius }}

  {% include "@bolt-components-button/button.twig" with {
    border_radius: radius,
    text: "Border Radius " ~ radius ~ " Button"
  } %}
{% endfor %}


{% extends '/layout.html.twig' %}

{% block title %}Page not found - Joind.in{%  endblock %}

{% block body %}

Page not found

The page you are looking for could not be found.

{%  endblock %}

Add more info and a contact us link to the 404 template

{% extends '/layout.html.twig' %}

{% block title %}Page not found - Joind.in{%  endblock %}

{% block body %}

Page not found

Sorry, we can't find the page you tried to visit!

If you were expecting to see our old site, you can visit it at http://legacy.joind.in

Please feel free to contact us to tell us what went wrong

{%  endblock %}


            This content is maintained on GitHub. We welcome any feedback and improvements!

    {# All hail our GitHub overlords! #}
    {# https://help.github.com/articles/about-automation-for-issues-and-pull-requests-with-query-parameters/ #}
    {% set gh_params = {
        title: 'Feedback on "%s" page' | format(this.title),
        body: 'File: %s\nURL: %s' | format(this.filePath, url(this.permalink, absolute=true))
    } %}

        Give us Feedback

        Edit this Page

Fix feedback links on mobile


{% extends "GameScoreBundle::layout.html.twig" %}

{% block title %}
    Joueur : [{{ player.getId() }}] - {{ parent() }}
{% endblock %}

{% block mainsection %}

 {{ player.firstname ~ ' ' ~ player.lastname }}
            {% if player.star %}
                  ★
            {% endif %}

                {{ 'update'|trans|capitalize }}

        {% include 'GameScoreBundle:Play:totalPlayedGamesIncluded.html.twig' with {'totalPlayedGames' : totalPlayedGames } %}
        {% include 'GameScoreBundle:Play:playedGamesIncluded.html.twig' with {'plays' : plays } %}

{% endblock %}

Update : use of class pull right for update in player view is now in


{% extends "::base.html.twig" %}

{% block title %}{{ user.username }}{% endblock %}

{% block content %}

            {{ avatar(user.username, 128)|raw }}

            {% for post in user.wall.posts %}
                {% if loop.index % 2 == 1 %}

                {% endif %}

                    {% include 'MinePlusMainBundle:Player:wall_post.html.twig'  with {'post': post} only %}

                {% if loop.index % 2 == 0 %}

                {% endif %}
            {% endfor %}

{% endblock %}

Make number of wall post rows configurable.

{% extends "::base.html.twig" %}

{% block title %}{{ user.username }}{% endblock %}

{% block content %}

            {{ avatar(user.username, 128)|raw }}

            {# this config item may only contain 1, 2, 3, 4, 6 or 12 (int) #}
            {% set rows = config('design.profile.wall_rows', 3) %}

            {% for post in user.wall.posts %}
                {% if loop.index % rows == 1 %}

                {% endif %}

                    {% include 'MinePlusMainBundle:Player:wall_post.html.twig'  with {'post': post} only %}

                {% if loop.index % rows == 0 %}

                {% endif %}
            {% endfor %}

{% endblock %}


<!DOCTYPE html>
<html lang="{{ LANGUAGE }}">
<head>
  {# Meta #}
  <meta charset="utf-8" />
  <meta name="generator" content="Fork CMS" />
  {{ meta|raw }}
  {{ metaCustom|raw }}

  <title>{{ pageTitle }}</title>

  {# Favicon and Apple touch icon #}
  <link rel="shortcut icon" href="/favicon.ico" />
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />

  {# Windows 8 tile #}
  <meta name="application-name" content="{{ siteTitle }}" />
  <meta name="msapplication-TileColor" content="#3380aa" />
  <meta name="msapplication-TileImage" content="/tile.png" />

  {# Stylesheets #}
  {% for cssFiles in cssFiles %}
    <link rel="stylesheet" href="{{ cssFiles.file }}" />
  {% endfor %}

  {# Site wide HTML #}
  {{ siteHTMLHeader|raw }}

  {% if debug %}
    <script src="http://localhost:35729/livereload.js?snipver=1"></script>
  {% endif %}
</head>

Make adding a timestamp for css files in the php work

<!DOCTYPE html>
<html lang="{{ LANGUAGE }}">
<head>
  {# Meta #}
  <meta charset="utf-8" />
  <meta name="generator" content="Fork CMS" />
  {{ meta|raw }}
  {{ metaCustom|raw }}

  <title>{{ pageTitle }}</title>

  {# Favicon and Apple touch icon #}
  <link rel="shortcut icon" href="/favicon.ico" />
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />

  {# Windows 8 tile #}
  <meta name="application-name" content="{{ siteTitle }}" />
  <meta name="msapplication-TileColor" content="#3380aa" />
  <meta name="msapplication-TileImage" content="/tile.png" />

  {# Stylesheets #}
  {% for cssFiles in cssFiles %}
    <link rel="stylesheet" href="{{ cssFiles }}" />
  {% endfor %}

  {# Site wide HTML #}
  {{ siteHTMLHeader|raw }}

  {% if debug %}
    <script src="http://localhost:35729/livereload.js?snipver=1"></script>
  {% endif %}
</head>


---
section: documentation
sectiontitle: Developer Docs
permalink: /documentation/developer/bzfs_api/functions/
title: bzfs API Functions
parent:
---

{% extends "_layouts/page-sidebar.html.twig" %}

{% block aside %}

Categories

            {% for category in collections.bzfs_api_functions | select('category') | sort %}

{{ category }}

            {% endfor %}

{% endblock %}

{% block content %}

BZFS API Functions

These API functions are allow plug-in developers to interact with the current game state and players.

    {% set functions = collections.bzfs_api_functions | group('category') %}
    {% set categories = functions | keys | sort %}

    {% for category in categories %}

{{ category }}

            {% for function in functions[category] | order('filename') %}

                        {{- function.basename -}}()

            {% endfor %}

    {% endfor %}
{% endblock %}

Make use of new 'slug' filter


{% trans_default_domain "EasyAdminBundle" %}
{% set _entity_config = easyadmin_entity(app.request.query.get('entity')) %}

    <button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>

        {% block modal_title %}
            {{ (_entity_config.name~'.'~app.request.get('action')~'.title')|trans }}
        {% endblock %}

    {% block content %}{% endblock %}

Set js of modal into a block


{% extends 'adminbase.html.twig' %}

{% block title %}Reports: Emails List{% endblock %}

{% block breadcrumbs %}

        Home
        Admin
        Reports
        Email List

{% endblock %}

{% block body %}

Email List

    {{ form_start(form) }}
        {{ form_widget(form.membershipType) }}
        <input type="submit" class="btn btn-primary" value="Go" />
    {{ form_end(form) }}

Regular Emails

        {{ regularEmailsString }}

Crappy BT Emails

        {{ btEmailsString }}

{% endblock %}

Allow email list to be filtered by membership type


            {% for item in navigation %}

                    {{ item.label }}

            {% endfor %}

Read class nav item text


{% extends "CollegeCraziesMainBundle::layout.html.twig" %}

{% block content %}

Welcome to College Crazies!

Bringing college sports fans together

See how all of this happened!

        {% if is_granted('ROLE_USER') %}
            {% if user.leagues|length > 0 %}

Welcome to The League!

Picks LOCK, Sat, December 17th at 2:00pm EST.

Please be sure to make your picks by clicking below:

            {% else %}

Please be sure to join The League by clicking below:

                Join The League
            {% endif %}
        {% else %}
            Sign up now! or Login
        {% endif %}

{% endblock %}

Add button to make picks on homepage

{% extends "CollegeCraziesMainBundle::layout.html.twig" %}

{% block content %}

Welcome to College Crazies!

Bringing college sports fans together

See how all of this happened!

        {% if is_granted('ROLE_USER') %}
            {% if user.leagues|length > 0 %}

Welcome to The League!

Picks LOCK, Sat, December 17th at 2:00pm EST.

Please be sure to make your picks by clicking below:

                Make Your Picks
            {% else %}

Please be sure to join The League by clicking below:

                Join The League
            {% endif %}
        {% else %}
            Sign up now! or Login
        {% endif %}

{% endblock %}


## Begin MySQL manifest

if $mysql_values == undef {
  $mysql_values = hiera('mysql', false)
}

if $php_values == undef {
  $php_values = hiera('php', false)
}

if $mysql_values['root_password'] {
  class { 'mysql::server':
    root_password => $mysql_values['root_password'],
  }

  if is_hash($mysql_values['databases']) and count($mysql_values['databases']) > 0 {
    create_resources(mysql_db, $mysql_values['databases'])
  }

  if is_hash($php_values) and ! defined(Php::Module['mysql']) {
    php::module { 'mysql': }
  }
}

define mysql_db (
  $user,
  $password,
  $host,
  $grant    = [],
  $sql_file = false
) {
  if $name == '' or $password == '' or $host == '' {
    fail( 'MySQL DB requires that name, password and host be set. Please check your settings!' )
  }

  mysql::db { $name:
    user     => $user,
    password => $password,
    host     => $host,
    grant    => $grant,
    sql      => $sql_file,
  }
}

Use php-mysqlnd instead of php-mysql

## Begin MySQL manifest

if $mysql_values == undef {
  $mysql_values = hiera('mysql', false)
}

if $php_values == undef {
  $php_values = hiera('php', false)
}

if $mysql_values['root_password'] {
  class { 'mysql::server':
    root_password => $mysql_values['root_password'],
  }

  if is_hash($mysql_values['databases']) and count($mysql_values['databases']) > 0 {
    create_resources(mysql_db, $mysql_values['databases'])
  }

  if is_hash($php_values) and ! defined(Php::Module['mysql']) {
    php::module { 'mysqlnd': }
  }
}

define mysql_db (
  $user,
  $password,
  $host,
  $grant    = [],
  $sql_file = false
) {
  if $name == '' or $password == '' or $host == '' {
    fail( 'MySQL DB requires that name, password and host be set. Please check your settings!' )
  }

  mysql::db { $name:
    user     => $user,
    password => $password,
    host     => $host,
    grant    => $grant,
    sql      => $sql_file,
  }
}


{% if is_granted('ROLE_ADMIN') %}

Administrar

        {% if idea.closed %}

                Abrir idea

        {% else %}

                Cerrar idea

        {% endif %}
        {% if idea.state != constant('App\\Entity\\Idea::STATE_APPROVED') %}

                Aprobar idea

        {% endif %}
        {% if idea.state != constant('App\\Entity\\Idea::STATE_REJECTED') %}

                Rechazar idea

        {% endif %}

                Editar idea

{% endif %}

Fix bug in approve and reject actions


{% extends "::base.html.twig" %}

{% block title %}Info sur la translation{% endblock %}

{% block theatre %}
{{ app.session.flash('notice')|trans }}

{% endblock theatre %}

{% block aside %}

Choisir la culture pour "{{ language.symbol }}"

<form action="{{ path('EvocatioFaqBundle_create_cultures', {'display_language': language.symbol }) }}" method="post" {{ form_enctype(edit_form) }}>
{{ form_widget(edit_form) }}

<input type="submit" value="go" />
</form>

{% endblock aside %}

Return link to language selection form

{% extends "::base.html.twig" %}

{% block title %}Info sur la translation{% endblock %}

{% block theatre %}
{{ app.session.flash('notice')|trans }}

{% endblock theatre %}

{% block aside %}

Choisir la culture pour "{{ language.symbol }}"

<form action="{{ path('EvocatioFaqBundle_create_cultures', {'display_language': language.symbol }) }}" method="post" {{ form_enctype(edit_form) }}>
{{ form_widget(edit_form) }}

<input type="submit" value="go" />
</form>

Choisir les langues

{% endblock aside %}


{% set translationDomain = "report-transactions" %}
{% trans_default_domain translationDomain %}

{{ ('form.entries.' ~ transaction.transactionTypeId ~ '.label') | trans }}

{{ 'currencySymbol' | trans }}{{ transaction.amount | number_format(2, '.', ',') }}

    {% if transaction.moreDetails %}

            {{ ('form.entries.' ~ transaction.transactionTypeId ~ '.moreInformations') | trans }}
            {{ transaction.moreDetails }}

    {% endif %}

Remove the title for the description field as it should not be shown.

{% set translationDomain = "report-transactions" %}
{% trans_default_domain translationDomain %}

{{ ('form.entries.' ~ transaction.transactionTypeId ~ '.label') | trans }}

{{ 'currencySymbol' | trans }}{{ transaction.amount | number_format(2, '.', ',') }}

    {% if transaction.moreDetails %}

            {{ transaction.moreDetails }}

    {% endif %}


<script>
    (function($) {
        $(function() {
            $('.votes').each(function(i, votes) {
                var $votes = $(votes);
                var fortuneId = $votes.data('fortune-id');
                if (fortune.storage.has(fortuneId)) {
                    $('a', $votes).css('visibility', 'hidden');
                }
            });

            $('.votes a').on('click', function(e) {
                e.preventDefault();

                var $this = $(this);

                var $parent = $this.parent();
                $('a', $parent).css('visibility', 'hidden');

                var fortuneId = $parent.data('fortune-id');
                if (fortune.storage.has(fortuneId)) {
                    alert('You have alredy voted for this fortunes');

                    return;
                };
                fortune.storage.add(fortuneId);

                $.ajax({
                    url: $this.attr('href'),
                    accepts: 'application/json',
                    statusCode: {
                        200: function(data) {
                            var $votesLabel = $('.label', $parent);

                            fortune.votes.updateClass($votesLabel, data.votes);
                            $votesLabel.html(data.votes);
                        },
                        400: function() {
                            alert('Whay did you try to do ???');
                        }
                    }
                })
            });
        });
    })(jQuery);
</script>

Correct alert message if already vote

<script>
    (function($) {
        $(function() {
            $('.votes').each(function(i, votes) {
                var $votes = $(votes);
                var fortuneId = $votes.data('fortune-id');
                if (fortune.storage.has(fortuneId)) {
                    $('a', $votes).css('visibility', 'hidden');
                }
            });

            $('.votes a').on('click', function(e) {
                e.preventDefault();

                var $this = $(this);

                var $parent = $this.parent();
                $('a', $parent).css('visibility', 'hidden');

                var fortuneId = $parent.data('fortune-id');
                if (fortune.storage.has(fortuneId)) {
                    alert('You have already voted for this fortunes');

                    return;
                };
                fortune.storage.add(fortuneId);

                $.ajax({
                    url: $this.attr('href'),
                    accepts: 'application/json',
                    statusCode: {
                        200: function(data) {
                            var $votesLabel = $('.label', $parent);

                            fortune.votes.updateClass($votesLabel, data.votes);
                            $votesLabel.html(data.votes);
                        },
                        400: function() {
                            alert('Whay did you try to do ???');
                        }
                    }
                })
            });
        });
    })(jQuery);
</script>


    {% for id, title in elements|toHeadersArray(options) %}
        {% block thead %}{{ title }}	{% endblock %}
    {% endfor %}

    {% for element in elements %}
        {{ bootstrap_datatable_row(element, elements|toHeadersArray(options), options) }}
    {% endfor %}

Add
 tag to
 in datatable


{#
#  @license 3-clause BSD https://github.com/SlightScribe/SlightScribe-Core/blob/master/LICENSE.md
#  @link https://github.com/SlightScribe/SlightScribe-Core
#}

{%  extends 'SlightScribeBundle::base.html.twig' %}

{% block main %}

STOP

    <form class="styled" action="" method="post" {{ form_enctype(form) }} >

        {{ form_errors(form) }}

        {{ form_rest(form) }}

        <input type="submit" value="Stop" />

    </form>

{% endblock %}

Use public templates for stop pages

{#
#  @license 3-clause BSD https://github.com/SlightScribe/SlightScribe-Core/blob/master/LICENSE.md
#  @link https://github.com/SlightScribe/SlightScribe-Core
#}

{%  extends 'SlightScribeBundle::base.public.html.twig' %}

{% block main %}

STOP

    <form class="styled" action="" method="post" {{ form_enctype(form) }} >

        {{ form_errors(form) }}

        {{ form_rest(form) }}

        <input type="submit" value="Stop" />

    </form>

{% endblock %}


{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.defaultLocale) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.baseCurrency) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}

Add contactEmail property to a channel entity

{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.contactEmail) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.defaultLocale) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.baseCurrency) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.taxCalculationStrategy) }}


{% extends 'Layout.twig' %}

{% block content %}

Projects

    {% if projects|length > 0 %}

                    Repo
                    Last Run
                    Status

                {% for project in projects %}

                    {% if project.status.code == '0' %}
                        {% set project_class = 'error' %}
                    {% elseif project.status.code == '1' %}
                        {% set project_class = 'success' %}
                    {% elseif project.status.code == '2' %}
                        {% set project_class = 'warning' %}
                    {% endif %}

                                {{ project.repo }}

                        {{ project.last_run.sec|date('H:i - jS F Y') }}
                        {{ project.status.message }}

                {% endfor %}

    {% else %}

There are no projects yet.

    {% endif %}

{% endblock %}

Add a "test" button to home page for project

{% extends 'Layout.twig' %}

{% block content %}

Projects

    {% if projects|length > 0 %}

                    Repo
                    Last Run
                    Status
                    Test

                {% for project in projects %}

                    {% if project.status.code == '0' %}
                        {% set project_class = 'error' %}
                    {% elseif project.status.code == '1' %}
                        {% set project_class = 'success' %}
                    {% elseif project.status.code == '2' %}
                        {% set project_class = 'warning' %}
                    {% endif %}

                                {{ project.repo }}

                        {{ project.last_run.sec|date('H:i - jS F Y') }}
                        {{ project.status.message }}

                                 Test

                {% endfor %}

    {% else %}

There are no projects yet.

    {% endif %}

{% endblock %}


{% extends '::base.html.twig' %}

{% block body %}
     All sources, page {{ page }}
{% endblock %}

{% block description %}
	Showing all sources of Politikportal
{% endblock %}

{% block main %}

				Name
				Status

	  {% for source in sources %}

			{{ source.name }}
			{{ source.status }}

	  {% else %}

      		No sources found

      {% endfor %}

{% endblock %}

Add Bootstrap table class to sources table

{% extends '::base.html.twig' %}

{% block body %}
     All sources, page {{ page }}
{% endblock %}

{% block description %}
	Showing all sources of Politikportal
{% endblock %}

{% block main %}

				Name
				Status
				Language
				Type

	  {% for source in sources %}

			{{ source.name }}
			{{ source.status }}
			{{ source.lang }}
			{{ source.type }}

	  {% else %}

      		No sources found

      {% endfor %}

{% endblock %}


{% extends "layout.twig" %}

{% set title = gateway.name~": Response" %}
{% block content %}

    {% if response.isSuccessful() %}

Congratulations, your request was successful!

    {% elseif response.isRedirect() %}

Your request requires redirect to an off-site payment page.

Redirect Now

    {% else %}

Sorry, your request failed.

    {% endif %}

The response object had the following to say:

$request->isSuccessful()

{{ response.isSuccessful() ? "true" : "false" }}

$request->isRedirect()

{{ response.isRedirect() ? "true" : "false" }}

$request->getMessage()

{{ response.message }}

$request->getGatewayReference()

{{ response.gatewayReference }}

$request->getData()

{{ dump(response.data) }}

{% endblock %}

Add getRedirectUrl() and getFormData() to example app display

{% extends "layout.twig" %}

{% set title = gateway.name~": Response" %}
{% block content %}

    {% if response.isSuccessful() %}

Congratulations, your request was successful!

    {% elseif response.isRedirect() %}

Your request requires redirect to an off-site payment page.

Redirect Now

    {% else %}

Sorry, your request failed.

    {% endif %}

The response object had the following to say:

$request->isSuccessful()

{{ response.isSuccessful() ? "true" : "false" }}

$request->isRedirect()

{{ response.isRedirect() ? "true" : "false" }}

    {% if response.redirectUrl is defined %}

$request->getRedirectUrl()

{{ response.redirectUrl }}

    {% endif %}

    {% if response.formData is defined %}

$request->getFormData()

{{ dump(response.formData) }}

    {% endif %}

$request->getMessage()

{{ response.message }}

$request->getGatewayReference()

{{ response.gatewayReference }}

$request->getData()

{{ dump(response.data) }}

{% endblock %}


{% extends "layout.twig" %}

{% set title = gateway.name~": Response" %}
{% block content %}

    {% if response.isSuccessful() %}

Congratulations, your request was successful!

    {% else %}

Sorry, your request failed.

    {% endif %}

The response object had the following to say:

$request->isSuccessful()

{{ response.isSuccessful() ? "true" : "false" }}

$request->isRedirect()

{{ response.isRedirect() ? "true" : "false" }}

$request->getMessage()

{{ response.message }}

$request->getGatewayReference()

{{ response.gatewayReference }}

$request->getData()

{{ dump(response.data) }}

{% endblock %}

Add support for GET redirects to example application

{% extends "layout.twig" %}

{% set title = gateway.name~": Response" %}
{% block content %}

    {% if response.isSuccessful() %}

Congratulations, your request was successful!

    {% elseif response.isRedirect() %}

Your request requires redirect to an off-site payment page.

Redirect Now

    {% else %}

Sorry, your request failed.

    {% endif %}

The response object had the following to say:

$request->isSuccessful()

{{ response.isSuccessful() ? "true" : "false" }}

$request->isRedirect()

{{ response.isRedirect() ? "true" : "false" }}

$request->getMessage()

{{ response.message }}

$request->getGatewayReference()

{{ response.gatewayReference }}

$request->getData()

{{ dump(response.data) }}

{% endblock %}


{% autoescape false %}
Date, Type, Amount, Payment Method, Details, Reconciled by, Reconciled Date, Payment Processor ID, Invoice ID, Notes
{% for entity in entities %}
"{{ entity.trandate|date('m-d-Y') }}","{% if entity.trantype == 'MEMBERSHIP_NEW' %}New Membership Fee{% elseif entity.trantype == 'MEMBERSHIP_RENEW' %}Renewal Fee{% elseif entity.trantype == 'LUNCHEON_FEE' %}Luncheon Fee{% elseif entity.trantype == 'PARKING_PASS' %}Parking Pass{% else %}{{ entity.trantype }}{% endif %}","${{ entity.amount + entity.servicechg }}","{% if entity.pmtmethod == "CREDIT_CARD" %}Credit Card / PayPal{% elseif entity.pmtmethod == "CHECK" %}Check{% else %}Other{% endif %}","{% if show_luncheons is defined and show_luncheons %}{{ entity.luncheon }}{% endif %}","{% if entity.doneby %}{{ entity.doneby.fullname }}{% endif %}","{{ entity.reconciledDate|date('m-d-Y') }}","{{ entity.procTranId }}","{{ entity.invoiceId }}","{{ entity.notes }}"
{% endfor %}
{% endautoescape %}

Add member name and Person ID to Transaction CSV export

{% autoescape false %}
Date, Type, Amount, Payment Method, PersonID, Member Name, Details, Reconciled by, Reconciled Date, Payment Processor ID, Invoice ID, Notes
{% for entity in entities %}
"{{ entity.trandate|date('m-d-Y') }}","{% if entity.trantype == 'MEMBERSHIP_NEW' %}New Membership Fee{% elseif entity.trantype == 'MEMBERSHIP_RENEW' %}Renewal Fee{% elseif entity.trantype == 'LUNCHEON_FEE' %}Luncheon Fee{% elseif entity.trantype == 'PARKING_PASS' %}Parking Pass{% else %}{{ entity.trantype }}{% endif %}","${{ entity.amount + entity.servicechg }}","{% if entity.pmtmethod == "CREDIT_CARD" %}Credit Card / PayPal{% elseif entity.pmtmethod == "CHECK" %}Check{% else %}Other{% endif %}","{{ entity.person ? entity.person.id : "" }}","{{ entity.person ? entity.person.fullname : "" }}","{{ entity.luncheon }}","{% if entity.doneby %}{{ entity.doneby.fullname }}{% endif %}","{{ entity.reconciledDate|date('m-d-Y') }}","{{ entity.procTranId }}","{{ entity.invoiceId }}","{{ entity.notes }}"
{% endfor %}
{% endautoescape %}


    <link rel="canonical" href="{{ url(page.destination) }}" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="refresh" content="0;url={{ url(page.destination) }}" />

    {{ url(page.destination) }}

Make redirect layout W3C valid.

<!DOCTYPE html>

    <title>Redirect to {{ url(page.destination) }}</title>
    <link rel="canonical" href="{{ url(page.destination) }}" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="refresh" content="0;url={{ url(page.destination) }}" />

    Redirect to {{ url(page.destination) }}


<navbar inline-template>

                <button class="button navbar-burger" :class="{'is-active': navIsActive}" @click.prevent="toggleNav">

                </button>

                {% block header_navigation %}
                    {% include 'partials/navigation.html.twig' %}
                {% endblock %}

</navbar>

Set logo to plain text

<navbar inline-template>

                    {{ config.site.title }}

                <button class="button navbar-burger" :class="{'is-active': navIsActive}" @click.prevent="toggleNav">

                </button>

                {% block header_navigation %}
                    {% include 'partials/navigation.html.twig' %}
                {% endblock %}

</navbar>


{% if class_name is defined and "ConfigFormBase" == form_type %}

{{ module_name }}.{{form_id}}:
  path: '/admin/config/{{ module_name }}/{{ class_name_short }}'
  defaults:
    _form: '\Drupal\{{ module_name }}\Form\{{ class_name }}'
    _title: '{{ class_name }}'
  requirements:
    _permission: 'access administration pages'
  options:
    _admin_route: TRUE
{% endif %}

Remove check on form_type parameter in routing template

{% if class_name is defined %}

{{ module_name }}.{{form_id}}:
  path: '/admin/config/{{ module_name }}/{{ class_name_short }}'
  defaults:
    _form: '\Drupal\{{ module_name }}\Form\{{ class_name }}'
    _title: '{{ class_name }}'
  requirements:
    _permission: 'access administration pages'
  options:
    _admin_route: TRUE
{% endif %}


            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                Toggle navigation

            </button>
            GitStash

{% if app.user %}

Repositories

Settings

Logout

{% else %}

Login

{% endif %}

Add dynamic gravatar instead of hardcoded one


{% block oro_combobox_dataconfig_entity_field_choice %}
    $field.data('entity-field-util', new EntityFieldUtil($field));

    {% if configs.entities is defined %}
    var entities = {{ configs.entities|json_encode|raw }};
    $field.data('entity-field-util').findEntity = function (entity) {
        return _.findWhere(entities, {name: entity});
    };
    {% endif %}
    var formatContext = {
        getFieldData: function (fieldId) {
            return $field.data('entity-field-util').getFieldData(fieldId);
        }
    };
    select2Config.formatContext = function () {
        return formatContext;
    };
{% endblock %}

{% block oro_combobox_dataconfig_entity_field_select %}
    {{ block('oro_combobox_dataconfig_entity_field_choice') }}

    var formatContext = {
        getFieldData: function (fieldId) {
            return $field.data('entity-field-util').getFieldData(fieldId);
        },
        splitFieldId: function (fieldId) {
            return $field.data('entity-field-util').splitFieldId(fieldId);
        }
    };
    select2Config.formatContext = function () {
        return formatContext;
    };

    select2Config.collapsibleResults = true;
    select2Config.data = function () {
        return {more: false, results: $field.data('entity-field-util')._getData() };
    }
{% endblock %}

Develop UI for segmentation builder

{% block oro_combobox_dataconfig_entity_field_base %}
    $field.data('entity-field-util', new EntityFieldUtil($field));

    {% if configs.entities is defined %}
    var entities = {{ configs.entities|json_encode|raw }};
    $field.data('entity-field-util').findEntity = function (entity) {
        return _.findWhere(entities, {name: entity});
    };
    {% endif %}

    var formatContext = {
        getFieldData: function (fieldId) {
            return $field.data('entity-field-util').getFieldData(fieldId);
        },
        splitFieldId: function (fieldId) {
            return $field.data('entity-field-util').splitFieldId(fieldId);
        }
    };
    select2Config.formatContext = function () {
        return formatContext;
    };
{% endblock %}

{% block oro_combobox_dataconfig_entity_field_choice %}
    {{ block('oro_combobox_dataconfig_entity_field_base') }}
{% endblock %}

{% block oro_combobox_dataconfig_entity_field_select %}
    {{ block('oro_combobox_dataconfig_entity_field_base') }}

    select2Config.collapsibleResults = true;
    select2Config.data = function () {
        return {more: false, results: $field.data('entity-field-util')._getData() };
    }
{% endblock %}


{#Sidebar admin#}

 Accueil

 Association

 Demande de subvention

                {#Disconnect#}
                <form action="{{ path('fos_user_security_logout') }}">
                    <button class="btn btn-block btn-danger list-group-item">

 Se d&eacuteconnecter

                    </button>
                </form>

{#End Sidebar#}

Delete useless buttons in the admin page.

{#Sidebar admin#}

 Accueil

                {#Disconnect#}
                <form action="{{ path('fos_user_security_logout') }}">
                    <button class="btn btn-block btn-danger list-group-item">

 Se d&eacuteconnecter

                    </button>
                </form>

{#End Sidebar#}


{% extends "layout.html.twig" %}

{% block title %}Add ExactTarget credentials{% endblock %}

{% block content %}

Add ExactTarget Credentials

Home

Add ExactTargetCredentials

		{% for flashMessage in app.session.flashbag.get('success') %}

			{{ flashMessage }}

		{% endfor %}

		<form action="#" method="post">
			{{form_start(etForm)}}
				{{form_row(etForm.clientid, {'label' : 'Client ID'}) }}
				{{form_row(etForm.clientsecret, {'label' : 'Client Secret'}) }}

			 <input type="submit" name="submit" value="Add credentials !" />
		   {{form_end(etForm)}}
		</form>

{% endblock %}

Add "Need help ?" links to ExactTarget setup page

{% extends "layout.html.twig" %}

{% block title %}Add ExactTarget credentials{% endblock %}

{% block content %}

Add ExactTarget Credentials

Home

Add ExactTargetCredentials

		{% for flashMessage in app.session.flashbag.get('success') %}

			{{ flashMessage }}

		{% endfor %}

		<form action="#" method="post">
			{{form_start(etForm)}}
				{{form_row(etForm.clientid, {'label' : 'Client ID'}) }}
				{{form_row(etForm.clientsecret, {'label' : 'Client Secret'}) }}

			 <input type="submit" name="submit" value="Add credentials !" />
			 Need help ?
		   {{form_end(etForm)}}
		</form>

{% endblock %}


{% trans_default_domain 'FOSUserBundle' %}

Your Profile

{{ form_start(form, { 'action': path('fos_user_profile_edit'), 'attr': { 'class': 'fos_user_profile_edit' } }) }}
    {{ form_row(form.firstName) }}
    {{ form_row(form.lastName) }}
    {{ form_row(form.email) }}
    {{ form_row(form.username) }}
    {{ form_row(form.plainPassword) }}

        <input type="submit" value="{{ 'profile.edit.submit'|trans }}" />

{{ form_end(form) }}

Update page for editing the user profile

{% trans_default_domain 'FOSUserBundle' %}

Your Profile

Update your profile

                <form id="signupform" class="form-horizontal" role="form" action="{{ path('fos_user_profile_edit') }}" method="post">

Error:

                        {{ form_row(form.username) }}

                        {{ form_row(form.email) }}

                        {{ form_row(form.firstName) }}

                        {{ form_row(form.lastName) }}

                        {{ form_row(form.plainPassword) }}

                            <input class="btn btn-user" type="submit" value="{{ 'profile.edit.submit'|trans }}" />

                </form>


{% if sites is defined %}
Site:

        {{ current_site|default('All') }}

        {% for name, urls in sites %}

            {{ name }}

All

               {% for url in urls %}

{{ url }}

               {% endfor %}

        {% endfor %}

{% endif %}

Change default value of sites selection button when no item selected

{% if sites is defined %}
Site:

        {{ current_site|default('Select one') }}

        {% for name, urls in sites %}

            {{ name }}

All

               {% for url in urls %}

{{ url }}

               {% endfor %}

        {% endfor %}

{% endif %}


<script type="text/javascript">
    require(['orosync/js/sync', 'oroui/js/messenger', 'orotranslation/js/translator'],
        function (sync, messenger, __) {
            sync.subscribe('oro/imap_sync_fail_u_{{ app.user.id }}', function (response) {
                messenger.notificationMessage(
                    'error',
                    __('oro.imap.sync.flash_message.user_box_failed', {username: response.username, host: response.host})
                );
            });
            {% if is_granted('oro_imap_sync_origin_credential_notifications') %}
            sync.subscribe('oro/imap_sync_fail_system', function (response) {
                messenger.notificationMessage(
                    'error',
                    __('oro.imap.sync.flash_message.system_box_failed', {username: response.username, host: response.host})
                );
            });
            {% endif %}
        });
</script>

Add notification on email synchronization failed when credentials are not correct - fix tests

{% if app.user %}
<script type="text/javascript">
    require(['orosync/js/sync', 'oroui/js/messenger', 'orotranslation/js/translator'],
        function (sync, messenger, __) {
            sync.subscribe('oro/imap_sync_fail_u_{{ app.user.id }}', function (response) {
                messenger.notificationMessage(
                    'error',
                    __('oro.imap.sync.flash_message.user_box_failed', {username: response.username, host: response.host})
                );
            });
            {% if is_granted('oro_imap_sync_origin_credential_notifications') %}
            sync.subscribe('oro/imap_sync_fail_system', function (response) {
                messenger.notificationMessage(
                    'error',
                    __('oro.imap.sync.flash_message.system_box_failed', {username: response.username, host: response.host})
                );
            });
            {% endif %}
        });
</script>
{% endif %}


        {% for title, url in knp_menu_get('main').currentItem.breadcrumbsArray %}

{{ title }}

        {% endfor %}

Main navigation

{{ knp_menu_render('main') }}

Handle case where main menu does not have a current item.

        {% if knp_menu_get('main').currentItem %}
        {% for title, url in knp_menu_get('main').currentItem.breadcrumbsArray %}

{{ title }}

        {% endfor %}
        {% endif %}

Main navigation

{{ knp_menu_render('main') }}


<?php

{% block file_dockblock %}
/**
 * @file
 * Contains {% block file_path %}{% endblock %}
*/
{% endblock %}

{% block namespace_class %}{% endblock %}

{% block use_class %}{% endblock %}
{% block use_class_services %}
{% for service in services %}
use {{ service.class }};
{% endfor %}
{% endblock %}

{% block class_declaration %}{% endblock %}
{
{% block class_properties %}
{% for service in services %}

  /**
   * @var {{ service.class }}
  */
  protected ${{service.machine_name}};
{% endfor %}
{% endblock %}

{% block class_construct %}{% endblock %}
{% block class_create %}{% endblock %}
{% block class_methods %}{% endblock %}
}

Validate Twig variable service exists

<?php

{% block file_dockblock %}
/**
 * @file
 * Contains {% block file_path %}{% endblock %}
*/
{% endblock %}

{% block namespace_class %}{% endblock %}

{% block use_class %}{% endblock %}
{% block use_class_services %}
{% if service is defined %}
{% for service in services %}
use {{ service.class }};
{% endfor %}
{% endif %}
{% endblock %}

{% block class_declaration %}{% endblock %}
{
{% block class_properties %}
{% if service is defined %}
{% for service in services %}

  /**
   * @var {{ service.class }}
  */
  protected ${{service.machine_name}};
{% endfor %}
{% endif %}
{% endblock %}

{% block class_construct %}{% endblock %}
{% block class_create %}{% endblock %}
{% block class_methods %}{% endblock %}
}


{% if userinfo %}

            PennID:
            {{ userinfo.getPennId }}

            Pennkey:
            {{ userinfo.getPennkey }}

            Name:
            {{ userinfo.getFirstName }} {{ userinfo.getLastName }}

            Forwarding:
            {{ forwards|join('
') }}

            Account Check:

                {% for key,value in chkInfo.getData %}
                    {{ key }} = {{ value }}

                {% endfor %}

Account Logs

    {% include "GmailAccountLogBundle:Default:entries-table.html.twig" %}
{% else %}

No matching user found

{% endif %}

Add support for multivalued values in userinfo chkInfo data

{% if userinfo %}

            PennID:
            {{ userinfo.getPennId }}

            Pennkey:
            {{ userinfo.getPennkey }}

            Name:
            {{ userinfo.getFirstName }} {{ userinfo.getLastName }}

            Forwarding:
            {{ forwards|join('
') }}

            Account Check:

                {% for key,value in chkInfo.getData %}
                    {{ key }} = {% if value is iterable %}{{ value|join(', ') }}{% else %}{{ value }}{% endif %}

                {% endfor %}

Account Logs

    {% include "GmailAccountLogBundle:Default:entries-table.html.twig" %}
{% else %}

No matching user found

{% endif %}


<!DOCTYPE html>

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="/assets/css/bootstrap.css" rel="stylesheet">
    <link href="/assets/css/bootstrap-responsive.css" rel="stylesheet">
    <link href="/assets/css/style.css" rel="stylesheet">

    <title>Drupal Release Date</title>

Drupal 8 Release

        Estimated to occur on

N/A

Still collecting data

          Drupal core release cycle

       Built by gapple
       | On twitter @gappleca

    {% include('googleanalytics.twig') %}

Use variables for estimate value and note

<!DOCTYPE html>

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="/assets/css/bootstrap.css" rel="stylesheet">
    <link href="/assets/css/bootstrap-responsive.css" rel="stylesheet">
    <link href="/assets/css/style.css" rel="stylesheet">

    <title>Drupal Release Date</title>

Drupal 8 Release

        Estimated to occur on

{{ estimate.value ? estimate.value : 'N/A' }}

{{ estimate.note }}

          Drupal core release cycle

       Built by gapple
       | On twitter @gappleca

    {% include('googleanalytics.twig') %}


{% extends 'layouts/admin-lte.html.twig' %}

{% block title 'Register' %}

{% block body_class 'hold-transition register-page' %}

{% block body %}

        Register an account

    {% form_theme form 'bootstrap_3_layout.html.twig' %}

        {{ form_start(form) }}
            {{ form_row(form, {'label': false}) }}
        {{ form_end(form) }}
        I already have an account

{% endblock %}

Change login link on registration page to be an absolute URL


{#

This file is part of the Sonata package.

(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

#}
{% extends "::base.html.twig" %}

{% block title %}{{ 'title_list_exceptions'|trans({}, 'SonataPageBundle')}}{% endblock %}

{% block content %}

{{ 'title_list_exceptions'|trans([], 'SonataPageBundle') }}

            {% if httpErrorCodes %}
                {% for code, page in httpErrorCodes %}

                            {{ 'manage_exception'|trans({'%code%': code}, 'SonataPageBundle') }}

                {% endfor %}
            {% endif %}

{% endblock%}

Fix exception template overwriting wrong block

{#

This file is part of the Sonata package.

(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

#}
{% extends "::base.html.twig" %}

{% block title %}{{ 'title_list_exceptions'|trans({}, 'SonataPageBundle')}}{% endblock %}

{% block body %}

{{ 'title_list_exceptions'|trans([], 'SonataPageBundle') }}

            {% if httpErrorCodes %}
                {% for code, page in httpErrorCodes %}

                            {{ 'manage_exception'|trans({'%code%': code}, 'SonataPageBundle') }}

                {% endfor %}
            {% endif %}

{% endblock%}


{% import '@SyliusUi/Macro/messages.html.twig' as messages %}
{% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}

{{ sonata_block_render_event('sylius.shop.product.index.before_search', {'products': products}) }}

{% include '@SyliusShop/Product/Index/_search.html.twig' %}

{{ sonata_block_render_event('sylius.shop.product.index.after_search', {'products': products}) }}

{% include '@SyliusShop/Product/Index/_pagination.html.twig' %}
{% include '@SyliusShop/Product/Index/_sorting.html.twig' %}

{{ sonata_block_render_event('sylius.shop.product.index.before_list', {'products': products}) }}

{% if resources.data|length > 0 %}

        {% for product in resources.data %}

                {% include '@SyliusShop/Product/_box.html.twig' %}

        {% endfor %}

    {{ sonata_block_render_event('sylius.shop.product.index.before_pagination', {'products': products}) }}

    {{ pagination.simple(resources.data) }}
{% else %}
    {{ messages.info('sylius.ui.no_results_to_display') }}
{% endif %}

Fix events on product listings, resources.data should be used

{% import '@SyliusUi/Macro/messages.html.twig' as messages %}
{% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}

{{ sonata_block_render_event('sylius.shop.product.index.before_search', {'products': resources.data}) }}

{% include '@SyliusShop/Product/Index/_search.html.twig' %}

{{ sonata_block_render_event('sylius.shop.product.index.after_search', {'products': resources.data}) }}

{% include '@SyliusShop/Product/Index/_pagination.html.twig' %}
{% include '@SyliusShop/Product/Index/_sorting.html.twig' %}

{{ sonata_block_render_event('sylius.shop.product.index.before_list', {'products': resources.data}) }}

{% if resources.data|length > 0 %}

        {% for product in resources.data %}

                {% include '@SyliusShop/Product/_box.html.twig' %}

        {% endfor %}

    {{ sonata_block_render_event('sylius.shop.product.index.before_pagination', {'products': resources.data}) }}

    {{ pagination.simple(resources.data) }}
{% else %}
    {{ messages.info('sylius.ui.no_results_to_display') }}
{% endif %}


Add template for widget examples project

    {% for p in projects %}
        {% include 'StfalconPortfolioBundle:Project:_projects_list_item.html.twig' with {'category' :category ,'project' : p} %}
    {% endfor %}


{#
    Hard pagination occurs when the server only generates a single
    table-page at a time, on the browser's request. See comment
    in soft-pagination.twig
#}

    «
    ‹

    <select class="pagination-filter">

    </select>

     ›
     »

Add template for hard pagination.

{#
    Hard pagination occurs when the server only generates a single
    table-page at a time, on the browser's request. See comment
    in soft-pagination.twig
#}

    «
    ‹

    <select class="pagination-filter {{ handle }}">
        {% for option in options %}
        <option value="{{ option }}">{{ option }}</option>
        {% endfor %}
    </select>

     ›
     »


{{ 'ekyna_core.field.general'|trans }}

{{ 'ekyna_survey.question.label.plural'|trans }}

    {% form_theme form 'EkynaAdminBundle:Form:form_div_layout.html.twig' %}
    {{ bootstrap_set_style('horizontal') }}
    {{ form_errors(form) }}

	        {{ form_row(form.name) }}
	        {{ form_row(form.title) }}

	                {{ form_row(form.startDate, {'label_col': 4, 'widget_col': 8}) }}

	                {{ form_row(form.endDate, {'label_col': 4, 'widget_col': 8}) }}

            {{ form_row(form.description) }}

            {{ form_row(form.questions) }}

    {{ form_rest(form) }}

Fix form columns sizing (bootstrap)

{{ 'ekyna_core.field.general'|trans }}

{{ 'ekyna_survey.question.label.plural'|trans }}

    {% form_theme form 'EkynaAdminBundle:Form:form_div_layout.html.twig' %}
    {{ bootstrap_set_style('horizontal') }}
    {{ bootstrap_set_col_size('md') }}
    {{ form_errors(form) }}

	        {{ form_row(form.name) }}
	        {{ form_row(form.title) }}

	                {{ form_row(form.startDate, {'label_col': 4, 'widget_col': 8}) }}

	                {{ form_row(form.endDate, {'label_col': 4, 'widget_col': 8}) }}

            {{ form_row(form.description) }}

            {{ form_row(form.questions) }}

    {{ form_rest(form) }}


{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.shippingMethods) }}
            {{ form_row(form.paymentMethods) }}
            {{ form_row(form.defaultTaxZone) }}

Move also default tax calculation strategy to channel

{{ form_errors(form) }}

            {{ form_errors(form) }}

                {{ form_row(form.code) }}
                {{ form_row(form.name) }}

            {{ form_row(form.description) }}
            {{ form_row(form.enabled) }}

                    {{ form_label(form.hostname) }}

http://

                        {{ form_widget(form.hostname) }}

                    {{ form_errors(form.hostname) }}

                {{ form_row(form.color) }}
                {{ form_row(form.themeName) }}

            {{ form_row(form.locales) }}
            {{ form_row(form.currencies) }}
            {{ form_row(form.shippingMethods) }}
            {{ form_row(form.paymentMethods) }}
            {{ form_row(form.defaultTaxZone) }}
            {{ form_row(form.defaultTaxCalculationStrategy) }}


{% extends "SofaChampsPriceIsRightChallengeBundle::layout.html.twig" %}

{% block content %}

{{ game.name }}

It's more fun with friends! Invite people to play

                User
                Portfolio
                Score

            {% for portfolio in game.portfolios %}

                    {{ portfolio.user.username }}
                    {{ portfolio.id }}
                    {{ portfolio.score ?: '--' }}

            {% endfor %}

{% endblock %}

Fix the game view formatting

{% extends "SofaChampsPriceIsRightChallengeBundle::layout.html.twig" %}

{% block content %}

{{ game.name }}

It's more fun with friends! Invite people to play

                User
                Portfolio
                Score

            {% for portfolio in game.portfolios %}

                    {{ portfolio.user.username }}
                    {{ portfolio.id }}
                    {{ portfolio.score is not null ? portfolio.score : '--' }}

            {% endfor %}

{% endblock %}


{% extends 'ClasticNodeBundle:Backoffice/Node:list.html.twig' %}

{% block list_header %}

        Title
        Status

{% endblock %}

{% block list_body %}

            children

        {{ record.title }}

            online

{% endblock %}

Add list icon for children.

{% extends 'ClasticNodeBundle:Backoffice/Node:list.html.twig' %}

{% block list_header %}

        Title
        Status

{% endblock %}

{% block list_body %}

        {{ record.title }}

            online

{% endblock %}


{% set nav = [
    {
        "id": "contact",
        "name": "Contact",
        "url": "/contact"
    },
    {
        "id": "build",
        "name": "Blog",
        "url": "https://blog.srnd.org/"
    },
    {
        "id": "donate",
        "name": "Donate",
        "url": "/donate"
    },
    {
        "id": "press",
        "name": "Press Kit",
        "url": "/press"
    },
    {
        "id": "about",
        "name": "About",
        "url": "/about"
    }
] %}

StudentRND

                {% for nav_item in nav %}

                            {{ nav_item.name }}

                {% endfor %}

Remove InstantClick from donations page

{% set nav = [
    {
        "id": "contact",
        "name": "Contact",
        "url": "/contact"
    },
    {
        "id": "build",
        "name": "Blog",
        "url": "https://blog.srnd.org/"
    },
    {
        "id": "donate",
        "name": "Donate",
        "url": "/donate",
        "no_cache": true
    },
    {
        "id": "press",
        "name": "Press Kit",
        "url": "/press"
    },
    {
        "id": "about",
        "name": "About",
        "url": "/about"
    }
] %}

StudentRND

                {% for nav_item in nav %}

                            {{ nav_item.name }}

                {% endfor %}


<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
        <title>Latest commits in {{ repo }}:{{ branch }}</title>
        <description>RSS provided by GitList</description>
        <link>{{ path('homepage') }}</link>

        {% for commit in commits %}
        <item>
            <title>{{ commit.message }}</title>
            <description>{{ commit.author.name }} authored {{ commit.shortHash }} in {{ commit.date | date('d/m/Y \\a\\t H:i:s') }}</description>
            <link>{{ path('commit', {repo: repo, commit: commit.hash}) }}</link>
            <pubDate>{{ commit.date | date('r') }}</pubDate>
        </item>
        {% endfor %}
    </channel>
</rss>

Use absolute URLs in RSS feeds

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
        <title>Latest commits in {{ repo }}:{{ branch }}</title>
        <description>RSS provided by GitList</description>
        <link>{{ url('homepage') }}</link>

        {% for commit in commits %}
        <item>
            <title>{{ commit.message }}</title>
            <description>{{ commit.author.name }} authored {{ commit.shortHash }} in {{ commit.date | date('d/m/Y \\a\\t H:i:s') }}</description>
            <link>{{ url('commit', {repo: repo, commit: commit.hash}) }}</link>
            <pubDate>{{ commit.date | date('r') }}</pubDate>
        </item>
        {% endfor %}
    </channel>
</rss>


{% extends "GMailConfigureBundle::base.html.twig" %}

{% block body %}

You are not eligible for a Google@SAS account.

Our records show that you are not eligible for a Google@SAS account. At this time,
    only SAS students are eligible for Google@SAS accounts.

If you have received this message and you are in one of the groups mentioned
    above, please
    report the problem to us so we can resolve the problem.

Otherwise, please go to the SAS Computing Help pages for assistance.

{% endblock %}

Adjust ineligible error message to encourage students to wait

{% extends "GMailConfigureBundle::base.html.twig" %}

{% block body %}

You are not eligible for a Google@SAS account.

Our records show that you are not eligible for a Google@SAS account.  In order to setup a Google@SAS account, you need to be formally enrolled in an SAS academic program and have a valid PennKey.

Email eligibility typically becomes effective 2-3 days after the enrollment process is complete and 1-2 days after registering your PennKey.

You are probably receiving this message because your registration information simply hasn't made it to us yet.  You need to wait until your information has updated according to the schedule listed above.

Please visit https://www.sas.upenn.edu/computing/forms/regerror.html for additional information about how to address your questions about email eligibility.

{% endblock %}


{# @CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedForm.html.twig   #}
{% extends '@CeradTourns/Layout.html.twig' %}

{% block content %}

Reset Zayso Password

{% include '@CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedForm.html.twig' %}
{% include '@CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedHelp.html.twig' %}

{% if 1 %}

Show Email Message

Subject: {{ emailSubject }}

Body:    {{ emailBody | nl2br    }}

{% endif %}

{% endblock %}{# end content block #}

Hide password reset email info

{# @CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedForm.html.twig   #}
{% extends '@CeradTourns/Layout.html.twig' %}

{% block content %}

Reset Zayso Password

{% include '@CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedForm.html.twig' %}
{% include '@CeradTourns/AccountPassword/ResetRequested/AccountPasswordResetRequestedHelp.html.twig' %}

{% if 0 %}

Show Email Message

Subject: {{ emailSubject }}

Body:    {{ emailBody | nl2br    }}

{% endif %}

{% endblock %}{# end content block #}


{% if resource.video is defined and resource.video %}

        {% set videoImage = asset('frontend/img/general/video-pp--default.svg') %}
        {% if resource.thumbnail is not empty %}
            {% set videoImage = resource.thumbnail.url|imagine_filter('optim') %}
        {% endif %}

        {% set handler = mediamanager.getHandler(resource.video) %}
        {% set helper = handler.getFormHelper(resource.video) %}

        {% if resource.caption %}

{{ resource.caption }}

        {% endif %}

{% endif %}

Add compatibility for Vimeo and Dailymotion

{% if resource.video is defined and resource.video %}

        {% set videoImage = asset('frontend/img/general/video-pp--default.svg') %}
        {% if resource.thumbnail is not empty %}
            {% set videoImage = resource.thumbnail.url|imagine_filter('optim') %}
        {% endif %}

        {% set handler = mediamanager.getHandler(resource.video) %}
        {% set helper = handler.getFormHelper(resource.video) %}

        {% if helper.type == 'youtube' %}
            {% set videoEmbedUrl = "//www.youtube.com/embed/" ~ helper.code %}
        {% elseif helper.type == 'vimeo' %}
            {% set videoEmbedUrl = "//player.vimeo.com/video/" ~ helper.code %}
        {% elseif helper.type == 'dailymotion' %}
            {% set videoEmbedUrl = "//www.dailymotion.com/embed/video/" ~ helper.code %}
        {% endif %}

        {% if resource.caption %}

{{ resource.caption }}

        {% endif %}

{% endif %}


{{ data('editcontent.delete', __('general.phrase.confirm-remove-record')) }}

    <button type="button" class="btn btn-silent-danger" id="sidebar_delete">
         {{ __('contenttypes.generic.delete', {'%contenttype%': context.contenttype.singular_slug}) }}
    </button>

Change slug to name for display in "Delete"-button

{{ data('editcontent.delete', __('general.phrase.confirm-remove-record')) }}

    <button type="button" class="btn btn-silent-danger" id="sidebar_delete">
         {{ __('contenttypes.generic.delete', {'%contenttype%': context.contenttype.singular_name}) }}
    </button>


{# @var recent_posts \App\Models\Post[] #}
{# @var wrap string #}
{% if recent_posts is not empty %}
{% if wrap is not defined or wrap %}
<ul>
{% endif %}
{% for post in recent_posts %}
	{{ post.li(false, false, true) }}
{% endfor %}
{% if wrap is not defined or wrap %}
</ul>
{% endif %}
{% endif %}

Fix recent posts on admin page having edit buttons

{# @var recent_posts \App\Models\Post[] #}
{# @var wrap string #}
{% if recent_posts is not empty %}
{% if wrap is not defined or wrap %}
<ul>
{% endif %}
{% for post in recent_posts %}
	{{ post.li(true, false, true) }}
{% endfor %}
{% if wrap is not defined or wrap %}
</ul>
{% endif %}
{% endif %}


{% set href = path('relatedto', {'contenttypeslug': context.contenttype.slug, 'id': context.id}) %}
{{ href }}

        {% for slug, relation in context.relations %}

                {{ relation.name }}

        {% endfor %}

Complete rewrite of the relatedto page - forgot one

{% set href = path('relatedto', {'contenttypeslug': context.contenttype.slug, 'id': context.id}) %}

        {% for slug, relation in context.relations %}

                {{ relation.name }}

        {% endfor %}


{% extends 'PackagistWebBundle::layout.html.twig' %}

{% block content %}

    {% for type, flashMessages in app.session.flashbag.all() %}
        {% for flashMessage in flashMessages %}

                {{ flashMessage|trans({}, 'FOSUserBundle') }}

        {% endfor %}
    {% endfor %}

        {% block fos_user_content %}{% endblock %}

{% endblock %}

Make flash messages not quite as ugly


<div
    {% if id %}
        id="{{ id }}"
    {% endif %}
    {% if class %}
        class="{{ class }}"
    {% endif %}>
    <img src="{{ get_media_format_url(picture, imageFormat) }}" alt="{{ get_media_alt(picture) }}"/>
</div>


        {% for id, title in elements|toHeadersArray(options) %}
        {{ title }}
        {% endfor %}

        {% for element in elements %}
            {{ bootstrap_datatable_row(element, elements|toHeadersArray(options), options) }}
        {% endfor %}

Remove TABLE tag from datatable template


<!DOCTYPE html>

        <meta charset="UTF-8" />

            {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
                {{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |

                    {{ 'layout.logout'|trans({}, 'FOSUserBundle') }}

            {% else %}
                {{ 'layout.login'|trans({}, 'FOSUserBundle') }}
            {% endif %}

        {% if app.request.hasPreviousSession %}
            {% for type, messages in app.session.flashbag.all() %}
                {% for message in messages %}

                        {{ message }}

                {% endfor %}
            {% endfor %}
        {% endif %}

            {% block fos_user_content %}
            {% endblock fos_user_content %}

Check for the presence of the session in the template

<!DOCTYPE html>

        <meta charset="UTF-8" />

            {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
                {{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |

                    {{ 'layout.logout'|trans({}, 'FOSUserBundle') }}

            {% else %}
                {{ 'layout.login'|trans({}, 'FOSUserBundle') }}
            {% endif %}

        {% if app.request.hasSession and app.request.hasPreviousSession %}
            {% for type, messages in app.session.flashbag.all() %}
                {% for message in messages %}

                        {{ message }}

                {% endfor %}
            {% endfor %}
        {% endif %}

            {% block fos_user_content %}
            {% endblock fos_user_content %}


{% extends 'admin/layouts/default_sp.twig' %}
{% block title %}{{ _('List of tags') }}{% endblock %}

{% block content %}

{{ _('List of tags') }}

        <form method="GET" id="sys-search-form">
            <input type="hidden" name="mode" value="Tags"/>
            <input type="hidden" name="process" value="index"/>
            {{ input(req, 'limit', 'hidden', {'default': tag_default_limit}) }}
            {{ input(req, 'page', 'hidden', {'default': 0}) }}
            {{ input(req, 'order', 'hidden', {'default': 'count_desc'}) }}

{{ input(req, 'name', 'text', {'placeholder': _('Tag name')}) }}

                    <button type="submit" class="lineform_btn touch">{{ _('Search') }}</button>

        </form>

        {% for tag in tags %}

{{ tag.name }}

{{ tag.count }}

        {% endfor %}

    {% include('admin/common/paging_sp.twig') %}

{% endblock %}


{% if block.media|default %}
<img src="{{ block.media.reference|default('fallback.jpeg')|imagine_filter('venue') }}">
{% endif %}

Fix Image Block imagine filter

{% if block.media|default %}
    <img src="{{ block.media.reference|default('fallback.jpeg')|imagine_filter('medialibrary') }}">
{% endif %}


{#

This file is part of the Sonata package.

(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

#}

{#
    Default product template file, you can
      => customize the global template : Product:Product:view.twig
      => rewrite your own template
#}

{% extends 'SonataProductBundle:Product:form_basket_element.html.twig' %}

{% block product_description %}
    {{ basketElement.name }}

    {{ basketElement.product.description|truncate(200, true, '...')|raw }}
{% endblock %}

{#
{% block product_unit_price %}
    {{ basketElement.getUnitPrice(false)|number_format_currency(basket.currency, {}, {}, basket.locale) }}
{% endblock %}

{% block product_quantity %}
    {{ form_errors(formView.quantity) }}
    {{ form_widget(formView.quantity) }}
{% endblock %}

{% block product_total_excl %}
    {{ basketElement.getTotal(false)|number_format_currency(basket.currency, {}, {}, basket.locale) }}
{% endblock %}

{% block product_total_inc %}
    {{ basketElement.getTotal(true)|number_format_currency(basket.currency, {}, {}, basket.locale) }}
{% endblock %}

{% block product_delete %}
    {{ form_widget(formView.delete) }}
{% endblock %}
#}

Fix Travel form basket element template

{#

This file is part of the Sonata package.

(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

#}

{#
    Default product template file, you can
      => customize the global template : Product:Product:view.twig
      => rewrite your own template
#}

{% extends 'SonataProductBundle:Product:form_basket_element.html.twig' %}

{% block product_description %}
    {{ basketElement.product.rawShortDescription|raw }}
{% endblock %}


Date, Type, Amount, Payment Method, Details, Notes
{% for entity in entities %}
"{{ entity.trandate|date('m-d-Y') }}","{% if entity.trantype == 'MEMBERSHIP_NEW' %}New Membership Fee{% elseif entity.trantype == 'MEMBERSHIP_RENEW' %}Renewal Fee{% elseif entity.trantype == 'LUNCHEON_FEE' %}Luncheon Fee{% elseif entity.trantype == 'PARKING_PASS' %}Parking Pass{% else %}{{ entity.trantype }}{% endif %}", "${{ entity.amount + entity.servicechg }}","{% if entity.pmtmethod == "CREDIT_CARD" %}Credit Card / PayPal{% elseif entity.pmtmethod == "CHECK" %}Check{% else %}Other{% endif %}", "{% if show_luncheons is defined and show_luncheons %}{{ entity.luncheon }}{% endif %}"
{% endfor %}

Fix escaping and quoting issues in transaction CSV export

{% autoescape false %}
Date, Type, Amount, Payment Method, Details, Notes
{% for entity in entities %}
"{{ entity.trandate|date('m-d-Y') }}","{% if entity.trantype == 'MEMBERSHIP_NEW' %}New Membership Fee{% elseif entity.trantype == 'MEMBERSHIP_RENEW' %}Renewal Fee{% elseif entity.trantype == 'LUNCHEON_FEE' %}Luncheon Fee{% elseif entity.trantype == 'PARKING_PASS' %}Parking Pass{% else %}{{ entity.trantype }}{% endif %}","${{ entity.amount + entity.servicechg }}","{% if entity.pmtmethod == "CREDIT_CARD" %}Credit Card / PayPal{% elseif entity.pmtmethod == "CHECK" %}Check{% else %}Other{% endif %}","{% if show_luncheons is defined and show_luncheons %}{{ entity.luncheon }}{% endif %}"
{% endfor %}
{% endautoescape %}


{#

This file is part of the Sonata package.

(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

#}
{% extends 'SonataPageBundle::layout.html.twig' %}

{% block page_content %}
    {% if page is defined %}

            {% if page.name != 'global'%}
                {{ sonata_page_render_container('left_col', 'global') }}
            {% endif %}
            {{ sonata_page_render_container('left_col', page) }}

            {% if page.name != 'global'%}
                {{ sonata_page_render_container('right_col', 'global') }}
            {% endif %}
            {{ sonata_page_render_container('right_col', page) }}

    {% endif %}

    {{ parent() }}

{% endblock %}

Fix old bootstrap2 classes usage


{% extends 'base.html.twig' %}

{% block body %}
    {% if not name %}

Congratulations!

    {% endif %}

    {% if name %}

Congratulations, {{ name }}!

    {% endif %}

You got {{ correct }} out of {{ correct + incorrect }} exercises correct.

    {% if incorrect > 0 %}

Have a close look at the exercises you did not get right this time. I am sure you will do
            better next time.

    {% endif %}

    {% for exercise in exercises %}

{{ exercise | raw }}

    {% endfor %}
{% endblock %}

Hide given answers if they are identical with the correct answer.

{% extends 'base.html.twig' %}

{% block body %}

        {% if not name %}

Congratulations!

        {% endif %}

        {% if name %}

Congratulations, {{ name }}!

        {% endif %}

You got {{ correct }} out of {{ correct + incorrect }} exercises correct.

        {% if incorrect > 0 %}

Have a close look at the exercises you did not get right this time. I am sure you will do
                better next time.

        {% endif %}

        {% for exercise in exercises %}

{{ exercise | raw }}

        {% endfor %}

{% endblock %}

{% block scripts %}
    {{ parent() }}

{% endblock %}


{% set form_id = form_id ? form_id : 'blueprints' %}

{% set multipart = '' %}
{% for field in blueprints.fields %}
    {% if field.type == 'file' %}
        {% set multipart = ' enctype="multipart/form-data"' %}
    {% endif %}
{% endfor %}

<form id="{{ form_id }}" method="post" data-grav-form="{{ form_id }}" data-grav-keepalive="true"{{ multipart }}>
    {% for field in blueprints.fields %}
        {% if field.type %}
            {% set value = data.value(field.name) %}

            <div class="block block-{{ field.type }}">
                {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}
            </div>
        {% endif %}
    {% endfor %}

    {% if data.extra %}
    {% for name, value in data.extra %}
        {% set field = {name: '_json.' ~ name} %}
        {% set value = value|json_encode|e %}
        {% include 'forms/fields/hidden/hidden.html.twig' %}
    {% endfor %}
    {% endif %}

    {{ nonce_field('admin-form', 'admin-nonce') }}
</form>

Fix for multiple nonces/_json/task fields etc.

{% set form_id = form_id ? form_id : 'blueprints' %}

{% set multipart = '' %}
{% for field in blueprints.fields %}
    {% if field.type == 'file' %}
        {% set multipart = ' enctype="multipart/form-data"' %}
    {% endif %}
{% endfor %}

<form id="{{ form_id }}" method="post" data-grav-form="{{ form_id }}" data-grav-keepalive="true"{{ multipart }}>
    {% for field in blueprints.fields %}
        {% if field.type %}
            {% set value = data.value(field.name) %}

            <div class="block block-{{ field.type }}">
                {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %}
            </div>
        {% endif %}
    {% endfor %}

    {% if data.extra %}
    {% for name, value in data.extra %}
        {% if name not in ['_json','task','admin-nonce'] %}
            {% set field = {name: '_json.' ~ name} %}
            {% set value = value|json_encode|e %}
            {% include 'forms/fields/hidden/hidden.html.twig' %}
        {% endif %}
    {% endfor %}
    {% endif %}

    {{ nonce_field('admin-form', 'admin-nonce') }}
</form>


{% extends "ProjetWebHomeBundle::layout.html.twig" %}

{% block title %}
    Fiche d'un musicien - {{ parent() }}
{% endblock %}

{% block classiqueweb_body %}
    Voici le musicien {{ musicien.codeMusicien }}

{% endblock %}

Index function good, test view

{% extends "ProjetWebClassiqueBundle::layout.html.twig" %}

{% block title %}
    Fiche d'un musicien - {{ parent() }}
{% endblock %}

{% block classiqueweb_body %}
    Voici le musicien de code {{ musicien.codeMusicien }}

    de nom {{ musicien.nomMusicien }}

    de prénom {{ musicien.prénomMusicien }}

{% endblock %}


{% form_theme form form.getOption('theme') %}
<form action="{% path 'doctrine_user_user_update' %}" {{ form|render_enctype }} method="POST" class="doctrine_user_user_edit">
    {{ form|render }}
    <div>
        <input type="submit" value="{% trans 'Update user' from 'DoctrineUserBundle' %}" />
    </div>
</form>

Add missing username parameter in the user edit twig view

{% form_theme form form.getOption('theme') %}
<form action="{% path 'doctrine_user_user_update' with ['username': username] %}" {{ form|render_enctype }} method="POST" class="doctrine_user_user_edit">
    {{ form|render }}
    <div>
        <input type="submit" value="{% trans 'Update user' from 'DoctrineUserBundle' %}" />
    </div>
</form>


    {{ form_errors(form) }}
    {{ form_row(form.code) }}

{{ 'sylius.ui.expiration_and_usage_limits'|trans }}

        {{ form_row(form.expiresAt) }}
        {{ form_row(form.usageLimit) }}
        {{ form_row(form.perCustomerUsageLimit) }}

Add reusable from cancelled orders flag to coupon entity

    {{ form_errors(form) }}
    {{ form_row(form.code) }}

{{ 'sylius.ui.expiration_and_usage_limits'|trans }}

        {{ form_row(form.usageLimit) }}
        {{ form_row(form.perCustomerUsageLimit) }}

        {{ form_row(form.reusableFromCancelledOrders) }}
        {{ form_row(form.expiresAt) }}


{% if name is defined and name %}
	<input type="hidden" name="{{ name }}" value="">
{% endif -%}

		{% for video in videos %}

				<input
					name="{{ name }}[]"
					type="hidden"
					value="{{ video.hashedId }}"
				>

					{{ video.name }}

		{% endfor %}

= settings.max %} disabled{% endif %}"
		{% if settings.max == '1' and videos|length %}
			style="display: none"
		{% endif %}
	>
		{{ 'Add a video'|t }}

{% set jsSettings = {
	name: name|namespaceInputName,
	id: id|namespaceInputId,
	projectIds: settings.projects|join(','),
	limit: settings.max
} %}

{% includejs %}
	new Wistia.VideoSelectInput({{ jsSettings|json_encode|raw }});
{% endincludejs %}

Check for existence of videos

{% if videos %}
	<input type="hidden" name="{{ name }}">

			{% for video in videos %}

					<input
						name="{{ name }}[]"
						type="hidden"
						value="{{ video.hashedId }}"
					>

						{{ video.name }}

			{% endfor %}

= settings.max %} disabled{% endif %}"
			{% if settings.max == '1' and videos|length %}
				style="display: none"
			{% endif %}
		>
			{{ 'Add a video'|t }}

	{% set jsSettings = {
		name: name|namespaceInputName,
		id: id|namespaceInputId,
		projectIds: settings.projects|join(','),
		limit: settings.max
	} %}

	{% includejs %}
		new Wistia.VideoSelectInput({{ jsSettings|json_encode|raw }});
	{% endincludejs %}
{% else %}
	{{ 'No videos available. Upload at least one video to your selected project(s).'|t }}
{% endif %}


 0 %} error{% endif %} ui loadable form">
    {{ form_label(slugField) }}
    {% if resource.slug == null %}
        {{ form_widget(slugField, {'attr': {'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}
    {% else %}

        {{ form_widget(slugField, {'attr': {'readonly': 'readonly', 'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}

    {% endif %}
    {{ form_errors(slugField) }}

Fix product slug field in Admin

 0 %} error{% endif %} ui loadable form">
    {{ form_label(slugField) }}
    {% if slugField.vars.value == null %}
        {{ form_widget(slugField, {'attr': {'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}
    {% else %}

        {{ form_widget(slugField, {'attr': {'readonly': 'readonly', 'data-url': path('sylius_admin_ajax_generate_product_slug')}}) }}

    {% endif %}
    {{ form_errors(slugField) }}


        {% for title, url in knp_menu_get('main').currentItem.breadcrumbsArray %}

{{ title }}

        {% endfor %}

Main navigation

{{ knp_menu_render('main') }}

Handle case where main menu does not have a current item.

        {% if knp_menu_get('main').currentItem %}
        {% for title, url in knp_menu_get('main').currentItem.breadcrumbsArray %}

{{ title }}

        {% endfor %}
        {% endif %}

Main navigation

{{ knp_menu_render('main') }}