Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
List latest X paid subscribers on Forum Home Details »»
List latest X paid subscribers on Forum Home
Version: 1.10, by tamarian tamarian is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 05-17-2004 Last Update: Never Installs: 15
 
No support by the author.

There's also a vB 3.5 version here: https://vborg.vbsupport.ru/showthrea...threadid=99049

What this hack does: This hack will list and instantly refresh (when a new subscription is made) a list of the latest X paid subscribers to your forum. It's a nice way of recognizing members who help pay the the forum bills, and encourages others to join.

Demo: http://forum.lowcarber.org

PHP edits:
1. 2 edits in index.php
2. 1 edit in includes/functions.php
3. 2 edits in includes/functions_subscriptions.php

Template edits:
1. 1 new template: thanks
2. 1 edit in FORUMHOME

Installation:

1. In index.php

Find:

PHP Code:
'FORUMHOME'
Add after:

PHP Code:
'thanks'
Find:

PHP Code:
// ### TODAY'S BIRTHDAYS 
Add before:

PHP Code:
$thanks $templatecache['thanks']; 
2. In include/functions.php

At the end of the file, just before the end/footer stuff,
Code:
/*======================================================================*\
|| ####################################################################
|| # Downloaded: Thu Apr 15th 2004
|| # CVS: $RCSfile: functions.php,v $ - $Revision: 1.967 $
|| ####################################################################
\*======================================================================*/
?>
add before:
PHP Code:
// ###################### thankyou #######################
function thankyou(){
      global 
$DB_site;

    
// This is the template for usernames
    
$thanksbit ' <a href=\"member.php?$session[sessionurl]u=$contributer[userid]\"><font color=\"#228E8E\"><b>$contributer[username]</b></font></a>';

    
$latestcontributers $DB_site->query("SELECT username, status,regdate,  subscriptionlog.userid
                FROM " 
TABLE_PREFIX "subscriptionlog AS subscriptionlog
                LEFT  JOIN " 
TABLE_PREFIX "user AS user
                USING ( userid )
                WHERE user.userid = subscriptionlog.userid
                AND STATUS = '1'
                ORDER  BY  regdate  DESC
                LIMIT 5"
);

    
$latest_str '';
    while (
$contributer $DB_site->fetch_array($latestcontributers))
    {
        eval(
"\$latest_str .= ', ' . \"$thanksbit\";");
    }
    
$latest_str substr($latest_str 2);
    
$latest_str addslashes($latest_str);
    
$DB_site->query("UPDATE " TABLE_PREFIX "template SET template=\"$latest_str\", template_un=\"$latest_str\"  WHERE title='thanks'");

Note 1: Change "LIMIT 5" to any number. By default, it will show the latest 5 paid subscribers. If you want to show the latest 3, simply change to "LIMIT 3".
Note2 The template for usernames is in the code. To change the style and colour, edit this line from the code you added to functions.php:
PHP Code:
    $thanksbit ' <a href=\"member.php?$session[sessionurl]u=$contributer[userid]\"><font color=\"#228E8E\"><b>$contributer[username]</b></font></a>'

3. In includes/functions_subscriptions.php

Find:

PHP Code:
}
      
      
// ###################### Start leavesubscription #######################
      
      
function delete_user_subscription($subscriptionid$userid
Add before (before the bracket):

PHP Code:
thankyou(); 
Find:

PHP Code:
}
      
      
// ###################### Start getsubscriptionscache #######################
      
function cache_user_subscriptions() 
Add before (before the bracket:

PHP Code:
thankyou(); 
4. Create a new template: thanks

Leave the new template empty

5. Edit the FORUMHOME template

Add $thanks where you want the list of members to appear.

For example, I use this in the stats area of FORUMHOME:

Code:
<div>Thanks latest <a href="subscriptions.php">contributing members</a>: $thanks</div>
6. First run To auto fill the list for the first time, you just need to edit an existing subscription, or just wait for the next subscription to arrive.

To auto fill it right now: Simply go to your admin control panel, click on subscriptions, view list, edit any existing subscription, for example, add 1 day to the subscription of a member, and save. You can re-edit to subtract the 1 day if you want.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 05-18-2004, 09:13 PM
ryancooper ryancooper is offline
 
Join Date: Jul 2002
Posts: 433
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This looks great! any way to make it work with vbportal?
Reply With Quote
  #3  
Old 05-18-2004, 09:42 PM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ryancooper
any way to make it work with vbportal?
I think it would be quite easy, but I've never used vbportal.

Let's see if any vbportal expert can suggest the right template edits.
Reply With Quote
  #4  
Old 05-20-2004, 09:19 PM
jilly jilly is offline
 
Join Date: Jul 2002
Location: central maryland
Posts: 461
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

the top of the template says Warning: Invalid argument supplied for foreach() in /web/forums/includes/functions.php on line 2871
Reply With Quote
  #5  
Old 05-20-2004, 09:53 PM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jilly
the top of the template says Warning: Invalid argument supplied for foreach() in /web/forums/includes/functions.php on line 2871
Could you post what you added to functions.php, and specify which line is 2871.
Reply With Quote
  #6  
Old 05-21-2004, 12:48 AM
jilly jilly is offline
 
Join Date: Jul 2002
Location: central maryland
Posts: 461
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this is line 2871 in my functions.php


// ###################### Start bits2array #######################
// takes a bitfield and the array describing the resulting fields
function convert_bits_to_array(&$bitfield, $_FIELDNAMES)
{
$bitfield = intval($bitfield);
$arry = array();
foreach ($_FIELDNAMES AS $field => $bitvalue) {
if ($bitfield & $bitvalue)
{
$arry["$field"] = 1;
}
else

{
$arry["$field"] = 0;
}
}
return $arry;
}


and I added the thank you code right above the end of the file, here:


// ###################### thankyou #######################
function thankyou(){
global $DB_site, $stylevar, $vboptions, $vbphrase;

require_once('./global.php');

$latestcontributers = $DB_site->query("SELECT username, subscriptionlog.userid
FROM " . TABLE_PREFIX . "subscriptionlog AS subscriptionlog
LEFT JOIN " . TABLE_PREFIX . "user AS user
USING ( userid )
WHERE user.userid = subscriptionlog.userid
AND STATUS = '1'
ORDER BY regdate DESC
LIMIT 10");

$latest_str = "";
while ($contributer = $DB_site->fetch_array($latestcontributers))
{
eval ('$latest_str .= ", ' . fetch_template('thanksbit') . '";');
}
$latest_str = substr($latest_str , 2);
$latest_str = addslashes($latest_str);
$DB_site->query("UPDATE " . TABLE_PREFIX . "template SET template=\"$latest_str\", template_un=\"$latest_str\" WHERE title='thanks'");
}


/*================================================= =====================*\
|| ################################################## ##################
|| # Downloaded: 18:53, Tue Apr 27th 2004
|| # CVS: $RCSfile: functions.php,v $ - $Revision: 1.967 $
|| ################################################## ##################
\*================================================ ======================*/
?>


I couldnt post the whole file, it was too big
Reply With Quote
  #7  
Old 05-21-2004, 01:00 AM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is strange, as that portion of the code is not related.

Try this: remove the thankyou stuff from the bottom of functions.php (and from functions_subscriptions.php), and see if this still keeps happening. It might be totally unrelated.
Reply With Quote
  #8  
Old 05-28-2004, 11:07 PM
rookie7 rookie7 is offline
 
Join Date: Apr 2004
Posts: 33
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great hack! *install*
Reply With Quote
  #9  
Old 06-02-2004, 09:44 PM
Bryan Ex's Avatar
Bryan Ex Bryan Ex is offline
 
Join Date: Feb 2004
Location: Canada
Posts: 233
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd really like to use this but I use a third party script for subscriptions that moves users in and out of a specified usergroup. Is there a way this could query a usergroup ID instead of the subscription logs?
Reply With Quote
  #10  
Old 06-02-2004, 10:01 PM
tamarian tamarian is offline
 
Join Date: Oct 2001
Location: Canada
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bryan Ex
I'd really like to use this but I use a third party script for subscriptions that moves users in and out of a specified usergroup. Is there a way this could query a usergroup ID instead of the subscription logs?
But that won't be enough, since there would be no way to determine "last X", since there's no place to keep a record of the date the user changed usergroups by that 3rd party script.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:21 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.04521 seconds
  • Memory Usage 2,323KB
  • Queries Executed 23 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (10)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete