create.class.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * Loads the create user page
  4. *
  5. * @package modx
  6. * @subpackage manager.controllers
  7. */
  8. class SecurityUserCreateManagerController extends modManagerController {
  9. public $onUserFormRender;
  10. /**
  11. * Check for any permissions or requirements to load page
  12. * @return bool
  13. */
  14. public function checkPermissions() {
  15. return $this->modx->hasPermission('new_user');
  16. }
  17. /**
  18. * Register custom CSS/JS for the page
  19. * @return void
  20. */
  21. public function loadCustomCssJs() {
  22. $mgrUrl = $this->modx->getOption('manager_url',null,MODX_MANAGER_URL);
  23. $this->addJavascript($mgrUrl.'assets/modext/widgets/core/modx.orm.js');
  24. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.grid.user.group.js');
  25. $this->addJavascript($mgrUrl.'assets/modext/widgets/security/modx.panel.user.js');
  26. $this->addHtml('<script type="text/javascript">
  27. // <![CDATA[
  28. Ext.onReady(function() {
  29. MODx.load({ xtype: "modx-page-user-create" });
  30. });
  31. MODx.onUserFormRender = "'.$this->onUserFormRender.'";
  32. // ]]>
  33. </script>');
  34. $this->addJavascript($mgrUrl.'assets/modext/sections/security/user/create.js');
  35. }
  36. /**
  37. * Custom logic code here for setting placeholders, etc
  38. * @param array $scriptProperties
  39. * @return mixed
  40. */
  41. public function process(array $scriptProperties = array()) {
  42. $placeholders = array();
  43. /* invoke OnUserFormPrerender event */
  44. $onUserFormPrerender = $this->modx->invokeEvent('OnUserFormPrerender', array(
  45. 'id' => 0,
  46. 'mode' => modSystemEvent::MODE_NEW,
  47. ));
  48. if (is_array($onUserFormPrerender)) $onUserFormPrerender = implode('',$onUserFormPrerender);
  49. $placeholders['OnUserFormPrerender'] = $onUserFormPrerender;
  50. /* invoke OnUserFormRender event */
  51. $this->onUserFormRender = $this->modx->invokeEvent('OnUserFormRender', array(
  52. 'id' => 0,
  53. 'mode' => modSystemEvent::MODE_NEW,
  54. ));
  55. if (is_array($this->onUserFormRender)) $this->onUserFormRender = implode('',$this->onUserFormRender);
  56. $this->onUserFormRender = str_replace(array('"',"\n","\r"),array('\"','',''),$this->onUserFormRender);
  57. $placeholders['OnUserFormRender'] = $this->onUserFormRender;
  58. return $placeholders;
  59. }
  60. /**
  61. * Return the pagetitle
  62. *
  63. * @return string
  64. */
  65. public function getPageTitle() {
  66. return $this->modx->lexicon('user_new');
  67. }
  68. /**
  69. * Return the location of the template file
  70. * @return string
  71. */
  72. public function getTemplateFile() {
  73. return 'security/user/create.tpl';
  74. }
  75. /**
  76. * Specify the language topics to load
  77. * @return array
  78. */
  79. public function getLanguageTopics() {
  80. return array('user','setting','access');
  81. }
  82. /**
  83. * Get the Help URL
  84. * @return string
  85. */
  86. public function getHelpUrl() {
  87. return 'Users';
  88. }
  89. }