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

controllers/carousel/CarouselHandler.inc.php

00001 <?php
00002 
00015 // Import the base Handler.
00016 import('classes.handler.Handler');
00017 
00018 // Import JSON class for use with all AJAX requests.
00019 import('lib.pkp.classes.core.JSONMessage');
00020 
00021 class CarouselHandler extends Handler {
00022 
00026    function CarouselHandler() {
00027       parent::Handler();
00028    }
00029 
00030 
00031    function authorize($request, $args, $roleAssignments) {
00032       import('lib.pkp.classes.security.authorization.ContextRequiredPolicy');
00033       $this->addPolicy(new ContextRequiredPolicy($request));
00034 
00035       return parent::authorize($request, $args, $roleAssignments);
00036    }
00037 
00038    //
00039    // Public handler methods
00040    //
00048    function fetch($args, &$request) {
00049       $this->setupTemplate();
00050 
00051       $press =& $request->getPress();
00052       $templateMgr =& TemplateManager::getManager();
00053 
00054       // Expose the featured monograph IDs and associated params
00055       $featureDao =& DAORegistry::getDAO('FeatureDAO');
00056       $featuredMonographIds = $featureDao->getSequencesByAssoc(ASSOC_TYPE_PRESS, $press->getId());
00057 
00058       if (empty($featuredMonographIds)) {
00059          $returner = null;
00060       } else {
00061          $templateMgr->assign('featuredMonographIds', $featuredMonographIds);
00062 
00063          // Fetch the monographs to display
00064          $publishedMonographDao =& DAORegistry::getDAO('PublishedMonographDAO');
00065          $publishedMonographs =& $publishedMonographDao->getByPressId($press->getId());
00066          $templateMgr->assign('publishedMonographs', $publishedMonographs->toAssociativeArray());
00067 
00068          // Render the carousel.
00069          $returner = $templateMgr->fetch('catalog/carousel.tpl');
00070       }
00071 
00072       $json = new JSONMessage(true, $returner);
00073       return $json->getString();
00074    }
00075 }
00076 ?>

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