MiniBBS A different kind of imageboard

Documentation

This is a little "development guide for dummies" which does not use any "difficult language".

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.

  1. Add your new option to the array in /config/default_dashboard.php. Read the comment in that file for help.
  2. 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
  3. 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.

  1. Add your option to the array in /config/default_config.php
  2. 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');
  3. 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.

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.