Example #1
0
 /**
  * Display the form for registering an account
  *
  * @param   object  &$xregistration
  * @param   string  $task
  * @return  void
  */
 private function _show_registration_form(&$xregistration = null, $task = 'create')
 {
     $username = Request::getVar('username', User::get('username'), 'get');
     $isSelf = User::get('username') == $username;
     // Get the registration object
     if (!is_object($xregistration)) {
         $xregistration = new \Components\Members\Models\Registration();
     }
     // Push some values to the view
     $rules = \Hubzero\Password\Rule::all()->whereEquals('enabled', 1)->rows();
     $password_rules = array();
     foreach ($rules as $rule) {
         if (!empty($rule['description'])) {
             $password_rules[] = $rule['description'];
         }
     }
     $this->view->registrationUsername = Field::state('registrationUsername', 'RROO', $task);
     $this->view->registrationPassword = Field::state('registrationPassword', 'RRHH', $task);
     $this->view->registrationConfirmPassword = Field::state('registrationConfirmPassword', 'RRHH', $task);
     $this->view->registrationFullname = Field::state('registrationFullname', 'RRRR', $task);
     $this->view->registrationEmail = Field::state('registrationEmail', 'RRRR', $task);
     $this->view->registrationConfirmEmail = Field::state('registrationConfirmEmail', 'RRRR', $task);
     $this->view->registrationOptIn = Field::state('registrationOptIn', 'HHHH', $task);
     $this->view->registrationCAPTCHA = Field::state('registrationCAPTCHA', 'HHHH', $task);
     $this->view->registrationTOU = Field::state('registrationTOU', 'HHHH', $task);
     if ($task == 'update') {
         if (empty($this->view->xregistration->login)) {
             $this->view->registrationUsername = Field::STATE_REQUIRED;
         } else {
             $this->view->registrationUsername = Field::STATE_READONLY;
         }
         $this->view->registrationPassword = Field::STATE_HIDDEN;
         $this->view->registrationConfirmPassword = Field::STATE_HIDDEN;
     }
     if ($task == 'edit') {
         $this->view->registrationUsername = Field::STATE_READONLY;
         $this->view->registrationPassword = Field::STATE_HIDDEN;
         $this->view->registrationConfirmPassword = Field::STATE_HIDDEN;
     }
     if (User::get('auth_link_id') && $task == 'create') {
         $this->view->registrationPassword = Field::STATE_HIDDEN;
         $this->view->registrationConfirmPassword = Field::STATE_HIDDEN;
     }
     $fields = Field::all()->including(['options', function ($option) {
         $option->select('*')->ordered();
     }])->where('action_' . $task, '!=', Field::STATE_HIDDEN)->ordered()->rows();
     // Display the view
     $this->view->set('title', Lang::txt('COM_MEMBERS_REGISTER'))->set('sitename', Config::get('sitename'))->set('config', $this->config)->set('task', $task)->set('fields', $fields)->set('showMissing', true)->set('isSelf', $isSelf)->set('password_rules', $password_rules)->set('xregistration', $xregistration)->set('registration', $xregistration->_registration)->setLayout('default')->setErrors($this->getErrors())->display();
 }