Woltlab Burning Board

Configuration for authMySQL Auth plugin to authenticate with Woltlab Burning Board, which let's do:

The user role's “Administratoren” members will automatically become DokuWiki superusers with the settings below.

Tested on WBB version 3.1 and DokuWiki version 2009-12-25c “Lemming”.

Configuration

Use the Config Manager or add it to the conf/local.protected.php to store the config protected.

The database prefix in this example is wcf1_ which needs to be replaced with your own.

conf/local.protected.php
<?php
/**
 * Woltlab Burning Board configuration for MySQL Auth Plugin
 * See http://www.dokuwiki.org/plugin:authmysql:wbb for details and explanation
 */
//general settings
$conf['useacl']    = 1;              // turn on Access Control Lists
$conf['authtype']  = 'mysql';        // use MySQL back-end for WBB
$conf['superuser'] = '@Administratoren';  // WBB role that will be DokuWiki superuser
$conf['defaultgroup'] = 'Registrierte Benutzer'; // default group from the WBB which has access to the wiki
$conf['disableactions'] = 'register,resendpwd,profile';  // maintained through WBB
 
//server settings
$conf['plugin']['authmysql']['server'] = 'localhost';
$conf['plugin']['authmysql']['user'] = 'forum';
$conf['plugin']['authmysql']['password'] = 'pass';
$conf['plugin']['authmysql']['database'] = 'forum';
//$conf['plugin']['authmysql']['charset'] = 'latin1_swedish_ci';  // you may want specify the collation of WBB database
 
$conf['plugin']['authmysql']['TablesToLock'] = 'array("wcf1_user", "wcf1_user AS u","wcf1_group", "wcf1_group AS g", "wcf1_user_to_groups", "wcf1_user_to_groups AS ug")';
$conf['plugin']['authmysql']['forwardClearPass'] = '1';
$conf['plugin']['authmysql']['checkPass'] = "SELECT password AS pass
                                             FROM wcf1_user AS u
                                             JOIN wcf1_user_to_groups AS ug ON u.userID=ug.userID
                                             JOIN wcf1_group AS g ON g.groupID=ug.groupID
                                             WHERE username='%{user}'
                                               AND groupName='%{dgroup}'
                                               AND password=SHA1(CONCAT(salt,SHA1(CONCAT(salt,SHA1('%{pass}')))))";
$conf['plugin']['authmysql']['getUserInfo'] = "SELECT password AS pass, username AS name, email AS mail
                                               FROM wcf1_user
                                               WHERE username='%{user}'";
$conf['plugin']['authmysql']['getGroups'] = "SELECT groupName as `group`
                                             FROM wcf1_group g, wcf1_user u, wcf1_user_to_groups ug
                                             WHERE u.userID = ug.userID
                                               AND g.groupID = ug.groupID
                                               AND u.username='%{user}'";
$conf['plugin']['authmysql']['getUsers'] = "SELECT DISTINCT username AS user
                                            FROM wcf1_user AS u
                                            LEFT JOIN wcf1_user_to_groups AS ug ON u.userID=ug.userID
                                            LEFT JOIN wcf1_group AS g ON ug.groupID=g.groupID";
$conf['plugin']['authmysql']['FilterLogin'] = "username LIKE '%{user}'";
$conf['plugin']['authmysql']['FilterName']  = "username LIKE '%{name}'";
$conf['plugin']['authmysql']['FilterEmail'] = "email LIKE '%{email}'";
$conf['plugin']['authmysql']['FilterGroup'] = "groupName LIKE '%{group}'";
$conf['plugin']['authmysql']['SortOrder']   = "ORDER BY username";