97 lines
2.3 KiB
PHP
97 lines
2.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/controllers/grid/CategoryGridDataProvider.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class CategoryGridDataProvider
|
|
*
|
|
* @ingroup classes_controllers_grid
|
|
*
|
|
* @brief Provide access to category grid data. Can optionally use a grid data
|
|
* provider object that already provides access to data that the grid needs.
|
|
*/
|
|
|
|
namespace PKP\controllers\grid;
|
|
|
|
class CategoryGridDataProvider extends GridDataProvider
|
|
{
|
|
/** @var GridDataProvider A grid data provider that can be
|
|
* used by this category grid data provider to provide access
|
|
* to common data.
|
|
*/
|
|
public $_dataProvider;
|
|
|
|
|
|
//
|
|
// Getters and setters.
|
|
//
|
|
/**
|
|
* Get a grid data provider object.
|
|
*
|
|
* @return GridDataProvider
|
|
*/
|
|
public function getDataProvider()
|
|
{
|
|
return $this->_dataProvider;
|
|
}
|
|
|
|
/**
|
|
* Set a grid data provider object.
|
|
*
|
|
* @param GridDataProvider $dataProvider
|
|
*/
|
|
public function setDataProvider($dataProvider)
|
|
{
|
|
if ($dataProvider instanceof self) {
|
|
assert(false);
|
|
$dataProvider = null;
|
|
}
|
|
|
|
$this->_dataProvider = $dataProvider;
|
|
}
|
|
|
|
|
|
//
|
|
// Overriden methods from GridDataProvider
|
|
//
|
|
/**
|
|
* @see GridDataProvider::setAuthorizedContext()
|
|
*/
|
|
public function setAuthorizedContext(&$authorizedContext)
|
|
{
|
|
// We need to pass the authorized context object to
|
|
// the grid data provider object, if any.
|
|
$dataProvider = $this->getDataProvider();
|
|
if ($dataProvider) {
|
|
$dataProvider->setAuthorizedContext($authorizedContext);
|
|
}
|
|
|
|
parent::setAuthorizedContext($authorizedContext);
|
|
}
|
|
|
|
|
|
//
|
|
// Template methods to be implemented by subclasses
|
|
//
|
|
/**
|
|
* Retrieve the category data to load into the grid.
|
|
*
|
|
* @param \PKP\core\PKPRequest $request
|
|
* @param array|null $filter
|
|
*
|
|
* @return array
|
|
*/
|
|
public function loadCategoryData($request, $categoryDataElement, $filter = null)
|
|
{
|
|
assert(false);
|
|
}
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\controllers\grid\CategoryGridDataProvider', '\CategoryGridDataProvider');
|
|
}
|