# Geeklog Forum Plugin Documentation

The following information explains the configuration options, autotags and templates of the Geeklog Forum plugin. For install or upgrade instructions please read the readme.html file found in the /path/to/geeklog/plugins/forum/ directory.

## Configuration

The configuration of the Forum plugin can be changed from the Configuration admin panel:

### General Forum Settings

Variable | Default Value | Description
--- | --- | ---
registration_required | 0 | When set to 1, only registered users can access the forum section.
registered_to_post | 0 | When set to 1, only registered users can create the forum posts.
allow_notification | 1 | Allow (1) or disallow (0) subscribing to post notifications. Registered users can get email notifying them of posts to forums.
show_topicreview | 1 | When set to 1, show topic review (iframe) at bottom when replying to a topic.
allow_user_dateformat | 0 | Allow (1) or disallow (0) users to define the date/time format.
use_pm_plugin | 0 | When set to 1, enable the "Private Message" plugin.
show_topics_perpage | 10 | Number of topics to show per page when viewing the forum index.
show_posts_perpage | 10 | Number of posts to show per page.
show_messages_perpage | 20 | Number of message lines to show per page when viewing messages admin screen.
show_searches_perpage | 20 | Number of records to show per page when viewing search results.
showblocks | leftblocks | Which block columns to use with the forum.
usermenu | blockmenu | The type of user menu to display. Use a Geeklog block or the navigation bar (supported by the NavMan Plugin).
use_themes_template | 0 | When set to 1, use the forum templates in the theme directory. If set to 0 the template files found within the public_html forum directory will be used. This variable is always reinitialized to 0 on every upgrade.

### Topic Posting

Variable | Default Value | Description
--- | --- | ---
show_subject_length | 20 | Maximum length in characters for the topic subject.
min_username_length | 2 | Minimum length in characters required for members name or anonymous name.
min_subject_length | 2 | Minimum length in characters required for the topic subject to post.
min_comment_length | 5 | Minimum length in characters required for the contents to post.
views_tobe_popular | 20 | Number of views required for topic to have popular rating.
post_speedlimit | 60 | Minimum delay between posts in seconds. This helps prevent Denial of Service (DoS) attacks.
allowed_editwindow | 60 | Allowed time in seconds to allow users to edit their posts.
allow_html | 1 | When set to 1, enable "HTML" mode to be used in posts. When set to 0, users will only be able to post in "Text" mode but still use bbcode.
post_htmlmode | 1 | Sets the default post mode to "HTML" (1) or "Text" (0).
convert_break | 0 | When set to 1, convert new lines to HTML <BR> tags when viewing posts.
use_censor | 1 | When set to 1, enable Geeklog's censoring feature of bad words.
use_glfilter | 1 | When set to 1, enable Geeklog's filtering feature of HTML.
use_geshi | 1 | When set to 1, enable the GeSHi (Generic Syntax Highlighter).
use_spamx_filter | 1 | When set to 1, enable the Spam-X Plugin to filter out possible spam on all posts before saving.
show_moods | 1 | When set to 1, enable Moods to be selected per post.
allow_smilies | 1 | When set to 1, enable Smilies to be used.
use_smilies_plugin | 0 | When set to 1, enable the "Smilies" plugin for handling Smilies.
avatar_width | 0 | Able to set the width of the member avatar in pixels. Default is to use the member's uploaded image and size Geeklog site has for creating this thumbnail image. If a value is defined for this setting, the forum will resize the displayed image to this defined width.

### Centerblock

Variable | Default Value | Description
--- | --- | ---
show_centerblock | 1 | When set to 1, the centerblock for the forum posts will be enabled.
centerblock_homepage | 0 | When set to 1, the centerblock for the forum posts will be enabled for the homepage only.
centerblock_numposts | 5 | The number of posts that will display in the forum centerblock.
cb_subject_size | 40 | The number of characters allowed in displayed subject of the forum centerblock.
centerblock_where | 2 | The placement of the forum centerblock on the page

### Lates Posts Block (Sideblock)

Variable | Default Value | Description
--- | --- | ---
sideblock_numposts | 5 | The number of posts to show in latestposts block.
sb_subject_size | 20 | The number of characters allowed in displayed subject.
sb_latestpostonly | 0 | When set to 1, the block will only show the latest post per topic
sideblock_enable | true | Enable block.
sideblock_isleft | 0 | Whether to display the block on the left (when set to 1) or right (when set to 0).
sideblock_order | 100 | The order the block appears in the column.
sideblock_topic_option | 'all' | Set to 'All' for block to appear on all pages. Set to 'Homepage Only' for block to appear on just the homepage. Set to 'Selected Topics' for block to appear only in Topics selected in the Topic setting.
sideblock_topic |  | The topics the block will appear for if the Topic Options is set to 'Select Topics'.
sideblock_group_id | Forum Admin | The group used by permissions.

### Rank

Variable | Default Value | Description
--- | --- | ---
level1 | 1 | The number of posts required to receive a Rank of 1.
level2 | 15 | The number of posts required to receive a Rank of 2.
level3 | 35 | The number of posts required to receive a Rank of 3.
level4 | 70 | The number of posts required to receive a Rank of 4.
level5 | 120 | The number of posts required to receive a Rank of 5.
level1name | Newbie | The name of Rank 1.
level2name | Junior | The name of Rank 2.
level3name | Chatty | The name of Rank 3.
level4name | Regular Member | The name of Rank 4.
level5name | Active Member | The name of Rank 5.

### Menu Block

Variable | Default Value | Description
--- | --- | ---
menublock_isleft | 0 | Whether to display the block on the left (when set to 1) or right (when set to 0).
menublock_order | 0 | The order the block appears in the column.

## Config.php Settings

Most of the common forum settings are available in the Geeklog Configuration but there are additional settings in the plugins config.php file. To change these settings you will have to open the forum config.php file (found in /path/to/geeklog/plugins/forum/) in your favorite text editor and update the appropriate line. We hope to move most of these eventually to the Geeklog Configuration.

### Config.php

Variable | Default Value | Description
--- | --- | ---
pre2.5_mode | true | Set to true only for sites that have updated from version 2.3.x or 2.5. If this is a clean install set to false and the forum will skip a few extra tests that are done while displaying a topic.
silent_edit_default | true | When editing a post, you have a checkbox by the Submit button. If the silent option is not checked, the posted date will be updated and notifications sent out. If checked the Edit/Save is done siliently. This config option sets the default - set to true to have this checked by default.
allow_img_bbcode | true | The BBCode tag [img] is enabled by default - set this to false to disable it.
show_moderators | false | Disabled by default for performance gains. Enable if you need to show moderators on the main forum index page - set this to true to display moderators.
autoimagetype | true | The forum uses a number of icons and you may have a need to use a mixture of image types. Setting this setting to true will invoke a function that will first check for an image of the type set in your themes function.php $_IMAGE_TYPE. If the icon of that image type is not found, then it will use an image of type specified by the $CONF_FORUM['image_type_override'] setting. Set $CONF_FORUM['autoimagetype'] to false to disable this feature and only icons of type set by the themes $_IMAGE_TYPE setting will be used.
image_type_override | gif | If the setting above is enabled and the default image type for an icon is not found - you can specify an alternative image type to use in this setting. Example 'gif' or 'jpg' are valid.
default_Datetime_format | $_CONF['shortdate']." ".$_CONF['timeonly'] | Default date/time format to use if Forum setting for allow user-dateformat is disabled. Refer to the online php manual for more info on the time format string options.
default_Topic_Datetime_format | $_CONF['shortdate']." ".$_CONF['timeonly'] | Date format that is shown at the top of of the topic post used if Forum setting for allow user-dateformat is disabled. Refer to the online php manual for more info on the time format string options.
contentinfo_numchars | 256 | Number of characters of the topic contents when hovering over the topic post subject link.
linkinfo_width | 70 | Width of pop-up info window that is displayed when hovering over topic posts. Also refer to the CSS declaration tooltip
quoteformat | [QUOTE][u]Quote by: %s[/u][p]%s[/p][/QUOTE] | Format style that will be used when using the quote feature. Also refer to the CSS decalaration quotemain
show_popular_perpage | 20 | Set the default number of records to show in the 'Popular Topics' report
show_last_post_count | 20 | Set the default number of records to show in the Members most recent forum posts report.

## Template Files

To update the layout of your Forum section, you can change the template files. Please note that they are now located in the plugin's directory under public_html, i.e. in

`/path/to/geeklog/public_html/forum/layout/`

The template files are organized by folders:

- Main templates are in the top level layout folder
- Templates for the centerblock and sideblock are located in the blocks subfolder
- The forum footer related templates are located in the footer subfolder
- Templates for most of the links like [new topic], [reply], [profile], [email] etc are themed using the templates under the links subfolder. It's possible to change these links to use images, CSS like buttons etc.
- Templates for pages that show a report if newposts, members, subscriptions etc are located in the reports folder

## Autotags

The Forum Plugin provides one autotag, `[forum:]`. You can use this autotag to display a link to a forum topic using the text 'here' as the title. An alternate title may be specified but is not required.

For example, the following autotags will translate to:

- `[forum:1234]` will be translated to: `<a href="http://www.yoursite.com/forum/viewtopic.php?showtopic=1234">here</a>`
- `[forum:1234 click to visit topic]` will be translated to: `<a href="http://www.yoursite.com/forum/viewtopic.php?showtopic=1234">click to visit topic</a>`