16 import(
'lib.pkp.classes.controllers.grid.GridRow');
28 parent::__construct();
29 $this->_userRoles = $userRoles;
39 function initialize($request, $template =
null) {
40 parent::initialize($request, $template);
44 assert(is_a($plugin,
'Plugin'));
46 $rowId = $this->
getId();
49 if (!is_null($rowId)) {
50 $router = $request->getRouter();
52 $actionArgs = array_merge(
53 array(
'plugin' => $plugin->getName()),
54 $this->getRequestArgs()
58 foreach ($plugin->getActions($request, $actionArgs) as $action) {
64 if (in_array(ROLE_ID_SITE_ADMIN, $this->_userRoles)) {
65 import(
'lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
69 $request->getSession(),
70 __(
'manager.plugins.deleteConfirm'),
72 $router->url($request,
null,
null,
'deletePlugin',
null, $actionArgs),
'modal_delete'),
80 $router->url($request,
null,
null,
'upgradePlugin',
null, $actionArgs),
81 __(
'manager.plugins.upgrade'),
'modal_upgrade'),
82 __(
'grid.action.upgrade'),
98 protected function _canEdit($plugin) {
99 if ($plugin->isSitePlugin()) {
100 if (in_array(ROLE_ID_SITE_ADMIN, $this->_userRoles))
return true;
102 if (in_array(ROLE_ID_MANAGER, $this->_userRoles))
return true;