View Single Post
  #6  
Old 06-12-2004, 03:15 PM
cirisme cirisme is offline
 
Join Date: Jan 2003
Posts: 136
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There are some problems with this hack...

First, the page navigation is screwy. Also, why is eregi_replace being used instead of the (faster) preg functions? In fact, why not just use vB's bbcode parser... much easier that way.

There are some security and performance issues, too. Like, this:

PHP Code:
$query =$DB_site->query("SELECT * FROM " TABLE_PREFIX "user");
  if(
$DB_site->num_rows($query) > 0)
  {
   
$do '1';
  } 
Doing this loads up the enite userbase into memory... not nice. Try this instead:

PHP Code:
$query    $DB_site->query_first('SELECT count(*) AS count FROM ' TABLE_PREFIX 'user');
  
  if(
$query['count'] > 0) {
      
$do '1';
  } 
Of course this doesn't address why this is necessary in the first place, since this query will ALWAYS set $do to 1, since there is always at least one user in the database. Best to just remove that altogether, imo.

There is also this:

PHP Code:
 $query =$DB_site->query("SELECT sigrate FROM " TABLE_PREFIX "user");
   while(
$r =$DB_site->fetch_array($query))
   {
    
$sign $r[sigrate];
   }
   
$nvote $sign.' '.Addslashes($v); 
Which is just as inefficient as the above query and I can't for the life of me figure out what it is trying to do, maybe I'm just missing it....

Finally,
PHP Code:
$query =$DB_site->query("UPDATE " TABLE_PREFIX "user SET sigrate=sigrate+1 where userid='$v'"); 
Really needs to be

PHP Code:
 $query =$DB_site->query("UPDATE " TABLE_PREFIX "user SET sigrate=sigrate+1 where userid='" intval($v) . "'"); 
for obvious reasons. I just spent the last half hour fixing this stuff so I thought you might want to incorporate the changes.

Cool idea, though.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01187 seconds
  • Memory Usage 1,787KB
  • 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
  • (5)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