Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Visman, есть вопрос.
Очень хочется сделать так, чтобы пользователь мог писать в раздел (создавать тему), но не мог читать раздел (т.е. не мог читать темы не им созданные). Думается, что нужно маленько подправить код на предмет проверки галок доступа в разделе, т.е. если стоит галка «создавать темы»—фильтровать вывод тем по имени текущего пользователя и пользователя топикстартера. Верно ли я понимаю?
PS: Сегодня буду на резервном форуме проверять обновление до 46 ревизии (утром до 42 нормально обновилось), буду искать от чего пропадает визуальный редактор.
Offline
буду искать от чего пропадает визуальный редактор.
Сам добавлял? Если да, то возможно из-за того, что скрипты были перенесены с заголовка в подвал страницы.
Верно ли я понимаю?
Менять надо запросы в viewforum.php, viewtopic.php, post.php, edit.php, delete.php.
Доступ к разделу (и всему что внутри) идет по условию
(fp.read_forum IS NULL OR fp.read_forum=1)
При учете галки Создавать тему, условие меняется
(fp.read_forum IS NULL OR fp.read_forum=1 OR fp.post_topics IS NULL OR fp.post_topics=1)
Да и в самом коде файлов нужно, наверное, новые условия прописывать.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Сам добавлял?
Нет, стояла твоя 39 сборка, просто при обновлении до 45 слетал визуальный редактор, потому начал ковырять.
Менять надо запросы в viewforum.php, viewtopic.php, post.php, edit.php, delete.php.
Благодарю за пояснения, где-то так и думалось ковырнуть).
Offline
Всё-таки, хотелось бы ещё Colorize groups из коробки
Offline
@vovans, с этим плагином на моей сборке проблемы на главной странице, т.к. список online пользователей формируется по другому.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
не, по крайней мере, проблемный SQL-запрос я поправил, помнится. Я про этот:
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
Мой вариант:
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster, t.subject FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id
LEFT JOIN '.$db->prefix.'topics AS t ON f.last_post_id=t.last_post_id
LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
Результат он выводит вполне осмысленный дальше не разбирался. Надо получше сам двиг знать и изменения в конкретной сборке
Offline
@vovans, не то, так как в сборке на главной вообще нет запроса на получение online юзеров. Они беруться из готовых массивов в которых нет данных о группе пользователя.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Вопросы по сборке в эту тему следует задавать: https://fluxbb.qb7.ru/forum/viewtopic.php?id=3260
Загрузку аватар не менял. Такая ошибка по коду выскакивает, если файл не найден на сервере после загрузки.
Смотри что в логах ошибок сервера написано.З.Ы. На тестовом форуме _http://forum.alltes.ru/fluxbb14test/ аватар загружается/удаляется нормально.
З.З.Ы. Права на папки у меня стоят 775.
Visman,
Выставлял чере ftp менеджер разные права, но не загружает аватар.
Посмотрел в папке apache log действий и ошибок. Ошибок нет, в действиях адрес страницы и ответ 200 и ещё 4 цифры через пробел.
Создавал аватар для основного админа, не создаётся. Уже 3 неделю мучаюсь не могу ничего сделать, даже в голову ничего не приходит в чём может быть проблема. А сборка Ваша нравится.
Подскажите, что ещё можно проверить? Может в Денвере только не работает?
P/S Файл загружаю с "Рабочего стола"- windows и с папки в самом скрипте, но не загружается. Картинку менял до нужных размеров и меньше, выставлял большие разрешения для загрузки... ничего. :-(
Редактировался setri (2011-10-15 04:42:21)
Даже у камня есть предназначение:-)
Offline
@setri, в файле profile.php после строки
$uploaded_file = $_FILES['req_file'];
поставь строку
message(var_export($uploaded_file, true));
Что выводит после загрузки?
З.Ы. Следует обратить внимание на элемент 'tmp_name', который содержит путь до загруженного файла. Может в пути ошибка?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman,
поставил
message(var_export($uploaded_file, true));
, получилось следующее сообщение:
Инфо
array ( 'name' => 'avatar60-60.gif', 'type' => 'image/gif', 'tmp_name' => 'Z:tmpphp1D.tmp', 'error' => '0', 'size' => '3046', )
По прошлым логам Фpache Денвера было это:
127.0.0.1 - - [14/Oct/2011:20:32:57 +1100] "POST /profile.php?action=upload_avatar2&id=2 HTTP/1.1" 200 4769
Visman, подскажите, а где находится 'tmp_name' ?
Даже у камня есть предназначение:-)
Offline
@setri, вот проблема
'tmp_name' => 'Z:tmpphp1D.tmp'
Z:tmpphp1D.tmp - Что это за путь?
Там случайно не русские буквы в именах каталогов присутствуют?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@setri, вот проблема
'tmp_name' => 'Z:tmpphp1D.tmp'
Z:tmpphp1D.tmp - Что это за путь?
Там случайно не русские буквы в именах каталогов присутствуют?
Z:tmpphp1D.tmp - Что это за путь?
Я не знаю... Может быть Денвер что-то придумал? Вы пользуетесь Денвером?
Там случайно не русские буквы в именах каталогов присутствуют?
Уточните в именах каких каталогов?
Даже у камня есть предназначение:-)
Offline
@setri, не пользуюсь денвером, т.к. он отказывается у меня работать.
Использую VertrigoServ.
>Уточните в именах каких каталогов?
В денвере думаю должна быть папка для хранения временных файлов (в которую они и грузятся). Вот в пути к ней не должно быть русских букв.
>Я не знаю... Может быть Денвер что-то придумал?
Если на стандартной версии форума загрузка аватара работает, то надо там аналогично
@setri, в файле profile.php после строки
$uploaded_file = $_FILES['req_file'];
поставь строку
message(var_export($uploaded_file, true));
Что выводит после загрузки?
З.Ы. Следует обратить внимание на элемент 'tmp_name', который содержит путь до загруженного файла. Может в пути ошибка?
добавить вывод информации и сравнить его с
array ( 'name' => 'avatar60-60.gif', 'type' => 'image/gif', 'tmp_name' => 'Z:tmpphp1D.tmp', 'error' => '0', 'size' => '3046', )
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@ Visman, спасибо. Теперь зная причину попробую исправить проблему. :-)
Даже у камня есть предназначение:-)
Offline
а возможно в сборку добавить обработку бб-кода [image]? Для совместиммости с другими ресрсами...
И не просто [image][/image]. А чтобы можно было и ссылку тут же добавлять. Скажем, часто требуется давать ссылку на миниатюру или само же изображение. Жутко неудобно это делать сейчас. Хотелось бы такого:
[image=http://zenway.ru/uploads/postiki_na_forum/mini/name_001.jpeg]http://zenway.ru/uploads/postiki_na_forum/name_001.jpeg[/image]
Можно даже в панель не добавлять возможность, а хотя бы чтобы сам движок этот код понимал.
Offline
@vovans, то что предлагаешь всего лишь частный случай бб-кода
[url=ссылка на полное изображение][img]миниатюра[/img][/url]
С помощью чего грузишь картинки на сайт? В форуме, в плагине загрузки есть возможность ставить нужный код превью по нажатию на кнопку/картинку.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Гружу чем? Ну... Средствами установленной ЦМС. И там вот такие вот бб-коды. Такие же и у мозиловского расширения для бб-кодов. А вот в fluxbb как-то не так всё в этом плане Да и для совместимости хорошо бы хоть продублировать код с [имг]
И про плагин не понял. Можно подробнее? // а, понял, сейчас гляну. Но вообще этим плагином если кто и пользуется, то сторонние посетители ))
у нас специфика проекта такова, что повторно грузить картинки уже не нужно. У нас обзоры с кучей скриншотов. И при обсуждении чего либо на форуме приводятся уже готовые ссылки. И пока понатыкаешь этих кнопок... Сперва картинку, потом всё это обвести и ссылку... Нелогично, некрасиво и больше движений
Редактировался vovans (2011-10-22 20:55:32)
Offline
@vovans, из примера в предыдущем твоем сообщении я не понял, что форум показывает, а на что ссылку под картинкой выдает?
З.Ы. Просто у меня ощущение, что логика в примере шиворот-на-выворот.
Редактировался Visman (2011-10-23 05:31:22)
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
ну, этот подход достаточно общепринятый...
Если указываем так:
[image]url[/image]
То показывается просто картинка. Это и понятно.
А если добавляем в тег =url, то это будет картинка ао ссылкой:
[image=url]url[/image]
На практике так гораздо проще, чем:
[url=url][img]url[/img][/url]
Чем проще? )) Тем, что как обычно вставляем картинку, вставлем "=" и ссылку. Нет, тем кто привык мышей елозить постоянно, оно может и неудобно удет. Но... Это ж надо выделить всю строку, найти клавишу, тыкнуть, вставть адрес... В общем, после нескольких таких действий отпадает желание лишний раз вставлять картинки со ссылкой на полный размер.
Да и для совместимотсти неплохо бы было...
Offline
@vovans, ты меня не понял.
Из этого примера
[image=http://zenway.ru/uploads/postiki_na_forum/mini/name_001.jpeg]http://zenway.ru/uploads/postiki_na_forum/name_001.jpeg[/image]
что отображается на экране, а что является ссылкой?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Я предполагаю, что отображается
http://zenway.ru/uploads/postiki_na_forum/name_001.jpeg
а по ссылке открывается
http://zenway.ru/uploads/postiki_na_forum/mini/name_001.jpeg
Отсюда и
З.Ы. Просто у меня ощущение, что логика в примере шиворот-на-выворот.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
В файле parser.php в функции handle_img_tag замени
return $img_tag;
на
if (preg_match('%^https?://([^\s<"]*?)$%', pun_htmlspecialchars_decode($alt)))
return '<a href="'.$alt.'">'.$img_tag.'</a>';
return $img_tag;
тогда бб коды
[img=открывающаяся ссылка]отображаемая картинка[/img]
[imgl=открывающаяся ссылка]отображаемая картинка[/imgl]
[imgr=открывающаяся ссылка]отображаемая картинка[/imgr]
будут работать.
Редактировался Visman (2011-10-23 14:52:23)
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Спасибо!
Работает! Добавлю в свой патчер.
Вот только ещё бы совместимость с [image=url]url[/image]
Offline
@vovans, если хочешь совместимость с image, то создай дубликат ф-ии handle_img_tag, которая и будет обрабатывать этот бб-код, внеси в нее изменения предложенные мной выше, потом в файлах parser.php и search_idx.php ищи img и по аналогии добавляй image.
Например
$text = preg_replace('%\[/?(b|u|s|ins|del|em|i|h|colou?r|quote|code|img|imgr|imgl|url|email|list|hr|size|video|audio|after|spoiler|right|center|justify|mono)(?:\=[^\]]*)?\]%', ' ', $text);
меняешь
$text = preg_replace('%\[/?(b|u|s|ins|del|em|i|h|colou?r|quote|code|img|imgr|imgl|image|url|email|list|hr|size|video|audio|after|spoiler|right|center|justify|mono)(?:\=[^\]]*)?\]%', ' ', $text);
а
$pattern[] = '%\[img=([^\[]*?)\]((ht|f)tps?://)([^\s<"]*?)\[/img\]%e';
на
$pattern[] = '%\[img=([^\[]*?)\]((ht|f)tps?://)([^\s<"]*?)\[/img\]%e';
$pattern[] = '%\[image=([^\[]*?)\]((ht|f)tps?://)([^\s<"]*?)\[/image\]%e';
и т.д.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
у меня проблема помогите если сможете пояснить вообщем - установил версию скачанную из этой темы когда нахожусь в админке в меню модерирование нажимаю на ссылку пользователи и выдаёт белую страницу со строкой - "Parse error: syntax error, unexpected '}' in /home/ialfeev/public_html/forum/admin_users.php on line 1" (за раннее извините за беспокойство я в php не оч силён но помощь нужна если это возможно)
Offline