UID для ббкода
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Serious
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 18 лет 2 месяца
UID для ббкода
Подскажите, по какому принципу и на основании какой информации генерируется этот самый uid для тега?
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: UID для ббкода
Код: Выделить всё
$bbcode_uid = substr(base_convert(unique_id(), 16, 36), 0, BBCODE_UID_LEN);-
Serious
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 18 лет 2 месяца
Re: UID для ббкода
Спасибо, уже лучше ;)
Теперь возник вопрос по функции
Не совсем понимаю, как она работает. Допустим, у меня есть текст сообщения из базы данных, в него нужно руками вставить тег с uid'ом. Как это сделать? BBCODE_UID_LEN по умолчанию равен 8, правильно я понял?
Теперь возник вопрос по функции
Код: Выделить всё
/**
* Return unique id
* @param string $extra additional entropy
*/
function unique_id($extra = 'c')
{
static $dss_seeded = false;
global $config;
$val = $config['rand_seed'] . microtime();
$val = md5($val);
$config['rand_seed'] = md5($config['rand_seed'] . $val . $extra);
if ($dss_seeded !== true && ($config['rand_seed_last_update'] < time() - rand(1,10)))
{
set_config('rand_seed', $config['rand_seed'], true);
set_config('rand_seed_last_update', time(), true);
$dss_seeded = true;
}
return substr($val, 4, 16);
}-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: UID для ббкода
Вам надо понять, как это работает, или uid получить? У вас готовое выражение есть, вычисляете и используете, в чём проблема? BBCODE_UID_LEN - это длина uid, как явствует из названия.
-
Палыч
- Former team member
- Сообщения: 9683
- Стаж: 20 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 3 раза
- Поблагодарили: 454 раза
Re: UID для ббкода
Тайна сия - велика есть.Serious писал(а):Не совсем понимаю, как она работает.
Use the secure hash to generate BBCODE_UIDs
Задаётся в файле constants.phpSerious писал(а):BBCODE_UID_LEN по умолчанию равен 8, правильно я понял?
Код: Выделить всё
// BBCode UID length
define('BBCODE_UID_LEN', 8);Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
-
Serious
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 18 лет 2 месяца
Re: UID для ббкода
Надо получить уид во внешнем скрипте. Откуда берется $config['rand_seed']? И можно ли забить на весь код, кроме ? Задача состоит в добавлении одного или нескольких ббкодов во множество сообщений прямо в текст сообщения из бд.
Код: Выделить всё
$val = $config['rand_seed'] . microtime();-
Serious
- phpBB 1.0.0
- Сообщения: 8
- Стаж: 18 лет 2 месяца
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: UID для ббкода
Из таблицы phpbb_config. Генерируется в этой же функции.Serious писал(а):Откуда берется $config['rand_seed']?
Не думаю. Лучше использовать тем же способом, как это сделано в phpBB3.Serious писал(а):И можно ли забить на весь код
-
Otto fon f.
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 18 лет 5 месяцев
Re: UID для ббкода
заходишь в phpbb_posts, находишь нужное сообщение, смотришь какой bbcode_uid в этом сообщении и добавляешь его в тегЗадача состоит в добавлении одного или нескольких ббкодов во множество сообщений прямо в текст сообщения из бд.

