From 035f15ca16eb8e141bbf96f1c25692c25ac123ff Mon Sep 17 00:00:00 2001
From: Jost Baron <jost@netzkoenig.de>
Date: Sun, 1 Mar 2015 17:07:33 +0100
Subject: [PATCH] [BUGFIX] Add property "uidLocal" to extbase FileReference
 model

This is needed so extbase persists FileReferences created in the
frontend correctly. Otherwise the field "uid_local" would always
be set to 0 in the database, creating an invalid file reference.

Resolves: #48965
Related: #5718

Releases: 6.2, master
Change-Id: I1e620c18d60546fdc081410b1d27a1b1de6f3e5b
Reviewed-on: http://review.typo3.org/37417
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../Classes/Domain/Model/FileReference.php       | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/typo3/sysext/extbase/Classes/Domain/Model/FileReference.php b/typo3/sysext/extbase/Classes/Domain/Model/FileReference.php
index 71f09d474277..a9e55847becb 100644
--- a/typo3/sysext/extbase/Classes/Domain/Model/FileReference.php
+++ b/typo3/sysext/extbase/Classes/Domain/Model/FileReference.php
@@ -21,6 +21,22 @@ namespace TYPO3\CMS\Extbase\Domain\Model;
  */
 class FileReference extends \TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder {
 
+	/**
+	  * Uid of the referenced sys_file. Needed for extbase to serialize the
+	  * reference correctly.
+	  *
+	  * @var integer
+	  */
+	protected $uidLocal;
+
+	/**
+	 * @param \TYPO3\CMS\Core\Resource\FileReference $originalResource
+	 */
+	public function setOriginalResource(\TYPO3\CMS\Core\Resource\FileReference $originalResource) {
+		$this->originalResource = $originalResource;
+		$this->uidLocal = (int)$originalResource->getOriginalFile()->getUid();
+	}
+
 	/**
 	 * @return \TYPO3\CMS\Core\Resource\FileReference
 	 */
-- 
GitLab