Log in

View Full Version : Pmwiki integration


Brad
03-25-2006, 08:43 PM
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 (http://www.pmwiki.org/wiki/PmWiki/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 (http://www.pmwiki.org/wiki/Cookbook/SimplemachinesUserSystemIntegration) 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

// 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:

$DefaultPasswords['edit'] = ($vbulletin->userinfo['username']) ? '' : '*';
$Author = $vbulletin->userinfo['username'];

Open the file pmwiki.php,

Find:

error_reporting(E_ALL ^ E_NOTICE);

Below that add:

require_once('./local/vb_users.php');

Open the file /wikilib.d/Site.EditForm

Find:

(:input e_author:)

Replace with:

{$Author}

Now go to the vBulletin admin cp, edit the STANDARD_ERROR template,

Find:

<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:

<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. :)

kallenapp
03-31-2006, 01:48 PM
Hi Brad,

my wiki is in a subdomain in a different directory from the VB. After the Login is a redirect to a wrong path.

Here the Url from the Wiki: http://wiki.nslu2-info.de
and from the VB: www.nslu2-info.de

it is redirecting to http://www.nslu2-info.de/pmwiki.php/HowTo/Allgemeines?action=edit

Any Ideas?


thx for help
Marco

VW Derf
05-21-2006, 09:36 PM
Was any work continued on this and how well does it work?

tidefans
09-23-2006, 11:57 AM
Hi Brad (and others)...

Thanks for posting this information. I'm just getting around to putting up a wiki on my site and was wondering if anyone has done anything else with this integration to pmwiki?

Or, if anyone has had any problems/success with it I or if there is a better integration solution out there. I would like to know that as well before I commit too much more time on this.

I can't get MediaWiki to upgrade properly (no matter what I do) so I am going to pmWiki as an alternative and want vb-pmwiki integration.

Anyway, please let me know if you or anyone else have worked any more on this...

thanks again!

tidefans