View Single Post
  #746  
Old 04-08-2006, 02:33 PM
mawby mawby is offline
 
Join Date: Jun 2004
Location: Wiltshire, England
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If like me, you want a banner to be displayed to people who have a paid subscription which is about to expire, you can achieve it with the following.
(Please note I am not a PHP coder and haven't written a vB Plugin before so if someone more knowledgeable could check the following for me I would be most grateful.)

Firstly create a global phrase named "welcome_soontoexpire" containing the message you want displayed. I chose the following...

Code:
<center><strong>Your Club Membership will expire in {1} days.</strong><br /><br />We hope you will choose to stay with us!</center>
...which will tell them their paid subscription is about to run out, plus it will tell them the number of days they have left.

Next edit the "welcome_headers" template and add...

Code:
<if condition="$headerexpiremembership != 0">
	<!-- / membership nearly expired -->
	<br />
	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
	<tr> 
		<td class="alt1" style="background-color:#FF0000;">
			<phrase 1="$headerexpiremembership">$vbphrase[welcome_soontoexpire]</phrase>
		</td>
	</tr> 
	</table>
	<!-- / membership nearly expired -->

<else />
...before this line of code.

Code:
<if condition="$headerstime - 1209600 > $bbuserinfo[lastpost]">
Also add the following to the very end of the template.

Code:
</if>
Finally create a plugin for the "Welcome Headers" product with a hook location of "global_start". Set the title to "Soon to expire memberships", and add the following as the PHP plugin code.

PHP Code:
$subscriptions_reminders $vbulletin->db->query_read("
    SELECT subscriptionid, expirydate
    FROM " 
TABLE_PREFIX "subscriptionlog AS subscriptionlog
    WHERE expirydate <= " 
. (TIMENOW + (86400 14)) . "
        AND status = 1
        AND userid = " 
$vbulletin->userinfo['userid'] . "
"
);

while (
$subscriptions_reminder $vbulletin->db->fetch_array($subscriptions_reminders))
{
    
$headerexpiremembership round((($subscriptions_reminder['expirydate'] - TIMENOW) / 86400),1);

That's it! It is hard coded to display the banner when the paid subscription has 14 days or less remaining. You can change the 14 on the following line to be however many days notice you want.

PHP Code:
    WHERE expirydate <= " . (TIMENOW + (86400 * 14)) . " 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01773 seconds
  • Memory Usage 1,780KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete