![]() |
Count users threads from specific forum ID's
I need insert in member profile page (memberinfo_block_statistics)
MYSQL query (count threads from specific forums ID) https://vborg.vbsupport.ru/external/2014/06/39.png What query i should use in hook area ? I search forum with similar problem but i only found this:: Code:
SELECT t.forumid = 1 AND t.forumid = 2 AND t.forumid = 3 What should i repleace X with to get stats for every single user ? edit: i found also something like this: PHP Code:
It does not work --------------- Added [DATE]1263885685[/DATE] at [TIME]1263885685[/TIME] --------------- anyone ? |
bump !
please reply |
I think something like this works for the query:
Code:
SELECT COUNT(*) AS count FROM thread WHERE postuserid = id AND forumid IN(1, 2) Code:
$count = $vbulletin->db->query_first("SELECT COUNT(*) AS count Where to put it is another question, it looks like the HTML for those blocks is generated in member.php around line 474, and there's a member_build_blocks_start hook right before that, so maybe that's a good place. |
Thank you for reply mate !
i think that someting else is wrong in $vbulletin->userinfo[userid] after create new plugin in member profile i can see this error Code:
Database error in vBulletin 3.7.4: |
Oh yeah, sorry, try
Code:
$count = $vbulletin->db->query_first("SELECT COUNT(*) AS count |
yeah that's better !
now when i try to add in template MEMBERINFO Code:
$count['count'] Code:
The following error occurred when attempting to evaluate this template: or maybe in hook area insed of: Quote:
Quote:
|
Sorry, obviously I didn't try any of this and to be honest I keep forgetting what works in templates. Try $count[count], it should be the same (you might also want to use some variable name other than 'count', it's kind of a common name). There's probably some "right" way to do this without creating a new variable.
I don't think you need to do anything like using ob_start/end. You may need to be using a global, however (I already forgot what the code looked like). I think this may be what template hooks are for, so you don't have to worry about variable name conflicts and globals. Maybe someone who knows more will enlighten us :) ETA: Meanwhile, maybe try something like: Code:
$vbulletin->userinfo['memberinfo_threadcount'] = $count['count']; Code:
$bbuserinfo[memberinfo_threadcount] |
i think we're so close but again something is wrong it show always 0
in nut shell what i've done: name: samle_test location: member_build_blocks_start code: Code:
$count = $vbulletin->db->query_first("SELECT COUNT(*) AS count Code:
<li><span class="shade">Płatne Artykuły:</span> $bbuserinfo[memberinfo_threadcount]</li> And in member profile i can see Płatne Artykuły: 0 It shoud be 386 not 0 DEMO: http://www.sportforum.pl/members/marcin-hejnowicz.html (Go To Statistic) |
Well, I guess that means the $bbuserinfo didn't work like I'd guessed. Try this instead: use $template_hook[profile_stats_threadcount] in both places instead of $vbulletin->userinfo['memberinfo_threadcount'] and $bbuserinfo.. etc. And if that doesn't work, add a
global $template_hook; line before you set it in the plugin. |
I dont understand what's:
Quote:
Plugin: Code:
$count = $vbulletin->db->query_first("SELECT COUNT(*) AS count Code:
<li><span class="shade">Płatne Artykuły:</span> $template_hook[profile_stats_threadcount]</li> |
I meant it should look like:
Code:
$count = $vbulletin->db->query_first("SELECT COUNT(*) AS count |
unfortunately it doesn't work :(
ok, thank you for you time. i hope that somene else answer. |
OK, I hate to give up, so I actually went to the test site and tried this (which I should have done from the start and saved us both time).
I made this plugin and used the hook member_profileblock_fetch_unwrapped Code:
if ($this->template_name == 'memberinfo_block_statistics') Sorry I wasted your time before, this time I *really* quit :) |
You are great man ! ;)
But i have still problem ... It works perfect when I set specific number of postuserid like: Code:
if ($this->template_name == 'memberinfo_block_statistics') Code:
if ($this->template_name == 'memberinfo_block_statistics') is there any another way to replace Quote:
|
Oh, I wish it were true, but in fact that problem is probably why it didn't work before. I should have thought of making sure that it was right.
Anyway, here we go again :): I found this in class_profileblock.php (the same file where the hook is called): Code:
$requirements = $this->registry->db->query_read_slave(" |
YEAH ! it works !
Exactly what i want ! Thank you again mate without your help i cant solve the problem! Give via PM you paypal account. |
I know this is an old thread Kevin but, I have edited this and edited this to get this to work on postbit_legacy with no luck.
I tried to get it to show (link) all threads by user in postbit_legacy but, only in select forum. Any chance you could have a look at your code again and help me out? I would really appreciate it. Though, I have done a great deal of research before posting this request, I was not able to locate anything like this, so, if you or anyone that reads this know of an edit or addon that does what I am seeking please let me know... Thank you for your time.... Tim |
Wow, that's an old one. But I'm not sure what you're asking. The code above was only showing how many threads a user has in a certain set of forums. It sounds like you want links or something?
|
I am looking to edit this to show how many threads a user has in a certain set of forums, but not in a profile tab, I want it to show on the postbit_legacy, below total post.
I want to allow members to be able to click the link similar to what is show below, but in the postbit_legacy template, not in a profile tab. I am only going to show the link in the same forum that I want it to show all the threads a user made in those forums. I think I said that right.... https://vborg.vbsupport.ru/external/2014/06/39.png |
OK, I guess you could do something like this, at hook postbit_display_complete:
Code:
$forumids=array(1, 2, 3); Code:
<if condition="$show['threadcount']"> I should also point out that adds a query for each postbit displayed. If you're concerned about that, you could add a column to the user table and adjust the count whenever a thread is created or deleted, but of course that takes more work and probably a few more plugins. You could also keep and array for users that you've already done the query for, so if for instance the same user posts 5 times on a page, you'd only be doing it once. |
Perfect, Thank you.
I did read this thread wrong, I thought this was a clickable link to find all threads started by user in specific forum, similar to "Find all post made by" in the postbit drop down. But, I will test your code for now. Thank you for your time Kevin. |
OK, but I'm thinking the link you want wouldn't be that difficult. If you figure out the right search link you'd just have to change the template code to <a href=... and you'd be there. I'm pretty sure it can be done but I can't figure out the url right now.
|
All times are GMT. The time now is 07:24 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|