Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-09-2005, 06:16 PM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default PHP Functions in postbit?

Alright, this question might have been answered before, or it might be obvious... either way, go easy on me. I'm a bit new to this.

How might one go about running a php function inside of the postbit?
I have a tested and working function inside of functions.php that I want to call into my postbit that I'll post hee, just for the hell of it:

This was added after the comments at the end of functions.php with info on when the file was downloaded and such:

Code:
class rpgstats
{
  function showstats($userid)
  {
    $question = "SELECT *
    FROM inferno_user
    WHERE rid = $userid
    ORDER BY rid DESC
    LIMIT 1";
    $query = mysql_query($question);
    while($themember = mysql_fetch_object($query))
    {

      // Steal variables from Inferno ;)

      $hp  = $themember->hp;
      $hpm = $themember->hpm;
      $hpa = $hp/$hpm;
      $hpa = $hpa*100;

      $themember->hpd = $hpa;

      $mp  = $themember->mp;
      $mpm = $themember->mpm;
      $mpa = $mp/$mpm;
      $mpa = $mpa*100;

      $themember->mpd = $mpa;

      $def  = $themember->def;
      $defm = $hpm;
      $defa = $def/$defm;
      $defa = $defa*100;

      $themember->defd = $defa;

      $str  = $themember->str;
      $strm = $hpm;
      $stra = $str/$strm;
      $stra = $stra*100;

      $themember->strd = $stra;

      if($themember->strd > 100) {
        $themember->strd=100;
      }

      if($themember->defd > 100)  {
        $themember->defd=100;

      echo"
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='{$themember->strd}%' alt='STR ({$themember->str})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='{$themember->defd}%' alt='DEF ({$themember->def})'></div>
      ";

      }
    }
  }
}

$rpg = new rpgstats;

?>
And then, I try to call it in my post bits like so:

Code:
{$rpg->showstats($post[postid]);}
Needless to say, it doesn't work. What am I doing wrong? :speechless:
Sorry for being such a newb.
Reply With Quote
  #2  
Old 01-09-2005, 06:20 PM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mink_
Alright, this question might have been answered before, or it might be obvious... either way, go easy on me. I'm a bit new to this.

How might one go about running a php function inside of the postbit?
I have a tested and working function inside of functions.php that I want to call into my postbit that I'll post hee, just for the hell of it:

This was added after the comments at the end of functions.php with info on when the file was downloaded and such:

Code:
class rpgstats
{
  function showstats($userid)
  {
    $question = "SELECT *
    FROM inferno_user
    WHERE rid = $userid
    ORDER BY rid DESC
    LIMIT 1";
    $query = mysql_query($question);
    while($themember = mysql_fetch_object($query))
    {

      // Steal variables from Inferno ;)

      $hp  = $themember->hp;
      $hpm = $themember->hpm;
      $hpa = $hp/$hpm;
      $hpa = $hpa*100;

      $themember->hpd = $hpa;

      $mp  = $themember->mp;
      $mpm = $themember->mpm;
      $mpa = $mp/$mpm;
      $mpa = $mpa*100;

      $themember->mpd = $mpa;

      $def  = $themember->def;
      $defm = $hpm;
      $defa = $def/$defm;
      $defa = $defa*100;

      $themember->defd = $defa;

      $str  = $themember->str;
      $strm = $hpm;
      $stra = $str/$strm;
      $stra = $stra*100;

      $themember->strd = $stra;

      if($themember->strd > 100) {
        $themember->strd=100;
      }

      if($themember->defd > 100)  {
        $themember->defd=100;

      echo"
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='{$themember->strd}%' alt='STR ({$themember->str})'></div>
      <div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='{$themember->defd}%' alt='DEF ({$themember->def})'></div>
      ";

      }
    }
  }
}

$rpg = new rpgstats;

?>
And then, I try to call it in my post bits like so:

Code:
{$rpg->showstats($post[postid]);}
Needless to say, it doesn't work. What am I doing wrong? :speechless:
Sorry for being such a newb.
You'll need to put it in functions_showthread mostlikely
Reply With Quote
  #3  
Old 01-09-2005, 07:22 PM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I'm pretty sure functions.php is included globally. To test that, I stuck
Code:
echo"test";
in there, and then until I removed it, it showed the text "test" on every page in my forum. I feel kind of stupid now, anyway. I forgot to post why it didn't work (duh)

See the problem is, when I put that into my templates, I get something like "Unexpected ( on the line that you edited. We want }" :P
Reply With Quote
  #4  
Old 01-09-2005, 07:52 PM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mink_
Well, I'm pretty sure functions.php is included globally. To test that, I stuck
Code:
echo"test";
in there, and then until I removed it, it showed the text "test" on every page in my forum. I feel kind of stupid now, anyway. I forgot to post why it didn't work (duh)

See the problem is, when I put that into my templates, I get something like "Unexpected ( on the line that you edited. We want }" :P
Yes, but there is a foreach loop for every user done to display each postbit.
Reply With Quote
  #5  
Old 01-09-2005, 07:56 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
 class rpgstats
 
{
     function 
showstats($userid)
     {
         
$question $DB_site->query("
             SELECT *
             FROM inferno_user
             WHERE rid = 
$userid
             ORDER BY rid DESC
             LIMIT 1
         "
);
         while(
$themember =  $DB_site->fetch_array($question))
         {
     
               
// Steal variables from Inferno ;)
 
               
$hp  $themember->hp;
               
$hpm $themember->hpm;
               
$hpa $hp/$hpm;
               
$hpa $hpa*100;
 
               
$themember->hpd $hpa;
     
               
$mp  $themember->mp;
               
$mpm $themember->mpm;
               
$mpa $mp/$mpm;
               
$mpa $mpa*100;
 
               
$themember->mpd $mpa;
     
               
$def  $themember->def;
               
$defm $hpm;
               
$defa $def/$defm;
               
$defa $defa*100;
 
               
$themember->defd $defa;
     
               
$str  $themember->str;
               
$strm $hpm;
               
$stra $str/$strm;
               
$stra $stra*100;
 
               
$themember->strd $stra;
 
               if(
$themember->strd 100)
               {
                     
$themember->strd=100;
               }
 
               if(
$themember->defd 100)
               {
                     
$themember->defd=100;
               }
       
             
$display[rpgdata] = "
                 <div class='userinfo' align='left'><img src='Inferno/bars/bar_red.gif' width='
{$themember->hpd}%' height='16' alt='HP ({$themember->hp}/{$themember->hpm})'></div>
                 <div class='userinfo' align='left'><img src='Inferno/bars/bar_blue.gif' width='
{$themember->mpd}%' height='16' alt='MP ({$themember->mp}/{$themember->mpm})'></div>
                 <div class='userinfo' align='left'><img src='Inferno/bars/bar_purple.gif' height='16' width='
{$themember->strd}%' alt='STR ({$themember->str})'></div>
                 <div class='userinfo' align='left'><img src='Inferno/bars/bar_green.gif' height='16' width='
{$themember->defd}%' alt='DEF ({$themember->def})'></div>
             "
;
 
         }
     }
 }
 
 
$rpg $new_rpgstats
try that
Reply With Quote
  #6  
Old 01-09-2005, 09:22 PM
Mink_'s Avatar
Mink_ Mink_ is offline
 
Join Date: Dec 2004
Location: NJ, USA
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

EDIT: I managed to do it, after... spending the whole day messing around. But, on the bright side, now I know how to do that sort of thing :devious:

Thanks alot for your help guys. If anyone wants the code (for displaying Inferno Lite stats in your posts), PM me and I'll ask Zero Tolerance if I can give it out.
Reply With Quote
Reply


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 08:52 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.04345 seconds
  • Memory Usage 2,255KB
  • 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
  • (6)bbcode_code
  • (1)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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