コード例 #1
0
 /**
  * 
  * @param type $year
  */
 public function index($year = null)
 {
     $view = $this->getActionView();
     $layoutView = $this->getLayoutView();
     if ($year == null) {
         $year = date('Y');
         $canonical = 'http://' . $this->getServerHost() . '/gallerie';
     } else {
         $canonical = 'http://' . $this->getServerHost() . '/gallerie/' . $year;
     }
     $content = $this->getCache()->get('gallery-' . $year);
     $cachedYears = $this->getCache()->get('gallery-years');
     if ($content !== null) {
         $galleries = $content;
     } else {
         $galleries = App_Model_Gallery::fetchGalleriesByYear($year);
         $this->getCache()->set('gallery-' . $year, $galleries);
     }
     if ($cachedYears !== null) {
         $returnYears = $cachedYears;
     } else {
         $galleryYears = App_Model_Gallery::all(array('showDate <> ?' => ''), array('DISTINCT(EXTRACT(YEAR FROM showDate))' => 'year'), array('year' => 'ASC'));
         $returnYears = array();
         foreach ($galleryYears as $galyear) {
             $returnYears[] = $galyear->getYear();
         }
         $this->getCache()->set('gallery-years', $returnYears);
     }
     $view->set('galleries', $galleries)->set('years', $returnYears);
     $layoutView->set('canonical', $canonical)->set('metatitle', 'ZKO - Galerie ' . $year);
 }