Форум сетевых администраторов
Показаны 5 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 3.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=74)
-- новые сообщения (http://netadmin.ws/forum/showthread.php?threadid=7953)


Помещено MCTarakan 25-02-2004 в 01:50:

новые сообщения

Можно ли отключить показ новых сообщений из определенных разделов при их поиске, когда жмешь "новые сообщения" в главном меню?

__________________
yMC.ru - хомяк музыканта


Помещено MarKer 25-02-2004 в 10:58:

Самое простое, это найти такой запрос в файле search.php

PHP:


$threads 
= $DB_site->query("
        SELECT threadid
        FROM " 
. TABLE_PREFIX . "thread AS thread
        LEFT JOIN " 
. TABLE_PREFIX . "deletionlog AS delthread ON(delthread.primaryid = thread.threadid AND 

delthread.type = 'thread')
        WHERE forumid IN(" 
. implode(', ', $forumids) . ") AND forumid <> '2'
        AND thread.lastpost >= 
$datecut
        AND visible = 1
        AND delthread.primaryid IS NULL
        ORDER BY lastpost DESC
        LIMIT 
$vboptions[maxresults]
    "
);



и за

PHP:

WHERE forumid IN
(" . implode(', ', $forumids) . ")


добавить на каждый раздел такие строки:

PHP:

AND forumid <> '3'


где 3 - id раздела, который ты хочешь исключить из поиска.
Получится нечто вроде

PHP:

WHERE forumid IN
(" . implode(', ', $forumids) . ") AND forumid <> '3'



Но это конечно не очень удобный вариант, если потребуется часто менять разрешения на разделы...


Помещено MCTarakan 25-02-2004 в 22:39:

ну для меня и этот подойдет!
Спасибо большое!

а если сложнее загадка?

Например, мне нужно, чтобы если я захожу из под www.domen.ru/forum/index.php то показывало как ты написал выше, а если www.domen.ru/forum/index.php?f=xxx - то показывало из тех, которые я запретил для первого...

Чтоб было понятнее - у меня один форум, но я использую http://www.muzzclub.ru/forum/ для своего музыкального форума, а
http://www.muzzclub.ru/forum/?f=84 - это форум для моего личного сайта и тематика разделов там совсем не музыкальная... Так вот, я хотел бы, чтобы те, кто ходит через первые ворота не видел новых сообщений из разделов второго форума и наоборот... Зачем так сложно? Ну просто люди попросили, чтоб им не регестрироваться по 2 раза на разных досках + переход с одного форма на другой... Вот я так и извращаюсь (хотя надо было делать отдельный форум, но уговорили меня...). Заранее спасибо!

__________________
yMC.ru - хомяк музыканта


Помещено MarKer 26-02-2004 в 03:03:

Делается даже ещё проще. Ищем опять тот самый запрос в search.php:

PHP:


$threads 
= $DB_site->query("
        SELECT threadid
        FROM " 
. TABLE_PREFIX . "thread AS thread
        LEFT JOIN " 
. TABLE_PREFIX . "deletionlog AS delthread ON(delthread.primaryid = thread.threadid AND 

delthread.type = 'thread')
        WHERE forumid IN(" 
. implode(', ', $forumids) . ") AND forumid <> '2'
        AND thread.lastpost >= 
$datecut
        AND visible = 1
        AND delthread.primaryid IS NULL
        ORDER BY lastpost DESC
        LIMIT 
$vboptions[maxresults]
    "
);



И перед ним добавляем:

PHP:

if(isSet($_REQUEST['noids']))
{
    
$noids = explode('-',$_REQUEST['noids']);

    if(
sizeof($noids) > 0)
    {
        foreach(
$noids as $noid)
        {
            
$noidkey = array_search(intval($noid),$forumids);
            unset(
$forumids[$noidkey]);
        }
    }
}



Чтобы исключить ID`ы форумов, ссылка на "новые сообщения" должна выглядеть так:
search.php?do=getnew&noids=1-2-3
ID`ы разделов прописываются в параметре "noids" и должны разделяться дефисами. В данном случае будут исключены разделы: 1, 2 и 3.


Помещено MCTarakan 26-02-2004 в 03:08:

оки-доки, а AND forumid <> '2' тада можно убрать?

MCTarakan добавил 26-02-2004 в 03:15:00:
угу... а то с ней тада ошибку выдает, а так работает отлично!

MCTarakan добавил 26-02-2004 в 03:21:13:
былоб еще ваще круто, еслиб это дело можно было в админке прописать, а ссылка бы выглядела например так: &noidsset=1 (а то у меня ща одна выглядит примерно так: &noids=76-79-80-81-82-83-84-87-88-89-90-91-92-93-94-95-96-97 ) ну или в самом скрипте наконец....

__________________
yMC.ru - хомяк музыканта


Формат времени GMT. Текущее время 07:26.
Показаны 5 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.