Commit 2fc5d67b authored by Carsten  Rose's avatar Carsten Rose

Reformat Code

parent 892c7458
......@@ -30,6 +30,7 @@ Save Button
1. Client: Ignore server reponse 'redirect'. Client stays on current page.
Close Button
------------
* User presses the Close button
......
......@@ -46,6 +46,7 @@ class QfqController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
error_reporting($origErrorReporting);
$this->view->assign('qfqOutput', $html);
return $this->view->render();
}
......
......@@ -15,38 +15,38 @@ QFQ Extension
.. only:: html
:Classification:
qfq
qfq
:Version:
|release|
:Version:
|release|
:Language:
en
en
:Description:
The extension offers support to:
:Description:
The extension offers support to:
* Create HTML Forms by clicking them together,
* Create reports based an SQL queries. The SQL can be nested and offers support for any kind of tags.
* Create HTML Forms by clicking them together,
* Create reports based an SQL queries. The SQL can be nested and offers support for any kind of tags.
:Keywords:
Quick Form Query, Form, Report, SQL, Query, Generator, Framework, Secure, Mobile Ready, Responsive.
:Keywords:
Quick Form Query, Form, Report, SQL, Query, Generator, Framework, Secure, Mobile Ready, Responsive.
:Copyright:
2017
:Copyright:
2017
:Author:
Carsten Rose, Rafael Ostertag
:Author:
Carsten Rose, Rafael Ostertag
:Email:
carsten.rose@math.uzh.ch, rafael.ostertag@math.uzh.ch
:Email:
carsten.rose@math.uzh.ch, rafael.ostertag@math.uzh.ch
:License:
This document is published under the Open Publication License
available from http://www.opencontent.org/openpub/
:License:
This document is published under the Open Publication License
available from http://www.opencontent.org/openpub/
:Rendered:
|today|
|today|
The content of this document is related to TYPO3,
a GNU/GPL CMS/Framework available from `www.typo3.org <https://typo3.org/>`__.
......
......@@ -12,13 +12,13 @@ Links
-----
:TER:
https://typo3.org/extensions/repository/view/<extension key>
https://typo3.org/extensions/repository/view/<extension key>
:Bug Tracker:
https://forge.typo3.org/projects/extension-<extension key>/issues
https://forge.typo3.org/projects/extension-<extension key>/issues
:Git Repository:
https://github.com/<username>/<extension key>
https://github.com/<username>/<extension key>
:Contact:
`@<username> <https://twitter.com/your-username>`__
`@<username> <https://twitter.com/your-username>`__
=========================================
TYPO3 Documentation Starter "Public Info"
=========================================
......
{
"modes": [
{
"name": "draw",
"selector": "drawing-mode",
"requiresDrawing": true,
"requiresSelection": false,
"isToggle": true,
"toggle": "isDrawingMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-pencil"
},
{
"name": "highlight",
"selector": "highlight-mode",
"requiresDrawing": true,
"requiresSelection": false,
"isToggle": true,
"toggle": "isHighlightMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-pencil"
},
{
"name": "write",
"selector": "add-text",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "drawTextBoxMode",
"hasToggleElement": true,
"toggleElement": "textContainer",
"icon": "glyphicon-text-height"
},
{
"name": "emoji",
"selector": "add-emoji",
"requiresDrawing": false,
"requiresSelection": true,
"isToggle": true,
"toggle": "emojiMode",
"hasToggleElement": true,
"toggleElement": "emojiContainer",
"icon": "glyphicon-ice-lolly-tasted"
},
{
"name": "rectangle",
"selector": "add-rect",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "drawRectangleMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-stop"
},
{
"name": "move",
"selector": "move-mode",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "isHighlightMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-move"
},
{
"name": "delete",
"selector": "clear-canvas",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": false,
"toggle": "",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-trash"
}
],
"currentMode": "draw",
"modes": [
{
"name": "draw",
"selector": "drawing-mode",
"requiresDrawing": true,
"requiresSelection": false,
"isToggle": true,
"toggle": "isDrawingMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-pencil"
},
{
"name": "highlight",
"selector": "highlight-mode",
"requiresDrawing": true,
"requiresSelection": false,
"isToggle": true,
"toggle": "isHighlightMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-pencil"
},
{
"name": "write",
"selector": "add-text",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "drawTextBoxMode",
"hasToggleElement": true,
"toggleElement": "textContainer",
"icon": "glyphicon-text-height"
},
{
"name": "emoji",
"selector": "add-emoji",
"requiresDrawing": false,
"requiresSelection": true,
"isToggle": true,
"toggle": "emojiMode",
"hasToggleElement": true,
"toggleElement": "emojiContainer",
"icon": "glyphicon-ice-lolly-tasted"
},
{
"name": "rectangle",
"selector": "add-rect",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "drawRectangleMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-stop"
},
{
"name": "move",
"selector": "move-mode",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": true,
"toggle": "isHighlightMode",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-move"
},
{
"name": "delete",
"selector": "clear-canvas",
"requiresDrawing": false,
"requiresSelection": false,
"isToggle": false,
"toggle": "",
"hasToggleElement": false,
"toggleElement": "",
"icon": "glyphicon-trash"
}
],
"currentMode": "draw",
"colors": [
{
"name": "blue",
......
This diff is collapsed.
......@@ -162,9 +162,9 @@ class BuildFormBootstrap extends AbstractBuildForm {
$formId = $this->store->getVar(COLUMN_ID, STORE_RECORD . STORE_ZERO);
$queryStringArray = [
'id' => $this->store->getVar(SYSTEM_EDIT_FORM_PAGE, STORE_SYSTEM),
'id' => $this->store->getVar(SYSTEM_EDIT_FORM_PAGE, STORE_SYSTEM),
'form' => 'copyForm',
'r' => 0,
'r' => 0,
'idSrc' => $formId,
];
$queryString = Support::arrayToQueryString($queryStringArray);
......@@ -210,7 +210,7 @@ class BuildFormBootstrap extends AbstractBuildForm {
$queryStringArray = [
'id' => $this->store->getVar(SYSTEM_EDIT_FORM_PAGE, STORE_SYSTEM),
'form' => $form,
'r' => 0,
'r' => 0,
];
$queryString = Support::arrayToQueryString($queryStringArray);
$sip = $this->store->getSipInstance();
......@@ -579,7 +579,7 @@ EOF;
}
/**
* @param array $formElement Complete FormElement, especially some FE_WRAP
* @param array $formElement Complete FormElement, especially some FE_WRAP
* @param string $htmlElement Content to wrap.
* @param $htmlFormElementName
*
......@@ -636,11 +636,11 @@ EOF;
* - if $formElement[$wrapName] is given: wrap with that one. Else: wrap with $wrapArray
* - if $htmlId is give, inject it in $wrap.
*
* @param array $formElement Complete FormElement, especially some FE_WRAP
* @param array $formElement Complete FormElement, especially some FE_WRAP
* @param string $htmlElement Content to wrap.
* @param string $wrapName FE_WRAP_ROW, FE_WRAP_LABEL, FE_WRAP_INPUT, FE_WRAP_NOTE
* @param int $bsColumns
* @param array $wrapArray Systemwide Defaults: [ 'open wrap', 'close wrap' ]
* @param string $wrapName FE_WRAP_ROW, FE_WRAP_LABEL, FE_WRAP_INPUT, FE_WRAP_NOTE
* @param int $bsColumns
* @param array $wrapArray Systemwide Defaults: [ 'open wrap', 'close wrap' ]
* @param string $htmlId
* @param string $class
*
......
......@@ -38,7 +38,7 @@ class Delete {
* to a file: delete such a file if their are no other records in the same table which also have a reference to
* that file.
*
* @param string $tableName
* @param string $tableName
* @param integer $recordId
*
* @throws CodeException
......
......@@ -40,9 +40,9 @@ class Evaluate {
/**
* @param \qfq\Store $store
* @param Database $db
* @param string $startDelimiter
* @param string $endDelimiter
* @param Database $db
* @param string $startDelimiter
* @param string $endDelimiter
*/
public function __construct(Store $store, Database $db, $startDelimiter = '{{', $endDelimiter = '}}') {
$this->store = $store;
......
......@@ -34,10 +34,10 @@ class File {
$this->store = Store::getInstance('', $phpUnit);
$this->uploadErrMsg = [
UPLOAD_ERR_INI_SIZE => "The uploaded file exceeds the upload_max_filesize directive in php.ini",
UPLOAD_ERR_INI_SIZE => "The uploaded file exceeds the upload_max_filesize directive in php.ini",
UPLOAD_ERR_FORM_SIZE => "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form",
UPLOAD_ERR_PARTIAL => "The uploaded file was only partially uploaded",
UPLOAD_ERR_NO_FILE => "No file was uploaded",
UPLOAD_ERR_PARTIAL => "The uploaded file was only partially uploaded",
UPLOAD_ERR_NO_FILE => "No file was uploaded",
UPLOAD_ERR_NO_TMP_DIR => "Missing a temporary folder",
UPLOAD_ERR_CANT_WRITE => "Failed to write file to disk",
UPLOAD_ERR_EXTENSION => "File upload stopped by extension",
......@@ -73,7 +73,7 @@ class File {
/**
* @param string $sipUpload
* @param array $statusUpload
* @param array $statusUpload
*
* @throws CodeException
* @throws UserFormException
......
......@@ -118,7 +118,7 @@ class QuickFormQuery {
* instantiated automatically. Store might throw an exception, in case the URL-passed SIP is invalid.
*
* @param array $t3data
* @param bool $phpUnit
* @param bool $phpUnit
*
* @throws CodeException
* @throws UserFormException
......@@ -513,7 +513,7 @@ class QuickFormQuery {
/**
* Iterate over all Clipboard source records and fire for each all FE.type=paste records.
*
* @param int $formId
* @param int $formId
* @param FormAction $formAction
*
* @throws CodeException
......@@ -562,7 +562,7 @@ class QuickFormQuery {
* used parameters. Do this by building a new SIP with the new recordId.
*
* @param array $formSpec
* @param int $recordId
* @param int $recordId
*
* @return array
* @throws CodeException
......@@ -597,7 +597,7 @@ class QuickFormQuery {
* Loaded 'native' FormElements are in $this->feSpecNative
*
* @param string $mode FORM_LOAD|FORM_SAVE|FORM_UPDATE
* @param int $recordId
* @param int $recordId
* @param string $foundInStore
*
* @return bool|string if found the formName, else 'false'.
......@@ -708,9 +708,9 @@ class QuickFormQuery {
* This code is dirty: the nearly same function exists in class 'Database' - the difference is only
* 'explodeTemplateGroupElements()'.
*
* @param string $sql SQL_FORM_ELEMENT_SPECIFIC_CONTAINER | SQL_FORM_ELEMENT_ALL_CONTAINER
* @param array $param Parameter which matches the prepared statement in $sql
* @param array $formSpec Main FormSpec to copy generic parameter to FormElements
* @param string $sql SQL_FORM_ELEMENT_SPECIFIC_CONTAINER | SQL_FORM_ELEMENT_ALL_CONTAINER
* @param array $param Parameter which matches the prepared statement in $sql
* @param array $formSpec Main FormSpec to copy generic parameter to FormElements
*
* @return array|int
* @throws \qfq\CodeException
......@@ -846,7 +846,7 @@ class QuickFormQuery {
* E.g.: the form title is not important during a delete.
*
* @param string $mode
* @param array $form
* @param array $form
*
* @return array
*/
......@@ -1170,7 +1170,7 @@ class QuickFormQuery {
* Based on the given SIP, create a new uniqe SIP by copying the relevant old params and taking the new recordId..
*
* @param array $sipArray
* @param int $recordId
* @param int $recordId
*/
private function newRecordCreateSip(array $sipArray, $recordId) {
......
......@@ -233,8 +233,8 @@ class Save {
/**
* @param string $tableName
* @param array $values
* @param int $recordId
* @param array $values
* @param int $recordId
*
* @return bool|int false if $values is empty, else affectedrows
* @throws CodeException
......@@ -318,10 +318,10 @@ class Save {
*
* Check also: doc/CODING.md
*
* @param array $formElement FormElement 'upload'
* @param string $sipUpload SIP
* @param Sip $sip
* @param string $modeUpload UPLOAD_MODE_UNCHANGED | UPLOAD_MODE_NEW | UPLOAD_MODE_DELETEOLD |
* @param array $formElement FormElement 'upload'
* @param string $sipUpload SIP
* @param Sip $sip
* @param string $modeUpload UPLOAD_MODE_UNCHANGED | UPLOAD_MODE_NEW | UPLOAD_MODE_DELETEOLD |
* UPLOAD_MODE_DELETEOLD_NEW
*
* @return false|string New pathFilename or false on error
......@@ -435,7 +435,7 @@ class Save {
* Create/update or delete the slave record.
*
* @param array $fe
* @param bool $flagNewUpload
* @param bool $flagNewUpload
*
* @return int
* @throws CodeException
......
......@@ -149,10 +149,10 @@ class Database {
*
* @param $sql
* @param string $mode
* @param array $parameterArray
* @param array $parameterArray
* @param string $specificMessage
* @param array $keys
* @param array $stat DB_NUM_ROWS | DB_INSERT_ID | DB_AFFECTED_ROWS
* @param array $keys
* @param array $stat DB_NUM_ROWS | DB_INSERT_ID | DB_AFFECTED_ROWS
*
* @return array|int
* SELECT | SHOW | DESCRIBE | EXPLAIN: see $mode
......@@ -262,11 +262,11 @@ class Database {
* Returns the number of selected rows (SELECT, SHOW, ..) or the affected rows (UPDATE, INSERT). $stat contains
* appropriate num_rows, insert_id or rows_affected.
*
* @param string $sql SQL statement with prepared statement variable.
* @param array $parameterArray parameter array for prepared statement execution.
* @param string $queryType returns QUERY_TYPE_SELECT | QUERY_TYPE_UPDATE | QUERY_TYPE_INSERT, depending on
* @param string $sql SQL statement with prepared statement variable.
* @param array $parameterArray parameter array for prepared statement execution.
* @param string $queryType returns QUERY_TYPE_SELECT | QUERY_TYPE_UPDATE | QUERY_TYPE_INSERT, depending on
* the query.
* @param array $stat DB_NUM_ROWS | DB_INSERT_ID | DB_AFFECTED_ROWS
* @param array $stat DB_NUM_ROWS | DB_INSERT_ID | DB_AFFECTED_ROWS
*
* @return int|mixed
* @throws \qfq\CodeException
......@@ -507,7 +507,7 @@ class Database {
* default: Return 2-dimensional assoc array
*
* @param string $mode
* @param array $keys
* @param array $keys
*
* @return array|bool|mixed|string false in case of an error.
* Empty string is returned if the query didn't yield any rows.
......@@ -644,8 +644,8 @@ class Database {
* Wrapper for sql(), to simplyfy access.
*
* @param $sql
* @param array $keys
* @param array $stat
* @param array $keys
* @param array $stat
*
* @return array|bool
* @throws \qfq\CodeException
......@@ -693,9 +693,9 @@ class Database {
/**
* Depending on $sql reads FormElements to a specific container or all. Preprocess all FormElements.
*
* @param string $sql SQL_FORM_ELEMENT_SPECIFIC_CONTAINER | SQL_FORM_ELEMENT_ALL_CONTAINER
* @param array $param Parameter which matches the prepared statement in $sql
* @param array $formSpec Main FormSpec to copy generic parameter to FormElements
* @param string $sql SQL_FORM_ELEMENT_SPECIFIC_CONTAINER | SQL_FORM_ELEMENT_ALL_CONTAINER
* @param array $param Parameter which matches the prepared statement in $sql
* @param array $formSpec Main FormSpec to copy generic parameter to FormElements
*
* @return array|int
* @throws \qfq\CodeException
......
......@@ -108,8 +108,8 @@ class Dirty {
/**
* Tries to get a 'DirtyRecord'. Returns an array (becomes JSON) about success or failure.
*
* @param int $recordId
* @param array $tableVars
* @param int $recordId
* @param array $tableVars
* @param string $recordHashMd5
*
* @return array
......@@ -150,7 +150,7 @@ class Dirty {
* Load (if exist) a DirtyRecord (lock).
*
* @param string $tableName
* @param int $recordId
* @param int $recordId
*
* @return array DirtyRecord or empty array.
* @throws CodeException
......@@ -172,7 +172,7 @@ class Dirty {
/**
*
* @param array $recordDirty
* @param array $recordDirty
* @param string $currentFormDirtyMode
*
* @return array
......@@ -214,9 +214,9 @@ class Dirty {
/**
* Write a 'Dirty'-Record.
*
* @param string $s SIP given by URL GET
* @param int $recordId extracted from SIP
* @param array $tableVars columns: F_TABLE_NAME, F_DIRTY_MODE, F_RECORD_LOCK_TIMEOUT_SECONDS
* @param string $s SIP given by URL GET
* @param int $recordId extracted from SIP
* @param array $tableVars columns: F_TABLE_NAME, F_DIRTY_MODE, F_RECORD_LOCK_TIMEOUT_SECONDS
* @param string $feUser
* @param string $recordHashMd5
*
......@@ -238,8 +238,8 @@ class Dirty {
[$s, $tableName, $recordId, $expire, $recordHashMd5, $feUser, $this->client[CLIENT_COOKIE_QFQ], $formDirtyMode,
$this->client[CLIENT_REMOTE_ADDRESS], date('YmdHis')]);
return [API_STATUS => API_ANSWER_STATUS_SUCCESS, API_MESSAGE => '',
API_LOCK_TIMEOUT => $tableVars[F_RECORD_LOCK_TIMEOUT_SECONDS]];
return [API_STATUS => API_ANSWER_STATUS_SUCCESS, API_MESSAGE => '',
API_LOCK_TIMEOUT => $tableVars[F_RECORD_LOCK_TIMEOUT_SECONDS]];
}
......@@ -247,7 +247,7 @@ class Dirty {
* Get MD5 from tableName/recordId and compare with $recordHashMd5.
*
* @param string $tableName
* @param int $recordId
* @param int $recordId
* @param string $recordHashMd5 - timestamp e.g. '2017-07-27 14:06:56'
*
* @return bool true if $recordHashMd5 is different from current record md5 hash.
......@@ -271,8 +271,8 @@ class Dirty {
* Check if a lock exist for the current table, recordId and session.
*
* @param string $tableName
* @param int $recordId
* @param array $recordDirty - return dirty record if one exist.
* @param int $recordId
* @param array $recordDirty - return dirty record if one exist.
* @param string $msg - return preformatted message in case of conflict
*
* @return int LOCK_NOT_FOUND | LOCK_FOUND_OWNER | LOCK_FOUND_CONFLICT,
......@@ -312,10 +312,10 @@ class Dirty {
* In case of not owner, throws an exception and the save should break.
*
* @param string $formMode FORM_DELETE, FORM_SAVE
* @param int $lockTimeout
* @param int $lockTimeout
* @param string $dirtyMode DIRTY_MODE_EXCLUSIVE, DIRTY_MODE_ADVISORY, DIRTY_MODE_NONE
* @param string $tableName
* @param int $recordId
* @param int $recordId
*
* @return array
* @throws \qfq\CodeException
......
......@@ -58,8 +58,8 @@ class FormAction {
/**
* @param integer $recordId
* @param array $feSpecAction
* @param string $feTypeList
* @param array $feSpecAction
* @param string $feTypeList
* On FormLoad: FE_TYPE_BEFORE_LOAD, FE_TYPE_AFTER_LOAD
* Before Save: FE_TYPE_BEFORE_SAVE, FE_TYPE_BEFORE_INSERT, FE_TYPE_BEFORE_UPDATE, FE_TYPE_BEFORE_DELETE
* After Save: FE_TYPE_AFTER_SAVE, FE_TYPE_AFTER_INSERT, FE_TYPE_AFTER_UPDATE, FE_TYPE_AFTER_DELETE
......@@ -293,7 +293,7 @@ class FormAction {
* `sqlInsert`
*
* @param array $fe
* @param int $recordId
* @param int $recordId
*
* @return int ACTION_ELEMENT_MODIFIED if there are potential(!) changes on the DB like INSERT / UPDATE,
* ACTION_ELEMENT_NO_CHANGE if nothing happened
......@@ -418,12 +418,12 @@ class FormAction {
* Process all FE.type='paste' for the given master record in clipboard.
* Will store the clipboard in STORE_PARENT.
*
* @param array $feSpecAction - all FE.class='action' - just process 'paste'
* @param string $recordSourceTable - table name from where to copy the source records
* @param array $feSpecAction - all FE.class='action' - just process 'paste'
* @param string $recordSourceTable - table name from where to copy the source records
* @param string $recordDestinationTable - table name where the records will be duplicated to.
* @param string $sub - on the highest level an empty string. It's a filter, value comes from
* @param string $sub - on the highest level an empty string. It's a filter, value comes from
* FE.name, to specify sub-sub copy rules.
* @param array $clipboard
* @param array $clipboard
*
* @throws CodeException
* @throws UserFormException
......@@ -468,15 +468,15 @@ class FormAction {
/**
*
*
* @param array $feSpecActionAll - all FE.class='action' - just process 'paste'
* @param array $updateRecords - array of records: 'id' is the source.id, all other fields will replace
* @param array $feSpecActionAll - all FE.class='action' - just process 'paste'
* @param array $updateRecords - array of records: 'id' is the source.id, all other fields will replace
* source columns.
* @param $recordSourceTable - table name from where to copy the source records
* @param $recordSourceTable - table name from where to copy the source records
* @param $recordDestinationTable - table name where the records will be duplicated to.
* @param string $sub - on the highest level an empty string. It's a filter, value comes from
* @param string $sub - on the highest level an empty string. It's a filter, value comes from
* FE.name, to specify sub-sub copy rules.
* @param array $clipboard -
* @param string $field - name of a column where to save the lastInsertId.
* @param array $clipboard -
* @param string $field - name of a column where to save the lastInsertId.
*
* @return int - lastInsertId
* @throws CodeException
......@@ -590,7 +590,7 @@ class FormAction {
* If there is nothing to copy - Do nothing.
* Columns with name 'id', 'modified' or 'created' are skipped.
*
* @param array $row
* @param array $row
* @param string $destTable
*
* @return int - lastInsertId
......
......@@ -92,7 +92,7 @@ class TypeAhead {
* If there is no 'LIMIT x' defined, append it.
* Returns an dict array [ API_TYPEAHEAD_KEY => key, API_TYPEAHEAD_VALUE => value ]
*
* @param array $config
* @param array $config
* @param string $value
*
* @return array
......
......@@ -100,7 +100,7 @@ class HelperFormElement {
/**
* Build the FE name: <field>-<record index)
*
* @param array $formElement
* @param array $formElement
* @param string $id
*
* @return string
......@@ -258,7 +258,7 @@ class HelperFormElement {
* * $formElement[FE_TYPE] - for 'password' it will be faked to 'password'
*
* @param array $formElement
* @param bool $showInline
* @param bool $showInline
*
* @return array
*/
......
......@@ -153,7 +153,7 @@ class KeyValueStringParser {
*
* @param string $delimiter
* @param string $data
* @param int $max
* @param int $max
*
* @return array
*/
......
......@@ -49,8 +49,8 @@ class Ldap {
/**
* @param $ds
* @param array $config
* @param array $attr
* @param array $config
* @param array $attr
*
* @return resource
*/
......@@ -197,10 +197,10 @@ class Ldap {