<feed xmlns="http://www.w3.org/2005/Atom" xml:base="{{ site_url }}" xml:lang="en">
	<generator uri="http://zotonic.com/">Zotonic - Atom Feed Module</generator>
	<updated>{{ updated|date:"c" }}</updated>
	<logo />
	<link rel="self" type="application/atom+xml" href="{{ site_url }}{% url atom_feed cat=cat %}" />
	<id>{{ site_url }}{% url atom_feed cat=cat %}</id>
	<title>{{ m.rsc.home.title|escapexml }} - {{ m.rsc[cat].title|escapexml }}</title>

	{% for id in m.search[{latest cat=cat}] %}
		{% include "_atom_entry.tpl" id=id %}
	{% endfor %}

</feed>

Use catinclude for the atom entry.

<feed xmlns="http://www.w3.org/2005/Atom" xml:base="{{ site_url }}" xml:lang="en">
	<generator uri="http://zotonic.com/">Zotonic - Atom Feed Module</generator>
	<updated>{{ updated|date:"c" }}</updated>
	<logo />
	<link rel="self" type="application/atom+xml" href="{{ site_url }}{% url atom_feed cat=cat %}" />
	<id>{{ site_url }}{% url atom_feed cat=cat %}</id>
	<title>{{ m.rsc.home.title|escapexml }} - {{ m.rsc[cat].title|escapexml }}</title>

	{% for id in m.search[{latest cat=cat}] %}
		{% catinclude "_atom_entry.tpl" id %}
	{% endfor %}

</feed>


            {$c->__('oob.about')}

            {$url}

Fix a template issue in OOB registration


Basic

{button_link label="Button"}
{button_link label="With Tooltip" title="With Tooltip"}
{button_link icon="thumbs-up"}
{button_link icon="trophy" label="With Icon"}

Large

{button_link class="button-large" label="Button"}
{button_link icon="gift" class="button-large" label="With Icon"}

Themes

{button_link theme='default' label="Default"}
{button_link theme='highlight' label="Highlight"}
{button_link theme='success' label="Success"}
{button_link theme='danger' label="Danger"}

Confirmation

{button_link class="confirmAction" label="With Confirmation" data=['click-confirmed' => true]}
{button_link icon='delete' iconConfirm='delete-confirm' class="confirmAction warning" label="With Warning" data=['click-confirmed' => true]}

Add example button using html tags in label

Basic

{button_link label="Button"}
{button_link label="Button with html tags" isHtmlLabel=true}
{button_link label="With Tooltip" title="With Tooltip"}
{button_link icon="thumbs-up"}
{button_link icon="trophy" label="With Icon"}

Large

{button_link class="button-large" label="Button"}
{button_link icon="gift" class="button-large" label="With Icon"}

Themes

{button_link theme='default' label="Default"}
{button_link theme='highlight' label="Highlight"}
{button_link theme='success' label="Success"}
{button_link theme='danger' label="Danger"}

Confirmation

{button_link class="confirmAction" label="With Confirmation" data=['click-confirmed' => true]}
{button_link icon='delete' iconConfirm='delete-confirm' class="confirmAction warning" label="With Warning" data=['click-confirmed' => true]}


{% extends "collection/list/list-item.tpl" %}

{% block link %}{{ url }}{% endblock %}

{% block item_image %}
    {% include "list/list-item-image.tpl" url=dbpedia_rdf.thumbnail|default:wikidata_rdf.thumbnail %}
{% endblock %}

{% block item_title %}

{{ dbpedia_rdf.title|truncate:60 }}

{% endblock %}

{% block item_summary %}
    {{ dbpedia_rdf.abstract|default:wikidata_rdf.abstract|truncate:150 }}
{% endblock %}

{% block read_more %}
    {% include "collection/readmore.tpl" source="Wikipedia" class="list-item_readmore"%}
{% endblock %}

Transform DBpedia keyword thumbnail URLS to HTTPS

{% extends "collection/list/list-item.tpl" %}

{% block link %}{{ url }}{% endblock %}

{% block item_image %}
    {% include "list/list-item-image.tpl" url=dbpedia_rdf.thumbnail|default:wikidata_rdf.thumbnail|https %}
{% endblock %}

{% block item_title %}

{{ dbpedia_rdf.title|truncate:60 }}

{% endblock %}

{% block item_summary %}
    {{ dbpedia_rdf.abstract|default:wikidata_rdf.abstract|truncate:150 }}
{% endblock %}

{% block read_more %}
    {% include "collection/readmore.tpl" source="Wikipedia" class="list-item_readmore"%}
{% endblock %}


			{$labels.name}
			{$labels.type}
			{$labels.value}
			{$labels.next_run}
			{$labels.last_run}
			{$labels.privilege}
			{$labels.links}

{assign var="rowClass" value="odd-row"}
{if ! isset($var)}

{else}
{foreach from=$rows key=index item=record}

{if $record.id eq ''}
			{$record.name}
{else}
			{$record.name}
			{$record.type_translated}
			{$record.value_translated}
			{$record.next_run}
			{$record.last_run}
			{$record.privilege}
			{$record.links}
{/if}

	{if $rowClass eq "odd-row"}
		{assign var="rowClass" value="even-row"}
	{else}
		{assign var="rowClass" value="odd-row"}
	{/if}
{/foreach}

Fix for no rosters in view

			{$labels.name}
			{$labels.type}
			{$labels.value}
			{$labels.next_run}
			{$labels.last_run}
			{$labels.privilege}
			{$labels.links}

{assign var="rowClass" value="odd-row"}
{foreach from=$rows key=index item=record}

{if $record.id eq ''}
			{$record.name}
{else}
			{$record.name}
			{$record.type_translated}
			{$record.value_translated}
			{$record.next_run}
			{$record.last_run}
			{$record.privilege}
			{$record.links}
{/if}

	{if $rowClass eq "odd-row"}
		{assign var="rowClass" value="even-row"}
	{else}
		{assign var="rowClass" value="odd-row"}
	{/if}
{/foreach}


{if ($logged_in)}

getURL()}">{$u_user->name}

{/if}

{if ($logged_in)}

Invites disabled

    {if $u_user->userlevel > 0}

Admin panel

    {/if}
{else}

Login

Request invitation

{/if}

Explore:

Artists

Change link from relative to absolute


{extends "designs/site.tpl"}

{block title}{_ "Registration complete"} — {$dwoo.parent}{/block}

{block "content"}
    {$User = $data}

{_ "Registration complete"}

    {capture assign=personLink}getUrl()|escape}">{$User->Username|escape}{/capture}

{"Your username for %s is: %s"|_|sprintf:Site::getConfig('primary_hostname'):$personLink}

        {_ "Things to do next…"}

            {if $.request.return}

{"Continue back to %s"|_|sprintf:$.request.return|escape}

            {/if}

{_ "Fill out your profile and upload a photo"}

{/block}

Use Laddr::$siteName on registration confirmation

{extends "designs/site.tpl"}

{block title}{_ "Registration complete"} — {$dwoo.parent}{/block}

{block "content"}
    {$User = $data}

{_ "Registration complete"}

    {capture assign=personLink}getUrl()|escape}">{$User->Username|escape}{/capture}

{"Your username for %s is: %s"|_|sprintf:Laddr::$siteName:$personLink}

        {_ "Things to do next…"}

            {if $.request.return}

{"Continue back to %s"|_|sprintf:$.request.return|escape}

            {/if}

{_ "Fill out your profile and upload a photo"}

{/block}


{if $prefs.javascript_enabled !== 'y'}

			{tr}Back{/tr}

		<button type='submit' form="confirm-action" class="btn {if !empty($confirmButtonClass)}{$confirmButtonClass}{else}btn-primary{/if}">
			{if !empty($confirmButton)}
				{$confirmButton}
			{else}
				{tr}OK{/tr}
			{/if}
		</button>

{*If js is enabled, the layouts/internal/modal.tpl will be used which already has buttons*}
{else}
	{jq}
	$('form.confirm-action').submit(function () {
		confirmAction(this);
		return false;
	});
	{/jq}
{/if}

Remove jq not needed due to r56027

{if $prefs.javascript_enabled !== 'y'}

			{tr}Back{/tr}

		<button type='submit' form="confirm-action" class="btn {if !empty($confirmButtonClass)}{$confirmButtonClass}{else}btn-primary{/if}">
			{if !empty($confirmButton)}
				{$confirmButton}
			{else}
				{tr}OK{/tr}
			{/if}
		</button>

{/if}
{* If js is enabled, the layouts/internal/modal.tpl will be used which already has buttons *}


{{#preview}}

	<button class="toggle-button" aria-label="Toggle prefetched media"></button>

	{{#equal type "image"}}

	{{else}}
		{{#if thumb}}

		{{/if}}

{{head}}

				{{body}}

	{{/equal}}

{{/preview}}

Add title attributes to previews


{capture assign='sidebarLeft'}

{lang}wcf.user.security.multifactor.methods{/lang}

					{foreach from=$setups item='_setup'}

getId() == $_setup->getId()} class="active"{/if}>
							{lang}wcf.user.security.multifactor.{$_setup->getObjectType()->objectType}{/lang}

					{/foreach}

{/capture}

{include file='header' __disableAds=true __sidebarLeftHasMenu=true}

{$user->username}

{@$form->getHtml()}

{include file='footer' __disableAds=true}

Disable the login dropdown in multifactorAuthentcation.tpl

{capture assign='sidebarLeft'}

{lang}wcf.user.security.multifactor.methods{/lang}

					{foreach from=$setups item='_setup'}

getId() == $_setup->getId()} class="active"{/if}>
							{lang}wcf.user.security.multifactor.{$_setup->getObjectType()->objectType}{/lang}

					{/foreach}

{/capture}

{include file='header' __disableAds=true __disableLoginLink=true __sidebarLeftHasMenu=true}

{$user->username}

{@$form->getHtml()}

{include file='footer' __disableAds=true}


{
  "execPath": "{{ cxx_path }}",
  "gccDefaultCFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
  "gccDefaultCppFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
  "gccErrorLimit": 15,
  "gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}",
  "gccSuppressWarnings": false
}

Fix broken CXX path on Windows

{
  "execPath": "{{ cxx_path.replace("\\", "/") }}",
  "gccDefaultCFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
  "gccDefaultCppFlags": "-Wall -Wno-cpp -fsyntax-only -D{{ ' -D'.join(defines) }}",
  "gccErrorLimit": 15,
  "gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}",
  "gccSuppressWarnings": false
}


    {{VariantsPublic}}:

    <select id="loaddeleteview" name="loaddeleteview" onChange="this.form.submit()">
        <option value="">--- {{Select}} ---</option>

            <option value="{NAME}" selected="selected">
                {NAME}
            </option>

    </select>
    <input type="hidden" name="load" value="{{Load}}" />

        <input type="submit" name="load" value="{{Load}}" style="margin-left:.5em" />

Adjust layout for not logged in user

    {{VariantsPublic}}:

    <select id="loaddeleteview" name="loaddeleteview" onChange="if (this.value) this.form.submit()">
        <option value="">--- {{Select}} ---</option>

            <option value="{NAME}" selected="selected">
                {NAME}
            </option>

    </select>
    <input type="hidden" name="load" value="{{Load}}" />

        <input type="submit" name="load" value="{{Load}}" style="margin-left:.5em" />


{foreach from=$sections key=sk item=s}

{$s.header}

		{foreach key=key item=button from=$s.buttons}
			{$__link.sections.$sk.buttons.$key.link.open}

					{if isset($button.icon)}

					{/if}

						{$__link.sections.$sk.buttons.$key.link.text}

			{$__link.sections.$sk.buttons.$key.link.close}
		{/foreach}

{/foreach}

Add bootstrap styles to Admin Panel

{foreach from=$sections key=sk item=s}

{$s.header}

			{foreach key=key item=button from=$s.buttons}
				{$__link.sections.$sk.buttons.$key.link.open}
				<button class="btn btn-default">
					{if isset($button.icon)}

					{/if}

						{$__link.sections.$sk.buttons.$key.link.text}

				</button>
				{$__link.sections.$sk.buttons.$key.link.close}
			{/foreach}

{/foreach}


{include file="inc/header.tpl"}

{$LANG.finish}

{$LANG.looking_hosting}

{$LANG.go_your_site}   |   {$LANG.go_your_admin_panel}

{$LANG.remove_install_folder}

<form action="{$smarty.const.PH7_URL_SLUG_INSTALL}finish" method="post">

<button type="submit" name="confirm_remove_install" value="1" onclick="return confirm('{$LANG.confirm_remove_install_folder_auto}')">{$LANG.remove_install_folder_auto}</button>

</form>

{include file="inc/footer.tpl"}

Add button class to better see that is a button

{include file="inc/header.tpl"}

{$LANG.finish}

{$LANG.looking_hosting}

{$LANG.go_your_site}   |   {$LANG.go_your_admin_panel}

{$LANG.remove_install_folder}

<form action="{$smarty.const.PH7_URL_SLUG_INSTALL}finish" method="post">

<button class="button" type="submit" name="confirm_remove_install" value="1" onclick="return confirm('{$LANG.confirm_remove_install_folder_auto}')">{$LANG.remove_install_folder_auto}</button>

</form>

{include file="inc/footer.tpl"}


<form action="{$SECUREURL}/cart/process/{$token}/" method="post">
  <input type="hidden" name="handler" value="test" />

Test payment processor

The test processor allows you to test your payment process without using real transactions. It works in the same way as the other payment processor plugins, but doesn't contact any external provider to authorize a payment. Make sure this plugin is uninstalled before going live. Use the options below to test the accepted / declined functionality of the site.

Payment outcome

    <input type="radio" name="outcome" value="accepted" checked="checked" /> Accepted
    <input type="radio" name="outcome" value="declined" /> Declined

    <input type="submit" name="submit" value="Process" />

</form>

Move the process button inside the box div, where it logically should be.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width" />
        <title>{$title}</title>
        <link rel="stylesheet" href="static/css/stylesheet.css">

        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">

                    {$title}

                    {if $links}

Gehe:

                    {/if}
                    {foreach $links as $link}

                                {$link['label']}

                    {/foreach}

Change source of jQuery to jQuery URLs


{$NABU_LICENSE_TITLE}{if $NABU_OWNER!==$NABU_LICENSED} to {if $NABU_LICENSEE_TARGET !== ''}{$NABU_LICENSED}{else}{$NABU_LICENSED}{/if}{/if}

© 2014-{'Y'|date} {$NABU_OWNER}

Change nabu-3 owner and Copyright dates

{$NABU_LICENSE_TITLE}{if $NABU_OWNER!==$NABU_LICENSED} to {if $NABU_LICENSEE_TARGET !== ''}{$NABU_LICENSED}{else}{$NABU_LICENSED}{/if}{/if}

© 2009-{'Y'|date} {$NABU_OWNER}


		{{tz time}}

	[{{command}}]

		{{#each params}}
			{{this}}
		{{/each}}

Fix missing attributes on unhandled messages


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

    {img path="logo.png" title=$siteName height="50"}

      {translate 'Oi!'}

      {$body}

      {translate 'Have fun'},

      {$siteName}

Adjust mail template and styles


How to clear pH7CMS's caches?

For optimization reasons, pH7CMS software stores various different types of data for a limited time in different folders located in ~/YOUR-PROTECTED-FOLDER/data/cache/*

You can clear the different caches in your Admin Panel, -> Tool -> Caches -> Caches Manager

Clear the caches in Admin Panel -> Tool -> Caches -> Caches Manager

Add blank line in the end of file


{include file="inc/header.tpl"}

{$LANG.license}

{$LANG.license_desc}

    {$LANG.need_frame}

    <input type="checkbox" id="agree" onclick="checkLicenseStatus()"/> {$LANG.agree_license}

    <button type="button" onclick="window.location='{$smarty.const.PH7_URL_SLUG_INSTALL}config_system'"
        id="license-agreed" disabled="disabled" class="btn btn-primary btn-lg">{$LANG.next}</button>

{literal}

{/literal}

{include file="inc/footer.tpl"}

Update to correct action name in URL

{include file="inc/header.tpl"}

{$LANG.license}

{$LANG.license_desc}

    {$LANG.need_frame}

    <input type="checkbox" id="agree" onclick="checkLicenseStatus()"/> {$LANG.agree_license}

    <button type="button" onclick="window.location='{$smarty.const.PH7_URL_SLUG_INSTALL}config_path'"
        id="license-agreed" disabled="disabled" class="btn btn-primary btn-lg">{$LANG.next}</button>

{literal}

{/literal}

{include file="inc/footer.tpl"}


{{ template "includes/header" }}

Welcome, {{.User}}! (sign out)

<form method="post" action="/post/new" class="pure-form pure-form-stacked">
  <input type="text" name="title" placeholder="Title"  class="pure-input-1" />

  <textarea name="text" class="pure-input-1" style="min-height: 200px;"></textarea>

  <input type="hidden" value="{{.Xsrf}}" name="xsrf" />

      <input type="submit" class="pure-button pure-button-primary" />

        <input id="option-one" type="checkbox" name="private">
        Private?

</form>

  {{ range $link := .Links }}
    {{ with $link }}

Add — {{.Title}}

    {{end}}
  {{ end }}

{{ template "includes/footer" }}

Add .adder to plus button

{{ template "includes/header" }}

Welcome, {{.User}}! (sign out)

<form method="post" action="/post/new" class="pure-form pure-form-stacked">
  <input type="text" name="title" placeholder="Title"  class="pure-input-1" />

  <textarea name="text" class="pure-input-1" style="min-height: 200px;"></textarea>

  <input type="hidden" value="{{.Xsrf}}" name="xsrf" />

      <input type="submit" class="pure-button pure-button-primary" />

        <input id="option-one" type="checkbox" name="private">
        Private?

</form>

  {{ range $link := .Links }}
    {{ with $link }}

+ – {{.Title}}

    {{end}}
  {{ end }}

{{ template "includes/footer" }}


<!doctype html>

	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description" content="InTeXration">
	<meta name="author" content="InTeXration">

	<title>{{repo}} - {{name}}</title>

	<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
    <link rel="stylesheet" href="{{base_url}}css/style.css">

    %include navigation base_url=base_url

Errors

                % for line in errors:
                {{line}}

                % end

Warnings

                % for line in warnings:
                {{line}}

                % end

Log

                % for line in all:
                {{line}}

                % end

    %include footer

Hide divs if no errors or warnigns are present.

<!doctype html>

	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description" content="InTeXration">
	<meta name="author" content="InTeXration">

	<title>{{repo}} - {{name}}</title>

	<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
    <link rel="stylesheet" href="{{base_url}}css/style.css">

    %include navigation base_url=base_url

        % if len(errors) > 0

Errors

                % for line in errors:
                {{line}}

                % end

        % end
        % if len(warnings) > 0

Warnings

                % for line in warnings:
                {{line}}

                % end

        % end

Log

                % for line in all:
                {{line}}

                % end

    %include footer


zend_extension=xdebug.so

xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.idekey={{ xdebug.idekey }}

Change xDebug port to avoid collision woth FPM

zend_extension=xdebug.so

xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.idekey={{ xdebug.idekey }}
xdebug.remote_port = 9090


    Welcome to Influence Networks,

    Please, to confirm your user registration, you have to visit the following link :

    {$smarty.const.APP_URL}?action=confirmAccount&user_id={$user.id}&code={$user.code}

    If you can't click on the link, please copy and paste it on your browser's address bar.

    Regards,

    The Influence Networks Team.

Add inf nets logo to the email.


<li class="Notifier-item <%- (status === 'loading') ? 'is-working' : ''%>">

  <% if (status === 'loading') { %>

  <% } %>

  <% if (status === 'success') { %>

  <% } %>

  <% if (status === 'error') { %>

  <% } %>

<%- info %>

  <% if (isActionable) { %>

  <% } %>

  <% if (isClosable) { %>

  <% } %>

Update notification view to accept html as info parameter.

<li class="Notifier-item <%- (status === 'loading') ? 'is-working' : ''%>">

  <% if (status === 'loading') { %>

  <% } %>

  <% if (status === 'success') { %>

  <% } %>

  <% if (status === 'error') { %>

  <% } %>

<%= info %>

  <% if (isActionable) { %>

  <% } %>

  <% if (isClosable) { %>

  <% } %>


{%- extends 'python.tpl' -%}
{% block in_prompt %}{% endblock in_prompt %}
{% block input %}{{ cell.source | ipython2python }}
{% endblock input %}
{% block header %}# coding: utf-8
{% endblock header %}

Update template for script conversion to ignore inline.

{%- extends 'python.tpl' -%}
{% block in_prompt %}{% endblock in_prompt %}
{% block input %}{{ cell.source | replace('%matplotlib inline', '') | ipython2python }}
{% endblock input %}
{% block header %}# coding: utf-8
{% endblock header %}


{tr}Preview{/tr}: {$page}

{if $feature_wiki_description eq 'y'}
{$description}
{/if}

{$parsed}

{if $has_footnote}

{$parsed_footnote}

{/if}

Add html comments for debugging.


{jmessage}
    {if $gbList }
    {@view~map.permalink.geobookmark.title@}

        {if $gbCount > 0 }

          {foreach $gbList as $gb}

            {$gb->name}

              <button class="btn-geobookmark-del btn btn-mini" value="{$gb->id}" title="{@view~map.permalink.geobookmark.button.del@}"></button>
              <button class="btn-geobookmark-run btn btn-mini" value="{$gb->id}" title="{@view~map.permalink.geobookmark.button.run@}"></button>

          {/foreach}

        {else}
          {@view~map.permalink.geobookmark.none@}
        {/if}

    {/if}

Add div to ease override of geobookmark text


{extends app/ext.tpl}

{block css-loader}
    {$dwoo.parent}
    {include includes/site.css.tpl}
	<script>
	    window.Ext = window.Ext || { };
	    Ext.scopeCss = true;
	</script>
{/block}

{block body}
    {include includes/site.user-tools.tpl}
{/block}

{block js-app}
    {$dwoo.parent}
    {include includes/site.analytics.tpl}
{/block}

Remove analytics include, upstream provides now


// Generates mock for legacy

'use strict';

require('../server/utils/ensure-i18n');

var resolve          = require('path').resolve
  , debug            = require('debug-ext')('setup')
  , generateDbjsMock = require('eregistrations/scripts/generate-legacy-dbjs-mock')
  , BusinessProcess  = require('../model/${ appName }');

module.exports = function () {
	debug('generate-${ appName }-legacy-dbjs-mock');

	return generateDbjsMock(BusinessProcess,
		resolve(__dirname,
			'../apps/${ appName }/client/legacy/${ appName }-legacy-proto.js'));
};

Update for new i18n configuration

// Generates mock for legacy

'use strict';

// Ensure mano.env
require('../env');

var resolve          = require('path').resolve
  , debug            = require('debug-ext')('setup')
  , generateDbjsMock = require('eregistrations/scripts/generate-legacy-dbjs-mock')
  , BusinessProcess  = require('../model/${ appName }');

module.exports = function () {
	debug('generate-${ appName }-legacy-dbjs-mock');

	return generateDbjsMock(BusinessProcess,
		resolve(__dirname,
			'../apps/${ appName }/client/legacy/${ appName }-legacy-proto.js'));
};


<?php namespace {namespace};

use Model;

/**
 * Model
 */
class {classname} extends Model
{
    use \October\Rain\Database\Traits\Validation;
    {dynamicContents}
    /*
     * Validation
     */
    public $rules = [
    ];

    /**
     * @var string The database table used by the model.
     */
    public $table = '{table}';
}

Improve default validation docblock in Model stub

<?php namespace {namespace};

use Model;

/**
 * Model
 */
class {classname} extends Model
{
    use \October\Rain\Database\Traits\Validation;
    {dynamicContents}
    /**
     * @var array Validation rules
     */
    public $rules = [
    ];

    /**
     * @var string The database table used by the model.
     */
    public $table = '{table}';
}


<{if $box->showHeader}section{else}div{/if} class="box{if $box->hasImage()} boxWithImage{/if}{if $box->cssClassName} {$box->cssClassName}{/if}">
	{if $box->hasImage()}

			{if $box->hasLink()}
				getLink()}">{@$box->getImage()}
			{else}
				{@$box->getImage()}
			{/if}

	{/if}

	{if $box->showHeader}

			{if $box->hasLink()}
				getLink()}">{$box->getTitle()}
			{else}
				{$box->getTitle()}
			{/if}

	{/if}

		{@$box->getContent()}

{if $box->showHeader}
{else}
{/if}

Add box identifier as data attribute to box

<{if $box->showHeader}section{else}div{/if} class="box{if $box->hasImage()} boxWithImage{/if}{if $box->cssClassName} {$box->cssClassName}{/if}" data-box-identifier="{@$box->identifier}">
	{if $box->hasImage()}

			{if $box->hasLink()}
				getLink()}">{@$box->getImage()}
			{else}
				{@$box->getImage()}
			{/if}

	{/if}

	{if $box->showHeader}

			{if $box->hasLink()}
				getLink()}">{$box->getTitle()}
			{else}
				{$box->getTitle()}
			{/if}

	{/if}

		{@$box->getContent()}

{if $box->showHeader}
{else}
{/if}


						getUserProfile()->getDecoratedObject()}{/link}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(32)}

getLink()}">{$message->getTitle()}

								getUserProfile()->getDecoratedObject()}{/link}">{$message->getUsername()}
								{@$message->getTime()|time}

							{@$message->getFormattedMessage()}

Fix moderated comment for guest comments

						{if $message->userID}
							getUserProfile()->getDecoratedObject()}{/link}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(32)}
						{else}
							{@$message->getUserProfile()->getAvatar()->getImageTag(32)}
						{/if}

getLink()}">{$message->getTitle()}

									{if $message->userID}
										getUserProfile()->getDecoratedObject()}{/link}">{$message->getUsername()}
									{else}
										{$message->getUsername()}
									{/if}

								{@$message->getTime()|time}

							{@$message->getFormattedMessage()}


{%- extends 'basic.tpl' -%}
{% from 'mathjax.tpl' import mathjax %}

{%- block header -%}
<!DOCTYPE html>

<meta charset="utf-8" />
<title>ijavascript</title>

<link rel="stylesheet" href="jsdoc/styles/ipython_style.css">

{{ mathjax() }}

{%- endblock header -%}

{% block body %}

  {% include './doc/templates/_navbar.tpl' %}

{{ super() }}

{%- endblock body %}

{% block footer %}

{% endblock footer %}

Add IPython licence in jinja template

{# Copyright (c) IPython Development Team.
   Distributed under the terms of the Modified BSD License. #}
{%- extends 'basic.tpl' -%}
{% from 'mathjax.tpl' import mathjax %}

{%- block header -%}
<!DOCTYPE html>

<meta charset="utf-8" />
<title>ijavascript</title>

<link rel="stylesheet" href="jsdoc/styles/ipython_style.css">

{{ mathjax() }}

{%- endblock header -%}

{% block body %}

  {% include './doc/templates/_navbar.tpl' %}

{{ super() }}

{%- endblock body %}

{% block footer %}

{% endblock footer %}


{* Include elFinder in a simple "script src" instead of Design::addCss() because it has some issues when elfinder.js is compressed and/or has gzip compression  *}

Change position of elFinder JS code + remove unused variable


{% with
    url
as
    url
%}

    <form action="{{ url }}" method="post" target="_blank" novalidate>

            {{ _"E-mail address" }}
            <input type="email" value="" name="EMAIL" class="form-control" id="mailchimp-email" placeholder="{{ _"E-mail address" }}">

<input type="text" name="b_c01d254db25c5769a53ed4dce_350987cd0c" tabindex="-1" value="">

        <button type="submit" class="btn btn--primary pull-right">{{ _"mailchimp-sign-up" }}</button>

    </form>

{% endwith %}

Add class on Mailchimp form


<div class="<?=$this->cssClass?>">
    <table class="<? if (!empty($this->settingsRow->table_style)) echo $this->settingsRow->table_style; ?>" cellspacing="0" cellpadding="0">
        <? foreach ($this->dataRows as $k => $dr) { ?>
            <tr class="<?= $k%2 == 0 ? 'odd' : 'even'; ?> <? if (!empty($dr->css_style)) echo $dr->css_style; ?>">
                <? for ($i = 1; $i <= $this->columnCount; $i++) {
                    $tag = 'td';
                    if (!empty($dr->css_style)) {
                        if (is_array($this->rowStyles[$dr->css_style]) && !empty($this->rowStyles[$dr->css_style]['tag'])) {
                            $tag = $this->rowStyles[$dr->css_style]['tag'];
                        }
                    }
                ?>
                    <<?=$tag;?> class="col<?= $i; ?><? if($i==1) echo' first';?><? if($i==$this->columnCount) echo' last';?>"><?= $this->toHtmlLink($dr['column'.$i]); ?></<?=$tag;?>>
                <? } ?>

        <? } ?>

Change to work with array

<div class="<?=$this->cssClass?>">
    <table class="<? if (!empty($this->settingsRow->table_style)) echo $this->settingsRow->table_style; ?>" cellspacing="0" cellpadding="0">
        <? foreach ($this->dataRows as $k => $dr) { ?>
            <tr class="<?= $k%2 == 0 ? 'odd' : 'even'; ?> <? if (!empty($dr['css_style'])) echo $dr['css_style']; ?>">
                <? for ($i = 1; $i <= $this->columnCount; $i++) {
                    $tag = 'td';
                    if (!empty($dr['css_style'])) {
                        if (is_array($this->rowStyles[$dr['css_style']]) && !empty($this->rowStyles[$dr['css_style']]['tag'])) {
                            $tag = $this->rowStyles[$dr['css_style']]['tag'];
                        }
                    }
                ?>
                    <<?=$tag;?> class="col<?= $i; ?><? if($i==1) echo' first';?><? if($i==$this->columnCount) echo' last';?>"><?= $this->toHtmlLink($dr['column'.$i]); ?></<?=$tag;?>>
                <? } ?>

        <? } ?>


{message}

        {lang "Let's celebrate it on"} Twitter 🎉

Make pre-written Twitter paragraph underlined


global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    chroot /var/lib/haproxy
    user haproxy
    group haproxy

defaults
    log global
    mode http
    option httplog
    option dontlognull
    retries 3
    redispatch
    maxconn 2000
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

frontend http-in
    bind *:80
    default_backend http-backend

backend http-backend
{{range .}}     server {{.Name}} {{.Ip}}:{{.Port}} maxconn 32
{{end}}

Update haproxy config to handle SSL termination

global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    chroot /var/lib/haproxy
    user haproxy
    group haproxy

defaults
    log global
    mode http
    option forwardfor
    option http-server-close
    option httplog
    option dontlognull
    retries 3
    redispatch
    maxconn 2048
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

frontend www-http
    bind haproxy_www_public_IP:80
    reqadd X-Forwarded-Proto:\ http
    default_backend www-backend

frontend www-https
   bind haproxy_www_public_IP:443 ssl crt /etc/ssl/private/example.com.pem
   reqadd X-Forwarded-Proto:\ https
   default_backend www-backend

backend www-backend
    redirect scheme https if !{ ssl_fc }
{{range .}}     server {{.Name}} {{.Ip}}:{{.Port}} check maxconn 32
{{end}}


{{ text }}

		<button id="{{ #ok }}">{{ button|default:_"OK" }}</button>
		<button id="{{ #cancel }}" class="cancel shy">{{ button|default:_"Cancel" }}</button>
		{% wire id=#ok
				action={dialog_close}
				action=action
				postback=postback
				delegate=delegate
		%}
		{% wire id=#cancel
				action={dialog_close}
				action=on_cancel
		%}

Fix for naming the ok/cancel buttons in the confirm dialog.

{{ text }}

		<button id="{{ #ok }}">{{ ok|default:_"OK" }}</button>
		<button id="{{ #cancel }}" class="cancel shy">{{ cancel|default:_"Cancel" }}</button>
		{% wire id=#ok
				action={dialog_close}
				action=action
				postback=postback
				delegate=delegate
		%}
		{% wire id=#cancel
				action={dialog_close}
				action=on_cancel
		%}


FROM #{FROM}

LABEL io.resin.device-type="#{DEV_TYPE}"

COPY artik.repo /etc/yum.repos.d/
COPY RPM-GPG-KEY-artik-#{SUITE}-armhfp /etc/pki/rpm-gpg/

RUN dnf install -y \
		less \
		nano \
		net-tools \
		usbutils \
		gnupg \
		i2c-tools \
		libartik-sdk-tests \
	&& dnf clean all

Integrate zigbee in Artik family

FROM #{FROM}

LABEL io.resin.device-type="#{DEV_TYPE}"

COPY artik.repo /etc/yum.repos.d/
COPY RPM-GPG-KEY-artik-#{SUITE}-armhfp /etc/pki/rpm-gpg/

RUN dnf install -y \
		less \
		nano \
		net-tools \
		usbutils \
		gnupg \
		i2c-tools \
		libartik-sdk-tests \
		libartik-sdk-zigbee-devel \
	&& dnf clean all


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 <title>MQWeb - ERROR</title>
 <link href="/static/css/redmond/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css"/>
 <link href="/static/css/mqweb/mqweb.css" rel="stylesheet" type="text/css"/>

    Object: <?= error.object ?>

    Function: <?= error.function ?>

    Code: <?= error.code ?>

    Reason: <?= error.reason ?>

Use new styles sheets, jquery, ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

 <title>MQWeb - ERROR</title>
 <link href="/static/css/style.css" rel="stylesheet" type="text/css"/>

    Object: <?= error.object ?>

    Function: <?= error.function ?>

    Code: <?= error.code ?>

    Reason: <?= error.reason ?>


<?php $this->widget('Init');?>
<?php $this->widget('VisioLink');?>
<?php $this->widget('Notification');?>
<?php $this->widget('Toast');?>
<?php $this->widget('Upload');?>
<?php $this->widget('Search');?>
<?php $this->widget('Notifications');?>
<?php $this->widget('SendTo');?>

<?php $this->widget('ContactActions');?>
<?php $this->widget('PostActions');?>

<nav class="color dark">
    <?php $this->widget('Presence');?>
    <?php $this->widget('Navigation');?>
</nav>

<?php $this->widget('BottomNavigation');?>

<main>
    <?php $this->widget('Post');?>
</main>

Fix missing Tabs widget in Post

<?php $this->widget('Init');?>
<?php $this->widget('VisioLink');?>
<?php $this->widget('Notification');?>
<?php $this->widget('Toast');?>
<?php $this->widget('Upload');?>
<?php $this->widget('Search');?>
<?php $this->widget('Notifications');?>
<?php $this->widget('SendTo');?>
<?php $this->widget('Tabs');?>

<?php $this->widget('ContactActions');?>
<?php $this->widget('PostActions');?>

<nav class="color dark">
    <?php $this->widget('Presence');?>
    <?php $this->widget('Navigation');?>
</nav>

<?php $this->widget('BottomNavigation');?>

<main>
    <?php $this->widget('Post');?>
</main>


{#extends file='layoutWithBars.tpl'#}
{#block name='content'#}

    <form>
        <input class="btn" id="project-fileupload" type="file" name="files[]" multiple>
    </form>

    {#include file='components/otuTable.tpl'#}
    {#include file='components/metadataTable.tpl'#}
{#/block#}

Add header for file upload

{#extends file='layoutWithBars.tpl'#}
{#block name='content'#}

 Upload projects in biom format (version 1.0)

    <form>
        <input class="btn" id="project-fileupload" type="file" name="files[]" multiple>
    </form>

    {#include file='components/otuTable.tpl'#}
    {#include file='components/metadataTable.tpl'#}
{#/block#}


{if $OPTIONS.cart_success_message}
{$OPTIONS.cart_success_message}
{/if}
{jojoHook hook="jojo_cart_complete_top"}

{if $receipt}

  {$receipt}

{/if}

{jojoHook hook="jojo_cart_complete_bottom"}

Insert cart tracking code in final html

{if $OPTIONS.cart_success_message}
{$OPTIONS.cart_success_message}
{/if}
{jojoHook hook="jojo_cart_complete_top"}

{if $receipt}

  {$receipt}

{/if}
{if $OPTIONS.cart_tracking_code}{$OPTIONS.cart_tracking_code}{/if}
{jojoHook hook="jojo_cart_complete_bottom"}


{include file='header.tpl'}

{$name}

{if $bio_summary}

{$bio_summary}

{/if}

  {section name=i loop=$albums}

id}">

getURL()}">
        getAlbumArt() != '/i/qm50.png'} about="{$albums[i]->id}" rel="foaf:depiction"{/if}>getAlbumArt()}" alt="{$albums[i]->name}" width="160" />

{$albums[i]->getPlayCount()} plays

  {/section}

{include file='footer.tpl'}

Add album names to RDFa data.

{include file='header.tpl'}

{$name}

{if $bio_summary}

{$bio_summary}

{/if}

  {section name=i loop=$albums}

id}" property="dc:title" content="{$albums[i]->name}">

getURL()}">
        getAlbumArt() != '/i/qm50.png'} about="{$albums[i]->id}" rel="foaf:depiction"{/if}>getAlbumArt()}" alt="{$albums[i]->name}" width="160" />

{$albums[i]->getPlayCount()} plays

  {/section}

{include file='footer.tpl'}


{if !$person_projectPersonID}{$display="display:none"}{/}

  <select name="person_personID[]"><option value="">{show_person_options()}</select>
  <select name="person_roleID[]">{$person_role_options}</select>
  {page::money($project_currencyTypeID,0,"%s")} <input type="text" size="7" name="person_rate[]" value="{page::money($project_currencyTypeID,$person_rate,"%mo")}" />{if $taxName}(ex. {$taxName}){/}
  <select name="person_rateUnitID[]">{$rateType_options}</select>

    {if $person_projectPersonID}
      Remove
    {/}

Put blank value back in project person rate dropdown. If left blank time sheet entries can be overridden.

{if !$person_projectPersonID}{$display="display:none"}{/}

  <select name="person_personID[]"><option value="">{show_person_options()}</select>
  <select name="person_roleID[]">{$person_role_options}</select>
  {page::money($project_currencyTypeID,0,"%s")} <input type="text" size="7" name="person_rate[]" value="{page::money($project_currencyTypeID,$person_rate,"%mo")}" />{if $taxName}(ex. {$taxName}){/}
  <select name="person_rateUnitID[]"><option value="">{$rateType_options}</select>

    {if $person_projectPersonID}
      Remove
    {/}


{* $Id$ *}
{* ==> put in this file what is not displayed in the layout (javascript, debug..)*}
{if (! isset($display) or $display eq '')}
	{if count($phpErrors)}
		{button _ajax="n" _id="show-errors-button" _onclick="flip('errors');return false;" _text="{tr}Show php error messages{/tr}"}
		<div id="errors" style="display:{if (isset($smarty.session.tiki_cookie_jar.show_errors) and $smarty.session.tiki_cookie_jar.show_errors eq 'y') or $prefs.javascript_enabled ne 'y'}block{else}none{/if};">
			 {listfilter selectors='#errors>div'}
			{foreach item=err from=$phpErrors}
				{$err}
			{/foreach}
		</div>
	{/if}

	{if $tiki_p_admin eq 'y' and $prefs.feature_debug_console eq 'y'}
		{* Include debugging console.*}
		{debug}
	{/if}

	{if $prefs.feature_phplayers eq 'y' and isset($phplayers_LayersMenu)}
		{$phplayers_LayersMenu->printHeader()}
		{$phplayers_LayersMenu->printFooter()}
	{/if}
{/if}

Rollback of 21774 (which broke the tiki debug console, caused JS errors and problems with AJAX)

{* $Id$ *}
{* ==> put in this file what is not displayed in the layout (javascript, debug..)*}
{if (! isset($display) or $display eq '')}
	{if count($phpErrors)}
		{button _ajax="n" _id="show-errors-button" _onclick="flip('errors');return false;" _text="{tr}Show php error messages{/tr}"}
		<div id="errors" style="display:{if (isset($smarty.session.tiki_cookie_jar.show_errors) and $smarty.session.tiki_cookie_jar.show_errors eq 'y') or $prefs.javascript_enabled ne 'y'}block{else}none{/if};">
			 {listfilter selectors='#errors>div'}
			{foreach item=err from=$phpErrors}
				{$err}
			{/foreach}
		</div>
	{/if}

	{if $tiki_p_admin eq 'y' and $prefs.feature_debug_console eq 'y'}
		{* Include debugging console.*}
		{debugger}
	{/if}

	{if $prefs.feature_phplayers eq 'y' and isset($phplayers_LayersMenu)}
		{$phplayers_LayersMenu->printHeader()}
		{$phplayers_LayersMenu->printFooter()}
	{/if}
{/if}


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width" />
        <title>{$title}</title>
        <link rel="stylesheet" href="static/css/stylesheet.css">

        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">

                {foreach $links as $link}

                            {$link['label']}

                {/foreach}

                    {$title}

            {if {$hasErrors}}

{$errorMessage}

                {/if}

Use HTTPS and min to access remote resources

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width" />
        <title>{$title}</title>
        <link rel="stylesheet" href="static/css/stylesheet.css">

        <link rel="stylesheet" href="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.min.css">

                {foreach $links as $link}

                            {$link['label']}

                {/foreach}

                    {$title}

            {if {$hasErrors}}

{$errorMessage}

                {/if}


<?xml version="1.0" encoding="UTF-8"?>
<localization>
	<entity id="module-name">
		<locale lang="fr"><{$name}></locale>
		<locale lang="en"><{$name_en}></locale>
	</entity>
	<entity id="tree-root-name">
		<locale lang="fr"><{$tree_name}></locale>
		<locale lang="en"><{$tree_name_en}></locale>
	</entity>
	<entity id="system-folder-name">
		<locale lang="fr"><{$name}></locale>
		<locale lang="en"><{$name_en}></locale>
	</entity>
<{if $useTopic}>
	<entity id="column.pathof">
		<locale lang="fr">chemin</locale>
		<locale lang="en">path</locale>
	</entity>
<{/if}>
	<!--
	<entity id="">
		<locale lang="fr"></locale>
	</entity>
	-->
</localization>

Remove unused tree-root-name locale from locales/bo/general.xml in new modules.

<?xml version="1.0" encoding="UTF-8"?>
<localization>
	<entity id="module-name">
		<locale lang="fr"><{$name}></locale>
		<locale lang="en"><{$name_en}></locale>
	</entity>
	<entity id="system-folder-name">
		<locale lang="fr"><{$name}></locale>
		<locale lang="en"><{$name_en}></locale>
	</entity>
<{if $useTopic}>
	<entity id="column.pathof">
		<locale lang="fr">chemin</locale>
		<locale lang="en">path</locale>
	</entity>
<{/if}>
	<!--
	<entity id="">
		<locale lang="fr"></locale>
	</entity>
	-->
</localization>


<?php if (!$livemode) { ?>

<?php echo $text_testmode; ?>

<?php } ?>

<form >

      <input type="submit"  onclick="payWithPaystack()" value="<?php echo $button_confirm; ?>" class="button" />

</form>

Use a button instead of submit to request payment

<?php if (!$livemode) { ?>

<?php echo $text_testmode; ?>

<?php } ?>

<form >

      <input type="button"  onclick="payWithPaystack()" value="<?php echo $button_confirm; ?>" class="button" />

</form>


{% with m.rsc[id] as r %}BEGIN:VEVENT
CREATED:{{ r.created|utc|date:"Ymd\\THis" }}Z
LAST-MODIFIED:{{ r.modified|utc|date:"Ymd\\THis" }}Z
UID:{{ site_url|escape_ical }}{{ r.resource_uri|unescape|escape_ical }}
DTSTART:{{ r.date_start|utc|date:"Ymd\\THis" }}Z
DTEND:{{ r.date_end|utc|date:"Ymd\\THis" }}Z
TRANSP:OPAQUE
SUMMARY:{{ r.title|unescape|escape_ical }}
DESCRIPTION:{{ r.summary|unescape|escape_ical }}
LOCATION:
URL;VALUE=URI:{{ site_url }}{{ r.page_url|unescape }}
SEQUENCE:0
END:VEVENT{% endwith %}

Use the start date as end date when end date is St Juttemis.

{% with m.rsc[id] as r %}BEGIN:VEVENT
CREATED:{{ r.created|utc|date:"Ymd\\THis" }}Z
LAST-MODIFIED:{{ r.modified|utc|date:"Ymd\\THis" }}Z
UID:{{ r.resource_uri|unescape|escape_ical }}
{%with r.date_start|utc|date:"Ymd\\THis" as date_start %}DTSTART:{{ date_start }}Z
DTEND:{{ r.date_end|utc|date:"Ymd\\THis"|default:date_start }}Z{%endwith %}
TRANSP:OPAQUE
SUMMARY:{{ r.title|unescape|escape_ical }}
DESCRIPTION:{{ r.summary|unescape|escape_ical }}
LOCATION:
URL;VALUE=URI:{{ site_url }}{{ r.page_url|unescape }}
SEQUENCE:0
END:VEVENT{% endwith %}


{% if id.is_visible and id.is_published and not id|member:exclude %}

    {% with id.depiction as dep %}
	{% if dep %}
		{% if dep.id.is_a.document %}

		{% else %}

	    {% endif %}
	{% endif %}
    {% endwith %}

{{ id.title|default:"—" }}

    {% if is_large %}{{ id|summary:300 }}
    {% else %}{{ id|summary:120 }}
	{% endif %}
	{_ Read more _} »

{% endif %}

Add class 'has-depiction' if the list item has a depiction.

{% if id.is_visible and id.is_published and not id|member:exclude %}
{% with id.depiction as dep %}
{% if dep %}

	{% if dep.id.is_a.document %}

	{% else %}

    {% endif %}
{% else %}

{% endif %}

{{ id.title|default:"—" }}

    {% if is_large %}{{ id|summary:300 }}
    {% else %}{{ id|summary:120 }}
	{% endif %}
	{_ Read more _} »

{% endwith %}
{% endif %}


{*
	variables that are available:
	- {$widgetBlogRecentArticlesList}: contains an array with all posts, each element contains data about the post
*}

{option:widgetBlogRecentArticlesList}

{$lblRecentArticles|ucfirst}

					{iteration:widgetBlogRecentArticlesList}

{$widgetBlogRecentArticlesList.title}

					{/iteration:widgetBlogRecentArticlesList}

					{$lblBlogArchive|ucfirst}
					{$lblSubscribeToTheRSSFeed|ucfirst}

{/option:widgetBlogRecentArticlesList}

Correct variable in the template


    <select onchange="Rooms.selectGatewayRoom(this.value, this.options[this.selectedIndex].label)">
        {loop="$rooms"}
            <option value="{$key}">
                {$value}
            </option>
        {/loop}
    </select>

{$c->__('rooms.gateway_room')}

Add the gateway chatrooms next to their names (can be buggy sometimes)

    <select onchange="Rooms.selectGatewayRoom(this.value, this.options[this.selectedIndex].label)">
        {loop="$rooms"}
            <option value="{$key}">
                {$value} · {$key}
            </option>
        {/loop}
    </select>

{$c->__('rooms.gateway_room')}


{if ($logged_in)}

getURL()}">{$u_user->name}

{/if}

{if ($logged_in)}

Invites disabled

    {if $u_user->userlevel > 0}

Admin panel

    {/if}
{else}

Login

Request invitation

{/if}

Explore:

Artists

Change link from relative to absolute


{# Search suggestions query #}

{%
    with
        results_template,
        cat|default:'',
        paged|default:true,
        cat_exclude|default:['meta', 'menu', 'admin_content_query'],
        search_text|default:q.value|default:q.qs,
        cg_name,
        pagelen|default:10,
        unfinished_or_nodate|default:"true",
        authoritative|default:1
    as
        results_template,
        cat,
        paged,
        cat_exclude,
        search_text,
        content_group,
        pagelen,
        unfinished_or_nodate,
        authoritative
%}

    {% with m.search[{ginger_search cat=cat cat_exclude=cat_exclude authoritative=authoritative unfinished_or_nodate=unfinished_or_nodate content_group=content_group text=search_text pagelen=pagelen}] as result %}
        {% include results_template result=result %}
    {% endwith %}

{% endwith %}

Handle parameter cat_exclude_defaults in search suggestions

{# Search suggestions query #}

{%
    with
        results_template,
        cat|default:'',
        paged|default:true,
        cat_exclude|default:['meta', 'menu', 'admin_content_query'],
        cat_exclude_defaults|default:"true",
        search_text|default:q.value|default:q.qs,
        cg_name,
        pagelen|default:10,
        unfinished_or_nodate|default:"true",
        authoritative|default:1
    as
        results_template,
        cat,
        paged,
        cat_exclude,
        cat_exclude_defaults,
        search_text,
        content_group,
        pagelen,
        unfinished_or_nodate,
        authoritative
%}

    {% with m.search[{ginger_search cat=cat cat_exclude=cat_exclude cat_exclude_defaults=cat_exclude_defaults authoritative=authoritative unfinished_or_nodate=unfinished_or_nodate content_group=content_group text=search_text pagelen=pagelen}] as result %}
        {% include results_template result=result %}
    {% endwith %}

{% endwith %}


{% extends "base.tpl" %}

{% block title %}Your browser is not supported…{% endblock %}

{% block html_head_extra %}
    {% lib "css/theme-white.css" %}
{% endblock %}

{% block content %}

We're sorry…

Unfortunately, your browser does not seem to support the image copy-paste functionality that makes stick.im work.

Download the Google Chrome browser to use stick.im.

{% endblock %}

Remove ' as that does something weird

{% extends "base.tpl" %}

{% block title %}Your browser is not supported…{% endblock %}

{% block html_head_extra %}
    {% lib "css/theme-white.css" %}
{% endblock %}

{% block content %}

We are sorry…

Unfortunately, your browser does not seem to support the image copy-paste functionality that makes stick.im work.

Download the Google Chrome browser to use stick.im.

{% endblock %}


<?php $this->widget('Search');?>
<?php $this->widget('Notification');?>
<?php $this->widget('VisioLink');?>
<?php $this->widget('Upload'); ?>

    <?php $this->widget('Presence');?>
    <?php $this->widget('Navigation');?>

        <?php if(empty($_GET['s'])) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('Communities'); ?>
        <?php } elseif($_GET['s'] == 'subscriptions'
                    && $this->user->isSupported('pubsub')) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('CommunitySubscriptions'); ?>
        <?php } elseif(empty($_GET['n'])) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('CommunitiesServer'); ?>
        <?php } else { ?>

                <?php $this->widget('CommunityData'); ?>
                <?php $this->widget('CommunityConfig'); ?>
                <?php $this->widget('CommunityAffiliations'); ?>

            <?php $this->widget('CommunityHeader'); ?>
            <?php $this->widget('CommunityPosts'); ?>

        <?php } ?>

Fix Actions for posts in Communities

<?php $this->widget('Search');?>
<?php $this->widget('Notification');?>
<?php $this->widget('VisioLink');?>
<?php $this->widget('Upload'); ?>

<?php $this->widget('PostActions');?>

    <?php $this->widget('Presence');?>
    <?php $this->widget('Navigation');?>

        <?php if(empty($_GET['s'])) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('Communities'); ?>
        <?php } elseif($_GET['s'] == 'subscriptions'
                    && $this->user->isSupported('pubsub')) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('CommunitySubscriptions'); ?>
        <?php } elseif(empty($_GET['n'])) { ?>

                <?php $this->widget('NewsNav');?>

            <?php $this->widget('CommunitiesServer'); ?>
        <?php } else { ?>

                <?php $this->widget('CommunityData'); ?>
                <?php $this->widget('CommunityConfig'); ?>
                <?php $this->widget('CommunityAffiliations'); ?>

            <?php $this->widget('CommunityHeader'); ?>
            <?php $this->widget('CommunityPosts'); ?>

        <?php } ?>


Edit Line <%= is_new ? "" : dialog_script_id %>

<form class="form" role="form" onsubmit="return false;">

  Speaker
  <select class="form-control character">
    <% characters.each(function(character) { %>
      <option value="<%= character.id %>" <%= option_selected(dialog_character_id === character.id) %>>
        <%= character.get("name") %>
      </option>
    <% }); %>
  </select>

  Text
  <textarea class="form-control text" rows=3><%= text %></textarea>

  <button type="button" class="btn btn-block btn-info edit-events" data-toggle="popover" data-html="true" title="When Player reads this line." data-content="Will give and take Items or set Player Attributes">

    Edit Events
  </button>

  <button type="submit" class="btn btn-primary save">
    Save
  </button>
  <button type="button" class="btn btn-default cancel">
    Cancel
  </button>
  <button type="button" class="btn btn-danger delete">
    Delete
  </button>

</form>

Fix entities being evaluated when editing a dialog script

Edit Line <%= is_new ? "" : dialog_script_id %>

<form class="form" role="form" onsubmit="return false;">

  Speaker
  <select class="form-control character">
    <% characters.each(function(character) { %>
      <option value="<%= character.id %>" <%= option_selected(dialog_character_id === character.id) %>>
        <%= character.get("name") %>
      </option>
    <% }); %>
  </select>

  Text
  <textarea class="form-control text" rows=3><%- text %></textarea>

  <button type="button" class="btn btn-block btn-info edit-events" data-toggle="popover" data-html="true" title="When Player reads this line." data-content="Will give and take Items or set Player Attributes">

    Edit Events
  </button>

  <button type="submit" class="btn btn-primary save">
    Save
  </button>
  <button type="button" class="btn btn-default cancel">
    Cancel
  </button>
  <button type="button" class="btn btn-danger delete">
    Delete
  </button>

</form>


<?php

    $out = '';
    $rn  = '';
    $n   = '';

    if( is_array($data) ) {

        if( isset($data['real_name']) && !empty($data['real_name']) ) {
            $rn  = '';
            $rn .= htmlspecialchars($bug[$field]['real_name']);
            $rn .= '';
        }

        if( isset($data['name']) && !empty($data['name']) ) {
            $n  = '';
            $n .= htmlspecialchars($bug[$field]['name']);
            $n .= '';
        }

        $out = ( empty($n) ) ? $rn : "$rn ($n)";

        // Special case for "nobody"
        if( isset($data['name']) && (empty($data['name']) || $data['name'] == 'nobody') ) {
            $out = '';
        }

    }else {
        $out = htmlspecialchars($data);
    }

    echo $out;
?>

Use $data, as it is already there and less chars (functionally equivalent)

<?php

    $out = '';
    $rn  = '';
    $n   = '';

    if( is_array($data) ) {

        if( isset($data['real_name']) && !empty($data['real_name']) ) {
            $rn  = '';
            $rn .= htmlspecialchars($data['real_name']);
            $rn .= '';
        }

        if( isset($data['name']) && !empty($data['name']) ) {
            $n  = '';
            $n .= htmlspecialchars($data['name']);
            $n .= '';
        }

        $out = ( empty($n) ) ? $rn : "$rn ($n)";

        // Special case for "nobody"
        if( isset($data['name']) && (empty($data['name']) || $data['name'] == 'nobody') ) {
            $out = '';
        }

    }else {
        $out = htmlspecialchars($data);
    }

    echo $out;
?>


  <p class="CDB-Legend u-upperCase CDB- Text is-semibold CDB-Size-small u-rSpace--m" for="<%= editorId %>">
    <%- title %>

<%= help %>

Use label instead of paragraph for for attribute to apply

  <label class="CDB-Legend u-upperCase CDB- Text is-semibold CDB-Size-small u-rSpace--m" for="<%= editorId %>">
    <%- title %>

<%= help %>


{if count($events)}

    {foreach $events as $event}

        {component name='Denkmal_Component_Event' template='details' event=$event venueBookmarks=$venueBookmarks}

    {/foreach}

{else}

    {button_link page="Denkmal_Page_Add" theme="highlight" icon="plus" label="{translate 'Add Event'}"}

{/if}

  {button_link theme='transparent' icon='location' label={$region->getName()|escape} page='Denkmal_Page_City'}
  {button_link theme='transparent' page='Denkmal_Page_Add' label="+{translate 'Event'}"}
  {if $twitterAccount}
    {button_link theme='transparent' icon='twitter' title='Twitter' href="https://twitter.com/{$twitterAccount}" target="_blank"}
  {/if}
  {if $facebookAccount}
    {button_link theme='transparent' icon='facebook' title='Facebook' href="https://www.facebook.com/{$facebookAccount}" target="_blank"}
  {/if}

Change footer text to "Contact"

{if count($events)}

    {foreach $events as $event}

        {component name='Denkmal_Component_Event' template='details' event=$event venueBookmarks=$venueBookmarks}

    {/foreach}

{else}

    {button_link page="Denkmal_Page_Add" theme="highlight" icon="plus" label="{translate 'Add Event'}"}

{/if}

  {button_link theme='transparent' icon='location' label={$region->getName()|escape} page='Denkmal_Page_City'}
  {button_link theme='transparent' page='Denkmal_Page_Add' label={translate 'Contact'}}
  {if $twitterAccount}
    {button_link theme='transparent' icon='twitter' title='Twitter' href="https://twitter.com/{$twitterAccount}" target="_blank"}
  {/if}
  {if $facebookAccount}
    {button_link theme='transparent' icon='facebook' title='Facebook' href="https://www.facebook.com/{$facebookAccount}" target="_blank"}
  {/if}


// Extends business processes states meta data with object collections

'use strict';

var all  = require('./')
  , meta = require('./meta');

module.exports = meta;

meta.all.data      = all;
meta.pending.data  = all.filterByKeyPath('processingSteps/map/${ appNameSuffix }/isPending', true);
meta.sentBack.data = all.filterByKeyPath('processingSteps/map/${ appNameSuffix }/isSentBack', true);
meta.rejected.data = all.filterByKeyPath('processingSteps/map/${ appNameSuffix }/isRejected', true);
meta.approved.data = all.filterByKeyPath('processingSteps/map/${ appNameSuffix }/isApproved', true);

Update up to latest changes

// Extends business processes states meta data with object collections

'use strict';

var forEach = require('es5-ext/object/for-each')
  , all     = require('./')
  , meta    = require('./meta');

module.exports = meta;

forEach(meta, function (conf, name) {
	if (name === 'all') {
		conf.data = all;
	} else {
		conf.data = all.filterByKeyPath('processingSteps/map/${ appNameSuffix }/resolvedStatus', name);
	}
});


        {lang 'Group ID#'}
        {lang 'Name'}
        {lang 'Price (%0%)', $this->config->values['module.setting']['currency']}
        {lang 'Expiration Days'}
        {lang 'Active'}
        {lang 'Action'}

    {each $membership in $memberships}

            {% $membership->groupId %}
            {% $membership->name %}
            {% $membership->price %}
            {% $membership->expirationDays %}
            {if $membership->enable == 1} {lang 'Enable'} {else} {lang 'Disable'} {/if}

                url('payment', 'admin', 'editmembership', $membership->groupId) }}">{lang 'Edit'} |
                {if !GroupId::undeletable($membership->groupId)}
                    {{ $design->popupLinkConfirm(t('Delete (Irreversible!)'), 'payment', 'admin', 'deletemembership', $membership->groupId) }}
                {else}
                    {lang 'Not deletable'}
                {/if}

    {/each}

Add button to add easily new memberships from list page

        {lang 'Group ID#'}
        {lang 'Name'}
        {lang 'Price (%0%)', $this->config->values['module.setting']['currency']}
        {lang 'Expiration Days'}
        {lang 'Active'}
        {lang 'Action'}

    {each $membership in $memberships}

            {% $membership->groupId %}
            {% $membership->name %}
            {% $membership->price %}
            {% $membership->expirationDays %}
            {if $membership->enable == 1} {lang 'Enable'} {else} {lang 'Disable'} {/if}

                url('payment', 'admin', 'editmembership', $membership->groupId) }}">{lang 'Edit'} |
                {if !GroupId::undeletable($membership->groupId)}
                    {{ $design->popupLinkConfirm(t('Delete (Irreversible!)'), 'payment', 'admin', 'deletemembership', $membership->groupId) }}
                {else}
                    {lang 'Not deletable'}
                {/if}

    {/each}

        url('payment', 'admin', 'addmembership') }}">{lang 'Add new Membership'}


<!DOCTYPE HTML>
<html lang="en">
    <head>
{if $head_title}
        <title>{$head_title}</title>
{elseif $head_title_suffix}
        <title>{$smarty.const.DEFAULT_HTML_TITLE} :: {$head_title_suffix}</title>
{else}
        <title>{$smarty.const.DEFAULT_HTML_TITLE}</title>
{/if}
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="description" content="{$head_description}" />
        <!--[if lte IE 8]><script src="css/ie/html5shiv.js"></script><![endif]-->
        <script src="js/jquery.min.js"></script>
        <script src="js/jquery.dropotron.min.js"></script>
        <script src="js/skel.min.js"></script>
        <script src="js/skel-layers.min.js"></script>
        <script src="js/init.js"></script>
        <noscript>
            <link rel="stylesheet" href="css/skel.css" />
            <link rel="stylesheet" href="css/style.css" />
            <link rel="stylesheet" href="css/style-desktop.css" />
        </noscript>
        <!--[if lte IE 8]><link rel="stylesheet" href="css/ie/v8.css" /><![endif]-->
    </head>

Fix HTML5 UP rendering issue

<!DOCTYPE HTML>
<html lang="en">
    <head>
{if $head_title}
        <title>{$head_title}</title>
{elseif $head_title_suffix}
        <title>{$smarty.const.DEFAULT_HTML_TITLE} :: {$head_title_suffix}</title>
{else}
        <title>{$smarty.const.DEFAULT_HTML_TITLE}</title>
{/if}
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="description" content="{$head_description}" />
        <!--[if lte IE 8]><script src="css/ie/html5shiv.js"></script><![endif]-->
        <link rel="stylesheet" href="css/style.css" />

        <script src="js/jquery.min.js"></script>
        <script src="js/jquery.dropotron.min.js"></script>
        <script src="js/skel.min.js"></script>
        <script src="js/skel-layers.min.js"></script>
        <script src="js/init.js"></script>
        <noscript>
            <link rel="stylesheet" href="css/skel.css" />
            <link rel="stylesheet" href="css/style.css" />
            <link rel="stylesheet" href="css/style-desktop.css" />
        </noscript>
        <!--[if lte IE 8]><link rel="stylesheet" href="css/ie/v8.css" /><![endif]-->
    </head>


{if $portal->is_fluid()}
{PSU_CSS href="`$PHP.BASE_URL`/templates/fluid.css"}
{/if}
{PSU_CSS href="/js/jquery-plugins/colorbox/colorbox.css"}
{PSU_CSS href="/includes/js/jquery-plugins/ui_theme/jquery.ui.css?version=1.0"}
{PSU_CSS href="`$PHP.BASE_URL`/templates/override.css?v=1"}
{PSU_CSS href="`$PHP.BASE_URL`/templates/channels.css"}

Use assets from this repository

{if $portal->is_fluid()}
{PSU_CSS href="`$PHP.BASE_URL`/templates/fluid.css"}
{/if}
{PSU_CSS href="/app/core/js/jquery-plugins/colorbox/colorbox.css"}
{PSU_CSS href="/app/core/css/ui_theme/jquery.ui.css?version=1.0"}
{PSU_CSS href="`$PHP.BASE_URL`/templates/override.css?v=1"}
{PSU_CSS href="`$PHP.BASE_URL`/templates/channels.css"}


{% extends "default.tpl" %}

{% block title %}{{item.title}}{% endblock %}

{% block content %}

    {% if item %}

        {{item.title}}

      {{item.content}}

    {% endif %}

  {% for listitem in itemList %}
   {{listitem.title}}
  {% endfor %}

{% endblock %}

Fix proper key for thumbnail image in template


{$GLOBAL.websitename}

            {$GLOBAL.slogan}

{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}: {$GLOBAL.price|default:"n/a"|number_format:"4"}

Pool Hashrate: {($GLOBAL.hashrate / 1000)|number_format:"3"} MH/s

Pool Sharerate: {$GLOBAL.sharerate|number_format:"2"} Shares/s

Pool Workers: {$GLOBAL.workers}

Disable trade currency if no price currency defined

{$GLOBAL.websitename}

            {$GLOBAL.slogan}

                {if $GLOBAL.config.price.currency}
{$GLOBAL.config.currency}/{$GLOBAL.config.price.currency}: {$GLOBAL.price|default:"n/a"|number_format:"4"}
	{/if}

Pool Hashrate: {($GLOBAL.hashrate / 1000)|number_format:"3"} MH/s

Pool Sharerate: {$GLOBAL.sharerate|number_format:"2"} Shares/s

Pool Workers: {$GLOBAL.workers}


{if isset($sitemap) && count($sitemap)>0}

0} class="{$class}"{/if}>
        {foreach from=$sitemap item=node}
            {assign var=class value=''}
            {if $node.breadcrumb}{assign var=class value=active}{/if}
            {if strlen($node.css_class) > 0}{assign var=class value="{$class} {$node.css_class}"}{/if}

0} class="{$class|trim}"{/if}>{if is_string($node.icon) && strlen($node.icon)>0}{/if}{if is_string($node.translation.content) && strlen($node.translation.content)>0}{$node.translation.content}{/if}

        {/foreach}

{/if}

Solve issue applying additional class attribute

{if isset($sitemap) && count($sitemap)>0}

0} {$class}{/if}">
        {foreach from=$sitemap item=node}
            {assign var=class value=''}
            {if $node.breadcrumb}{assign var=class value=active}{/if}
            {if strlen($node.css_class) > 0}{assign var=class value="{$class} {$node.css_class}"}{/if}

0} class="{$class|trim}"{/if}>{if is_string($node.icon) && strlen($node.icon)>0}{/if}{if is_string($node.translation.content) && strlen($node.translation.content)>0}{$node.translation.content}{/if}

        {/foreach}

{/if}


			{$labels.name}
			{$labels.type}
			{$labels.value}
			{$labels.next_run}
			{$labels.last_run}
			{$labels.privilege}
			{$labels.links}

{assign var="rowClass" value="odd-row"}
{foreach from=$rows key=index item=record}

			{$record.name}
			{$record.type_translated}
			{$record.value_translated}
			{$record.next_run}
			{$record.last_run}
			{$record.privilege}
			{$record.links}

	{if $rowClass eq "odd-row"}
		{assign var="rowClass" value="even-row"}
	{else}
		{assign var="rowClass" value="odd-row"}
	{/if}
{/foreach}

Fix for no rosters in view

			{$labels.name}
			{$labels.type}
			{$labels.value}
			{$labels.next_run}
			{$labels.last_run}
			{$labels.privilege}
			{$labels.links}

{assign var="rowClass" value="odd-row"}
{if ! isset($var)}

{else}
{foreach from=$rows key=index item=record}

{if $record.id eq ''}
			{$record.name}
{else}
			{$record.name}
			{$record.type_translated}
			{$record.value_translated}
			{$record.next_run}
			{$record.last_run}
			{$record.privilege}
			{$record.links}
{/if}

	{if $rowClass eq "odd-row"}
		{assign var="rowClass" value="even-row"}
	{else}
		{assign var="rowClass" value="odd-row"}
	{/if}
{/foreach}


<!DOCTYPE HTML>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>{% block title %}Playdar{% endblock %}</title>
    <link rel="stylesheet" href="/static/playdar.css" type="text/css">

        {% block nav %}

            Home |
            Queries |
            Authcodes
              ||
            www.playdar.org

        {% endblock %}

{% block content %}{% endblock %}

Make logo link to / not playdar.org


createCustomResource: true
useCrdInstallHook: false
webhook:
  enabled: false
podAnnotations:
  accounts.google.com/service-account: "${service_account}"
  accounts.google.com/scopes: "https://www.googleapis.com/auth/cloud-platform"

Enable ambient credentials for Issuers in cert-manager

createCustomResource: true
useCrdInstallHook: false
webhook:
  enabled: false
podAnnotations:
  accounts.google.com/service-account: "${service_account}"
  accounts.google.com/scopes: "https://www.googleapis.com/auth/cloud-platform"
extraArgs:
  - --issuer-ambient-credentials


service_type: loadbalancer
service_name: octavia
prefix: '/v2(\.0)?'

resources:
  lbaas:
    singleton: true
    children:
      healthmonitors:
        type_uri: network/loadbalancer/healthmonitors
      loadbalancers:
        type_uri: network/loadbalancers
        children:
          stats:
            singleton: true
          status:
            singleton: true
          failover:
            singleton: true
      listeners:
        type_uri: network/loadbalancer/listeners
        children:
          stats:
            singleton: true
      pools:
        type_uri: network/loadbalancer/pools
        children:
          members:
      l7policies:
        type_uri: network/loadbalancer/l7policies
        el_type_uri: network/loadbalancer/l7policy
        # the unique ID of an l7policy is located in attribute 'l7policy_id' (not 'id')
        custom_id: l7policy_id
        children:
          rules:
      quotas:
        type_uri: network/loadbalancer/quotas
        children:
          defaults:
            singleton: true
      flavors:
        type_uri: network/loadbalancer/flavors
      flavorprofiles:
        type_uri: network/loadbalancer/flavorprofiles
      availabilityzoneprofiles:
        type_uri: network/loadbalancer/availabilityzoneprofiles
      providers:
        type_uri: network/loadbalancer/providers
        children:
          flavor_capabilities:
            singleton: true
          availability_zone_capabilities:
            singleton: true

  octavia:
    singleton: true
    children:
      amphorae:
        type_uri: network/loadbalancer/amphorae
        children:
          stats:
            singleton: true
          config:
            singleton: true
          failover:
            singleton: true

Fix API audit map: /lbaas not part of prefix

service_type: loadbalancer
service_name: octavia
prefix: '/v2(\.0)?(/lbaas|/octavia)?'

resources:
  healthmonitors:
    type_uri: network/loadbalancer/healthmonitors
  loadbalancers:
    type_uri: network/loadbalancers
    children:
      stats:
        singleton: true
      status:
        singleton: true
      failover:
        singleton: true
  listeners:
    type_uri: network/loadbalancer/listeners
    children:
      stats:
        singleton: true
  pools:
    type_uri: network/loadbalancer/pools
    children:
      members:
  l7policies:
    type_uri: network/loadbalancer/l7policies
    el_type_uri: network/loadbalancer/l7policy
    # the unique ID of an l7policy is located in attribute 'l7policy_id' (not 'id')
    custom_id: l7policy_id
    children:
      rules:
  quotas:
    type_uri: network/loadbalancer/quotas
    children:
      defaults:
        singleton: true
  flavors:
    type_uri: network/loadbalancer/flavors
  flavorprofiles:
    type_uri: network/loadbalancer/flavorprofiles
  availabilityzoneprofiles:
    type_uri: network/loadbalancer/availabilityzoneprofiles
  providers:
    type_uri: network/loadbalancer/providers
    children:
      flavor_capabilities:
        singleton: true
      availability_zone_capabilities:
        singleton: true
  amphorae:
    type_uri: network/loadbalancer/amphorae
    children:
      stats:
        singleton: true
      config:
        singleton: true
      failover:
        singleton: true


	×

Delete all comments on {{name}}

	  Delete</button>
	Cancel

Add error message to comment delete form

	×

Delete all comments on {{name}}

Are you sure you want to delete all comments?

	  Delete</button>
	Cancel


    {{ ChangePasswordCoreForm::display() }}
    {{ TwoFactorAuthDesignCore::link('user') }}

    {{ $designModel->ad(160, 600) }}

Remove ad block since it is normally loaded from tab settings


load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")
toolchain(
    name = "cc-toolchain-%{name}",
    exec_compatible_with = HOST_CONSTRAINTS,
    target_compatible_with = HOST_CONSTRAINTS,
    toolchain = "@local_config_cc//:cc-compiler-%{name}",
    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)

toolchain(
    name = "cc-toolchain-armeabi-v7a",
    exec_compatible_with = HOST_CONSTRAINTS,
    target_compatible_with = [
        "@platforms//cpu:arm",
        "@platforms//os:android",
    ],
    toolchain = "@local_config_cc//:cc-compiler-armabi-v7a",
    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)

Fix a typo in toolchain definition

load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")
toolchain(
    name = "cc-toolchain-%{name}",
    exec_compatible_with = HOST_CONSTRAINTS,
    target_compatible_with = HOST_CONSTRAINTS,
    toolchain = "@local_config_cc//:cc-compiler-%{name}",
    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)

toolchain(
    name = "cc-toolchain-armeabi-v7a",
    exec_compatible_with = HOST_CONSTRAINTS,
    target_compatible_with = [
        "@platforms//cpu:arm",
        "@platforms//os:android",
    ],
    toolchain = "@local_config_cc//:cc-compiler-armeabi-v7a",
    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)


<!--
/**
 *
 * @author     Knut Kohl <github@knutkohl.de>
 * @copyright  2012-2013 Knut Kohl
 * @license    MIT License (MIT) http://opensource.org/licenses/MIT
 * @version    1.0.0
 */
-->

<!--
    Load Highcharts scripts direct from highcharts.com
    Pin HighCharts version, new versions may have some "bugs"
-->

<!-- IF {DEVELOPMENT} -->
<script src="http://code.highcharts.com/4.1.7/highcharts.src.js"></script>
<script src="http://code.highcharts.com/4.1.7/highcharts-more.src.js"></script>
<script src="http://code.highcharts.com/4.1.7/modules/exporting.src.js"></script>
<!-- ELSE -->
<script src="http://code.highcharts.com/4.2.0/highcharts.js"></script>
<script src="http://code.highcharts.com/4.2.0/highcharts-more.js"></script>
<script src="http://code.highcharts.com/4.2.0/modules/exporting.js"></script>
<!-- ENDIF -->

Test HighCharts 4.2.6 in develop mode

<!--
/**
 *
 * @author     Knut Kohl <github@knutkohl.de>
 * @copyright  2012-2013 Knut Kohl
 * @license    MIT License (MIT) http://opensource.org/licenses/MIT
 * @version    1.0.0
 */
-->

<!--
    Load Highcharts scripts direct from highcharts.com
    Pin HighCharts version, new versions may have some "bugs"
-->

<!-- IF {DEVELOPMENT} -->
<script src="http://code.highcharts.com/4.2.6/highcharts.src.js"></script>
<script src="http://code.highcharts.com/4.2.6/highcharts-more.src.js"></script>
<script src="http://code.highcharts.com/4.2.6/modules/exporting.src.js"></script>
<!-- ELSE -->
<script src="http://code.highcharts.com/4.2.0/highcharts.js"></script>
<script src="http://code.highcharts.com/4.2.0/highcharts-more.js"></script>
<script src="http://code.highcharts.com/4.2.0/modules/exporting.js"></script>
<!-- ENDIF -->


<!DOCTYPE html>

		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<title>{$browser_title}</title>
		<meta name="description" content="">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link rel="stylesheet" href="/mini-default.min.css" />

{$page_title}

        {$page_body}

			All business records are created by the Virginia State Corporation Commission, and
			are thus without copyright protection, so may be reused and reproduced freely,
			without seeking any form of permission from anybody. All other website content is
			published under the MIT license.
			This website is an independent, private effort, created and run as a hobby, and is
			in no way affiliated with the Commonwealth of Virginia or the State Corporation
			Commission. All site source
			code is on GitHub—pull requests welcome.

Add a search box to every page

<!DOCTYPE html>

		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<title>{$browser_title}</title>
		<meta name="description" content="">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link rel="stylesheet" href="/mini-default.min.css" />

{$page_title}

			<form method="get" action="/search/">
				Search
				<input type="text" size="50" name="query" id="query">
				<input type="submit" value="Go">
			</form>

        {$page_body}

			All business records are created by the Virginia State Corporation Commission, and
			are thus without copyright protection, so may be reused and reproduced freely,
			without seeking any form of permission from anybody. All other website content is
			published under the MIT license.
			This website is an independent, private effort, created and run as a hobby, and is
			in no way affiliated with the Commonwealth of Virginia or the State Corporation
			Commission. All site source
			code is on GitHub—pull requests welcome.


Basic

{button_link label="Button"}
{button_link label="Button with html tags" isHtmlLabel=true}
{button_link icon="like"}
{button_link icon="trophy" label="With Icon"}

Large

{button_link class="button-large" label="Button"}
{button_link icon="gift" class="button-large" label="With Icon"}

Themes

{button_link theme='default' label="Default"}
{button_link theme='highlight' label="Highlight"}
{button_link theme='success' label="Success"}
{button_link theme='danger' label="Danger"}

Confirmation

{button_link class="confirmAction" label="With Confirmation" data=['click-confirmed' => true]}
{button_link class="confirmAction warning" icon='trash' iconConfirm='trash-open' label="With Warning" data=['click-confirmed' => true]}

Add link button to example

Basic

{button_link label="Button"}
{button_link label="Button with html tags" isHtmlLabel=true}
{button_link icon="like"}
{button_link icon="trophy" label="With Icon"}
{button_link label="As a link" href="/"}

Large

{button_link class="button-large" label="Button"}
{button_link icon="gift" class="button-large" label="With Icon"}

Themes

{button_link theme='default' label="Default"}
{button_link theme='highlight' label="Highlight"}
{button_link theme='success' label="Success"}
{button_link theme='danger' label="Danger"}

Confirmation

{button_link class="confirmAction" label="With Confirmation" data=['click-confirmed' => true]}
{button_link class="confirmAction warning" icon='trash' iconConfirm='trash-open' label="With Warning" data=['click-confirmed' => true]}


{serendipity_hookPlugin hook="entries_header"}

{$CONST.ARCHIVES}

{foreach from=$archives item="archive"}

{$archive.year}

        {foreach from=$archive.months item="month"}

{if $month.entry_count}{/if}{$month.date|formatTime:"%B"}{if $month.entry_count}{/if}:
                {if $month.entry_count}{/if}{$month.entry_count} {$CONST.ENTRIES}{if $month.entry_count}{/if}

        {/foreach}

{/foreach}

{serendipity_hookPlugin hook="entries_footer"}

Move categories + freetags to archive page

{serendipity_hookPlugin hook="entries_header"}

{$CONST.ARCHIVES}

    {serendipity_showPlugin class="serendipity_plugin_categories"}
    {serendipity_showPlugin class="serendipity_plugin_freetag"}
{foreach from=$archives item="archive"}

{$archive.year}

        {foreach from=$archive.months item="month"}

{if $month.entry_count}{/if}{$month.date|formatTime:"%B"}{if $month.entry_count}{/if}:
                {if $month.entry_count}{/if}{$month.entry_count} {$CONST.ENTRIES}{if $month.entry_count}{/if}

        {/foreach}

{/foreach}

{serendipity_hookPlugin hook="entries_footer"}


       <%= _("Registered new participant")%>

%(modPayDetails)s

                            %(modPay)s

Remove confusing message on payment page

%(modPayDetails)s

                            %(modPay)s


    <% for (var i = 0; i<labels.length; i++) { %>
      <li class="Bubble-numbersItem CDB-Text CDB-Size-small" style="color: red !important; bottom: <%- labelPositions[i] %>%"><%- formatter.formatNumber(labels[i]) %>

    <% } %>

      <% for (var i in bubbleSizes) { %>
        <li class="js-bubbleItem Bubble-item Bubble-item—-<%- i+1 %>" style="height: <%- bubbleSizes[i] %>%; width: <%- bubbleSizes[i] %>%">
          <span class="Bubble-itemCircle" style="background-color: <%= fillColor %>;" >

      <% } %>

    <p class="Bubble-average CDB-Text CDB-Size-small u-altTextColor" style="bottom: <%- avgSize %>%">AVG: <%- avgLabel %>

Format AVG in bubble legends

    <% for (var i = 0; i<labels.length; i++) { %>
      <li class="Bubble-numbersItem CDB-Text CDB-Size-small" style="color: red !important; bottom: <%- labelPositions[i] %>%"><%- formatter.formatNumber(labels[i]) %>

    <% } %>

      <% for (var i in bubbleSizes) { %>
        <li class="js-bubbleItem Bubble-item Bubble-item—-<%- i+1 %>" style="height: <%- bubbleSizes[i] %>%; width: <%- bubbleSizes[i] %>%">
          <span class="Bubble-itemCircle" style="background-color: <%= fillColor %>;" >

      <% } %>

    <p class="Bubble-average CDB-Text CDB-Size-small u-altTextColor" style="bottom: <%- avgSize %>%">AVG: <%- formatter.formatNumber(avgLabel) %>


#!/bin/sh

set -x
set -e

nova_manage="nova-manage --config-file /etc/nova/nova.conf"
available_commands_text=$(nova-manage --help | awk '/Command categories/ {getline; print $0}')

$nova_manage db online_data_migrations

if echo "${available_commands_text}" | grep -q -E '[{,]placement[},]'; then
  $nova_manage placement sync_aggregates
fi

Disable online migrations with placement

#!/bin/sh

set -x
set -e

nova_manage="nova-manage --config-file /etc/nova/nova.conf"
available_commands_text=$(nova-manage --help | awk '/Command categories/ {getline; print $0}')

{{- if or .Values.placement.enabled (.Values.imageVersion | hasPrefix "rocky" | not) }}

$nova_manage db online_data_migrations
{{- end }}

if echo "${available_commands_text}" | grep -q -E '[{,]placement[},]'; then
  $nova_manage placement sync_aggregates
fi


{foreach from=$eventList item=event}

getUserProfileHandler()->isIgnoredUser($event->getUserProfile()->userID)} ignoredUserContent{/if}">
			getUserProfile()}{/link}" title="{$event->getUserProfile()->username}">{@$event->getUserProfile()->getAvatar()->getImageTag(48)}

						getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}
						{@$event->time|time}

{@$event->getTitle()}

					{lang}wcf.user.recentActivity.{@$event->getObjectTypeName()}{/lang}

isRawHtml()} htmlContent{/if}">{@$event->getDescription()}

{/foreach}

Hide content element if event has no description

{foreach from=$eventList item=event}

getUserProfileHandler()->isIgnoredUser($event->getUserProfile()->userID)} ignoredUserContent{/if}">
			getUserProfile()}{/link}" title="{$event->getUserProfile()->username}">{@$event->getUserProfile()->getAvatar()->getImageTag(48)}

						getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}
						{@$event->time|time}

{@$event->getTitle()}

					{lang}wcf.user.recentActivity.{@$event->getObjectTypeName()}{/lang}

				{if $event->getDescription()}

isRawHtml()} htmlContent{/if}">{@$event->getDescription()}

				{/if}

{/foreach}


%rebase layout_skonf globals(), css=['main/css/main.css'], title= 'sKonf UI'

     Add a new hosts

     Manage packs

     Manage Shinken architecture

     Link with other apps

Fix : skonf, still removing links to missing pages.


    Hosts UP :
    $hosts_up
    ($changes_up)

    Hosts DOWN :
    $hosts_down
    ($changes_down)

    Hosts UNREACH :
    $hosts_unreachable
    ($changes_unreachable)

    Services OK :
    $services_ok
    ($changes_ok)

    Services WARNING :
    $services_warning
    ($changes_warning)

    Services CRITICAL :
    $services_critical
    ($changes_critical)

    Services UNKNOWN :
    $services_unknown
    ($changes_unknown)

Add bold typo to changes


{load_templates subtemplates/glyphicons.tpl}
{load_templates subtemplates/timestamp.tpl}
{load_templates subtemplates/people.tpl}
{load_templates subtemplates/contentBlocks.tpl}
{load_templates subtemplates/contextLinks.tpl}
{load_templates subtemplates/forms.tpl}
{load_templates subtemplates/projects.tpl}
{load_templates subtemplates/buzz.tpl}
{load_templates subtemplates/updates.tpl}

Add personName subtemplate to site defaults

{load_templates subtemplates/personName.tpl}
{load_templates subtemplates/glyphicons.tpl}
{load_templates subtemplates/timestamp.tpl}
{load_templates subtemplates/people.tpl}
{load_templates subtemplates/contentBlocks.tpl}
{load_templates subtemplates/contextLinks.tpl}
{load_templates subtemplates/forms.tpl}
{load_templates subtemplates/projects.tpl}
{load_templates subtemplates/buzz.tpl}
{load_templates subtemplates/updates.tpl}


<!doctype html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width">
		<meta name="description" content="{$page->getDescription()|escape}">
		<meta name="keywords" content="{$page->getKeywords()|escape}">
		<title>{block name='title'}{$page->getTitle()|escape}{/block}</title>
		{resource file='library.css'}
		{resource file='internal.css'}
		{resource file='init.js'}
		{block name='head'}{/block}
	</head>
	<body id="{$page->getAutoId()}">
		{block name='body-start'}{/block}
		{block name='content'}{/block}
		{resource file='library.js'}
		{resource file='internal.js'}
		{$render->getJs()->renderScripts()}
		{CM_Tracking::getInstance()->getHtml()}
		{block name='body-end'}{/block}
	</body>
</html>

Rename content-block to 'body', refactor friends list cmp,

<!doctype html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width">
		<meta name="description" content="{$page->getDescription()|escape}">
		<meta name="keywords" content="{$page->getKeywords()|escape}">
		<title>{block name='title'}{$page->getTitle()|escape}{/block}</title>
		{resource file='library.css'}
		{resource file='internal.css'}
		{resource file='init.js'}
		{block name='head'}{/block}
	</head>
	<body id="{$page->getAutoId()}">
		{block name='body-start'}{/block}
		{block name='body'}{/block}
		{resource file='library.js'}
		{resource file='internal.js'}
		{$render->getJs()->renderScripts()}
		{CM_Tracking::getInstance()->getHtml()}
		{block name='body-end'}{/block}
	</body>
</html>


<form id="join-channel-{{id}}" class="join-form" method="post" action="" autocomplete="off">
	<input type="text" class="input" name="channel" placeholder="Channel" pattern="[^\s]+" maxlength="200" title="Should be a valid channel name" required>
	<input type="password" class="input" name="key" placeholder="Password (optional)" pattern="[^\s]+" title="Should be a valid channel key" maxlength="200" >
	<button type="submit" class="btn joinchan:submit" data-id="{{id}}">Join</button>
</form>

Improve wording of join channel UI form restrictions

<form id="join-channel-{{id}}" class="join-form" method="post" action="" autocomplete="off">
	<input type="text" class="input" name="channel" placeholder="Channel" pattern="[^\s]+" maxlength="200" title="The channel name may not contain spaces" required>
	<input type="password" class="input" name="key" placeholder="Password (optional)" pattern="[^\s]+" maxlength="200" title="The channel password may not contain spaces">
	<button type="submit" class="btn joinchan:submit" data-id="{{id}}">Join</button>
</form>


FROM #{FROM}

ONBUILD echo $'WARNING: Systemd is not available on this base image! \nSystemd was included in Debian wheezy as a technology preview. Therefore, we do not install systemd on wheezy images and INITSYSTEM will not work.'

RUN apt-get update && apt-get install -y --no-install-recommends \
		ca-certificates \
	&& rm -rf /var/lib/apt/lists/*

COPY entry.sh /usr/bin/entry.sh

ENTRYPOINT ["/usr/bin/entry.sh"]

Fix missing instruction in ONBUILD command

FROM #{FROM}

ONBUILD RUN echo $'WARNING: Systemd is not available on this base image! \nSystemd was included in Debian wheezy as a technology preview. Therefore, we do not install systemd on wheezy images and INITSYSTEM will not work.'

RUN apt-get update && apt-get install -y --no-install-recommends \
		ca-certificates \
	&& rm -rf /var/lib/apt/lists/*

COPY entry.sh /usr/bin/entry.sh

ENTRYPOINT ["/usr/bin/entry.sh"]


            {embed.meta.title}

Switch the order of meta and canonical


{extends app/slate-ext.tpl}

{block meta}
    {$title = "Manage Slate"}
    {$dwoo.parent}
{/block}

{block css-app}
    {cssmin fonts/font-awesome.css}
    {$dwoo.parent}
{/block}

{block js-app}
    {$dwoo.parent}
    {if $.User->hasAccountLevel(Developer) && $.get.slateHost}
        <script>
            Ext.onReady(function() {
                SlateAdmin.API.setHostname({$.get.slateHost|json_encode});
            });
        </script>
    {/if}

    {include includes/site.analytics.tpl}
{/block}

Remove analytics include, upstream provides now

{extends app/slate-ext.tpl}

{block meta}
    {$title = "Manage Slate"}
    {$dwoo.parent}
{/block}

{block css-app}
    {cssmin fonts/font-awesome.css}
    {$dwoo.parent}
{/block}

{block js-app}
    {$dwoo.parent}
    {if $.User->hasAccountLevel(Developer) && $.get.slateHost}
        <script>
            Ext.onReady(function() {
                SlateAdmin.API.setHostname({$.get.slateHost|json_encode});
            });
        </script>
    {/if}
{/block}


layout 'layout.tpl', title: 'Messages : View all',
  content: contents {
    div(class:'container') {
      div(class:'pull-right') {
        a(href:'/?form', 'Create Message')
      }
      table(class:'table table-bordered table-striped') {
        thead {
          tr {
            td 'ID'
            td 'Created'
            td 'Summary'
          }
        }
        tbody {
          if (messages.empty) { tr { td(colspan:'3', 'No Messages' ) } }
          messages.each { message ->
            tr {
              td message.id
              td "${message.created}"
              td {
                a(href:"/${message.id}") {
                  yield message.getSummary()
                }
              }
            }
          }
        }
      }
    }
  }

Remove workaround for bug they fixed in Groovy

layout 'layout.tpl', title: 'Messages : View all',
  content: contents {
    div(class:'container') {
      div(class:'pull-right') {
        a(href:'/?form', 'Create Message')
      }
      table(class:'table table-bordered table-striped') {
        thead {
          tr {
            td 'ID'
            td 'Created'
            td 'Summary'
          }
        }
        tbody {
          if (messages.empty) { tr { td(colspan:'3', 'No Messages' ) } }
          messages.each { message ->
            tr {
              td message.id
              td "${message.created}"
              td {
                a(href:"/${message.id}") {
                  yield message.summary
                }
              }
            }
          }
        }
      }
    }
  }


{{$variant := (index .Variant 0)}}{{if $variant.StopAtMarker}}
{
  markerIndex := i
  for ; markerIndex < len(payload) && payload[markerIndex] != {{$variant.MarkerValue}}; markerIndex++ {}
  val.{{ToGoName .Name}} = payload[i:markerIndex]
}
{{else}}
val.{{ToGoName .Name}} = payload[i:]
{{end}}

Fix variable name in unmarshal variant template

{{$variant := (index .Variant 0)}}{{if $variant.StopAtMarker}}
{
  markerIndex := i
  for ; markerIndex < len(payload) && payload[markerIndex] != {{$variant.MarkerValue}}; markerIndex++ {}
  cmd.{{ToGoName .Name}} = payload[i:markerIndex]
}
{{else}}
cmd.{{ToGoName .Name}} = payload[i:]
{{end}}


<?php return <<<INI

[database]
hostname = {{$dbhost}}
username = {{$dbuser}}
password = {{$dbpass}}
database = {{$dbdata}}
charset = utf8mb4

; ****************************************************************
; Some config values below can be overruled from the admin settings
; ****************************************************************

[config]
php_path = {{$phpath}}

admin_email = {{$adminmail}}

sitename = Friendica Social Network

register_policy = REGISTER_OPEN
register_text =

max_import_size = 200000

[system]
urlpath = {{$urlpath}}

default_timezone = {{$timezone}}

language = {{$language}}

allowed_themes = vier,quattro,duepuntozero,smoothly,frio
theme = vier

allowed_link_protocols[] = ftp
allowed_link_protocols[] = ftps
allowed_link_protocols[] = mailto
allowed_link_protocols[] = cid
allowed_link_protocols[] = gopher

maximagesize = 800000

no_regfullname = true

block_local_dir = false

directory = https://dir.friendica.social

auth_cookie_lifetime = 7

INI;
// Keep this line

Fix segfault in PHP 5.6 parsing INI strings

<?php return <<<INI

; If you're unsure about what any of the config keys below do, please check the config/defaults.ini.php for detailed
; documentation of their data type and behavior.

[database]
hostname = {{$dbhost}}
username = {{$dbuser}}
password = {{$dbpass}}
database = {{$dbdata}}
charset = utf8mb4

; ****************************************************************
; Some config values below can be overruled from the admin settings
; ****************************************************************

[config]
php_path = {{$phpath}}

admin_email = {{$adminmail}}

sitename = Friendica Social Network

register_policy = REGISTER_OPEN
register_text =

max_import_size = 200000

[system]
urlpath = {{$urlpath}}

default_timezone = {{$timezone}}

language = {{$language}}

allowed_themes = vier,quattro,duepuntozero,smoothly,frio
theme = vier

allowed_link_protocols[0] = ftp
allowed_link_protocols[1] = ftps
allowed_link_protocols[2] = mailto
allowed_link_protocols[3] = cid
allowed_link_protocols[4] = gopher

maximagesize = 800000

no_regfullname = true

block_local_dir = false

directory = https://dir.friendica.social

auth_cookie_lifetime = 7

INI;
// Keep this line


{{model['filename']}}

{{model['description']}}

Attributes

{% for name, attribute in model['properties'].iteritems() %}

    {{name}}

Type: {{attribute['type']}}

        {% if attribute['enum'] %}

Values:
        {% for value in attribute['enum'] %}
            {{value}}{% if loop.index != 0 %}, {% endif %}
        {% endfor %}

        {% endif %}

        {% if attribute['required'] == 'true' %}

Required: {{attribute['required']}}

        {% endif %}
        {% if attribute['uniqueItems'] == 'true' %}

Required: {{attribute['uniqueItems']}}

        {% endif %}

    {{attribute['description']}}

{% endfor %}

Services

{% for api in model['apis'] %}
{% for operation in api['operations'] %}

        {{operation['method']}} {{api['path']}}

{% endfor %}
{% endfor %}

Relations

{% for relation in model['relations'] %}
{% set api = relation['api'] %}
{% for operation in api['operations'] %}

        {{operation['method']}} {{api['path']}}

{% endfor %}
{% endfor %}

Fix remote name in objects' page

{{model['remote_name']}}

{{model['description']}}

Attributes

{% for name, attribute in model['properties'].iteritems() %}

    {{name}}

Type: {{attribute['type']}}

        {% if attribute['enum'] %}

Values:
        {% for value in attribute['enum'] %}
            {{value}}{% if loop.index != 0 %}, {% endif %}
        {% endfor %}

        {% endif %}

        {% if attribute['required'] == 'true' %}

Required: {{attribute['required']}}

        {% endif %}
        {% if attribute['uniqueItems'] == 'true' %}

Required: {{attribute['uniqueItems']}}

        {% endif %}

    {{attribute['description']}}

{% endfor %}

Services

{% for api in model['apis'] %}
{% for operation in api['operations'] %}

        {{operation['method']}} {{api['path']}}

{% endfor %}
{% endfor %}

Relations

{% for relation in model['relations'] %}
{% set api = relation['api'] %}
{% for operation in api['operations'] %}

        {{operation['method']}} {{api['path']}}

{% endfor %}
{% endfor %}


{* $Id$ *}
{strip}

{section name=ix loop=$listpages}

		{if !empty($showPageAlias) and $showPageAlias eq 'y' and !empty($listpages[ix].page_alias)}
			{$listpages[ix].page_alias}
		{else}
			{$listpages[ix].pageName}
		{/if}

{/section}
{if $showNumberOfPages eq 'y'}
{tr}Number of result:{/tr}{$listpages|@count}
{/if}

{/strip}

Use sefurls in list pages plugin when showNameOnly=y


            <form method="post">

                        <input type="text" name="username" class="content" placeholder="{$c->__('input.username')}">
                        {$c->__('input.username')}

                        <input type="password" name="password" class="content" placeholder="{$c->__('input.password')}">
                        {$c->__('input.password')}

                    <input
                        class="button flat oppose"
                        type="submit"
                        name="submit"
                        value="{$c->__('button.submit')}" />
            </form>

Change the button design in AdminLogin

            <form method="post">

                        <input type="text" name="username" class="content" placeholder="{$c->__('input.username')}">
                        {$c->__('input.username')}

                        <input type="password" name="password" class="content" placeholder="{$c->__('input.password')}">
                        {$c->__('input.password')}

                    <input
                        class="button oppose color"
                        type="submit"
                        name="submit"
                        value="{$c->__('button.validate')}" />
            </form>


{* $Id$ *}

{tr}Tiki Admin Wizard{/tr}

The Tiki Admin help you to quickly configure the major features. Use the Admin Panel to configure the details and features not included in this wizard.

<fieldset>
	<legend>{tr}Admin Wizard{/tr}</legend>

	Welcome to the Tiki Admin Wizard.

	If you don't want this wizard to open next time you (or another admin) log in, uncheck "Show on login" below.

	See also Admin panel
</fieldset>

Add missing tr tags [ENH] Add a link to the Tiki 12 documentation page on doc.tiki.org

{* $Id$ *}

{tr}Tiki Admin Wizard{/tr}

The Tiki Admin help you to quickly configure the major features. Use the Admin Panel to configure the details and features not included in this wizard.

<fieldset>
	<legend>{tr}Admin Wizard{/tr}</legend>

	{tr}Welcome to the Tiki Admin Wizard{/tr}.

	{tr}To learn more about this Tiki release{/tr}. {tr}Go to{/tr} Tiki 12.

	{tr}If you don't want this wizard to open next time you (or another admin) log in, uncheck "Show on login" below{/tr}.

	See also Admin panel
</fieldset>


{if !$success}

Payment error

{if $errors}

The following errors were found...

{section name=e loop=$errors}

{$errors[e]}

{/section}

{/if}

This transaction has not been processed and no charges have been made. Please return to the checkout page and correct the errors, or contact the webmaster if you feel this is a technical error.

{if $receipt}

  {$receipt}

{/if}
{/if}

Convert section to foreach so it works with Dwoo.

{if !$success}

Payment error

{if $errors}

The following errors were found...

{foreach name=e from=$errors item=e}

{$e}

{/foreach}

{/if}

This transaction has not been processed and no charges have been made. Please return to the checkout page and correct the errors, or contact the webmaster if you feel this is a technical error.

{if $receipt}

  {$receipt}

{/if}
{/if}


Welcome

Documentation

API

GitHub

Comment unused link (add sitemap on server)


{$faq.fq_answer}

{if $faqs}

{$faq_title} Index

  {section name=f loop=$faqs}

{$faqs[f].fq_question}

  {/section}

{/if}

Fix loop syntax for dwoo

{$faq.fq_answer}

{if $faqs}

{$faq_title} Index

{foreach from=$faqs item=f}

{$f.fq_question}

  {/foreach}

{/if}


    url('mail', 'main', 'compose', $data->username) }}">
        {lang 'Interested 👍'}

    url('hotornot', 'main', 'rating') }}">
        {lang 'Not Interested 👎'}

        {lang}If the photo does not match your sexual preference, please be respectful and press Not Interested{/lang}

Remove unnecessary disclaimer concerning gender preference


{
  "datacenter":"${environment}",
  "acl_datacenter":"${environment}",
  "acl_default_policy":"deny",
  "acl_down_policy":"deny",
  "acl_master_token":"${token}",
  "encrypt":"${encryption_key}",
  "disable_remote_exec": true,
  "recursors" : [ "8.8.8.8" ],
  "addresses" : {
     "http": "0.0.0.0",
      "dns": "0.0.0.0"
  },
  "ports" : {
    "dns" : 53
  }
}

Make our ACLs allow by default