Copyright © 2001, 2002 Advanced Internet Designs Inc.
Copyright
This manual is © Copyright 2001, 2002 by Advanced Internet Designs Inc.
This manual can be redistributed under the terms of the GNU Free Documentation License
Table of Contents
Abstract
FUDforum 2.3 is web based forum software designed in PHP, utilizing MySQL or PostgreSQL back-end released under the GPL Open Source license. It is designed to work on any web server that supports PHP, which makes it usable on virtually very OS. The forum includes i18n and templating support allowing for a complete customization of it's output as well as a very capably group based permission system.
This manual is primarily intended towards forum administrators, it's aim to explain how to use the various features of the forum.
This manual is available in several formats, which are downloadable from http://fud.prohost.org/doc/.
Table of Contents
FUDforum 2.3 is an Open Source web forum released under the GPL license that is written in PHP 4 and can be used on virtually any operating system. FUDforum combines an extensive feature set while maintaining the ability to generate forum web pages extremely fast.
One of the most significant FUDforum features is the ease of use, which begins right with installation process where a user is guided through 5 step install wizard. The entire installation process even for novice user may literally take less then a minute from the point of installation to the point a user has a working web forum. Unlike installation of similar software, the user does not need to deal with multiple files, all of the forum's data is stored in a single file, the install script. The installation script itself is written in PHP so no additional software is required to complete the installation.
The upgrade process is even easier. After downloading the upgrade script, the user is only required to run the script via their browser, the upgrade script will take care of the rest.
Table of Contents
FUDforum 2.3 includes numerous features. This chapter will briefly overview most of those features to give you an idea about the full capabilities of FUDforum 2.3.
FUDforum 2.3 supports a fully functional spell checker, that if enabled would allow forum users to spell check their messages before posting.
The spell checker utilizes PHP's Pspell library and supports multiple languages.
FUDforum 2.3 contains a fully customizable templating system, that allows you to completely customize the the look and feel of your forum. For optimal performance the templates are compiled, so you do not lose any speed as you do in other forums by having a templating system.
The Template Editor can be found inside the administrator control panel.
FUDforum 2.3 has full i18n support, that allows an easy translation of the forum into a language of your choice. Currently FUDforum 2.3 is distributed with 8 languages: English, French, German, Swedish, Polish, Turkish, Spanish and Chinese.
More languages will be available in the near future. During the installation process you will have the opportunity to choose the forum's language. This option can later be modified via the FUDforum 2.3 Theme Manager.
FUDforum 2.3 supports a highly capable permissions system, which can be used to control what forum users can and cannot do. Using this system you can grant special access rights to certain users, block users from seeing and/or accessing certain forum etc.
This system also includes support for "group managers" who have the ability to manage users in the groups they control. This option allows the admininistrator to delegate responsibility to trustworthy forum members.
The Group Management is done via two control panels. The first control panel is the administrative group manager, which allows admininistrator(s) to add/remove groups as well as assign group managers and specify what permissions the group managers can assign and/or take away. This control panel also allows the administrator to make groups inherit permissions from other groups, which eliminates the need to specify new permission every time for similar groups.
The second control panel, the user group manager, which allows the group manager(s) and the admininistrator(s) to add and remove users from a group as well as set permissions for individual users. It can be a accessed via a link available to all Administrators and Group Managers on most forum pages.
FUDforum 2.3 includes a private messaging (PM) system that if enabled via the global control panel allows forum members to send private messages to one another.
The private messaging system supports forwarding, the ability to send a message to multiple users and reply notifications. If allowed by the administrator, the users may also attach one or more files to their private messages. Just like in a mail client the sent messages are stored in a special folder, 'sent', so that the user can easily refer back to them if the need arises. There is also a 'drafts' folder where the user can keep their unfinished messages.
Via the private messaging controls administrator(s) can specify what features the users may use inside their private messages, as well as the amount messages the users can keep in their PM folders.
If permitted by the administrator, users may attach files to their forum & private messages. The amount of files that the user can attach as well as their maximum size can be defined by the administrator on a forum by forum basis via the forum control panel. The ability to attach files to private messages can be defined by the administrator via the private messaging system controls.
In addition to specifying the size and the quantity limits the administrator may also indicate what file types can be attached to the messages using the file attachment control panel. The attached files will be matched against the FUDforum 2.3 MIME listing so that (1) a proper file icon can be assigned to the file, (2) the file download form can send the proper header to the browser, and (3) the browser can interpret the file properly.
It is also possible to restrict certain users from being able to attach files or only allow certain users to attach files using the group management system.
FUDforum 2.3 supports a complete polling system, which mnay enable users to add polls to their messages. Permissions to create and vote on polls is controlable by the admins via the group management system.
Polls contain multiple choice questions, which can be used to gather user opinions on poll issues or questions. The forum tracks the votes and ensures that people cannot vote more then once to prevent ballot stuffing.
The users on the forum have the ability to subscribe to topics & forums. By subscribing to a topic a user will receive an E-mail or ICQ notification about any new posts made inside that topic. The subscription to a forum on the other hand will notify the user of any new topics created in the forum.
To prevent sending multiple notifications the notification system will only notify the user if they have no unread notifications for that particular forum or topic. This is extremely useful for active forums where many messages can be posted in a short period of time causing a massive amount of notifications to be sent to the user about the same content.
Each forum member has access to a personal subscription control panel, which can be used to see what subscriptions they currently have and allow the user to unsubscribe from any of the subscribed to content.
If specified by the administrator, the forum can include the full body of the message in the E-mail notification, so that a user can read and reply to the message directly via their mail client. These notifications come specially formated, so that they are properly displayed on all e-mail clients, regardless of whether those mail clients support HTML or not.
In addition to the standard way of viewing messages inside the forum, FUDforum 2.3 supports a tree view, which builds a tree of messages akin to the one used by the newsgroups.
Example 2.1. Sample Tree View
[*] Main Message [-] Reply To: Main Message [+] Reply To: Main Message [+] Reply To: Reply To: Main Message [-] Reply To: Reply To: Reply To: Main Message [-] Another Reply to Main Message
FUDforum 2.3 includes a full text search that allows users to search the posted messages by entering one or more keywords. The user has the option of limiting the search to a particular forum or category or they can search the entire forum. A user may either limit a search to a particular forum or category or search the entire forum.
The search form allows the user to specify whether to use the strict AND logic, which will find only the messages containing all of the specified keywords. Or to use the more relaxed OR logic, which will find any message that matches at least one of the specified terms in the query.
The search results can be sorted by date, allowing the user to specify whether the most recent messages should be shown first or last.
I-SPY is a neat feature, that if enabled will allow forum users to see what other forum users are doing at this very moment.
The forum also keeps track of the currently online users, an indicator is placed beside each message showing whether the author of the message is currently online or not. This too can be disabled via the global control panel.
FUDcode is a series of text formatting tags that allow users to style the text of their messages & signatures. More information about these features as well as the complete list of supported tags can be found here.
Smilies are commonly used codes to represent emotions, such as :-) to indicate happiness. FUDforum 2.3 has a list of 30 commonly uses smiley codes that will be replaced with image representing the corresponding emotion the author is trying to convey. The administrator can add/edit/delete the supported smilies via the smilies control panel.
Whether or not text codes are replaced with corresponding images can be defined by the administrator on a forum by forum basis. The group management system can also be used to disallow usage of smilies.
If permitted by the administrator, users may choose to associate an avatar image with their posts and messages. Users may upload an image of their choice to the server, specify a URL to an image or selecting a file from their harddrive or choosing an image from the forum's built-in avatar galleries. The avatar images will be displayed beside the user's name on all of user's posts.
In FUDforum 2.3 the administrator can assign users an unlimited number custom tags that would appear on user's profile and beside user's posts. This feature can be used to indicate any special roles or functions of the user.
Custom tags can be added or removed via the user control panel.
User Ranks are assigned to users based on the number of posts they have made on the forum. These ranks may contain a text and or image indicator showing the user's rank.
The administrator can add, edit, or delete the available user ranks via the rank manager.
In FUDforum 2.3 the administrator can specify that certain words or strings will be replaced automatically by alternatives provided by the administrator. This is most commonly used to filter inappropriate language that the administrator does not want to allow in the forum.
The administrator can specify the strings that are to be replaced via the replacement control panel, which supports both basic replacement and regex pattern matching.
FUDforum 2.3 tracks the IP addresses of all users as they submit posts to the forum. Administrators and forum moderators can see the IP address of the author beside each message. In addition, the IP address itself is a link to a URL that will attempt to look up the ISP of the user who submitted the post or message.
FUDforum 2.3 logs all actions taken by privileged users such as moderators. The action log allows administrator(s) to see time-stamped details of actions that have been taken by users with special privileges. The action log will also show all failed attempts to login to the administrator account.
Message mangling refers to the ability to edit, delete, move and split topics and messages. Administrators may grant message mangling permissions to moderators and other users.
The administrator has an extensive set of tools to block people from the forum. The tools include an IP filter to block access to FUDforum from any IP address or IP address mask.
The e-mail filter blocks all users who's e-mail address matches the mask specified by the administrator. The e-mail filter also prevents new registrations using an e-mail that matches the specified mask.
The Login filter, blocks all users who's login matches the mask specified by the administrator. The login filter also prevents people from registering with a login that matches the specified mask.
If cookies are not enabled on the user's computer, FUDforum 2.3 will use URL sessions to keep track of the user. This allows use of the forum even if cookies are not supported or allowed on the user's computer.
FUDforum includes tools which will allow the forum to be used to archive newsgroups (NNTP) and mailing lists. In addition, FUDforum allows the administrator to permit forum members to post messages back to a mailing list or a newsgroup. This feature makes FUDforum an ideal access point to newsgroups and mailing lists for those who cannot access those resources directly.
FUDforum 2.3 includes an installation wizard that is so easy to use, it will have your forum up and running within minutes. The upgrade process is even easier. Simply download the upgrade pack from the FUDforum 2.3 website and run the script, which will automatically perform all necessary upgrades from any previous version.
FUDforum 2.3 can be successfully installed on systems configured with PHP safe_mode enabled and those which may have the register_globals and magic_quotes_gpc parameters turned off.
Despite its many features, FUDforum 2.3 is still extremely fast. It is probably faster than all the other forum applications that offer similar or even lesser feature sets. FUDforum's excellent performance is the result of highly tuned interfaces to the underlying MySQL or PostgreSQL database and highly optimized PHP code.
In most cases, the forum will generate a page in less than one tenth (0.1) of a second.
Security is an often overlooked feature in web based applications. As a result, many web based applications have large security holes that even the most incompetent hacker can exploit, causing a great deal of damage and annoyance.
Considerable care has been taken to ensure that, given the available programming tools, the default installation of the FUDforum 2.3 is designed to offer the greatest possible security. It would be very difficult if not impossible for a curious user or even a hacker to access your sensitive data.
To achieve this level of security, by default FUDforum 2.3 stores files using the least possible file permissions (0600 for files and 0700 for directories), which allow only the user account under which the web server is running to access FUDforum's files.
On servers that are configured to appropriately switch users for each virtual host (like Apache 2.x) your forum files will be even more secure because they will be accessible by you alone.
Although you may think that giving a web server ownership of the files is equivalent to allowing access to anyone, that is simply not the case. On a secure server, for example, the administrator should implement a PHP open_basedir limitation to restrict PHP scripts from accessing files in directories not owned by a current virtual host, thus preventing access through PHP to source code & data files of FUDforum.
On a properly configured server, any programs running within the CGI wrapper should not be able to access your files because (if a proper suid interface has been implemented by the server administrator) programs within the CGI wrapper should run as the user who executed them.
Consequently, given a well set up server, the forum's data should be quite secure, even on a shared hosting platform.
Table of Contents
Before proceeding with the installation process it is recommended that you determine that you have all of the software needed for the operation of FUDforum. If you would like to install FUDforum utilizing the MySQL backend you will need to make sure you system has PHP 4.0 or greater and MySQL 3.23 or greater installed. If you decide to use the PostgreSQL backend you will need PostgreSQL 7.2 or greater and PHP 4.2.0 or greater. It is always recommended that you have the latest stable version of the software you are using, since each release often fixes many critical bugs. This is particularly true for MySQL where throughout 3.23 release there were numerous fixes for index resolving which would definitely benefit your forum.
If you do not already know what PHP, MySQL or PostgreSQL version your server is running or wish to verify the information that you have,you can determine the version information by doing the following:
Example 3.1. Finding out PHP version
<?php echo "PHP Version: ".phpversion()."<br>\n"; ?>
Example 3.2. Finding out MySQL version
<?php mysql_connect("127.0.0.1", "USER_NAME", "PASSWORD"); $result = mysql_query("SELECT VERSION()"); list($mysql_version) = mysql_row_arr($result); echo "MySQL Version: ".$mysql_version."<br>\n"; mysql_free_result($result); ?>
Example 3.3. Finding out PostgreSQL version
<?php $conn = pg_connect("host=localhost user=USERNAME password=PASSWORD"); $result = pg_query($conn, "SELECT VERSION()"); list($pg_version) = pg_fetch_row($result); echo "PostgreSQL Version: ".$pg_version."<br>\n"; pg_free_result($result); ?>
If you find that the software on your server is older then the one needed for proper installion of FUDforum, you can download the needed programs from the web, the urls are listed below. MySQL, PostgreSQL & PHP are Open Source and you can download and use them for free, without paying any fees regardless of whether you use them for commercial or personal use.
MySQL http://www.mysql.com/
PostgreSQL http://www.postgresql.org/
If you did not download the sources of FUDforum, you can do so by going to http://fud.prohost.org/download.php. That page will always contain the latest stable version of FUDforum as well as the latest development version if you want the very latest features. FUDforum is always offered in 3 compression formats, bzip2, gzip & zip, so you should not have any problems decompressing the install script on any system. We recommend downloading the bzip2 file, as it is the smallest and will take the shortest amount of time to download.
FUDforum sources can also be obtained from CVS (Concurrent Version System).
Example 3.4. Downloading FUDforum from CVS
cvs -z3 -d :pserver:[email protected]:/forum21 checkout fud21_install Once the files are retrieved, run the following commands to create the install script cd fud21_install chmod 644 install.php chmod 755 create_file_list ./create_file_list install 1>> install.php
You will need to have php binary installed on your system in order to generate the install.php installation script. If you already have a php binary in your system, but it is not inside /usr/local/bin/php, modify the 1st line inside the install.php script to reflect the proper path of the php binary on your system.
If you want a smaller install script and have php compiled with zlib module, you can pass a 2nd argument to the create_file_list script, which would compress the archive data. This will result in a file that is approximately 1/3 the size.
Now that you have the FUDforum installation script, install.php, copy the script into a web browseable directory. It is recommended to copy the script into the web directory where you intend to install the forum. To begin the installation of the forum, use your browser to access the install.php file.
Once you've accessed the script, you will see the 1st step of the installation wizard, which consists of five steps.
During the 1st step of the FUDforum installation, you get the opportunity to specify where you want the forum's files to be installed, as well as the URL of the forum. The install script will automatically put some default values for the options asked, you can use those values, or you can change them.
If your PHP has safe_mode enabled, you'll see an indicator that it is enabled in red on top of the install wizard. If safe_mode is enabled, you CAN NOT use specify the directory where you've placed install.php as Server Root or Forum Data Root.
The Server Root option allows you to specify the directory path where the forum's browseable files will be stored on your server's hard-drive. You will need to specify the full path to the directory. For example:
*NIX: /home/user/public_html/forum/ Windows: c:\\web\\my website\\forum\\
You need to enter \\ as directory separator on Windows because normally, \ is interpreted as an escape character. Since PHP is smart enough to convert / to \ internally, on Windows, you may want to use / as the directory separator and save yourself the hassle of having to deal with \\.
This is the location on your server's hard-drive where the forum's data files will be stored. It is highly recommended not to keep this directory inside a web browseable directory, since sensitive files such as messages bodies will be stored in it. For example:
*NIX: /home/user/public_html/forum/ Windows: c:\\web\\my website\\forum\\
You need to enter \\ as directory separator on Windows because normally, \ is interpreted as an escape character. Since PHP is smart enough to convert / to \ internally, on Windows, you may want to use / as the directory separator and save yourself the hassle of having to deal with \\.
If you for whatever reason, you choose to keep this directory in a location where it can be accessed with a web browser, consider using your webserver's security settings to block access to regular users to this directory. For example, .htaccess rules on Apache such as:
Example 3.5. Securing directory with .htaccess
<Location /> Order Deny,Allow Deny from all </Location>
The directories that you have specified as Forum Data Root and Server Root must exist and the webserver must have the permission to write to those directories before you click on the next link on the install wizard.
On *NIX systems there are several ways you can assign proper permissions to the directories you intend to use. The simplest method is to run command chmod 777 /home/user/directory in your shell account.
If you do not not have a shell account you can assign proper permissions to a directory by using your FTP client.
Example 3.6. Changing permissions with CuteFTP
Select the directory
Press CTRL+SHIFT+A
Enter 777 in the manual textbox
Press OK
Example 3.7. Changing permissions with WS_FTP
Right click on the directory
Choose the chmod UNIX option
In the dialog that appeared check all the checkboxes
Press OK
Enter the URL to your forum, after the forum is installed, visitors will be able to access the forum by going to this URL. Any files places inside Server Root should be accessible by going to this URL.
Once you've entered all the values, click on the next link to proceed to step #2 of the installation.
Now that the forum's files were successfully decompressed, you will now need to specify the database settings for your forum.
This is the IP address or a UNIX domain socket that will be used to connect to the database server you intend to use.
For optimal performance, we recommend using UNIX domain sockets.
Example 3.8. Database Server
Standard IP 127.0.0.1
UNIX Domain Socket :/tmp/mysql.sock
A alphanumeric string that will be prepended to all FUDforum's table names. This is done to prevent conflicts with your existing tables, which may share same names as the tables used by FUDforum. As well as allow you to install multiple forums into a single SQL database by specifying a different prefix.
By default, this option has a value of "fud2_", if you are not sure, leave this value as is.
Cookies are little bits of information that are stored on the user's computer, which are sent by the browser to the website which set them. Unless otherwise specified, FUDforum 2.3 uses cookies to track the currently logged in users, thus the user is not required to login every time.
In order for the cookie to be set properly it needs to have a correct domain specified for which you are sending a cookie. The installation script automatically figures out the most optimal cookie domain based on the URL you've entered in step #1.
If you decide to change this value make sure the domain has no less the 2 '.' in it, for example:
.mydomain.comThis is necessary because many browsers will not accept a cookie unless the domain has at least 2 dots in it.
Due to the nature of cookies, cookies cannot be set for IP address' or domains without any dot's in them. In this case, the forum will revert to using URL based sessions to keep track of users. The downside of this, is that after certain period of inactivity, usually 30 minutes, the session will expire and the user will be required to re-login.
In this step you get to choose the language that your forum will be in, the list of available languages is listed in the select box. This setting is not permanent and if you so desire you will be able to change it later once the forum has been installed.
The last step of the installer involves the creation of the 1st administrator account. You will need to enter the login name, password and the email address into the specified text boxes.
You will be able to make additional Administrators once the forum is installed.
The forum installation has now been completed, if you click on the next button you will be taken to a login form that will allow you to login into the administrator account you've created on step #5
It is of critical importance that you remove the install.php file once the installation process has been completed. Otherwise someone could re-install over the forum you have created.
Table of Contents
FUDforum 2.3 is controlled via series of control panels that are readily available to all of the forum's administrators via the "Admin Control Panel" link found on nearly every single page of the forum.
Using these control panels the administrator is able to adjust all of the forum's aspects as well manage the forum's files & modify the forum's templates via a convenient template editor.
Forum consistency checks the integrity of FUDforum's data and repairs it if any inconsistency is found. This process also regenerates forum caches of various data such as moderators, topic views etc... It is highly recommended to run a consistency checker once per month on high traffic forums and once every two or three months on low traffic forums.
If you see some irregularities with the forum data or inconsistent information being displayed, run the consistency checker, in most cases this will resolve the problem.
If the problem persists after running a consistency check, please take the time to report it as a bug, by going to the FUDforum 2.3 support forum
While this process is running your forum will be disabled.
FUDforum includes a full text search that allows the user to search the messages posted on the forum by both subject and message body.
When a user posts a message the text of that message is automatically added to the search index, unless you've set your FORUM_SEARCH option to no.
The search index rebuild process will go through every message on the forum and re-index it's data for the search engine. This process, as you can imagine, is VERY CPU intensive and will take a fair amount of time to run. The actual time taken depends on the number of messages you have in your forum.
This process is generally unnecessary, unless you've decided to re-enable the full text search of the forum or have completed an conversion process from a forum other then FUDforum to FUDforum and need to generate a search index of the imported messages.
While this process is running your forum will be disabled.
FUDforum will try compact it's message storage file. During normal operation FUDforum only writes to it's message file, never deletes from it, this is done because it has great performance benefits and is a very fast way to store message bodies. If you are running low on drive space you can try to have FUDforum try to compact it's message file, this will try to remove all the old unused bodies off all edited messages.
Unless there is a lot of deletion and message editing on your forum, the amount of space saved will be minimal.
While this process is running your forum will be disabled.
This control panel allows you to alter the various system settings of the forum. Pay careful attention to what you are doing while making changes on this control panel, since it possible to break your forum by entering wrong values in certain places.
Due to the importance of that control panel there is basic help for every option on the control panel itself.
This toggle shows you whether or not your forum is enabled as well as allows you to enable and disable your forum.
When your forum is disabled the users will see the message you put inside Disabled Reason when they try to access any of the forum's pages.
When your forum is disabled this message, which can contain HTML will be displayed to anyone trying to access the forum's pages.
This is where all the compiled forum include files (*.inc) will be placed.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
This is the base URL of your forum.
Do not alter this option unless you are % certain of what you are doing.
This is the directory where the forum's error logs will be stored.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
Inside this directory the bodies of all message, normal & private are stored.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
This is the directory where any temporary forum files will be placed.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
Inside this directory all the file that are attached to forum's messages are stored.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
Various settings file that are created by the forum are stored inside this directory.
Do not alter this option unless you are % certain of what you are doing.
If you change this directory make sure the webserver has write permissions to it.
Safe Mode users also must make sure the directory is owned by the same account as the webserver.
Mogrify is an ImageMagick utility that allows you to manipulate images. If you have such a utility specify the full path to it in this option. By doing so, you will gain the ability the scale down user uploaded avatars if they exceed the dimensions you've specified.
ImageMagick and its utilities can be downloaded freely from ImageMagick website.
The IP or UNIX Domain Socket of your database server. We recommend using the UNIX Domain Socket since it is much faster then TCP/IP.
If you decide to specify a UNIX Domain Socket you need to put ':' in front of it. For example: :/tmp/mysql.sock
Use persistent connections when connecting to a database. This is a performance enchanting feature which if enabled will make your forum somewhat faster. Improvement is the result of PHP not needing to open a new database connection each time a script is executed, but rather use an existing connection instead.
This option does have it's drawbacks, on forked web servers such as Apache, every Apache child will create a persistent socket for itself. This can potentially exhaust number of allowed database connections if the number of Apache children with open connections to database exceed the allowed number of database connections, thus preventing topics without an open connection to connect to the database server.
How many file attachments a user can attach to each private message. Setting this option to 0, will disable file attachments for private messages.
The maximum size, in bytes, of the file(s) a user can attach to their private messages.
PHP has it's own limitation on the size of the file uploads, via the 'upload_max_filesize' php.ini setting. If the php.ini value is smaller, then the value set in the forum, then the php.ini will be used to limit the file uploads.
Whether or not smilies/emoticons in private messages will be converted to their graphical equivalents.
This option allows you to limit how many images can users include inside their private messages.
This limit will only work if the tag style is FUDcode, won't work if you allowed your visitors to use HTML.
What kind of text formatting options are available to the user.
FUDcode Users can use FUDcode styling tags to format their messages.
HTML The users can use HTML inside their messages.
NONE only plain text is allowed.
The path of cookie used by the forum. Outside of this path the cookie will not be accessible.
By default the cookie path is the path to the forum. For example, if your forum URL is "http://mydomain.com/forum/" the cookie path will be "/forum/". If you wanted your entire site to be able to access the forum's cookies, change the value of this option to "/".
The domain name for which a cookie is being set, the domain MUST be the same as the one used to access the forum, as specified in the WWW_ROOT option.
For browser compatibility this values MUST have no less the two '.' in it.
Do not alter this option unless you are % certain of what you are doing.
The name of the cookie that will be used by the forum. By default a random value is picked for this option to prevent conflicts with any other cookies you may already have. In the very unlikely event that you already have a cookie with such a name, change the value of this option to something else.
This is the period of time, in seconds after which the browser will remove the cookie. The user who's cookie expired will then need to re-login in to the forum.
By default the cookies are set to expire 7 days they are set. Each time the user access the forum the cookie is renewed for another 7 days.
If cookies are not used or are not available sessions will be used instead. They work by passing the information normally stores in a cookie via GET/POST across the forum. Each time a user access' a page their session gets renewed.
This option defines the amount of time, in seconds after which the session expires and a user will be required to re-login. For security reasons do not set this to a high number.
By default, sessions will expire after 30 minutes.
This toggle defines whether or not the administrator(s) need to approve all the URL & Uploaded avatars before they are activated.
Leave this option set to YES, unless you have absolute faith in your users and are certain they will follow the size limitations you've defined.
FUDforum 2.3 allows for a number of ways that a user can specify their avatar, if avatars are allowed. This option allows you to define is avatars are allowed and if so, what type of avatars the users may use.
The URL & Uploaded avatars will first need to be approved by the administrator before they are activated, unless you specified in the Avatar Approval option, that the administrator does not need to approve those avatars.
URL The user can specify their avatar by entering a URL of an image.
Uploaded The user can upload an image from their hard drive to be their avatar.
Built In The user choose an avatar from the ones available in the forum's avatar gallery.
You can add avatars into the avatar gallery via the Avatar Manager control panel.
ALL The user can specify their avatar by specifying a URL to an image, uploading one to the server or choosing from the forum avatar galleries.
OFF The avatars are disabled.
The actual control panel will have additional values allowing you choose a combination of any of the first three options.
This is a limit, in bytes, on how big of an image a user can upload as their avatar.
This the maximum width x height dimensions of the avatar the user can specify.
The uploaded avatars can be scaled down by the administrator during the avatar approval process if the path to Mogrify utility is specified.
Whether or not forum users can specify signatures that will be appended to their messages.
What kind of text formatting options are available to the user.
FUDcode Users can use FUDcode styling tags to format their messages.
HTML The users can use HTML inside their messages.
NONE only plain text is allowed.
Whether or not smilies/emoticons in signatures will be converted to their graphical equivalents.
Whether or not the spell checker is enabled.
This option will only work if your PHP has the pspell module enabled.
Allow the users to send e-mails to other forum members using the forum's internal e-mail client.
Whether or not to use FUDforum SMTP gateway to send email instead of standard PHP mail() function.
Not recommended, unless you need SMTP AUTH or wish to use alternate SMTP server on UNIX systems.
If your SMTP server requires SMTP Authentication, use this field to specify the login name that will be used when accessing the SMTP server.
If your SMTP server requires SMTP Authentication, use this field to specify the password that will be passed to the SMTP server.
If enabled each new registration will need to be confirmed via email. A special URL will be sent to the e-mail specified by the user during registration, which once accessed will activate their account.
Unconfirmed accounts will be removed after a set amount of days as defined by the UNCONF_USER_EXPIRY option.
All of the system e-mails sent from the forum, such as e-mail post notification, registration confirmation etc... will come from this address.
If enabled, then e-mail notifications will include the complete HTML body of the message, allowing the user to read the message's text via their e-mail client as well as reply to the message by clicking on the reply/quote buttons.
In the event the user's e-mail client does not support HTML, the e-mail contains a text version of the message as well.
The maximum number of smilies/emoticons to show shortcuts for on the message posting forms. To see the rest the user will need to click on the "list all smilies" link.
Toggle the showing of the partially resolved host name of the message's author to other users. For example:
me.myself.com will appear as .myself.com
This may slow down the posting process, especially, if the user's host mask takes a while to resolve.
The maximum number of characters of a user's location to show on all pages with the exception of user info page.
Whether or not the list of currently logged in users is displayed. By default this list is shown on the forum's front page.
The amount of time, in minutes, after which a user is considered to be no longer logged in.
If enabled it allows other forum users to see what their counterparts are doing on the forum at the time.
This option requires that the Logged in List be enabled.
If enabled, this option will indicate whether a user is online or offline beside all their message.
If enabled, each user would have the ability to specify a nick name other then their login name, the specified nick name, would then be displayed on the forum instead of that user's login name.
If enabled, this option would allow the user to have more then 1 simultaneous logged in sessions from different browsers/computers. This is useful, if many of your users use more then 1 computer to connect to your forum and do not wish to re-login each time they switch between computers.
By default this option is disabled, because a left over session on a computer could allow another person with access to that computer use the forum under the logged in person's account. Normally, when a user logs in, all of that user's other sessions are immediately invalidated by this action.
If enabled the users, will be required to indicate whether or not they are older then 13 years of age before registration. If they are not, then their legal guardians will be required to confirm the the account via Fax or E-mail.
All US based sites must leave this option enabled to comply with the Children's Online Privacy Protection Act of 1998 (COPPA)
Whether or not to allow tree view of the thread listing. Since this form can be fairly cpu intensive, if you have a high traffic forum and/or limited cpu capacity, it is adviseable to leave this feature disabled.
This option defines how many topics to show per page, on the thread listing in a tree format. This option is seperate from the Topics Per Page option, since the tree view will generaly take up more screen space then flat view.
If a a tree reaches a level greater then this number, a 'more' link will be drawn and further levels will not be displayed beyond that point.
Subjects longer then the specified length, will be trimmed to the length specified in this option. This is done to prevent long subjects from ruining the layout of the form.
Allows the administrator to specify the default message and topic view.
Flat View thread and message list Standard bulletin board view.
Tree View thread and message list Draws a tree like view of the messages. Similar to how messages in the newsgroups are displayed.
Flat thread listing/Tree message listing The thread listing will be displayed in flat format, while the individual threads will be drawn as trees.
Tree thread listing/Flat message listing The thread listing will be displayed in tree formar, while the individual threads will be drawn in flat format.
The last two options will only be avaliable if the Allow Tree View of Thread Listing is enabled.
This setting defines on how many characters to wrap message bodies on, any text string longer the the number of characters specified in this option will be broken down into 1 or more strings using a space as a separator.
Set this to 0 to disable word wrapping.
The number of days unconfirmed forum members are held in the database. They will be removed from database after this period of time.
The minimum time delay, in seconds between message posting. This option is used to prevent automated posting scripts that would attempt to post many messages at once.
The number of days to show a pointer of a moved topic from the original forum to the new forum. The pointer will be removed after this period of time.
If enabled the users will be able to do full text searches on the content of the posted messages. If you wish to increase the speed of the posting process or save on space used by MySQL you should turn this option off.
In the event Forum Search is disabled the search index will not be populated at the time of posting. If you later on decide to enable the search engine you will need to Rebuild Search Index.
If enabled it will allow forum visitors to search for registered forum users by login and/or email.
How many page links to display beside a topic that exceeds 1 page in length as defined by the THREADS_PER_PAGE option.
This is the number of direct links to pages that will be shown in the pager, excluding << < > >>.
If enabled then all the messages that were later edited by the author of the message will have an indicator showing that the message was edited by it's author.
If enabled then messages edited by the moderator or the administrator will have an indicator indicating showing that the message was edited by someone other then the message author.
The time limit, in minutes, past which the users will no longer be able to edit their own messages.
Set the value to 0 to give unlimited editing time.
Whether or not to display the IP address of the message's author for all forum users.
All forum administrators and moderators will be able to see the IP of the message author regardless of this option.
The maximum number of images a user may include in their forum messages.
This limit will ONLY work if the FUDcode style is being used.
An indicator of how many forum moderators to show beside each forum on the front page.
If enabled, at the bottom of each page forum users will be able to see how long it took to generate the page as well as how many MySQL queries were ran and their timings.
The Replacement & Censorship System allows the administrator to replace certain strings in the messages, signatures and biographies of the users with another text string.
The most common use of this system is to censor certain words and phrases that the admin feels are in appropriate for the forum. For this purpose FUDforum 2.3 offers two syntaxes for replacing text ranging from a simple replace to a complex regular expression.
The most basic and the easiest to use string replacement option is "String Replace". This option will allow you to specify the 'Replace' string with its alternative the 'With' string. For example, if you specify the replace string as "haystack" and it's alternative as needle then
this haystack is sharp.will be converted to:
this needle is sharp.
Perl Regex will use a perl regular expression library to perform a replacement on a text or a text mask. This although slower then str_replace it allows for a much more powerful and sophisticated text manipulation.
This functionality uses PHP's PECL library and utilize the preg_replace function. PHP's documentation of this function and its capabilities & syntax can be found here.
Lets say, you want to replace all words containing the string 'spoon' with 'fork'. Clearly you cannot use String Replace for this because it would not replace the entire word but only the 'spoon' part. For this purpose you need to use the power of regular expressions.
Inside the 'Replace' field we enter the
!(\s|^)([^\s]*?)spoon([^\s]*?)(\s|$)!iregular expression and enter
\1fork\4as the 'With' alternative. The end result of this regex that any word containing the string 'spoon' will be replaced with "fork". Because we've added the 'i' parameter to our regex, which made it case-insensitive, so even the "SpOon" instances will be found and replaced.
Because the regular expression is generally rather complex there is no easy way FUDforum 2.3 can figure out how to reverse it back, so that when the person is editing their text they can see the text that they have originally entered. Therefor you get 2 extra fields ('From post' and 'To')were you get to specify the "reverse" regex that would convert the replaced data back its original form. Based on the previous example involving "fork" & "spoon" the conversion back strings would look like this:
From post: !(\s|^)fork(\s|$)! To: spoon
The messages & signatures entered prior the the addition of a replace will not be affected by the newly added replace syntax.
This control panel allows you to manage mime types & icons for the various files that the forum users can attach to their messages.
MIME types are special strings sent to the browser that tell the browser how to interpret the file. For example .exe file would have a application/application MIME type, which would tell the browser that the file should be saved to the user's hard rive instead of trying to open the file. On the other hand for .jpg image the forum would send a image/jpeg MIME, which would tell the browser to display the image in the browser window.
The MIME types are determined by the file extension and compared to the extensions of the supported MIME types inside the FUDforum 2.3 database. If the file does not match any MIME types it would be assigned the generic application/ocet-stream MIME type, which would tell the browser to save the file rather then try to display it.
The forum by default comes with 30 or so default MIME types that cover the most commonly used file types, so unless you have special file types not covered by this list you will not need to use this control panel.
Adding of a new MIME is normally a 2 step process, first you upload the image that you want to represent your new MIME and then you enter the actual MIME information such as a description, file extension and mime header. The 1st step can be bypassed if you already have an image that you wish to use in association with this MIME by choosing the image from the list of the ones already available in the forum.
At the top of the MIME managment form there is a simple control, which allows you to choose an image from your drive and upload it to the server. Clicking on a browse link will open up a dialog allowing you to pick the image.
Click on the upload link to upload the image to the forum.
The preview of the uploaded image will appear on the MIME Managment control and the file name will automatically be inserted into the MIME Icon textbox.
Now that you've uploaded your MIME image you can now specify the MIME information. If you choose to use an existing image, by clicking on the "select MIME icon" link that would pull up a pop-up window where all the MIME images in the system will be displayed and you'll be able to choose the one you want by clicking on it.
If you are editing a MIME, the information for the MIME will be automatically inserted in to the appropriate fields so you can easily edit it.
Use this field to enter a quick description of the MIME. This field's data will not show up anywhere on the forum other then this form.
This is the MIME header that will be sent to the browser when the user downloads a file that matches this MIME type.
Files that end with this extension will be attributed assigned mime type.
This value is case-insensitive, so jpg and JPG are the same thing as far as MIME management system is concerned.
This is an image that will be displayed beside all file attachments that are of this MIME type.
Once all the MIME information is set to your satisfaction click on the "Add MIME" or the "Update" button, depending of whether you're adding or updating a MIME, to submit your changes.
The file manager is a utility that allows you to easily manage files inside the forum's directories. Using this tool you can change file permissions, upload files, delete files as well as download files using your web browser.
The file manager displays the file & directory listing akin to the one shown by the *NIX 'ls -lia' command, with a slight addition of showing the permission's integer value.
Example 1.1. File List Example
Mode Owner Group Size Date Time Name Action -rwxrwxrwx- (777) forum forum 0 KB Mar 13 18:28:03 blank.gif chmod | download | delete
This utility is only for *NIX installations, it is not available for Windows installations of the forum.
The file manager allows you to create directories. Simply enter the directory in the 'Directory Name' textbox and and click on the 'Create Directory' link. This will create a directory with the name you've specified inside current directory.
You can also use the file manager to upload files from your computer into the forum.
In the File Upload control use the 'browse' button to select the file from your hard drive. If you want to give name other the the original name to the file you are about to be upload, enter the new name inside the 'File Name' textbox. Now, click on the 'Upload File' button to upload the file into the directory you are currently in.
The file manager can also be used to remove forum files & directories. This can be accomplished by clicking on the delete link beside each file or directory.
Directory MUST be empty before it can be deleted.
For safety there is an intermediate stage in the deletion process that will ask you to confirm the fact that you want to delete a file or directory. This is done to prevent accidental file deletion.
Beside each file there is download link, if clicked it would allow you to download the file to your hard drive.
FUDforum 2.3 is designed with a security minded approach to data storage. This means that FUDforum 2.3 tries to ensure that your forum's data is as secure as possible. Therefor the forum's files are kept with the most minimalistic permissions (0600 for files and 0700 for directories), allowing only the web server to access those files. Thus they can be altered only using the forum's control panel, preventing other users from seeing and modifying your files.
There may be situations where you would need the ability to access many or all of the forum's files right away and changing permissions of each file using the file manager would be excessively difficult.
This control panel allows the administrator to 'unlock' the forum's files hence allowing those files to be accessed via FTP and SSH/Telnet. Once your are done, is is HIGHLY recommended that your 'lock' the forum back hence re-instating the secure permissions on your data.
This form can work virtually independently of the forum, so to 'lock' or 'unlock' files the administrator would need to specify their login & password and click on the appropriate button depending on which action they wish to perform.
This utility is only for *NIX installation, it is not available for Windows installations of the forum.
This utility allows you to gather statistics about your forum's usage. In addition to forum statistics this utility will also show you a detailed breakdown of the hard drive space used by the forum as well as the amount of MySQL disk space used by the forum.
The statistics engine can be used to analyze the following information:
Number of Posted Message The number of posted within a defined time frame.
Number of Topics The number of topics within a defined time frame.
Registered Users The number of new user registrations within a defined time frame.
You can also specify the detail of the information, by specifying the level of detail, such as daily, weekly, monthly or yearly.
All administrative actions of privileged users are logged by FUDforum 2.3 so that they can later be reviewed by the admin.
This control panel allows the administrator to see this information by displaying the user name, action, the affected forum data as well as the time of the event.
In addition to logging actions of privileged users this control panel also allows the administrator to see failed logins attempts into any of the accounts that have administrative access to the forum, with the IP address of the user who attempted to login. This is an extremely useful feature for tracking down attempted hacking attempts, by people who try to gain administrative access by guessing the password of the administrator(s).
Provides various details about the server setup of the machine FUDforum 2.3 is running on.
When reporting a bug with a forum, please include the output of this control panel.
The Category & Forum Management control panel allows the administrator to manage the forum's categories and forums. This is a 2 stage control panel, first stage involves the category managment and the 2nd deals with the forums inside a particular category.
The first control panel you see when you click on the 'Category & Forum Management' link is the category manager. This control panel allows you to create/edit/remove and reposition the categories of your forum.
At the top of the page there is a form that would allow you to add a new category. When you are editing a category the form's values will be filled up with the category's properties allowing you to edit them.
Description of the category, this text will appear adjacent to the category name.
You can put raw HTML into this field.
Whether or not this category will appear collapsed or uncollapsed by default on the front page.
Where to insert the category, below or on top of all the other categories in the forum.
Below the form there is a list of all the existing categories in the forum. This list contains links that allow you to edit the category, delete a category, change its position in the category list and edit the forums inside this category.
When you click on this link you will be taken to a forum managment page, allowing you to manage the forums assigned to this category.
The forum manager allows the administrator to manage forums that are assigned to a particular category. This includes adding/removing controls, ability to move a forum to a different category as well as change display order of the forum.
The first item on the forum manager page is form that allows the administrator to add and edit forums. When a forum is being edited the forum's settings will be pulled into the form for ease of editing.
Forum's description, this text will be shown right below the forum name.
Can contain raw HTML.
What kind of text formatting tools are available to the user.
FUDcode Users can use FUDcode styling tags to format their messages.
HTML The users can use HTML inside their messages.
NONE only plain text is allowed.
Whether or users will be required to enter a special password in order to be able to post messages inside this forum.
If you've specified that users must enter a password in order to post messages, you should enter the password inside this field.
If set to yes, any new message will need to be approved by the forum's moderator or an administrator before it becomes visible to the public.
The maximum size, in kilobytes of the attached files users can attach to their messages.
The maximum number of files users can attach to their messages.
PHP has it's own limitation on the size of the file uploads, via the 'upload_max_filesize' php.ini setting. If the php.ini value is smaller, then the value set in the forum, then the php.ini will be used to limit the file uploads.
Only the number of bytes of the messages inside this forum will be shown. For example, if you set this limit to 1000 bytes and a user entered a 1500 byte long message only the 1st 1000 bytes of the message will be shown. To see the rest the message user will need to click on the 'Show the rest of the message' link.
Setting this option to 0 means that unlimited message length is allowed, effectively disabling this feature.
You can choose to have an icon displayed beside the forum. By clicking on the 'SELECT ICON' link you will be able to choose an icon for your forum.
You can upload additional forum icons in addition to the one installed by default via the Forum Icon Manager.
Below the forum editor there a list of all the forums inside the category you are editing. Using this listing you can edit, delete, move to another category or change the position of the forum inside the current category.
This option allows the administrator to move a forum from its current category to a different category.
When a forum is deleted it is not immediately removed from the database but rather moved to a trash bin of sorts. It is done to allow the administrator to restore the accidentally removed forums, since once they are truly removed there is no going back.
This control panel allows the administrator to see all the forums inside the 'trash bin' and allows the administrator to either restore the forum, by choosing a category where to restore the forum by clicking on the 'Reassign' button or to truly delete the forum by clicking on the delete link.
It is a good idea to run the Compact Messages utility after deletion of a forum, especially if that forum had many messages in it.
Announcement manager control panel that allows the administrator to create global announcements that would appear in selected forums at the top of the topic listing.
This option allows the administrator to define in which forums the announcement will appear, by selecting the checkbox beside the each forum. There is also a convenient 'All' button for selecting all of the forums at once, as well as a 'None' button to unselect all of the selected forums.
Below the announcement creation/editor form there is a list of all the current announcements in the system. Beside each announcement there is a link allowing the administrator to edit or delete the announcement.
The topic prunning control panel allows the administrator to remove topics that are older then a certain date.
Topics that are older then this number of days, weeks, months or years as specified by the 'Time Period' option, will be pruned.
Allows the administrator to specify a specific forum or category which to prune or whether to prune all forums.
Once you click on the prune button the forum will calculate the number of topics that will be affected by the prunning and ask you to confirm that you indeed wish to prune that number of topics. If you confirm the process the affected topics will be removed.
It is a good idea to run the Compact Messages utility after doing topic prunning.
This control panel allows the administrator to define mailing list rules that allow FUDforum to archive messages from a mailing list as well as allow forum's own messages to be sent to the mailing list.
This type of functionality requires your system to have a working procmail utility, which will pipe appropriate messages from the mailing list to a particular forum.
The email address of the mailing list, if you specify that messages posted in the forum are to be sent to the mailing list as well, those messages will be sent to this email address.
Choose a forum, which will be associated with this particular mailing list, meaning that messages from the mailing list will be imported into this forum.
You can only assign 1 mailing list per forum, therefor the forum select will ONLY show you the forums that are not yet associated with any other mailing lists or newsgroups.
This option specifies whether or not the moderator(s) will be required to approve messages imported from the mailing list before they are made visible on the forum to the general public.
Whether or not to forward messages that were posted on the forum to the mailing list. If selected when a user posts a message, the forum will send the messages to the mailing list on behalf of the user.
Many mailing lists will require people to be signed up before being able to post to the list, which is most often done to prevent spammers from spamming the list. Therefor, the user unless already subscribed, may receive an email from the list asking them to subscribe as a prerequisite to their messages appearing on the mailing list.
Whether or not moderator(s) of this forum will be required to approve posts made by forum members before those posts are synchronized to the mailing list.
If enabled, ANY file attachment attached to a message on the mailing list will be imported into the forum regardless of any limitations imposed on file attachments within the forum.
If enabled, HTML contained within mailing list messages that are imported will not be stripped. This is not recommended because it may cause layout problems if the HTML is not valid as well as other issues that result in allowing HTML, such as JavaScript, etc...
Certain mail clients do not sent send necessary headers needed to determine if a message is a reply to an existing message. If this option is enabled and normally available reply headers are not there, the forum will try to determine if message is a reply by comparing the message's subject to subjects of existing messages in the forum.
When importing messages from the mailing list, should a new user be created for every mailing list author, who cannot be matched against an existing forum user. If this option is set to 'No', then all imported mailing list messages who's authors cannot be matched against existing forum members will be attributed to the anonymous user.
Often mailing list prepend a special string to the subject of every message so that it is easy to identify the messages coming from the mailing list. In the forum environment those are quite useless, this option allows administrator to specify a regular expression that will be applied to the subject, allowing the administrator to change and/or filter certain strings from the subject.
The replacement is performed by PHP's preg_replace.
The string you wish to alter and/or replace.
The smaller text box on the right allows the administrator to specify various regular expression flags to be used, such as 'i', 'm', etc...
In most cases mailing lists will append a some sort of a string to the bottom of the message, this usually contains information on the mailing list itself as well as how to subscribe/unsubscribe from the list. In the forum that text is not really needed, so you can use this option to use regular expression to remove and/or change this or any other data from the message body.
The replacement is performed by PHP's preg_replace.
The string you wish to alter and/or replace.
The smaller text box on the right allows the administrator to specify various regular expression flags to be used, such as 'i', 'm', etc...
At the bottom of the control panel there is a list of existing mailing list rules. Each entry shows 3 pieces of information about the mailing list. 'Mailing List Rule', which an identifier of the rule, the email address of the mailing list represents the value of this option. 'Forum' the name of the forum associated with this mailing list rule. 'Exec Line' this field contains the execution line to which procmail will need to pipe the messages from the mailing list.
maillist.php is a PHP script, that requires you to have a PHP binary (cgi/cli). By default PHP binary can be found on /usr/local/bin/php, however on some distributions that may not be the case. If your PHP binary is not in /usr/local/bin/php, you will need to change the first line of the maillist.php script from
#!/usr/local/bin/phpto
#!/path/to/php/binary
Example 1.2. Sample Procmail Mailing List Catcher
The following is an example rule that can be used to catch all e-mails coming from php-general mailing list, which is identified by having '[email protected]' in the To, Cc or Resent-To headers.
:0: * ^TO_.*[email protected] | /home/forum/test/maillist.php 1
This control panel allows the administrator to define newsgroup rules that allow FUDforum to archive messages from a newsgroup as well as allow forum's own messages to be sent to the newsgroup.
The port on which to connect to the newsgroup server, by default all newsgroup servers use port 119.
Some NNTP servers require you to authenticate yourself before being able to send any commands to the server, if you server requires authentication, choose which method of authentication your NNTP server supports.
If your NNTP server requires authentication, use this field to enter the login name to use when connecting to the server.
If your NNTP server requires authentication, use this field to enter the password to use when connecting to the server.
Choose a forum, which will be associated with this particular newsgroup, meaning that messages from the newsgroup will be imported into this forum.
You can only assign 1 newsgroup per forum, therefor the forum select will ONLY show you the forums that are not yet associated with any other mailing lists or newsgroups.
This option specifies whether or not the moderator(s) will be required to approve messages imported from the newsgroup before they are made visible on the forum to the general public.
Whether or not to forward messages that were posted on the forum to the newsgroup. If selected when a user posts a message, the forum will send the messages to the newsgroup on behalf of the user.
If you select this option make sure that the newsgroup server you are connecting to allows you to post messages to newsgroups via that server.
Whether or not moderator(s) of this forum will be required to approve posts made by forum members before those posts are synchronized to the newsgroup.
If enabled, ANY file attachment attached to a message on the mailing list will be imported into the forum regardless of any limitations imposed on file attachments within the forum.
Certain mail clients do not sent send necessary headers needed to determine if a message is a reply to an existing message. If this option is enabled and normally available reply headers are not there, the forum will try to determine if message is a reply by comparing the message's subject to subjects of existing messages in the forum.
When importing messages from a newsgroup, should a new user be created for every newsgroup author, who cannot be matched against an existing forum user. If this option is set to 'No', then all imported newsgroup messages who's authors cannot be matched against existing forum members will be attributed to the anonymous user.
At the bottom of the control panel there is a list of existing newsgroup rules. Each entry shows 3 pieces of information about the newsgroup. 'Newsgroup Rule', which an identifier of the rule, the newsgroup name represents the value of this option. 'Forum' the name of the forum associated with this newsgroup rule. 'Exec Line' this field contains the execution line to which needs to be executed in order to imported messages from a newsgroup into the forum.
On UNIX based systems it is best to execute the 'Exec Line' using a cron job, that would run every 2-3 minutes. On Windows 2000 and XP you can use task scheduler to accomplish the same thing.
nntp.php is a PHP script, that requires you to have a PHP binary (cgi/cli). By default PHP binary can be found on /usr/local/bin/php, however on some distributions that may not be the case. If your PHP binary is not in /usr/local/bin/php, you will need to change the first line of the nntp.php script from
#!/usr/local/bin/phpto
#!/path/to/php/binary
Example 1.3. Sample Crontab for Newsgroups
The following is a sample crontab that will import messages from a newsgroup associated with rule #1 every 2 minutes.
*/2 * * * * /home/forum/forum/scripts/nntp.php 1
This control allows the administrator to manage users as well as assign and/or remove moderation permission from users.
The first step of managing a user is picking a user which you want to edit. You can do so by entering the login name or the email address of the use into the appropriate fields on the user manager control panel.
The control panel allows for partial matching, so you can enter masks such as 'ad*', which would find all users who's login name begins with an 'ad'.
If there is only one matching user, their information will be retrieved into the user manager. If more then one user matches, then you will be presented with a list of all the matching users and will be able to pick the user you want to manage by clicking on their login name.
Now that you've pulled up the user information inside the user manager you can proceed to modify the various user settings.
The user manager allows the administrator to change the login of the user who's account is being edited. This can be accomplished by entering a different login into the 'Login' field and clicking on the 'Change Login Name' button.
Make sure the login you're going to enter is not already in use, otherwise the process will fail.
The user manager allows the administrator to change the password of the who's account is being edited. To change the password enter a new password into the 'Password' textbox and press the 'Change Password' button.
By default 'Password' textbox will always be empty since passwords are encrypted with a 1 way algorithm, MD5 for greater security and cannot be decoded back.
Clicking on this link will take the administrator to the profile control panel where they can edit the user's profile and settings. The administrator will need to enter the their password on that form to activate any of the changes that were made.
This options shows whether this user is an administrator or not. By clicking on the toggle link the administrator can assign or remove administrative privileges from a user.
Whether or not this account requires COPPA confirmation.
If the value is set to 'Y', then this account is pending COPPA confirmation.
Children's Online Privacy Protection Act of 1998 (COPPA) indicates that all accounts of children under the age of 13 must be confirmed by their legal guardians via FAX or Snail Mail.
Whether or not this account has been confirmed via e-mail. If enabled in the admin control panel all new accounts must be confirmed via e-mail before they activated.
Shows the list of the forum this user is moderating. Clicking on the 'Modify Moderation Permissions' link will open up a pop-up with a list of all the forums. By checking a checkbox beside each forum the administrator can assign moderation permissions for that forum to this user. Unchecking a checked checkbox will remove moderation permissions from the user.
The administrator can assign an unlimited number of custom tags to a user. This option allows the admin to enter the new custom tags for the user, by entering the text into the 'Custom Tags' textbox and pressing the 'Add' button.
Custom tags may contain raw HTML.
All of the user's current custom tags are listed above the textbox and can be removed by clicking the 'Delete' link beside each custom tag.
Custom tags are little bits of text and/or HTML that are displayed on the user's profile page as well as inside the author information bit beside all their messages.
At the bottom of the user control panel there are a number of links that allow the administrator to take certain actions in regard to the selected user.
Send a private message to this user using the private messaging system.
This link will only be available if the private messaging system is enabled.
Send an e-mail to the user. If the forum's internal email system is enabled it will be used, otherwise standard mailto: URL will be given, allowing the administrator to send the e-mail using their mail client.
Resets the user's password and sends the randomly generated password via e-mail to the user.
FUDforum 2.3 includes a powerful and flexible group managment system. which gives the administrator fined grained control over the actions that the users can perform on the forum.
This control panel allows the administrator to manage the groups, add and remove group leaders as well as specify which permissions the group leaders can assign to members of the groups they manage. The control panel allows the administrator to define, which resources (forums) a particular group can control.
By default FUDforum 2.3 automatically will create a group for every forum that is created. Those groups will carry the same name as the forum with the addition of the 'FORUM:' prefix. These groups cannot be deleted manually and will automatically be removed when the forum is deleted.
In addition FUDforum 2.3 also has two global groups, 'Global Anonymous Access' and 'Global Registered Access', the group serve a special purpose of defining the default permissions for special 'anonymous' and 'registered' users, who's permissions define the actions those users may perform.
Example 1.4. Global Groups
Lets say that you do not wish to give the anonymous users the ability to read messages inside any new forums you create. You can do this by modifying the permissions for the anonymous user in every automatically generated group created for new forum. This is obviously is rather awkward and inconvenient especially on large forums.
In this case using a Global Group can simplify and automate the process. By editing the 'Global Anonymous Access' group and taking away the 'Visible' & 'Read' permissions you ensure that any new auto-generated groups will not allow anonymous users to view the resources (forums) that this group controls. With this single change, you were able to avoid much manual labor of having to change the permissions granted to anonymous users in every group, which affects anonymous users.
Resources describe various things that the group system can control the permissions for, currently the group system is only capable of controlling forums, in the future its possible that the group system will be tasked with controlling permissions for other resources.
It's possible to have a group control multiple resources
It's possible to have resource conflicts, for example giving two groups control of the same resource. This isn't a problem for the group system as it will try to intelligently resolve the situation, see the section called “Resolving Conflicts”
Group Leaders are users who have the ability to add other users to groups and control their permissions, When adding other users to a group using the group manager control form they are able to specify the permissions of the user they are adding. However, a group leader can never give a user a permission for something that he himself is unable to do.
It's possible to have group leader conflicts, this shouldn't be a problem for the forum as it will try to intelligently resolve the situation see the section called “Resolving Conflicts”
Beside each group there is a list of permissions, the permissions which are set to 'Yes' can be assigned or removed by the group leaders from the users in the group.
If a particular permission is set to inherit, then this permission will be retrieved from the group who's permissions the current group inherits.
Example 1.5. Permission Inheritance
Lets suppose there is a group 'Group A', which allows the group manager to control the 'Visible','Read' and 'Post' permissions. There is also group 'Group B', which inherits 'Visible' and 'Read' permissions from 'Group A'.
While the permissions in 'Group A' allow the group manager(s) to control 'Visible' and 'Read' permissions same would be true for group manager(s) in the 'Group B'. Should the administrator take away the ability to control the 'Read' permission from the forum 'Group A' managers, the 'Group B' managers will also loose the ability to change the 'Read' permission from the members of their group.
The inheritance option is particularly useful if you are creating many similar groups and/or wish to have the ability to change the permissions of multiple groups by altering the permissions of a single group.
Beside each group there is a 'Manage Leaders' link, which would allow the administrator to add and remove group leaders. The list of current group leaders is also listed beside each group.
If you do not know the exact login of the user you wish to make a leader, enter a partial login and the list of matches will be presented to you.
This form, which is located top of the page allows the administrator to add and edit groups.
Group name can be whatever you want, it's preferable you name it something descriptive for future reference. It is generally a good idea, to name a group in such a way that it is possible to see which resources (forums) are controlled by this group by looking at it's name.
Controls the resources (forums) that the group permissions will be applied to, it is possible for a group to control multiple resources.
Groups can inherit permissions from other groups, this allows you to select from which group, the current group should inherit it's permissions from.
An example of how permission inheritance works can be found here.
This control whether or not this group will be able to affect the permissions of the resources assigned for to this group for all of the anonymous and registered users. This is a particularly dangerous option since it can be used to grant or take away permissions from a large group of users simultaneously.
Misuse of this option, can for example block access to all registered users to all of the forums controlled by this group if used improperly.
These are the actual permissions of the group, they control the maximum allowed permissions for the group leaders and regular users belonging to this group.
Each permission can have 3 values:
Yes, indicates that the members of this group are allowed perform this action
No, indicates that the members of this group are NOT allowed to perform this action
Inherit, indicates that the group inherits it's permissions from the parent group, as specified in the 'Inherit From' option.
The administrator can add/remove regular users from a group by clicking on the 'Manage Users' link located near each group or by using the 'Group(s) Manager' link on the forum's pages.
The group system allows a creation of conflicts by design, consider the following situation
You created a group named G1 which allows members to READ messages inside forum F1, and created a leader U1 in that group.
Now you create a group called G2, which allows members to post messages inside forum F1 and made U1 the leader of the group.
Now you have a conflict of permissions, because both G1 and G2 control the same resource and have the same user in them, so which permissions should the forum give U1? posting or viewing?
What will happen in reality, is that forum will grant group leader U1 both READ and POST permissions to the forum F1 because the logic for the group leaders is additive. Which means, that the highest possible permissions will be granted to a group leader.
This works opposite for normal users, if U1 was a normal user (i.e. NOT a group leader) then the logic would have been subtractive, that is, since is the permissions wouldn't have been added. U1 would have ended up without READ and POST permissions.
This control panel allows the administrator to send an e-mail message to all the registered users.
FUDforum 2.3 allow the administrator to define user ranks that will be assigned to users once they reach a certain number of posts. This control panel allows the administrator to define those ranks.
Each rank is normally a text string, however the administrator may choose to have the rank represented by an image or a combination of an image and text.
This field contains the text that would be displayed beside the names of all the forum users who have attained this rank.
This field may contain raw HTML.
If you wish the rank to be represented by an image enter the name of the image inside this textbox. The images that you wish to use in combination with rank's should be placed inside the forum's images directory, which can be found inside WWW_ROOT.
If you have chosen to have rank represented by an image, you may give this image preference over the user's avatar, that way only 1 image is displayed, or vise versa. You may also choose that both the avatar and the rank image will be displayed.
Below the rank editor form, there is a list of all the current ranks in the forum. You may choose to edit or delete the ranks by clicking on the appropriate link beside each rank.
After making any modifications you MUST run the 'Cache Rebuilder' by clicking on the link at the top of the Rank Manager form.
Theme Manager is the heart of the FUDforum's templating system, this control panel allows the administrator to add/edit and remove theme that are available. The users will be able to choose a theme of their choice from the ones available via their profile.
The first part of the control panel allows the administrator to add or edit a theme + language combination, this combination is what the users will see as the theme options in their profile menu.
This select allows the administrator to choose the template set, which will be used with this theme.
This select allows the administrator to specify the language, which will be used with this theme.
Locale is the setting FUDforum will export to PHP making php automatically format various strings such as dates according to certain language/country. This field is automatically filled in using JavaScript when you select the language, however you can change the value manually if you believe you have a better alternative to the one offered.
If you are unsure of what this option does, it is better to leave the default value as the locale setting.
On most *NIX computers you can see the list supported locales by executing this command: locale -a
This options allows the administrator to select the language pack that pspell will use when spell checking messages posted by users who use this particular theme. This option will automatically have its value filled in when you choose a language.
You can disable the spell checker for a particular theme by clicking on the disable link found on right on the option or removing the value of the option.
Allows the administrator to specify whether or not this theme is default. Default theme, will be the theme that would be selected by default in the user's profile.
Allows the administrator to specify whether or not this theme is enabled. If the theme is enabled, forum users will be able to choose to use this theme via their profile.
The next form, 'Create Template Set', allows the administrator to create a new template set that later can be selected from the Theme Option inside the theme editor.
To create a new template set, simply enter the name you wish to assign to the theme into the text box and click on the 'Create' button.
At the bottom of the control panels there is a list of all the available themes with a number of clickable links allowing the administrator to administer the available themes.
Clicking this link will load this theme into the theme manager, allowing the administrator to edit this theme.
Clicking this link will recompile the theme. This link should be used after any manual modifications to the theme's template, source or message files.
This utility will compact the PHP compiled php files created during theme building removing comments, formatting etc... Doing this will result in a slight performance boost since it will make the PHP code parsing easier hence faster and reduce the memory footprint of the script.
FUDforum 2.3 has a complete templating system that allows the administrator to customize and change the appearance of their forum in it's entirety.
When you access the template editor you are presented with a form that allows you to choose for which theme & language you are editing the templates for.
This control panel offers a web interface to the templates, allowing the administrator to change the templates via their browser. This is generally intended for quick changes and/or fixes, if you intend to do a complete layout redesign we recommend changing the templates (*.tmpl files inside the tmpl directory for each theme) with your text editor of choice.
The template editor shows the administrator a list of all the available templates that make up the various forum pages. clicking on the red + link beside each template it will expand the template, showing all the sub-templates that make up this page.
The primary page template has a light purple color, this template defines how the page and it's elements will be constructed. The other sub-templates, which are colored black define the various page elements that make up the page. Beside some templates who's name may not explain their purpose you can find green explanation text that will tell you the purpose of the template.
If you click on the template, the template's data will be loaded in to a text area allowing you to edit the template. The template's data is mostly comprised of raw HTML with certain template tags representing the dynamic data that will be inserted into the template.
The following, are the non HTML template entities that can be found inside the template.
{MSG: msg_key} Reference to a message inside the i18n messages file.
{VAR: var_key} PHP variable
{DEF: var_key} PHP define
{VAR-HTML: var_key} PHP variable that will be encoded using htmlspecialchars() function
{VAR-URL: var_key} PHP variable that will be encoded using urlencode() function
{TEMPLATE-DATA: var_key} Template's data which is stored in a variable.
{TEMPLATE: tmplate_name} Include template with the specified name here
{DATE: var_key date_format} Print date based on var_key passing the date_format as the date's format to strftime() function
{ALT-VAR: alt_name key1 key2 ...} Color alternator, it will alternate the colors specified as key#
If you edit the tmpl files manually you will also come across the {REF: template_file_name} tag. This tag tells the template compiler to include the source of the said file when generating the page you are editing. The compiler then will inline the file when its generating this page.
To save your changes, click on the 'Save Changes' button, this will not only save your changes but also recompile the template putting the changes you've made live. So, that you will be able to see how those changes altered the layout of the page.
If you wish edit to content of the text shown on the page, click on the 'Edit Text Messages', which will allow you to edit all of the text messages used on this page using the Message Editor.
After making manual modifications to the template(s), be sure to recompile the theme using those templates via the Theme Manager to activate your changes.
FUDforum 2.3 included i18n support, which allows the administrator to easily pick a language other then English for their forum. The i18n supports also makes it extremely easy to translate the forum into languages that are not yet included in the main distribution.
The i18n support is accomplished by keeping all of the text displayed on the forum in a special file, which can be edited via this control panel or manually with a text editor.
If you are introducing major changes or translating a forum in to another language you're probably better off making the modifications using a text editor rather then the web control panel. If you do translate the forum to another language keep in mind that in accordance with the GPL license you MUST provide us, FUDforum Development Team, with the translated text.
When you access the message editor you are presented with a form that allows you to choose which message file you want to edit and for which theme this message file is for.
The message editor displays a color coded view of the templates and their corresponding messages. It also indicated which files utilize each template.
Below is the explanation for the color codes used in the message editor.
Red Template name, clicking on this link will pull up a form with all the messages inside this template, allowing you to edit them.
Green Indicated a particular message. Clicking on this link will allow you to edit this message.
Brown These links are shown below the templates (in red) that are used by other templates. Clicking on this link will change your browser's focus to that template.
When you click on the 'Edit' button available on the message edit form, your changes will be saved to the message file and the forum will be recompiled to using the new data you've entered.
After making manual modifications to the message file, be sure to recompile the theme using this message file via the Theme Manager to activate your changes.
This control panel allows the administrator to manage the smilies/emoticons supported by the forum.
At the top of the Smiley Manager control panel there is an upload control allowing the administrator to upload images from their hard drive that can be used as smilies.
Clicking on the 'Browse' button will open a dialog window using which an image can be selected. Once that is done, clicking the 'Upload' button will upload the image to the server placing it inside the smilies directory.
Once a smiley is uploaded, it's name will automatically be inserted into the 'Smiley Image' textbox and the preview of the smiley will be visible in the 'Preview Image'.
This >Smilies Management control panel allows the administrator to add or edit existing smilies. At the time of editing all of the smiley's properties will be loaded into this control panel so that they may be edited.
This text will appear in the alt tag of the smiley image, which would be shown if a user holds their mouse above the smiley image. For people using text only browsers this description will appear instead of the smiley image.
In this text field you enter the special code(s) that will be replaced by the smiley. You can enter more then one code by separating the codes with the ~ character.
The codes specified in the 'Smiley Text' option will be replaced with this image. You may choose the image from the available smilies by clicking on the 'SELECT ICON' link, which will pop-up a window will all the smiley images in the forum. You can choose the image you want by clicking on it.
The preview of image you've selected in the 'Smiley Image' option.
The preview will not appear if you manually enter the image filename in the 'Smiley Image' option.
At the bottom of the 'Smiley Manager' there is a list of all the smilies that are supported by the forum. Beside each smiley there are 3 control links allowing the administrator to change the smiley settings.
When clicked, this link will load the smiley information into 'Smilies Management' control allowing the administrator to edit smiley's properties.
Clicking on this link will remove the smiley from the system.
The image will still be on the server, so that messages which use it will not have broken images in them. The image itself can be deleted manually via the shell or FTP and can also be removed via the forum's file manager.
Clicking this link will allow the administrator to change the position of the smiley. Normally the smilies are displayed in the order they are added in to the system. This is important if you have more smilies then you want to display shortcuts to on the post forms as defined by the Maximum Smilies Shown option in the global control panel.
If that is the case only the first 'Maximum Smilies Shown' number of smilies will be shown on the post form and for the rest the user will need to click on a special link.
This control panels allows the administrator to add and remove forum icons. Forum icons are images that the administrator can choose to display beside each forum that they create.
This control panel allows the administrator to add and remove message icons. Message icons are images that the users may choose to use as icons of the messages that they post.
This form allows the administrator to approve any URL & Uploaded avatars that forum users wish to use.
If the uploaded image has greater dimensions then the ones specified as allowed and mogrify tool is available the administrator may choose to scale the image down to maximum allowed dimensions by clicking on the 'Fix It' link.
Allows the administrator to manager built-in forum avatars. These images can be used by the users as their avatars, unlike the URL & Uploaded avatars these do not require administrator's approval before they are activated.
At the top of the Avatar Manager form there is an upload control that would allow the administrator to upload new avatar in to the system.
To select the image, click on the 'Browse' button, which will open a file selection dialog using which the administrator may choose an image from their drive that will be uploaded.
Once the image is selected, clicking on the 'Upload' button will upload the avatar. Once uploaded, the file name of the avatar will appear inside the 'Avatar Image' text box and preview of the avatar will be available inside the 'Preview Image' control.
Avatar Management form, which appears below the avatar upload form allows the administrator to edit and add avatars. During editing the avatar's values are inserted in to the form to allow for easy editing.
A short description of the avatar, this text will appear below the avatar on the user's avatar selection form.
The filename of the avatar, you can choose an avatar from the list of available images by clicking on the adjacent 'SELECT AVATAR' link.
At the bottom of the page there is a list of all the available avatars. Beside each avatar there is an edit and delete link allowing the administrator to edit this avatar's properties or delete it all together.
Allows the administrator to block people with a matching e-mail address from posting messages on the forum. It would also prevent people who's e-mail matches the filter, from registering on the forum.
Use this filter if you are entering a specific e-mail address. ex. [email protected]
Use this filter if you want to use regular expression masks to match the e-mail address'. This is very useful if you want to block all people from a certain ISP. ex. .*@aol\.com filter would block all people who's e-mail address ends with @aol.com
Internally this function uses preg_match() to evaluate the regular expression.
The regular expression filter can also be used to block all email address', with the exception of those containing some sort of a special string or coming from a particular domain.
Let take this situation for example, you need to setup a forum that would only allow registrations of students and staff of a university. There is a slight complication however, while each student has an email address @university.edu, the staff e-mail address vary between @staff.university.edu and @university.on.ca. Regular expression to the rescue, by using regular expression and FUDforum's special prefix '#' you can easily accomplish this tasks as the example below demonstrates.
Example 1.6.
#.*?@(university\.edu|staff\.university\.edu|university\.on\.ca)$
By entering the code above, you will be able to restrict user registrations to people who's email accounts are on the university.edu, staff.university.edu or university.on.ca domains.
Allows the administrator to block people with a matching ip address' from posting messages on the forum.
The IP address can be entered in 2 ways:
Complete IP The full IP of the user, ex. 111.11.1.111 would block all user's who's IP is 111.11.1.111
IP Mask You can enter an IP mask that would block a whole range of IP addresses
ex. 22.23.24. IP mask would block all users who's first 3 IP elements are 22.23.24 or more commonly known as 22.23.24.0/24 mask.
ex. 24.*.21.22 IP mask would block all users who's 1st IP element is 24 and the last 2 IP elements are 21.21
Allows the administrator to block people with a matching login name from registering and posting messages on the forum.
This option uses regular expression, so you can enter masks in this field. ex. .*fool.* would block people who's login contain the text fool.
Allows the administrator to specify which files types can be attached to forum messages. This is done by entering specifying the allowed file extensions.
If no file extensions are listed then ANY file can be attached.
This option allows the administrator to generate a backup of all the forum data that is stored on disk and in MySQL. If PHP's gzip module is available the administrator may choose to compress the backed up data, to save drive space.
To allow for easy automated backups of the forum, this form also supports authentication via HTTP. The example below demonstrates how to make a daily backup on the forum.
Example 1.7. Automated Forum Backup Script
echo -e 'submitted=1\n&compress=1\n&path=/home/user/forum/backup/FUDforum_'`date +%Y%m%d`'.gz' | lynx http://YOUR_FORUM_URL/adm/admdump.php?do_http_auth=1 -auth=ADMIN_LOGIN:ADMIN_PASS -post_data
The parameters that are piped to the lynx utility represent the POST data. There are 2 arguments that you can change.
compress whether or not to compress the backup. By default this option is set to 1, meaning that the archive will be compressed using zlib. If you wish to disable compression, change the value of this option to 0.
path This represents the full path on your harddrive where the backup file will be written to. It is imperative that the user and/or group web-server runs as, has write access to that directory.
The other two options are ADMIN_LOGIN, ADMIN_PASS, which represent the login and password of the admin account. Since this is sensitive information, I highly recommend that you ensure other users on the server cannot read this file. For example, if you placed your backup code inside the shell script that would be executed by cron, make the shell script's permissions 500, thus only allowing the root user and yourself to read and execute it.
Needless to say the YOUR_FORUM_URL should be replaced with your forum's URL.
Table of Contents
FUDforum 2.3 has a number of tools that are available to moderators and administrators in regard to managing users and messages, this section covers those tools and gives tips on how to use them to their maximum potential.
When referring to 'privileged users', this section refers to users who are moderators, administrators and to the users who have been granted permission pertaining to a certain ability using the groups permissions system if a relevant permission is available.
This link will only be visible to the forum's administrator(s) should there be any custom avatars pending approval. Beside the link there will be a red number indicating the number of avatars that are pending administrative approval. Clicking on the link would take the administrator to the avatar approval form allowing them to approve or decline the avatar.
If the avatar is approved or declined, the user who had requested this avatar will be notified via a private message if private messaging system is enabled or via e-mail about the status of their avatar.
This link will be visible if there are any messages pending approval in moderated forums. Beside the link there would be a red indicator showing the number of messages awaiting approval. Clicking on the link would take the moderator to a control panel where they would be able to see all of the messages that are pending approval and either approve or delete those messages by using 'Approve' and 'Delete' links found on that page.
This option is ONLY be visible to the administrator(s) and forum moderators who moderate the forums that have unapproved messages in them.
This link will be visible if there are any reported messages. Reported messages are messages that a forum user has chosen to report to the forum administration for whatever reason, as part of the report form the user will be required to enter a reason for the message report so that the administration staff knows why this report was made.
Clicking on the reported messages link will take the moderator to a special page where the moderator can review the reported message as well as reason for the report. From that page the moderator may choose to delete the report and/or take some action in response to the report.
This option which is visible to all privileged users beside each topic on the topic view (thread.php) allows them to move the topic to a different forum. Clicking on the link will open a pop-up window with a list of all the available forums.
If the user in question has permission to move the topic to the destination forum then the topic will be moved to their forum of choice once they click on that forum.
Otherwise beside the forum there will be a 'request a move' link. Clicking on this link will allow the moderator to request that the topic be moved to another forum, the form will allow the moderator to enter their reasoning behind their request. It will then be up to the administrator(s) or the moderator(s) of the destination forum to approve or decline the request via the Topic Exchange.
This link will be visible if there are any move topic requests pending as well as indicate how many of those requests are pending. Clicking on the link would take the moderator to a page where they'll be able to see the move request and either accept or decline the move topic request made by another moderator.
Deletion of a topic is an action, which can be performed by privileged users by clicking on the delete link beside each topic on the topic listing, or by clicking on the delete button of the root (1st message in the topic) message.
Privileged users can edit the content as well as the subject of the message posted in forums in which they have edit privileges.
Unless the Show Edited By Moderator is set to no, messages edited by privileged users will be marked as such.
Split topic link, which is visible to privileged users when they are viewing the content of the topic allows for splitting of a topic in to two separate topics. This is mostly done to allow the forum staff to move off topic discussions that have wondered in to a relevant topic.
When clicked, the link would take the privileged user to a control form where how the topic will be split can be specified.
At the top of this form there is a textbox where the name of the new topic will be specified as well as a drop down box with a list of forums where the new topic will be placed. Below these controls there are two buttons allowing the privileged user to split the selected or the non-selected messages.
All the messages in the topic are listed on the 'Split Topic Control Panel', the messages can be selected by marking the checkbox, which is located to left of every message.
Clicking on the 'Split selected messages' button would then split all the selected messages or if the 'Split non-selected messages' button is clicked then all the non-selected messages will be moved to a new topic.
Privileged users may lock and unlock topics using a link available on the topic contents page. Locked topics prevent regular users from being able to post replies in the topic.
When privileged users post new topics or replies to existing topics they may lock topic by marking the 'Topic Locked' checkbox. The topic will be automatically locked once the post is made.
Privileged users may create topics and mark them as 'Sticky' or 'Announcements'. Such topics will be displayed at the top of topic listing regardless of their age until they reach their expiration date as defined by the privileged user.
This functionality is available on the post form to all privileged users.
All moderators and administrators will be able to see the IP address of message authors. Clicking on the IP address will open a page, which will show the information about that user's ISP.
This control panel allows the administrator(s) and group leader(s) to add and remove users from the various groups as well as alter the permissions of those users.
If the user can manage more then one group then a list of all the groups that they can manage will be shown allowing them to choose a group to edit.
The form also includes a control allowing for addition/editing of users in the group as well as specifying their permissions, the editable permissions contain drop downs with 'Yes/No' toggles allowing the group manager to grant or take away the permission from the user.
Below is the explanation of the permissions that can be granted or removed using the groups system.
The ability to edit messages posted by other users.
Normally they users can only edit their own messages.
The ability to create Sticky/Announcement topics.
Whether or not the user may vote on the polls in the forum.
This option will ALWAYS be set to NO for anonymous users, since their uniqueness cannot be determined reliably.
Whether or not the user can attach file(s) to their messages.
If the number of allowed file attachments for the forum is set to 0, then even if this option is set to 'Yes' users will not be able to attach files.
Whether or not a user can rate topics inside the forum.
This option will ALWAYS be set to NO for anonymous users, since their uniqueness cannot be determined reliably.
The ability to split topics.
The ability to lock & unlock topics in the forum.
Users with this ability will also have the ability to post replies in locked topics.
The ability to move or request that a topic be moved to another forum.
If enabled, the user's emoticon tags will be converted to equivalent smiley images during the posting process.
Whether or not this user may use FUDcode's [img] tags in their code.
If the maximum allowed images per message option is set to 0 this option will have no affect.
Table of Contents
FUDforum 2.3 is easily upgradeable to the next stable or development release via an upgrade script that can be freely downloaded from FUDforum's website. The upgrade script is a single file, that once run via the web browser, will upgrade your existing forum to the release for which the upgrade script was downloaded for.
Each time an upgrade script runs it creates/updates a special file, UPGRADE_STATUS inside the errors directory. This file will prevent the same upgrade script from running twice or running of an upgrade script that will attempt to upgrade a forum to a version older then the current one. If you find it necessary to run the same upgrade script more then once, use the file manager to remove this file before running the upgrade script.
Announcements about new FUDforum releases as well as list of major changes done in the release can be found on FUDforum's support forum, the detailed changelog is also available.
To upgrade from 2.X or 1.9X to the latest stable or development release is a very easy process that can be accomplished in a few minutes by following the steps outlined below.
You can download the latest stable or development release from the FUDforum's download page, the upgrade scripts are always available in 3 compression formats: bzip2, gzip and zip.
The upgrade script to the latest stable release can be found under the 'Upgrade from 1.9.8+ & 2.0+ to FUDforum [version number]' sub-heading. The upgrade script to the latest development release can be found under the 'Upgrade from 1.9.8+ & 2.0+ to FUDforum [version number] (Development Release)' sub-heading.
If you wish to get an upgrade script to the very latest development release, you can do so via FUDforum's anonymous CVS, by doing the following:
Example 1.1. Downloading FUDforum upgrade script from CVS
cvs -z3 -d :pserver:[email protected]:/forum21 checkout fud21_upgrade Once the files are retrieved, run the following commands to create the upgrade script cd fud21_install chmod 644 upgrade.php chmod 755 create_file_list ./create_file_list install 1>> upgrade.php
You will need to have php binary installed on your system in order to generate the install.php installation script. If you already have a php binary in your system, but it is not inside /usr/local/bin/php, modify the 1st line inside the install.php script to reflect the proper path of the php binary on your system.
If you want a smaller install script and have php compiled with zlib module, you can pass a 2nd argument to the create_file_list script, which would compress the archive data. This will result in a file that is approximately 1/3 the size.
Now that you have the upgrade script on your server, decompress it and place it inside your forum's main web directory, so that you can access the upgrade script by going to http://you_forum_url/upgrade.php
Now that the upgrade script has been positioned, open the http://you_forum_url/upgrade.php URL with your web browser, this will begin the execution of the upgrade script. The script will output various progress indicators, letting you know of what is it doing at the moment.
If you have output buffering enabled or using buffering modules such as mod_gzip you may not see any output of the upgrade script until it finishes.
Upon the completion of the upgrade script, you will need to run a consistency checker to rebuilt various caches and verify consistency of your forum's data. The upgrade script will try to automatically to run the consistency checker by popping up a new window using JavaScript. If for some reason such window does not appear click on the 'MUST click here' link, which will execute the consistency checker in the current window.
Once the consistency checker finishes running, the upgrade process is complete. The only thing left to do, is to remove the upgrade.php script you've placed inside the forum's web directory in the 1st step.
Because of the many differences between the 1.X and 2.X series FUDforum, there is a special script you need to use to upgrade. This upgrade script will convert from version 1.2.8 to 2.0.2.
It is very important that you make sure that your old forum is running version 1.2.8, other wise the upgrade script will fail. If you see that your forum is older, you will first need to upgrade to version 1.2.8 before continuing to upgrade to 2.0.2.
This upgrade script is available from the FUDforum's download page in 3 compression formats: bzip2, gzip and zip.
The links to download this script can be found under the 'Upgrade from 1.2.8 to FUDforum 2.0.2' sub-heading.
Now that you have the upgrade script on your server, decompress it and place it inside your forum's main web directory, so that you can access the upgrade script by going to http://you_forum_url/upgrade.php
Now that the upgrade script has been positioned, open the http://you_forum_url/upgrade.php URL with your web browser, this will begin the execution of the upgrade script. The script will output various progress indicators, letting you know of what is it doing at the moment.
If you have output buffering enabled or using buffering modules such as mod_gzip you may not see any output of the upgrade script until it finishes.
Upon the completion of the upgrade script, you will need to run a consistency checker to rebuilt various caches and verify consistency of your forum's data. The upgrade script will try to automatically to run the consistency checker by popping up a new window using JavaScript. If for some reason such window does not appear click on the 'MUST click here' link, which will execute the consistency checker in the current window.
Once the consistency checker finishes running, the upgrade process is complete. The only thing left to do, is to remove the upgrade.php script you've placed inside the forum's web directory in the 1st step.
You should also consider upgrading from 2.0.2 to the later stable release if one is available by following instructions in the Upgrading 2.X and 1.9X series FUDforum section of the manual.
If you find that you are running a FUDforum release older then 1.2.8 you will need to upgrade your forum to version 1.2.8 before you can perform any other upgrades.
This upgrade script is available from the FUDforum's download page in 2 compression formats: bzip2 and gzip.
The download links for the upgrade scripts are: update-v1.2.8.php.tar.bz2 update-v1.2.8.php.tar.gz
Now that you have the upgrade script on your server, decompress it and place it inside your forum's main web directory, so that you can access the upgrade script by going to http://you_forum_url/update-v1.2.8.php
Now that the upgrade script has been positioned, open the http://you_forum_url/update-v1.2.8.php URL with your web browser. You will then need to enter the full path on the disk where the GLOBALS.php file can be found. Once you've entered the forum submit the form, which will begin the upgrade process. The script will output various progress indicators, letting you know of what is it doing at the moment.
If you have output buffering enabled or using buffering modules such as mod_gzip you may not see any output of the upgrade script until it finishes.
Upon the completion of the upgrade script, you will need to run a consistency checker to rebuilt various caches and verify consistency of your forum's data. The upgrade script will try to automatically to run the consistency checker by popping up a new window using JavaScript. If for some reason such window does not appear click on the 'MUST click here' link, which will execute the consistency checker in the current window.
Once the consistency checker finishes running, the upgrade process is complete. The only thing left to do, is to remove the update-v1.2.8.php script you've placed inside the forum's web directory in the 1st step.
Once you've upgraded to version 1.2.8 you can now upgrade to the 2X series FUDforum.
Table of Contents
In most cases allowing users to enter HTML inside their message is impractical for security and stylistic reasons, FUDforum 2.3 offers a large set of it's own formatting tags that will internally be converted to HTML. Thus preventing users from compromising security by inserting hostile JavaScript in to their messages and intentionally or unintentionally breaking the layout of the forum.
Majority of the FUDcode tags can be easily accessed via a toolbar at the top of the post form, which allows the user to use the tag without necessarily knowing how the tag itself works.
users who use Internet Explorer 5.0+ browsers have an additional feature, if they select the text and then click on the toolbar option for a particular test styling element, then that text styling will be applied to the selected text. As JavaScript support in other browsers improves this feature may be available in other browsers as well.
This section will discuss and demonstrate the various tags supported by FUDcode.
The following tags allow the user to transform their text in a certain fashion.
Text between the [b] and [/b] tags will be made bold using the HTML's <b> tag.
ex. [b]bold text[/b] will be converted to <b>bold text</b>The result will look something like this: bold text
Text between the [i] and [/i] tags will be italicized using the HTML's <i> tag.
ex. [i]italic text[/b] will be converted to <i>italic text</i>
Text between the [u] and [/u] tags will be underlined using the HTML's <u> tag.
ex. [u]underlined text[/u] will be converted to <u>underlined text</u>
Text between the [sub] and [/sub] tags will be subscripted using the HTML's <sub> tag.
ex. [u]subscript text[/u] will be converted to <sub>subscript text</sub>The result will look something like this: subscript text
Text between the [sup] and [/sup] tags will be superscripted using the HTML's <sup> tag.
ex. [sup]superscript text[/sup] will be converted to <sup>superscript text</sup>The result will look something like this: superscript text
The user may specify the color of the text by using the [color] tag, which can accept a hex value representing the color or a color name parameter.
ex. [color=red]red text[/color] will result in <font color="red">red text</font> HTML.
The user may specify the font size of the text by using the [size] tag, which can accept a numeric font size ranging from 1 (smallest) to 7 (greatest).
ex. [size=5]big text[/size] will result in <font size="5">big text</font> HTML.
The user may specify a font that will be used to render their text by using the [font] tag, which can accept a font name, or a font group as a parameter.
ex. [font=arial]arial font[/font] will result in <font face="arial">arial text</font> HTML.
The user may also specify the alignment of their text by using the [align] tag with a left,right or center parameter.
ex. [align=center]centered text[/align] will result in <div align="center">centered text</div>
The user may use those tags in combination with each other as the example below demonstrates.
Example 2.1. Using Multiple Text Styling Tags
[b]Bold [i]Bold Italics [u]Bold, Italics and Underlined[/u] [color=red]Red, Bold and Italics [sub]Red, Bold, Italics and Subscript[/sub] [/color] [/i] [/b]
will be converted to:
<b> <i>Bold Italics <u>Bold, Italics and Underlined</u> <font color="red">Red, Bold and Italics <sub>Red, Bold, Italics and Subscript</sub> </font> </i> </b>
FUDcode allows the user to create ordered and un-ordered lists using the FUDcode [list] tag.
Ordered list will have it's items sequentially numbered by the browser. The user may specify what numbering scheme will be used to identify the the items in the list. Below is the list of the supported parameters for the ordered list.
[list type=A] The items in the list will be indicated by upper case letters of the alphabet from A to Z.
[list type=z] The items in the list will be indicated by lower case letters of the alphabet from a to z.
[list type=1] The items in the list will be indicated by numbers from 1 to infinity.
[list type=I] The items in the list will be indicated by upper case Roman numerals.
[list type=I] The items in the list will be indicated by lower case Roman numerals.
Internally FUDforum 2.3 will convert ordered lists to <ol> tags with an appropriate parameter.
Example 2.2. Ordered List
[list type=I] [*] Item one [*] Item two [*] Item three [/list]
will be converted the HTML below:
<ol type="I"> <li> Item one <li> Item two <li> Item three </ol>
which will rendered like this:
Item one
Item two
Item three
Unorderdered lists are lists where each item bears no distinguishing mark from another item on the list. There are several types unordered lists that the user can choose form, they are listed below.
[list type=disc] Items will be indicated by a shaded circle.
[list type=circle] Items will be indicated by a non-shaded circle.
[list type=square] Items will be indicated by squares.
[list] tag without a parameter, will be automatically converted to a [list type=disc] by default.
Example 2.3. Unordered List
[list type=square] [*] Item one [*] Item two [*] Item three [/list]
will be converted the HTML below:
<ul type="square"> <li> Item one <li> Item two <li> Item three </ul>
which will rendered like this:
Item one
Item two
Item three
FUDcode allows the user to enter URL and e-mail links in to their messages using the [url] & [email] tags.
A basic link can be created in a following fashion:
ex. [url]http://fud.prohost.org/[/url] will be converted to <a href="http://fud.prohost.org/">http://fud.prohost.org/</a> by the FUDcode parser.
To enter a link with a description other then the URL itself, the user may use the [url] tag in the following fashion:
ex. [url=http://fud.prohost.org/]FUDforum Homepage[/url] will result in <a href="http://fud.prohost.org/">FUDforum Homepage</a> HTML being generated.
FUDcode parser will also convert valid URLs into links by using functionality similar to the basic link.
ex. http://fud.prohost.org/ will be converted to <a href="http://fud.prohost.org/">http://fud.prohost.org/</a> by the FUDcode parser.
A basic e-mail link can be created in a following fashion:
ex. [email][email protected][/email] will be converted to <a href="mailto:[email protected]">[email protected]</a> by the FUDcode parser.
To enter a e-mail link with a description other then the e-mail address itself, the user may use the [email] tag in the following fashion:
ex. [[email protected]]Click Here to Send an E-mail[/email] this will result in <a href="mailto:[email protected]">Click Here to Send an E-mail</a> HTML being generated.
FUDcode parser will also convert valid e-mail address' into e-mail links by using functionality similar to the basic e-mail link.
ex. [email protected] will be converted to <a href="mailto:[email protected]">[email protected]</a> by the FUDcode parser.
FUDcode allows the user to embed images inside their messages using the [img] tag, since embedding of many images can potentially slow down the page the administrator may choose to set a limit on how many messages the users may include inside their messages by using the Maximum Number of Images option.
The most basic way to embed an image is to use the simple [img] tag in the following fashion:
ex. [img]http://mydomain.com/myimage.jpg[/img] which will result in <img src="http://mydomain.com/myimage.jpg" alt="http://mydomain.com/myimage.jpg"gt; HTML being generated.
If the user wishes to specify their own description for the image, which will be placed inside the 'alt' parameter of the HTML's image tag they may use [img] tag in the following fashion:
ex. [img=http://mydomain.com/myimage.jpg]My Image[/img] which will result in <img src="http://mydomain.com/myimage.jpg" alt="My Image"gt; HTML being generated.
The user may use special tags, which allow them to format large blocks of text in a certain fashion, there are three tags, which allow this type of formatting, [code], [quote] and [spoiler].
This tag is generally used to display program source code within the body of the message. The text between the [code] and [/code] tags will be left as is and not formatted in any way. No other FUDcode tags will be applied to this text as well.
Internally [code] tag will be converted to it's HTML equivalent <pre> tag.
ex. [code]Example of the bold tag [b]Bold Text[/b][/code] will result in <pre>Example of the bold tag [b]Bold Text[/b]</pre> HTML being generated.
Quote tag is generally used automatically by the forum, to surround the text of the message the user is replying to. It can also be used by the user manually to format their text.
The most basic way to use the quote tag is to simply surround the text which is being quoted with the [quote] tags in the following manner:
ex. [quote]Quoted Text[/quote] will result in the following HTML <table border="0" align="center" width="20%" cellpadding="3" cellspacing="1"> <tr><td class="SmallText"><b>Quote:</b></td></tr> <tr><td class="quote">Quoted Text<br></td></tr> </table>
The user may also use a slightly more advanced version of the quote tag, which permits the specification of a title for the quoted text. This can be done in the following manner:
ex. [quote title="My Title"]Quoted Text[/quote] will result in the following HTML <table border="0" align="center" width="20%" cellpadding="3" cellspacing="1"> <tr><td class="SmallText"><b>"My Title"</b></td></tr> <tr><td class="quote">Quoted Text<br></td></tr> </table>
This is a very interesting and unique tag, which allows the user to hide portion of their text, so that if other users wish to see it. they would need to click on the 'Reveal Spoiler' link.
This tag is most useful on sites where users may want to post movie or story spoilers and have a way to hide their text so as to not spoil the story/movie for other readers who have not seen/read it yet.
To hide a text string using the spoiler tag, the user will need to place the text between the [spoiler] and [/spoiler] tags in the following fashion:
ex. [spoiler]Movie Spoiler[/spoiler] will result in the following HTML <div class="dashed" style="padding: 3px;" align="center" width="100%"> <a href="javascript://" OnClick="javascript: layerVis('1147217758771422496', 1);">Reveal Spoiler</a> <div align="left" id="1147217758771422496" style="visibility: hidden;">Movie Spoiler</div> </div>
Table of Contents
Should you come across a bug inside FUDforum 2.3 or a typo in the documentation please take a moment of your time and report it to the development team via Support Forum or by sending an email.
To ensure that your bug is solved quickly please include as much information as possible about the bug itself as well as your system configuration. Also, check on the Support Forum if any similar bugs were already posted and if a solution is already available in the later release or in the CVS.
Please include any warning & error messages that occurred as the result of bug. If you had not received any such messages, please verify you php configuration to see that such errors would be displayed. This can be done make making sure that display_errors option is turn on and your error_reporting option is set to E_ALL^E_NOTICE (2039) or greater.
If the bug results in broken functionality please clearly explain the problem caused by the bug.
You should always include the URL of the page where the bug had occurred even if the URL is not accessible via the Internet. The URL would let us know which page caused the problem and what variables may have been responsible for the problem you've experienced.
A good bug report should also include information about the system on which the bug had occurred. The optimal way to get this information is by including the output of PHP's phpinfo() function in your bug report by making a small test script like this:
If you cannot send us the phpinfo() output, please include the information shown by the System Info admin form as well as information about your browser.
Version 2, June 1991
Copyright © 2000 Free Software Foundation, Inc.
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.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software - to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps:
copyright the software, and
offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.
If the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
You may copy and distribute the Program (or a work based on it, under Section 2 in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program 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.
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions of the General Public 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.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
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.
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.
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.
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’.
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.
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.
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.
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.
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’.
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.
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.
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.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
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.
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.
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.
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.
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:
A. 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.
B. 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).
C. State on the Title Page the name of the publisher of the Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
F. 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.
G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. 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.
J. 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.
K. 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.
L. 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.
M. Delete any section entitled “Endorsements”. Such a section may not be included in the Modified Version.
N. Do not retitle any existing section as “Endorsements” or to conflict in title with any Invariant Section.
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.
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.
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.
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 .
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.
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.
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.’
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.
You may extract a single document from such a collection, and dispbibute 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.
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. 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.
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.
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.
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/.
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.
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright © YEAR YOUR NAME.
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 the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled “GNU Free Documentation License”.
If you have no Invariant Sections, write ‘with no Invariant Sections’ instead of saying which ones are invariant. If you have no Front-Cover Texts, write ‘no Front-Cover Texts’ instead of ‘Front-Cover Texts being LIST’; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.