16 import(
'classes.handler.Handler');
26 function authorize($request, &$args, $roleAssignments) {
27 import(
'lib.pkp.classes.security.authorization.ContextRequiredPolicy');
30 return parent::authorize($request, $args, $roleAssignments);
43 function index($args, $request) {
44 if (!$request->getContext()->getData(
'enableAnnouncements')) {
45 $request->getDispatcher()->handle404();
50 $context = $request->getContext();
51 $announcementsIntro = $context->getLocalizedData(
'announcementsIntroduction');
54 $templateMgr->assign(
'announcementsIntroduction', $announcementsIntro);
59 import(
'lib.pkp.classes.db.DBResultRange');
61 $announcements = $announcementDao->getAnnouncementsNotExpiredByAssocId($context->getAssocType(), $context->getId(), $rangeInfo);
62 $templateMgr->assign(
'announcements', $announcements->toArray());
64 $templateMgr->display(
'frontend/pages/announcements.tpl');
72 function view($args, $request) {
73 if (!$request->getContext()->getData(
'enableAnnouncements')) {
74 $request->getDispatcher()->handle404();
79 $context = $request->getContext();
80 $announcementId = (int) array_shift($args);
82 $announcement = $announcementDao->getById($announcementId);
83 if ($announcement && $announcement->getAssocType() ==
Application::getContextAssocType() && $announcement->getAssocId() == $context->getId() && ($announcement->getDateExpire() ==
null || strtotime($announcement->getDateExpire()) > time())) {
85 $templateMgr->assign(
'announcement', $announcement);
86 $templateMgr->assign(
'announcementTitle', $announcement->getLocalizedTitleFull());
87 return $templateMgr->display(
'frontend/pages/announcement.tpl');
89 $request->redirect(
null,
'announcement');