GBM Functions
This document is the starting point for laying out the core functionality of the GBM software. I will attempt to outline the major components and the various functions that are included within the different files that you find in the gbm-functions directory. As we go forward, I would expect to see even more detail added to the various basic function definitions, etc.
GBM Functions Directory
Suffice it to say that if it is a core function that is to be accessed by any and/or all modules, or performs some basic function like connecting to the database, or parsing a CSS stylesheet, you can most likely expect to find it in this, the 'gbm-functions' directory.
Currently, with the default distribution, you will find these files in this directory:
- overlib - javascript application used for fancy HTML-based mouseovers
- includes overlib.js file stored in gbm-functions directory
- plugins - currently, this directory doesn't do much, but we have plans for it.
- x - a plethora of javascript addons that can come in quite handy for some template things.
- allakhazam.php
- cb_auth_utils.inc.php
- cb_database_utils.inc.php
- cb_mail_utils.inc.php
- cb_User.class.php
- cb_user_stat.cron.php
- dbug.inc.php
- error_handler.inc.php
- gbm_config.php
- itemcache.php
- none.php
- overlip.js
- sha1lib.class.inc.php
- submiturl.php
- theme-functions.inc.php
- thottbot.php
- urlreader.php
- xmlhelper.php
Development / Debugging Files
Included with the core distribution right now are a couple of debugging files for tracking down errors and getting information about what goes wrong with the internal workings of the software. These files aren't necessarily required for the normal operation of the software, as the error reporting can be disabled in the configuration file, and the other file (dbug.inc.php) is only really used in testing code that's just been written.
Related Files:
- dbug.inc.php
- error_handler.inc.php
cBrooks Core Functions
These files have been incorporated from a user control panel that was written a while ago on another project of mine, and have been bootstrapped into this project as a means of boosting the security / efficiency of the user authentication, database access, and mailer functions. While these all may not stay such as they are, and may in fact be streamlined later on, or altogether replaced, they certainly suffice for the time being.
Note: This group of includes is mostly what is driving the back-end of the software.
- cb_auth_utils.inc.php
- cb_database_utils.inc.php
- cb_mail_utils.inc.php
- cb_User.class.php
- cb_user_stat.cron.php
- sha1lib.class.inc.php
Ref CbrooksCore
Theming Functions
Core theme-parsing / theme-based functions can be found in theme-functions.inc.php. More detail will be spent explaining the contents and purpose of this file later on. It should also be noted that interface_widgets.jscript is simply a handy couple of javascript functions used in interface design. (I expect to see something like this moved to the template / theme side of things later on.)
gbm_config.php
You will find this file covered in detail under GbmConfigFile
InfoSite Files
These files are those that parse data from an InfoSite (such as Thottbot or Allakhazam) and store it in the itemcache database. Currently, these are distributed with the core distribution. I would like to see them stored in a different directory, such as the plugins directory, but for now, they reside here.
- AllkhazamInfoSite? - imports data from Allakhazam.com
- ThottbotInfoSite? - imports data from Thottbot.com
- EmptyInfoSite? - is the generic, "don't import from anywhere" option
Misc.
There are a number of files, as yet, that are still reminiscent of the original software package that we started working with, and a few others that have been strapped on that, for the time being are just "there." These are, obviously, pieces that we plan to integrate into a cohesive structure later on. The primary function of these files are the importation of information from InfoSite's into the database, or for interacting with the stored information.
- itemcache.php - Abstraction layer for interacting with database table storing downloaded item information.
- itemstats.php
- submiturl.php
- urlreader.php
- xmlhelper.php
