Ejemplo n.º 1
0
 /**
  * Obtains the children objects of this object
  * 
  * @return Array of ObjectRelation objects
  */
 function getObjectRelations()
 {
     if (is_null($this->objectRelations)) {
         $objectRelationMapper = new ObjectRelationMapper();
         $this->objectRelations = $objectRelationMapper->findByParentId($this->getId());
     }
     return $this->objectRelations;
 }
Ejemplo n.º 2
0
 /**
  * Updates an object
  * @param $object Object to update, must have its ID set
  */
 function update(&$object)
 {
     // Fill object Fulltext index
     $fullTextIndex = $this->generateFullTextIndex($object);
     $object->setFullTextIndex($fullTextIndex);
     // Coordinate transaction
     $icfDatabase = new IcfDatabase();
     $conn = $icfDatabase->dbOpen();
     $conn->StartTrans();
     // Update object
     $objectMapper = new ObjectMapper();
     $objectMapper->setConnection($conn);
     $objectMapper->update($object);
     // Recreate attributes
     $objectAttributeMapper = new ObjectAttributeMapper();
     $objectAttributeMapper->setConnection($conn);
     $objectAttributeMapper->deleteByObjectId($object->getId());
     $objectAttributeArray =& $object->getAttributes();
     foreach ($objectAttributeArray as $objectAttribute) {
         $objectAttribute->setObjectID($object->getId());
         $objectAttributeMapper->save($objectAttribute);
     }
     // Recreate folders
     $objectFolderMapper = new ObjectFolderMapper();
     $objectFolderMapper->setConnection($conn);
     $objectFolderMapper->deleteByObjectId($object->getId());
     $objectFolderArray =& $object->getObjectFolders();
     foreach ($objectFolderArray as $objectFolder) {
         $objectFolder->setObjectID($object->getId());
         $objectFolderMapper->save($objectFolder);
     }
     // Recreate relationships
     $objectRelationMapper = new ObjectRelationMapper();
     $objectRelationMapper->setConnection($conn);
     $objectRelationMapper->deleteByParentId($object->getId());
     $objectRelationArray =& $object->getObjectRelations();
     foreach ($objectRelationArray as $objectRelation) {
         /* @var $objectRelation ObjectRelation */
         $objectRelation->setParentID($object->getId());
         $objectRelationMapper->save($objectRelation);
     }
     // Close transaction
     $conn->completeTrans();
     $icfDatabase->dbClose($conn);
 }