BitTorrent Трекер RusTrek.ru
http://5.45.70.241/

Выбор аватарки при регистрации
http://5.45.70.241/viewtopic.php?f=817&t=12188
Страница 1 из 1

Автор:  oartemka178 [ 2011-03-28 20:30 ]
Заголовок сообщения:  Выбор аватарки при регистрации

Выбор аватарки при регистрации, потом пользователь может отредактировать.

Появляется выпадающее меню со всеми аватарами, с него и может пользователь выбрать себе аватару.

[th]http://img860.imageshack.us/img860/9646/screenshot2603201101518.png[/th]


Установка.

открываем usercp_register.tpl

находим

Код:
<tr>
   <td>{L_TIMEZONE}:</td>
   <td>{TIMEZONE_SELECT}</td>
</tr>


ниже добавляем

Код:
   <!-- BEGIN switch_user_logged_out -->
   <tr>
     <td class="catSides" colspan="2" height="28">&nbsp;</td>
   </tr>
   <tr>
     <th class="thSides" colspan="2" height="12" valign="middle">{L_AVATAR_PANEL}</th>
   </tr>
   <tr>
      <td class="row1"><span class="gen">{L_AVATAR_SELECT}<br /></span><span class="gensmall">{L_AVATAR_SELECT_EXPLAIN}</span></td>
      <td class="row2">
         <table><tr>
            <td><select name="avatar_select" onChange="if (this.value!='') document.images['avatar_select'].src = '{AVATAR_GALLERY_PATH}/' + this.value; else document.images['avatar_select'].src = '{AVATAR_SELECT_START}';" ><option value="">{L_NO_AVATAR}</option>{AVATAR_SELECT_OPTIONS}</select>&nbsp; &nbsp;&nbsp;&nbsp;</td>
            <td><img src="{AVATAR_SELECT_START}" name="avatar_select" /></td>
         </tr></table>
      </td>
   </tr>
   <!-- END switch_user_logged_out -->



открываем language/lang_russian/lang_main.php

в самый низ добавляем

Код:

$lang['NO_AVATAR'] = 'Аватарка не выбрана';
$lang['Avatar_register_explain'] = 'После успешной регистрации, вы можете изменить или удалить вашу аватарку';


открываем includes/usercp_register.php

находим

Код:
   if ( !$error )
   {
      if ( $avatar_sql == '' )
      {
         $avatar_sql = ( $mode == 'editprofile' ) ? '' : "'', " . USER_AVATAR_NONE;
      }


меняем на это

Код:
   if ( !$error )
   {
      if ( $avatar_sql == '' )
      {
         if ($mode == 'editprofile')
         {
            $avatar_sql = '';
         }
         else
         {
            $avatar_register = isset($HTTP_POST_VARS['avatar_select']) ? str_replace("\'", "''", htmlspecialchars(trim($HTTP_POST_VARS['avatar_select']))) : '';
            $avatar_sql = ( $avatar_register != '' ) ? "'$avatar_register', " . USER_AVATAR_GALLERY : "'', " . USER_AVATAR_NONE;
         }
      }


находим

Код:
   $template->assign_vars(array(
      'USERNAME' => $username,


выше добавляем

Код:
   if ($mode == 'register')
   {
      $dir = @opendir($bb_cfg['avatar_gallery_path']);

      $avatar_images = array();
      $avatar_names = array();
      $avatar_count = 0;
      while( $avatar_category = @readdir($dir) )
      {
         if( $avatar_category != '.' && $avatar_category != '..' && !is_file($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category) && !is_link($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category) )
         {
            $sub_dir = @opendir($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category);

            while( $avatar_file = @readdir($sub_dir) )
            {
               if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $avatar_file) )
               {
                  $avatar_images[$avatar_count] = $avatar_category . '/' . $avatar_file;
                  $avatar_names[$avatar_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $avatar_category))) . ' - ' . ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $avatar_file)));
                  $avatar_count++;
               }
            }
         }
      }

      @closedir($dir);

      @ksort($avatar_images);
      @reset($avatar_images);

      // Here we dump arrays above to a long string :)
      $avatar_select_options = '';
      for ($i = 0; $i < $avatar_count; $i++)
      {
         $avatar_select_options .= '<option value="' . $avatar_images[$i] . '">' . $avatar_names[$i] . '</option>';
      }
   }



находим

Код:
                'L_LINK_REMOTE_AVATAR_EXPLAIN' => $lang['Link_remote_Avatar_explain'],
      'L_DELETE_AVATAR' => $lang['Delete_Image'],
      'L_CURRENT_IMAGE' => $lang['Current_Image'],


ниже добавляем

Код:
      // Avatar Select on Register
      'L_AVATAR_SELECT' => $lang['Select_avatar'],
      'L_AVATAR_SELECT_EXPLAIN' => $lang['Avatar_register_explain'],
      'AVATAR_SELECT_START' => isset($images['default_avatar']) ? $images['default_avatar'] : 'images/spacer.gif', // hehe... Default Avatar MOD compatible ;)
      'L_NO_AVATAR' => $lang['NO_AVATAR'],
      'AVATAR_GALLERY_PATH' => $board_config['avatar_gallery_path'],
      'AVATAR_SELECT_OPTIONS' => $avatar_select_options,


Все готово!

Автор:  JleHuH213 [ 2011-03-28 23:17 ]
Заголовок сообщения: 

берётся как я понимаю из avatar gallery ???

Автор:  oartemka178 [ 2011-03-28 23:30 ]
Заголовок сообщения: 

JleHuH213 писал(а):
берётся как я понимаю из avatar gallery ???


да берется из images/avatars/ - и все те папки что по этому пути находятся с них тоже подхватывает, если надо то можно изменить путь

Автор:  .::LMFAO::. [ 2012-06-21 17:14 ]
Заголовок сообщения: 

admin
чет у меня не то при регистрации выходит Аватарка не выбрана
когда кликаю на него тоже самое
Аватарка не выбрана, в чём может быть проблема

Автор:  RusTrek [ 2012-06-21 19:05 ]
Заголовок сообщения: 

нужны логи

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/