ThreadController.php

00001 <?php
00009 class Scroll_ThreadController extends Dsao_Controller_Action
00010 {
00011   public function preDispatch()
00012   {
00013     $this->_setDefaultModelClass('Scroll_Thread')->getHelper('History')->setAddToHistory();
00014   }
00015 
00021   public function showAction()
00022   {
00023     // Thread-ID aus URI
00024     $idThread = $this->getUri()->id;
00025 
00026     $thread = $this->_getModel()
00027           ->fetchThread($idThread, $this->getUser()->getId());
00028 
00029     // Falls keine Thread-ID uebergeben wurde oder Benutzer nicht an Thread
00030     // beteiligt, Fehlermeldung ausgeben
00031     if (!$thread->getThreads())
00032     {
00033       // Nicht zur History hinzufügen, Fehlermeldung ausgeben und kein Template
00034       // anzeigen
00035       $this->getHelper('history')->setAddToHistory(false);
00036       $this->getLog()->err('scroll_thread_show_error_invalid_thread_id');
00037       $this->getView()->addTemplate(false);
00038 
00039       return;
00040     }
00041 
00042     // Falls ungelesene Schriftrollen vorhanden sind
00043     if (!$thread->isRead())
00044     {
00045       // Token
00046       if (!$this->getHelper('SessionToken')->hasValidToken())
00047       {
00048         return;
00049       }
00050 
00051       // Als gelesen markieren
00052       $thread->markRead($this->getUser()->getId());
00053     }
00054 
00055     // Schriftrolle kopieren
00056     $scrollThreadAnswer = clone $thread->getScroll($idThread);
00057 
00058     // Daten fuer Formular vorbereiten
00059     $scrollThreadAnswer->content      = null;
00060     $scrollThreadAnswer->nameRecipient = $scrollThreadAnswer
00061       ->getOtherUser($this->getUser()->getId())->username;
00062     $scrollThreadAnswer->subject      = $scrollThreadAnswer->subject;
00063     $scrollThreadAnswer->idThread     = $scrollThreadAnswer->id;
00064 
00065     $this->getView()->assign(array
00066       (
00067         'scrollThread'        => $thread->toArrayDecoded(),
00068         'scrollThreadAnswer'  => $scrollThreadAnswer
00069       ));
00070   }
00071 }

Erzeugt am Fri Sep 18 19:04:11 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1