Модификация позволяет пользователям выбирать в личном разделе флаг страны проживания и выводить его в своём профиле.
Здесь это тоже установлено - посмотрите Личное дело.
Если вас заинтересовало - ставим.
Скачать модификацию из архива сайта:
Скачать из файлового архива сайта
распаковать, содержимое папки root загрузить в корень сайта (где файл config.php).
если у вас на сервере уже есть папка umil - удалите её из папки root перед копированием.
Теперь отредактируем файлы
(правок хватает, но если ставить спокойно и внимательно - всё получится)
Код: Выделить всё
// 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
Код: Выделить всё
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
Код: Выделить всё
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
Код: Выделить всё
<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> {S_FLAG_IMAGE}</dd>
</dl>
<!-- ENDIF -->
Код: Выделить всё
// 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
Код: Выделить всё
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
Код: Выделить всё
$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
Код: Выделить всё
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
Код: Выделить всё
?>
Вставить перед найденным
Код: Выделить всё
//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
Код: Выделить всё
'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
Код: Выделить всё
?>
Вставить перед найденным
Код: Выделить всё
//Begin: National_Flag
$lang = array_merge($lang, array(
'FLAG' => 'Национальный флаг',
'FLAG_EXPLAIN' => 'Выберите свой национальный флаг',
'TOP_FLAG_TITLE' => 'Топ 5 Национальных флагов',
'FLAG_USER' => '%s Пользователь',
'FLAG_USERS' => '%s Пользователей',
));
//End: National_Flag
Код: Выделить всё
'acl_a_search' => array('lang' => 'тут будет чтото по русски', 'cat' => 'misc'),
Вставить после найденного
Код: Выделить всё
//Begin: National_Flag
'acl_a_flags' => array('lang' => 'Может управлять модулем флагов', 'cat' => 'misc'),
//End: National_Flag
Код: Выделить всё
<!-- IF S_DISPLAY_ONLINE_LIST -->
Вставить перед найденным
Код: Выделить всё
<!-- INCLUDE top_flags.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"> </th>
Вставить после найденного
Код: Выделить всё
<!-- IF S_USER_FLAG --><th class="flag"> </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 -->
Код: Выделить всё
<th class="name"><span class="rank-img">{L_RANK} </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"> </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 -->
Код: Выделить всё
<!-- IF LOCATION --><dt>{L_LOCATION}:</dt> <dd>{LOCATION}</dd><!-- ENDIF -->
Вставить после найденного
Код: Выделить всё
<!-- IF USER_FLAG --><dt>{L_FLAG}:</dt> <dd>{USER_FLAG}</dd><!-- ENDIF -->
Код: Выделить всё
<!-- 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 -->
Код: Выделить всё
<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 -->
Код: Выделить всё
<!-- 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 -->
Код: Выделить всё
<!-- IF S_DISPLAY_BIRTHDAY_LIST -->
Вставить перед найденным
Код: Выделить всё
<!-- INCLUDE top_flags.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"> <!-- IF memberrow.USER_FLAG -->{memberrow.USER_FLAG}<!-- ENDIF --> </td><!-- ENDIF -->
Код: Выделить всё
<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 -->
Код: Выделить всё
value="{LOCATION}" /></td>
</tr>
Добавить после найденного
Код: Выделить всё
<!-- INCLUDE ucp_user_flag.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 с сервера.
Очистите кэш.
Настройки мода находятся по адресу Админка - Модули - Национальные Флаги
Выбрать флаг можно в своём профиле в личном разделе.
Успешной установки и применения.