This is a little "development guide for dummies" which does not use any "difficult language".
- Installation
- Creating a page
- Adding a stylesheet
- Adding a dashboard option
- Adding a board-wide constant
- Using the database class
- Using the table class
- Using the error class
- Using the cache class
- Managing permissions
- Useful functions
Installation
Upload the files and visit install.php in your MiniBBS directory. Once installed, you can configure the board from the admin dashboard (linked in Stuff).
Creating a page
If your page needs no dynamic content, just use MiniBBS's content management system linked from Stuff. CMS pages are stored in the database and loaded by url_handler.php.
To create a script, download a text editor like Notepad++, set the character encoding to UTF-8 without BOM, and create a PHP file in the basic form of...
<?php
require './includes/bootstrap.php';
/* Your code! */
$template->render();
?>
Now add a line to .htaccess mapping a prettier URL to your script (RewriteRule ^pretty_url$ my_script.php [L]).
Adding a stylesheet
The board's basic structure, common to all styles, is provided by /style/main.css. Your new style will only need to specify colors or deviations from this structure. Use /styles/themes/Mono.css or /styles/themes/Cloudy.css as the template for your new style.
Once you've created your new stylesheet, place it in the /styles/themes/ directory. It should now show up in the user and admin dashboards.
Adding a dashboard option
Tentative: This will be simplified in a future version of MiniBBS.
- Add your new option to the array in /config/default_dashboard.php. Read the comment in that file for help.
- Add a new column to the user_settings table in your MiniBBS database. For example, a boolean option might be: ALTER TABLE `user_settings` ADD `my_option` TINYINT( 1 ) UNSIGNED NOT NULL
- Add an HTML input for your option to dashboard.php
The user's choice (or the default) will now be available from $_SESSION['settings']['my_option'] and configurable from /dashboard.
Adding a board-wide constant (for the admin dashboard)
Tentative: This will be simplified in a future version of MiniBBS.
- Add your option to the array in /config/default_config.php
- Add a new row to the config table in your MiniBBS database. For example, a boolean option might be: INSERT INTO `config` (`name` ,`value`) VALUES ('MY_OPTION', '1');
- Add an HTML input for your option to admin_dashboard.php
The current setting will now be available as a constant (MY_OPTION) and configurable from /admin_dashboard.
Using the database class
MiniBBS's database class is an extension of PDO.
...
Using the table class
The table class (/includes/class.table.php) is basically a template for the kind of HTML tables used by MiniBBS. Let's say we have this table in mind:
...
Using the error class
...
Using the cache class
...
Managing permissions
To give a user mod or admin rights, click the "Manage permissions" link in their profile. It's also possible to create custom user groups with any combination of permissions (stored in the groups table, with user memberships in group_users), but the interface for that remains to be finished.
Useful functions
...