Exemple #1
0
 public function url_for_parent_directory($entry, $parent_id = null)
 {
     if (is_array($entry)) {
         $entry = reset($entry);
     }
     if (!is_object($entry)) {
         $entry = new DirectoryEntry($entry);
     }
     $parent_id = $parent_id ?: FileHelper::getParentId($entry->id) ?: $this->context_id;
     $parent_page = $this->getPageForIndex($entry->indexInparent());
     return $this->url_for('document/files/index/' . $parent_id . '/' . $parent_page);
 }
Exemple #2
0
 /**
  * Deletes a file.
  *
  * @param String $id Directory entry id of the file to delete
  */
 public function delete_action($id)
 {
     if (!$this->full_access) {
         throw new AccessDeniedException();
     }
     $entry = DirectoryEntry::find($id);
     $parent_id = FileHelper::getParentId($id) ?: $this->context_id;
     $entry->checkAccess();
     if (!Request::isPost()) {
         $question = createQuestion2(_('Soll die Datei wirklich gelöscht werden?'), array(), array(), $this->url_for('document/files/delete/' . $id));
         $this->flash['question'] = $question;
     } elseif (Request::isPost() && Request::submitted('yes')) {
         File::get($entry->directory->id)->unlink($entry->name);
         PageLayout::postMessage(MessageBox::success(_('Die Datei wurde gelöscht.')));
     }
     $this->redirect('document/files/index/' . $parent_id);
 }
Exemple #3
0
 /**
  * Deletes a folder.
  *
  * @param String $folder_id Directory entry id of the folder
  */
 public function delete_action($folder_id)
 {
     if (!$this->full_access) {
         throw new AccessDeniedException();
     }
     FileHelper::checkAccess($folder_id);
     $parent_id = FileHelper::getParentId($folder_id) ?: $this->context_id;
     if (!Request::isPost()) {
         $message = $folder_id === 'all' ? _('Soll der gesamte Dateibereich inklusive aller Order und Dateien wirklich gelöscht werden?') : _('Soll der Ordner inklusive aller darin enthaltenen Dateien wirklich gelöscht werden?');
         $question = createQuestion2($message, array(), array(), $this->url_for('document/folder/delete/' . $folder_id));
         $this->flash['question'] = $question;
     } elseif (Request::isPost() && Request::submitted('yes')) {
         if ($folder_id === 'all') {
             $entry = RootDirectory::find($this->context_id);
             foreach ($entry->listFiles() as $file) {
                 $entry->unlink($file->name);
             }
             PageLayout::postMessage(MessageBox::success(_('Der Dateibereich wurde geleert.')));
         } else {
             $entry = DirectoryEntry::find($folder_id);
             $entry->directory->unlink($entry->name);
             PageLayout::postMessage(MessageBox::success(_('Der Ordner wurde gelöscht.')));
         }
     }
     $this->redirect('document/files/index/' . $parent_id);
 }