|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.10.2009, 15:36 | #1 |
Новичок
Джуниор
Регистрация: 02.10.2009
Сообщений: 1
|
Помогите разобраться: как убрать звено подтверждения регистрации на сайте ( php )
Уважаемые профессионалы, помогите чайнику.
Мой сайт автоматом отпавляет письмо о подтверждении регистрации, пользователь переходит по ссылке и автозалогинивается в свою анкету (в настройки). Как убрать ступень - подтверждение email пользователя, отправку письма, чтоб пользователь сразу попадал в анкету в настройки. Огромное спасибо всем кто откликнулся. Вот исходник файла <?php lmb_require('src/controller/lmbController.class.php'); lmb_require('limb/validation/src/rule/lmbMatchRule.class.php'); lmb_require('src/validation/rule/CaptchaRule.class.php'); lmb_require('limb/mail/src/lmbMailer.class.php'); class RegistrationController extends lmbController { protected $_form_name = 'registration_form'; protected $in_popup = false; protected $ajax = false; protected $title = 'Регистрация'; protected $user; function __construct() { parent :: __construct(); $this->user = $this->toolkit->getCmsUser(); $this->in_popup = $this->request->has('popup'); if($this->isAjaxRequest()) { $this->in_popup = true; $this->ajax = true; } } function doDisplay() { if($this->ajax) { $this->_form_name = 'ajax_registration_form'; $this->setTemplate('registration/_ajax/display.html'); } $this->title = 'Регистрация'; $this->useForm($this->_form_name); $this->setFormDatasource($this->request); // do register if($this->request->hasPost()) { $form_data = $this->_getFilteredFormData(); $user = new User(); $company = new Company(); $user->import($form_data); $user->setRoleId(Roles :: USER); $user->setReceiveMails(true); $user->setCompany($company); $company->import($form_data); if(!$this->_validateRegistrationForm($user, $company)) { $this->request->set('code', ''); return; } if(!$user->trySave($this->error_list)) { $this->request->set('code', ''); return; } /*$this->_sendConfirmationEmail($user);*/ $redirect_url = '/registration/success'; if($this->ajax) $redirect_url .= '?is_ajax=1'; $this->redirect($redirect_url); } } function doSuccess() { if($this->ajax) $this->setTemplate('registration/_ajax/success.html'); $this->title = 'Регистрация прошла успешно'; } function doConfirm() { if(!$code = $this->request->get('code')) return; if(!$user = User :: findByConfirmCode($code)) return; $user->activate(); //autologin $this->user->import($user); $this->user->setIsNew(false); $this->user->setLoggedIn(true); $this->redirect('/my/profile'); //$this->confirmed = true; } /* protected functions */ protected function _getFilteredFormData() { $source_data = $this->request->getPost(); $filter_array = array('login', 'password', 'verify_password', 'email', 'type', 'name', 'country_id', 'region_id', 'city_id', 'new_city', 'address', 'full_name','web_site', 'about', 'phones', 'faxes'); foreach($source_data as $key => $value) { if(!in_array($key, $filter_array)) unset($source_data[$key]); } return $source_data; } protected function _validateRegistrationForm($user, $company) { $user->validate($this->error_list); $company->validate($this->error_list); $validator = new lmbValidator(); $validator->addRequiredRule('code'); $validator->addRule(new CaptchaRule('code')); $validator->addRequiredRule('agreement', 'Необходимо согласиться с условиями соглашения'); $validator->setErrorList($this->error_list); $validator->validate($this->request); return $this->error_list->isValid(); } protected function _sendConfirmationEmail($user) { $site_name = $_SERVER['HTTP_HOST']; $template = new lmbWactView('_mails/registration/confirmation_mail.html'); $template->setCacheDir(LIMB_VAR_DIR . '/compiled/'); $template->set('site_name', $site_name); $template->set('user', $user); $template->set('confirm_code', $user->getConfirmCode()); $template->set('confirm_url', 'http://' . $site_name . '/registration/confirm'); $email_body = $template->render(); $mailer = new lmbMailer(); //uses: sendHtmlMail($recipients, $sender, $subject, $html, $text = null, $charset = 'utf-8') $mailer->sendHtmlMail($user->getEmail(), array('address' => INFO_EMAIL, 'name' => 'Администрация ' . $site_name), "Подтверждение регистрации на " . $site_name, $email_body); } } Последний раз редактировалось alexa463; 02.10.2009 в 16:39. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с PHP | Nykone | PHP | 13 | 12.04.2011 09:52 |
проблема с контроллером | 1st_fom@ | Помощь студентам | 3 | 27.07.2009 22:36 |
Обновление программы по http протоколу без открытия браузера и подтверждения | The Best | Работа с сетью в Delphi | 9 | 21.07.2009 16:57 |
Помогите разобраться со связкой PHP+SOAP+WSDL | bobadd | PHP | 9 | 03.11.2007 12:58 |