HaveFnu BB ! - Developper - Machinery

The Content of HaveFnuBB!

8 HaveFnuBB! modules + 3 integrated

  • HaveFnuBB
    • HaveFnuBB : the main module of he project
    • HFnuAdmin : the admin of HaveFnu BB!
    • HfnuContact : the module to send an email to one contact
    • HfnuInstall : the install module
    • HfnuRates : the module to rate a thread
    • HfnuSearch : the Search Engine module
    • HfnuThemes : the Theme module
    • ServInfo : The module to get info about the server
  • jCommunity project
    • jCommunity : the Authentication WorkFlow Module
    • jMessenger : the Private Messaging module
  • jBlog project
    • jTags : the module to "tag" his post

7 HaveFnuBB! plugins + 1 integrated

  • coord
    • banuser : to check if user can access to the forum
    • flood : to check if user can access post as fast as he want or not
    • hfnuinstalled : to check if forum is installed
    • timeout : to check if the user is still online
    • jGoogleAnalytics : to add the Google Analytics feature (from Loïc Mathaud)
  • tpl
    • age : to display the age of the user
    • hook : hook to extends features of the forum see HookSystem
    • phpinfo : to display all info about php

HaveFnuBB ! Variables

to be able to access to all the config of HaveFnubb, use :

$!gJConfig->havefnubb

for example :

global $gJConfig;
$title = $gJConfig->havefnubb['title'];

to retreive the title of the forum

The Config Files

defaultconfig.ini.php

[havefnubb]
title="HaveFnuBB!"
description="Where Everything is Fnu"
version=1.0
rules="The rules of the Forum are the following ..."
admin_email="admin@localhost.com"
url_check_version="http://www.havefnubb.org/last_version"
avatar_max_width=60
avatar_max_height=75
installed=1

posts_per_page=10
replies_per_page=10
members_per_page=25
stats_nb_of_lastpost=3
post_max_size=1000

flood.coord.ini.php

elapsed_time_between_two_post_by_same_ip=60

elapsed_time_after_posting_before_editing=60

; What to do if a right is required but the user has not this right
; 1 = generate an error. This value should be set for web services (xmlrpc, jsonrpc...)
; 2 = redirect to an action
on_error=2

; action to execute on a missing authentification when on_error=2
on_error_action_same_ip="havefnubb~flood:sameip"
on_error_action_editing="havefnubb~flood:editing"

banuser.coord.ini.php

; What to do if a user is banned 
; 1 = generate an error. This value should be set for web services (xmlrpc, jsonrpc...)
; 2 = redirect to an action
on_error = 2

; action to execute when a user is banned when on_error=2
on_error_action = "havefnubb~banuser:index"

havefnu.search.ini.php

; Weight of the result of search
search_subject_weight=1
search_content_weight=2
search_tag_weight=3

; dao from which you read the datas you want to 'inject' in search_index table
; for example :
; dao = wiki~wiki, cms~news, ticket~bug
; then you will have to create 3 sections at bottom of the file 
; [wikiwiki]
; index_subject=name
; index_message=text
; [cmsnews]
; index_subject=title
; index_message=body
; [ticketbug]
; index_subject=summary
; index_message=description

dao = "havefnubb~posts"

; a list of method that can be use to perfom search, like "searchIn" + Authors , or Forums, or Words, or what ever
; have a loot at search_in.class.php
perform_search_in = words,forums,authors

; specify the "jelix path" of the class that extends
; the class search_index and overwrites the function searchEngineRun
; this busines class is the only one you will have to write yourself 
; to get the datas - see the class hfnusearch~search_index_havefnubb and function searchEngineRun
classToPerformSearchEngine = hfnusearch~search_index_havefnubb

; this section tell to HfnuSearch, which column of my DAO are the one i want to use to populate the Search Engine
; the section name is the DAO name WITHOUT the ~ !!!
[havefnubbposts]
index_subject=subject
index_message=message

timeout.coord.ini.php

timeout_connected=300
timeout_visit=300

dao_connected="havefnubb~timeout"
dao_member="havefnubb~member"

wikitoolbar.ini.php

use to produce a Toolbar arround the textarea of the message

[wikitoolbar]
default.engine.name = wr3
; path to the engine file
default.engine.file = markitup/jquery.markitup.pack.js
; define the path to the "internationalized" file to translate the label of each button
default.config.path = markitup/sets/wr3/
; define the path to the image of buttons of the toolbar
default.image.path = markitup/sets/wr3/images/
default.skin = markitup/skins/simple/style.css