• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/content/announcements/ViewAnnouncementGridHandler.inc.php

00001 <?php
00002 
00015 import('controllers.grid.content.announcements.AnnouncementGridHandler');
00016 
00017 class ViewAnnouncementGridHandler extends AnnouncementGridHandler {
00021    function ViewAnnouncementGridHandler() {
00022       parent::AnnouncementGridHandler();
00023    }
00024 
00025 
00029    function initialize($request) {
00030       parent::initialize($request);
00031 
00032       $displayLimit = (boolean) $request->getUserVar('displayLimit');
00033       if ($displayLimit) {
00034          $press =& $request->getPress();
00035          $numAnnouncementsHomepage = $press->getSetting('numAnnouncementsHomepage');
00036          $gridElements = $this->getGridDataElements($request);
00037          if (count($gridElements) > $numAnnouncementsHomepage) {
00038             $dispatcher =& $request->getDispatcher();
00039             import('lib.pkp.classes.linkAction.request.RedirectAction');
00040             $actionRequest = new RedirectAction($dispatcher->url($request, ROUTE_PAGE, null, 'announcement'));
00041             $moreAnnouncementsAction = new LinkAction('moreAnnouncements', $actionRequest, __('announcement.moreAnnouncements'));
00042             $this->addAction($moreAnnouncementsAction, GRID_ACTION_POSITION_BELOW);
00043 
00044             $limitedElements = array();
00045             for ($i = 0; $i < $numAnnouncementsHomepage; $i++) {
00046                $limitedElements[key($gridElements)] = current($gridElements);
00047                next($gridElements);
00048             }
00049             $this->setGridDataElements($limitedElements);
00050          }
00051       }
00052    }
00053 }
00054 
00055 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1