PhpBB Wiki Integration
From PHPBB用户手册
整合mediawiki与phpbb2
需要文件:
Auth_phpbb.php
User.php
需要修改文件:
LocalSettings.php
includes/User.php
添加
Auth_phpbb.php
User.php
至extensiosn目录
打开LocalSettings.php
添加
// This requires a user be logged into the wiki to make changes.
$wgGroupPermissions['*']['edit'] = false; // MediaWiki 1.5 Settings
// Specify who may create new accounts: 0 means no, 1 means yes
$wgGroupPermissions['*']['createaccount'] = false; // MediaWiki 1.5 Settings
// PHPBB User Database Plugin. (Requires MySQL Database)
require_once './extensions/Auth_phpbb.php';
require_once './extensions/User.php';
$wgPHPBB_WikiGroupName = 'wiki'; // Name of your PHPBB group
$wgPHPBB_UseWikiGroup = true; // This tells the Plugin to require
$wgPHPBB_UseExtDatabase = false; // This tells the plugin that the phpBB tables
$wgPHPBB_Config = 'phpbb_config'; // Name of your PHPBB config table. (i.e. phpbb_config)
$wgPHPBB_Session = 'phpbb_sessions'; // Name of your PHPBB session table. (i.e. phpbb_sessions)
$wgPHPBB_UserTB = 'phpbb_users'; // Name of your PHPBB user table. (i.e. phpbb_users)
$wgPHPBB_GroupsTB = 'phpbb_groups'; // Name of your PHPBB groups table. (i.e. phpbb_groups)
$wgPHPBB_User_GroupTB = 'phpbb_user_group'; // Name of your PHPBB user_group table. (i.e. phpbb_user_group)
$wgAuth = new Auth_PHPBB(); // Auth_PHPBB Plugin.
修改User.php文件名为BasicUser.php
打开BasicUser.php
替换所有 User() 为 BasicUser()
新建一空白文件 includes/User.php
打开includes/OutputPage.php
找到function returnToMain(
改成
function returnToMain( $auto = true, $returnto = NULL ) {
global $wgUser, $wgOut, $wgRequest;
if ( $returnto == NULL ) {
$returnto = $wgRequest->getText( 'returnto' );
}
$returnto = htmlspecialchars( $returnto );
$sk = $wgUser->getSkin();
if ( '' == $returnto ) {
$returnto = wfMsgForContent( 'mainpage' );
}
$link = $sk->makeLinkObj( Title::newFromText( $returnto ), '' );
if (preg_match('#^\.\.\/forum#si', $returnto)) {
$possible_start = substr($returnto, strpos($returnto, 'redirect=') +9);
$possible_start = str_replace('php_', 'php?', $possible_start);
$possible_start = str_replace('_', '&', $possible_start);
if ( $auto ) {
$titleObj = Title::newFromText( "" );
$wgOut->addMeta( 'http:Refresh', '1;url=' . $GLOBALS['wgPHPBB_path'].$possible_start);
}
$wgOut->addHTML( "\n<p>".$GLOBALS['wgPHPBB_path'].$possible_start ."</p>\n" );
} else {
$r = wfMsg( 'returnto', $link );
if ( $auto ) {
$titleObj = Title::newFromText( $returnto );
$wgOut->addMeta( 'http:Refresh', '10;url=' . $titleObj->escapeFullURL() );
}
$wgOut->addHTML( "\n<p>$r</p>\n" );
}
}

