[BUGFIX] ProcessedFile is persisted in sys_file as well
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Resource / File.php
index 2a281e7..e0418a6 100644 (file)
@@ -37,11 +37,19 @@ class File extends AbstractFile {
         * File indexing status. True, if the file is indexed in the database;
         * NULL is the default value, this means that the index status is unknown
         *
-        * @var boolean
+        * @var boolean|NULL
         */
        protected $indexed = NULL;
 
        /**
+        * Tells whether to index a file or not.
+        * If yes, the file will be persisted into sys_file.
+        *
+        * @var boolean
+        */
+       protected $indexable = TRUE;
+
+       /**
         * Set to TRUE while this file is being indexed - used to prevent some endless loops
         *
         * @var boolean
@@ -139,7 +147,7 @@ class File extends AbstractFile {
        /**
         * Returns TRUE if this file is indexed
         *
-        * @return boolean
+        * @return boolean|NULL
         */
        public function isIndexed() {
                if ($this->indexed === NULL && !$this->indexingInProgress) {
@@ -155,7 +163,7 @@ class File extends AbstractFile {
         * @return void
         */
        protected function loadIndexRecord($indexIfNotIndexed = TRUE) {
-               if ($this->indexed !== NULL) {
+               if ($this->indexed !== NULL || !$this->indexable) {
                        return;
                }
                /** @var $repo FileRepository */
@@ -319,6 +327,20 @@ class File extends AbstractFile {
                return $array;
        }
 
+       /**
+        * @return boolean
+        */
+       public function isIndexable() {
+               return $this->indexable;
+       }
+
+       /**
+        * @param boolean $indexable
+        */
+       public function setIndexable($indexable) {
+               $this->indexable = $indexable;
+       }
+
 }