$queuedObjects[$propertyName][] = $relatedObject;
}
foreach ($this->getDeletedChildObjects($object, $propertyName) as $deletedObject) {
- $this->deleteObject($deletedObject, $object, $propertyName, TRUE, FALSE);
+ $this->deleteObject($deletedObject, $object, $propertyName);
}
$row[$columnName] = count($propertyValue); // Will be overwritten if the related objects are referenced by a comma separated list
}
if ($propertyValue instanceof Tx_Extbase_Persistence_ObjectStorage) {
$propertyValue = $propertyValue->toArray();
}
- $deletedObjects = array_diff($cleanPropertyValue, $propertyValue);
+ foreach ($cleanPropertyValue as $item) {
+ if (!in_array($item, $propertyValue)) {
+ $deletedObjects[] = $item;
+ }
+ }
}
-
return $deletedObjects;
}
public function count() {
$numberOfElements = NULL;
if ($this->columnMap->getTypeOfRelation() === Tx_Extbase_Persistence_Mapper_ColumnMap::RELATION_HAS_MANY) {
- if (isset($parentKeyFieldName)) {
- $numberOfElements = $this->fieldValue;
- } else {
- if (empty($this->fieldValue)) {
- $numberOfElements = 0;
- }
- $numberOfElements = count(explode(',', $this->fieldValue));
- }
+ $this->initializeStorage();
+ $numberOfElements = count($this->storage);
+ // FIXME Count on comma separated lists does not respect hidden objects
+// if (isset($parentKeyFieldName)) {
+// $numberOfElements = $this->fieldValue;
+// } else {
+// if (empty($this->fieldValue)) {
+// $numberOfElements = 0;
+// }
+// $numberOfElements = count(explode(',', $this->fieldValue));
+// }
} elseif ($this->columnMap->getTypeOfRelation() === Tx_Extbase_Persistence_Mapper_ColumnMap::RELATION_HAS_AND_BELONGS_TO_MANY) {
$numberOfElements = $this->fieldValue;
} else {
$EM_CONF[$_EXTKEY] = array(
'title' => 'A Framework for Extensions',
'description' => 'A framework to build extensions in the style of FLOW3 by now.',
- 'category' => 'fe',
+ 'category' => 'misc',
'author' => '',
'author_email' => '',
'shy' => '',
'conflicts' => '',
'priority' => 'top',
'module' => '',
- 'state' => 'alpha',
+ 'state' => 'beta',
'internal' => '',
'uploadfolder' => 0,
'createDirs' => '',