Просмотр файла minibb11/templates/manual.html

Размер файла: 84.28Kb
<h1>miniBB :: Complete User's Guide</h1>
<small><b>Version 1.1</b>, 2002-03-11</small>

<p><small>Copyright (c) 2001-2002 miniBB.net</small>
<p><small>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".</small>

<ol>
<li><a href="#intro">Introduction</a>
<ol>
<li><a href="#features">Features</a>
<li><a href="#require">Requirements</a>
<li><a href="#speed">Size & Speed</a>
<li><a href="#support">Support</a>
</ol>
<li><a href="#config1">Installation</a>
<ol>
<li><a href="#files">File list</a>
<li><a href="#config1">Config: 1st step</a>
<li><a href="#createForums">Creating forums</a>
</ol>
<li>Customization
<ol>
<li><a href="#config2">Config: 2nd step</a>
<li><a href="#skins">Skins</a>
<li><a href="#templates">Templates</a>
<ul>
<li><a href="#customtpl">Custom templates</a>
</ul>
<li><a href="#lang">Language packs</a>
<li><a href="#css">CSS file</a>
</ol>
<li>Administrative options
<ol>
<li><a href="#panel">Admin panel</a>
<ul>
<li><a href="#addforum">Adding forums</a>
<li><a href="#editforum">Editing, re-ordering, deleting forums</a>
<li><a href="#removeuser">Removing a user</a>
<li><a href="#banuser">Ban/unban a user</a>
<li><a href="#deleteemails">Delete email notifications</a>
<li><a href="#exportemails">Exporting emails list</a>
<li><a href="#restoreadmin">Restore Admin data in database</a>
</ul>
<li>"Hidden" admin forums options
<ul>
<li><a href="#privateforums">Private forums</a>
<li><a href="#archiveforums">Archive (read-only) forums</a>
<li><a href="#userrankings">Users special rankings</a>
<li><a href="#deletemessages">Deleting messages</a>
<li><a href="#deletetopics">Deleting topics</a>
<li><a href="#editmessages">Editing messages</a>
<li><a href="#movetopics">Moving topics</a>
<li><a href="#locktopic">Locking topics</a>
<li><a href="#adminprefs">"Preferences" for admin</a>
</ul>
</ul>
<li>Forums-wide user options
<ol>
<li><a href="#hierarchy">Users hierarchy</a>
<li><a href="#registration">User's registration</a>
<li><a href="#userlogin">User's login</a>
<li><a href="#userlang">User's language</a>
<li><a href="#newposts">New topics and replies</a>
<ul>
<li><a href="#emailNotifications">Email notifications</a>
<li><a href="#highlight">Automatic links highlighting</a>
<li><a href="#bbcodes">BB Codes</a>
<li><a href="#quoting">Quoting messages</a>
</ul>
<li><a href="#userlocktopic">Locking topics</a>
<li><a href="#editmessage">Editing messages</a>
<li><a href="#userprefs">Editing preferences</a>
<ul>
<li><a href="#viewemail">Show email public</a>
<li><a href="#sorttopics">Sort topics</a>
</ul>
<li><a href="#changepassword">Changing user password</a>
<li><a href="#forgotpassword">Forgotten password</a>
<li><a href="#search">Forums search panel</a>
<li><a href="#stats">Statistics</a>
</ol>
<li>Some notes for developers
<ol>
<li><a href="#dbmodules">Database modules</a>
<li><a href="#phpcode">PHP scripts</a>
</ol>
<li><a href="#gnu">GNU Free Documentation License</a>
</ol>

</ol>

<p><b><a name="intro">Introduction</a></b>
<p>miniBB ("minimalistic bulletin board") is linear (non-tree) version of highly customizable bulletin board. It inherits most popular features from the bulletin boards the planet has at this moment, with one exception: it is very small by size (2-5 times smaller than usual boards), very fast and FREE. Also, it uses specific functions that are not included in other forum systems. Since we only need bulletin board community (not email server, not Microsoft product, not moonwalker), we made it really fit to everyone's needs. Mostly miniBB is designed for small and medium Internet-sites, but also can be used in large projects. We will talk about this a little bit later.
<p>miniBB is written using popular language <a href="http://www.php.net">PHP</a>. First version is based on mySQL database, version 1.1 also supports PostgreSQL (requires separate module). But it is possible to extend miniBB for working with other databases that are supported by PHP (see below). 
<p>miniBB has a user-friendly interface, the simplest administration panel, also many necessary administration options. We hope, it also has helpful FAQ :). For more information about features, refer to our "feature list" on <a href="http://www.minibb.net">miniBB.net</a>. You are always welcome for feedback, suggestions and questions in our support community.
<p>This guide refers to almost all miniBB features and possibilities. It is created both for user and administrator, and is included in miniBB package as "default" FAQ. You can use this manual as basic user FAQ for your page under GNU Free Documentation License described below. If you are using this guide as FAQ in your forums, you can remove all administration and developers guide, described in "Installation", "Customization", "Administrative options" and "Some notes for developers" sections.
<p>Some options described in this manual requires basic HTML and PHP knowledge. If you are on beginner-user level, just read it :).

<p><b><a name="features">Features</a></b>
<p>miniBB offers users and administrators most popular features:
<ul>
<li>Color skins, language packs, easy and universal "hand-made" HTML-templates. All of it allows you to quickly and easily change the look of your miniBB.
<li>Interface language change by users.
<li>Easy and customizable search function.
<li>Customizable date format.
<li>HTML is disabled, but there are basic BB codes (HTML replacements), which allow you to make your posts really good-looking. There is also an ability to turn on/off BBCode in posts.
<li>Both anonymous and registered users can post messages in any forum. Registered users also can edit their messages.
<li>Registered users can be notified via email, when their post or topic is replied, even if they are not authors of the topic. They also can unsubscribe.
<li>Special rankings and titles for registered users.
<li>Advanced statistics for users and forums.
<li>Powerful encrypted cookie logging and update system for every user.
<li>IP tracking, which can be accessed by administrator.
<li>Private and archive (read-only) forums.
<li>Banning users by their IPs.
<li>Spam protection.
<li>Powerful admin panel and tools.
<lI>All forums can be protected by one password.
<li>Simple one-step installation within seconds.
</ul>

<p>Why do you need miniBB? The answer is: miniBB is <b>SMALL</b>, <b>SIMPLE</b>, <b>FAST</b> and <b>POWERFUL</b> as ever.

<p><b><a name="require">Requirements</a></b>
<p>miniBB requires PHP4 to be installed on your server. For the miniBB version 1.x, you'll need mySQL server 3.22.32 or higher, or PostgreSQL server (see PostgreSQL module readme for requirements). There are no limitations about server type or OS. For more details about requirements, check our site.

<p><b><a name="speed">Size & Speed</a></b>
<p>We have tried to design miniBB as small as possible. ZIP-compressed fully working version takes only about 65 Kb in size, and uncompressed (without manual) - only about 170 Kb! And less code means: less bugs, more speed. Of course, it depends on your server's power to make fast all database requests, and execute scripts. But, we have tested miniBB on more than 50000 records (enough for medium site!) and can conclude that it works very fast even on average servers. Even faster, than other "ultimate" boards :). Despite that, it includes most popular user and administrator options, that makes use of it clear and simple.
<p>If we talk about limitation of posts, there is actually no limits. miniBB 1.x is based on mySQL, and mySQL can support up to 50,000,000 records. So, if you have a board with 1000 posts per day (who has? tell us! :) ), your forums will be filled after... 130 years! :) And you can easily boost this value by using PostgreSQL.

<p><b><a name="support">Support</a></b>
<p>miniBB has a strong support by us, also as by other developers who took (or will take) part in. You can give us any questions on <a href="http://www.minibb.net">miniBB net</a>, report bugs, make new suggestions. You are always welcome! Also, other developers are always welcome to develop new features. Especially, if you are a student, this is real to take part for you in serious project, that can help you with study project and your references :).
<p>As for technical support (installation etc.), it is, actually, not free from our side. miniBB itself is a GPL project (read more on <a href="http://www.fsf.org/">Free Software Foundation</a> about GPL license), and you can copy/distribute/modify all scripts under terms of GPL. But you can not remove all our copyrights from scripts and templates and offer miniBB as "your" commercial product. For making this possible, you can buy miniBB (for a VERY small amount of &#36;:) ). Read more about technical support on our site.
<p>We are really not interested in receiving big money for miniBB project. For us, it is possibility to offer free product instead of many free products we are using. But a little compensation could be possible :).

<h1>Installation</h1>

<p><b><a name="files">File list</a></b>
<p>For correct working, miniBB needs to have the following structure:
<pre>
[IMG]
[LANG]
[SKINS]
[TEMPLATES]
bb_admin.php
bb_functions.php
bb_specials.php
bb_style.css
COPYING
index.php
setup_mysql.php
setup_options.php
</pre>

<p>Optionally, there can be also install files and modules for different databases.
<p>[IMG], [LANG], [SKINS], and [TEMPLATES] are system directories. It is strongly recommended to NOT rename them. They mean:
<ul>
<li>[IMG]: board's images are placed in this directory, incl. "hot-buttons" and "topic icons". Inside this, you'll find a directory called "forum_icons". You can place any forum icons there. It is also system directory, don't rename it!
<li>[LANG]: a directory for keeping language packs. 
<li>[SKINS]: a directory for keeping color models and table skins.
<li>[TEMPLATES]: a directory for HTML templates.
</ul>
<p>Read more about this below.
<p>Other files means following:
<ul>
<li>bb_admin.php: your administration panel file. You <b>need to rename it</b> from default (see "options" below)!
<li>bb_functions.php: <b>don't touch this one</b>, if you are unfamiliar with PHP. This is basic functions file for the whole engine. Every function or action is included in it.
<li>bb_specials.php: file includes special forums definitions, like private, archive forums, user special rankings (see below for more).
<li>index.php: the main calling file for miniBB. Usually, your sever should support it as "begin" file for any directory. If not, check your server/PHP options. Every action on the board is called from this file.
<li>setup_mysql.php: default database (mySQL) module. Every mySQL request on the board included in it.
<li>setup_options.php: miniBB options file, incl. administrator data. You need definitely change it's content, but also don't rename it.
<li><b>COPYING</b>: this is GPL license. Please, read it before using miniBB!
</ul>

<p><b><a name="config1">Config: 1st step</a></b>
<p>Begin installation of miniBB is very simple. You need to create some database on your SQL server (f.e., "miniBB") with this command:
<pre>
create database miniBB;
</pre>
<p>Then unpack your minibb zip package to some place on your server. Find the file called "setup_options.php". This is your main setup file. All engine is based on it.
<p>Open options file with some plain text editor on your computer. We recommend <a href="http://liquidninja.com/metapad/">Metapad</a>, or simply Notepad. You will find a bunch of option variables, but it is not necessary to edit all of them in this 1st step. We will edit only necessary, and explain the others later. Let's begin.
<ul>
<li><b>&#36;DB = 'mysql';</b> Can be 'mysql' or 'postgresql' (read more about PostgreSQL in module's readme).
<li><b>&#36;DBhost='localhost';</b> Host name for your SQL setup. Most likely localhost.
<li><b>&#36;DBname='miniBB';</b> Your SQL database that you have just created.
<li><b>&#36;DBusr='USERNAME';</b> Your SQL username.
<li><b>&#36;DBpwd='PASSWORD';</b> Your SQL password.
<li><b>&#36;admin_usr = 'ADMIN_USR';</b> Administrator login, is inserted in database also as first engine username. You can change it anytime and update your settings from admin panel (see below). On symbols, there is only one limitation setting admin name: it can not contain "|" sign. This sign is used in board's engine, if you use it, you won't be able to login as admin.
<li><b>&#36;admin_pwd = 'ADMIN_PWD';</b> Admin password.
<li><b>&#36;admin_email = 'admin@email';</b> Admin email (also used as "from" email for all emailings on the forum). Must be correct email. In preferences, you can choose to not show it public (see below), but here you MUST enter it correctly.
<li><b>&#36;bb_admin = 'bb_admin.php';</b> Admin panel FILENAME - we strongly recommend you to rename default bb_admin.php (administrative file) in a root directory to something else, for security reasons.
<li><b>&#36;Tf='forums'; &#36;Tp='posts'; &#36;Tt='topics'; &#36;Tu='users'; &#36;Ts='send_mails'; &#36;Tb='banned';</b> Database table names - if you have one database and the same tables inside, probably you'll need to change them to something like 'minibb_users', 'minibb_topics' etc. for avoiding duplicates. If it is possible to make separate database for forums, it is more better - and you won't need to edit these variables.
</ul>
<p>You need set correctly mysql user name, password, host and database. According to user privileges, it must be SUPER-USER, which can also create tables (if you will create them from the web like via install from browser).
<p>So, stop now if you're done. We did enough for setup. Next step - you need to create structure of your database.

<p><b><a name="install">Install</a></b>
<p>In the main directory, You will find <i>_install.php</i> file and, for mySQL for example, <i>_install_mysql.sql</I> file. "Sql" file is actually your dump. If you have capabilities to make database from shell, we recommend to insert all tables manually. If not, run from your browser the <i>_install.php</i> file.
<p>First screen will welcome you to enter setup. Click on "continue". If everything you typed in options file is correct, script will make all necessary tables described in .sql file. If not, pay attention to your config.
<p>After "OK", you can start building your community! Easy, isn't it? :) But first, <b>DELETE</b> the <i>_install.php</i> file, also as ALL .sql files from directory. We don't need them anymore.

<p><b><a name="createForums">Creating forums</a></b>
<p>miniBB engine is using cookies for registered users and admin log in. No PHP sessions are used. Please refer to "logging" section for more info. So, turn on cookies in your browser for that stuff.
<p>Do a login to your admin page. Usually is "bb_admin.php", but since your are renamed this file (did you?..), only you know what is admin panel URL :). So, go to that panel, and probably you will be prompted for your admin login and password. Enter them, and you must go in admin panel.
<p>There you will see a bunch of options for your miniBB forums. We will describe them later, but now we need to create some forums. So, click on "Add forum" link and... follow instructions on the screen! We guess, it will be very easy to create some forums.
<p>Our system HAS NO subcategories and possibility to sort forum titles by categories. Why? Possibly because that is really not necessary for some site's forum. Let's look at many sites: usually they have 5-6 forum titles, and they are splitted by 2-3 categories. Do you think that is really important? We guess no. 
Another side of this question is: "I have so many forums, so they look on the first page like a pack of garbage, that's why I need to categorize them." This is a question of forum policy - and we don't recommend you to create more than 10 thematical forums for 1 site. Usually, 5-6 is REALLY ENOUGH. More forums are scaring users, and incorrectly strong categorization is decreasing board's popularity. Bulletin Board is a place where users can fast and simply post questions and get answers, and it is very bad, if users don't know WHERE to post their message, because in this case they are simply turning out. So, before creating forums, REALLY THINK OUT their structure and minimize forums count as strong as possible.
<p>Also, we don't recommend to give forums "large names". Be as laconic as possible. First, it is more rememberable, second, large names do not fit in topics or threads listing pages.

<p>When you enter miniBB as administrator, you are also logged in as simple user. You can make posts under your name, edit other posts, make deletions etc. We'll talk about it later. Only one: by default, you should also see "admin panel" link beneath every page. And you can automatically reach your panel following this link.

<h1>Customization</h1>

<p><b><a name="config2">Config: 2nd step</a></b>
<p>At this moment, your miniBB should be running already! You can go to index.php and check this :). But, there is a lot of other options that probably you want to change. So, let's refer to <i>setup_options.php</i> again:
<ul>
<li><b>&#36;lang='eng';</b> Language used in miniBB interface. "Eng", "rus", just check how your language file in directory "lang" is called (example: eng.php). By default, only english language file is included. For more language packs, refer to our site.
<li><b>&#36;skin='default';</b> Skin is actually "colors" model, and it doesn't change anything except colors. All HTML design is included in templates (see below). Examble for using skin: 'default' or 'classic'. Check main directory for skin file names. For more skins, refer to our site.  
<li><b>&#36;main_url='http://www.minibb.net';</b> Direct URL to message board (<b>WITHOUT</b> slash at the end), for email and other stuff (like redirect).
<li><b>&#36;sitename='miniBB forums';</b> Forum's title. Appears on all pages + in emails.
<li><b>&#36;emailadmin=1;</b> Email admin if new topics or replies are posted, also if new user is registered. 0 for no 1 for yes. Replies/topics emails are sent if admin is not the message poster.
<li><b>&#36;emailusers = 1;</b> Users can subscribe to email notification on all topics and posts they make (even if they are not authors of these topics or posts). Recommended only for small and medium forums. If your forums have a lot of visitors and posters, we recommend to turn this to 0.
<li><b>&#36;userRegName = '_A-Za-z0-9 ';</b> Via registration, users can use only these symbols in their login name. You can add "international" letters (f.e., specific russian symbols under special encoding table). String is based on REGEXP match, so if you are not sure, don't touch it. Also DON'T ADD "|" sign please, and other specific symbols too (especially like <>, apostrophe ' and quotes ").
<li><b>&#36;l_sepr</b> is a parameter (HTML special symbol) to separate some values like menu items. By default it is '&amp;middot;' (&middot).
<li><b>&#36;post_text_maxlength='10240';</b> Max characters and spaces allowed in 1 message. Don't set to 0 - then your visitors will not be able to post something ;).
<li><b>&#36;post_word_maxlength=70;</b> Max amount of chars, allowed in 1 word. Used for disabling "long URLs destroys your design" thing.
<li><b>&#36;topic_max_length=70;</b> Max amount of chars, allowed in topic title.
<li><b>&#36;viewmaxtopic=30;</b> How many topics to show on one page.
<li><b>&#36;viewlastdiscussions=30;</b> How many last discussions to show on 1st page, 0 disables last discussions (see below what means "last discussions").
<li><b>&#36;viewmaxreplys=30;</b> How many replies to show on one page.
<li><b>&#36;viewmaxsearch=40;</b> Max search results per page.
<li><b>&#36;viewpagelim=50;</b> Max pages you can view in either search, posts or topics list.
<li><b>&#36;viewTopicsIfOnlyOneForum=0;</b> If you have only one forum, topics inside can be automatically displayed on 1st page. 1 for yes, 0 for no.
<li><b>&#36;protectWholeForum = 0;</b> Should we protect all forums by one password? If value is 1, 2 values below are defined as well. Else set to 0.
<li><b>&#36;protectWholeForumPwd = 'SOME_PWD';</b> Password for protecting the whole forum.
<li><b>&#36;postRange = 60;</b> Antispam: time range in secs. User can not post a message less than after this time. Attention: zero (0) disables antispam!
<li><b>&#36;dateFormat = 'MM DD, YYYY&lt;br&gt;T';</b> Date format for displaying in forums. Where DD = days, MM = months, and YYYY=years, T-time... combination obligately should contain only this letters!
<li><b>&#36;cookiedomain = '';</b> Cookie setting. Most likely you need to leave this blank, however, if you have problems logging into the forum, set this to your domain name, without the http://. F.e., if your forum is at http://www.mysite.com/miniBB then set this value to "www.mysite.com".
<li><b>&#36;cookiename = 'minimalistBB';</b> Cookie setting. Usually you don't need to change this one; it is used only for testing purposes.
<li><b>&#36;cookiepath = '';</b> Cookie setting. Usually you don't need to change this.
<li><b>&#36;cookiesecure = FALSE;</b> Cookie setting. Usually you don't need to change this.
<li><b>&#36;cookie_expires = 3600;</b> This is the number of seconds that a session lasts for, 3600 = 1 hour, 2592000 = 30 days. The session will exprire if the user doesn't view a page on the forum within this amount of time. If you are experiencing problems with international users, set this to 25 hours.
<li><b>&#36;cookie_renew = 1800;</b> This is the time after which session is sent again; for example, user was logged 
once, then logs again (password is not asked), works and this amount of time is reached. Usually it is not 
necessary to change this.
<li><b>&#36;cookielang_exp = 2592000;</b> This is the number of seconds that a user language session lasts for. We recommend to set it to "big" value, because it is not re-updated each time user visits the site. At any time user can delete this setting, entering "Language" menu. See below for more.
<li><b>&#36;disallowNames=array('Anonymous');</b> This feature prevents users from registering forbidden names. In apostrophes, define unwelcomed user registration names. If you are using more than 1 language pack, define here all strings under name &#36;l_anonymous in language pack, else visitor will be able to register under 'Anonymous' name f.e.
</ul>
<p>That's all, folks! We did the advanced miniBB setup. After that, your forums will work more approaching your needs as well :). But, you need to do something corresponding to your page's design, didn't you? So, let's go to the next level.

<p><b><a name="skins">Skins</a></b>
<p> Skin is basically "colors" model, and it doesn't change anything except colors & some table parameters. All HTML design is included in templates (see below). Anyway, skins are strictly bound with HTML templates. The main skins purpose is to easily configure engine's design colors without changing HTML templates. 
<p>Skin models are placed in directory "skins". Every skin should contain these colors and parameters:
<ul>
<li><b>&#36;tableParam[0]='100%';</b> Table "main" width.
<li><b>&#36;tableParam[1]='#F0F0F0';</b> Table "main" (background) color. Makes sense if cellspacing>0.
<li><b>&#36;tableParam[2]='#0098FF';</b> Table header color (document top).
<li><b>&#36;tableParam[3]='#6898D0';</b> Table caption color (discussions, topic titles...).
<li><b>&#36;tableParam[4]='#E0E0E0';</b> Color for cell where forum name is written, also alternative caption color, incl. main menu.
<li><b>&#36;tableParam[5]=0;</b> Table border.
<li><b>&#36;tableParam[6]=4;</b> Table cellpadding.
<li><b>&#36;tableParam[7]=1;</b> Table cellspacing.
<li><b>&#36;tableParam[8]='#D0D0D0';</b> Table cell color 1 (posts, topics...)
<li><b>&#36;tableParam[9]='#FFFFFF';</b> Table cell color 2 (posts, topics...)
<li><b>&#36;tableParam[10]='#F0F0F0';</b> Color of form of user input (login, password, register form etc.)
<li><b>&#36;stats_barColor='#B0B0B0';</b> It's pretty clear, isn't it? ;)
<li><b>&#36;stats_barWidthLim='31';</b> If the width value(it's percentage val. actually) of the stats bar is lower than this one, all the text in it will be placed on its left side. Usually not necessary to change.
<li><b>&#36;bgColor='#FFFFFF';</b> Background color.
</ul>

<p>It is impossible to change skins for separate user. We have an opinion that its extended future isn't necessary for most sites.
<p>You can check for more skins on our site. Optionally, skin pack can also include ".css" file and some templates (rarely).

<p><b><a name="templates">Templates</b></a>
<p>Templates are used to separate HTML code from PHP. They are located in "templates" directory and are usual HTML files (or TXT files - if we talk about email templates). If you don't like our templates, you can change them or design yours. <b>It is important to save all variables</b> (they look like usual PHP "variable variables": {&#36;...}) like shown.
<p>We don't recommend editing templates with WYSIWYG editors. Try to work with "clear" code, since all PHP variables included in templates will not work in HTML separately. We hope, that it will be enough for you to use any kind of simple text editor with our templates: they are very clean and tide, "hand-made". We tried to make all templates compliant to W3C recommendations. We can't guarantee, that they will work as 100% W3C standart works, but they look the same in different browsers.
<p>If you decide to change templates, you need to refer to the miniBB logic in building them. We hope, all templates names are pretty clear to understand, what they mean. Also, try to leave ALL the variables inside the templates as they shown, else we are not responsible for anything.
<p>Most templates are used in different operations (that's why we call this "<b>mini</b>-BB ;) ). F.e., <i>user_dataform.html</i> is used both for registering new user and editing user preferences, <i>main_post_form.html</i> is used on all posts, topics and editing pages.
<p>It is necessary to pay attention to email templates (begins with "email_" and ends with ".txt"). They have special format: first line of every template should contain <b>SUBJECT&lt;&lt;...&gt;&gt;</b> line, with some text instead of "...". As you understand, between "SUBJECT&lt;&lt;" and "&gt;&gt;" there is subject of email. <b>Don't remove</b> this line, else you emails will be garbled!
<p>If you have more questions about templates, ask on our support forums.
<p>Note: in <i>main_header.html</i>, you will find page title as &lt;title&gt;&#36;title&lt/title&gt. Don't worry about your forums will containing the same title on each page. Title is changing dynamically according to the page, f.e., on topic page it becomes topic name, and on topic lists it becomes forum name. This is very smart feature for search indexers (like Yahoo or AllTheWeb for example) to INDEX your forum, since these engines are working mostly with page titles. Also, that's why we recommend to think about "right" forum names: as more simple they will be, as better. In this case, also don't forget to include (or change) META-tags in header.

<p><b><a name="customtpl">Custom templates</a></b>
<p>There is possibility to make a custom template and call it from the script. For example, you need to create separate page before user registration (agreement): you can add any custom template, which is not included in miniBB. Design your template as usual (all script pre-defined variables also work), put it in "/templates" directory and call from the script like:

<pre>
index.php?action=tpl&tplName=custom_template
</pre>

<p>where tplName is a name for your created template (in this case, "custom_template.html").

<p>In that way you can also create stuff like "Most loved topics and answers" with the direct list of topics, any FAQs, manuals, description pages etc., etc., as like as the WHOLE site! ;)
<p>Note: clear "$" sign will not work in templates, if letters or "_" sign are following after it. In this case, template parser will think, that it is a PHP variable and interpret it as "empty" variable. Example: $123 will be shown, &#36;aasdasd and &#36;_alska not shown, and $123askasl will be shown. Also, there can be some problems with &#92; (back-slash), since template parser removes all slashes. Use HTML-codes: <b>&amp;#36;</b> instead of <b>$</b> sign in templates, and <b>&amp;#92;</b> instead of simple backslash (<b>&#92;</b>).

<p><b><a name="lang">Language packs</a></b>
<p>For international (non-english) users, we offer "language packs" feature. You can find them on our page. If you have not found a pack for your language, you can fill it yourself and sent it to us :) In this way, you'll help many users from your country.
<p>Language packs can be found in "lang" directory. Usually, only "eng.php" pack is included for default english language on the board. Language pack name is changed in options file.
<p>Language pack simply contains PHP variables with their values. Note for editors: use ` instead of ' in the sentences, or use slashed apostrophe &#92;'. It is better to use apostrophes instead of quotes, because of the engine's speed increase.
<p>We hope, it is pretty simple to understand, what's going on inside of language pack, if you want to change it :). Despite, there are some notes more:
<ul>
<li><b>&#36;Lang:English:&#36;</b> string is referred to language "name", which appears in "Language" menu. When making another version of pack, write language name in English between "&#36;Lang:" and ":&#36;"
<li><b>&#36;l_meta</b> tag is META-LANGUAGE value for your html encoding. Usually it looks like '&lt;meta http-equiv="content-type" content="text/html;charset=iso-8859-1"&gt;' where you need to change only charset value. Refer to W3C docs for more info on encoding. Note: if you want users to make posts on different language encodings (f.e., english, russian and latvian on the same forum), make l_meta blank ('').
<li><b>&#36;l_months</b> variable defines array of month names separated by ":". Be sure to include EXACTLY 12 values!
</ul>
<p>Other variables are in assorting order. Another words, there is no order :) While working on miniBB, we have added them in "order of appearance". 
<p>Just one more thing: if you will see a string like "Language variables depending on miniBB version X.X", it means that, variables following this string are added or changed for corresponding version. If we add more features, we will also add variables, and for better finding they will be added in another section.
<p>Language packs describe ALL language used in board, incl. admin panel.
<p>Administrator can disable multilanguage feature. For this:
<ol>
<li>Delete <b>&#36;l_menu[8]</b> variable from "main_header.html" menu;
<li>Leave in /lang/ directory only one (default) language, which is set in options file.
</ol>
<p>This prevents users to change language. Even if they type direct www link, they will be re-adressed to the main page.

<p><b><a name="css">CSS file</a></b>
<p>CSS (cascading style sheet) is designed to fit all font colors and sizes on the page in one file. It is included only once in <i>main_header.html</i>. Usually you don't need to change what is by default, but most of the skins will contain also this file. If so, place the skin into the skins directory, and CSS file into the main directory. Optionally, you will need value in <i>main_header.html</i>.

<h1>Administrative options</h1>

<p><b><a name="panel">Admin panel</a></b>
<p>You can go to the admin panel "by hand", typing in your browser admin panel's filename which you have entered in options file. But usually, you only need to login as admin into forums, and you'll see admin panel link at the bottom of each page.
<p>Admin panel is very small and very simple. Here is the list of options:
<ul>
<a name="addforum"></a>
<li><b>Add forum.</b> We have talked about it earlier. With this operation, you can add forum name, description, icon. Forum icons are displayed near forums table. They are placed in directory /img/forum_icons. Icon should be .GIF or .JPG with the size of 16x16 pixels. Here you just need to type a filename of image WITHOUT directory name. If no image specified, default.gif is loaded.
<a name="editforum"></a>
<li><b>Edit forum.</b> Click on it, choose forum to edit from drop-down list. Editing form appears. You can change forum name, description, and order there. For editing, press "Edit form" button. Order means... forum's order :) - on the first page. Below you can see fast preview of how forums will look like. Re-ordering forums is very simple: you just need to choose order value from drop-down list, and update it, by pressing an update button. Forums are sorted in ASCENDING order, so see the preview and give forums corresponding values.
<p>Example: you have 3 forums with order numbers 1,5,9 (it is possible if you did a lot of adding and deleting). You need to order them like "9,1,5". Go to the 9th order, and set it to 1. Then set "1st" order to 5. Then - "5th" order to 9. That's all. 
<p>From this menu you can also DELETE forum. Note that deleting forum will <b>immediately</b> deletes ALL posts and topics corresponding to it. We don't recommend to do that, 'cause there is no way back. If you still need to delete forum, just click on the checkbox saying "Delete forum" and press "Edit". Forum will be deleted and there will be NO ASKING TWICE, so be careful with this thing.
<p>Deleting forums brings us headache, so, if you will never delete forums, open your admin panel file for editing, find the following line:
<pre>case "editforum3":</pre>
and add <b>after</b> it the following line:
<pre>&#36;deleteforum=FALSE;</pre>
You should have:
<pre>
case "editforum3":
&#36;deleteforum=FALSE;
if (&#36;forumname != "") {
if (&#36;forumicon == "") ...
</pre>
etc. This will avoid forum deleting in any case - even if intruders will know out about your password (we hope this never happens).
<a name="removeuser"></a>
<li><b>Remove user.</b> This immediately deletes selected user. You need to write in user's ID. How to know about that ID? Go to the forums, search for user you want to delete, find user message and put your mouse cursor on asterisk (*) near username. The link will be something like http://.......index.php?action=userinfo&user=243. The last digit (f.e., 243) will be user ID.
<p>Checking box, you can also remove all user MESSAGES and TOPICS (with other user's messages). And all user email notifications, too. We do not recommend to do this. If you won't check this box, only info about registered user will be removed, and all his topics and posts left will be signed as if he is unregistered (and from now on he is, actually ;)) user (see below miniBB users hierarchy).
<p>Note: on large forums, it takes some time to remove user with topics and posts. Be patient.
<p>Programming notes: removing user operation can cause some bad forums security issues(if someone knows your password, of course). For disabling delete, find this line in your admin PHP file:
<pre>case ("removeuser2"):</pre>
and add <b>after</b> it the following line:
<pre>&#36;removemessages=FALSE;</pre>
You should have:
<pre>
case "editforum3":
&#36;removemessages=FALSE;
if (!&#36;userID or !DB_query(63,&#36;userID) or &#36;userID==1 or &#36;userID==0)
 &#36;warning = &#36;l_cantDeleteUser;
else {..........
</pre>

<a name="banuser"></a>
<li><b>Ban user IP.</b> We have, basically, the simplest and the strongest bans. They are based on user IP (usual proxies also checked), and prohibit user even to enter forums. So, it will be a very hard ban :). For banning user IP, just enter his correct IP.
<p>How to know about user IP? Log into forums as admin, and open any thread. In every user message, you will see his IP.
<p>Extended feature: clicking on this IP, you can see a list of usernames, under which posts were made. It is nice option for viewing all "anonymous" user nicknames.
<p>For unsetting ban on IP, just do "Unset/unban selected IPs" in the admin panel. When you click on this link, a list of all bans is offered. Just check necessary bans and press the button.

<a name="deleteemails"></a>
<li><b>Delete email notifications.</b> If "user emailing" option in your setup is set to 1, it can happen, that some users emails are already "dead". In this case, you, as the administrator, should receive "mailer-daemon feedback" messages saying "Could not deliver message" or something. 
<p>In that case you can simply delete dead emails. To do that, type in an email to delete or simply press button for clearing up the whole table.

<a name="exportemails"></a>
<li><b>Export emails.</b> This operation is necessary, if you want to make a mass-mail for your users. PLEASE, DON'T SPAM YOUR FORUM USERS! You need the email list only for important news, f.e., site's moving to new address, forums reconstruction etc.
<p>You can extract only emails or email+username, use tab separator or comma between these values, and output emails to the screen or separate file attachment. If you've chosen last one you will get a download window after pressing submit button.

<a name="restoreadmin"></a>
<li><b>Restore Admin data in database.</b> This option updates users table and sets new admin password, username and email if you have changed any of these in the options file. Yes! You can change your admin name anytime you want, more so - we recommend to do it regularly.

</ul>

<h1>"Hidden" admin forums options</h1>

<a name="privateforums"></a>
<p><b>Private forums.</b> Only site owner can define private forums and users which are allowed to post and view them. Edit bb_specials.php file, find variables <b>&#36;clForums=array();</b> and <b>&#36;clForumsUsers[]=array();</b>. clForums array defines closed forums ID(s), and clForumsUsers[] elements defines users which are allowed to post in this forum. Oh, sounds too difficult, here is an example:
<pre>
&#36;clForums=array(1,3,6);
&#36;clForumsUsers[1]=array(2,5);
&#36;clForumsUsers[3]=array(10,11);
&#36;clForumsUsers[6]=array(12,22);
</pre>
<p>That means: forums with IDs 1,3,6 are private. Users with IDs 2 and 5 are allowed to post and view forum under ID 1, users with IDs 10 and 11 are allowed to post and view forum under ID 3, users with IDs 12 and 22 are allowed to post and view forum under ID 6. It seems a little bit difficult, but usually site has only one private forum and 5-10 allowed users, thus not everyone needs this feature - that's why we have not implemented graphical interface for it.
<p>If you don't want to have private forums, leave these arrays blank (but don't remove them!).
<p>Note: topic titles from private forums can appear on statistics, last discussions, user info and search pages, but only topic titles - not topics themselves.
<p>Note 2: it is not necessary define admin ID (1), because admin can enter any private forum and has full access to it.

<a name="archiveforums"></a>
<p><b>Archive forums.</b> Site owner can create so called "archive" forums. Edit bb_specials.php with array variable <b>&#36;roForums</b> in it. Like in private forums (see above), add read-only comma-separated forums IDs into this array. In read-only forums, no one except admin can make or edit posts.

<a name="userrankings"></a>
<p><b>User rankings.</b> miniBB doesn't use ranking system (user ranks like 'Administrator', 'Member' are displayed only, and if it is anonymous user, nothing is displayed). But it is possible to define special user rankings, for "special" members (for example, most-active-poster-of-all-time). Open bb_specials.php for that, find <b>&#36;userRanks</b> array, and edit it. It is based on PHP syntax, so let's give an example with no more talk:
<pre>
&#36;userRanks=array(1=>'Boss', 17=>'Team member', 9=>'Team member');
</pre>
<p>That means, user's rank with ID 1 is Boss (of course! :), and users with IDs 17 and 9 are "Team members". These rankings will be displayed under nickname in every post. In this way, you also can define so called "avatars" (just use your imagination, how to do that).

<a name="deletemessages"></a>
<p><b>Deleting messages.</b> Only admin is allowed to delete user messages. Admin needs to be logged into the system. For deleting any message, go to the topic/thread list and click on "Delete" on the top of the message. You'll be prompted once again, then choose "Yes", and the post will be deleted.
<p>NOTE: you can not delete FIRST message and if you do so, the system will report an error. That's because the first message in thread list is TOPIC TEXT in reality. If you want to delete first message, it means you want to delete the WHOLE TOPIC. For this, see "Deleting topics".
<p>After delete, message is not available for recovering.

<a name="deletetopics"></a>
<p><b>Deleting topics.</b> Only admin is allowed to delete user topics. Login, go to the bottom of topic page. You will find something like "delete topic". Click on it. After prompt, topic will be deleted, and all associated posts, too.
<p>After delete, topic is not available for recovering.


<p><a name="editmessages"><b>Editing messages</b></a> Board administrator can edit ANY message from the forum, plus, if it is "new topic text", he can edit also topic title. However, it is possible only if administrator is logged.
<p>After admin edited topic, only he can edit it once again. For message author it is prohibited. Read more about editing in "forum-wide options" below.

<a name="movetopics"></a>
<p><b>Moving topics.</b> Only administrator can move topics from one forum to another. Moving topics is a specific operation, we don't recommend to do it often (since many users will not understand what's going on). Do it only if topics thematics is not the same as the one of a forum. After decision, login as admin, go to the bottom of the topic page, click on "Move topic" and move topic correspondly to the forum you want. You can move topic only to the "another" forum, else there is no sense for this action (don't move topic to the same forum ;) ). When moving topics, only forum info is updated, nor datetime or anything.

<p><a name="locktopic"><b>Locking topics.</a></b> This is very smart "censorship" operation, which prohibits users from making new posts in special topics. For locking topic, log in as admin, go to the bottom of each page. You will find kinda "lock topic" link. When you press it, topic will be locked. On an old place instead of "lock topic" you should see "unlock topic" link. Click on it, and topic will be unlocked.
<p>Both topic's author (if he is a registered user) and admin can lock/unlock topics. Even if admin has locked this topic, registered author can unlock it, if he thinks that theme is not closed. Be smart: your forum's boss is a visitor, so give him opportunities to receive all answers that he wants. :)

<p><a name="adminprefs"><b>"Preferences" for admin</a></b>
<p>Actually, admins preferences doesn't change anything special. As usual user, Admin can go to that panel and edit something, but all forums-working datas (Admin email, login and password) are taken from options file. In the admin panel, you will find operation called "Restore Admin data in database", clicking on it, you will automatically copy (or insert) your options data to corresponding Admin field in database. Then you can choose another email and other stuff (ICQ, for example) that will be shown on the "about user" page. So, your email shown in the above mentioned user info page can be independent on the email in the setup options file.

<h1>Forums-wide user options</h1>

<p><b><a name="hierarchy">Users hierarchy</a></b>
<p>There is "liberal" users hierarchy in miniBB. Topics can be made both by anonymous users and registered users. Let's see what happens.
<ul>
<li><b>Anonymous users.</b> If you are a "lazy man", or do not register for some reasons, you can make anonymous post, even under your nick. Simply type your username in "Login" field without password, and make a post under this name. If you leave both fields blank, your name automatically will be "Anonymous" (it depends on forums language setup even). However, if you will enter the nick which corresponds to any registered user you won't be able to post.
<li><b>Registered users.</b> WE STRONGLY RECOMMEND all users to register - in any way, will you visit this forum often or not. Why? First, no one else will take your "unique" username/nick, and anonymous users will not be able to post messages under your nick. Second, if you will post some messages under your nick, and register it later, it is NOT POSSIBLE to edit these "anonymous messages" anymore. And finally, any registered user can take your "anonymous" or not registered nick simply by filling registration form.
</ul>

<p>There is no possibility to make separate forums closed for anonymous postings. And we think, it is actually good :). Think about your community. Every community needs to be open for everyone.
<p>In miniBB, there is <b>no moderators</b> for each forum. Administrator is a boss for the whole forum. You can get notes about who is admin in "statistics" (see below).
<p>In miniBB, there are <b>no user rankings</b>. Studying the most popular forums, we never knew, what they mean and what they are necessary for. If you are interested in user's posts/topics amount, see user info.
<p>User info is displayed on the separate page. On the threads page, you'll find only user's nick and, if this user is registered, an asterisk (*) beneath. Clicking on asterisk, you'll get all possible info about user, which either is specified/allowed or not (see below).

<p><b><a name="userlogin">User's login</a></b>
<p>All user logins are made via cookies, that need to be enabled in a browser. User login form is located on every topics or threads page, as well as on the first page. You need to type your login and password correctly. Cookie passwords are saved in encrypted format.
<p>Depending on forums setup, user login can expire in different time. Usually it expires within 1-2 hours, but administator can also make more longer expire (especially on international forums). Cookies renew mechanism also allows users to stay logged during longer periods of time - until the browser is closed. In any case, we recommend to do logout before you are leaving forums.
<p>Anonymous users also receive cookie that goes from one page to another. Enjoy comfort :).

<p><b><a name="userlang">User's language</a></b>
<p>All users can change forums' language, entering "Language" menu. This option is available for "international" forums, but only if there are other language packs available. Entering forums for the first time, user's language is set to board's default language (whuch is set by admin) automatically. When user choose another available language, default language is ignored and set to user's choosed. Language settings are saved in a cookie sent to user.
<p>Forums administrator can disable this feature: if only one language is available, users can not change it. It this case, they can be re-adressed to the main page. 
<p>At any time, users can delete browser's cookie, entering language menu and checking "Delete language settings" box. If something wrong happens via delete, users can use this link: "<a href="$main_url/index.php?action=language2&deleteLang=on">$main_url/index.php?action=language2&deleteLang=on"</a>.
<p>Language change is working only in forums interface. Email notifications are sent to user on default forums language.

<p><b><a name="registration">User's registration</a></b>
<p>For registering, just click on "Registration" menu and fill in the form.
<p>Necessary fields are:
<ul>
<li><b>LOGIN:</b> your username, must be unique - if a user with the identical login already exists, you won't be able to register. Login must contain only symbol combination defined by admin. Usually, we recommend to use only A-Z letters, digits and maybe "_" sign. But, if admin defines more symbols, you can also use them. There is only one possibility to view defined symbols - to make an error in username ;) Then you will see them in error message. Anyway, don't choose "exotic" usernames - at least, it is stupid. You can use a name with length from 3 to 40 symbols.
<li><b>PASSWORD:</b> your password for BB. Must contain only A-Z letters, digits and "_" sign (no spaces!). You can use password with length from 5 to 32 symbols. Why exactly 32? We don't know ;) If seriously, try to use not more than 10 symbols.
<li><b>PASSWORD ONCE AGAIN:</b> this must be the same symbol combination, as the "PASSWORD". This is just for checking - have you entered password correctly, or not. Pay attention: all passwords are saved in encoded way. There is no possibility to view user password even by admin! Despite you can anyway receive new password via email, but it will be different from your orignal one (randomly generated).
<li><b>EMAIL:</b> your email. Must be also unique (no 2 users with the same email are possible). Email is checked by simple regular expression for avoiding "stupid" emails. If you can't register some email, please report to admin, or at least, miniBB team. Even we have checked this combination in many cases, there are some "exotic" emails that can not be validated with our function. But this is a rare thing.
</ul>

<p><b><a name="newposts">New topics and replies</a></b>
<p>New topic form is placed at the bottom of each topics listing page. You need to type topic's title ("New topic") and body ("Message"). At least, "New topic" field must be filled in. If you write in it and don't write in "Message", message will be automatically equal to topic's title.
<p>New post form is located at the bottom of each threads page.
<p>Note: if the anti-spam protection is enabled (usually it is), you can make posts and topics only once-per-defined-time. Usually, this time is 1-2 minutes - and it means, you can make posts not often than 1 per 1-2 minutes as well.
<p>Note 2: before making a post, make sure you have corresponding ENCODING for this. F.e., if you have to make post on non-english language, let's say, chinese, be sure your browser encoding is set to it. To do it:
<ul>
<li>In Internet Explorer, click the right mouse button on the screen, choose "Encoding", and then set it;
<li>In Netscape Navigator/Opera, choose menu's "View" -> "Character Set (Encoding)" and then set it.
</ul>
<p>Note 3: text breaks (newlines+carriage returns) are automatically converted to "physical" breaks.
<p>Note 4: don't use a lot of apostrophes, quotes and specific tags in your messages. Actually, they are converted to "real" HTML-tags like "&amp;#039;" (apostrophe), "&amp;amp;" (& sign) etc. As you see, HTML special char takes at least 4 times more space than usual symbol. So, if topic's title limitation is set, let's say, to 70 symbols by administrator, your sentence can contain maximum 17 special symbols. Practical example: your topic is "Quick brown fox jumps over lazy dog's ears & nose" (49 symbols). Actual title is converted to: "Quick brown fox jumps over lazy dog&amp;#039;s ears &amp;amp; nose" (58 symbols). If the limitation would be 50 symbols, the sentence would be cutted to "Quick brown fox jumps over lazy dog&#039;s ears" (minus "nose" minus 5 special-symbols).

<p><b><a name="emailNotifications">Email notifications</b></a>
<p>Email notifications can be enabled or disabled by forums admin. Usually, on large forums they are disabled. If enabled, every user who makes a post, can subscribe to them. Notifications are sent to user's email when someone replies to the topic after this user. Users can subscribe to notifications even if they are not topic authors. Users can also unsubscribe from notifications. For that, got to the desired topic and find "Unsubscribe" link instead of notifications checkbox, and just click on it.
<p>Note: notifications are sent on default board's language, even if user has choosed another available language.

<p><b><a name="highlight">Automatic links highlighting</a></b>
<p>If you are using links like http://www.minibb.net (beginning with "http://", "https://", "ftp://", "www" or "mailto:"), they are automatically converted to "real" links. But, when checking "Disable" box, links ARE NOT automatically highlighted, both as BB-codes (see below).

<p><b><a name="bbcodes">BB Codes</a></b>
<p>In miniBB, there is no possibility to include HTML in topics or posts. They can contain only "BB-codes" - special HTML-code replacements, that "emulate" HTML code. Since HTML is not supported in our board, most popular BB-codes are good alternative when posting new message or topic. Currently, miniBB supports following codes:

<ul>
<li><b>[url=SOMEURL]SOMETEXT[/url]</b> where SOMEURL is URL like http://www.minibb.net, SOMETEXT is alternate text to URL. DON'T USE QUOTATION MARKS OR APOSTROPHES INSIDE THIS TAG. In a post, these tags are replaced like following:
&lt;a href='SOMEURL'&gt;SOMETEXT&lt;/a&gt;.

<li><b>[email=SOMEEMAIL]SOMETEXT[/email]</b> where SOMEEMAIL is email you want to highlight. Practically, this tag is the same as URL, only with "mailto:". DON'T USE QUOTATION MARKS OR APOSTROPHES INSIDE THIS TAG. In a post, these tags are replaced like following:
&lta href='mailto:SOMEEMAIL' target='_new'&gt;SOMETEXT&lt;/a&gt;.

<li><b>[img(left|right)]http://www.someserver.com/images/image.gif[/img]</b> where http://www.someserver.com/images/image.gif is exact URL for an image file (.JPG or .GIF). Alternatively, you can use "left" and "right" tags (without trailing space!) followed exact after "img". They place image left or right on the page, in the same way like HTML does. Usually, only [img] tag is used, but in systems like "forum news" you can also use left/right aligns. This tag is replaced with: &lt;img src='http://www.someserver.com/images/image.gif' border='0' align='left OR right OR nothing' alt=''&gt;. (Example: [imgleft]http://www.someserver.com/images/image.gif[/img]) Note: because of hack protection, you can include images only from http:// servers, also as with only extensions like .gif or .jpg.

<li><b>[b]Bold[/b]</b> where "Bold" is the text you want to markup as in a "bold" style. Example:
[b]Attention[/b] produces <b>Attention</b>.

<li><b>[i]Italic[/i]</b> where "Italic" is the text you want to markup as in an "italic" style. Example:
[i]I apologize[/i] produces <i>I apologize</i>.

<li><b>[u]Underlined[/u]</b> where "Underlined" is the text you want to markup as in an "underlined" style. Example:
[u]Don't write me an email[/u] produces <u>Don't write me an email</u>.

</ul>

<p>Note that the case of BB codes doesn't matter. You can type "[URL]" or "[uRL]" or whatever. Only opening and closing tags ([urL]...[/uRL]) are important, also tags CAN NOT CONTAIN SPACES!
<p>There is no necessary to know exactly what do you need to type for corresponding tag. Each template message form contains JavaScript <i>buttons</i> that helps you to insert these tags into your post. 
<p>Both anonymous and registered users can use BB-codes, but also you can DISABLE BB-code in your post, checking "Disable" flag. Usually this is not necessary, because BB-codes allow posts be more organized and good-looking messages. But if you need to post something using not BB-code, but actual info containing BB-code, it is useful. For avoiding BB-codes, you can also put spaces inside them.

<p>It is possible to combine tags with each other, f.e., to make "bold+italic" or "bold link". But be careful again with opening and closing tags correspondly. Example:

<hr size=0 width=100%>

<p>'This General Public License [b]does not permit[/b] incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 

<p>Return to [url=http://www.fsf.org/home.html]GNU's home page[/url]. 

<p>FSF & GNU inquiries & questions to [[email protected]][email protected][/email]. Other ways to [b][url=http://www.fsf.org/home.html#ContactInfo]contact the FSF[/url][/b]. 

<p>Comments on these web pages to [[email protected]][email protected][/email], send other questions to [[email protected]]GNU[/email]. 

<p>[b][u]Copyright notice above[/u][/b].
<p>[i]Free Software Foundation, Inc[/i]., [i][u]59 Temple Place - Suite 330, Boston, MA 02111, USA[/u][/i]'

<hr size=0 width=100%>

produces:

<hr size=0 width=100%>

<p>'This General Public License <b>does not permit</b> incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 

<p>Return to <a href='http://www.fsf.org/home.html' target='_new'>GNUs home page</a>. 

<p>FSF & GNU inquiries & questions to <a href='mailto:[email protected]'>[email protected]</a>. Other ways to <b><a href='http://www.fsf.org/home.html#ContactInfo' target='_new'>contact the FSF</a></b>. 

<p>Comments on these web pages to <a href='mailto:[email protected]'>[email protected]</a>, send other questions to <a href='mailto:[email protected]'>GNU</a>. 

<p><b><u>Copyright notice above</u></b>.
<p><i>Free Software Foundation, Inc</i>., <u><i>59 Temple Place - Suite 330, Boston, MA 02111, USA</u></i>'

<hr size=0 width=100%>

<p><p>If you need to post 100% "tagged" URL, it is better to do it with tags, since automatic replacements can't work in some cases. F.e., the following example will not work: [b]http://www.minibb.net[/b]. It is only "bolded", but not "highlighted". For bolding url links, use [url] tag.
<p>Note: you can use tags also for multi-line text. Example:
<p>[b]Text1
<p>Text2[/b]
<p>(text contains two paragraphs) produces:
<p><b>Text1
<p>Text2
</b>

<p>ADVANCED: Admin can use "<b>color tags</b>" for various text colors in messages:
<li><b>[font#(HEX-COLOR)]Colored Text[/font]</b>
<p>This option is not available for simple users, because of its restrictions and format. Do you want your forum to look like a rainbow? We guess, not. Please, use this code very carefully and only when it is really necessary. As admin, you can use ONLY correct hex-code of color, containig combination of 6 capitalized letters A-F + digits 0-9. "#" sign at the beginning is necessary. Values like "red", "yellow" won't work. Example:
<p>[font#FF0000]Attention![/font]
<p>produces red-colored "<font color=red>Attention!</font>".
<p>These examples will not work:
<ul>
<li>[font#ff0000]Attention![/font] (non-capitalized)
<li>[font#red]Attention![/font] (non-hex)
<li>[font#F000]Attention![/font] (only 5 letters - incorrect)
</ul>

<p>By default, there is no "hot button" for this option in the templates.

<p><b><a name="quoting">Quoting messages</a></b>
<p>Topic posters can quote other messages. There is no "quote" tag included, as on some bulletin boards. Instead of it, you can use "italic" style to separate quotes. For better comfort, there is a "quote" link near every post made (in Netscape 4.7x, there a button will appear). For making a quote, you need to select some text and press this link. Selected text will be automatically inserted into reply box at the bottom of the page.
<p>This feature is based on JavaScript code and works only in Netscape 4.7x, Netscape 6.x and Internet Explorer 5.x-6.x.

<p><b><a name="userlocktopic">Locking topics</a></b>
<p>Topic authors can lock their topics, if they think it is correct. In order to do it, topic author needs to be logged in. At the bottom of the topic's page he must see small "lock topic" link. Clicking on it, topic becomes closed.
<p>Nobody except topic author or administrator can lock the topic. If topic was locked by admin, topic author can unlock it.

<p><b><a name="editmessage">Editing messages</a></b>
<p>Registered users (and only registered) can edit THEIR messages anytime they want, but only if they are cookie-logged. For this, just click on "Edit" near each post (if it is your message, you'll see the link, else not). When editing message, "automatic highlights" are replaced with "real" BB-codes, so there is no need to delete them once again. Also, "real" HTML tags are replaced back to codes. Via editing, user can add new BB-codes, links etc. - like in any new post or topic. User can edit only his POST, not topic's title, even if he is the author of the topic. After message is edited by user, info about that is displayed near each post.
<p>There is no way to delete your message and edit topic's title, if you are topic's author. Only admin can do this.
<p>After administrator has edited user's message, for user, it is no way to edit it once again.

<p><b><a name="userprefs">Editing preferences</a></b>

<p>For editing user preferences, you need to log in and go to the "preferences" appearing in menu. You can type new data for your account, except login, that can not be changed. If you don't want to change your password leave the password field and go next to the fields you want to edit, you don't need to write your password once more, 'cause are already logged. Then done just press submission button below.
<p>This action works exactly like registration: you need to type grammatically correct data. Thus, you can not change your email to the one of someone who already registered (incl. admin's email ;) ). Updating preferences, you don't need to enter password, if you don't want to change it. Just leave these fields blank.
<p>Two exceptions: 
<ul>
<li><a name="viewemail"><b>Show email public?</b></a>: that option allows (or not) other users to view your email in user info. It does not affect emailing notifications etc.
<li><a name="sorttopics"><b>Sort topics by</b></a>: that option switches sorting filter. On topics and last discussions pages, you can view topic names sorted by new topics or new posts. This is one of the points of why to register: logging into the forums, you can quickly view, what's new. This option is saved on all pages, since anonymous users will need to click on "sort" every time.
</uL>

<p><b><a name="changepassword">Changing user password</a></b>
<p>Login, go to the preferences, type new password 2 times in "password" fields. Your password will be updated to the new one.
<p>Note: after changing password your old password will not be valid, and you will need to re-login on the login page. If you will edit more settings, you'll get the message "not allowed" or something similar.

<p><b><a name="forgotpassword">Changing forgotten password</a></b>
<p>miniBB passwords are encrypted with md5 algorithm. There is no way back to know out the original password. If you have forgotten your password, we can't restore it anymore, but we can change it, by generating new random password.
<p>Follow these steps to receive new password:
<ul>
<li>Click on "password" links near login form;
<li>Enter an email you've mentioned in the registration form;
<li>If your email is correct (we hope, yes :) you will receive further instructions via email;
<li>Follow link described in email and confirm your password;
<li>Only(!) after confirmation, your password will be changed. You will be able to change it to something "readable" in "preferences".
</ul>

<p><b><a name="search">Forums search panel</a></b>
<p>You can quickly search forums for keywords. Search panel is placed under "search" menu. You can search text in topics and posts, only topics, poster names, by all words, any words or the whole phrase. Search results are sorted by post time in descending order (new posts are shown first).
<p>Also remember that search phrase length can`t be more than 100 symbols. Also minimum length of any word is 3 in "Any words" type of search and at least one word must be more than 2 symbols in any other type of search. This was made to protect your server in case, if somebody will try to attack it with lots of simple search queries, like, for example, searching letter "a" in all posts and topics, which will lead a large number of search results to be returned by database server, thus it can become overloaded.
<p><b><a name="stats">Statistics</a></b>
<p>In the "statistics" menu, you can get all available information about forums. This is the most "not needed" part of a forum, and in many cases statistics may be disabled by administrator, because of high server-load. In statistics, you will find:
<ul>
<li>Total amount of registered users (except admin);
<li>Total amount of topics;
<li>Total amount of posts;
<li>Who is administrator;
<li>Who is last registered user;
<li>Most popular topics list (top 5, top 10, top 20, top 40), which is generated according to how many answers were posted in topic;
<li>Most viewed topics list (top 5, top 10, top 20, top 40);
<li>Most active registered users list (top 5, top 10, top 20, top 40).
</ul>

<h1>Some notes for developers</h1>
<p>Please, don't read this section if you are unfamiliar with PHP, mySQL and programming at all, more so - DON'T try described below.

<p><b><a name="dbmodules">Database modules</a></b>
<p>First version of miniBB supports only mySQL database. Developing miniBB ver.1.0, we have attached all mySQL-calls in a separate file. Depending on this file, other database modules (f.e., postgreSQL or ODBC) can be made. We plan to work on it in near future, but every developer who can help us in making another DB module is welcome. You'll get all necessary credits.
<p>Making a DB module is average simple. Since SQL functions are mostly the same (at least, by logic), in many cases you just need to make another database connection which is supported by PHP, and design database request if necessary. SQL requests mostly are parsed into array pointers, which can be accessed, f.e., via mysql_fetch_row() function. Probably, most databases can support this operation. In other words: just look, how mySQL parser works, and include other commands :). Note: don't change names of variables, like &#36;result or &#36;sus, because some are called from the outside script.
<p>Here is an example:
<pre>
elseif(&#36;n==16){
if(!&#36;sus) &#36;result=mysql_query("SELECT forum_id, forum_name, forum_desc, forum_icon 
FROM forums ORDER BY forum_order ASC");
&#36;row=mysql_fetch_row(&#36;result);
}
</pre>

<p>In this request (numbered as 16 and used for accessing forums info) we use &#36;sus, &#36;result and &#36;row variables. Usually, &#36;sus means "second user stack" and answers for fetching result array, if specified. Since &#36;result is made global, it's pointer is saved in a memory, and we can call it once again (read more in PHP manual about this).
<p>In a future development, there is also a plan to make db module based on plain text files as requested by our users.

<p><b><a name="phpcode">PHP scripts</a></b>
<p>In PHP scripts, no tabs were used by us. All functions and operations are separated by newlines only. Most of the comments were removed in final miniBB release, however, there are some very necessary comments left, that will help you understand what's going on. Also, in many string variables cases we have used apostrophes ('') instead of quotes (""), because that increases the speed of the scripts dramatically.

<h1><a href="http://www.fsf.org/licenses/fdl.html#TOC1" name="gnu">GNU Free Documentation License</a></h1>

<P>Version 1.1, March 2000 
<P><PRE>Copyright (C) 2000  Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</PRE>
<P><STRONG>0. PREAMBLE</STRONG> 
<P>The purpose of this License is to make a manual, textbook, or other written 
document "free" in the sense of freedom: to assure everyone the effective 
freedom to copy and redistribute it, with or without modifying it, either 
commercially or noncommercially. Secondarily, this License preserves for the 
author and publisher a way to get credit for their work, while not being 
considered responsible for modifications made by others. 
<P>This License is a kind of "copyleft", which means that derivative works of 
the document must themselves be free in the same sense. It complements the GNU 
General Public License, which is a copyleft license designed for free software. 
<P>We have designed this License in order to use it for manuals for free 
software, because free software needs free documentation: a free program should 
come with manuals providing the same freedoms that the software does. But this 
License is not limited to software manuals; it can be used for any textual work, 
regardless of subject matter or whether it is published as a printed book. We 
recommend this License principally for works whose purpose is instruction or 
reference. 
<P><STRONG>1. APPLICABILITY AND DEFINITIONS</STRONG> 
<P>This License applies to any manual or other work that contains a notice 
placed by the copyright holder saying it can be distributed under the terms of 
this License. The "Document", below, refers to any such manual or work. Any 
member of the public is a licensee, and is addressed as "you". 
<P>A "Modified Version" of the Document means any work containing the Document 
or a portion of it, either copied verbatim, or with modifications and/or 
translated into another language. 
<P>A "Secondary Section" is a named appendix or a front-matter section of the 
Document that deals exclusively with the relationship of the publishers or 
authors of the Document to the Document's overall subject (or to related 
matters) and contains nothing that could fall directly within that overall 
subject. (For example, if the Document is in part a textbook of mathematics, a 
Secondary Section may not explain any mathematics.) The relationship could be a 
matter of historical connection with the subject or with related matters, or of 
legal, commercial, philosophical, ethical or political position regarding them. 
<P>The "Invariant Sections" are certain Secondary Sections whose titles are 
designated, as being those of Invariant Sections, in the notice that says that 
the Document is released under this License. 
<P>The "Cover Texts" are certain short passages of text that are listed, as 
Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document 
is released under this License. 
<P>A "Transparent" copy of the Document means a machine-readable copy, 
represented in a format whose specification is available to the general public, 
whose contents can be viewed and edited directly and straightforwardly with 
generic text editors or (for images composed of pixels) generic paint programs 
or (for drawings) some widely available drawing editor, and that is suitable for 
input to text formatters or for automatic translation to a variety of formats 
suitable for input to text formatters. A copy made in an otherwise Transparent 
file format whose markup has been designed to thwart or discourage subsequent 
modification by readers is not Transparent. A copy that is not "Transparent" is 
called "Opaque". 
<P>Examples of suitable formats for Transparent copies include plain ASCII 
without markup, Texinfo input format, LaTeX input format, SGML or XML using a 
publicly available DTD, and standard-conforming simple HTML designed for human 
modification. Opaque formats include PostScript, PDF, proprietary formats that 
can be read and edited only by proprietary word processors, SGML or XML for 
which the DTD and/or processing tools are not generally available, and the 
machine-generated HTML produced by some word processors for output purposes 
only. 
<P>The "Title Page" means, for a printed book, the title page itself, plus such 
following pages as are needed to hold, legibly, the material this License 
requires to appear in the title page. For works in formats which do not have any 
title page as such, "Title Page" means the text near the most prominent 
appearance of the work's title, preceding the beginning of the body of the text. 

<P><STRONG>2. VERBATIM COPYING</STRONG> 
<P>You may copy and distribute the Document in any medium, either commercially 
or noncommercially, provided that this License, the copyright notices, and the 
license notice saying this License applies to the Document are reproduced in all 
copies, and that you add no other conditions whatsoever to those of this 
License. You may not use technical measures to obstruct or control the reading 
or further copying of the copies you make or distribute. However, you may accept 
compensation in exchange for copies. If you distribute a large enough number of 
copies you must also follow the conditions in section 3. 
<P>You may also lend copies, under the same conditions stated above, and you may 
publicly display copies. 
<P><STRONG>3. COPYING IN QUANTITY</STRONG> 
<P>If you publish printed copies of the Document numbering more than 100, and 
the Document's license notice requires Cover Texts, you must enclose the copies 
in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover 
Texts on the front cover, and Back-Cover Texts on the back cover. Both covers 
must also clearly and legibly identify you as the publisher of these copies. The 
front cover must present the full title with all words of the title equally 
prominent and visible. You may add other material on the covers in addition. 
Copying with changes limited to the covers, as long as they preserve the title 
of the Document and satisfy these conditions, can be treated as verbatim copying 
in other respects. 
<P>If the required texts for either cover are too voluminous to fit legibly, you 
should put the first ones listed (as many as fit reasonably) on the actual 
cover, and continue the rest onto adjacent pages. 
<P>If you publish or distribute Opaque copies of the Document numbering more 
than 100, you must either include a machine-readable Transparent copy along with 
each Opaque copy, or state in or with each Opaque copy a publicly-accessible 
computer-network location containing a complete Transparent copy of the 
Document, free of added material, which the general network-using public has 
access to download anonymously at no charge using public-standard network 
protocols. If you use the latter option, you must take reasonably prudent steps, 
when you begin distribution of Opaque copies in quantity, to ensure that this 
Transparent copy will remain thus accessible at the stated location until at 
least one year after the last time you distribute an Opaque copy (directly or 
through your agents or retailers) of that edition to the public. 
<P>It is requested, but not required, that you contact the authors of the 
Document well before redistributing any large number of copies, to give them a 
chance to provide you with an updated version of the Document. 
<P><STRONG>4. MODIFICATIONS</STRONG> 
<P>You may copy and distribute a Modified Version of the Document under the 
conditions of sections 2 and 3 above, provided that you release the Modified 
Version under precisely this License, with the Modified Version filling the role 
of the Document, thus licensing distribution and modification of the Modified 
Version to whoever possesses a copy of it. In addition, you must do these things 
in the Modified Version: 
<P>
<UL>
  <LI><STRONG>A.</STRONG> Use in the Title Page (and on the covers, if any) a 
  title distinct from that of the Document, and from those of previous versions 
  (which should, if there were any, be listed in the History section of the 
  Document). You may use the same title as a previous version if the original 
  publisher of that version gives permission. 
  <LI><STRONG>B.</STRONG> List on the Title Page, as authors, one or more 
  persons or entities responsible for authorship of the modifications in the 
  Modified Version, together with at least five of the principal authors of the 
  Document (all of its principal authors, if it has less than five). 
  <LI><STRONG>C.</STRONG> State on the Title page the name of the publisher of 
  the Modified Version, as the publisher. 
  <LI><STRONG>D.</STRONG> Preserve all the copyright notices of the Document. 
  <LI><STRONG>E.</STRONG> Add an appropriate copyright notice for your 
  modifications adjacent to the other copyright notices. 
  <LI><STRONG>F.</STRONG> Include, immediately after the copyright notices, a 
  license notice giving the public permission to use the Modified Version under 
  the terms of this License, in the form shown in the Addendum below. 
  <LI><STRONG>G.</STRONG> Preserve in that license notice the full lists of 
  Invariant Sections and required Cover Texts given in the Document's license 
  notice. 
  <LI><STRONG>H.</STRONG> Include an unaltered copy of this License. 
  <LI><STRONG>I.</STRONG> Preserve the section entitled "History", and its 
  title, and add to it an item stating at least the title, year, new authors, 
  and publisher of the Modified Version as given on the Title Page. If there is 
  no section entitled "History" in the Document, create one stating the title, 
  year, authors, and publisher of the Document as given on its Title Page, then 
  add an item describing the Modified Version as stated in the previous 
  sentence. 
  <LI><STRONG>J.</STRONG> Preserve the network location, if any, given in the 
  Document for public access to a Transparent copy of the Document, and likewise 
  the network locations given in the Document for previous versions it was based 
  on. These may be placed in the "History" section. You may omit a network 
  location for a work that was published at least four years before the Document 
  itself, or if the original publisher of the version it refers to gives 
  permission. 
  <LI><STRONG>K.</STRONG> In any section entitled "Acknowledgements" or 
  "Dedications", preserve the section's title, and preserve in the section all 
  the substance and tone of each of the contributor acknowledgements and/or 
  dedications given therein. 
  <LI><STRONG>L.</STRONG> Preserve all the Invariant Sections of the Document, 
  unaltered in their text and in their titles. Section numbers or the equivalent 
  are not considered part of the section titles. 
  <LI><STRONG>M.</STRONG> Delete any section entitled "Endorsements". Such a 
  section may not be included in the Modified Version. 
  <LI><STRONG>N.</STRONG> Do not retitle any existing section as "Endorsements" 
  or to conflict in title with any Invariant Section. </LI></UL>
<P>If the Modified Version includes new front-matter sections or appendices that 
qualify as Secondary Sections and contain no material copied from the Document, 
you may at your option designate some or all of these sections as invariant. To 
do this, add their titles to the list of Invariant Sections in the Modified 
Version's license notice. These titles must be distinct from any other section 
titles. 
<P>You may add a section entitled "Endorsements", provided it contains nothing 
but endorsements of your Modified Version by various parties--for example, 
statements of peer review or that the text has been approved by an organization 
as the authoritative definition of a standard. 
<P>You may add a passage of up to five words as a Front-Cover Text, and a 
passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover 
Texts in the Modified Version. Only one passage of Front-Cover Text and one of 
Back-Cover Text may be added by (or through arrangements made by) any one 
entity. If the Document already includes a cover text for the same cover, 
previously added by you or by arrangement made by the same entity you are acting 
on behalf of, you may not add another; but you may replace the old one, on 
explicit permission from the previous publisher that added the old one. 
<P>The author(s) and publisher(s) of the Document do not by this License give 
permission to use their names for publicity for or to assert or imply 
endorsement of any Modified Version. 
<P><STRONG>5. COMBINING DOCUMENTS</STRONG> 
<P>You may combine the Document with other documents released under this 
License, under the terms defined in section 4 above for modified versions, 
provided that you include in the combination all of the Invariant Sections of 
all of the original documents, unmodified, and list them all as Invariant 
Sections of your combined work in its license notice. 
<P>The combined work need only contain one copy of this License, and multiple 
identical Invariant Sections may be replaced with a single copy. If there are 
multiple Invariant Sections with the same name but different contents, make the 
title of each such section unique by adding at the end of it, in parentheses, 
the name of the original author or publisher of that section if known, or else a 
unique number. Make the same adjustment to the section titles in the list of 
Invariant Sections in the license notice of the combined work. 
<P>In the combination, you must combine any sections entitled "History" in the 
various original documents, forming one section entitled "History"; likewise 
combine any sections entitled "Acknowledgements", and any sections entitled 
"Dedications". You must delete all sections entitled "Endorsements." 
<P><STRONG>6. COLLECTIONS OF DOCUMENTS</STRONG> 
<P>You may make a collection consisting of the Document and other documents 
released under this License, and replace the individual copies of this License 
in the various documents with a single copy that is included in the collection, 
provided that you follow the rules of this License for verbatim copying of each 
of the documents in all other respects. 
<P>You may extract a single document from such a collection, and distribute it 
individually under this License, provided you insert a copy of this License into 
the extracted document, and follow this License in all other respects regarding 
verbatim copying of that document. 
<P><STRONG>7. AGGREGATION WITH INDEPENDENT WORKS</STRONG> 
<P>A compilation of the Document or its derivatives with other separate and 
independent documents or works, in or on a volume of a storage or distribution 
medium, does not as a whole count as a Modified Version of the Document, 
provided no compilation copyright is claimed for the compilation. Such a 
compilation is called an "aggregate", and this License does not apply to the 
other self-contained works thus compiled with the Document, on account of their 
being thus compiled, if they are not themselves derivative works of the 
Document. 
<P>If the Cover Text requirement of section 3 is applicable to these copies of 
the Document, then if the Document is less than one quarter of the entire 
aggregate, the Document's Cover Texts may be placed on covers that surround only 
the Document within the aggregate. Otherwise they must appear on covers around 
the whole aggregate. 
<P><STRONG>8. TRANSLATION</STRONG> 
<P>Translation is considered a kind of modification, so you may distribute 
translations of the Document under the terms of section 4. Replacing Invariant 
Sections with translations requires special permission from their copyright 
holders, but you may include translations of some or all Invariant Sections in 
addition to the original versions of these Invariant Sections. You may include a 
translation of this License provided that you also include the original English 
version of this License. In case of a disagreement between the translation and 
the original English version of this License, the original English version will 
prevail. 
<P><STRONG>9. TERMINATION</STRONG> 
<P>You may not copy, modify, sublicense, or distribute the Document except as 
expressly provided for under this License. Any other attempt to copy, modify, 
sublicense or distribute the Document is void, and will automatically terminate 
your rights under this License. However, parties who have received copies, or 
rights, from you under this License will not have their licenses terminated so 
long as such parties remain in full compliance. 
<P><STRONG>10. FUTURE REVISIONS OF THIS LICENSE</STRONG> 
<P>The Free Software Foundation may publish new, revised versions of the GNU 
Free Documentation License from time to time. Such new versions will be similar 
in spirit to the present version, but may differ in detail to address new 
problems or concerns. See http://www.gnu.org/copyleft/. 
<P>Each version of the License is given a distinguishing version number. If the 
Document specifies that a particular numbered version of this License "or any 
later version" applies to it, you have the option of following the terms and 
conditions either of that specified version or of any later version that has 
been published (not as a draft) by the Free Software Foundation. If the Document 
does not specify a version number of this License, you may choose any version 
ever published (not as a draft) by the Free Software Foundation.