info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ Сообщений: 5 ]  Просмотры: 3446

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 7 месяцев 2 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


National Flags phpbb3

Модификация позволяет пользователям выбирать в личном разделе флаг страны проживания и выводить его в своём профиле.

Здесь это тоже установлено - посмотрите Личное дело.

Если вас заинтересовало - ставим.

Скачать модификацию из архива сайта:

Скачать из файлового архива сайта

распаковать, содержимое папки root загрузить в корень сайта (где файл config.php).
если у вас на сервере уже есть папка umil - удалите её из папки root перед копированием.

Теперь отредактируем файлы
(правок хватает, но если ставить спокойно и внимательно - всё получится)

общие правки независимо от стиля
Открыть index.php
Найти

Код: Выделить всё

// Assign index specific vars


Вставить перед найденным

Код: Выделить всё

//Begin: National_Flag
if (!empty($config['allow_flags']))
{
   if (!function_exists('top_flags'))
   {
      include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
   }
   top_flags();
}
//End: National_Flag



Открыть memberlist.php
Найти

Код: Выделить всё

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
//End: National_Flag


Найти (может быть показана не вся строка)

Код: Выделить всё

u.user_posts, u.user_allow_pm


К части строки

Код: Выделить всё

u.user_allow_pm


Добавить после

Код: Выделить всё

, u.user_flag


Найти

Код: Выделить всё

      $result = $db->sql_query($sql);


Вставить после найденного

Код: Выделить всё

      //Begin: National_Flag
      $flag_count = 0;
      //End: National_Flag


Найти

Код: Выделить всё

         $rank_title = $rank_img = '';


Вставить перед найденным

Код: Выделить всё

         //Begin: National_Flag
         if (!empty($config['allow_flags']) && !empty($row['user_flag']))
         {
            $user_flag = get_user_flag($row['user_flag']);
            ++$flag_count;
         }
         else
         {
            $user_flag = '';
         }         
         //End: National_Flag


Найти

Код: Выделить всё

            'U_VIEW_PROFILE'   => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            'USER_FLAG'         => $user_flag,
            //End: National_Flag


Найти

Код: Выделить всё

         'PM_IMG'      => $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']))


Вставить перед найденным

Код: Выделить всё

         //Begin: National_Flag
         'S_USER_FLAG'   => $flag_count,
         //End: National_Flag


Найти

Код: Выделить всё

   // Dump it out to the template


Вставить после найденного

Код: Выделить всё

   //Begin: National_Flag
   if (!empty($config['allow_flags']) && !empty($data['user_flag']))
   {
      $user_flag = get_user_flag($data['user_flag']);
      $template->assign_vars(array(
         'S_USER_FLAG'   => true,
      ));      
   }
   else
   {
      $user_flag = '';
   }         
   //End: National_Flag


Найти

Код: Выделить всё

      'USER_JABBER_IMG'   => ($data['user_jabber']) ? $user->img('icon_contact_jabber', $data['user_jabber']) : '',


Вставить после найденного

Код: Выделить всё

      //Begin: National_Flag
      'USER_FLAG'      => $user_flag,
      //End: National_Flag



Открыть viewtopic.php
Найти

Код: Выделить всё

include($phpbb_root_path . 'includes/bbcode.' . $phpEx);


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
//End: National_Flag


Найти

Код: Выделить всё

            'age'            => '',


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            'flag'            => '',
            //End: National_Flag


Найти

Код: Выделить всё

         else
         {
            $user_cache[$poster_id]['icq_status_img'] = '';
            $user_cache[$poster_id]['icq'] = '';
         }


Вставить после найденного

Код: Выделить всё

         //Begin: National_Flag
         if (!empty($config['allow_flags']) && !empty($row['user_flag']))
         {
            $user_cache[$poster_id]['flag']   = get_user_flag($row['user_flag']);
         }
         else
         {
            $user_cache[$poster_id]['flag']   = '';
         }         
         //End: National_Flag


Найти

Код: Выделить всё

      'POSTER_AGE'      => $user_cache[$poster_id]['age'],


Вставить после найденного

Код: Выделить всё

      //Begin: National_Flag
      'POSTER_FLAG'      => $user_cache[$poster_id]['flag'],
      //End: National_Flag



Открыть adm/style/acp_users_profile.html
Найти

Код: Выделить всё

      <dd>{L_DAY}: <select id="birthday" name="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select> {L_MONTH}: <select name="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select> {L_YEAR}: <select name="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></dd>
      </dl>


Вставить после найденного

Код: Выделить всё

<!-- IF S_FLAG -->   
   <dl>
      <dt><label for="flag"><strong>{L_FLAG}:</strong></label><br /><span>{L_FLAG_EXPLAIN}</span></dt>
      <dd><select name="flag" id="flag">{S_FLAG_OPTIONS}</select>&nbsp;&nbsp;{S_FLAG_IMAGE}</dd>
   </dl>
<!-- ENDIF -->



Открыть includes/constants.php
Найти

Код: Выделить всё

// Additional constants


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
define('FLAGS_DATA_TABLE',         $table_prefix . 'flags');
define('USER_FLAG_TEXT', 1);
define('USER_FLAG_IMAGE', 2);
//End: National_Flag



Открыть includes/acp/acp_users.php
Найти

Код: Выделить всё

            include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
            //End: National_Flag


Найти

Код: Выделить всё

               'bday_year'      => 0,


Вставить после найденного

Код: Выделить всё

               //Begin: National_Flag
               'flag'      => request_var('flag', (int) $user_row['user_flag']),
               //End: National_Flag


Найти

Код: Выделить всё

                  'user_birthday'   => array('date', true),


Вставить после найденного

Код: Выделить всё

                  //Begin: National_Flag
                  'flag'         => array('num', true, 0, 300),
                  //End: National_Flag


Найти

Код: Выделить всё

                     'user_birthday'   => $data['user_birthday'],


Вставить после найденного

Код: Выделить всё

                     //Begin: National_Flag
                     'user_flag'      => $data['flag'],
                     //End: National_Flag


Найти

Код: Выделить всё

               'S_BIRTHDAY_YEAR_OPTIONS'   => $s_birthday_year_options,


Вставить после найденного

Код: Выделить всё

               //Begin: National_Flag
               'S_FLAG_OPTIONS'   => list_all_flags($data['flag']),
               'S_FLAG_IMAGE'      => get_user_flag($data['flag']),
               'S_FLAG'         => !empty($config['allow_flags']) ? $config['allow_flags'] : false,
               //End: National_Flag



Открыть includes/ucp/ucp_pm_viewmessage.php
Найти

Код: Выделить всё

   $url = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm');


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
   include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
//End: National_Flag


Найти

Код: Выделить всё

      'AUTHOR_FROM'      => (!empty($user_info['user_from'])) ? $user_info['user_from'] : '',


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
      'USER_FLAG'      => get_user_flag($user_info['user_flag']),
//End: National_Flag



Открыть includes/ucp/ucp_profile.php
Найти

Код: Выделить всё

            include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            include($phpbb_root_path . 'includes/functions_flag.' . $phpEx);
            //End: National_Flag


Найти

Код: Выделить всё

               $data['user_birthday'] = sprintf('%2d-%2d-%4d', $data['bday_day'], $data['bday_month'], $data['bday_year']);
            }


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            if (!empty($config['allow_flags']))
            {               
               $data['flag'] = request_var('flag', (int) $user->data['user_flag']);               
            }
            //End: National_Flag


Найти

Код: Выделить всё

               if ($config['allow_birthdays'])
               {
                  $validate_array = array_merge($validate_array, array(


Вставить перед найденным

Код: Выделить всё

               //Begin: National_Flag
               //Currently set to validate up to 300, if you want more
               //flags than 300 change to the amount you want
               if (!empty($config['allow_flags']))
               {
                  $validate_array = array_merge($validate_array, array(
                     'flag'         => array('num', true, 0, 300),
                  ));
               }
               //End: National_Flag


Найти

Код: Выделить всё

                  if ($config['allow_birthdays'])
                  {
                     $sql_ary['user_birthday'] = $data['user_birthday'];
                  }


Вставить перед найденным

Код: Выделить всё

                  //Begin: National_Flag
                  if (!empty($config['allow_flags']))
                  {
                     $sql_ary['user_flag'] = $data['flag'];
                  }
                  //End: National_Flag


Найти

Код: Выделить всё

                  'S_BIRTHDAYS_ENABLED'      => true,
               ));
            }


Вставить после найденного

Код: Выделить всё

            //Begin: National_Flag
            if (!empty($config['allow_flags']))
            {
               global $cache;
               get_user_flag();
               $flags = $cache->get('_user_flags');
               $flag_name = '';
               if ($data['flag'] && $config['flag_type'] != USER_FLAG_TEXT)
               {
                  $flag_name = $flags[$data['flag']]['flag_image'];
               }
               unset($flags);            
               $s_flag_options = list_all_flags($data['flag']);
               
               $template->assign_vars(array(
                  'S_FLAG_OPTIONS'   => $s_flag_options,
                  'S_FLAGS_ENABLED'   => true,
                  'FLAG_IMAGE'      => ($flag_name) ? "{$phpbb_root_path}images/flags/$flag_name" : '',
                  'FLAG_NAME'         => $flag_name,
                  'AJAX_FLAG_INFO'   => append_sid("{$phpbb_root_path}ajax_user_flag.$phpEx", 'flag_id=FLAG_ID'),
               ));
            }
            //End: National_Flag


EN языковые правки
Открыть language/en/common.php
Найти



Вставить перед найденным

Код: Выделить всё

//Begin: National_Flag
$lang = array_merge($lang, array(
      'FLAG'            => 'National Flag',
      'FLAG_EXPLAIN'      => 'Choose your Country Flag',
      'TOP_FLAG_TITLE'   => 'Top 5 National Flags',
      'FLAG_USER'         => '%s User',
      'FLAG_USERS'      => '%s Users',
));
//End: National_Flag



Открыть language/en/acp/permissions_phpbb.php
Найти

Код: Выделить всё

   'acl_a_search'      => array('lang' => 'Can manage search backends and settings', 'cat' => 'misc'),


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
   'acl_a_flags'      => array('lang' => 'Can manage country flags', 'cat' => 'misc'),
//End: National_Flag


RU языковые правки
Открыть language/ru/common.php
Найти



Вставить перед найденным

Код: Выделить всё

//Begin: National_Flag
$lang = array_merge($lang, array(
      'FLAG'            => 'Национальный флаг',
      'FLAG_EXPLAIN'      => 'Выберите свой национальный флаг',
      'TOP_FLAG_TITLE'   => 'Топ 5 Национальных флагов',
      'FLAG_USER'         => '%s Пользователь',
      'FLAG_USERS'      => '%s Пользователей',
));
//End: National_Flag



Открыть language/ru/acp/permissions_phpbb.php
Найти

Код: Выделить всё

'acl_a_search'      => array('lang' => 'тут будет чтото по русски', 'cat' => 'misc'),


Вставить после найденного

Код: Выделить всё

//Begin: National_Flag
   'acl_a_flags'      => array('lang' => 'Может управлять модулем флагов', 'cat' => 'misc'),
//End: National_Flag


для стилей на основе prosilver
Открыть styles/prosilver/template/index_body.html
Найти

Код: Выделить всё

<!-- IF S_DISPLAY_ONLINE_LIST -->


Вставить перед найденным

Код: Выделить всё

<!-- INCLUDE top_flags.html -->



Открыть styles/prosilver/template/memberlist_body.html
Найти

Код: Выделить всё

         <!-- IF AVATAR_IMG -->{AVATAR_IMG}<!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

         <!-- IF USER_FLAG -->{USER_FLAG}<!-- ENDIF -->


Найти

Код: Выделить всё

         <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>


Вставить после найденного

Код: Выделить всё

         <!-- IF S_USER_FLAG --><th class="flag">{L_FLAG}</th><!-- ENDIF -->


Найти

Код: Выделить всё

         <th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>


Вставить после найденного

Код: Выделить всё

      <!-- IF S_USER_FLAG --><th class="flag">{L_FLAG}</th><!-- ENDIF -->


Найти

Код: Выделить всё

      <th class="posts">&nbsp;</th>


Вставить после найденного

Код: Выделить всё

      <!-- IF S_USER_FLAG --><th class="flag">&nbsp;</th><!-- ENDIF -->


Найти

Код: Выделить всё

      <td class="posts"><!-- IF memberrow.POSTS and S_DISPLAY_SEARCH -->


Вставить после найденного

Код: Выделить всё

      <!-- IF S_USER_FLAG --><td class="flag"><div>{memberrow.USER_FLAG}</div></td><!-- ENDIF -->



Открыть styles/prosilver/template/memberlist_leaders.html
Найти

Код: Выделить всё

      <th class="name"><span class="rank-img">{L_RANK}&nbsp;</span>{L_ADMINISTRATORS}</th>


Вставить после найденного

Код: Выделить всё

      <!-- IF S_USER_FLAG --><th class="info">{L_FLAG}</th><!-- ENDIF -->


Найти

Код: Выделить всё

      <td class="info"><!-- IF admin.U_GROUP -->


Вставить перед найденным

Код: Выделить всё

      <!-- IF S_USER_FLAG --><td><!-- IF admin.USER_FLAG--><span class="flag">{admin.USER_FLAG}</span><!-- ENDIF --></td><!-- ENDIF -->


Найти

Код: Выделить всё

      <th class="name">{L_MODERATORS}</th>


Вставить после найденного

Код: Выделить всё

      <!-- IF S_USER_FLAG --><th class="info">&nbsp;</th><!-- ENDIF -->


Найти

Код: Выделить всё

      <td class="info"><!-- IF mod.U_GROUP -->


Вставить перед найденным

Код: Выделить всё

      <!-- IF S_USER_FLAG --><td><!-- IF mod.USER_FLAG--><span class="flag">{mod.USER_FLAG}</span><!-- ENDIF --></td><!-- ENDIF -->



Открыть styles/prosilver/template/memberlist_view.html
Найти

Код: Выделить всё

      <!-- IF LOCATION --><dt>{L_LOCATION}:</dt> <dd>{LOCATION}</dd><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

      <!-- IF USER_FLAG --><dt>{L_FLAG}:</dt> <dd>{USER_FLAG}</dd><!-- ENDIF -->



Открыть styles/prosilver/template/ucp_pm_viewmessage.html
Найти

Код: Выделить всё

      <!-- IF AUTHOR_FROM --><dd><strong>{L_LOCATION}:</strong> {AUTHOR_FROM}</dd><!-- ENDIF -->
      


Вставить после найденного

Код: Выделить всё

      <!-- IF USER_FLAG --><dd><strong>{L_FLAG}:</strong><br />{USER_FLAG}</dd><!-- ENDIF -->



Открыть styles/prosilver/template/ucp_profile_profile_info.html
Найти

Код: Выделить всё

   <dl>
      <dt><label for="interests">{L_INTERESTS}:</label></dt>
      <dd><textarea name="interests" id="interests" class="inputbox" rows="3" cols="30">{INTERESTS}</textarea></dd>
      </dl>


Вставить после найденного

Код: Выделить всё

   <!-- INCLUDE ucp_user_flag.html -->



Открыть styles/prosilver/template/viewtopic_body.html
Найти

Код: Выделить всё

      <!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

      <!-- IF postrow.POSTER_FLAG --><dd><strong>{L_FLAG}:</strong><br /><strong>{postrow.POSTER_FLAG}</strong></dd><!-- ENDIF -->


для стилей на основе subsilver2
Открыть styles/subsilver2/template/index_body.html
Найти

Код: Выделить всё

  <!-- IF S_DISPLAY_BIRTHDAY_LIST -->


Вставить перед найденным

Код: Выделить всё

 <!-- INCLUDE top_flags.html -->



Открыть styles/subsilver2/template/memberlist_body.html
Найти

Код: Выделить всё

      <th nowrap="nowrap" width="10%"><a href="{U_SORT_POSTS}">{L_POSTS}</a></th>


Вставить после найденного

Код: Выделить всё

     <!-- IF S_USER_FLAG --><th nowrap="nowrap" width="10%">{L_FLAG}</th><!-- ENDIF -->


Найти

Код: Выделить всё

      <td class="gen" align="center">{memberrow.POSTS}</td>


Вставить после найденного

Код: Выделить всё

<!-- IF S_USER_FLAG --><td class="gen" align="center">&nbsp;<!-- IF memberrow.USER_FLAG -->{memberrow.USER_FLAG}<!-- ENDIF -->&nbsp;</td><!-- ENDIF -->



Открыть styles/subsilver2/template/memberlist_view.html
Найти

Код: Выделить всё

    <tr>
      <td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_LOCATION}: </td>
       <td><!-- IF LOCATION --><b class="genmed">{LOCATION}</b><!-- ENDIF --></td>
    </tr>


Вставить после найденного

Код: Выделить всё

<!-- IF USER_FLAG -->
   <tr>
       <td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_FLAG}: </td>
       <td><b class="genmed">{USER_FLAG}</b></td>
    </tr>
<!-- ENDIF -->



Открыть styles/subsilver2/template/ucp_profile_profile_info.html
Найти

Код: Выделить всё

value="{LOCATION}" /></td>
</tr>


Добавить после найденного

Код: Выделить всё

   <!-- INCLUDE ucp_user_flag.html -->



Открыть styles/subsilver2/template/viewtopic_body.html
Найти

Код: Выделить всё

<!-- IF postrow.POSTER_FROM --><br /><b>{L_LOCATION}:</b> {postrow.POSTER_FROM}<!-- ENDIF -->


Вставить после найденного

Код: Выделить всё

<!-- IF postrow.POSTER_FLAG --><br /><b>{L_FLAG}:</b> {postrow.POSTER_FLAG}<!-- ENDIF -->


Завершение установки:

Для завершения установки необходимо запустить файл установки через браузер

Код: Выделить всё

http://ваш сайт/user_flags_install.php


после установки удалите файл user_flags_install.php с сервера.

Очистите кэш.
Настройки мода находятся по адресу Админка - Модули - Национальные Флаги

Выбрать флаг можно в своём профиле в личном разделе.

Успешной установки и применения.



трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
National Flags,phpbb3,forum,mod
Не в сети
(Андрей)  
2016-03-25 
Администратор
Аватара пользователя

Стаж: 8 лет 7 месяцев 2 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


По умолчанию картинки флагов анимированные, вот такие

Изображение

Не всем такие нравятся. Скопировал набор флагов статичных с Rutracker - может кому пригодится.

Изображение

Вложение:
Комментарий к файлу: флаги статичные, gif, с рутрекера
rutracker.rar [45.44 КБ]
Скачиваний: 47


в папке находятся сами флаги в формате .gif и текстовый файл с описанием какой флаг к чему относится.


:arigato:


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
статичные флаги

Не в сети
(Sak)  
2021-12-30 

Стаж: 2 года 3 месяца 24 дня
Сообщения: 22


Стиль: subsilver2


Репутация: 0


Russia



Здравствуйте. С наступающим!

Подскажите, пожалуйста, можно ли, и если можно, то как, вывести флаг пользователя на главную страницу в список активных в данный момент юзеров?
Сам мод я поставил давно и без проблем.
Но хочется сделать отображение флага пользователя за его ником на Главной.


Не в сети
(Андрей)  
2021-12-30 
Администратор
Аватара пользователя

Стаж: 8 лет 7 месяцев 2 дня
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


не знаю. может быть и можно. надо будет скопировать код вывода в php.

а что за "на главную страницу в список активных в данный момент юзеров"?

это какой-то мод?

короче - надо поэкспериментировать.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Sak)  

Стаж: 2 года 3 месяца 24 дня
Сообщения: 22


Стиль: subsilver2


Репутация: 0


Russia



Нет нет, не мод. На главной странице есть список пользователей онлайн. Так вот, я хочу, чтобы у пользователей отображались флаги их стран вместе с никами.

Поэсперементируйте, пожалуйста.
Если результат будет удовлетворяющим, я безусловно отблагодарю, в том числе и денежным эквиваленте. ;)


Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 5 ] 

Кто сейчас на сайте:

Всего посетителей: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (122) здесь было 19 дек 2023, 12:10

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 0

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  





Текущее время: 23 апр 2024, 19:41

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид