This is something I did today for personal use, but have no desire to finish. Wiki integration hacks are a hot item these days, not much is out there.. This is a simple integration with
PMWiki, it forces users be logged into vBulletin to edit wiki pages.
Because of the great community around pmwiki, there was already instructions posted on their site pmwiki.org on how to do simple integration. I have only modified the code found on this page to work with vBulletin, I also set the log-in pages up so they redirect back to the page the user was trying to edit. If anything is to come of this code I encourage you to share it with our community, and the guys over at pmwiki.org. I'm sure they would appreciate it!
Instructions
Create a new file named vb_users.php, populate it with this code:
PHP Code:
<?php
// vBulletin intergration.
$vb_pageid = strpos($_SERVER['REQUEST_URI'], "?action=edit");
if (is_numeric($vb_pageid))
{
define('CWD', '/path/to/vbulletin');
require_once(CWD . 'global.php'); // path to vB's global.php
// is user logged into vBulletin?
if (!$vbulletin->userinfo['userid'])
{
print_no_permission();
}
}
?>
Save it to pmwiki's /local/ directory.
Edit pmwiki's /local/config.php file, add this near the end:
PHP Code:
$DefaultPasswords['edit'] = ($vbulletin->userinfo['username']) ? '' : '*';
$Author = $vbulletin->userinfo['username'];
Open the file pmwiki.php,
Find:
PHP Code:
error_reporting(E_ALL ^ E_NOTICE);
Below that add:
PHP Code:
require_once('./local/vb_users.php');
Open the file /wikilib.d/Site.EditForm
Find:
Replace with:
Now go to the vBulletin admin cp, edit the STANDARD_ERROR template,
Find:
HTML Code:
<script type="text/javascript" src="clientscript/vbulletin_md5.js"></script>
<form action="login.php" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, $show[nopasswordempty])">
Replace with:
HTML Code:
<script type="text/javascript" src="http://www.mysite.com/path/to/forum/clientscript/vbulletin_md5.js"></script>
<form action="http://www.mysite.com/path/to/forum/login.php" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, $show[nopasswordempty])">
Edit as needed. Now when they log-in they go right back to the page they were trying to edit!
Idea tank -
1) Clean up template edit
2) Custom usergroup permissions for wiki (edit, viewing pages, etc)
3) Tie vB accounts to admin functions in wiki (admin permissions).
4) Edit wiki templates from admin cp
5) wiki discussions sent to forums
6) when a user profile is linked in the wiki, link to vB's member.php instead.
Hope this gives someone a start, have fun with it.