vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   vb3 User Forum Activeness Hack v1.4 (https://vborg.vbsupport.ru/showthread.php?t=60100)

g-force2k2 01-11-2004 10:00 PM

vb3 User Forum Activeness Hack v1.4
 
Alright I decided to port this hack over from vb2 since it was one of my favorite hacks, but this time I did a bit more tweaking to improve its preformance and accuracy. Hack comes with auto-installer / un-installer / uses bitwise permissions / fully vbphrased.

What does this hack do?
In the user profile it displays the forum that that user is most active in, the number of posts they have made and the percentage of total posts.
It does require one extra query in the member.php when viewing profiles
Also uses bitwise permissions to check to see if users have access to that forum, which I used a cache for to prevent this hack from using two queries as it did in the past.

What to do?
Queries to run: 2
File Modifications: 2
Template Modifications: 1

Just simply upload the install_ufactive.php to the admincp directory and run the installer for the rest of the steps and information.

Comments, suggestions, etc. are always welcomed. Enjoy my 3rd vb3 hack as I've had just as much fun making it, and trying to make my hacks the best possiblem, from feature wise to performance.

See attachments for screenshots below, first one shows a user that doesn't have the right permissions to view the user's most active forum so it takes from the next most active forum, but the second screenshot shows with regular permissions as the user has permission to the forum.

Please respect my work and I would appreciate if you clicked install.

Note all upgrades are included in the new install_ufactive.php only needed if you installed before February 5th 2004 else the auto-installer has been updated.

Upgrade To 1.1 - Changes
--
MEMBERINFO template ( 1 )
member.php file ( 1 )

You can view information and the attachment on this [ HERE ] AND the information [ HERE ]

Upgrade To 1.2 - Changes
--
member.php file ( 1 )

You can view information adn the attachment on this [ HERE ] AND the information [ HERE ]

Upgrade To 1.3 - Changes
--
member.php file ( 1 )

You can view the information and the attachment by viewing this [ POST ].

Upgrade To 1.4 - Changes
--
install_ufactive.php ( 1 )
member.php ( 1 )
MEMBERINFO template ( 1 )

You can view the attachment [ HERE ] and the post information [ HERE ].

It is advised that you updated changes if you use the Firebird Browser or if you use TABLE_PREFIX on your forum. I will update the install file to include these changes shortly. Big thumbs up to Natch and buro9 for helping me sort out the issues :)

Cheers,
g-force2k2

Allan 01-12-2004 09:02 AM

thank you, nice hack :)

???`S?LV?R???` 01-12-2004 09:24 AM

nice job

squawell 01-12-2004 09:37 AM

well done:D:D

[high]* squawell clicked install[/high]

Blago 01-12-2004 03:54 PM

Nice hack! Will try later.

dede1 01-12-2004 04:28 PM

The computation is however somehow wrongly schau here:

Beitr?ge insgesamt: 1.793 (10,23 Beitr?ge pro Tag) Letzter Beitrag:Wi?t Ihr wer gestern online war?
11.01.2004 22:55
Finde alle Beitr?ge von stargate2068
Finde alle gestarteten Themen von stargate2068
Forum Activeness Statistics
stargate2068 hat in dem Forum Radio - Moderation 63 Beitr?ge geschrieben, da? sind 3513.66% aller seiner Beitr?ge.

Mijae 01-12-2004 04:29 PM

Quote:

Originally Posted by Blago
Nice hack! Will try later.

I'll install this later, definetly!

g-force2k2 01-12-2004 05:26 PM

Quote:

Originally Posted by dede1
The computation is however somehow wrongly schau here:

Beitr?ge insgesamt: 1.793 (10,23 Beitr?ge pro Tag) Letzter Beitrag:Wi?t Ihr wer gestern online war?
11.01.2004 22:55
Finde alle Beitr?ge von stargate2068
Finde alle gestarteten Themen von stargate2068
Forum Activeness Statistics
stargate2068 hat in dem Forum Radio - Moderation 63 Beitr?ge geschrieben, da? sind 3513.66% aller seiner Beitr?ge.

I don't follow exactly what you're saying, but I think I see the problem. Perhaps someone on the forum has an exagerrated post count? Don't know exactly what to think as of right now, because I can't view the profiles at your forum. Besides I am not even sure what language you're speaking, sorry.

Regards,
g-force2k2

dede1 01-12-2004 05:36 PM

I speak German

I have a test user:

User: Pr?ferr
Pass :28x09x88

http://63.246.136.220/Board/index.php?

g-force2k2 01-12-2004 05:46 PM

Quote:

Originally Posted by dede1
I speak German

I have a test user:

User: Pr?ferr
Pass :28x09x88

http://63.246.136.220/Board/index.php?

Does the German number system go by base 10 because the number is right just the decimal place is off by five places which is strange.

I would probably tweak it with a file mod since its the decimal places off.

open member.php

find:

PHP Code:

    $_activeperc round ( ( ( $_activeposts $userinfo['posts'] ) * 100 ), ) . "%" 

replace with:

PHP Code:

    $_activeperc round ( ( ( $_activeposts $userinfo['posts'] ) * 0.01 ), ) . "%" 

See if that helps the situation.

Regards,
g-force2k2

Cassidy 01-12-2004 06:22 PM

THANK YOU! I loved this hack and was hoping someone would port it! I was requesting it all over the place XD

*Installs straight away*

dede1 01-12-2004 06:25 PM

Thanks, I then times continue to look for find I that much

Cassidy 01-12-2004 06:34 PM

Uh i've come across a problem. Over 100 of this users posts are in a different forum but it's saying there's 4 in another forum as thier most.

g-force2k2 01-12-2004 07:35 PM

Quote:

Originally Posted by Cassidy
Uh i've come across a problem. Over 100 of this users posts are in a different forum but it's saying there's 4 in another forum as thier most.

Alright I'll try and figure things out soon, sorry for the problems.

You can try to see if this fixes anything.

open member.php

find:

PHP Code:

        GROUP BY forum.forumid 

Above it add:

PHP Code:

        ORDER BY aposts 

Don't know if that will have any effect though.

Regards,
g-force2k2

dede1 01-12-2004 08:09 PM

Thanks the % is correct. The forum only always indicates
XX, it would have nevertheless also forum XY or XS to show

dede1 01-12-2004 10:07 PM

0 Poster Profil :
PHP Code:

[b]Warning[/b]: Division by zero in [b]/var/www/html/Board/member.php[/bon line [b]379[/b]
function 
showSpoiler(block) {   // by The Small One   block.nextSibling.nextSibling.style.display ="block";   block.parentNode.removeChild(block);} 


SnowBot 01-13-2004 12:25 AM

nice job g-force2k2

keep the hard work up :)

INSTALLS

SnowBot 01-13-2004 01:28 AM

Little problem, install went well but

Forum Activeness StatisticsAidie is most active in the forum Aliens And UFO's
with a total of 2 posts contributing to 0.22% of their total posts.


Does the hack only calculate from date of install ?

BTW Aidie is an admin with Total Posts: 909 (5.59 posts per day

thanks

g-force2k2 01-13-2004 03:47 AM

Quote:

Originally Posted by dede1
0 Poster Profil :
PHP Code:

[b]Warning[/b]: Division by zero in [b]/var/www/html/Board/member.php[/bon line [b]379[/b]
function 
showSpoiler(block) {   // by The Small One   block.nextSibling.nextSibling.style.display ="block";   block.parentNode.removeChild(block);} 


I will have to updated my install to prevent the division by zero, I forgot about users with no posts, but I will update as soon as possible

Quote:

Originally Posted by dede1
Thanks the % is correct. The forum only always indicates
XX, it would have nevertheless also forum XY or XS to show

I don't quite follow what you mean, could you explain it in more depth?

Snowbot did you try adding the ORDER BY to the query? I will have to investigate this because I saw that it was incorrect too, sorry for the setbacks.

Regards,
g-force2k2

dede1 01-13-2004 03:56 AM

Mmmm it shows always the same forum in the forum statistics on all the
same where one thus always looks
Quote:

User-Forum-Statistik
Dede1 hat in dem Forum C 4 Beitr?ge geschrieben, da? sind 0% aller seiner Beitr?ge.
Always forum C with me

Frozen Dreams 01-13-2004 05:56 PM

I am getting that forum problem too. Wont show the right forum. Always brings the same up even though most of my posts are in another forum.

I really like this lil addition to the member info ... but this version looks buggy :(

@dede
der teil mit "$_activeperc = round " usw musst du wieder zur?ck?ndern ... bei dir rechnet er momentan mit der kommastelle 2 zu weit vor ... also: wenn jemand 100 posts hat und diese 100 posts im forum C gemacht hat - dann w?rde er bei dir 1% zeigen ;)
hoffe, das war verst?ndlich ...

dede1 01-13-2004 08:46 PM

Ja danke das habe ich gemacht nur er zeigt bei mir immer das gleiche Forum an egal wo ich schauen gehe immer Forum C.

Ich finde denn fehler leider nicht

MGM 01-13-2004 10:02 PM

niiiiiiiiice hack! ill add it to my forum soon ;)

[high]* MGM clicks install
[/high]

MGM out

webrats 01-14-2004 12:31 PM

still waiting for fix

same problem as cassidy

Zelda-King 01-14-2004 02:30 PM

I get the following error in certain profiles;

Warning: Division by zero in /domain/forums/member.php on line 378

Code there being;
PHP Code:

$_activeperc round ( ( ( $_activeposts $userinfo['posts'] ) * 100 ), ) . "%" 

It seems to happen with anyone who has 0 posts.

g-force2k2 01-14-2004 06:58 PM

Update For Hack Is Complete.

To prevent division by zero added some code changes to the template MEMBERINFO and the file member.php. The User Activeness info will only appear if they have posts if not it will not display.

Note this will also save the 1 query that is used to get the active information if they have no posts.

Will update installer once I fix the other issue at hand. Changes attached below.

Sorry for any inconviences.

Regards,
g-force2k2

Zelda-King 01-14-2004 07:29 PM

Oops! Sorry for repeating a posted problem. Thanks for the quick fix! :)

gmarik 01-14-2004 07:43 PM

Nice and usefull adition! ;)

g-force2k2 01-15-2004 07:06 AM

Quote:

Originally Posted by SnowBot
Little problem, install went well but

Forum Activeness StatisticsAidie is most active in the forum Aliens And UFO's
with a total of 2 posts contributing to 0.22% of their total posts.


Does the hack only calculate from date of install ?

BTW Aidie is an admin with Total Posts: 909 (5.59 posts per day

thanks

Fix 2 Updated, You can updated From v1.1 To v1.2 With the file attached below.

It now correctly displays the current forum of which the user has posted their most posts. And snowbot it now calculates from the posts that exist, I just did not write the query correctly sorry.

It requires one small file edit to the member.php

Sorry for any inconvenieces. Also I want to help the German users, but I don't know what they're exactly discussing so if someone could translate I'd be more than happy to help.

Regards,
g-force2k2

Darkwolf 01-15-2004 05:45 PM

Now is like too much

Total Posts: 1,473 (2.93 posts per day)

Darkwolf is most active in the forum Talking Point with a total of 566 posts contributing to 56600% of their total posts.

g-force2k2 01-15-2004 09:52 PM

Quote:

Originally Posted by Darkwolf
Now is like too much

Total Posts: 1,473 (2.93 posts per day)

Darkwolf is most active in the forum Talking Point with a total of 566 posts contributing to 56600% of their total posts.

I don't know why the calculation doesn't exactly work, but see the information on this [ POST ] for a possible fix. I don't know why it's creating this error, if someone could help me in any way I would appreciate it.

Regards,
g-force2k2

buro9 01-16-2004 02:46 PM

Quote:

Originally Posted by g-force2k2
I don't know why the calculation doesn't exactly work, but see the information on this [ POST ] for a possible fix. I don't know why it's creating this error, if someone could help me in any way I would appreciate it.

Regards,
g-force2k2

Well, in the install you might want to update your code to include the table prefixes:

Code:

function update_phrasegroups ( $phrasegroup, $languageid=1 )
{
  global $DB_site ;

  $getid = $DB_site->query_first ( "SELECT phrasetypeid FROM " . TABLE_PREFIX . "phrasetype WHERE fieldname='$phrasegroup'" ) ;
  $phrasetypeid = $getid['phrasetypeid'] ;

  $phrases = $DB_site->query ( "SELECT varname AS v, text AS t FROM " . TABLE_PREFIX . "phrase WHERE phrasetypeid=" . $phrasetypeid . " ORDER BY varname" ) ;
  while ( $phrase = $DB_site->fetch_array ( $phrases ) ) :
    $parray[$phrase['v']] = preg_replace( '/\{([0-9])+\}/siU', '%\\1$s', $phrase['t'] ) ;
  endwhile ;
  $DB_site->query ( "UPDATE " . TABLE_PREFIX . "language SET phrasegroup_$phrasegroup='" . addslashes ( serialize ( $parray ) ) . "' WHERE languageid=$languageid" ) ;
}

As I got an install error as I'm using table prefixes.

I also had to adjust the member.php bit to include table prefixes, and performed the same addition of an ORDER BY to set the right one at the top:

Code:

  $show[useractiveness] = 0 ;
  if ( $userinfo[posts] ) :
  $forumids = implode ( "', '", get_noaccess_forumids (  ) ) ;
  $tfarray = $DB_site->query_first ( "SELECT COUNT(*) AS aposts," . TABLE_PREFIX . "forum.title AS aftitle, " . TABLE_PREFIX . "thread.forumid AS aforumid
    FROM " . TABLE_PREFIX . "thread
    LEFT JOIN " . TABLE_PREFIX . "post ON " . TABLE_PREFIX . "post.threadid = " . TABLE_PREFIX . "thread.threadid
    LEFT JOIN " . TABLE_PREFIX . "forum ON " . TABLE_PREFIX . "forum.forumid = " . TABLE_PREFIX . "thread.forumid
    LEFT JOIN " . TABLE_PREFIX . "deletionlog ON ( " . TABLE_PREFIX . "deletionlog.primaryid = " . TABLE_PREFIX . "thread.threadid AND type = 'thread' )
    WHERE " . TABLE_PREFIX . "forum.forumid NOT IN ( '$forumids' )
      AND " . TABLE_PREFIX . "thread.visible=1
      AND " . TABLE_PREFIX . "deletionlog.primaryid IS NULL
      AND " . TABLE_PREFIX . "post.userid = $userinfo[userid]
    GROUP BY " . TABLE_PREFIX . "forum.forumid ORDER BY 1 DESC LIMIT 1" ) ;
  $_activeposts = $tfarray['aposts'] ;
  $_activeurl = "<a href=\"forumdisplay.php?$session[sessionurl]f=" . $tfarray['aforumid'] . "\">" . $tfarray['aftitle'] . "</a>" ;
  $_activeperc = round ( ( ( $_activeposts / $userinfo['posts'] ) * 100 ), 2 ) . "%" ;
  $show[useractiveness] = 1 ;
  endif ;

As regards the math for the percentile... it's fine :)
For the sum shown in the earlier post, it did correctly return 38.42%
But it looks like that user has lost a value for the $userinfo['posts'] var... because that value is a direct $_activeposts * 100 rounded sum. So either put in or remove the quotes around 'posts' to see what happens ;)

That should see you fine.

:)

Darkwolf 01-16-2004 03:13 PM

I update to your coding and it got this

Fatal error: Call to undefined function: get_noaccess_forumids() in /home/lifex/public_html/forums/member.php on line 367

trinitym 01-16-2004 03:48 PM

Quote:

Originally Posted by Darkwolf
I update to your coding and it got this

Fatal error: Call to undefined function: get_noaccess_forumids() in /home/lifex/public_html/forums/member.php on line 367

I got the same error earlier because I pasted the wrong bit of code into the includes/functions_user.php - maybe something similar happened?

On another note, it seems my "regular" registered users can't see this in any of the profiles? Did I do something wrong somewhere, or is this a mod only view option?

buro9 01-16-2004 04:08 PM

Quote:

Originally Posted by trinitym
I got the same error earlier because I pasted the wrong bit of code into the includes/functions_user.php - maybe something similar happened?

Yup... the function should exist in functions_user.php and is part of this hack... i.e. you should have run the installer file provided by g-force2k2 in the first post of this thread... followed the instructions and already made the update to functions_user.php.

It sounds daft... but make sure you've uploaded it ;)

Darkwolf 01-16-2004 05:51 PM

I have done that but it doesn't seems to be working for me.

mharmon 01-23-2004 02:59 AM

I tried this in RC3 with no luck. Installed great -- but didn't show. Any suggestions?

poetic 01-23-2004 09:23 PM

Mine shows.. BUT I get the division of 0 error. ?

g-force2k2 01-23-2004 09:48 PM

Quote:

Originally Posted by mharmon
I tried this in RC3 with no luck. Installed great -- but didn't show. Any suggestions?

Did you try to view a profile with more than zero posts?

Quote:

Originally Posted by poetic
Mine shows.. BUT I get the division of 0 error. ?

poetic did you redownload the 1.2 version? because it does have the fix for the division by zero.

Regards,
g-force2k2

poetic 01-23-2004 09:55 PM

I'll 'check' the versions on this.. thanks


All times are GMT. The time now is 06:27 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
  • Page Generation 0.01624 seconds
  • Memory Usage 1,869KB
  • 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
  • (7)bbcode_php_printable
  • (14)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete