vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   if user has posted in a specific forum (https://vborg.vbsupport.ru/showthread.php?t=328548)

Dr.CustUmz 01-28-2021 02:42 AM

if user has posted in a specific forum
 
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 [DATE]1611812996[/DATE] at [TIME]1611812996[/TIME] ---------------

I have just went ahead and made a function with the following query to solve this:
Code:

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

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

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

Code:

.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)

PHP Code:

// 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


All times are GMT. The time now is 04:02 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01093 seconds
  • Memory Usage 1,734KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete