first commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file api/v1/stats/publications/StatsPublicationHandler.php
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2003-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class StatsPublicationHandler
|
||||
*
|
||||
* @ingroup api_v1_stats
|
||||
*
|
||||
* @brief Handle API requests for publication statistics.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace APP\API\v1\stats\publications;
|
||||
|
||||
class StatsPublicationHandler extends \PKP\API\v1\stats\publications\PKPStatsPublicationHandler
|
||||
{
|
||||
/** @var string The name of the section ids query param for this application */
|
||||
public $sectionIdsQueryParam = 'sectionIds';
|
||||
|
||||
public function getSectionIdsQueryParam()
|
||||
{
|
||||
return $this->sectionIdsQueryParam;
|
||||
}
|
||||
|
||||
protected function getManyAllowedParams()
|
||||
{
|
||||
$params = parent::getManyAllowedParams();
|
||||
$params[] = 'issueIds';
|
||||
return $params;
|
||||
}
|
||||
|
||||
protected function getManyTimelineAllowedParams()
|
||||
{
|
||||
$params = parent::getManyTimelineAllowedParams();
|
||||
$params[] = 'issueIds';
|
||||
return $params;
|
||||
}
|
||||
|
||||
protected function _processParam(string $requestParam, mixed $value): array
|
||||
{
|
||||
if ($requestParam == 'issueIds') {
|
||||
$returnParams = [];
|
||||
if (is_string($value) && str_contains($value, ',')) {
|
||||
$value = explode(',', $value);
|
||||
} elseif (!is_array($value)) {
|
||||
$value = [$value];
|
||||
}
|
||||
$returnParams[$requestParam] = array_map('intval', $value);
|
||||
} else {
|
||||
$returnParams = parent::_processParam($requestParam, $value);
|
||||
}
|
||||
return $returnParams;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user