Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
  #1  
Old 05-09-2005, 01:14 AM
indie indie is offline
 
Join Date: Aug 2004
Posts: 127
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default subscription small modification needed

This seems like it should be simple, but I do not know PHP so need some help.

I use paid subscriptions with primary usergroup changes. The problem I have (and others, since this is a fault) is, members "upgrade", so when the newest subscription expires, it does not send them back to registered users.

Example:

Say I have gold and platinum primary usergroup subscriptions. Say someone gets gold for one year. Then, a month later, they get the platinum for one year. Now, when the platinum expires, it sends them back to gold, instead of registered users, because they went to platinum "from" gold. It does this even though gold has been expired, because it sends to previous usergroup.

So, what I need to do, is in the code, have all expired subscriptions go to the registered users group, instead of the "upgraded from" usergroup (unless someone has a better solution).

I still need it to check for other subscriptions, which it currently does, so that should not change. For example, when the gold expires (the first subscription to expire if a member has upgraded to platinum) it will not remove then from platinum when gold expires because they are in a different usergroup. The way it is now vbulletin already does this correctly, and I want to make sure it still does this.

Thanks if anyone can help!
Reply With Quote
  #2  
Old 06-08-2005, 05:12 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm, I think this is a bug.
I've reported it to Jelsoft, but I don't know if it will be fixed in 3.0.x

Here is some code that should correct the behaviour

In functions_subscriptions.php
FIND
PHP Code:
$user $DB_site->query_first("
    SELECT user.*, subscriptionlog.pusergroupid 
REPLACE that with
PHP Code:
$user $DB_site->query_first("
    SELECT user.*, subscriptionlog.pusergroupid, subscriptionlog.regdate 
FIND
PHP Code:
if (($sub['nusergroupid'] > AND $user['customtitle'] == 0) OR $reset_title
ABOVE that ADD
PHP Code:
// Check if there are active subscriptions that
// - started during this subscription
// - are not finished
// - use the primary usergroup this subscription gives as previous usergroup
// and update their previous usergroup to this subscriptions previous usergroup
if ($sub['nusergroupid'] > 0)
{
    
$DB_site->query("UPDATE " TABLE_PREFIX "subscriptionlog SET pusergroupid = $user[pusergroupid] WHERE userid = $userid AND pusergroupid = $sub[nusergroupid] AND regdate > $user[regdate] AND status=1");

Reply With Quote
  #3  
Old 07-28-2005, 05:35 AM
EZ-Dozet EZ-Dozet is offline
 
Join Date: Oct 2002
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you Kirby for taking the time to help.

We need more like you.
Reply With Quote
Reply

Thread Tools
Display Modes

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 07:56 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.05193 seconds
  • Memory Usage 2,182KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete