ggFTW

ggFTW (http://ggftw.com/forum/)
-   Wiki Discussion (http://ggftw.com/forum/wiki-discussion/)
-   -   MediaWiki/vBulletin SSO Plugin (http://ggftw.com/forum/wiki-discussion/11550-mediawiki-vbulletin-sso-plugin.html)

NoeJeko 09-30-2008 01:50 PM

MediaWiki/vBulletin SSO Plugin
 
MediaWiki/vBulletin Single Sign-On

Current Version: 2.1.0

Overview:
This hack provides single sign-on capability for MediaWiki using your vBulletin users. You must ensure your cookie path in Admin CP is set to '/' for this to work. Also, I have not tested this if your wiki and your forums are on different subdomains - but as long as your have your cookie domain set properly it *should* work. This is not a user bridge - it is a complete single sign-on using your vBulletin user repository.

The install process has been extremely simplified in version 2.x of this product. You only have to edit LocalSettings.php, import a product, and change a setting in your Admin Control Panel. It's been completely packaged as a vBulletin product - unlike the previous hacked up version, heh. I didn't originally plan to release this so I designed it so it worked - not so it could be redistributed. I searched high and low for a functional MediaWiki bridge - almost bought NuHIT's product, and then realized it had been abandoned for over a year.

This hack requires an edit to class_core.php. Hopefully, I can get around this in future versions of vBulletin but it must exist for now. If you fail to make this change, you will not be able to edit your wiki. Also, if you upgrade vBulletin, you must remember to re-apply the change to class_core!

I'll do my best to support it, but I can make no promises.

Demo of plugin in action: MyMMOGames - Multiplayer Gaming and Media Community

Also, if you use memcached - ensure you do not cache sessions. If you do, restart it at least once a week. If you don't, you'll end up with invalid session errors out of MediaWiki.

Requirements:
MediaWiki Version: 1.12.0+
vBulletin Version: 3.7.0+ (has also been tested on 3.6.9)

Features:
- Provides single sign on capability between vBulletin and Mediawiki. vBulletin user repository is used
- Configurable sysop/bureaucrat groups
- Configurable disallowed user groups
- Configurable "Who's Online" display
- Counts users viewing wiki in vBulletin's "Who's Online"

Installation/Upgrade:
Please read the included "readme.txt" file in the "docs (do not upload)" folder.

Options:
Admin Control Panel->vBulletin Options->MMOG Wiki Options

Change Log:
1.0.0.0 - Sep 18, 2008
- Initial Release

1.0.3.0 - Sep 29, 2008
- Bugfix: Incorrect redirects for login/logout

2.0.0.0 - Sep 30, 2008
- Feature: Streamlined installation procedure
- Feature: Wiki path set in ACP
- Bugfix: Forum paths no longer hardcoded

2.1.0 - Oct 4, 2008
- Feature: ACP option to use MediaWiki Short URLs
- Feature: ACP option to set sysop groups
- Feature: ACP option to set bureaucrat groups
- Feature: ACP option to disallow login to certain groups
- Feature: ACP option to change WOL display text

AuthPlugin was inspired by and modified from this existing MediaWiki Extension:

http://www.mediawiki.org/wiki/Extension:QISSingleSignOn

Forum admins, please report bugs here. You can also find a download for the product here; I cannot host it on MMOG due to vBulletin license restrictions:

MediaWiki/vBulletin Single Sign-On - vBulletin.org Forum

MMOG Members, please use this thread for bugs regarding the wiki SSO as you cannot see some things on vBulletin.org without a valid vB license.

NoeJeko 10-04-2008 05:02 PM

Version 2.1.0 of this product has been released.

Kabuto 12-16-2008 06:38 PM

Thank you very much!! Just what I needed!!
That's truly a great addon.
Currently it supports bridge for sysop & bureaucrat.
One thing you could add is support for custom wiki usergroups.

I have a lot of custom usergroups in my wiki like halfops or vip. How could I add a bridge for them please?

Kabuto 12-16-2008 07:47 PM

I think I figured how to add more custom groups

In your wiki create a group Custom (respect the case)

edit "product-mmog_wiki.xml"

before

Code:

                        <phrase name="settinggroup_mmog_wiki" date="1222796687" username="MMOG" version="2.0.0.0"><![CDATA[MMOG Wiki Options]]></phrase>
add

Code:

                        <phrase name="options_options_mmog_wiki_custom_ug_text" date="1223157636" username="MMOG" version="2.0.1.0"><![CDATA[Enter the usergroups you wish to map to Wiki Customs, separated by commas (<em>i.e. 6,7</em>).]]></phrase>
                        <phrase name="options_options_mmog_wiki_custom_ug_title" date="1223157636" username="MMOG" version="2.0.1.0"><![CDATA[Custom Usergroups]]></phrase>

before

Code:

                        <phrase name="settinggroup_mmog_wiki" date="1222796687" username="MMOG" version="2.0.0.0"><![CDATA[MMOG Wiki Options]]></phrase>
add

Code:

                        <phrase name="setting_mmog_wiki_custom_ug_desc" date="1223157636" username="MMOG" version="2.0.1.0"><![CDATA[Enter the usergroups you wish to map to Wiki Customs, separated by commas (<em>i.e. 6,7</em>).<br /><br />Defaults to Customs.]]></phrase>
                        <phrase name="setting_mmog_wiki_custom_ug_title" date="1223157636" username="MMOG" version="2.0.1.0"><![CDATA[Custom Usergroups]]></phrase>

before

Code:

                </settinggroup>
        </options>
        <helptopics>

add

Code:

                        <setting varname="mmog_wiki_custom_ug" displayorder="7">
                                <datatype>free</datatype>
                                <defaultvalue>9</defaultvalue>
                        </setting>

replace the number 9 for your custom group id in the forum!!

re-import the product and check "allow overwrite"


edit AuthPlugin_vBSSO.php (in wiki/includes/ )

after

// Check Sysop Groups

add

Code:

                        $mmog_customgroup = explode( ',', str_replace( ' ', '', $vbulletin->options['mmog_wiki_custom_ug'] ) );

                        foreach ( $mmog_customgroup as $customgroup ) {
                            if ( is_member_of( $vbulletin->userinfo, $customgroup ) ) {
                                $user->addGroup( 'Custom' );
                                break;
                        }  }

(respect the case)


I HAVEN'T TESTED BUT IT SHOULD WORK, LET ME KNOW IF IT DOESN'T WORK PLEASE

Kabuto 12-16-2008 08:36 PM

it is me again sorry for triple post :py25:

I have tested the above code with mediawiki 1.12.0 & vB 3.6.12 & it works perfect!

Now I have a request if you will allow me:

In the wiki sql table there
a user.user_editcount value

How can I display this value in the vB postbit of the user ?

Medoria 12-16-2008 09:42 PM

Hey Kabuto - thanks for your interests in this plugin! NoeJeko is currently in Germany on a trip so I'm not sure he'll be around for a while to answer your questions.

Kabuto 12-17-2008 01:20 AM

Thank you Medoria

While awaiting I have done a bit of research, I think I am close but I failed to write the query properly, so here is as far as I went:

PRODUCT_PLUGIN.xml

Code:

<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="wiki_usereditcount" active="1">
        <title>Wiki Edit Count</title>
        <description>This addon shows the number of wiki edits each user has on the thread postbit, and their profile.</description>
        <version>0.0.8</version>
        <codes>
        </codes>
        <templates>
        </templates>
        <plugins>
                <plugin active="1">
                        <title>MemberInfo Wiki Edit Count (Total Wiki Edits)</title>
                        <hookname>member_customfields</hookname>
                        <phpcode><![CDATA[$wiki_editcount = ???? ]]></phpcode>
                </plugin>
                <plugin active="1">
                        <title>ShowThread Wiki Edit Count (Total Wiki Edits)</title>
                        <hookname>postbit_display_start</hookname>
                        <phpcode><![CDATA[$wiki_editcount = ???? ]]></phpcode>
                </plugin>
        </plugins>
        <phrases>
                <phrasetype name="GLOBAL" fieldname="global">
                        <phrase name="wiki_usereditcount">><![CDATA[Wiki Edits]]></phrase>
                </phrasetype>
        </phrases>
        <options>
        </options>
</product>

then in the templates, where you want the number of wiki edits to appear, add

Code:

$vbphrase[wiki_usereditcount]: $wiki_editcount
???? are the missing parts

I am sure NoeJeko will be capable to figure out a proper query. So I am waiting amxiously his return!!! :py39: :py38:

jfusiontest 01-04-2009 10:07 PM

Great vBulletin / MediaWiki integration.

One small issue.

When I try to "Register for your site" via the wiki's Log in / create account - they are the same URL. And I can't seem to create an account that way.

I suggest either
(1) remove the words "create account"
(2) redirect "create account" to forums registration.

Now I do suppose most people are registering from the forums anyway ... but NOT everyone !

Especially as your wiki grows.

Otherwise ... great great job !

NoeJeko 01-04-2009 10:20 PM

My apologies for this, I didn't see any replies to this thread =[

Please keep any requests that involve code to vbulletin.org - I do not have mechanisms in place here to verify vBulletin licenses and it is against their policy to post code in the open. I'll be glad to address any of these solutions there; my username on vb.org is the same as it is here. Please keep in mind that this plugin is handled in my spare time; I do my best to offer support on it but I do have other things I must prioritize.

Danb 09-29-2011 05:00 AM

Hello, Thanks for the awesome plugin. Unfortunately, it seems it needs to be modified to make it compatible with the latest release of MW:

Fatal Error while upgrading from 1.16.5 to 1.17 - MediaWiki


Anything I can do to help?

Cheers,
Dan.


All times are GMT -7. The time now is 05:35 PM.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.