vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   subscription small modification needed (https://vborg.vbsupport.ru/showthread.php?t=81170)

indie 05-09-2005 12:14 AM

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!

Andreas 06-08-2005 04:12 PM

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");



EZ-Dozet 07-28-2005 04:35 AM

Thank you Kirby for taking the time to help.

We need more like you.


All times are GMT. The time now is 01:47 PM.

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.01737 seconds
  • Memory Usage 1,723KB
  • 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
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete