From 2df4900d9f8fe6af5a6b67e14cda615031751cca Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Wed, 14 Jun 2017 23:43:06 +0200 Subject: [PATCH] QuickFormQuery.php: added function to check if there are copyForm paste records --- extension/config.qfq.example.ini | 1 + extension/qfq/qfq/Constants.php | 5 +++-- extension/qfq/qfq/QuickFormQuery.php | 18 ++++++++++++++++++ extension/qfq/qfq/form/FormAction.php | 1 + 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/extension/config.qfq.example.ini b/extension/config.qfq.example.ini index 227e35d73..f0116ac63 100644 --- a/extension/config.qfq.example.ini +++ b/extension/config.qfq.example.ini @@ -87,4 +87,5 @@ WKHTMLTOPDF = /opt/wkhtmltox/bin/wkhtmltopdf ;NEW_BUTTON_CLASS = btn btn-default navbar-btn ;NEW_BUTTON_GLYPH_ICON = glyphicon-plus +; auto | always | never ;DB_UPDATE=auto \ No newline at end of file diff --git a/extension/qfq/qfq/Constants.php b/extension/qfq/qfq/Constants.php index 22a05dcf4..023405f2b 100644 --- a/extension/qfq/qfq/Constants.php +++ b/extension/qfq/qfq/Constants.php @@ -307,7 +307,7 @@ const CLIENT_REQUEST_URI = 'REQUEST_URI'; const CLIENT_SCRIPT_NAME = 'SCRIPT_NAME'; const CLIENT_PHP_SELF = 'PHP_SELF'; -// $_COOKIE +// _COOKIE const CLIENT_COOKIE_QFQ = 'cookieQfq'; // T3 Bodytext Keywords @@ -320,6 +320,7 @@ 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'; const TYPO3_SQL_LOG = 'sqlLog'; @@ -1053,7 +1054,7 @@ const TOKEN_ACTION_DELETE_CLOSE = 'c'; const TOKEN_CLASS_NONE = 'n'; const TOKEN_CLASS_INTERNAL = 'i'; -const TOKEN_CLASS_EXTERNAL = 'e'; +const TOKEN_CLASfindS_EXTERNAL = 'e'; const WKHTML_OPTION_VIEWPORT = '--viewport-size'; const WKHTML_OPTION_VIEWPORT_VALUE = '1280x1024'; diff --git a/extension/qfq/qfq/QuickFormQuery.php b/extension/qfq/qfq/QuickFormQuery.php index b549df9ba..e16374e19 100644 --- a/extension/qfq/qfq/QuickFormQuery.php +++ b/extension/qfq/qfq/QuickFormQuery.php @@ -391,6 +391,10 @@ class QuickFormQuery { */ private function pasteClipboard($formId, FormAction $formAction) { + if (!$this->isPasteRecord()) { + return; + } + $cookieQfq = $this->store->getVar(CLIENT_COOKIE_QFQ, STORE_CLIENT, SANITIZE_ALLOW_ALNUMX); if ($cookieQfq === false || $cookieQfq == '') { throw new UserFormException('Qfq Session missing', ERROR_QFQ_SESSION_MISSING); @@ -407,6 +411,20 @@ class QuickFormQuery { } # doClipboard() + /** + * @return bool true if there is at least one paste record, else false. + */ + private function isPasteRecord() { + + foreach ($this->feSpecAction as $formElement) { + if ($formElement[FE_TYPE] == FE_TYPE_PASTE) { + return true; + } + } + return false; + + } + /** * Set F_FORWARD_MODE to F_FORWARD_MODE_PAGE and builds a redirection URL to the current page with the already * used parameters. Do this by building a new SIP with the new recordId. diff --git a/extension/qfq/qfq/form/FormAction.php b/extension/qfq/qfq/form/FormAction.php index c9e7828dc..c0bb8d377 100644 --- a/extension/qfq/qfq/form/FormAction.php +++ b/extension/qfq/qfq/form/FormAction.php @@ -16,6 +16,7 @@ require_once(__DIR__ . '/../report/Sendmail.php'); require_once(__DIR__ . '/../helper/HelperFormElement.php'); require_once(__DIR__ . '/../exceptions/UserFormException.php'); + /** * Class formAction * @package qfq -- GitLab