Автор: Zenden (хотя тут сплошной копипаст)
Описание: Позволяет выбирать тему оформления из профиля пользователя.
Выполнить запросы
открыть functions_select.php в самом низу добавить
Открыть usercp_register.php
найти
ниже добавить
найти
ниже добавить
найти
ниже добавить
найти
ниже добавить
найти
ниже добавить
открыть functions.php
найти
заменить
найти
заменить
открыть config.php
найти
заменить
открыть usercp_register.tpl
найти
ниже вставить
В lang_main.php добавить $lang['SELECT_TPL'] = 'Выбор шаблона';
--------------------------
Немного оптимизировал, убрал использование отдельной таблицы. теперь мод работает без дополнительных запросов, выбор шаблона вынес в config.php (загнал в массив).
Описание: Позволяет выбирать тему оформления из профиля пользователя.
Выполнить запросы
PHP:
ALTER TABLE `bb_users` ADD `user_tpl` varchar(11) NOT NULL default 'default';
открыть functions_select.php в самом низу добавить
PHP:
function tpl_select($default_style, $select_name = "style", $dirname = "templates")
{
global $bb_cfg, $userdata;
$tpl_select = '<select name="' . $select_name . '">';
foreach ($bb_cfg['tpl_name'] as $tpl_name)
{
$selected = ( $tpl_name == $default_style ) ? ' selected="selected"' : '';
$tpl_select .= '<option value="' . $tpl_name . '"' . $selected . '>' . $tpl_name . '</option>';
}
$tpl_select .= "</select>";
return $tpl_select;
}
найти
PHP:
'user_lang' => true,
PHP:
'user_tpl' => true,
найти
PHP:
'user_opt' => 0,
PHP:
'user_tpl' => $bb_cfg['tpl_name'],
PHP:
'user_avatar_type' => true,
PHP:
'user_tpl' => true,
найти
PHP:
case 'user_lang':
$user_lang = isset($_POST['user_lang']) ? (string) $_POST['user_lang'] : $pr_data['user_lang'];
if ($submit && ($user_lang != $pr_data['user_lang'] || $mode == 'register'))
{
$pr_data['user_lang'] = $user_lang;
$db_data['user_lang'] = $user_lang;
}
break;
PHP:
case 'user_tpl':
$user_tpl = isset($_POST['user_tpl']) ? (string) $_POST['user_tpl'] : $pr_data['user_tpl'];
if ($submit && ($user_tpl != $pr_data['user_tpl'] || $mode == 'register'))
{
$pr_data['user_tpl'] = $user_tpl;
$db_data['user_tpl'] = $user_tpl;
}
break;
PHP:
'LANGUAGE_SELECT' => language_select($user_lang, 'user_lang'),
PHP:
'SELECT_TPL' => tpl_select($user_tpl, 'user_tpl'),
открыть functions.php
найти
PHP:
global $bb_cfg, $template;
PHP:
global $bb_cfg, $template, $userdata;
найти
PHP:
$tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename($bb_cfg['tpl_name']);
PHP:
$tpl_dir_name = defined('IN_ADMIN') ? 'default' : basename(IS_GUEST ? 'default' : $userdata['user_tpl']);
найти
PHP:
$bb_cfg['tpl_name'] = 'default';
PHP:
$bb_cfg['tpl_name'] = array( 'default'); // для установки новой темы оформления, через запятую добавляем, название (название должно строго соответствовать названию папки вашей темы)
открыть usercp_register.tpl
найти
HTML:
<!-- IF $bb_cfg['allow_change']['language'] -->
<tr>
<td>{L_BOARD_LANG}:</td>
<td>{LANGUAGE_SELECT}</td>
</tr>
<!-- ENDIF -->
HTML:
<tr>
<td>{L_SELECT_TPL}:</td>
<td>{SELECT_TPL}</td>
</tr>
--------------------------
Немного оптимизировал, убрал использование отдельной таблицы. теперь мод работает без дополнительных запросов, выбор шаблона вынес в config.php (загнал в массив).