permission.class.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * Loads the access permissions page
  4. *
  5. * @package modx
  6. * @subpackage manager.controllers
  7. */
  8. class SecurityPermissionManagerController extends modManagerController {
  9. /**
  10. * Check for any permissions or requirements to load page
  11. * @return bool
  12. */
  13. public function checkPermissions() {
  14. return $this->modx->hasPermission('access_permissions');
  15. }
  16. /**
  17. * Register custom CSS/JS for the page
  18. * @return void
  19. */
  20. public function loadCustomCssJs() {
  21. $mgrUrl = $this->modx->getOption('manager_url',null,MODX_MANAGER_URL);
  22. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.grid.access.policy.js');
  23. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.grid.access.policy.template.js');
  24. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.grid.user.js');
  25. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.panel.user.group.js');
  26. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.tree.user.group.js');
  27. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.grid.role.js');
  28. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.panel.groups.roles.js');
  29. $canListUserGroups = $this->modx->hasPermission('usergroup_view') ? 1 : 0;
  30. $canListRoles = $this->modx->hasPermission('view_role') ? 1 : 0;
  31. $canListPolicies = $this->modx->hasPermission('policy_view') ? 1 : 0;
  32. $canListPolicyTemplates = $this->modx->hasPermission('policy_template_view') ? 1 : 0;
  33. $canEditUser = $this->modx->hasPermission('usergroup_user_edit') ? 1 : 0;
  34. $canListUser = $this->modx->hasPermission('usergroup_user_list') ? 1 : 0;
  35. $canAddUserGroup = $this->modx->hasPermission('usergroup_new') ? 1 : 0;
  36. $canEditUserGroup = $this->modx->hasPermission('usergroup_edit') ? 1 : 0;
  37. $canDeleteUserGroup = $this->modx->hasPermission('usergroup_delete') ? 1 : 0;
  38. $this->addHtml('<script type="text/javascript">'
  39. .'MODx.perm.usergroup_view = '.$canListUserGroups.';'
  40. .'MODx.perm.view_role = '.$canListRoles.';'
  41. .'MODx.perm.policy_view = '.$canListPolicies.';'
  42. .'MODx.perm.policy_template_view = '.$canListPolicyTemplates.';'
  43. .'MODx.perm.usergroup_user_edit = '.$canEditUser.';'
  44. .'MODx.perm.usergroup_user_list = '.$canListUser.';'
  45. .'MODx.perm.usergroup_new = '.$canAddUserGroup.';'
  46. .'MODx.perm.usergroup_edit = '.$canEditUserGroup.';'
  47. .'MODx.perm.usergroup_delete = '.$canDeleteUserGroup.';'
  48. .'</script>');
  49. $this->addHtml("<script>
  50. Ext.onReady(function() {
  51. MODx.add('modx-page-groups-roles');
  52. });</script>");
  53. $this->addJavascript($mgrUrl.'assets/modext/sections/security/permissions/list.js');
  54. }
  55. /**
  56. * Custom logic code here for setting placeholders, etc
  57. * @param array $scriptProperties
  58. * @return mixed
  59. */
  60. public function process(array $scriptProperties = array()) {}
  61. /**
  62. * Return the pagetitle
  63. *
  64. * @return string
  65. */
  66. public function getPageTitle() {
  67. return $this->modx->lexicon('user_group_management');
  68. }
  69. /**
  70. * Return the location of the template file
  71. * @return string
  72. */
  73. public function getTemplateFile() {
  74. return '';
  75. }
  76. /**
  77. * Specify the language topics to load
  78. * @return array
  79. */
  80. public function getLanguageTopics() {
  81. return array('user','access','policy','context');
  82. }
  83. /**
  84. * Get the Help URL
  85. * @return string
  86. */
  87. public function getHelpUrl() {
  88. return 'Security';
  89. }
  90. }