17 import(
'lib.pkp.classes.submission.PKPSubmissionDAO');
40 $context = $request->getContext();
42 list($catalogSortBy, $catalogSortDir) = explode(
'-', $context->getData(
'catalogSortOption'));
43 $catalogSortBy = empty($catalogSortBy) ? ORDERBY_DATE_PUBLISHED : $catalogSortBy;
44 $catalogSortDir = $catalogSortDir == SORT_DIRECTION_ASC ?
'ASC' :
'DESC';
45 $config[
'catalogSortBy'] = $catalogSortBy;
46 $config[
'catalogSortDir'] = $catalogSortDir;
48 $this->getParams = array_merge(
51 'status' => STATUS_PUBLISHED,
52 'orderByFeatured' =>
true,
53 'orderBy' => $catalogSortBy,
54 'orderDirection' => $catalogSortDir,
58 $config = parent::getConfig();
65 $config[
'filters'] = [];
68 $config[
'contextId'] = $context->getId();
72 $categoriesResult = $categoryDao->getByContextId($context->getId());
73 while (!$categoriesResult->eof()) {
74 $category = $categoriesResult->next();
75 list($categorySortBy, $categorySortDir) = explode(
'-', $category->getSortOption());
76 $categorySortDir = empty($categorySortDir) ? $catalogSortDir : $categorySortDir == SORT_DIRECTION_ASC ?
'ASC' :
'DESC';
78 'param' =>
'categoryIds',
79 'value' => (int) $category->getId(),
80 'title' => $category->getLocalizedTitle(),
81 'sortBy' => $categorySortBy,
82 'sortDir' => $categorySortDir,
85 if (count($categories)) {
86 $config[
'filters'][] = [
87 'heading' => __(
'catalog.categories'),
88 'filters' => $categories,
94 $seriesResult = $seriesDao->getByPressId($context->getId());
95 while (!$seriesResult->eof()) {
96 $seriesObj = $seriesResult->next();
97 list($seriesSortBy, $seriesSortDir) = explode(
'-', $seriesObj->getSortOption());
98 $seriesSortDir = empty($seriesSortDir) ? $catalogSortDir : $seriesSortDir == SORT_DIRECTION_ASC ?
'ASC' :
'DESC';
100 'param' =>
'seriesIds',
101 'value' => (int) $seriesObj->getId(),
102 'title' => $seriesObj->getLocalizedTitle(),
103 'sortBy' => $seriesSortBy,
104 'sortDir' => $seriesSortDir,
107 if (count($series)) {
108 $config[
'filters'][] = [
109 'heading' => __(
'catalog.manage.series'),
110 'filters' => $series,
116 $config[
'csrfToken'] = $request->getSession()->getCSRFToken();
119 $addEntryApiUrl = $request->getDispatcher()->url(
123 '_submissions/addToCatalog'
125 $searchSubmissionsApiUrl = $request->getDispatcher()->url(
131 $supportedFormLocales = $context->getSupportedFormLocales();
133 $locales = array_map(
function($localeKey) use ($localeNames) {
134 return [
'key' => $localeKey,
'label' => $localeNames[$localeKey]];
135 }, $supportedFormLocales);
136 $addEntryForm = new \APP\components\forms\catalog\AddEntryForm($addEntryApiUrl, $searchSubmissionsApiUrl, $locales);
137 $config[
'addEntryForm'] = $addEntryForm->getConfig();
140 $templateMgr->setConstants([
142 'ASSOC_TYPE_CATEGORY',
146 $templateMgr->setLocaleKeys([
147 'submission.catalogEntry.new',
148 'submission.list.saveFeatureOrder',
149 'submission.list.orderFeatures',
150 'catalog.manage.categoryFeatured',
151 'catalog.manage.seriesFeatured',
152 'catalog.manage.featured',
153 'catalog.manage.feature.categoryNewRelease',
154 'catalog.manage.feature.seriesNewRelease',
155 'catalog.manage.feature.newRelease',
156 'submission.list.orderingFeatures',
157 'submission.list.orderingFeaturesSection',
158 'catalog.manage.isFeatured',
159 'catalog.manage.isNotFeatured',
160 'catalog.manage.isNewRelease',
161 'catalog.manage.isNotNewRelease',
162 'submission.list.viewEntry',
163 'submission.list.viewSubmission',