Commit ba669428 authored by Carsten  Rose's avatar Carsten Rose
Browse files

Delete extension/Documentation/_make - those should not be versioned.

parent 8bce6c8a
Pipeline #2501 passed with stages
in 3 minutes and 34 seconds
/home/a/bbaer/git/qfq/extension/Documentation/UsersManual/Index.rst:264: WARNING: Bullet list ends without a blank line; unexpected unindent.
/home/a/bbaer/git/qfq/extension/Documentation/UsersManual/Index.rst:586: ERROR: Malformed table.
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
| Name | Type | Description |
+===============+=============================+===================================================================================================+
| id | int | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
| formId | int | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|feIdContainer | int | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|enabled | enum('yes'|'no') | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|dynamicUpdate | enum('yes'|'no') | In the browser, formelements with "dynamicUpdate='yes'" will be updated depending on user input. |
| | | :ref:`dynamic-update` |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|name | string | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|label | string | Label of formelement. Depending on layout model, left or on top of the formelement |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|mode | enum('show', 'readonly', | *Show*: regular user input field. This is the default. |
| | 'required', | *Required*: User has to specify a value. Typically, an <empty string> represents 'no value'. |
| | 'disabled' ) | *Readonly*: user can't change any data. Data not saved. |
| | | *Disabled*: form element is not visible. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|class | enum('native', 'action', | Details below. |
| | 'container') | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|type | enum('checkbox', 'date', 'time', 'datetime', 'dateJQW', 'datetimeJQW', 'extra', 'gridJQW', 'text', 'editor', 'note', |
| | 'password', 'radio', 'select', 'subrecord', 'upload', 'fieldset', 'pill', 'beforeLoad', 'beforeSave', |
| | 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterLoad', 'afterSave', 'afterInsert', 'afterUpdate', 'afterDelete', |
| | 'sendmail') |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|checkType | enum('min|max', 'pattern', | |
| | 'number', 'email') | |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|checkPattern | 'regexp' |if $check_type=='pattern': pattern to match |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|onChange | string |list of 'form element names' of current form, separated by ', ', If one of the named form elements |
| | | change, reload own data / status / mode |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|ord | string |display order of form elements ('order' is a reserved keyword) |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|tabindex | string |HTML tabindex attribute |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|size | string |Visible length of input element. Might be ommited, depending on the choosen form layout. |
| | |Format: <width>,<height> (in characters) |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|bsLabelColumns | string | Number of bootstrap grid columns for label. By default empty, value inherits from the form. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|bsInputColumns | string | Number of bootstrap grid columns for input. By default empty, value inherits from the form. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|bsNoteColumns | string | Number of bootstrap grid columns for note. By default empty, value inherits from the form. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|maxLength | string |Maximum characters for input. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|note | string |Note of formelement. Depending on layout model, right or below of the formelement |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|tooltip | text |Display this text as tooltip on mouse over |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|placeholder | string |Text, displayed inside the input element in light grey |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|clientJs | text |Javascript called on 'on change' formelements |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|value | text |Default value |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|sql1 | text |SQL query ('sql' is a reserved keyword) |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|sql2 | text |second SQL query |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|parameter | text |might contain misc parameter. Depends on the type of formelement. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|feGroup | string | Comma-separated list of Typo3 FE Group ID. NOT SURE IF THIS WILL BE IMPLEMENTED. Native |
| | | formElements, fieldsets and pills can be assigned to feGroups. Group status: show, hidden, |
| | | disabled. Group Access: FE-Groups. User will be assigned to FE-Groups and the form defintion |
| | | reference such FE-groups. Easy way of granting permission. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|deleted | string |'yes'|'no'. |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|modified | timestamp |updated autmatically through stored procedure |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
|created | datetime |set once through QFQ |
+---------------+-----------------------------+---------------------------------------------------------------------------------------------------+
/home/a/bbaer/git/qfq/extension/Documentation/UsersManual/Index.rst:1144: WARNING: Inline interpreted text or phrase reference start-string without end-string.
WARNING: html_static_path entry u'/home/a/bbaer/git/qfq/extension/Documentation/_make/../_static' does not exist
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config:
tags:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Administrator Manual &mdash; QFQ Extension 0.5.0 documentation</title>
<link rel="stylesheet" href="../_static/classic.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.5.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="top" title="QFQ Extension 0.5.0 documentation" href="../Index.html" />
<link rel="next" title="Users manual" href="../UsersManual/Index.html" />
<link rel="prev" title="What does it do?" href="../Introduction/Index.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../UsersManual/Index.html" title="Users manual"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../Introduction/Index.html" title="What does it do?"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../Index.html">QFQ Extension 0.5.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="administrator-manual">
<span id="admin-manual"></span><h1>Administrator Manual<a class="headerlink" href="#administrator-manual" title="Permalink to this headline"></a></h1>
<div class="section" id="preparation">
<h2>Preparation<a class="headerlink" href="#preparation" title="Permalink to this headline"></a></h2>
<p>The QFQ extension needs the PHP MySQL native driver. The following functions are used and are only available with the
native driver (see also: <a class="reference external" href="http://dev.mysql.com/downloads/connector/php-mysqlnd/">http://dev.mysql.com/downloads/connector/php-mysqlnd/</a>):</p>
<ul class="simple">
<li>mysqli::get_result (important),</li>
<li>mysqli::fetch_all (nice to use)</li>
</ul>
<p>Installation for Ubuntu:</p>
<div class="highlight-php"><div class="highlight"><pre><span class="nx">sudo</span> <span class="nx">apt</span><span class="o">-</span><span class="nx">get</span> <span class="nx">install</span> <span class="nx">php5</span><span class="o">-</span><span class="nx">mysqlnd</span>
<span class="nx">sudo</span> <span class="nx">php5enmod</span> <span class="nx">mysqlnd</span>
<span class="nx">sudo</span> <span class="nx">service</span> <span class="nx">apache2</span> <span class="nx">restart</span>
</pre></div>
</div>
</div>
<div class="section" id="setup">
<h2>Setup<a class="headerlink" href="#setup" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Install the extension via the Extensionmanager.</li>
<li>Rename the file <em>&lt;ext_dir&gt;/config.example.ini</em> to <em>&lt;ext_dir&gt;/config.ini</em> and configure the necessary values: <a class="reference internal" href="#ext-dir-config-ini">&lt;ext_dir&gt;/config.ini</a></li>
<li>Play the SQL File <em>&lt;ext_dir&gt;/qfq/sql/formEditor.sql</em> to fill the database with the <em>FormEditor</em> records.</li>
<li>Configure Typoscript to include Bootstrap, jQuery and QFQ javascript and CSS files.</li>
</ul>
<div class="highlight-php"><div class="highlight"><pre><span class="nx">page</span><span class="o">.</span><span class="nx">includeCSS</span> <span class="p">{</span>
<span class="nx">file1</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">Css</span><span class="o">/</span><span class="nx">bootstrap</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">css</span>
<span class="nx">file2</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">Css</span><span class="o">/</span><span class="nx">bootstrap</span><span class="o">-</span><span class="nx">theme</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">css</span>
<span class="nx">file3</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">Css</span><span class="o">/</span><span class="nx">jqx</span><span class="o">.</span><span class="nx">base</span><span class="o">.</span><span class="nx">css</span>
<span class="nx">file4</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">Css</span><span class="o">/</span><span class="nx">jqx</span><span class="o">.</span><span class="nx">bootstrap</span><span class="o">.</span><span class="nx">css</span>
<span class="nx">file5</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">Css</span><span class="o">/</span><span class="nx">qfq</span><span class="o">-</span><span class="nx">bs</span><span class="o">.</span><span class="nx">css</span>
<span class="p">}</span>
<span class="nx">page</span><span class="o">.</span><span class="nx">includeJS</span> <span class="p">{</span>
<span class="nx">file1</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">jquery</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file2</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">bootstrap</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file3</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">validator</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file4</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">jqx</span><span class="o">-</span><span class="nx">all</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file4</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">tinymce</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file5</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">EventEmitter</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="nx">file6</span> <span class="o">=</span> <span class="nx">typo3conf</span><span class="o">/</span><span class="nx">ext</span><span class="o">/</span><span class="nx">qfq</span><span class="o">/</span><span class="nx">Resources</span><span class="o">/</span><span class="k">Public</span><span class="o">/</span><span class="nx">JavaScript</span><span class="o">/</span><span class="nx">qfq</span><span class="o">.</span><span class="nb">min</span><span class="o">.</span><span class="nx">js</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
<div class="section" id="formeditor">
<h2>FormEditor<a class="headerlink" href="#formeditor" title="Permalink to this headline"></a></h2>
<p>Setup a <em>report</em> to manage all <em>forms</em>: Create a Typo3 page and insert a content record of type <em>qfq</em>. In the bodytext insert the following code:</p>
<div class="highlight-php"><div class="highlight"><pre><span class="nx">form</span> <span class="o">=</span> <span class="p">{{</span><span class="nx">form</span><span class="p">}}</span>
<span class="mi">10</span> <span class="p">{</span>
<span class="nx">sql</span> <span class="o">=</span> <span class="nx">SELECT</span> <span class="nx">CONCAT</span><span class="p">(</span><span class="s1">&#39;{{pageId}}&amp;form=Form&amp;r=&#39;</span><span class="p">,</span> <span class="nx">f</span><span class="o">.</span><span class="nx">id</span><span class="p">)</span> <span class="k">as</span> <span class="nx">Pagee</span><span class="p">,</span> <span class="nx">f</span><span class="o">.</span><span class="nx">id</span><span class="p">,</span> <span class="nx">f</span><span class="o">.</span><span class="nx">name</span><span class="p">,</span> <span class="nx">f</span><span class="o">.</span><span class="nx">title</span><span class="p">,</span> <span class="nx">f</span><span class="o">.</span><span class="nx">tableName</span> <span class="nx">FROM</span> <span class="nx">FormEditor</span> <span class="k">As</span> <span class="nx">f</span> <span class="nx">ORDER</span> <span class="nx">BY</span> <span class="nx">f</span><span class="o">.</span><span class="nx">name</span>
<span class="nx">head</span> <span class="o">=</span> <span class="o">&lt;</span><span class="nx">br</span><span class="o">&gt;&lt;</span><span class="nx">table</span> <span class="nx">class</span><span class="o">=</span><span class="s2">&quot;table&quot;</span><span class="o">&gt;</span>
<span class="nx">tail</span> <span class="o">=</span> <span class="o">&lt;/</span><span class="nx">table</span><span class="o">&gt;</span>
<span class="nx">rbeg</span> <span class="o">=</span> <span class="o">&lt;</span><span class="nx">tr</span> <span class="nx">class</span><span class="o">=</span><span class="s2">&quot;table-hover&quot;</span><span class="o">&gt;</span>
<span class="nx">rend</span> <span class="o">=</span> <span class="o">&lt;/</span><span class="nx">tr</span><span class="o">&gt;</span>
<span class="nx">fbeg</span> <span class="o">=</span> <span class="o">&lt;</span><span class="nx">td</span><span class="o">&gt;</span>
<span class="nx">fend</span> <span class="o">=</span> <span class="o">&lt;/</span><span class="nx">td</span><span class="o">&gt;</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
<div class="section" id="ext-dir-config-ini">
<h2>&lt;ext_dir&gt;/config.ini<a class="headerlink" href="#ext-dir-config-ini" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="18%" />
<col width="25%" />
<col width="57%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Keyword</th>
<th class="head">Example</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>DB_USER</td>
<td>DB_USER=qfqUser</td>
<td>Credentials configured in MySQL</td>
</tr>
<tr class="row-odd"><td>DB_PASSWORD</td>
<td>DB_PASSWORD=12345678</td>
<td>Credentials configured in MySQL</td>
</tr>
<tr class="row-even"><td>DB_SERVER</td>
<td>DB_SERVER=localhost</td>
<td>Hostname of MySQL Server</td>
</tr>
<tr class="row-odd"><td>DB_NAME</td>
<td>DB_NAME=qfq_db</td>
<td>Database name</td>
</tr>
<tr class="row-even"><td>DB_NAME_TEST</td>
<td>DB_NAME_TEST=qfq_db_test</td>
<td>Used during development of QFQ</td>
</tr>
<tr class="row-odd"><td>DB_INIT</td>
<td>DB_INIT=set names utf8</td>
<td>Global init for using the database.</td>
</tr>
<tr class="row-even"><td>SQL_LOG</td>
<td>SQL_LOG=sql.log</td>
<td>Filename to log SQL commands: relative to &lt;ext_dir&gt; or absolute.</td>
</tr>
<tr class="row-odd"><td>SQL_LOG_MODE</td>
<td>SQL_LOG_MODE=modify</td>
<td><em>all</em>: every statement will be logged - this is a lot
<em>modify</em>: log only statements who change data</td>
</tr>
<tr class="row-even"><td>SHOW_DEBUG_INFO</td>
<td>SHOW_DEBUG_INFO=auto</td>
<td>Possible values: auto|yes|no. For &#8216;auto&#8217;: If a BE User is logged in,
debug information will be shown on the fronend.</td>
</tr>
<tr class="row-odd"><td>CSS_LINK_CLASS_INTERNAL</td>
<td>CSS_LINK_CLASS_INTERNAL=internal</td>
<td>CSS class name of links which points to internal tagets</td>
</tr>
<tr class="row-even"><td>CSS_LINK_CLASS_EXTERNAL</td>
<td>CSS_LINK_CLASS_EXTERNAL=external</td>
<td>CSS class name of links which points to internal tagets</td>
</tr>
<tr class="row-odd"><td>DATE_FORMAT</td>
<td>DATE_FORMAT= yyyy-mm-dd</td>
<td>Possible options: yyyy-mm-dd, dd.mm.yyyy</td>
</tr>
</tbody>
</table>
<p>Example: <em>&lt;ext_dir&gt;/config.ini</em></p>
<div class="highlight-php"><div class="highlight"><pre><span class="nx">DB_USER</span> <span class="o">=</span> <span class="nx">qfqUser</span>
<span class="nx">DB_SERVER</span> <span class="o">=</span> <span class="nx">localhost</span>
<span class="nx">DB_PASSWORD</span> <span class="o">=</span> <span class="mi">12345678</span>
<span class="nx">DB_NAME</span> <span class="o">=</span> <span class="nx">qfq_db</span>
<span class="nx">DB_NAME_TEST</span> <span class="o">=</span> <span class="nx">qfq_db_test</span>
<span class="nx">DB_INIT</span> <span class="o">=</span> <span class="nx">set</span> <span class="nx">names</span> <span class="nx">utf8</span>
<span class="nx">SQL_LOG</span> <span class="o">=</span> <span class="nx">sql</span><span class="o">.</span><span class="nb">log</span>
<span class="nx">SHOW_DEBUG_INFO</span> <span class="o">=</span> <span class="nx">auto</span>
<span class="nx">CSS_LINK_CLASS_INTERNAL</span> <span class="o">=</span> <span class="nx">internal</span>
<span class="nx">CSS_LINK_CLASS_EXT</span> <span class="o">=</span> <span class="nx">external</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../Index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Administrator Manual</a><ul>
<li><a class="reference internal" href="#preparation">Preparation</a></li>
<li><a class="reference internal" href="#setup">Setup</a></li>
<li><a class="reference internal" href="#formeditor">FormEditor</a></li>
<li><a class="reference internal" href="#ext-dir-config-ini">&lt;ext_dir&gt;/config.ini</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../Introduction/Index.html"
title="previous chapter">What does it do?</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../UsersManual/Index.html"
title="next chapter">Users manual</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/AdministratorManual/Index.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../UsersManual/Index.html" title="Users manual"
>next</a> |</li>
<li class="right" >
<a href="../Introduction/Index.html" title="What does it do?"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../Index.html">QFQ Extension 0.5.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&copy; Copyright 2016, Carsten Rose.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.6.
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>QFQ Extension &mdash; QFQ Extension 0.5.0 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '0.5.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="QFQ Extension 0.5.0 documentation" href="#" />
<link rel="next" title="What does it do?" href="Introduction/Index.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="Introduction/Index.html" title="What does it do?"
accesskey="N">next</a> |</li>
<li class="nav-item nav-item-0"><a href="#">QFQ Extension 0.5.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="qfq-extension">
<span id="start"></span><h1>QFQ Extension<a class="headerlink" href="#qfq-extension" title="Permalink to this headline"></a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Classification:</th><td class="field-body">qfq</td>
</tr>
<tr class="field-even field"><th class="field-name">Version:</th><td class="field-body">0.5.0</td>
</tr>
<tr class="field-odd field"><th class="field-name">Language:</th><td class="field-body">en</td>
</tr>
<tr class="field-even field"><th class="field-name">Description:</th><td class="field-body">The extension offers support to:
a) create HTML Forms by clicking them together,
b) create reports based an SQL queries. The SQL can be nested and offers support for any kind of tags.</td>
</tr>
<tr class="field-odd field"><th class="field-name">Keywords:</th><td class="field-body">Quick Form Query, Form, Report, SQL, Query, Generator.</td>
</tr>
<tr class="field-even field"><th class="field-name">Copyright:</th><td class="field-body">2016</td>
</tr>
<tr class="field-odd field"><th class="field-name">Author:</th><td class="field-body">Carsten Rose, Rafael Ostertag</td>
</tr>
<tr class="field-even field"><th class="field-name">Email:</th><td class="field-body"><a class="reference external" href="mailto:carsten&#46;rose&#37;&#52;&#48;math&#46;uzh&#46;ch">carsten<span>&#46;</span>rose<span>&#64;</span>math<span>&#46;</span>uzh<span>&#46;</span>ch</a>, <a class="reference external" href="mailto:rafael&#46;ostertag&#37;&#52;&#48;math&#46;uzh&#46;ch">rafael<span>&#46;</span>ostertag<span>&#64;</span>math<span>&#46;</span>uzh<span>&#46;</span>ch</a></td>
</tr>
<tr class="field-odd field"><th class="field-name">License:</th><td class="field-body">This document is published under the Open Publication License
available from <a class="reference external" href="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</a></td>
</tr>
<tr class="field-even field"><th class="field-name">Rendered:</th><td class="field-body">2016-10-17 10:06</td>
</tr>
</tbody>
</table>
<p>The content of this document is related to TYPO3,
a GNU/GPL CMS/Framework available from <a class="reference external" href="https://typo3.org/">www.typo3.org</a>.</p>
<p><strong>Table of Contents</strong></p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Introduction/Index.html">What does it do?</a></li>
<li class="toctree-l1"><a class="reference internal" href="AdministratorManual/Index.html">Administrator Manual</a><ul>
<li class="toctree-l2"><a class="reference internal" href="AdministratorManual/Index.html#preparation">Preparation</a></li>
<li class="toctree-l2"><a class="reference internal" href="AdministratorManual/Index.html#setup">Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="AdministratorManual/Index.html#formeditor">FormEditor</a></li>
<li class="toctree-l2"><a class="reference internal" href="AdministratorManual/Index.html#ext-dir-config-ini">&lt;ext_dir&gt;/config.ini</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="UsersManual/Index.html">Users manual</a><ul>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#features-not-implemented-yet">Features not implemented yet</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#qfq-content-element">QFQ content element</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#qfq-keywords-bodytext">QFQ Keywords (Bodytext)</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#debug">Debug</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#form">Form</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#variable-incl-mixed-sql-statement">Variable (incl. mixed SQL Statement)</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#url-parameter">URL Parameter</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#escape">Escape</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#sanitize-class">Sanitize class</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#store-prio">Store / prio</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#predefined-variable-names">Predefined variable names</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-form-f">Store: <em>FORM</em> - F</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-sip-s">Store: <em>SIP</em> - S</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-record-r">Store: <em>RECORD</em> - R</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-client-c">Store: <em>CLIENT</em> - C</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-typo3-bodytext-t">Store: <em>TYPO3</em> (Bodytext) - T</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-vars-v">Store: <em>VARS</em> - V</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#store-system-s">Store: <em>SYSTEM</em> - S</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#sql-statement">SQL Statement</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#form-basic-setup">Form: basic setup</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#field-form-showbutton">Field: Form.showButton</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#field-form-parameter">Field: Form.parameter</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#formelements">FormElements</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#class-container">Class: Container</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-fieldset">Type: fieldset</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-pill">Type: pill</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#class-native">Class: Native</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-checkbox">Type: checkbox</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-date">Type: date</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-datetime">Type: datetime</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-extra">Type: extra</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-text">Type: text</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-editor">Type: editor</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-note">Type: note</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-radio">Type: radio</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-select">Type: select</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-subrecord">Type: subrecord</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-string">Type: string</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-submit">Type: submit</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-time">Type: time</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-upload">Type: upload</a><ul>
<li class="toctree-l4"><a class="reference internal" href="UsersManual/Index.html#deleting-a-record-and-the-referenced-file">Deleting a record and the referenced file</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#class-action">Class: Action</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-before-after">Type: before... | after...</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#type-sendmail">Type: sendmail</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#dynamic-update">Dynamic Update</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="UsersManual/Index.html#report">Report</a><ul>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#general">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#a-simple-example">A simple example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#syntax">Syntax</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#debug-the-bodytext">Debug the bodytext</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#structure">Structure</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#text-across-several-lines">Text across several lines</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#nesting-of-levels">Nesting of levels</a></li>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#access-to-upper-column-values">Access to upper column values</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#wrapping-rows-and-columns-level-keys">Wrapping rows and columns: Level keys</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#processing-of-columns-in-the-sql-result">Processing of columns in the SQL result</a></li>
<li class="toctree-l2"><a class="reference internal" href="UsersManual/Index.html#special-column-names">Special column names</a><ul>
<li class="toctree-l3"><a class="reference internal" href="UsersManual/Index.html#column-link">Column: _link</a></li>