vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Queries and Hooks...? (https://vborg.vbsupport.ru/showthread.php?t=186299)

StepOnFrog 07-25-2008 03:08 AM

Queries and Hooks...?
 
Hi all,

These following questions *might* make some people's eyeballs jump out from shock when reading them (I expect my questions are a bit noob-like)!

I have taken a big interest in messing around with vBulletin style & code since I first bought the package, it was vB 3.5.4 (possibly about 2 or 3 years ago). From then I was getting to grips with MySQL and PHP too.

I'm now at the stage of learning where I want to write MODs for vBulletin, but I have come across a few stumbling blocks, and is probably the place where your eyeballs jump out in shock!

I've searched all over for tutorials on what I want to know, but haven't found much, really. My searches brought me to this board, where I found a tutorial on the datastore, but, as I understand it, the datastore is for data that isn't updated that often, so not much need for my MOD...

I would like to know about writing queries through vBulletin, for example,
Code:

$query = $db-> blah blah blah blah and so on...
what is the $db-> part of the code, and why not just use a straight forward query for MySQL? Particularly, I'd like to know about the functions in vBulletin that allow us to access, write to and update the database, please?????

Also, I believe it is necessary to learn about the HOOKs in vBulletin, how they are used and why, so any help here would be great too!

I feel daft asking for this help, but have a look around yourselves, see if you can find anything with regards the essential parts of vBulletin programming (IMO, the basics would be the database queries and the HOOK system - the stuff that enables your code to run with vBulletin).

I'm running vBulletin 3.7.2.

Any help and/or advice is greatly received,
Thanks in advance,
Step
;-D

Adrian Schneider 07-25-2008 03:54 AM

The vB_Database class (Usually $db, $vbulletin->db or $this->registry->db) instead of the raw functions, because it will automate a lot of the tedious work like error checking. It also abstracts the functions away, so if you were to switch database engines (within the same syntax) it would call the approriate functions based on your configuration.

The plugin/hook system is pretty simple. Each "hook" is a spot in the code where you can inject your own code (a "plugin"). The plugin code is eval()'d at the hook spot, so all the nearby code is in scope. Why? So admins and add-on developers can modify vB or create new features without having to edit files. When upgrades come around, you don't want to have too many file edits. :)

StepOnFrog 07-25-2008 06:43 AM

I don't suppose you know where I can find a list of functions and their usages, do you?

thx

Dismounted 07-25-2008 07:41 AM

<a href="http://members.vbulletin.com/api/" target="_blank">vBulletin API Documentation</a>

Opserty 07-25-2008 09:03 AM

<a href="https://vborg.vbsupport.ru/forumdisplay.php?f=184" target="_blank">Articles</a>

StepOnFrog 07-25-2008 11:05 PM

Quote:

Originally Posted by Dismounted (Post 1583653)

Where the bloody hell did that materialise from? I swear I've never seen this API doc before; I'd searched the whole length and bredth of vBulletin, to no avail...! Although, this API doc explains the functions and classes of vB, for which you should have a good understanding of Object Orientated Programming, and should have an idea of the functions and classes before you go looking for them, (ie. which came first, the chicken or the egg; which to look at first, the document or the code...?)

There's nothing that simply tells you 'this is blah blah function, it does blah blah, you use it in blah blah way and it is possibly one of a handful of functions that should be learnt as a basic number of functions so that you may be able to look at some snippets of code and have a general gist of what the code is doing.' The god of all books... 'vBulletin coding for Dummies.

Quote:

Articles
And, I suppose it's just a matter of asking for help in Articles forums, but what I thought there might be in these forums is an article just explaining the very basics of the functions regarding the vBdatabse and Hooks....?

Thanks all; this is great!
It's a step closer to that very basic document I, and a huge amount of other people, are after. :up: :D


All times are GMT. The time now is 08:34 AM.

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.01062 seconds
  • Memory Usage 1,727KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete