コード例 #1
0
 private function processProfile()
 {
     $item = clone $this->getCurrentUser();
     if ($this->request('sub_action') === 'edit' && $this->hash() == $this->request('hash')) {
         if ($this->_verifyInputData($item)) {
             if ($item->u_email != $this->getCurrentUser()->u_email) {
                 $this->sendActivationCode($item);
                 $this->setVar('activation_required', $item->u_email);
                 $item->u_email = $this->getCurrentUser()->u_email;
             }
             $item->save();
             $this->setVar('form_saved', true);
             rad_session::updateUserData($item->u_id);
         }
     }
     $this->showProfile($item);
 }
コード例 #2
0
 protected function activateUser()
 {
     $c = urldecode($this->request('c'));
     $this->setVar('onlymessage', true);
     if ($c) {
         $this->setVar('action', 'c');
         $model = rad_instances::get('model_core_users');
         $model->setState('code', $c);
         $user = $model->getItem();
         if (isset($user->u_id) and $user->u_id) {
             if ($user->u_email_confirmed) {
                 $table = new model_core_table('subscribers_activationurl', 'coremail');
                 $table->setState('sac_url', $c);
                 $activation = $table->getItem();
                 if ($activation) {
                     if ($model->emailExists($activation->email, $user->u_id)) {
                         $this->setVar('message', $this->lang('mail_alreadyregistred.registration.text', null, true));
                     } else {
                         $user->u_email = $activation->email;
                         $model->updateItem($user);
                         rad_session::updateUserData($user->u_id);
                         rad_instances::get('model_coremail_subscribes')->confirm($c);
                         $this->setVar('message', $this->lang('subscribers.mailactivated.text', null, true));
                     }
                 } else {
                     $this->setVar('message', $this->lang($this->config('registration.code_not_found')));
                 }
             } elseif (!($error = $this->beforeActivateUser($user))) {
                 $user->u_email_confirmed = 1;
                 $model->updateItem($user);
                 rad_instances::get('model_coremail_subscribes')->confirm($c);
                 /* make referals component */
                 if ($this->config('referals.on') and class_exists('struct_coresession_referals_users')) {
                     $this->setReferral($user);
                 }
                 $this->setVar('message', $this->lang($this->config('registration.mailactivated_text')));
                 //send message to user
                 $this->_sendMail($user, 'register_ok');
                 $this->_sendMail($user, 'send_admin');
             } else {
                 $this->setVar('message', is_array($error) ? implode('<br />', $error) : $error);
             }
         } else {
             //code not found
             $this->setVar('message', $this->lang($this->config('registration.code_not_found')));
         }
     } else {
         $this->securityHoleAlert(__FILE__, __LINE__, $this->getClassName());
     }
 }