[TASK] oncontextmenu: Avoid duplicating onclick-functionality 94/26094/2
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Mon, 9 Dec 2013 00:30:06 +0000 (01:30 +0100)
committerMarkus Klein <klein.t3@mfc-linz.at>
Wed, 18 Dec 2013 22:30:34 +0000 (23:30 +0100)
Where onclick and oncontextmenu behave the same avoid duplicating
JavaScript-code and simply call the click()-functionality.

Change-Id: Iaa0b96fd311ea1a8367ef474b483e6c92bb1bcff
Resolves: #54288
Releases: 6.2
Reviewed-on: https://review.typo3.org/26094
Reviewed-by: Frans Saris
Tested-by: Frans Saris
Reviewed-by: Markus Klein
Tested-by: Markus Klein
typo3/sysext/backend/Classes/ClickMenu/ClickMenu.php
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/core/Classes/Utility/File/ExtendedFileUtility.php
typo3/sysext/sys_note/Resources/Private/Templates/Note/List.html
typo3/sysext/tstemplate/Classes/Controller/TypoScriptTemplateInformationModuleFunctionController.php

index aa92c7d..2a075d1 100644 (file)
@@ -1187,7 +1187,7 @@ class ClickMenu {
                                if (!$i[5]) {
                                        $onClick .= 'Clickmenu.hideAll();';
                                }
-                               $CSM = ' oncontextmenu="' . htmlspecialchars($onClick) . ';return false;"';
+                               $CSM = ' oncontextmenu="this.click();return false;"';
                                $out[] = '
                                        <tr class="typo3-CSM-itemRow" onclick="' . htmlspecialchars($onClick) . '" onmouseover="this.bgColor=\'' . $GLOBALS['TBE_TEMPLATE']->bgColor5 . '\';" onmouseout="this.bgColor=\'\';"' . $CSM . '>
                                                ' . (!$this->leftIcons ? '<td class="typo3-CSM-item">' . $i[1] . '</td><td align="center">' . $i[2] . '</td>' : '<td align="center">' . $i[2] . '</td><td class="typo3-CSM-item">' . $i[1] . '</td>') . '
index b5aeba9..42a0261 100644 (file)
@@ -480,7 +480,7 @@ class DocumentTemplate {
        public function wrapClickMenuOnIcon($str, $table, $uid = 0, $listFr = TRUE, $addParams = '', $enDisItems = '', $returnOnClick = FALSE) {
                $backPath = rawurlencode($this->backPath) . '|' . GeneralUtility::shortMD5(($this->backPath . '|' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']));
                $onClick = 'Clickmenu.show("' . $table . '","' . ($uid !== 0 ? $uid : '') . '","' . strval($listFr) . '","' . str_replace('+', '%2B', $enDisItems) . '","' . str_replace('&', '&amp;', addcslashes($backPath, '"')) . '","' . str_replace('&', '&amp;', addcslashes($addParams, '"')) . '");return false;';
-               return $returnOnClick ? $onClick : '<a href="#" onclick="' . htmlspecialchars($onClick) . '" oncontextmenu="' . htmlspecialchars($onClick) . '">' . $str . '</a>';
+               return $returnOnClick ? $onClick : '<a href="#" onclick="' . htmlspecialchars($onClick) . '" oncontextmenu="this.click();return false;">' . $str . '</a>';
        }
 
        /**
index b859824..717a89f 100644 (file)
@@ -403,7 +403,7 @@ class ExtendedFileUtility extends \TYPO3\CMS\Core\Utility\File\BasicFileUtility
                                                $shortcutRecord = BackendUtility::getRecord($row['tablename'], $row['recuid']);
                                                $icon = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord($row['tablename'], $shortcutRecord);
                                                $onClick = 'Clickmenu.show("' . $row['tablename'] . '", "' . $row['recuid'] . '", "1", "+info,history,edit", "|", "");return false;';
-                                               $shortcutContent[] = '<a href="#" oncontextmenu="' . htmlspecialchars($onClick) . '" onclick="' . htmlspecialchars($onClick) . '">' . $icon . '</a>' . htmlspecialchars((BackendUtility::getRecordTitle($row['tablename'], $shortcutRecord) . '  [' . BackendUtility::getRecordPath($shortcutRecord['pid'], '', 80) . ']'));
+                                               $shortcutContent[] = '<a href="#" oncontextmenu="this.click();return false;" onclick="' . htmlspecialchars($onClick) . '">' . $icon . '</a>' . htmlspecialchars((BackendUtility::getRecordTitle($row['tablename'], $shortcutRecord) . '  [' . BackendUtility::getRecordPath($shortcutRecord['pid'], '', 80) . ']'));
                                        }
                                }
 
index 2307aa6..6400661 100644 (file)
@@ -9,7 +9,7 @@
                        <f:for each="{notes}" as="note">
                                <div class="single-note category-{note.category}">
                                        <div class="header">
-                                               <span class="typeicon" oncontextmenu="Clickmenu.show('sys_note', '{note.uid}', '1', '', '', ''); return false;" onclick="Clickmenu.show('sys_note', '{note.uid}', '1', '','', ''); return false;"></span>
+                                               <span class="typeicon" oncontextmenu="this.click();return false;" onclick="Clickmenu.show('sys_note', '{note.uid}', '1', '','', ''); return false;"></span>
                                                <span><f:translate key="author" /></span>
                                                <f:if condition="{note.author.realName}">
                                                        <f:then>{note.author.realName}</f:then>
index b45cc55..eb16f61 100644 (file)
@@ -314,8 +314,7 @@ class TypoScriptTemplateInformationModuleFunctionController extends \TYPO3\CMS\B
                                        }
                                }
                        }
-                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow, array('oncontextmenu' => "Clickmenu.show(
-'sys_template', '" . $tplRow['uid'] . "', '1', '', '', ''); return false;", 'onclick' => "Clickmenu.show('sys_template', '" . $tplRow['uid'] . "', '1', '','', ''); return false;")) . '<strong>' . htmlspecialchars($tplRow['title']) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
+                       $content = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIconForRecord('sys_template', $tplRow, array('oncontextmenu' => "this.click();return false;", 'onclick' => "Clickmenu.show('sys_template', '" . $tplRow['uid'] . "', '1', '','', ''); return false;")) . '<strong>' . htmlspecialchars($tplRow['title']) . '</strong>' . htmlspecialchars((trim($tplRow['sitetitle']) ? ' (' . $tplRow['sitetitle'] . ')' : ''));
                        $theOutput .= $this->pObj->doc->section($GLOBALS['LANG']->getLL('templateInformation'), $content, 0, 1);
                        if ($manyTemplatesMenu) {
                                $theOutput .= $this->pObj->doc->section('', $manyTemplatesMenu);