Open Journal Systems  3.3.0
IssueGridCellProvider.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridCellProvider');
17 
20  var $dateFormatShort;
21 
25  function __construct() {
26  parent::__construct();
27  $this->dateFormatShort = \Application::get()->getRequest()->getContext()->getLocalizedDateFormatShort();
28  }
29 
36  function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
37  if ($column->getId() == 'identification') {
38  $issue = $row->getData();
39  assert(is_a($issue, 'Issue'));
40  $router = $request->getRouter();
41  import('lib.pkp.classes.linkAction.request.AjaxModal');
42  return array(
43  new LinkAction(
44  'edit',
45  new AjaxModal(
46  $router->url($request, null, null, 'editIssue', null, array('issueId' => $issue->getId())),
47  __('editor.issues.editIssue', array('issueIdentification' => $issue->getIssueIdentification())),
48  'modal_edit',
49  true
50  ),
51  htmlspecialchars($issue->getIssueIdentification())
52  )
53  );
54  }
55  return array();
56  }
57 
65  function getTemplateVarsFromRowColumn($row, $column) {
66  $issue = $row->getData();
67  $columnId = $column->getId();
68  assert (is_a($issue, 'Issue'));
69  assert(!empty($columnId));
70  switch ($columnId) {
71  case 'identification':
72  return array('label' => ''); // Title returned as action
73  case 'published':
74  $datePublished = $issue->getDatePublished();
75  if ($datePublished) $datePublished = strtotime($datePublished);
76  return array('label' => $datePublished?strftime($this->dateFormatShort, $datePublished):'');
77  case 'numArticles':
78  return array('label' => $issue->getNumArticles());
79  default: assert(false); break;
80  }
81  }
82 }
83 
84 
IssueGridCellProvider\__construct
__construct()
Definition: IssueGridCellProvider.inc.php:28
IssueGridCellProvider
Grid cell provider for the issue management grid.
Definition: IssueGridCellProvider.inc.php:18
IssueGridCellProvider\$dateFormatShort
$dateFormatShort
Definition: IssueGridCellProvider.inc.php:23
AjaxModal
A modal that retrieves its content from via AJAX.
Definition: AjaxModal.inc.php:18
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
IssueGridCellProvider\getTemplateVarsFromRowColumn
getTemplateVarsFromRowColumn($row, $column)
Definition: IssueGridCellProvider.inc.php:68
GridCellProvider
Base class for a grid column's cell provider.
Definition: GridCellProvider.inc.php:20
IssueGridCellProvider\getCellActions
getCellActions($request, $row, $column, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: IssueGridCellProvider.inc.php:39
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235