View Single Post
  #2  
Old 03-04-2009, 03:36 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The assignments you're talking about replace query_read() and query_write() with a generic mysql_query() function. There is no point in this because the reason for the difference between read and write are for security measures. Replacing the read and write functions would open your board up to more potential security exploits.

Furthermore, there's already a $vbulletin->db->mysql_query() function. You should just use that if you don't want to employ the extra security of query_read and query_write.

However if you want your generic mysql_query(); function to act like read or write you should put something in your php file like this:

PHP Code:
function mysql_query($stmnt){
     
$vbulletin->db->query_read($stmnt);

or

PHP Code:
function mysql_query($stmnt){
     
$vbulletin->db->query_write($stmnt);

or even better...
PHP Code:
function mysql_query($stmnt){
     if( 
stripos($stmnt"select") ) {
          
$vbulletin->db->query_read($stmnt);
     } else {
          
$vbulletin->db->query_write($stmnt);
     }

Then you'd just call mysql_query() without making reference to $db or $vbulletin before it.

However, this adds an extra layer of abstraction that you don't really need. Furthermore, it would be adding more calls to the program stack that runs on the PHP engine, and while it won't be noticible for small boards if you have this code on a large board it will slow down your webserver.


EDIT:

Oh I see, you're porting the mod. You would need to define a vbulletin class that contains the stuff you need... like so

PHP Code:
class vbulletin {
     class 
db {
          function 
query_write($stmnt)
          {
               
mysql_query($stmnt);
          }
          function 
query_read($stmnt)
          {
               
mysql_query($stmnt);
          }
     }
     
$db = new db;
}
$vbulletin = new vbulletin
Once you re-define those in place of your include 'global.php' (the global php file for vbulletin) then it should work.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01216 seconds
  • Memory Usage 1,785KB
  • 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
  • (4)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