Thread: Add-On Releases - vBExperience
View Single Post
  #1133  
Old 06-23-2008, 07:10 AM
Ideal Web Tech's Avatar
Ideal Web Tech Ideal Web Tech is offline
 
Join Date: Feb 2008
Posts: 273
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Found a bug in the code for counting the points for the pictures (albums).

The problem is in class_xperience.php


Your code that has the problem:
PHP Code:
        //Albumpictures
        
$albumfield="visible";
        if (
$this->field_exists('album''picturecount')) $albumfield="picturecount";

        if (
$DoDebug==1) echo "<br/>Albumpictures";
        if (
$vbulletin->options['xperience_points_pc'] > 0
        {    
            
$vmessagesq =$vbulletin->db->query_read("SELECT 
            
$albumfield
            FROM " 
TABLE_PREFIX "album
            WHERE userid="
.$user['userid']);
    
            if (
$vbulletin->db->num_rows($vmessagesq) > 0)
            {
                
$vmessages $vbulletin->db->fetch_array($vmessagesq);
                
$xperience['count_user_albumpictures'] = $vmessages['visible']*$vbulletin->options['xperience_points_pc'];
            } 
        } 

My corrected version:
PHP Code:
        //Albumpictures - Corrected code by Ideal Web Tech
        
$xperience['count_user_albumpictures'] = 0;
        
$albumfield="visible";
        if (
$this->field_exists('album''picturecount')) $albumfield="picturecount";

        if (
$DoDebug==1) echo "<br/>Albumpictures";
        if (
$vbulletin->options['xperience_points_pc'] > 0
        {    
            
$vmessagesq =$vbulletin->db->query_read("SELECT 
            
$albumfield
            FROM " 
TABLE_PREFIX "album
            WHERE userid="
.$user['userid']);
    
            while (
$vmessages $vbulletin->db->fetch_array($vmessagesq))
            {
                
$xperience['count_user_albumpictures'] += $vmessages['visible']*$vbulletin->options['xperience_points_pc'];
            } 
        } 
Your original code has a problem where it only tracks the last album of the users that was processed. This updated code will correctly process all albums a user has.

I am also looking into making this more efficient as well as making the stats update in real time to avoid the load that comes from updating and to avoid the delay from updating it.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01465 seconds
  • Memory Usage 1,793KB
  • 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
  • (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