PDA

View Full Version : if user has posted in a specific forum


Dr.CustUmz
01-28-2021, 02:42 AM
is there a condition that exists already for detecting if a user has posted in a specific forum? I want to provide a link in the navbar if they have not posted in a certain forum. I was looking into how to be able to detect it:
post > threadid & userid
thread > threadid & forumid

which I could make something with, just dont feel a need to add queries to something that may exist already, so was wondering if anyone knew a way to detect if the user has posted in a specific forum.

--------------- Added 1611812996 at 1611812996 ---------------

I have just went ahead and made a function with the following query to solve this:
SELECT count(postuserid) as count
FROM thread
WHERE postuserid = " . $vbulletin->userinfo['userid'] . "
AND forumid = 5
AND lastposter != " . $vbulletin->userinfo['username'] . "

lange
02-17-2021, 03:51 AM
Maybe a AND with

<if condition="$threadinfo['postuserid'] == $bbuserinfo['userid']"></if>

and this conditional (https://forum.vbulletin.com/forum/vbulletin-legacy-versions-products/legacy-vbulletin-versions/vbulletin-3-0-how-do-i-and-troubleshooting-forum/135340-conditional-for-when-users-post-to-specific-forum-category#post135340)

Dr.CustUmz
02-17-2021, 12:01 PM
The condition you came up with is more for threadbit (forumdisplay) when the end goal needs to be able to detect if a user has posted in a specific forum, no matter where they are. (so navbar / header / ect.)

If user has posted in forum ID 34
show them something

also

If user has posted in forum ID 34 and they are not the last poster
show them something

I may come up with another way to do this, what I'm essentially trying to do is get notifications for my Hire Me section. Its a private forum (only me and the client can see their thread) If I have responded to their thread they get a notification on the navbar, yet if I havent responded to a thread I get a notification.

Maybe something along restricting getnew to that forum id may be the trick...

PinkMilk
02-21-2021, 02:37 PM
Theory code only, not tested...

-- 1 --
Assuming single forum per client (rather than 1 forum multiple client threads) its not a navbar notification but is a possible alternative.

Change new posts link color (https://vborg.vbsupport.ru/showthread.php?t=206370)

Give code a class rather than inline styling, throw in a little animation to cause it to flash.

.getmyattention {
color:red;
animation: blink 1s linear infinite;
}

@keyframes blink {
50% { opacity: 0; }
}


-- 2 --
Came up with this before above not really what your after but going to leave it here anyway rather then just delete.

Adds a getnew link to navbar to specific forum based on user id (does not check for, flash or give notification which is what your after):

Build a plugin using an Associative Array (userid => forumid)


// fetch user id
$user_id = $vbulletin->userinfo['userid'];

// user id => forum id
$forum_id = array(1=>"35", 2=>"37", 3=>"43");

// check exists and create link variable for navbar
if (array_key_exists($user_id,$forum_id)) {

$client_link = '<a href ="search.php?do=getnew&amp;forumid='.$forum_id[$user_id].'">Client Area</a>';
// add link to navbar
$vbulletin->templatecache['navbar'] = str_replace($template_hook['navbar_buttons_left'], $template_hook['navbar_buttons_left'].$client_link, $vbulletin->templatecache['navbar']);

} else {

$client_link = '';

}



then with each new client you just add to the array , 4=>"52" (userid => forumid)

Dr.CustUmz
02-21-2021, 07:12 PM
That would not be a bad approach at all, it atleast gets me closer to what I'm after =) I'll put it to test after the project I'm working on and see if I can make use of it.

Thanks Pink