Page content record > bodytext const STORE_VAR = "V"; // Generic Vars const STORE_ZERO = "0"; // value: 0, might helpfull if variable is empty but used in an SQL statement, which might produce a SQL error otherwise if substituted with an empty string const STORE_EMPTY = "E"; // value: '', might helpfull if variable is not defined and should result in an empty string instead of {{...}} (cause not replaced) const STORE_SYSTEM = "Y"; // various system values like db connection credentials const STORE_EXTRA = 'X'; // Persistent Store: contains arrays! Not Usefull for user. Used by system. const STORE_ADDITIONAL_FORM_ELEMENTS = 'A'; // Internal Store to collect FormElements. Typically for 'hidden' elements of radio and checkbox. Helps render those elements at the end of the whole form rendering. const STORE_LDAP = 'L'; const STORE_USE_DEFAULT = "FSRVD"; // // Store: Definitions / Members // // URL variables const CLIENT_FORM = 'form'; const CLIENT_SIP = 's'; const CLIENT_RECORD_ID = 'r'; const CLIENT_KEY_SEM_ID = 'keySemId'; const CLIENT_KEY_SEM_ID_USER = 'keySemIdUser'; const CLIENT_PAGE_ID = 'id'; const CLIENT_PAGE_TYPE = 'type'; const CLIENT_PAGE_LANGUAGE = 'L'; const CLIENT_UPLOAD_FE_NAME = 'name'; const CLIENT_SIP_FOR_FORM = '_sipForForm'; const CLIENT_FE_NAME = '_feName'; const CLIENT_TYPO3VARS = '_sipForTypo3Vars'; // ALL $_SERVER variables: http://php.net/manual/en/reserved.variables.server.php // The following exist and might be the most used ones. const CLIENT_SCRIPT_URL = 'SCRIPT_URL'; const CLIENT_SCRIPT_URI = 'SCRIPT_URI'; const CLIENT_HTTP_HOST = 'HTTP_HOST'; const CLIENT_HTTP_USER_AGENT = 'HTTP_USER_AGENT'; const CLIENT_SERVER_NAME = 'SERVER_NAME'; const CLIENT_SERVER_ADDRESS = 'SERVER_ADDR'; const CLIENT_SERVER_PORT = 'SERVER_PORT'; const CLIENT_REMOTE_ADDRESS = 'REMOTE_ADDR'; const CLIENT_REQUEST_SCHEME = 'REQUEST_SCHEME'; const CLIENT_SCRIPT_FILENAME = 'SCRIPT_FILENAME'; const CLIENT_QUERY_STRING = 'QUERY_STRING'; const CLIENT_REQUEST_URI = 'REQUEST_URI'; const CLIENT_SCRIPT_NAME = 'SCRIPT_NAME'; const CLIENT_PHP_SELF = 'PHP_SELF'; // T3 Bodytext Keywords const TYPO3_FORM = CLIENT_FORM; const TYPO3_RECORD_ID = CLIENT_RECORD_ID; const TYPO3_BE_USER_LOGGED_IN = 'beUser'; // 'yes' | 'no' const TYPO3_FE_USER = 'feUser'; const TYPO3_FE_USER_UID = 'feUserUid'; const TYPO3_FE_USER_GROUP = 'feUserGroup'; const TYPO3_TT_CONTENT_UID = 'ttcontentUid'; const TYPO3_PAGE_ID = 'pageId'; const TYPO3_PAGE_TYPE = 'pageType'; const TYPO3_PAGE_LANGUAGE = 'pageLanguage'; const TYPO3_DEBUG_SHOW_BODY_TEXT = 'debugShowBodyText'; // System const SYSTEM_DB_USER = 'DB_USER'; const SYSTEM_DB_SERVER = 'DB_SERVER'; const SYSTEM_DB_PASSWORD = 'DB_PASSWORD'; const SYSTEM_DB_NAME = 'DB_NAME'; const SYSTEM_DB_NAME_TEST = 'DB_NAME_TEST'; const SYSTEM_DB_INIT = 'DB_INIT'; const SYSTEM_SQL_LOG = 'SQL_LOG'; // Logging to file const SYSTEM_SQL_LOG_MODE = 'SQL_LOG_MODE'; // Mode, which statements to log. const SYSTEM_DATE_FORMAT = 'DATE_FORMAT'; const SYSTEM_SHOW_DEBUG_INFO = 'SHOW_DEBUG_INFO'; const SYSTEM_CSS_LINK_CLASS_INTERNAL = 'CSS_LINK_CLASS_INTERNAL'; const SYSTEM_CSS_LINK_CLASS_EXTERNAL = 'CSS_LINK_CLASS_EXTERNAL'; const SYSTEM_CSS_CLASS_QFQ_CONTAINER = 'CSS_CLASS_QFQ_CONTAINER'; const SYSTEM_CSS_CLASS_QFQ_FORM = 'CSS_CLASS_QFQ_FORM'; const SYSTEM_CSS_CLASS_QFQ_FORM_PILL = 'CSS_CLASS_QFQ_FORM_PILL'; const SYSTEM_CSS_CLASS_QFQ_FORM_BODY = 'CSS_CLASS_QFQ_FORM_BODY'; // Textmessages used for Form validation. const SYSTEM_FORM_DATA_PATTERN_ERROR = 'FORM_DATA_PATTERN_ERROR'; const SYSTEM_FORM_DATA_REQUIRED_ERROR = 'FORM_DATA_REQUIRED_ERROR'; const SYSTEM_FORM_DATA_MATCH_ERROR = 'FORM_DATA_MATCH_ERROR'; const SYSTEM_FORM_DATA_ERROR = 'FORM_DATA_ERROR'; const SYSTEM_FORM_BS_COLUMNS = 'FORM_BS_COLUMNS'; const SYSTEM_FORM_BS_LABEL_COLUMNS = 'FORM_BS_LABEL_COLUMNS'; const SYSTEM_FORM_BS_INPUT_COLUMNS = 'FORM_BS_INPUT_COLUMNS'; const SYSTEM_FORM_BS_NOTE_COLUMNS = 'FORM_BS_NOTE_COLUMNS'; const SYSTEM_FORM_BUTTON_ON_CHANGE_CLASS = 'FORM_BUTTON_ON_CHANGE_CLASS'; const SYSTEM_BASE_URL_PRINT = 'BASE_URL_PRINT'; const SYSTEM_WKHTMLTOPDF = 'WKHTMLTOPDF'; const SYSTEM_EDIT_FORM_PAGE = 'EDIT_FORM_PAGE'; // computed automatically during runtime const SYSTEM_PATH_EXT = 'EXT_PATH'; const SYSTEM_SITE_PATH = 'SITE_PATH'; const SYSTEM_LDAP_1_RDN = 'LDAP_1_RDN'; // Credentials to access LDAP const SYSTEM_LDAP_1_PASSWORD = 'LDAP_1_PASSWORD'; // Credentials to access LDAP const SYSTEM_ESCAPE_TYPE_DEFAULT = 'ESCAPE_TYPE_DEFAULT'; const SYSTEM_SECURITY_VARS_HONEYPOT = 'SECURITY_VARS_HONEYPOT'; // Fake variables const SYSTEM_SECURITY_ATTACK_DELAY = 'SECURITY_ATTACK_DELAY'; // Detected attack causes x seconds delay const SYSTEM_SECURITY_SHOW_MESSAGE = 'SECURITY_SHOW_MESSAGE'; // Detected attack shows an error message const SYSTEM_SECURITY_GET_MAX_LENGTH = 'SECURITY_GET_MAX_LENGTH'; // Trim every character (before conversion) to SECURITY_GET_MAX_LENGTH chars; // Not stored in config.qfq.ini, but used in STORE_SYSTEM // Information for: Log / Debug / Exception const SYSTEM_SQL_RAW = 'sqlRaw'; // Type: SANITIZE_ALL / String. SQL Query (before substitute). Useful for error reporting. const SYSTEM_SQL_FINAL = 'sqlFinal'; // Type: SANITIZE_ALL / String. SQL Query (after substitute). Useful for error reporting. const SYSTEM_SQL_COUNT = 'sqlCount'; // Type: SANITIZE_DIGIT / Int.Number of rows in SQL ResultSet. Useful for error reporting. const SYSTEM_SQL_PARAM_ARRAY = 'sqlParamArray'; // Type: SANITIZE_ALL / Parameter of prepared SQL Statement. Useful for error reporting. const SYSTEM_FORM = CLIENT_FORM; // ' / ' const SYSTEM_FORM_ELEMENT = 'formElement'; // ' / ' const SYSTEM_FORM_ELEMENT_COLUMN = 'formElementColumn'; // '' const SYSTEM_FORM_ELEMENT_MESSAGE = 'formElementMessage'; // '' const SYSTEM_REPORT_COLUMN_INDEX = 'reportColumnIndex'; // Keyname of SQL-column processed at the moment. const SYSTEM_REPORT_COLUMN_NAME = 'reportColumnName'; // Keyname of SQL-column processed at the moment. const SYSTEM_REPORT_COLUMN_VALUE = 'reportColumnValue'; // Keyname of SQL-column processed at the moment. const SYSTEM_REPORT_FULL_LEVEL = 'reportFullLevel'; // Keyname of SQL-column processed at the moment. const SYSTEM_DOWNLOAD_POPUP = 'hasDownloadPopup'; // Marker which is set to 'true' if there is at least one Download Link rendered const DOWNLOAD_POPUP_REQUEST = 'true'; const DOWNLOAD_POPUP_REPLACE_TEXT = '#downloadPopupReplaceText#'; const DOWNLOAD_POPUP_REPLACE_TITLE = '#downloadPopupReplaceTitle#'; // die folgenden Elemente sind vermutlich nicht noetig, wenn Store Klassen gloable Vars benutzt. //const SYSTEM_FORM_DEF = 'formDefinition'; // Type: SANITIZE_ALNUMX / AssocArray. Final form to process. Useful for error reporting. //const SYSTEM_FORM_ELEMENT_DEF = 'formElementDefinition'; // Type: SANITIZE_ALL / AssocArray. Formelement which are processed at the moment. Useful for error reporting. //const SYSTEM_FORM_ELEMENT_FIELD = 'formElementField'; // Type: SANITIZE_ALNUMX / String. Fieldname of processed Formelement. Useful for error reporting. const MODE_HTML = 'html'; const MODE_JSON = 'json'; const MSG_HEADER = 'header'; const MSG_CONTENT = 'content'; const MSG_ERROR_CODE = 'errorCode'; const SIP_TOKEN_LENGTH = 13; // length of string returned by `uniqid()` const SIP_SIP = CLIENT_SIP; // s const SIP_RECORD_ID = CLIENT_RECORD_ID; // r const SIP_TARGET_URL = '_targetUrl'; // URL where to jump after delete() const SIP_MODE_ANSWER = '_modeAnswer'; // Mode how delete() will answer to client: MODE_HTML, MODE_JSON const SIP_FORM = CLIENT_FORM; const SIP_TABLE = 'table'; // delete a record from 'table' const SIP_URLPARAM = 'urlparam'; const SIP_MAKE_URLPARAM_UNIQ = '_makeUrlParamUniq'; // SIPs for 'new records' needs to be uniq per TAB! Therefore add a uniq parameter const SIP_DOWNLOAD_PARAMETER = '_b64_download'; // Parametername, filled in SIP, to hold all download element parameter. const SIP_PREFIX_BASE64 = '_b64'; const SIP_EXCLUDE_ID = 'id'; const SIP_EXCLUDE_TYPE = 'type'; const SIP_EXCLUDE_L = 'L'; const SIP_EXCLUDE_XDEBUG_SESSION_START = 'XDEBUG_SESSION_START'; // FURTHER: all extracted params from 'urlparam const ACTION_KEYWORD_SLAVE_ID = 'slaveId'; const VAR_RANDOM = 'random'; const VAR_FILE_DESTINATION = 'fileDestination'; const VAR_SLAVE_ID = ACTION_KEYWORD_SLAVE_ID; const VAR_FILENAME = 'filename'; // Original filename of an uploaded file. // PHP class DB can operate in these modes const MODE_DB_REGULAR = 'regular'; const MODE_DB_NO_LOG = 'noLog'; // PHP class Typeahead const TYPEAHEAD_API_QUERY = 'query'; // Name of parameter in API call of typeahead.php?query=...&s=... - See also FE_TYPE_AHEAD_SQL const TYPEAHEAD_API_PREFETCH = 'prefetch'; // Name of parameter in API call of typeahead.php?prefetch=...&s=... - See also FE_TYPE_AHEAD_SQL const TYPEAHEAD_API_SIP = 'sip'; // Name of parameter in API call of typeahead.php?query=...&s=... const TYPEAHEAD_DEFAULT_LIMIT = 20; const TYPEAHEAD_SQL_KEY_NAME = 'id'; const DEFAULT_LDAP_TIME_LIMIT = 3; const SINGLE_TICK = "'"; const DOUBLE_TICK = '"'; // TOKEN evaluate const TOKEN_ESCAPE_SINGLE_TICK = 's'; const TOKEN_ESCAPE_DOUBLE_TICK = 'd'; const TOKEN_ESCAPE_LDAP_FILTER = 'l'; const TOKEN_ESCAPE_LDAP_DN = 'L'; const TOKEN_ESCAPE_MYSQL = 'm'; const TOKEN_ESCAPE_NONE = '-'; // Workaround for PHP < 5.6.0 if (!function_exists('ldap_escape')) { define('LDAP_ESCAPE_FILTER', 0x01); define('LDAP_ESCAPE_DN', 0x02); } const TOKEN_FOUND_IN_STORE_QUERY = 'query'; const RANDOM_LENGTH = 32; // Report, BodyText const TOKEN_SQL = 'sql'; const TOKEN_HEAD = 'head'; const TOKEN_ALT_HEAD = 'althead'; const TOKEN_TAIL = 'tail'; const TOKEN_RBEG = 'rbeg'; const TOKEN_REND = 'rend'; const TOKEN_RENR = 'renr'; const TOKEN_RSEP = 'rsep'; const TOKEN_FBEG = 'fbeg'; const TOKEN_FEND = 'fend'; const TOKEN_FSEP = 'fsep'; const TOKEN_RBGD = 'rbgd'; const TOKEN_DEBUG = 'debug'; const TOKEN_FORM = CLIENT_FORM; const TOKEN_RECORD_ID = CLIENT_RECORD_ID; const TOKEN_DEBUG_BODYTEXT = TYPO3_DEBUG_SHOW_BODY_TEXT; const TOKEN_VALID_LIST = 'sql|head|althead|tail|rbeg|rend|renr|rsep|fbeg|fend|fsep|rbgd|debug|form|r|debugShowBodyText'; // FORM - copy from table 'form' of processed form //const DEF_FORM_NAME = CLIENT_FORM; // FORMELEMENT - copy of all formElements of processed form //const DEF_FORM_ELEMENT_ID = 'id'; // SQL logging Modes const SQL_LOG_MODE_ALL = 'all'; const SQL_LOG_MODE_MODIFY = 'modify'; const SQL_LOG_MODE_ERROR = 'error'; // write log entry, independent of global setting (e.g. broken Query) const MODE_LDAP_PREFETCH = 'ldapPrefetch'; const MODE_LDAP_SINGLE = 'ldapSingle'; const MODE_LDAP_MULTI = 'ldapMulti'; // api/save.php, api/delete.php, api/load.php const API_DELETE_PHP = 'delete.php'; const API_DOWNLOAD_PHP = 'download.php'; const API_STATUS = 'status'; const API_MESSAGE = 'message'; const API_REDIRECT = 'redirect'; const API_REDIRECT_URL = 'redirect-url'; const API_FIELD_NAME = 'field-name'; const API_FIELD_MESSAGE = 'field-message'; const API_FORM_UPDATE = 'form-update'; const API_ELEMENT_UPDATE = 'element-update'; const API_ELEMENT_ATTRIBUTE = 'attr'; const API_ELEMENT_CONTENT = 'content'; const API_JSON_HIDDEN = 'hidden'; const API_JSON_DISABLED = 'disabled'; const API_JSON_REQUIRED = 'required'; const API_ANSWER_STATUS_SUCCESS = 'success'; const API_ANSWER_STATUS_ERROR = 'error'; const API_ANSWER_REDIRECT_CLIENT = 'client'; const API_ANSWER_REDIRECT_NO = 'no'; const API_ANSWER_REDIRECT_URL = 'url'; const API_TYPEAHEAD_KEY = 'key'; const API_TYPEAHEAD_VALUE = 'value'; const DATA_HIDDEN = 'data-hidden'; const DATA_DISABLED = 'data-disabled'; const DATA_REQUIRED = 'data-required'; const CLASS_TYPEAHEAD = 'qfq-typeahead'; const DATA_TYPEAHEAD_SIP = 'data-typeahead-sip'; // Used for typeAhead const CLASS_NOTE = 'qfq-note'; const DATA_ENABLE_SAVE_BUTTON = 'data-enable-save-button'; //const CLASS_TYPEAHEAD = 'qfq-type-ahead'; //const DATA_TYPEAHEAD_SIP = 'data-sip'; // Used for typeAhead const DATA_TYPEAHEAD_LIMIT = 'data-typeahead-limit'; const DATA_TYPEAHEAD_MINLENGTH = 'data-typeahead-minlength'; const DATA_TYPEAHEAD_PEDANTIC = 'data-typeahead-pedantic'; const CLASS_CHARACTER_COUNT = 'qfq-character-count'; const DATA_CHARACTER_COUNT_ID = 'data-character-count-id'; const CLASS_FORM_ELEMENT_EDIT = 'qfq-form-element-edit'; // BuildForm const SYMBOL_NEW = 'new'; const SYMBOL_EDIT = 'edit'; const SYMBOL_DELETE = 'delete'; //CHECKBOX const CHECKBOX_VALUE_CHECKED = 'checked'; const CHECKBOX_VALUE_UNCHECKED = 'unchecked'; //const CHECKBOX_ORIENTATION = 'orientation'; const ALIGN_HORIZONTAL = 'horizontal'; const ALIGN_VERTICAL = 'vertical'; // Subrecord const SUBRECORD_COLUMN_WIDTH = 20; const FORM_ELEMENTS_NATIVE = 'native'; const FORM_ELEMENTS_SUBRECORD = 'subrecord'; const FORM_ELEMENTS_NATIVE_SUBRECORD = 'native_subrecord'; //const FORM_ELEMENTS_DYNAMIC_UPDATE = 'native_dynamic_update'; const SUBRECORD_NEW = SYMBOL_NEW; const SUBRECORD_EDIT = SYMBOL_EDIT; const SUBRECORD_DELETE = SYMBOL_DELETE; const SUBRECORD_PARAMETER_FORM = CLIENT_FORM; const SUBRECORD_PARAMETER_PAGE = 'page'; const SUBRECORD_PARAMETER_DETAIL = 'detail'; const GLYPH_ICON = 'glyphicon'; const GLYPH_ICON_EDIT = 'glyphicon-pencil'; const GLYPH_ICON_NEW = 'glyphicon-plus'; const GLYPH_ICON_DELETE = 'glyphicon-trash'; const GLYPH_ICON_HELP = 'glyphicon-question-sign'; const GLYPH_ICON_INFO = 'glyphicon-info-sign'; const GLYPH_ICON_SHOW = 'glyphicon-search'; const GLYPH_ICON_TOOL = 'glyphicon-wrench'; const GLYPH_ICON_CHECK = 'glyphicon-ok'; const GLYPH_ICON_CLOSE = 'glyphicon-remove'; const GLYPH_ICON_TASKS = 'glyphicon-tasks'; const GLYPH_ICON_VIEW = 'glyphicon-eye-open'; const GLYPH_ICON_FILE = 'glyphicon-file'; // FORM const F_ID = 'id'; const F_NAME = 'name'; const F_TITLE = 'title'; const F_TABLE_NAME = 'tableName'; const F_REQUIRED_PARAMETER = 'requiredParameter'; const F_EXTRA_DELETE_FORM = 'extraDeleteForm'; const F_FINAL_DELETE_FORM = 'finalDeleteForm'; const F_SUBMIT_BUTTON_TEXT = 'submitButtonText'; const F_BUTTON_ON_CHANGE_CLASS = 'buttonOnChangeClass'; const F_ESCAPE_TYPE_DEFAULT = 'escapeTypeDefault'; const F_CLASS = 'class'; const F_CLASS_PILL = 'classPill'; const F_CLASS_BODY = 'classBody'; const F_SHOW_BUTTON = 'showButton'; const F_FORWARD_MODE = 'forwardMode'; const F_FORWARD_PAGE = 'forwardPage'; const F_FORWARD_MODE_CLIENT = 'client'; const F_FORWARD_MODE_NO = 'no'; const F_FORWARD_MODE_PAGE = 'page'; const F_FE_DATA_PATTERN_ERROR = 'data-pattern-error'; const F_FE_DATA_REQUIRED_ERROR = 'data-required-error'; const F_FE_DATA_MATCH_ERROR = 'data-match-error'; const F_FE_DATA_ERROR = 'data-error'; const F_PARAMETER = 'parameter'; // valid for F_ and FE_ const F_LDAP_SERVER = 'ldapServer'; const F_LDAP_BASE_DN = 'ldapBaseDn'; const F_LDAP_SEARCH = 'ldapSearch'; const F_LDAP_ATTRIBUTES = 'ldapAttributes'; const F_LDAP_TIME_LIMIT = 'ldapTimeLimit'; const F_LDAP_USE_BIND_CREDENTIALS = 'ldapUseBindCredentials'; const F_TYPEAHEAD_LIMIT = 'typeAheadLimit'; const F_TYPEAHEAD_MINLENGTH = 'typeAheadMinLength'; const F_TYPEAHEAD_PEDANTIC = 'typeAheadPedantic'; const F_TYPEAHEAD_LDAP_VALUE_PRINTF = 'typeAheadLdapValuePrintf'; const F_TYPEAHEAD_LDAP_ID_PRINTF = 'typeAheadLdapIdPrintf'; const F_TYPEAHEAD_LDAP_SEARCH = 'typeAheadLdapSearch'; const F_TYPEAHEAD_LDAP_SEARCH_PREFETCH = 'typeAheadLdapSearchPrefetch'; const F_TYPEAHEAD_LDAP_SEARCH_PER_TOKEN = 'typeAheadLdapSearchPerToken'; const F_MODE = 'mode'; const F_MODE_READONLY = 'readonly'; const F_SAVE_BUTTON_ACTIVE = 'saveButtonActive'; // FORM_ELEMENT_STATI const FE_MODE_SHOW = 'show'; const FE_MODE_READONLY = 'readonly'; const FE_MODE_REQUIRED = 'required'; const FE_MODE_HIDDEN = 'hidden'; const FE_CLASS_NATIVE = 'native'; const FE_CLASS_ACTION = 'action'; const FE_CLASS_CONTAINER = 'container'; const FE_SUBRECORD_ROW_CLASS = '_rowClass'; const FE_SUBRECORD_ROW_TITLE = '_rowTitle'; // FormElement columns: real const FE_ID = 'id'; const FE_ID_CONTAINER = 'feIdContainer'; const FE_FORM_ID = 'formId'; const FE_NAME = 'name'; const FE_TYPE = 'type'; const FE_MODE = 'mode'; const FE_MODE_SQL = 'modeSql'; const FE_DYNAMIC_UPDATE = 'dynamicUpdate'; const FE_VALUE = 'value'; const FE_CLASS = 'class'; const FE_LABEL = 'label'; const FE_NOTE = 'note'; const FE_BS_LABEL_COLUMNS = F_BS_LABEL_COLUMNS; const FE_BS_INPUT_COLUMNS = F_BS_INPUT_COLUMNS; const FE_BS_NOTE_COLUMNS = F_BS_NOTE_COLUMNS; const FE_WRAP_ROW_LABEL_INPUT_NOW = 'rowLabelInputNote'; const FE_MAX_LENGTH = 'maxLength'; const FE_PARAMETER = 'parameter'; const FE_ENCODE = 'encode'; const FE_CHECK_TYPE = 'checkType'; const FE_CHECK_PATTERN = 'checkPattern'; const FE_TYPE_CHECKBOX = 'checkbox'; // FormElement columns: via parameter field const FE_DATE_FORMAT = 'dateFormat'; // value: FORMAT_DATE_INTERNATIONAL | FORMAT_DATE_GERMAN const FE_SHOW_SECONDS = 'showSeconds'; // value: 0|1 const FE_SHOW_ZERO = 'showZero'; // value: 0|1 const FE_FILE_DESTINATION = 'fileDestination'; // Target pathFilename for an uploaded file. const FE_FILE_REPLACE_MODE = 'fileReplace'; // Target pathFilename for an uploaded file. const FE_FILE_REPLACE_MODE_ALWAYS = 'always'; // Target pathFilename for an uploaded file. const FE_SQL_VALIDATE = 'sqlValidate'; // Action: Query to validate form load const FE_EXPECT_RECORDS = 'expectRecords'; // Action: expected number of rows of FE_SQL_VALIDATE const FE_MESSAGE_FAIL = 'messageFail'; // Action: Message to display, if FE_SQL_VALIDATE fails. const FE_REQUIRED_LIST = 'requiredList'; // Optional list of FormElements which have to be non empty to make this 'action'-FormElement active. const FE_SLAVE_ID = 'slaveId'; // Action; Value or Query to compute id of slave record. const FE_SQL_AFTER = 'sqlAfter'; // Action: Always fired const FE_SQL_BEFORE = 'sqlBefore'; // Action: Always fired const FE_SQL_UPDATE = 'sqlUpdate'; // Action: Update Statement for slave record const FE_SQL_INSERT = 'sqlInsert'; // Action: Insert Statement to create slave record. const FE_SQL_DELETE = 'sqlDelete'; // Action: Delete Statement to delete unused slave record. const FE_SQL_HONOR_FORM_ELEMENTS = 'sqlHonorFormElements'; // Action: Honor given list of FormElements for sqlInsert|Update|Delete const FE_EDITOR_PREFIX = 'editor-'; // TinyMCE configuration settings. const FE_SENDMAIL_TO = 'sendMailTo'; // Receiver email adresses. Separate multiple by comma. const FE_SENDMAIL_CC = 'sendMailCc'; // CC Receiver email adresses. Separate multiple by comma. const FE_SENDMAIL_BCC = 'sendMailBcc'; // BCC Receiver email adresses. Separate multiple by comma. const FE_SENDMAIL_FROM = 'sendMailFrom'; // Sender email address. const FE_SENDMAIL_SUBJECT = 'sendMailSubject'; // Email subject const FE_SENDMAIL_REPLY_TO = 'sendMailReplyTo'; // Reply to email address const FE_SENDMAIL_FLAG_AUTO_SUBMIT = 'sendMailFlagAutoSubmit'; // on|off - if 'on', suppresses OoO answers from receivers. const FE_SENDMAIL_GR_ID = 'sendMailGrId'; // gr_id: used to classify mail log entries ind table mailLog const FE_SENDMAIL_X_ID = 'sendMailXId'; // x_id: used to classify mail log entries ind table mailLog const FE_AUTOFOCUS = 'autofocus'; // value: |0|1 , ==1, this element becomes the focus during form load. const FE_RETYPE = 'retype'; // value: |0|1 , ==1, this element becomes the focus during form load. const FE_RETYPE_LABEL = 'retypeLabel'; // value: label text for retype FormElement const FE_RETYPE_NOTE = 'retypeNote'; // value: note text for retype FormElement const FE_RETYPE_SOURCE_NAME = '_retypeSourceName'; // QFQ internal reference to name of source FormElement. const FE_WRAP_ROW = 'wrapRow'; const FE_WRAP_LABEL = 'wrapLabel'; const FE_WRAP_INPUT = 'wrapInput'; const FE_WRAP_NOTE = 'wrapNote'; const FE_HTML_BEFORE = 'htmlBefore'; const FE_HTML_AFTER = 'htmlAfter'; const FE_TEMPLATE_GROUP_ADD_CLASS = 'tgAddClass'; const FE_TEMPLATE_GROUP_ADD_TEXT = 'tgAddText'; const FE_TEMPLATE_GROUP_REMOVE_CLASS = 'tgRemoveClass'; const FE_TEMPLATE_GROUP_REMOVE_TEXT = 'tgRemoveText'; const FE_TEMPLATE_GROUP_CLASS = 'tgClass'; const FE_TEMPLATE_GROUP_DEFAULT_MAX_LENGTH = 5; const FE_TEMPLATE_GROUP_NAME_PATTERN = '%d'; const FE_TEMPLATE_GROUP_NAME_PATTERN_0 = '%D'; const FE_TEMPLATE_GROUP_CURRENT_IDX = 'tgCurentIndex'; const FE_BUTTON_CLASS = 'buttonClass'; const FE_LDAP_SERVER = F_LDAP_SERVER; const FE_LDAP_BASE_DN = F_LDAP_BASE_DN; const FE_LDAP_SEARCH = F_LDAP_SEARCH; const FE_LDAP_ATTRIBUTES = F_LDAP_ATTRIBUTES; const FE_LDAP_TIME_LIMIT = F_LDAP_TIME_LIMIT; const FE_LDAP_USE_BIND_CREDENTIALS = F_LDAP_USE_BIND_CREDENTIALS; const FE_TYPEAHEAD_LIMIT = F_TYPEAHEAD_LIMIT; const FE_TYPEAHEAD_MINLENGTH = F_TYPEAHEAD_MINLENGTH; const FE_TYPEAHEAD_PEDANTIC = F_TYPEAHEAD_PEDANTIC; const FE_TYPEAHEAD_SQL = 'typeAheadSql'; const FE_TYPEAHEAD_LDAP_VALUE_PRINTF = F_TYPEAHEAD_LDAP_VALUE_PRINTF; const FE_TYPEAHEAD_LDAP_ID_PRINTF = F_TYPEAHEAD_LDAP_ID_PRINTF; const FE_TYPEAHEAD_LDAP = 'typeAheadLdap'; const FE_TYPEAHEAD_LDAP_SEARCH = F_TYPEAHEAD_LDAP_SEARCH; const FE_TYPEAHEAD_LDAP_SEARCH_PREFETCH = F_TYPEAHEAD_LDAP_SEARCH_PREFETCH; const FE_TYPEAHEAD_LDAP_SEARCH_PER_TOKEN = F_TYPEAHEAD_LDAP_SEARCH_PER_TOKEN; const FE_FILL_STORE_LDAP = 'fillStoreLdap'; const FE_CHARACTER_COUNT_WRAP = 'characterCountWrap'; const RETYPE_FE_NAME_EXTENSION = 'RETYPE'; const TYPEAHEAD_PLACEHOLDER = '?'; const FE_HTML_ID = 'htmlId'; // Will be dynamically computed during runtime. // Values const FE_ENCODE_SPECIALCHAR = 'specialchar'; const FE_ENCODE_NONE = 'none'; // FormElement Types const FE_TYPE_UPLOAD = 'upload'; const FE_TYPE_EXTRA = 'extra'; const FE_TYPE_SUBRECORD = 'subrecord'; const FE_TYPE_NOTE = 'note'; const FE_TYPE_SENDMAIL = 'sendMail'; const FE_TYPE_BEFORE_LOAD = 'beforeLoad'; const FE_TYPE_BEFORE_SAVE = 'beforeSave'; const FE_TYPE_BEFORE_INSERT = 'beforeInsert'; const FE_TYPE_BEFORE_UPDATE = 'beforeUpdate'; const FE_TYPE_BEFORE_DELETE = 'beforeDelete'; const FE_TYPE_AFTER_LOAD = 'afterLoad'; const FE_TYPE_AFTER_SAVE = 'afterSave'; const FE_TYPE_AFTER_INSERT = 'afterInsert'; const FE_TYPE_AFTER_UPDATE = 'afterUpdate'; const FE_TYPE_AFTER_DELETE = 'afterDelete'; const FE_TYPE_TEMPLATE_GROUP = 'templateGroup'; // SUPPORT const PARAM_T3_ALL = 't3 all'; const PARAM_T3_NO_ID = "t3 no id"; const ESCAPE_WITH_BACKSLASH = 'backslash'; const ESCAPE_WITH_HTML_QUOTE = 'htmlquote'; // AbstractBuildForm const FLAG_ALL = 'flagAll'; const FLAG_DYNAMIC_UPDATE = 'flagDynamicUpdate'; const HTML_DELIMITER_NAME = '-'; const HTML_DELIMITER_ID = HTML_DELIMITER_NAME; const HTML_ID_EXTENSION_LABEL = '-l'; const HTML_ID_EXTENSION_INPUT = '-i'; const HTML_ID_EXTENSION_NOTE = '-n'; const HTML_ID_EXTENSION_TOOLTIP = '-t'; const HTML_ID_EXTENSION_ROW = '-r'; const HTML_ID_EXTENSION_CHARACTER_COUNT = '-cc'; const QUERY_TYPE_SELECT = 'type: select,show,describe,explain'; const QUERY_TYPE_INSERT = 'type: insert'; const QUERY_TYPE_UPDATE = 'type: update,replace,delete'; const QUERY_TYPE_CONTROL = 'type: set'; //Regexp //const REGEXP_DATE_INT = '^\d{4}-\d{2}-\d{2}$'; //const REGEXP_DATE_GER = '^\d{1,2}\.\d{1,2}\.\d{2}(\d{2})?$'; //const REGEXP_TIME = '^\d{1,2}:\d{1,2}(:\d{1,2})?$'; // Date/ DateTime formats const FORMAT_DATE_INTERNATIONAL = 'yyyy-mm-dd'; const FORMAT_DATE_GERMAN = 'dd.mm.yyyy'; // Upload const UPLOAD_MODE_UNCHANGED = 'unchanged'; const UPLOAD_MODE_NEW = 'new'; const UPLOAD_MODE_DELETEOLD = 'deleteOld'; const UPLOAD_MODE_DELETEOLD_NEW = 'deleteOld+new'; // $_FILES const FILES_NAME = 'name'; const FILES_TMP_NAME = 'tmp_name'; const FILES_ERROR = 'error'; const FILES_SIZE = 'size'; const FILES_FLAG_DELETE = 'flagDelete'; const UPLOAD_CACHED = '.cached'; const FILE_ACTION = 'action'; const FILE_ACTION_UPLOAD = 'upload'; const FILE_ACTION_DELETE = 'delete'; // DATABASE const DB_NUM_ROWS = 'numRows'; const DB_AFFECTED_ROWS = 'affectedRows'; const DB_INSERT_ID = 'insertId'; const COLUMN_CREATED = 'created'; const COLUMN_MODIFIED = 'modified'; const INDEX_PHP = 'index.php'; // QuickFormQuery.php const T3DATA_BODYTEXT = 'bodytext'; const T3DATA_UID = 'uid'; // Special Column to check for uploads const COLUMN_PATH_FILE_NAME = 'pathFileName'; // Used to in SIP Store to handle 'delete' after upload const EXISTING_PATH_FILE_NAME = '_existingPathFileName'; //SENDMAIL const SENDMAIL_IDX_RECEIVER = 0; const SENDMAIL_IDX_SENDER = 1; const SENDMAIL_IDX_SUBJECT = 2; const SENDMAIL_IDX_BODY = 3; const SENDMAIL_IDX_REPLY_TO = 4; const SENDMAIL_IDX_FLAG_AUTO_SUBMIT = 5; const SENDMAIL_IDX_GR_ID = 6; const SENDMAIL_IDX_X_ID = 7; const SENDMAIL_IDX_RECEIVER_CC = 8; const SENDMAIL_IDX_RECEIVER_BCC = 9; const SENDMAIL_IDX_SRC = 10; //Report: Column Token const COLUMN_PPAGE = "Page"; const COLUMN_PPAGEC = "Pagec"; const COLUMN_PPAGED = "Paged"; const COLUMN_PPAGEE = "Pagee"; const COLUMN_PPAGEH = "Pageh"; const COLUMN_PPAGEI = "Pagei"; const COLUMN_PPAGEN = "Pagen"; const COLUMN_PPAGES = "Pages"; const COLUMN_PPDF = "Pdf"; const COLUMN_ZZIP = "Zip"; const COLUMN_FFILE = "File"; const COLUMN_PAGE = "page"; const COLUMN_PAGEC = "pagec"; const COLUMN_PAGED = "paged"; const COLUMN_PAGEE = "pagee"; const COLUMN_PAGEH = "pageh"; const COLUMN_PAGEI = "pagei"; const COLUMN_PAGEN = "pagen"; const COLUMN_PAGES = "pages"; const COLUMN_PDF = "pdf"; const COLUMN_FILE = "file"; const COLUMN_ZIP = "zip"; const FORM_NAME_FORM = 'form'; const FORM_NAME_FORM_ELEMENT = 'formElement'; const PENALTY_TIME_BROKEN_SIP = 5; // DOWNLOAD const DOWNLOAD_MODE = 'mode'; const DOWNLOAD_MODE_FILE = 'file'; const DOWNLOAD_MODE_PDF = 'pdf'; const DOWNLOAD_MODE_EXCEL = 'excel'; const DOWNLOAD_MODE_ZIP = 'zip'; const DOWNLOAD_EXPORT_FILENAME = '_exportFilename'; const DOWNLOAD_FILE_PREFIX = 'qfq.temp'; // temporary filename on server of single export file const DOWNLOAD_OUTPUT_PDF = 'output'; const DOWNLOAD_SIP_ENCODE_PARAMETER = '_sip'; // HTML2PDF const HTML2PDF_PAGEID = 'id'; const HTML2PDF_PARAM_GET = 'paramGet'; const HTML2PDF_URL_PRINT = 'urlPrint'; const SESSION_COOKIE_PREFEIX = 'qfq.cookie.'; // temporary 'cookie file' to forward `fe_user` and `qfq` session. // Class: LINK const PARAM_DELIMITER = '|'; const TOKEN_URL = 'u'; const TOKEN_MAIL = 'm'; const TOKEN_PAGE = 'p'; const TOKEN_DOWNLOAD = 'd'; const TOKEN_TEXT = 't'; const TOKEN_ALT_TEXT = 'a'; const TOKEN_TOOL_TIP = 'o'; const TOKEN_PICTURE = 'P'; const TOKEN_BULLET = 'B'; const TOKEN_CHECK = 'C'; const TOKEN_DELETE = 'D'; const TOKEN_EDIT = 'E'; const TOKEN_HELP = 'H'; const TOKEN_INFO = 'I'; const TOKEN_NEW = 'N'; const TOKEN_SHOW = 'S'; const TOKEN_RENDER = 'r'; const TOKEN_TARGET = 'g'; const TOKEN_CLASS = 'c'; const TOKEN_QUESTION = 'q'; const TOKEN_ENCRYPTION = 'e'; const TOKEN_SIP = 's'; const TOKEN_URL_PARAM = 'U'; const TOKEN_RIGHT = 'R'; const TOKEN_FILE = 'f'; const TOKEN_DOWNLOAD_MODE = 'M'; const TOKEN_ACTION_DELETE = 'x'; const TOKEN_ACTION_DELETE_AJAX = 'a'; const TOKEN_ACTION_DELETE_REPORT = 'r'; const TOKEN_ACTION_DELETE_CLOSE = 'c'; const TOKEN_CLASS_NONE = 'n'; const TOKEN_CLASS_INTERNAL = 'i'; const TOKEN_CLASS_EXTERNAL = 'e';