Open Journal Systems  3.3.0
NavigationMenusGridCellProvider.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridCellProvider');
17 
22  function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
23  switch ($column->getId()) {
24  case 'title':
25  $navigationMenu = $row->getData();
26  $router = $request->getRouter();
27  $actionArgs = array('navigationMenuId' => $row->getId());
28 
29  import('lib.pkp.classes.linkAction.request.AjaxModal');
30  return array(new LinkAction(
31  'edit',
32  new AjaxModal(
33  $router->url($request, null, null, 'editNavigationMenu', null, $actionArgs),
34  __('grid.action.edit'),
35  null,
36  true),
37  htmlspecialchars($navigationMenu->getTitle())
38  ));
39  }
40  return parent::getCellActions($request, $row, $column, $position);
41  }
42 
50  function getTemplateVarsFromRowColumn($row, $column) {
51  $navigationMenu = $row->getData();
52  $columnId = $column->getId();
53  assert(is_a($navigationMenu, 'NavigationMenu') && !empty($columnId));
54 
55  switch ($columnId) {
56  case 'title':
57  return array('label' => '');
58  case 'nmis':
59  $navigationMenuItemDao = DAORegistry::getDAO('NavigationMenuItemDAO'); /* @var $navigationMenuItemDao NavigationMenuItemDAO */
60  $items = $navigationMenuItemDao->getByMenuId($navigationMenu->getId())->toArray();
61 
62  $navigationMenusTitles = '';
63 
64  $templateMgr = TemplateManager::getManager(Application::get()->getRequest());
65  import('classes.core.Services');
66  foreach ($items as $item) {
67  Services::get('navigationMenu')->transformNavMenuItemTitle($templateMgr, $item);
68  $navigationMenusTitles = $navigationMenusTitles.$item->getLocalizedTitle().', ';
69  }
70 
71  $navigationMenusTitles = trim($navigationMenusTitles, ', ');
72 
73  return array('label' => $navigationMenusTitles);
74  default:
75  break;
76  }
77 
78  return parent::getTemplateVarsFromRowColumn($row, $column);
79  }
80 }
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
NavigationMenusGridCellProvider\getCellActions
getCellActions($request, $row, $column, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: NavigationMenusGridCellProvider.inc.php:22
NavigationMenusGridCellProvider\getTemplateVarsFromRowColumn
getTemplateVarsFromRowColumn($row, $column)
Definition: NavigationMenusGridCellProvider.inc.php:50
NavigationMenusGridCellProvider
Cell provider for title column of a NavigationMenu grid.
Definition: NavigationMenusGridCellProvider.inc.php:18
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
GridCellProvider
Base class for a grid column's cell provider.
Definition: GridCellProvider.inc.php:20
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49