Beispiel #1
0
 public function vignetteUnite($unite, $annee = null, $label = null, $urlOptions = array())
 {
     if (!$unite) {
         return;
     }
     $this->view->document->addStyleComponents('vignette');
     $label = $label ? $label : $unite->getName();
     if ($src = $unite->getCheminImage()) {
         $image = new Wtk_Image($src, "Photo d'unité", $label);
     } else {
         $photo = $unite->findPhotoAleatoire($annee);
         if ($photo) {
             $image = new Wtk_Image($photo->getCheminVignette(), $photo->titre, $unite->getFullname());
         } else {
             $image = new Wtk_Paragraph("Pas d'image !");
             $image->addFlags('empty', 'image');
         }
     }
     $urlOptions = array_merge(array('controller' => 'unites', 'action' => 'index', 'unite' => $unite->slug), $urlOptions);
     $type = $unite->findParentTypesUnite();
     $w = new Wtk_Section();
     $w->addFlags('wrapper')->addChild($image);
     $plabel = new Wtk_Paragraph($label);
     $plabel->addFlags('label');
     $link = new Wtk_Link($this->view->url($urlOptions), $label, new Wtk_Container($w, $plabel));
     $link->addFlags('vignette', $type->slug);
     $link->addFlags('unite');
     if (!$src) {
         $link->addFlags('photo');
     }
     return $link;
 }
Beispiel #2
0
 public function vignetteDocument($document, $urlOptions = null)
 {
     $this->view->document->addStyleComponents('vignette');
     $label = $document->titre;
     $wrapper = new Wtk_Section();
     $wrapper->addFlags('wrapper');
     if (in_array($document->suffixe, array('ogg', 'mp3', 'm4a'))) {
         $url = $document->getFichier();
         $wrapper->addAudio(array('url' => $url, 'type' => 'audio/' . $document->suffixe));
     } else {
         if ($url = $document->getCheminVignette()) {
             $wrapper->addImage($document->getCheminVignette(), $document->titre, $document->titre);
         } else {
             $wrapper->addParagraph("Pas d'aperçu")->addFlags('image', 'empty');
         }
     }
     if ($urlOptions) {
         $url = $this->view->url($urlOptions, true, true);
     } else {
         $url = $document->getUri();
     }
     $item = new Wtk_Link($url, $label, $wrapper);
     $item->addFlags('vignette', 'document', $document->suffixe)->addParagraph($label)->addFlags('label');
     return $item;
 }
Beispiel #3
0
 function calendrier($activites, $annee)
 {
     if (!$activites->count()) {
         $p = new Wtk_Paragraph();
         $p->addFlags('empty')->addInline("Aucune activité prévue en " . $annee);
         return $p;
     }
     $s = new Wtk_Section('calendrier');
     $tam = new Wtk_Table_Model('id', 'slug', 'type', 'lieu', 'date', 'intitule');
     foreach ($activites as $a) {
         if ($a->isFuture() && !$this->view->assert(null, $a, 'consulter')) {
             continue;
         }
         $tam->append($a->id, $a->slug, $a->getIntitule(), $a->lieu, $a->getDate(), $a->getIntituleComplet());
     }
     $t = $s->addTable($tam);
     $t->addNewColumn("Date", new Wtk_Table_CellRenderer_Text('text', 'date'));
     $c = new Wtk_Table_CellRenderer_Link('href', 'slug', 'label', 'type', 'tooltip', 'intitule');
     $t->addNewColumn("Activité", $c);
     // TODO: déterminer par activité si c'est future. Un
     // CellRendererLink spécialisé ferait l'affaire
     $url = $this->view->url(array('controller' => 'activites', 'action' => 'consulter', 'activite' => '%s'));
     $c->setUrlFormat(urldecode($url));
     return $s;
 }
Beispiel #4
0
 public function citation($citation)
 {
     $s = new Wtk_Section();
     $s->addFlags('citation');
     $p = $s->addParagraph($citation->auteur)->addFlags('auteur');
     $p->tooltip = strftime('le %d-%m-%Y à %H:%M', strtotime($citation->date));
     $s->addParagraph("« " . $citation->texte . " »")->addFlags('citation');
     return $s;
 }
Beispiel #5
0
 public function commentaire($commentaire)
 {
     $s = new Wtk_Section();
     $s->addFlags('commentaire');
     $p = $s->addParagraph($this->view->lienIndividu($commentaire->findParentIndividus()))->addFlags('auteur');
     $p->tooltip = strftime('le %d-%m-%Y à %H:%M', strtotime($commentaire->date));
     $s->addText($commentaire->message);
     return $s;
 }
Beispiel #6
0
 public function document($document)
 {
     $s = new Wtk_Section(null, $document->titre);
     $s->addFlags('document', $document->suffixe);
     $s->addChild($this->view->vignetteDocument($document)->addFlags('nolabel'));
     $l = $s->addList()->addFlags('infos');
     $l->addItem()->addFlags('telechargement')->addLink($document->getUri(), "Télécharger");
     if ($document->auteur) {
         $l->addItem("Par " . $document->auteur)->addFlags('auteur');
     }
     $l->addItem("Publié le " . strftime("%x", strtotime($document->date)))->addFlags('date');
     $l->addItem("Format " . strtoupper($document->suffixe))->addFlags('format');
     $l->addItem(wtk_format_size($document->getTaille()))->addFlags('taille');
     if ($document->description) {
         $s->addSection('description')->addText($document->description);
     }
     return $s;
 }
Beispiel #7
0
 function getStyleComponents()
 {
     return array_unique(array_merge($this->custom_style_components, parent::getStyleComponents()));
 }