[TASK] Replace confirm in FileList->linkClipboardHeaderIcon 67/47067/2
authorFrank Naegler <frank.naegler@typo3.org>
Fri, 4 Mar 2016 14:41:51 +0000 (15:41 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 4 Mar 2016 16:11:20 +0000 (17:11 +0100)
Resolves: #74178
Releases: master, 7.6
Change-Id: Iaa077ae648375e94abce90923d876128b19a3db7
Reviewed-on: https://review.typo3.org/47067
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/filelist/Classes/FileList.php
typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php

index 12d0fcd..34b5781 100644 (file)
@@ -308,11 +308,25 @@ class FileList extends AbstractRecordList
      */
     public function linkClipboardHeaderIcon($string, $_, $cmd, $warning = '')
     {
-        $onClickEvent = 'document.dblistForm.cmd.value=' . GeneralUtility::quoteJSvalue($cmd) . ';document.dblistForm.submit();';
+        $jsCode = 'document.dblistForm.cmd.value=' . GeneralUtility::quoteJSvalue($cmd)
+            . ';document.dblistForm.submit();';
+
+        $attributes = [];
         if ($warning) {
-            $onClickEvent = 'if (confirm(' . GeneralUtility::quoteJSvalue($warning) . ')){' . $onClickEvent . '}';
+            $attributes['class'] = 'btn btn-default t3js-modal-trigger';
+            $attributes['data-href'] = 'javascript:' . $jsCode;
+            $attributes['data-severity'] = 'warning';
+            $attributes['data-content'] = $warning;
+        } else {
+            $attributes['class'] = 'btn btn-default';
+            $attributes['onclick'] = $jsCode . 'return false;';
+        }
+
+        $attributesString = '';
+        foreach ($attributes as $key => $value) {
+            $attributesString .= ' ' . $key . '="' . htmlspecialchars($value) . '"';
         }
-        return '<a href="#" class="btn btn-default" onclick="' . htmlspecialchars($onClickEvent) . 'return false;">' . $string . '</a>';
+        return '<a href="#" ' . $attributesString . '>' . $string . '</a>';
     }
 
     /**
index 5f0727e..7043982 100644 (file)
@@ -1989,9 +1989,7 @@ class DatabaseRecordList extends AbstractDatabaseRecordList
             . GeneralUtility::quoteJSvalue($table)
             . ';document.dblistForm.submit();';
 
-        $attributes = [
-            'class' => 'btn btn-default'
-        ];
+        $attributes = [];
         if ($title !== '') {
             $attributes['title'] = $title;
         }
@@ -2002,7 +2000,8 @@ class DatabaseRecordList extends AbstractDatabaseRecordList
             $attributes['data-title'] = $title;
             $attributes['data-content'] = $warning;
         } else {
-            $attributes['onclick'] = htmlspecialchars(($jsCode . 'return false;'));
+            $attributes['class'] = 'btn btn-default';
+            $attributes['onclick'] = $jsCode . 'return false;';
         }
 
         $attributesString = '';