#1
##############################################################
## Название: Разделение смайликов на группы (как на тапках)
## Автор: kaspergreen
## Адаптация: Chumaster59 ( _Xz_ build_smilies.php)
## Сложность: Норм
## Время: 5мин
##############################################################
Выполнить запрос в БД
или возимся с лангами
заменяем слово Стандартные например на {L_SMILES1} а Anime на {L_SMILES2}
в оба lang_main.php добавляем в конец
Всё сохраняем и закрываем
В таблицу bb_smilies БД добавляем новые смайлы с типом 2 после чего выполняем Datastore в админке

-----
Дополнение для админки (20.09.2011)
Открыть оба lang_admin.php
найти
найти
Найти

## Название: Разделение смайликов на группы (как на тапках)
## Автор: kaspergreen
## Адаптация: Chumaster59 ( _Xz_ build_smilies.php)
## Сложность: Норм
## Время: 5мин
##############################################################
Выполнить запрос в БД
ALTER TABLE `bb_smilies` ADD `type` TINYINT( 1 ) NOT NULL DEFAULT '1'Открыть posting.php и заменить
if ($mode == 'smilies')
{
generate_smilies('window');
exit;
}наif ($mode == 'smilies')
{
if(isset($_GET['smtid'])) $smtid = (int)$_GET['smtid'];
else $smtid=1;
switch($smtid) {
case 1:
$smtype = 1;
break;
case 2:
$smtype = 2;
break;
default:
$smtype = 1;
}
generate_smilies('window', $smtype);
exit;
}Открыть includes/bbcode.php и заменитьfunction generate_smilies($mode)
{
global $bb_cfg, $template, $lang, $images, $user, $datastore;
$inline_columns = 4;
$inline_rows = 7;
$window_columns = 8;
if ($mode == 'window')
{
$user->session_start();
}
$data = $datastore->get('smile_replacements');
if ($sql = $data['smile'])наfunction generate_smilies($mode, $smtype=1)
{
global $bb_cfg, $template, $lang, $images, $user, $datastore;
$inline_columns = 4;
$inline_rows = 7;
$window_columns = 8;
if ($mode == 'window')
{
$user->session_start();
}
$data = $datastore->get('smile_replacements');
if ($sql = $data['smile'][$smtype])Открыть и заменить содержимое includes/datastore/build_smilies.php на<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
global $bb_cfg;
$smilies = array();
$rowset = DB()->fetch_rowset("SELECT * FROM ". BB_SMILIES ." ORDER BY smilies_id");
foreach ($rowset as $smile)
{
$smilies['orig'][] = '#(?<=^|\W)'. preg_quote($smile['code'], '#') .'(?=$|\W)#';
$smilies['repl'][] = ' <img class="smile" src="'. $bb_cfg['smilies_path'] .'/'. $smile['smile_url'] .'" alt="'. $smile['emoticon'] .'" align="absmiddle" border="0" />';
$smilies['smile'][$smile['type']][] = $smile;
}
$this->store('smile_replacements', $smilies);Открыть templates/default/posting_smilies.tpl и найти <tr>
<th>{L_EMOTICONS}</th>
</tr>вставить после <tr>
<td class="row2" align=center><a href=posting.php?mode=smilies&smtid=1>Стандартные</a> | <a href=posting.php?mode=smilies&smtid=2>Anime</a></td>
</tr>изменить кодировку на UTF-8или возимся с лангами
заменяем слово Стандартные например на {L_SMILES1} а Anime на {L_SMILES2}
в оба lang_main.php добавляем в конец
//Группы смайлов $lang['SMILES1'] = 'Стандартные'; $lang['SMILES2'] = 'Anime';
Всё сохраняем и закрываем
В таблицу bb_smilies БД добавляем новые смайлы с типом 2 после чего выполняем Datastore в админке

-----
Дополнение для админки (20.09.2011)
Открыть оба lang_admin.php
найти
$lang['SMILEY_EMOT']вставить на следующею строку
$lang['SMILEY_TYPE'] = 'Номер группы';Открыть templates/admin/admin_smilies.tpl
найти
<tr>
<td class="row2">{L_SMILEY_EMOT}</td>
<td class="row2"><input class="post" type="text" name="smile_emotion" value="{SMILEY_EMOTICON}" /></td>
</tr>вставить после <tr>
<td class="row2">{L_SMILEY_TYPE}</td>
<td class="row2"><input class="post" type="text" name="smile_type" value="{SMILEY_TYPE}" /></td>
</tr>Открыть admin/admin_smilies.phpНайти
$smile_emotion = ( isset($_POST['smile_emotion']) ) ? trim($_POST['smile_emotion']) : trim($_GET['smile_emotion']);вставить после
$smile_type = ( isset($_POST['smile_type']) ) ? trim($_POST['smile_type']) : trim($_GET['smile_type']);Найти
SET code = '" . DB()->escape($smile_code) . "', smile_url = '" . DB()->escape($smile_url) . "', emoticon = '" . DB()->escape($smile_emotion) . "'вставить на линии после
, type = '" . DB()->escape($smile_type) . "'Найти
$smile_emotion = ( isset($_POST['smile_emotion']) ) ? $_POST['smile_emotion'] : $_GET['smile_emotion'];вставить после
$smile_type = ( isset($_POST['smile_type']) ) ? $_POST['smile_type'] : $_GET['smile_type'];Ниже найти
$smile_emotion = trim($smile_emotion);вставить после
$smile_type = trim($smile_type);Найти два раза
$sql = "INSERT INTO " . BB_SMILIES . " (code, smile_url, emoticon)вставить на линии после emoticon
, typeНайти
VALUES ('" . DB()->escape($smile_code) . "', '" . DB()->escape($smile_url) . "', '" . DB()->escape($smile_emotion) . "'вставить на линии после, '" . DB()->escape($smile_type) . "'всё сохраняем и закрываем
