16 import(
'classes.handler.Handler');
23 function authorize($request, &$args, $roleAssignments) {
24 import(
'lib.pkp.classes.security.authorization.ContextRequiredPolicy');
27 import(
'classes.security.authorization.OpsServerMustPublishPolicy');
30 return parent::authorize($request, $args, $roleAssignments);
40 function index($args, $request) {
42 $page = isset($args[0]) ? (int) $args[0] : 1;
44 $context = $request->getContext();
48 $sections = $sectionDao->getByContextId($context->getId());
52 $categories = $categoryDao->getByContextId($context->getId());
54 $count = $context->getData(
'itemsPerPage') ? $context->getData(
'itemsPerPage') :
Config::getVar(
'interface',
'items_per_page');
55 $offset = $page > 1 ? ($page - 1) * $count : 0;
57 import(
'classes.submission.Submission');
60 'contextId' => $context->getId(),
63 'status' => STATUS_PUBLISHED,
65 $publishedSubmissions = $submissionService->getMany($params);
66 $total = $submissionService->getMax($params);
68 $showingStart = $offset + 1;
69 $showingEnd = min($offset + $count, $offset + count($publishedSubmissions));
70 $nextPage = $total > $showingEnd ? $page + 1 :
null;
71 $prevPage = $showingStart > 1 ? $page - 1 :
null;
73 $templateMgr->assign(array(
74 'sections' => $sections,
75 'categories' => $categories,
76 'publishedSubmissions' => $publishedSubmissions,
78 'showingStart' => $showingStart,
79 'showingEnd' => $showingEnd,
81 'nextPage' => $nextPage,
82 'prevPage' => $prevPage,
85 $templateMgr->display(
'frontend/pages/preprints.tpl');
89 parent::setupTemplate($request);