/** * Saves the folder * @param $folder Folder - folder object */ function update($folder) { $folderMapper = new FolderMapper(); // Coordinate transaction $icfDatabase = new IcfDatabase(); $conn =& $icfDatabase->dbOpen(); $conn->StartTrans(); $folderMapper->setConnection($conn); // Update folder $folderMapper->update($folder); $folderClassMapper = new FolderClassMapper(); $folderClassMapper->setConnection($conn); // Delete previous FolderClasses $folderClassMapper->deleteByFolderId($folder->getId()); // Save FolderClasses foreach ($folder->getFolderClasses() as $folderClass) { /* @var $folderClass FolderClass */ $folderClass->setFolderID($folder->getId()); $folderClassMapper->save($folderClass); } // Close transaction $conn->completeTrans(); $icfDatabase->dbClose($conn); }