コード例 #1
0
ファイル: VignetteDocument.php プロジェクト: bersace/strass
 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;
 }
コード例 #2
0
ファイル: VignetteUnite.php プロジェクト: bersace/strass
 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;
 }
コード例 #3
0
ファイル: VignetteIndividu.php プロジェクト: bersace/strass
 public function vignetteIndividu($individu, $label = null, $urlOptions = array())
 {
     if (!$individu) {
         return;
     }
     $urlOptions = array_merge(array('controller' => 'individus', 'action' => 'fiche', 'individu' => $individu->slug), $urlOptions);
     $this->view->document->addStyleComponents('vignette');
     $label = $label ? $label : $individu->getFullname();
     $item = new Wtk_Container();
     $section = $item->addSection()->addFlags('wrapper');
     if ($this->view->assert(null, $individu, 'voir-avatar') && ($src = $individu->getCheminImage())) {
         $section->addImage($src, $individu->getFullname(), $individu->getFullname());
     } else {
         $section->addParagraph("Pas de photo")->addFlags('empty', 'image');
     }
     $item->addParagraph($label)->addFlags('label');
     if ($individu->slug) {
         $url = $this->view->url($urlOptions, true, true);
     } else {
         $url = null;
     }
     $link = new Wtk_Link($url, $label, $item);
     $link->addFlags('vignette', 'individu', 'avatar');
     return $link;
 }
コード例 #4
0
ファイル: Link.php プロジェクト: bersace/strass
 function element($data)
 {
     $href = $data['href'];
     if ($href) {
         $link = new Wtk_Link(sprintf($this->urlFormat, $href), $data['label']);
         return $link->addFlags($data['flags']);
     } else {
         return new Wtk_RawText($data['label']);
     }
 }
コード例 #5
0
ファイル: VignettePhoto.php プロジェクト: bersace/strass
 public function vignettePhoto($photo, $label = null, $urlOptions = array())
 {
     if (!$photo) {
         return;
     }
     $urlOptions = array_merge(array('controller' => 'photos', 'action' => 'voir', 'photo' => $photo->slug), $urlOptions);
     $this->view->document->addStyleComponents('vignette');
     $label = $label ? $label : $photo;
     $page = Zend_Registry::get('page');
     $item = new Wtk_Container();
     $item->addSection()->addFlags('wrapper')->addImage($photo->getCheminVignette(), $photo->titre . ' ' . $page->metas->get('DC.Subject'), $photo->titre);
     $item->addParagraph($label)->addFlags('label');
     $link = new Wtk_Link($this->view->url($urlOptions, true, true) . '#document', $label, $item);
     $link->addFlags('vignette', 'photo', 'photo-' . $photo->slug);
     return $link;
 }
コード例 #6
0
ファイル: VignetteAlbum.php プロジェクト: bersace/strass
 public function vignetteAlbum($album, $label = null, $urlOptions = array())
 {
     if (!$album) {
         return;
     }
     $this->view->document->addStyleComponents('vignette');
     $urlOptions = array_merge(array('controller' => 'photos', 'action' => 'consulter', 'album' => $album->slug), $urlOptions);
     $photo = $album->getPhotoAleatoire();
     $label = $label ? $label : $album->getIntituleCourt();
     $item = new Wtk_Container();
     $w = $item->addSection()->addFlags('wrapper');
     $item->addParagraph($label)->addFlags('label');
     $link = new Wtk_Link($this->view->url($urlOptions, true, true), $label, $item);
     $link->addFlags('vignette', 'album', 'album-' . $album->slug);
     if ($photo) {
         $w->addImage($photo->getCheminVignette(), $photo->titre, $album->getIntituleComplet());
     } else {
         $w->addParagraph("Pas d'image !")->addFlags('empty', 'image');
         $link->addFlags('empty');
     }
     return $link;
 }