public function explainQuery()
 {
     if (!Debug::isEnabled()) {
         FlashMessage::danger('Zugriff verweigert');
         Application::getCurrentResponse()->redirectToFrontpage();
     }
     // TODO
 }
 public function deleteHistorie()
 {
     $this->historie = new Historie($this->request->id);
     if ($this->historie->delete()) {
         FlashMessage::success(Strings::GELOESCHT);
     } else {
         FlashMessage::danger(Strings::NICHT_GELOESCHT);
     }
 }
 public function deleteUser()
 {
     $this->user = new User($this->request->id);
     if ($this->user->delete()) {
         FlashMessage::success(Strings::GELOESCHT);
         // TODO: Das sollte man vielleicht in der Entity-Klasse machen
         $event = new EntityEvent();
         $event->setEntity($this->user);
         Events::dispatch(FrameworkEvents::ENTITY_AFTER_DELETE, $event);
     } else {
         FlashMessage::danger(Strings::NICHT_GELOESCHT);
     }
 }
 /**
  * @covers \NewFrontiers\Framework\Output\FlashMessage::__construct
  * @covers \NewFrontiers\Framework\Output\FlashMessage::toHtml
  * @covers \NewFrontiers\Framework\Output\FlashMessage::danger
  * @covers \NewFrontiers\Framework\Output\FlashMessage::info
  * @covers \NewFrontiers\Framework\Output\FlashMessage::success
  * @covers \NewFrontiers\Framework\Output\FlashMessage::warning
  */
 public function testDefaultMessages()
 {
     Application::getInstance()->flashMessages = [];
     FlashMessage::danger("danger-Meldung");
     $danger = end(Application::getInstance()->flashMessages);
     FlashMessage::info("info-Meldung");
     $info = end(Application::getInstance()->flashMessages);
     FlashMessage::success("success-Meldung");
     $success = end(Application::getInstance()->flashMessages);
     FlashMessage::warning("warning-Meldung");
     $warning = end(Application::getInstance()->flashMessages);
     //At least the message should appear in the result
     $this->assertContains("danger-Meldung", $danger->toHtml());
     $this->assertContains("info-Meldung", $info->toHtml());
     $this->assertContains("success-Meldung", $success->toHtml());
     $this->assertContains("warning-Meldung", $warning->toHtml());
 }
 /**
  * Startet den Download für eine geteilte Datei
  */
 public function get()
 {
     $this->medien = new Medien();
     $this->medien->loadByToken($this->request->token);
     if (strtotime($this->medien->me_valid_until) < strtotime(date("d.m.Y"))) {
         // Abgelaufen
         FlashMessage::danger('Die Zugriffszeit für diesen Download ist abgelaufen.');
         $this->request->module = 'defaultMod';
         $this->request->action = 'frontpage';
     } else {
         // Download
         $download = new Download();
         $download->do_medium = $this->medien->id;
         $download->do_ip = $_SERVER['REMOTE_ADDR'];
         $download->do_download_am = new \DateTime();
         $download->save();
         $this->medien->me_downloads += 1;
         $this->medien->save();
         $this->kollektion = new Kollektion(Configuration::get('site.shareKollektionId'));
         $handler = new ShareUploadHandler($this->kollektion);
         $handler->downloadShare();
         die;
     }
 }
 /**
  * Wechselt die Identität des angemeldeten Benutzers
  * ACHTUNG! Besondere Sorgfalt bei der Berechtigungsprüfung von Nöten!
  */
 public function doAnmeldenAls()
 {
     // TODO: Berechtigung prüfen
     // TODO: DTV!
     $darfWechsel = Application::isAdmin() || Security::hatRolle('DTV-GS');
     if (!$darfWechsel) {
         FlashMessage::danger('Für diese Aktion haben Sie keine Berechtigung');
         Application::getCurrentResponse()->redirectToFrontpage();
     }
     $this->user = User::loadByBenutzername($this->request->benutzer);
     if ($this->user != null) {
         Security::loginUser($this->user);
         FlashMessage::success('Sie sind jetzt angemeldet als ' . $this->user);
     } else {
         FlashMessage::danger('Benutzername nicht bekannt');
     }
     Application::getCurrentResponse()->redirectToFrontpage();
 }
 public function ausfuehren()
 {
     $this->import = new Import($this->request->id);
     $result = $this->import->ausfuehren();
     if ($result->hasSucceeded()) {
         FlashMessage::success('Der Import wurde erfolgreich ausgeführt');
     } else {
         FlashMessage::danger($result->getMessage());
     }
 }