форум vBSupport.ru > vBulletin > Вопрос — Ответ
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Unlock
Продвинутый
Default 404 ошибка в vBulletin для удаленных и несуществующих тем
0

Можно ли как-то сделать, что если темы не существует (не была создана, но главное когда была удалена), то выдавалась 404 ошибка, вместо 200.
Сейчас для удаленных тем вот что выдается: http://vbsupport.ru/forum/showthread.php?t=112720 (только пример, а не реально удаленный топик) Суть не в тексте, а в том, что такая страница отдает код 200.
Может какие-то хаки есть или еще как-то можно настроить такой вариант?
Если кто-то готов решить проблемы платно, скиньте ваше предложение.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

Unlock, когда тема удаляется, то и вся информация о ней удаляется из базы, т.е. не остается ничего, при помощи чего бы можно было определить, что такая тема когда-то существовала. т.о. образом остается только выдавать 404 при обращении к любой несуществующей теме. если такой вариант устраивает -- попробую накидать модуль.
 
 
Unlock
Продвинутый
Default
0

Ghost, не знал такой особенности. А вот в этом:
Quote:
if (((!$thread['visible'] AND !can_moderate($thread['forumid'], 'canmoderateposts'))) OR ($thread['isdeleted'] AND !can_moderate($thread['forumid'])))
$thread['isdeleted'] это что означает? Или это при "мягком" удалении?
Но вообще то, 404 для любой не существующей темы, тоже хороший вариант.
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
4

Quote:
Originally Posted by Unlock View Post
$thread['isdeleted'] это что означает? Или это при "мягком" удалении?
угу при "мягком". на то оно и мягкое, чтобы оставлять информацию о теме в базе для возможности последующего восстановления. при "жестком" (физическом) удалении -- сносится вся инфа из таблиц.

информация о теме (сообщении, разделе) автоматически выбирается в скрипте global.php в переменную $threadinfo ($postinfo, $foruminfo) при наличии параметра threadid (postid, forumid) в запросе -- см. код этого скрипта после коментария
PHP Code:
// Init post/thread/forum values 
делается это при помощи функции 'verify_id' (includes/functions.php), которая переадресует запрос функции 'fetch_threadinfo' (fetch_postinfo, fetch_foruminfo), в конце которой есть вызов одноименного хука. соответсвенно, можно повесить на этот хук свой модуль: админка -- Продукты и модули -- Добавить новый модуль -- заполняем форму
  • Продукт = vBulletin
  • Местоположение модуля = fetch_threadinfo
  • Заголовок = 404_thread
  • Порядок выполнения = 5
  • Модуль включен = да
  • Код PHP модуля =
    PHP Code:
    if (!isset($threadcache["$threadid"]['threadid']) OR $threadid != intval($threadcache["$threadid"]['threadid']))
    {
        
    header('HTTP/1.1 404 Not Found');
        echo 
    'Error 404: Thread not found!';
        exit();

и жмем кнопку "Сохранить". аналогично поступаем с сообщениями, только местоположение модуля для них будет fetch_postinfo, а код модуля
PHP Code:
if (!isset($postcache["$postid"]['postid']) OR $postid != intval($postcache["$postid"]['postid']))
{
    
header('HTTP/1.1 404 Not Found');
    echo 
'Error 404: Post not found!';
    exit();

Ghost добавил 04.08.2009 в 11:26
Для раздела будет сложнее, т.к. если он не существует, то до хука дело не дойдет -- функция fetch_foruminfo прекратит свое выполнение после кода
PHP Code:
    if (!$vbulletin->forumcache["$forumid"])
    {
        return 
false;
    } 
но можно найти ближайший после выборки информации о разделе хук (это будет хук 'style_fetch') и повесить на него модуль такого содержания
PHP Code:
if ($vbulletin->GPC['forumid'] AND !isset($foruminfo['forumid']))
{
    
header('HTTP/1.1 404 Not Found');
    echo 
'Error 404: Forum not found!';
    exit();


Last edited by Ghost : 08-04-2009 at 12:26 PM. Reason: Добавлено сообщение
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
9

вот держи готовый продукт -- просто импортируй его (админка -- Продукты и модули -- Управление продуктами -- Добавить/импортировать продукт)
Attached Files
File Type: xml product-g404.xml (2.2 KB, 44 views)
 
 
Unlock
Продвинутый
Default
0

Ghost, спасибо огромное!
Есть пара вопросов.Если не затруднит, объясни как ручками это сделать. Т.е. в каких файлах (видимо global.php) и в каком месте надо вставить код для каждого случая? Просто хочется иметь возможность без проблем откатиться, если возникнут не понятные моменты в работе.Да и пока есть мысль только для топиков выдавать 404 ошибку, но не для постов и разделов. Хотя это и полезно, но все сразу стремно ставить.
Я вот не в курсе, если поставить готовый вариант. После его удаления все изменения будут отменены или нет?
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

Unlock, продукт - это такой термин vbulletin. Файл нужно загрузить в админке и все. И так же в админке потом удаляется без проблем.
А теперь расскажи почему выдача ошибки 404 так важна?
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

Quote:
Originally Posted by Unlock View Post
в каком месте надо вставить код для каждого случая
кажется, я достаточно подробно объяснил, каким образом создается модуль и где.
Quote:
Originally Posted by Unlock View Post
Я вот не в курсе, если поставить готовый вариант. После его удаления все изменения будут отменены или нет?
netwind, уже ответил на этот вопрос. как поставить продукт -- опять-таки указал в том же посте, где и сам продукт прикреплен.
Quote:
Originally Posted by Unlock View Post
Хотя это и полезно, но все сразу стремно ставить.
а "ручками это сделать" не стремно? имхо проще поставить готовый продукт, чем вносить правки самому.
Quote:
Originally Posted by Unlock View Post
пока есть мысль только для топиков выдавать 404 ошибку
админка -- Продукты и модули -- Управление модулями: ищи модули 404_post, 404_thread, 404_forum и отключай любой из них, который не нужен.
Quote:
Originally Posted by netwind View Post
расскажи почему выдача ошибки 404 так важна
не важна, но полезна для поисков, чтобы они удалили из своего индекса удаленные с форума темы.
 
 
Unlock
Продвинутый
Default
0

netwind, не путай меня
Ghost, как поставить продукт - я в курсе ;) Я хотел не через интерфейс воблы сделать, а просто файлы вручную исправить. Ручками не стремно, я так скажем хоть и ламер, но продвинутый.
Но раз можно отключить темы, пост или раздел, то проверю сейчас. Но как откатится если что можно? Просто удалением "продукта"?
И да, сразу для netwind. Нечего делать удаленным темам, а точнее кучи одинаковых страниц в поисковиках. На Серче подробнее написал.
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
0

Quote:
Originally Posted by Unlock View Post
Я хотел не через интерфейс воблы сделать, а просто файлы вручную исправить.
не надо этого делать -- откатить в таком случае будет сложнее.
Quote:
Originally Posted by Unlock View Post
Но как откатится если что можно? Просто удалением "продукта"?
продукт можно удалить. или просто отключить, не удаляя. как и любой модуль продукта.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 10:19 AM.


Powered by vBulletin® Version 3.0.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.