[TASK] Output broken file links with pid in csv format 37/35837/5
authorUrs Braem <ub@sturmundbraem.ch>
Tue, 6 Jan 2015 16:12:04 +0000 (17:12 +0100)
committerMarkus Klein <klein.t3@reelworx.at>
Mon, 19 Jan 2015 17:06:09 +0000 (18:06 +0100)
When upgrading a site, manual correction of broken links
found by the RTE-FAL upgrade wizard is simplified:
from the error message, a spreadsheet can be created
and sorted by pid.

Resolves: #64122
Releases: 6.2
Change-Id: I1771757ce59e3c0c89d141b24a181d45b1616247
Reviewed-on: http://review.typo3.org/35837
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
typo3/sysext/install/Classes/Updates/RteFileLinksUpdateWizard.php

index fe52bbd..e574ee7 100644 (file)
@@ -236,8 +236,18 @@ class RteFileLinksUpdateWizard extends AbstractUpdate {
                                $this->errors[] = $path . ' not found (referenced in element ' . $reference['recuid'] . ' of table ' . $reference['tablename'] . ' in field ' . $reference['field'] . ')';
                        }
                } else {
-                       // Nothing to be done if file not found
-                       $this->errors[] = $path . ' not found (referenced in element ' . $reference['recuid'] . ' of table ' . $reference['tablename'] . ' in field ' . $reference['field'] . ')';
+                       // Nothing to be done if file not found, but output errors with (page) pid in csv format for easier manual treatment
+                       $recpid = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
+                               'pid',
+                               $reference['tablename'],
+                               'uid = ' . (int)$reference['recuid']
+                       );
+                       $this->errors[] = 'File not found (page / uid / path / table / field):,'
+                               . $recpid[0]['pid'] . ','
+                               . $reference['recuid'] . ','
+                               . $path . ','
+                               . $reference['tablename'] . ','
+                               . $reference['field'];
                }
                return $fileObject;
        }