View Single Post
  #3  
Old 10-20-2014, 08:12 PM
KGodel's Avatar
KGodel KGodel is offline
 
Join Date: May 2011
Location: Indiana
Posts: 332
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have it working a bit, but now there is only one issue. Code below:

Basically, in the "UPDATE" portion, it works except when $upoints is 0, then the query is not executed and no confirmation message appears.

PHP Code:
<?php
// In Game Activity Points
// by DrMath
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### PRE-CACHE TEMPLATES AND DATA ######################
$phrasegroups = array('style');
$specialtemplates = array('products');

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
require_once(
DIR '/includes/adminfunctions_template.php');

$this_script 'iga_points';

$rpm_ver 1.0;

$rpm_mouseover_fontcolor '#D04850';

// ######################## CHECK ADMIN PERMISSIONS #######################
if (!can_administer('canadminusers'))
{
    
print_cp_no_permission();
}

print_cp_header();
echo 
"<div class='pagetitle'>In Game Activity System</div>";

//Possible Point Values
$pointreasons = array("Attended a Gamenight (+15)""Attended a Contest/Torunament (+25)");

/////////////////////// front page
if ( empty($_POST['do']) ) {
    
print_form_header($this_script'add');
    
print_table_header('Add Points');
    
print_label_row('Notice:''Select the point value based on the event.');
    
print_select_row('Points''points'$pointreasons);
    
print_label_row('Users:''Input the usernames of all the users you wish to give the above points to. You must separate names using a semicolon (;).');
    
print_textarea_row('Users''users','',12,100,false,false);
    
print_submit_row('Add Points');
    
    
////////////////////// edit points
    
print_form_header($this_script'edit');
    
print_table_header('Edit Points');
    
print_label_row('Username:''Enter the username of who you want to edit the points value of.');
    
print_input_row('Username''username');
    
print_submit_row('Edit Points');
}

/////////////////////// add
if ( $_POST['do'] == 'add' ) {
   
    if ( empty(
$_POST['points']) OR empty($_POST['users']) ) { rpm_print_stop_back('Please be sure every required field is filled out before submitting.'); }
   
    
$vbulletin->input->clean_array_gpc('p', array(
        
'points'         => TYPE_UNIT,
        
'users'          => TYPE_STR
        
));
    
    
$apoints $vbulletin->GPC['points'];
    if (
$apoints == 0) { $addpoints 15; }
    if (
$apoints == 1) { $addpoints 25; }
    
$ausers $db->escape_string($vbulletin->GPC['users']);
    
$addusers explode(";",$ausers);
    
//$adate = date("Y-m-d");
    
    
foreach ($addusers as &$u) {
        
$user trim($u);
        
$sql "UPDATE " TABLE_PREFIX "user SET iga_points = iga_points + $addpoints, iga_lastpointsdate = NOW() WHERE username='$user'";
        
$db->query_write($sql);
    }
   
    
define('CP_REDIRECT''iga_points.php');
    
print_stop_message('iga_points_added');
}  

/////////////////////// edit
if ( $_POST['do'] == 'edit' ) {
   
    if ( !isset(
$_POST['username']) ) { rpm_print_stop_back('Please be sure every required field is filled out before submitting.'); }
    
   
    
$vbulletin->input->clean_array_gpc('p', array(
        
'username'      => TYPE_STR
        
));
    
    
$edituser $db->escape_string($vbulletin->GPC['username']);
    
    
$sql "SELECT iga_points FROM " TABLE_PREFIX "user WHERE username = '$edituser'";
    
$result $db->query_read_slave($sql);
    
$cpoints mysql_result($result,0);
    
    
print_form_header($this_script'update');
    
print_table_header("Update ".$edituser."'s Points");
    echo 
"<input type='hidden' name='username' value='$edituser'>";
    
print_label_row('Note:''Points must be between 0 and 400.');
    
print_input_row('Points''points'$cpoints);
    
print_submit_row('Update Points');
}

/////////////////////// add
if ( $_POST['do'] == 'update' ) {
   
    if ( empty(
$_POST['username']) OR empty($_POST['points']) ) { rpm_print_stop_back('Please be sure every required field is filled out before submitting.'); }
   
    
$vbulletin->input->clean_array_gpc('p', array(
        
'username'  => TYPE_STR,
        
'points'    => TYPE_UNIT
        
));
    
    
$uuser $db->escape_string($vbulletin->GPC['username']);
    
$upoints $vbulletin->GPC['points'];
    
//$udate = date("Y-m-d");
    
    
if ($upoints || $upoints 400) {
        
define('CP_REDIRECT''iga_points.php');
        
print_stop_message('iga_points_val_error');
    } else {
        
$sql "UPDATE " TABLE_PREFIX "user SET iga_points=$upoints, iga_lastpointsdate=NOW() WHERE username = '$uuser'";
        
$db->query_write($sql);
        
define('CP_REDIRECT''iga_points.php');
        
print_stop_message('iga_points_updated'); 
    }
    
}

print_cp_footer();
?>
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01193 seconds
  • Memory Usage 1,860KB
  • 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
  • (1)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