00001 <?php
00002
00015
00016 import('classes.handler.Handler');
00017
00018
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
00040
00048 function fetch($args, &$request) {
00049 $this->setupTemplate();
00050
00051 $press =& $request->getPress();
00052 $templateMgr =& TemplateManager::getManager();
00053
00054
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
00064 $publishedMonographDao =& DAORegistry::getDAO('PublishedMonographDAO');
00065 $publishedMonographs =& $publishedMonographDao->getByPressId($press->getId());
00066 $templateMgr->assign('publishedMonographs', $publishedMonographs->toAssociativeArray());
00067
00068
00069 $returner = $templateMgr->fetch('catalog/carousel.tpl');
00070 }
00071
00072 $json = new JSONMessage(true, $returner);
00073 return $json->getString();
00074 }
00075 }
00076 ?>