Fix missing copying of conditions when copying boxes
authorMarcel Werk <burntime@woltlab.com>
Mon, 1 Aug 2022 15:45:32 +0000 (17:45 +0200)
committerMarcel Werk <burntime@woltlab.com>
Mon, 1 Aug 2022 15:45:32 +0000 (17:45 +0200)
wcfsetup/install/files/lib/acp/form/BoxAddForm.class.php

index 3ba48d10671094cd81b43126192bdc52e540d7fa..ac08b3891113587530ff1b85b02c79b8fd62456a 100644 (file)
@@ -765,6 +765,18 @@ class BoxAddForm extends AbstractForm
             );
 
             $this->readBoxImages();
+
+            $conditions = $this->presetBox->getVisibilityConditions();
+            $conditionsByObjectTypeID = [];
+            foreach ($conditions as $condition) {
+                $conditionsByObjectTypeID[$condition->objectTypeID] = $condition;
+            }
+
+            foreach ($this->toFlatList($this->groupedConditionObjectTypes) as $objectType) {
+                if (isset($conditionsByObjectTypeID[$objectType->objectTypeID])) {
+                    $conditionsByObjectTypeID[$objectType->objectTypeID]->getObjectType()->getProcessor()->setData($conditionsByObjectTypeID[$objectType->objectTypeID]);
+                }
+            }
         }
     }