diff --git a/extension/qfq/sql/formEditor.sql b/extension/qfq/sql/formEditor.sql index edcf7d483e94f1d4434a1ccc077d9a2f8204d971..506230136d6377f5dfc6c519ef544b2d0704a754 100644 --- a/extension/qfq/sql/formEditor.sql +++ b/extension/qfq/sql/formEditor.sql @@ -1,41 +1,42 @@ CREATE TABLE IF NOT EXISTS `Form` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `name` VARCHAR(255) NOT NULL DEFAULT '', - `title` VARCHAR(512) NOT NULL DEFAULT '', - `noteInternal` TEXT NOT NULL, - `tableName` VARCHAR(255) NOT NULL DEFAULT '', - - - `permitNew` ENUM('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', - `permitEdit` ENUM('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', - `escapeTypeDefault` VARCHAR(32) NOT NULL DEFAULT 'c', - `render` ENUM('bootstrap', 'table', 'plain') NOT NULL DEFAULT 'bootstrap', - `requiredParameterNew` VARCHAR(255) NOT NULL DEFAULT '', - `requiredParameterEdit` VARCHAR(255) NOT NULL DEFAULT '', - `dirtyMode` ENUM('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', - `showButton` SET('new', 'delete', 'close', 'save') NOT NULL DEFAULT 'new,delete,close,save', - `multiMode` ENUM('none', 'horizontal', 'vertical') NOT NULL DEFAULT 'none', - `multiSql` TEXT NOT NULL, - `multiDetailForm` VARCHAR(255) NOT NULL DEFAULT '', - `multiDetailFormParameter` VARCHAR(255) NOT NULL DEFAULT '', - - `forwardMode` ENUM('client', 'no', 'url', 'url-skip-history', 'url-sip') NOT NULL DEFAULT 'client', - `forwardPage` VARCHAR(255) NOT NULL DEFAULT '', - - `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', - `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', - `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', - - `parameter` TEXT NOT NULL, - `parameterLanguageA` TEXT NOT NULL, - `parameterLanguageB` TEXT NOT NULL, - `parameterLanguageC` TEXT NOT NULL, - `parameterLanguageD` TEXT NOT NULL, - `recordLockTimeoutSeconds` INT(11) NOT NULL DEFAULT 900, - - `deleted` ENUM('yes', 'no') NOT NULL DEFAULT 'no', - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `id` INT(11) NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL DEFAULT '', + `title` VARCHAR(511) NOT NULL DEFAULT '', + `noteInternal` TEXT NOT NULL, + `tableName` VARCHAR(255) NOT NULL DEFAULT '', + + + `permitNew` ENUM ('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', + `permitEdit` ENUM ('sip', 'logged_in', 'logged_out', 'always', 'never') NOT NULL DEFAULT 'sip', + `escapeTypeDefault` VARCHAR(32) NOT NULL DEFAULT 'c', + `render` ENUM ('bootstrap', 'table', 'plain') NOT NULL DEFAULT 'bootstrap', + `requiredParameterNew` VARCHAR(255) NOT NULL DEFAULT '', + `requiredParameterEdit` VARCHAR(255) NOT NULL DEFAULT '', + `dirtyMode` ENUM ('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', + `showButton` SET ('new', 'delete', 'close', 'save') NOT NULL DEFAULT 'new,delete,close,save', + `multiMode` ENUM ('none', 'horizontal', 'vertical') NOT NULL DEFAULT 'none', + `multiSql` TEXT NOT NULL, + `multiDetailForm` VARCHAR(255) NOT NULL DEFAULT '', + `multiDetailFormParameter` VARCHAR(255) NOT NULL DEFAULT '', + + `forwardMode` ENUM ('client', 'no', 'url', 'url-skip-history', 'url-sip') NOT NULL DEFAULT 'client', + `forwardPage` VARCHAR(255) NOT NULL DEFAULT '', + + `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', + `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', + `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', + + `parameter` TEXT NOT NULL, + `parameterLanguageA` TEXT NOT NULL, + `parameterLanguageB` TEXT NOT NULL, + `parameterLanguageC` TEXT NOT NULL, + `parameterLanguageD` TEXT NOT NULL, + `recordLockTimeoutSeconds` INT(11) NOT NULL DEFAULT 900, + + `deleted` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `name` (`name`), @@ -47,58 +48,59 @@ CREATE TABLE IF NOT EXISTS `Form` ( CREATE TABLE IF NOT EXISTS `FormElement` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `formId` INT(11) NOT NULL, - `feIdContainer` INT(11) NOT NULL DEFAULT '0', - `dynamicUpdate` ENUM('yes', 'no') NOT NULL DEFAULT 'no', - - `enabled` ENUM('yes', 'no') NOT NULL DEFAULT 'yes', - - `name` VARCHAR(255) NOT NULL DEFAULT '', - `label` VARCHAR(1023) NOT NULL DEFAULT '', - - `mode` ENUM('show', 'required', 'readonly', 'hidden') NOT NULL DEFAULT 'show', - `modeSql` TEXT NOT NULL, - `class` ENUM('native', 'action', 'container') NOT NULL DEFAULT 'native', - `type` ENUM('checkbox', 'date', 'datetime', 'dateJQW', 'datetimeJQW', 'extra', 'gridJQW', 'text', - 'editor', 'time', 'note', 'password', 'radio', 'select', 'subrecord', 'upload', - 'annotate', 'imageCut', 'fieldset', 'pill', 'templateGroup', - 'beforeLoad', 'beforeSave', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterLoad', - 'afterSave', 'afterInsert', 'afterUpdate', 'afterDelete', 'sendMail', 'paste') NOT NULL DEFAULT 'text', - `subrecordOption` SET('edit', 'delete', 'new') NOT NULL DEFAULT '', - `encode` ENUM('none', 'specialchar') NOT NULL DEFAULT 'specialchar', - `checkType` ENUM('auto', 'alnumx', 'digit', 'numerical', 'email', 'pattern', 'allbut', 'all') NOT NULL DEFAULT 'auto', - `checkPattern` VARCHAR(255) NOT NULL DEFAULT '', - - `onChange` VARCHAR(255) NOT NULL DEFAULT '', - - `ord` INT(11) NOT NULL DEFAULT '0', - `tabindex` INT(11) NOT NULL DEFAULT '0', - - `size` VARCHAR(255) NOT NULL DEFAULT '', - `maxLength` VARCHAR(255) NOT NULL DEFAULT '', - `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', - `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', - `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', - `rowLabelInputNote` SET('row', 'label', '/label', 'input', '/input', 'note', '/note', '/row') NOT NULL DEFAULT 'row,label,/label,input,/input,note,/note,/row', - `note` TEXT NOT NULL, - `adminNote` TEXT NOT NULL, - `tooltip` VARCHAR(255) NOT NULL DEFAULT '', - `placeholder` VARCHAR(2048) NOT NULL DEFAULT '', - - `value` TEXT NOT NULL, - `sql1` TEXT NOT NULL, - `parameter` TEXT NOT NULL, - `parameterLanguageA` TEXT NOT NULL, - `parameterLanguageB` TEXT NOT NULL, - `parameterLanguageC` TEXT NOT NULL, - `parameterLanguageD` TEXT NOT NULL, - `clientJs` TEXT NOT NULL, - - `feGroup` VARCHAR(255) NOT NULL DEFAULT '', - `deleted` ENUM('yes', 'no') NOT NULL DEFAULT 'no', - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `id` INT(11) NOT NULL AUTO_INCREMENT, + `formId` INT(11) NOT NULL, + `feIdContainer` INT(11) NOT NULL DEFAULT '0', + `dynamicUpdate` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', + + `enabled` ENUM ('yes', 'no') NOT NULL DEFAULT 'yes', + + `name` VARCHAR(255) NOT NULL DEFAULT '', + `label` VARCHAR(511) NOT NULL DEFAULT '', + + `mode` ENUM ('show', 'required', 'readonly', 'hidden') NOT NULL DEFAULT 'show', + `modeSql` TEXT NOT NULL, + `class` ENUM ('native', 'action', 'container') NOT NULL DEFAULT 'native', + `type` ENUM ('checkbox', 'date', 'datetime', 'dateJQW', 'datetimeJQW', 'extra', 'gridJQW', 'text', + 'editor', 'time', 'note', 'password', 'radio', 'select', 'subrecord', 'upload', + 'annotate', 'imageCut', 'fieldset', 'pill', 'templateGroup', + 'beforeLoad', 'beforeSave', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterLoad', + 'afterSave', 'afterInsert', 'afterUpdate', 'afterDelete', 'sendMail', 'paste') NOT NULL DEFAULT 'text', + `subrecordOption` SET ('edit', 'delete', 'new') NOT NULL DEFAULT '', + `encode` ENUM ('none', 'specialchar') NOT NULL DEFAULT 'specialchar', + `checkType` ENUM ('auto', 'alnumx', 'digit', 'numerical', 'email', 'pattern', 'allbut', 'all') NOT NULL DEFAULT 'auto', + `checkPattern` VARCHAR(255) NOT NULL DEFAULT '', + + `onChange` VARCHAR(255) NOT NULL DEFAULT '', + + `ord` INT(11) NOT NULL DEFAULT '0', + `tabindex` INT(11) NOT NULL DEFAULT '0', + + `size` VARCHAR(255) NOT NULL DEFAULT '', + `maxLength` VARCHAR(255) NOT NULL DEFAULT '', + `bsLabelColumns` VARCHAR(255) NOT NULL DEFAULT '', + `bsInputColumns` VARCHAR(255) NOT NULL DEFAULT '', + `bsNoteColumns` VARCHAR(255) NOT NULL DEFAULT '', + `rowLabelInputNote` SET ('row', 'label', '/label', 'input', '/input', 'note', '/note', '/row') NOT NULL DEFAULT 'row,label,/label,input,/input,note,/note,/row', + `note` TEXT NOT NULL, + `adminNote` TEXT NOT NULL, + `tooltip` VARCHAR(255) NOT NULL DEFAULT '', + `placeholder` VARCHAR(2048) NOT NULL DEFAULT '', + + `value` TEXT NOT NULL, + `sql1` TEXT NOT NULL, + `parameter` TEXT NOT NULL, + `parameterLanguageA` TEXT NOT NULL, + `parameterLanguageB` TEXT NOT NULL, + `parameterLanguageC` TEXT NOT NULL, + `parameterLanguageD` TEXT NOT NULL, + `clientJs` TEXT NOT NULL, + + `feGroup` VARCHAR(255) NOT NULL DEFAULT '', + `deleted` ENUM ('yes', 'no') NOT NULL DEFAULT 'no', + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `formId` (`formId`), @@ -114,18 +116,19 @@ CREATE TABLE IF NOT EXISTS `FormElement` ( CREATE TABLE IF NOT EXISTS `Dirty` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `sip` VARCHAR(255) NOT NULL, - `tableName` VARCHAR(255) NOT NULL, - `recordId` INT(11) NOT NULL, - `expire` DATETIME NOT NULL, - `recordHashMd5` CHAR(32) NOT NULL, - `feUser` VARCHAR(255) NOT NULL, - `qfqUserSessionCookie` VARCHAR(255) NOT NULL, - `dirtyMode` ENUM('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', - `remoteAddress` VARCHAR(45) NOT NULL, - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `created` DATETIME NOT NULL, + `id` INT(11) NOT NULL AUTO_INCREMENT, + `sip` VARCHAR(255) NOT NULL, + `tableName` VARCHAR(255) NOT NULL, + `recordId` INT(11) NOT NULL, + `expire` DATETIME NOT NULL, + `recordHashMd5` CHAR(32) NOT NULL, + `feUser` VARCHAR(255) NOT NULL, + `qfqUserSessionCookie` VARCHAR(255) NOT NULL, + `dirtyMode` ENUM ('exclusive', 'advisory', 'none') NOT NULL DEFAULT 'exclusive', + `remoteAddress` VARCHAR(45) NOT NULL, + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `created` DATETIME NOT NULL, PRIMARY KEY (`id`), KEY `sip` (`sip`), KEY `tableName` (`tableName`), @@ -140,7 +143,8 @@ CREATE TABLE IF NOT EXISTS `Period` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `start` DATETIME NOT NULL, `name` VARCHAR(255) NOT NULL, - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL, PRIMARY KEY (`id`), KEY `start` (`start`) @@ -180,35 +184,36 @@ INSERT INTO FormElement (formId, name, label, mode, type, checkType, class, ord, VALUES # Make the form a 'delete form' for records Form/FormElement. (1, 'Delete FE', '', 'show', 'beforeDelete', 'all', 'action', 100, 0, 0, '', '', '', '', - 'sqlAfter={{DELETE FROM FormElement WHERE formId={{id:R}} }}', 0, '', '', '', 'none', 'no', ''), + 'sqlAfter={{DELETE FROM FormElement WHERE formId={{id:R}} }}', + 0, '', '', '', 'none', 'no', ''), (1, 'name', 'Name', 'required', 'text', 'pattern', 'native', 120, 0, 0, '<a href="{{documentation:Y}}#form-name">Info</a>', '', '', '', 'autofocus', - 1, '', '', '', 'specialchar', 'no', '[a-zA-Z0-9._+-]+'), + 1, '', '', '', 'specialchar', 'no', '[a-zA-Z0-9._+-]+'), (1, 'title', 'Title', 'show', 'text', 'all', 'native', 130, 0, 0, '<a href="{{documentation:Y}}#form-title">Info</a>', '', '', '', '', 1, '', '', '', 'none', 'no', ''), (1, 'noteInternal', 'Note', 'show', 'text', 'all', 'native', 140, '40,3', 0, '<a href="{{documentation:Y}}#form-note">Info</a>', '', '', '', '', 1, '', '', '', 'specialchar', 'no', ''), (1, 'tableName', 'Table', 'required', 'select', 'all', 'native', 150, 0, 0, '<a href="{{documentation:Y}}#form-tablename">Info</a>', '', '', '{{[{{indexData:Y}}]!SHOW tables}}', - 'emptyItemAtStart', 1, '', '', '', 'specialchar', 'no', ''), + 'emptyItemAtStart', 1, '', '', '', 'specialchar', 'no', ''), (1, 'parameterLanguageA', 'Language: {{formLanguageALabel:YE}}', 'show', 'text', 'all', 'native', 160, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageAId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageAId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), (1, 'parameterLanguageB', 'Language: {{formLanguageBLabel:YE}}', 'show', 'text', 'all', 'native', 160, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageBId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageBId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), (1, 'parameterLanguageC', 'Language: {{formLanguageCLabel:YE}}', 'show', 'text', 'all', 'native', 160, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageCId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageCId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), (1, 'parameterLanguageD', 'Language: {{formLanguageDLabel:YE}}', 'show', 'text', 'all', 'native', 160, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageDId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 1, '', '{{SELECT IF("{{formLanguageDId:YE}}"="","hidden","show" ) }}', '', 'none', 'no', ''), (1, 'requiredParameterNew', 'Required Parameter NEW', 'show', 'text', 'all', 'native', 200, 0, 0, '<a href="{{documentation:Y}}#required-parameter-new-edit">Info</a>', '', '', '', '', 2, '', '', '', 'specialchar', 'no', ''), (1, 'requiredParameterEdit', 'Required Parameter EDIT', 'show', 'text', 'all', 'native', 200, 0, 0, '<a href="{{documentation:Y}}#required-parameter-new-edit">Info</a>', '', '', '', '', 2, '', '', '', 'specialchar', 'no', ''), (1, 'permitNew', 'Permit New', 'show', 'radio', 'all', 'native', 210, 0, 10, '<a href="{{documentation:Y}}#form-permitnewedit">Info</a>', '', '', '', 'buttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), (1, 'permitEdit', 'Permit Edit', 'show', 'radio', 'all', 'native', 220, 0, 10, '<a href="{{documentation:Y}}#form-permitnewedit">Info</a>', '', '', '', 'buttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), (1, 'escapeTypeDefault', 'Escape type default', 'show', 'radio', 'all', 'native', 230, 0, 10, '<a href="{{documentation:Y}}#variable-escape">Info</a>', '', '', '', - 'itemList=c:config,s:single,d:double,l:ldap search,L:ldap value,m:mysql realEscapeString,-:none\nbuttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), + 'itemList=c:config,s:single,d:double,l:ldap search,L:ldap value,m:mysql realEscapeString,-:none\nbuttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), (1, 'dirtyMode', 'Record Locking', 'show', 'radio', 'all', 'native', 240, 0, 10, '<a href="{{documentation:Y}}#locking-record">Info</a>', '', '', '', - 'buttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), + 'buttonClass=btn-default', 2, '', '', '', 'specialchar', 'no', ''), (1, 'recordLockTimeoutSeconds', 'Lock timeout (seconds)', 'show', 'text', 'all', 'native', 245, 0, 0, '<a href="{{documentation:Y}}#locking-record">Info</a>', '', - '{{SELECT IF("{{recordLockTimeoutSeconds:R0}}"=0,"{{recordLockTimeoutSeconds:Y0}}","{{recordLockTimeoutSeconds:R0}}")}}', '', '', 2, '', '', '', 'specialchar', 'no', ''), + '{{SELECT IF("{{recordLockTimeoutSeconds:R0}}"=0,"{{recordLockTimeoutSeconds:Y0}}","{{recordLockTimeoutSeconds:R0}}")}}', '', '', 2, '', '', '', 'specialchar', 'no', ''), (1, 'showButton', 'Show button', 'show', 'checkbox', 'all', 'native', 250, 0, 5, '<a href="{{documentation:Y}}#showbutton">Info</a>', '', '', '', 'checkBoxMode = multi\norientation=vertical', 2, '', '', '', 'specialchar', 'no', ''), (1, 'forwardMode', 'Forward', 'show', 'radio', 'all', 'native', 300, 0, 0, '<a href="{{documentation:Y}}#form-forward">Info</a>', '', '', '', 'buttonClass=btn-default', 3, '', '', '', 'specialchar', 'no', ''), (1, 'forwardPage', 'Forward URL / Page', 'show', 'text', 'all', 'native', 310, 0, 0, '<a href="{{documentation:Y}}#form-forward">Info</a>', '', '', '', '', 3, '', - '', '', 'none', 'no', ''), + '', '', 'none', 'no', ''), (1, 'parameter', 'Parameter', 'show', 'text', 'all', 'native', 320, '40,8', 0, '<a href="{{documentation:Y}}#form-parameter">Info</a>', '', '', '', '', 3, '', '', '', 'none', 'no', ''), (1, 'bsLabelColumns', 'BS Label Columns', 'show', 'text', 'all', 'native', 330, 0, 0, '<a href="{{documentation:Y}}#form-layout">Info</a>', '', '', '', '', 3, '', '', '{{bsLabelColumns:Y}}', 'specialchar', 'no', ''), (1, 'bsInputColumns', 'BS Input Columns', 'show', 'text', 'all', 'native', 340, 0, 0, '', '', '', '', '', 3, '', '', '{{bsInputColumns:Y}}', 'specialchar', 'no', ''), @@ -216,32 +221,34 @@ VALUES (1, 'deleted', 'Deleted', 'show', 'checkbox', 'all', 'native', 360, 0, 0, '', '', '', '', '', 3, '', '', '', 'specialchar', 'no', ''), (1, 'modified', 'Modified', 'readonly', 'text', 'all', 'native', 370, 0, 20, '', '', '', '', '', 3, '', '', '', 'specialchar', 'no', ''), (1, 'created', 'Created', 'readonly', 'text', 'all', 'native', 380, 0, 20, '', '', '', '', '', 3, '', '', '', - 'specialchar', 'no', ''), + 'specialchar', 'no', ''), (1, 'multi', 'Multi', 'show', 'fieldset', 'all', 'native', 400, 0, 0, '', '', '', '', '', 4, '', '', '', - 'specialchar', 'no', ''), + 'specialchar', 'no', ''), (1, 'multiMode', 'Multi Mode', 'show', 'radio', 'all', 'native', 410, 0, 0, '', '', '', '', '', 4, '', '', '', - 'specialchar', 'no', ''), + 'specialchar', 'no', ''), (1, 'multiSql', 'Multi SQL', 'show', 'text', 'all', 'native', 420, '40,3', 0, '', '', '', '', '', 4, '', '', '', - 'none', 'no', ''), + 'none', 'no', ''), (1, 'multiDetailForm', 'Multi Detail Form', 'show', 'text', 'all', 'native', 430, 0, 0, '', '', '', '', '', 4, - '', '', '', 'specialchar', 'no', ''), + '', '', '', 'specialchar', 'no', ''), (1, 'multiDetailFormParameter', 'Multi Detail Form Parameter', 'show', 'text', 'all', 'native', 440, 0, 0, '', '', - '', '', '', 4, '', '', '', 'none', 'no', ''), + '', '', '', 4, '', '', '', 'none', 'no', ''), (1, '', 'FormElements', 'show', 'subrecord', 'all', 'native', 500, 0, 0, '', '', '', - '{{!SELECT IF( fe.enabled="yes", IF( fe.enabled="yes" AND fe.feIdContainer=0 AND !ISNULL(feCX.id) AND fe.class="native", "danger", IF( fe.class="container", "text-info", IF( fe.class="action", "text-success", ""))), "text-muted") AS _rowClass, IF( fe.enabled="yes", IF(fe.feIdContainer=0 AND !ISNULL(feCX.id) AND fe.class="native", "Please choose a container for this formelement", fe.class), "Disabled") AS _rowTitle, fe.id AS _id, CONCAT(fe.ord, ''<br><small class="text-muted">'',fe.id, ''</small>'') AS ''Ord|nostrip'', CONCAT( IFNULL( CONCAT( feC.name, " (", fe.feIdContainer, ")"),"")) AS Container, fe.name AS "Name|50", fe.label AS Label, fe.mode AS Mode, fe.class AS Class, fe.type AS Type, IF(fe.dynamicUpdate="yes", \'<span class="glyphicon glyphicon-random"></span>\',"") AS "Dyn|nostrip" FROM FormElement AS fe LEFT JOIN FormElement AS feC ON feC.id=fe.feIdContainer AND feC.formId=fe.formId LEFT JOIN FormElement AS feCX ON feCX.class="container" AND feCX.enabled="yes" AND feCX.formId=fe.formId WHERE fe.formId={{id:R0}} GROUP BY fe.id ORDER BY fe.class DESC, feC.ord, fe.ord, fe.id}}', - 'form=formElement\ndetail=id:formId', 5, 'new,edit,delete', '', '', 'none', 'no', ''); + '{{!SELECT IF( fe.enabled="yes", IF( fe.enabled="yes" AND fe.feIdContainer=0 AND !ISNULL(feCX.id) AND fe.class="native", "danger", IF( fe.class="container", "text-info", IF( fe.class="action", "text-success", ""))), "text-muted") AS _rowClass, IF( fe.enabled="yes", IF(fe.feIdContainer=0 AND !ISNULL(feCX.id) AND fe.class="native", "Please choose a container for this formelement", fe.class), "Disabled") AS _rowTitle, fe.id AS _id, CONCAT(fe.ord, ''<br><small class="text-muted">'',fe.id, ''</small>'') AS ''Ord|nostrip'', CONCAT( IFNULL( CONCAT( feC.name, " (", fe.feIdContainer, ")"),"")) AS Container, fe.name AS "Name|50", fe.label AS Label, fe.mode AS Mode, fe.class AS Class, fe.type AS Type, IF(fe.dynamicUpdate="yes", \'<span class="glyphicon glyphicon-random"></span>\',"") AS "Dyn|nostrip" FROM FormElement AS fe LEFT JOIN FormElement AS feC ON feC.id=fe.feIdContainer AND feC.formId=fe.formId LEFT JOIN FormElement AS feCX ON feCX.class="container" AND feCX.enabled="yes" AND feCX.formId=fe.formId WHERE fe.formId={{id:R0}} GROUP BY fe.id ORDER BY fe.class DESC, feC.ord, fe.ord, fe.id}}', + 'form=formElement\ndetail=id:formId', 5, + 'new,edit,delete', '', '', 'none', 'no', + ''); # # FormEditor: FormElement INSERT INTO Form (id, name, title, noteInternal, tableName, permitNew, permitEdit, render, multiSql, parameter, requiredParameterNew) VALUES (2, 'formElement', - 'Form Element Editor. Form : {{SELECT f.id, " / ", f.name FROM Form AS f WHERE f.id = {{formId:S0}} }} (DB: {{_dbNameQfq:Y}})', - 'Please secure the form', - 'FormElement', 'sip', 'sip', 'bootstrap', '', - 'maxVisiblePill=5\nclassBody=qfq-color-blue-1\ndbIndex={{indexQfq:Y}}', 'formId'); + 'Form Element Editor. Form : {{SELECT f.id, " / ", f.name FROM Form AS f WHERE f.id = {{formId:S0}} }} (DB: {{_dbNameQfq:Y}})', + 'Please secure the form', + 'FormElement', 'sip', 'sip', 'bootstrap', '', + 'maxVisiblePill=5\nclassBody=qfq-color-blue-1\ndbIndex={{indexQfq:Y}}', 'formId'); # FormEditor: FormElements for 'formElement' INSERT INTO FormElement (id, formId, name, label, mode, type, checkType, class, ord, size, note, clientJs, value, @@ -261,45 +268,45 @@ INSERT INTO FormElement (formId, name, label, mode, type, checkType, class, ord, VALUES (2, 'feIdContainer', 'Container', 'show', 'select', 'all', 'native', 120, 0, 0, - '<a href="{{documentation:Y}}#class-container">Info</a>', '', '', - '{{!SELECT fe.id, CONCAT(fe.type, " / ", fe.name, " (", COUNT(feSub.id), ")" ) FROM FormElement As fe LEFT JOIN FormElement As feSub ON feSub.feIdContainer=fe.id WHERE fe.formId={{formId:SR0}} AND fe.class="container" GROUP BY fe.id ORDER BY fe.type, fe.ord, fe.name }}', - 'emptyItemAtStart', 100, '', 'no', '', '', '', + '<a href="{{documentation:Y}}#class-container">Info</a>', '', '', + '{{!SELECT fe.id, CONCAT(fe.type, " / ", fe.name, " (", COUNT(feSub.id), ")" ) FROM FormElement As fe LEFT JOIN FormElement As feSub ON feSub.feIdContainer=fe.id WHERE fe.formId={{formId:SR0}} AND fe.class="container" GROUP BY fe.id ORDER BY fe.type, fe.ord, fe.name }}', + 'emptyItemAtStart', 100, '', 'no', '', '', '', '{{SELECT IF(COUNT(fe.id)>0, "show", "hidden") FROM Form AS f LEFT JOIN FormElement AS fe ON f.id=fe.formId AND fe.class="container" WHERE f.id={{formId:S0}} GROUP BY f.id}}', '', 'specialchar'), (2, 'enabled', 'Enabled', 'show', 'checkbox', 'all', 'native', 130, 0, 0, '<a href="{{documentation:Y}}#class-native">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'dynamicUpdate', 'Dynamic Update', 'show', 'checkbox', 'all', 'native', 135, 0, 0, '<a href="{{documentation:Y}}#dynamic-update">Info</a>', - '', '', '', '', 100, '', 'no', '', '', '', '', '', 'specialchar'), + '', '', '', '', 100, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'name', 'Name', 'show', 'text', 'all', 'native', 140, 0, 0, '<a href="{{documentation:Y}}#class-native">Info</a>', '', '', '', - 'typeAheadSql = [{{indexData:Y}}]SELECT COLUMN_NAME FROM information_schema.columns WHERE table_schema = "{{DB_1_NAME:Y}}" AND table_name = "{{SELECT f.tableName FROM Form AS f WHERE f.id={{formId:S0}}}}" AND COLUMN_NAME LIKE ? ORDER BY COLUMN_NAME\ntypeAheadMinLength = 1\ntypeAheadLimit = 100\ntypeAheadPedantic = 0\n', - 100, '<a href="{{documentation:Y}}#class-native">Info</a>', 'no', '', '', '', '', '', 'specialchar'), + 'typeAheadSql = [{{indexData:Y}}]SELECT COLUMN_NAME FROM information_schema.columns WHERE table_schema = "{{DB_1_NAME:Y}}" AND table_name = "{{SELECT f.tableName FROM Form AS f WHERE f.id={{formId:S0}}}}" AND COLUMN_NAME LIKE ? ORDER BY COLUMN_NAME\ntypeAheadMinLength = 1\ntypeAheadLimit = 100\ntypeAheadPedantic = 0\n', + 100, '<a href="{{documentation:Y}}#class-native">Info</a>', 'no', '', '', '', '', '', 'specialchar'), (2, 'label', 'Label', 'show', 'text', 'all', 'native', 150, 0, 0, '<a href="{{documentation:Y}}#class-native">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '', '', 'none'), (2, 'mode', 'Mode', 'show', 'radio', 'all', 'native', 160, 0, 0, '<a href="{{documentation:Y}}#class-native">Info</a>', '', '', '', 'buttonClass=btn-default', 100, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'modeSql', 'Mode sql', 'show', 'text', 'all', 'native', 170, '70,2', 0, '<a href="{{documentation:Y}}#dynamic-update">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '', '', 'none'), (2, 'class', 'Class', 'show', 'select', 'all', 'native', 180, 0, 0, '<a href="{{documentation:Y}}#class-container">Info</a>', '', '{{class:FSRD0:alnumx}}', '', '', 100, '', 'yes', '', '', '', '', '', 'none'), (2, 'type', 'Type', 'show', 'select', 'all', 'native', 190, 0, 0, - '<a href="{{documentation:Y}}#class-native">Native</a>, <a href="{{documentation:Y}}#class-action">Action</a>, <a href="{{documentation:Y}}#class-container">Container</a>', - '', '', '', - 'itemList={{SELECT IF( "{{class:FRD0:alnumx}}"="native","checkbox,date,time,datetime,dateJQW,datetimeJQW,extra,gridJQW,text,editor,annotate,imageCut,note,password,radio,select,subrecord,upload", IF("{{class:FRD0:alnumx}}"="action","beforeLoad,beforeSave,beforeInsert,beforeUpdate,beforeDelete,afterLoad,afterSave,afterInsert,afterUpdate,afterDelete,sendMail,paste", "fieldset,pill,templateGroup") ) }}', - 100, '', 'yes', '', '', '', '', '', 'specialchar'), + '<a href="{{documentation:Y}}#class-native">Native</a>, <a href="{{documentation:Y}}#class-action">Action</a>, <a href="{{documentation:Y}}#class-container">Container</a>', + '', '', '', + 'itemList={{SELECT IF( "{{class:FRD0:alnumx}}"="native","checkbox,date,time,datetime,dateJQW,datetimeJQW,extra,gridJQW,text,editor,annotate,imageCut,note,password,radio,select,subrecord,upload", IF("{{class:FRD0:alnumx}}"="action","beforeLoad,beforeSave,beforeInsert,beforeUpdate,beforeDelete,afterLoad,afterSave,afterInsert,afterUpdate,afterDelete,sendMail,paste", "fieldset,pill,templateGroup") ) }}', + 100, '', 'yes', '', '', '', '', '', 'specialchar'), (2, 'subrecordOption', 'Subrecord Option', 'show', 'checkbox', 'all', 'native', 200, 0, 0, '<a href="{{documentation:Y}}#subrecord-option">Info</a>', '', '', '', - '', 100, '', 'yes', '', '', '', '{{ SELECT IF("{{type:FRE:alnumx}}"="subrecord" AND "{{class:FRE:alnumx}}"="native", "show", "hidden") }}', '', 'specialchar'), + '', 100, '', 'yes', '', '', '', '{{ SELECT IF("{{type:FRE:alnumx}}"="subrecord" AND "{{class:FRE:alnumx}}"="native", "show", "hidden") }}', '', 'specialchar'), (2, 'parameterLanguageA', 'Language: {{formLanguageALabel:YE}}', 'show', 'text', 'all', 'native', 210, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageAId:YE}}"="","hidden","show" ) }}', '', 'none'), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageAId:YE}}"="","hidden","show" ) }}', '', 'none'), (2, 'parameterLanguageB', 'Language: {{formLanguageBLabel:YE}}', 'show', 'text', 'all', 'native', 210, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageBId:YE}}"="","hidden","show" ) }}', '', 'none'), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageBId:YE}}"="","hidden","show" ) }}', '', 'none'), (2, 'parameterLanguageC', 'Language: {{formLanguageCLabel:YE}}', 'show', 'text', 'all', 'native', 210, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageCId:YE}}"="","hidden","show" ) }}', '', 'none'), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageCId:YE}}"="","hidden","show" ) }}', '', 'none'), (2, 'parameterLanguageD', 'Language: {{formLanguageDLabel:YE}}', 'show', 'text', 'all', 'native', 210, '60,2', 0, - '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageDId:YE}}"="","hidden","show" ) }}', '', 'none'), + '<a href="{{documentation:Y}}#multi-language-form">Info</a>', '', '', '', '', 100, '', 'no', '', '', '', '{{SELECT IF("{{formLanguageDId:YE}}"="","hidden","show" ) }}', '', 'none'), (2, 'encode', 'Encode', 'show', 'radio', 'all', 'native', 300, 0, 0, '<a href="{{documentation:Y}}#field-encode">Info</a>', '', '', '', 'buttonClass=btn-default', 101, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'checkType', 'Check Type', 'show', 'radio', 'all', 'native', 310, 0, 0, '<a href="{{documentation:Y}}#field-checktype">Info</a>', '', '', '', 'buttonClass=btn-default', 101, '', 'yes', '', '', '', '', '', 'specialchar'), (2, 'checkPattern', 'Check Pattern', 'show', 'text', 'all', 'native', 320, 0, 0, '<a href="{{documentation:Y}}#field-checkpattern">Info</a>, <a href="https://regex101.com/">Regex101</a>', '', '', '', '', 101, '', 'yes', '', '', '', '{{ SELECT IF("{{checkType:FRE:alnumx}}"="pattern" OR "{{checkType:FRE:allbut}}" LIKE "min%", "show", "hidden") }}', '', 'none'), #(2, 'onChange', 'JS onChange', 'show', 'text', 'all', 'native', 330, 0, 0, '', '', '', '', '', 101, '', 'no', '', '', '', '', '', 'none'), (2, 'ord', 'Order', 'show', 'text', 'all', 'native', 340, 0, 0, '<a href="{{documentation:Y}}#field-ord">Info</a>', '', - '{{SELECT IF({{ord:R0}}=0, MAX(IFNULL(fe.ord,0))+10,{{ord:R0}}) FROM (SELECT 1) AS a LEFT JOIN FormElement AS fe ON fe.formId={{formId:S0}} GROUP BY fe.formId}}', - '', '', 101, '', 'no', '', '', '', '', '', 'specialchar'), + '{{SELECT IF({{ord:R0}}=0, MAX(IFNULL(fe.ord,0))+10,{{ord:R0}}) FROM (SELECT 1) AS a LEFT JOIN FormElement AS fe ON fe.formId={{formId:S0}} GROUP BY fe.formId}}', + '', '', 101, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'tabindex', 'tabindex', 'show', 'text', 'all', 'native', 350, 0, 0, '<a href="{{documentation:Y}}#field-tabindex">Info</a>', '', '', '', '', 101, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'size', 'Size', 'show', 'text', 'all', 'native', 400, 0, 0, '<a href="{{documentation:Y}}#field-size">Info</a>', '', '', '', '', 102, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'bsLabelColumns', 'BS Label Columns', 'show', 'text', 'all', 'native', 410, 0, 0, '<a href="{{documentation:Y}}#field-bslabelcolumns">Info</a>', '', '', '', '', 102, '', 'no', '', '', '', '', '{{bsLabelColumns:Y}}', 'specialchar'), @@ -312,20 +319,20 @@ VALUES (2, 'placeholder', 'Placeholder', 'show', 'text', 'all', 'native', 480, 0, 0, '<a href="{{documentation:Y}}#field-placeholder">Info</a>', '', '', '', '', 102, '', 'no', '', '', '', '', '', 'none'), (2, 'value', 'value', 'show', 'text', 'all', 'native', 500, '40,2', 0, '<a href="{{documentation:Y}}#field-value">Info</a>', '', '', '', '', 103, '', 'no', '', '', '', '', '', 'none'), (2, 'sql1', 'sql1', 'show', 'text', 'all', 'native', 510, '40,5', 0, - '<a href="{{documentation:Y}}#sql1">Info</a><br><br>MariaDB: <a href="https://mariadb.com/kb/en/mariadb/select/">Select</a>, <a href="https://mariadb.com/kb/en/mariadb/functions-and-operators/">Functions</a>', - '', '', '', '', 103, '', 'no', '', '', '', '', '', 'none'), + '<a href="{{documentation:Y}}#sql1">Info</a><br><br>MariaDB: <a href="https://mariadb.com/kb/en/mariadb/select/">Select</a>, <a href="https://mariadb.com/kb/en/mariadb/functions-and-operators/">Functions</a>', + '', '', '', '', 103, '', 'no', '', '', '', '', '', 'none'), (2, 'parameter', 'Parameter', 'show', 'text', 'all', 'native', 520, '40,8', 0, '<a href="{{documentation:Y}}#fe-parameter-attributes">Info</a>', - '', '', '', '', 103, '', 'no', '', '', '', '', '', 'none'), + '', '', '', '', 103, '', 'no', '', '', '', '', '', 'none'), (2, 'adminNote', 'Admin Note', 'show', 'text', 'all', 'native', 600, 0, 0, '', '', '', '', '', 104, '', 'no', '', '', - '', '', '', 'specialchar'), + '', '', '', 'specialchar'), (2, 'feGroup', 'feGroup', 'show', 'text', 'all', 'native', 610, 0, 0, '', '', '', '', '', 104, '', 'no', '', '', '', '', '', 'specialchar'), (2, 'deleted', 'Deleted', 'show', 'checkbox', 'all', 'native', 620, 0, 0, '', '', '', '', '', 104, '', 'no', '', '', - '', '', '', 'specialchar'), + '', '', '', 'specialchar'), (2, 'modified', 'Modified', 'readonly', 'text', 'all', 'native', 630, 0, 20, '', '', '', '', '', 104, '', 'no', - '', '', '', '', '', 'specialchar'), + '', '', '', '', '', 'specialchar'), (2, 'created', 'Created', 'readonly', 'text', 'all', 'native', 640, 0, 20, '', '', '', '', '', 104, '', 'no', '', - '', '', '', '', 'specialchar'); + '', '', '', '', 'specialchar'); # ---------------------------------------- # MailLog @@ -360,7 +367,8 @@ CREATE TABLE IF NOT EXISTS `Clipboard` ( `formIdPaste` INT(11) NOT NULL DEFAULT '0', `idSrc` INT(11) NOT NULL DEFAULT '0', `xId` INT(11) NOT NULL DEFAULT '0', - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) @@ -392,29 +400,29 @@ VALUES '{{!SELECT fe.id AS id, {{formId:P}} AS formId FROM FormElement AS fe WHERE fe.formId={{id:P}} ORDER BY fe.ord}}', 'recordDestinationTable=FormElement\ntranslateIdColumn=feIdContainer'); - # Default record for table Period INSERT INTO Period (start, name, created) VALUES (NOW(), 'dummy', NOW()); # AutoCRON CREATE TABLE IF NOT EXISTS `Cron` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `grId` INT(11) NOT NULL, - `type` ENUM('mail', 'website') NOT NULL DEFAULT 'website', - `lastRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - `lastStatus` TEXT NOT NULL, - `nextRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - `frequency` VARCHAR(32) NOT NULL, - `inProgress` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - `status` ENUM('enable', 'disable') NOT NULL DEFAULT 'enable', - `sql1` TEXT NOT NULL, - `content` TEXT NOT NULL, - `comment` TEXT NOT NULL, - `outputFile` VARCHAR(255) NOT NULL, - `outputMode` ENUM('overwrite', 'append') NOT NULL DEFAULT 'append', - `outputPattern` VARCHAR(255) NOT NULL, - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `id` INT(11) NOT NULL AUTO_INCREMENT, + `grId` INT(11) NOT NULL, + `type` ENUM ('mail', 'website') NOT NULL DEFAULT 'website', + `lastRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastStatus` TEXT NOT NULL, + `nextRun` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `frequency` VARCHAR(32) NOT NULL, + `inProgress` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `status` ENUM ('enable', 'disable') NOT NULL DEFAULT 'enable', + `sql1` TEXT NOT NULL, + `content` TEXT NOT NULL, + `comment` TEXT NOT NULL, + `outputFile` VARCHAR(255) NOT NULL, + `outputMode` ENUM ('overwrite', 'append') NOT NULL DEFAULT 'append', + `outputPattern` VARCHAR(255) NOT NULL, + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, + `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE = InnoDB @@ -433,17 +441,17 @@ VALUES (4, 'status', 'Enabled', 'show', '', 'checkbox', 'specialchar', 'alnumx', 10, '', '', '', 'no', '', '', ''), (4, 'type', 'Type', 'show', '', 'radio', 'specialchar', 'alnumx', 20, 'buttonClass=btn-default', '', '', 'yes', '', '', ''), (4, 'nextRun', 'Next run', 'show', '', 'text', 'specialchar', 'alnumx', 30, - 'extraButtonInfo = Cronjob will be started if specified timestamp is over. If timestamp=0: Job will never be started<br>Every time the jobs runs, this timestamp will be increased automatically by "frequency".', - '', '', 'no', '', '', ''), + 'extraButtonInfo = Cronjob will be started if specified timestamp is over. If timestamp=0: Job will never be started<br>Every time the jobs runs, this timestamp will be increased automatically by "frequency".', + '', '', 'no', '', '', ''), (4, 'frequency', 'Frequency', 'show', '', 'text', 'specialchar', 'alnumx', 40, - 'extraButtonInfo = Repeat AutoCron-job with the specified interval. If empty: no repeating.<br>E.g.: "1 DAY", "15 MINUTE'', "6 MONTH" - used directly in SQL-Function "DATE_ADD(<nextrun>, INTERVAL <frequency>)"', - '', '', 'no', '', '', ''), + 'extraButtonInfo = Repeat AutoCron-job with the specified interval. If empty: no repeating.<br>E.g.: "1 DAY", "15 MINUTE'', "6 MONTH" - used directly in SQL-Function "DATE_ADD(<nextrun>, INTERVAL <frequency>)"', + '', '', 'no', '', '', ''), (4, 'comment', 'Comment', 'show', '', 'text', 'specialchar', 'allbut', 50, '', '', '', 'no', '', '', ''), (4, 'sql1', 'Mail', 'show', '{{SELECT IF("{{type:FR:alnumx}}"="mail","show","hidden") }}', 'text', 'none', 'all', 60, - 'extraButtonInfo = Query: {{!SELECT ... as sendMailTo...}}<br><b>sendMailTo / sendMailCc / sendMailBcc</b>: Separate multiple by comma.<br><b>sendMailFrom</b><br><b>sendMailSubject</b><br><b>sendMailReplyTo</b>: Optional<br><b>sendMailFlagAutoSubmit</b>: Optional. on|off. Default on - if "on", suppresses OoO answers from receivers.<br><b>sendMailGrId</b>: Optional<br><b>sendMailXId</b>: Optional', - '60,4', '', 'yes', '', '', ''), + 'extraButtonInfo = Query: {{!SELECT ... as sendMailTo...}}<br><b>sendMailTo / sendMailCc / sendMailBcc</b>: Separate multiple by comma.<br><b>sendMailFrom</b><br><b>sendMailSubject</b><br><b>sendMailReplyTo</b>: Optional<br><b>sendMailFlagAutoSubmit</b>: Optional. on|off. Default on - if "on", suppresses OoO answers from receivers.<br><b>sendMailGrId</b>: Optional<br><b>sendMailXId</b>: Optional', + '60,4', '', 'yes', '', '', ''), (4, 'content', '{{SELECT IF("{{type:FR:alnumx}}"="mail","Mail body","URL") }}', 'show', '', 'text', 'none', 'all', 70, - '', '40,4', 'Website: URL absolute like "http://..." or relative like "?id=pagealias..."<br>Mail: Static Body or {{SELECT ...}}', 'yes', '', '', ''), + '', '40,4', 'Website: URL absolute like "http://..." or relative like "?id=pagealias..."<br>Mail: Static Body or {{SELECT ...}}', 'yes', '', '', ''), (4, 'outputFile', 'Log output to file', 'show', '{{SELECT IF("{{type:FR:alnumx}}"="mail","hidden","show") }}', 'text', 'none', 'all', 80, '', '', 'CWD: Site installation directory', 'yes', '', '', ''), (4, 'outputMode', 'Mode output', 'show', '{{SELECT IF("{{type:FR:alnumx}}"="mail","hidden","show") }}', 'radio', 'specialchar', 'alnumx', 90, 'buttonClass=btn-default', '', '', 'yes', '', '', ''), @@ -453,15 +461,16 @@ VALUES (4, 'lastStatus', 'Laststatus', 'readonly', '', 'text', 'specialchar', 'alnumx', 130, '', '50,6', '', 'no', '3', '9', '0'), (4, 'inProgress', 'In progress since', 'show', '', 'text', 'specialchar', 'alnumx', 140, - 'extraButtonInfo = Start time of a running job. When job is finished, this will be set back to 0. A new job will only be started, if this is 0. A progress duration >10mins will be treated as an error.', - '', '', 'no', '', '', ''); + 'extraButtonInfo = Start time of a running job. When job is finished, this will be set back to 0. A new job will only be started, if this is 0. A progress duration >10mins will be treated as an error.', + '', '', 'no', '', '', ''); CREATE TABLE IF NOT EXISTS `Split` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `tableName` VARCHAR(255) NOT NULL, `xId` INT(11) NOT NULL, `pathFileName` VARCHAR(255) NOT NULL, - `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `modified` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) )