There are quite a few tables for bytehoard, and they seem to be increasing every day. Here's a rundown of them.
Remember these names are without prefixes - they will probably have bh2_ or something else in front of them in the database.
This table contains the permissions of a group for a filepath. Status is the permission. 1 is read, 2 is write, 3 is owner. 0 is obviously nothing.
This table contains the permissions of the public (anonymous/guest users) for a filepath. Status is the permission. 1 is read, 2 is write, 3 is owner. 0 is obviously nothing.
This table contains the permissions of a username for a filepath. Status is the permission. 1 is read, 2 is write, 3 is owner. 0 is obviously nothing.
This contains the list of modules for the admin centre. Compare with modulesmenu.
This contains bandwidth entries, for the new bandwidth tracking system. Each row represents one event. username is the username of the user who did it, time is the UNIX timestamp of when it occurred, type is upload/download ('up'/'down') and bytes is the number of bytes transferred.
This contains rows of configuration values. The variable field specifies the name of the variable that the value will be loaded into. They end up as
$bhconfig['variable'] = value
This table has the links between those filecodes and the filepaths. filecode is the filecode that gets passed in the URL. filepath is the path of the file that the code links to. expires is the timestamp when the link expires.
This table links user with groups. An entry normally means membership. Status isn't really used yet, but should refer to the position of the user in the group (moderator, user, peon, etc.).
This table specifies what should be done when an action or error is logged. Type is the internal name for the type of action (i.e. BH_LOGIN or BH_WRONG_FILE). Action is the name for the internal action to use (onscreen, file, email etc.) and parameters are the extra parameters the action might need (email address, for example). For more details on this see the logging system section.
This contains metadata entries for filepaths. Metaname is the name of the property (e.g. size, description) and Metavalue is the value (this is sort of like the config table).
This contains the module information. Module is the ID of the module (the filename without .inc.php), file is the filename, and name, description, and author are the obvious details of the file.
This table links the access levels that user have on files with the modules that are displayed. The module and accesslevel are specified, along with whether the module should be displayed for that access level. Examples: The download module works for access levels 1, 2 and 3, while the delete one only works for 2 and 3.
This table lists the modules displayed as actions for directories. module is the module and status should be set to 1 for the rule to be used.
This table links the modules with their filetypes - the value '*' for the filetype field means for all files (for downloads, for example), while a file extension (like 'html') will only let the module work for that one type (e.g. for the HTML editor).
This table links the modules with 'menus' - the only main one is 'page', which is the list of accessible pages viewable in the toolbar, like logout and options. Again, status is 1 for display and 0 to not show.
This table links the modules displayed to the user types thay are displayed for. 'guest', 'normal' and 'admin' are the three main usertypes, and you can show modules based on which usertype is viewing the page. Examples include the login page only being shown in the toolbar for guests, and logout only being sown for users and admins.
This table contains the details of all packages installed in this version of ByteHoard. code is the ID/code of the package (unique), name is its actual name, with spaces, apostrophes etc., description is its description, version is the version installed and type is the type of package (BH update, language, skin, layout, mod, etc.).
This table contains password reset requests. username is the username of the reset request, resetid is the reset code which gets passed in the URL, time is when the request was created (used to expire them after a certain time period).
This table contains registration requests. regid is the id of the request (used for confirmation link), status is the status of the request (0 = pending confirmation, 1 = pending moderation), regtime is the time when the requst was created (used to expire them).
This table contains the texts, such as the FAQ and welcome message, for the site. Textname is the ID/name of the text and textbody is the content of the text (normally HTML).
Contains entries for the uploads to let the popups work right. sessionid is the... sessionid and status is a textual status string.
This table is like the metadata table for users - it can contain things like full names, email addresses or even telephone numbers or the like. Username ties the records to a certain user and the itemname and itemcontent variables are just like the metaname and metainfo variables in the metadata table.
The main users table. Contains usernames, MD5 hashed passwords, and the user type.
Links username's views for filepaths.