Server : Apache/2.4.41 (Ubuntu) System : Linux journalup 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/controllers/grid/articleGalleys/ |
<?php /** * @file controllers/grid/articleGalleys/ArticleGalleyGridCellProvider.inc.php * * Copyright (c) 2016-2020 Simon Fraser University * Copyright (c) 2000-2020 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class ArticleGalleyGridCellProvider * @ingroup controllers_grid_articleGalleys * * @brief Base class for a cell provider for article galleys. */ import('lib.pkp.classes.controllers.grid.DataObjectGridCellProvider'); class ArticleGalleyGridCellProvider extends DataObjectGridCellProvider { /** @var Submission **/ var $_submission; /** @var Publication **/ var $_publication; var $_isEditable; /** * Constructor * @param $submission Submission */ function __construct($submission, $publication, $isEditable) { parent::__construct(); $this->_submission = $submission; $this->_publication = $publication; $this->_isEditable = $isEditable; } // // Template methods from GridCellProvider // /** * @copydoc GridCellProvider::getTemplateVarsFromRowColumn() */ function getTemplateVarsFromRowColumn($row, $column) { $element = $row->getData(); $columnId = $column->getId(); assert(is_a($element, 'DataObject') && !empty($columnId)); switch ($columnId) { case 'label': return array( 'label' => ($element->getRemoteUrl()=='' && $element->getFileId())?'':$element->getLabel() ); break; default: assert(false); } return parent::getTemplateVarsFromRowColumn($row, $column); } /** * Get request arguments. * @param $row GridRow * @return array */ function getRequestArgs($row) { return array( 'submissionId' => $this->_submission->getId(), 'publicationId' => $this->_publication->getId(), ); } /** * @copydoc GridCellProvider::getCellActions() */ function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) { switch ($column->getId()) { case 'label': $element = $row->getData(); if ($element->getRemoteUrl() != '' || !$element->getFileId()) break; $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */ import('lib.pkp.classes.submission.SubmissionFile'); $submissionFile = $submissionFileDao->getLatestRevision( $element->getFileId(), null, $this->_submission->getId() ); import('lib.pkp.controllers.api.file.linkAction.DownloadFileLinkAction'); return array(new DownloadFileLinkAction($request, $submissionFile, WORKFLOW_STAGE_ID_PRODUCTION, $element->getLabel())); } return parent::getCellActions($request, $row, $column, $position); } }