Регистрация

#
Регистрация
как убрать подтверждение регистрации по e-mail?
чтобы пользователь становился активным сразу после регистрации
#
Re: Регистрация
Сразу после регистрации пользователя "подтвердите" и при необходимости авторизируйте его так:
/* Подтверждаем регистрацию */
$SiteUsers->SetConfirmationID($site_users_id);
/* Авторизируем пользователя */
$SiteUsers->SetCurrentSiteUser($site_users_id);
Перед использованием этих методов переменная $site_users_id должна принять значение идентификатора зарегистрированного пользователя.

            
#
Re: Регистрация
а можно поподробней ? где и что надо подправить (пожалуйста)
Даже поломанные часы два раза в сутки показывают правильное время
Модератор
#
Re: Регистрация
webchest,
В типовой дин. странице регистрации, коды даны выше.
Модератор
#
Re: Регистрация
webchest,
$site_user_id = $SiteUsers->InsertSiteUser($param);

/* Подтверждаем регистрацию */
$SiteUsers->SetConfirmationID($site_user_id);

/* Авторизируем пользователя */
$SiteUsers->SetCurrentSiteUser($site_user_id);
#
Re: Регистрация
чЙорт! не получается, нигде не приживается кусочек кода ((

Можете пожалуйста в коде прям жирным  ткнуть куда присунуть надо его
<?php
$SiteUsers = & singleton('SiteUsers');

/* XSL шаблоны */
$xsl_letter = to_str($GLOBALS['LA']['xsl_letter']);
$xsl_registration = to_str($GLOBALS['LA']['xsl_registration']);

if (class_exists("Maillist"))
{
   $maillist = new Maillist();
}

/* Идентификатор текущего пользователя */
$site_users_id = $SiteUsers->GetCurrentSiteUser();

/* Если пользователь авторизирован, то показываем ему его анкетные данные, иначе страницу регистрации */
if ($site_users_id)
{
   $title = 'Анкетные данные';

   /* удаление значения дополнительного свойства типа "файл" */
   if (isset($_GET['delete_value_property']))
   {
      $SiteUsers->SetValueExtraProperty($site_users_id, '',
      array('id' => to_int($_GET['delete_value_property']),
      'delete' => true));
   }
}
else
{
   $title = 'Регистрация нового пользователя';
}

// Добавляем/редактируем информацию о пользователе
if (isset($_POST['add_user']))
{
   /* пароль необязателен при обновлении данных о пользователе */
   if (isset($_POST['site_users_login']) &&
   ($site_users_id > 0 || isset($_POST['site_users_password']) && strlen($_POST['site_users_password']) > 0)
   && isset($_POST['site_users_email'])
   && isset($_POST['site_users_password_retry'])
   && strpos($_POST['site_users_login'], 'http://') === false // Логин не начинается с http://
)
   {
      if (to_str($_POST['site_users_password']) == to_str($_POST['site_users_password_retry']))
      {
         $param['site_users_login'] = to_str($_POST['site_users_login']);
         $param['site_users_password'] = to_str($_POST['site_users_password']);
         $param['site_users_email'] = to_str($_POST['site_users_email']);
         $param['site_users_name'] = to_str($_POST['site_users_name']);
         $param['site_users_surname'] = to_str($_POST['site_users_surname']);
         $param['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
         $param['site_users_phone'] = to_str($_POST['site_users_phone']);
         $param['site_users_fax'] = to_str($_POST['site_users_fax']);
         $param['site_users_site'] = to_str($_POST['site_users_site']);
         $param['site_users_icq'] = to_str($_POST['site_users_icq']);
         $param['site_users_country'] = to_str($_POST['site_users_country']);
         $param['site_users_postcode'] = to_str($_POST['site_users_postcode']);
         $param['site_users_city'] = to_str($_POST['site_users_city']);
         $param['site_users_address'] = to_str($_POST['site_users_address']);
         $param['site_users_company'] = to_str($_POST['site_users_company']);

         /* если пользователь авторизован */
         if ($site_users_id)
         {
            $param['site_users_confirmation'] = 1;

            /* обновляем данные о пользователе */
            $result = $SiteUsers->UpdateSiteUser($site_users_id, $param);

            if ($result > 0)
            {
                  ?>
                  <h1>Ваши анкетные данные успешно изменены</h1>
                  <p>Если Ваш браузер поддерживает автоматическое перенаправление через 5 секунд Вы перейдете в <a href="../">кабинет пользователя</a>. Если Вы не хотите ждать перейдите по соответствующей ссылке.</p>
                  
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="../";
                  }
                  setTimeout('set_location()', 5000);
                  //-->
                  </script>
                  <?php
            }
         }
         else
         {
            /* Начинаем проверку кода подтверждения */
            $Captcha = new Captcha();

            /* Если неправильно введен код подтверждения */
            if (!$Captcha->ValidCaptcha(to_str($_POST['captcha_key']),to_str($_POST['captcha_keystring'])))
            {
               $result = -5; /* Неправильно введен код подтверждения */
            }
            else
            {
               /* Группа по умолчанию */
               $param['site_users_group_id'] = $SiteUsers->GetDefaultGroup();
               $param['xslname'] = $xsl_letter;

               // добавляем пользователя
               $result = $SiteUsers->InsertSiteUser($param);

               if ($result > 0)
               {
                  // Проверяем куки пользователя на предмет наличия в них логина аффилиата
                  if (isset($_COOKIE['affiliate_name']))
                  {
                     $affiliate = new affiliate();
                     
                     $affiliate_login = quote_smart($_COOKIE['affiliate_name']);
                     
                     $affiliate_row = $SiteUsers->GetSiteUserByLogin($affiliate_login);
                     
                     if ($affiliate_row)
                     {
                        $affiliate_id = $affiliate_row['site_users_id'];
                        
                        // Проводим вставку пользователя аффилиата
                        $affiliate->InsertAffiliate(array('site_users_id' => $result, 'affiliate_plans_id' => 0, 'affiliate_site_users_id' => $affiliate_id, 'affiliate_active' => 1));
                     }
                  }
                  
                  ?>
                  <h1>Спасибо за регистрацию</h1>
                  <p>Для продолжения работы необходимо подтвердить регистрацию Ваших данных.
                  В Ваш адрес отправлено письмо, содержащее ссылку для подтверждения регистрации.</p>
                  <p>Если Ваш браузер поддерживает автоматическое перенаправление через 10 секунд Вы перейдете на страницу <a href="../">идентификации пользователя</a>. Если Вы не хотите ждать перейдите по соответствующей ссылке.</p>
                  <script language="JavaScript" type="text/javascript">
                  <!--
                  function set_location()
                  {
                     location="../";
                  }
                  setTimeout('set_location()', 10000);
                  //-->
                  </script>
                  <?php

                  // Обрабатываем подписку пользователя
                  if (class_exists("Maillist"))
                  {
                     $maillist->RenewMaillist($result, $_POST);
                  }
               }
            }
         }

         /* Обновление/вставка прошли успешно */
         if ($result > 0)
         {
            /* Обновляем значения дополнительных свойств */
            $property_list = $SiteUsers->GetListExtraProperties($result);

            foreach ($property_list as $key => $value)
            {
               if (isset($_FILES[$value['site_users_extra_property_name']]))
               {
                  $SiteUsers->SetValueExtraProperty($result, $_FILES[$value['site_users_extra_property_name']], array('id' => $value['site_users_extra_property_id']));
               }
               elseif ($value['site_users_extra_property_type'] != 'hidden')
               {
                  $SiteUsers->SetValueExtraProperty($result, to_str($_POST[$value['site_users_extra_property_name']]), array('id' => $value['site_users_extra_property_id']));
               }
            }
         }
         else
         {
            /*
            Таблица значений $result
            -5 -- Неправильно введен код подтверждения
            -3 -- Пользователь с таким логином зарегистрирован ранее
            -2 -- Пользователь с таким e-mail зарегистрирован ранее
            -1 -- Введен некорректный e-mail
            */

            $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration,   array('error' => $result, 'page_title' => $title), array(), array('cache_off' => true));
         }
      }
      else
      {
         $error = -6; // Неверно введен повтор пароля

         $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration,   array('error' => $error, 'page_title' => $title), array(), array('cache_off' => true));
      }
   }
   else
   {
      $error = -4; // Пожалуйста, задайте все обязательные параметры.

      $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration,   array('error' => $error, 'page_title' => $title), array(), array('cache_off' => true));
   }
}
else
{
   // выводим форму регистрации
   $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration, array('page_title' => $title), array(), array('cache_off' => true));
}
?>
Даже поломанные часы два раза в сутки показывают правильное время
Модератор
#
Re: Регистрация
После
             // добавляем пользователя
               $result = $SiteUsers->InsertSiteUser($param);

               if ($result > 0)
               {
при этом ID пользователя содержится в $result.
#
Re: Регистрация
после вставки вышепредложенного кода вылезает такая вот ошибочка при регистрации, при этом нужный результат не достигается



может нужно еще что-то поправить в  существующем коде?
p.s. что-то тег [img][/img] не работает
Даже поломанные часы два раза в сутки показывают правильное время
Модератор
#
Re: Регистрация
webchest,
Обратите внимание на HostCMS писал(а):
при этом ID пользователя содержится в $result.

Т.е. Вам нужно $site_user_id заменить на $result
Авторизация