Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #32  
Old 12-23-2015, 04:26 PM
MarkFL's Avatar
MarkFL MarkFL is offline
 
Join Date: Feb 2014
Location: St. Augustine, FL
Posts: 3,853
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dragonsys View Post
strange, then the code should work. it should have worked by using != 0
This is the last block of code you posted:

PHP Code:
global $vbulletin$db$userinfo;

if (
$vbulletin->GPC['points'] > 0) {
    
$points $userinfo['ipoints'];
    
$rep $userinfo['reputation'];

    if (
$points 0)
    {
        
$newrep = ($rep $points*500);
    }
    else
    {
        
$newrep = ($rep 150);
    }

    
$vbulletin->db->query_write("
        UPDATE " 
TABLE_PREFIX "user
        SET reputation = " 
$newrep "
        WHERE userid = " 
$userinfo['userid'] .""
    
);

The only issue I can see is with the quotes at the end of the query...I would write:

PHP Code:
global $vbulletin$db$userinfo;

if (
$vbulletin->GPC['points'] > 0) {
    
$points $userinfo['ipoints'];
    
$rep $userinfo['reputation'];

    if (
$points 0)
    {
        
$newrep = ($rep $points*500);
    }
    else
    {
        
$newrep = ($rep 150);
    }

    
$vbulletin->db->query_write("
        UPDATE " 
TABLE_PREFIX "user
        SET reputation = " 
$newrep "
        WHERE userid = " 
$userinfo['userid']
    );

What this should do is if a user is being issue a warning, nothing happens. If they are being issued an infraction, then if prior to the current infraction they have current active points, they will have 500 rep points deducted per current active infraction points, otherwise their rep will simply be reduced by 150.

--------------- Added [DATE]1450895509[/DATE] at [TIME]1450895509[/TIME] ---------------

Quote:
Originally Posted by Dragonsys View Post
...Ok, let's try removing some of the unneeded code and just getting the basics.

PHP Code:
global $vbulletin$db$userinfo;

    if (
$userinfo['ipoints'] > 0)
    {
        
$newrep = ($userinfo['reputation'] - $userinfo['ipoints']*500);
    }
    else
    {
        
$newrep = ($userinfo['reputation'] - 150);
    }

    
$vbulletin->db->query_write("
        UPDATE " 
TABLE_PREFIX "user
        SET reputation = " 
$newrep "
        WHERE userid = " 
$userinfo['userid']
    ); 
Does this work? It should subtract points for Warning & Infraction
That will only take into account a user's prior active infraction points, so there will be no difference in what's done between a warning and an infraction being issued.
Reply With Quote
 


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 06:13 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.05664 seconds
  • Memory Usage 3,719KB
  • Queries Executed 12 (?)
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
  • (29)bbcode_php
  • (26)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (40)post_thanks_box
  • (2)post_thanks_box_bit
  • (40)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit
  • (40)post_thanks_postbit_info
  • (40)postbit
  • (40)postbit_onlinestatus
  • (40)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete