данные пользователя

#
данные пользователя
Здравствуйте!
у меня не получается реализовать следующую вещь:
при регистрации нового пользователя нужно, что бы было всего 4 графы (логин, пароль, подтверждение, мыло) - это сделано путём создания/редактирования XSL-шабона (РегистрацияПользователя)
а вот в самом личном кабинете в Личной информации должна быть полная анкета пользователя (стандартный шаблон РегистрацияПользователя).
Модератор
#
Re: данные пользователя
MAP!O,
Что именно Вы делаете для достижения цели и что не получается?
Вам нужно скопировать XSL-шаблон, дать ему другое имя и в одном случае использовать первый шаблон, а в другом случае - второй шаблон.
#
Re: данные пользователя
Шаблон скопировал, дал другое имя...как подвязать его к разделу "Личная информация"?
Модератор
#
Re: данные пользователя
MAP!O,
отредактировать узел в структуре и указать его из выпадающего списка
#
Re: данные пользователя
простите тупость, но я не понимаю... при регистрации и в личном кабинете (Личная информация) один и тот же адрес - "/users/registration/"
необходимо, что бы по ссылке "Личная информация" выводился стандартный шаблон "РегистрацияПользователя", а при регистрации нового пользователя выводился отредактированный шаблон.
Модератор
#
Re: данные пользователя
MAP!O,
Вам нужно в коде типовой динамической страницы проверять - если идет регистрация - то подменять шаблон на нужный.
#
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));
         }
      }
      else
      {
         $error = -6; // Неверно введен повтор пароля

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

      $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration,

      array('error' => $error, 'page_title' => $title));
   }
}
else
{
   // выводим форму регистрации
   $SiteUsers->ShowSiteUserRegistartion($site_users_id, $xsl_registration, array('page_title' => $title));
}
?>

куда?)))
Модератор
#
Re: данные пользователя
вместо
if ($site_users_id)
{

сделать

if ($site_users_id)
{
$xsl_registration = "ИмяДругогоШаблона";
#
Re: данные пользователя
всёравно, личной информации и при регистрации один и тот же шаблон отображаецо(

upd:  и почему $xsl_letter? этож вроде письмо подтверждения регистрации?!
Модератор
#
Re: данные пользователя
MAP!O,
Вы правильно заметили ошибку, выше поправил.
Авторизация