protected function get_file_name_param() { if (isset($_GET['token'])) { $medium = new Medien(); $medium->loadByToken($_GET['token']); return $medium->me_dateiname; } else { return null; } }
/** * Lädt die anzuzeigenenden Dateien. Entweder nur die im übergebenen Ordner * oder falls das Rekursiv-Flag gesetzt ist auch alle Dateien in untergeordneten * Ordnern * @param int $ordner -1 der Klassen-Ordner, sonst die ID */ public function loadDateien($ordner = -1) { if ($ordner == -1) { $this->dateien = array(); $ordner = $this->ordner; } $medien = new Medien(); $this->dateien = array_merge($this->dateien, $medien->loadByFilter(array('kollektion' => $ordner))); if ($this->rekursiv) { $unterordner = new Kollektion(); $unterordner = $unterordner->loadByFilter(array('parent' => $ordner)); foreach ($unterordner as $aktOrdner) { $this->loadDateien($aktOrdner->id); } } }
/** * @param string $title * @param string $file * @return Medien|null */ public function newMedium($title, $file) { $this->verzeichnisseAnlegen(); $path = pathinfo($file); $medien = new Medien(); $medien->me_kollektion = $this->id; $medien->me_titel = $title; $medien->me_dateiname = $path['basename']; $medien->me_erweiterung = strtolower($path['extension']); $medien->me_groesse = filesize($file); $medien->save(); if (copy($file, 'medien/' . $this->id . '/' . $path['basename'])) { return $medien; } else { return null; } }
protected function handle_file_upload($uploaded_file, $name, $size, $type, $error, $index = null, $content_range = null) { // TODO: Refactor! if (isset(Application::getCurrentRequest()->target) && Application::getCurrentRequest()->target != '') { $name = Application::getCurrentRequest()->target; } $file = parent::handle_file_upload($uploaded_file, $name, $size, $type, $error, $index, $content_range); if (empty($file->error) && $this->kollektionId > 0) { $medium = new Medien(); $medium->me_kollektion = $this->kollektionId; $medium->me_titel = $file->name; $medium->me_dateiname = $file->name; $medium->me_erweiterung = strtolower(substr(strrchr($name, '.'), 1)); $medium->me_groesse = $file->size; $medium->me_upload_am = date('d.m.Y'); $medium->me_upload_von = Security::getUserId(); if (isset(Application::getCurrentRequest()->token) && Application::getCurrentRequest()->token != '') { $medium->me_token = Application::getCurrentRequest()->token; } $medium->save(); $file->id = $medium->id; } return $file; }
/** * Löscht abgelaufene Dateien */ public function removeExpiredShares() { $buffer_days = 15; $medien = Medien::filter(array('share' => 1)); $send = false; $nachricht = "Folgende abgelaufene Dateien wurden automatisch gelöscht: \n\n"; foreach ($medien as $medium) { $invalid = strtotime($medium->me_valid_until); if (strtotime("+" . $buffer_days . "days", $invalid) < time()) { $nachricht .= $medium->me_titel . "\n"; $medium->delete(); $send = true; } } if ($send) { $empfaenger = Configuration::get('mail.shareInfo'); $betreff = '[' . Configuration::get('site.title') . '] Geteilte Dateien wurden gelöscht'; return PhpMailer::getInstance()->sendMail($empfaenger, $betreff, $nachricht); } }