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); }
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()); } }