/**
  * Restores given entries.
  * 
  * @return	array<array>
  */
 public function restore()
 {
     $entryIDs = array();
     foreach ($this->objects as $entry) {
         $entry->update(array('deleteTime' => 0, 'isDeleted' => 0));
         $entryIDs[] = $entry->entryID;
         $this->addEntryData($entry->getDecoratedObject(), 'isDeleted', 0);
         EntryModificationLogHandler::getInstance()->restore($entry->getDecoratedObject());
     }
     $this->restoreFiles($entryIDs);
     EntryEditor::rebuildEntryData($entryIDs);
     $this->unmarkItems();
     UserStorageHandler::getInstance()->resetAll('filebaseUnreadEntries');
     UserStorageHandler::getInstance()->resetAll('filebaseUnreadWatchedEntries');
     return $this->getEntryData();
 }
 /**
  * Restores given files.
  */
 public function restore()
 {
     // update entries
     $fileIDs = $entryIDs = array();
     foreach ($this->objects as $file) {
         // ignore files already restored
         if (!$file->isDeleted) {
             continue;
         }
         $parameters = array();
         $entryEditor = new EntryEditor($file->getEntry());
         $entryIDs[] = $file->entryID;
         $fileIDs[] = $file->fileID;
         // restore entry if at least one file is accessible
         if ($entryEditor->isDeleted) {
             $parameters['deleteTime'] = 0;
             $parameters['isDeleted'] = 0;
             EntryModificationLogHandler::getInstance()->restore($file->getEntry());
             $this->addEntryData($entryEditor->entryID, 'isDeleted', 0);
             $this->addEntryData($entryEditor->entryID, 'ignoreFiles', 1);
         }
         // update entry
         if (!empty($parameters)) {
             $entryEditor->update($parameters);
         }
         // restore file
         $file->update(array('deleteTime' => 0, 'isDeleted' => 0));
         FileModificationLogHandler::getInstance()->restore($file->getDecoratedObject());
         if (isset($this->parameters['unmarkItems'])) {
             $fileIDs[] = $file->fileID;
         }
         $this->addFileData($file->getDecoratedObject(), 'isDeleted', 0);
     }
     if (!empty($entryIDs)) {
         $entryIDs = array_unique($entryIDs);
         EntryEditor::rebuildEntryData($entryIDs);
     }
     if (!empty($fileIDs)) {
         $this->unmarkItems($fileIDs);
     }
     return $this->getFileData();
 }