public function performFieldcollectionModificationCheck(Object\Concrete $object, $originalModificationDate, $data)
{
$modificationDate = $this->getParam("modificationDate");
if ($modificationDate != $originalModificationDate) {
$fielddefinitions = $object->getClass()->getFieldDefinitions();
foreach ($fielddefinitions as $fd) {
if ($fd instanceof Object\ClassDefinition\Data\Fieldcollections) {
if (isset($data[$fd->getName()])) {
$allowedTypes = $fd->getAllowedTypes();
foreach ($allowedTypes as $type) {
/** @var $fdDef Object\Fieldcollection\Definition */
$fdDef = Object\Fieldcollection\Definition::getByKey($type);
$childDefinitions = $fdDef->getFieldDefinitions();
foreach ($childDefinitions as $childDef) {
if ($childDef instanceof Object\ClassDefinition\Data\Localizedfields) {
$this->_helper->json(["success" => false, "message" => "Could be that someone messed around with the fieldcollection in the meantime. Please reload and try again"]);
}
}
}
}
}
}
}
}