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

Генератор чисел

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Генератор чисел

Сообщение Boomer »

Собственно сабж, как реализовать генератор чисел в phpBB3?
Суть такая - нужно чтобы в тегах была кнопка, при нажатии на которую в выделенном месте окна ответа генерировалось случайное число от 0-12 (желательно при этом чтобы оно не появлялось до отправки сообщения, но это не обязательно).
Соответственно, в отправленном сообщении в том месте должно стоять сгенерированное число.

Также, нужно чтобы в каждое сообщение можно было сгенерировать несколько чисел.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Генератор чисел

Сообщение Sheer »

Boomer писал(а):при нажатии на которую в выделенном месте окна ответа
Нифига не понял... но генератор вот

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

function getUnqRand($max)
{
     static $gens = array();
     $min = 0;
     if (count($gens) < $max-$min) {
         while (1) {
             $new = rand(0, $max);
             if (!in_array($new, $gens)) {
                 $gens[] = $new;
                 return $new;
             }
         }
     }
     return false;
} 
$min - $max - диапазон.
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: Генератор чисел

Сообщение Boomer »

Проблема не в том чтобы сгенерировать число. Проблема в том, чтобы сгенерированное число вставить в сообщение.
в выделенном месте окна ответа
Некорректно выразился. Имел ввиду, что набран какой-то текст. И среди этого текста выделяешь точку и туда "вставляешь", как любой другой тег.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Генератор чисел

Сообщение MIT »

Если у тебя стиль Prosilver, или на нём основанный, открой файл posting_buttons.html и посмотри каким образом прописаны стандартные кнопки BB-кодов. Попробуй, может сам догадаешься как добавить свою кнопку. (Совет: в обработчике события onclick для твоей кнопки напиши insert_text(генератор_числа()), где генератор_числа — имя твоей функции, которая, собственно, число и генерирует).
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: Генератор чисел

Сообщение Boomer »

К сожалению, этот способ не работает. Очевидно надо что-то еще редактировать в bbcode.php, но это вообще темный лес для меня.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Генератор чисел

Сообщение MIT »

Не надо ничего больше редактировать. Что и как добавлял?
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: Генератор чисел

Сообщение Boomer »

1. В includes кинул тот скрипт под именем cube.php
2. В posting_buttons.html добавил:

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

'[roll]','[/roll]' где остальные теги
;

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

	r: '{LA_BBCODE_R_HELP}' 
где столбец

в разделе format-buttons добавил:

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

	<input type="button" class="button2" accesskey="r" name="addbbcode23" value="roll" style="font-weight:bold; width: 30px" onclick="insert_text(getUnqRand())" title="{L_BBCODE_R_HELP}" />
В начале файла добавил:

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

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'includes/cube.' . $phpEx);
Как я понимаю, инклуд запихал не туда. Но как мне сослаться на php-скрипт?

P.S Что самое смешное, после этих операций у меня вообще перестали работать BB коды.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Генератор чисел

Сообщение MIT »

Зачем тебе вообще этот инклуд?
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: Генератор чисел

Сообщение Boomer »

А как мне иначе сослаться на этот генератор чисел?
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Генератор чисел

Сообщение MIT »

У тебя такой сложный генератор, что требует вычислений со стороны сервера?
Достаточно добавить код

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

<input type="button" class="button2" onclick="insert_text(Math.round(Math.random()*12));return false" value="insert random number" />
Boomer
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 6 месяцев

Re: Генератор чисел

Сообщение Boomer »

Этот способ не подходит.
Во-первых, одним редактированием posting_buttons здесь не обойтись.
Во-вторых, мне нужно чтобы число появлялось только после отправки сообщения (т.е для того кто пишет сообщения, были при наборе видны лишь [roll][/roll] (к примеру). А этот же способ при реализации будет вставлять сразу число в поле набора сообщения.
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 18 лет
Откуда: Кривой Рог, Украина
Благодарил (а): 22 раза
Поблагодарили: 76 раз

Re: Генератор чисел

Сообщение FEAR93 »

Boomer
Поищите Dice bbcode mod. Там есть нужный Вам функционал.

Вернуться в «Запросы модов для phpBB 3.0.x»