Note: You are currently viewing documentation for Moodle 3.3. Up-to-date documentation for the latest stable version of Moodle is probably available here: AuthMoodle.

AuthMoodle

From MoodleDocs
Revision as of 02:56, 4 June 2008 by Luke Hudson (talk | contribs) (added link to MediawikiSSO)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

AuthMoodle.php

(See also MediawikiSSO)

quoting Martin's instructions based on the root folder of the wikimedia installation:

Save it in extensions/AuthMoodle.php.
Then you just put this in LocalSettings.php:
 require_once( 'extensions/AuthMoodle.php' );
 $wgAuth = new AuthMoodle();
 $wgAuth->setAuthMoodleTablePrefix('');
 $wgAuth->setAuthMoodleDBServer('yoursite.org');
 $wgAuth->setAuthMoodleDBName('yourdb');
 $wgAuth->setAuthMoodleUser('yourdbuser');
 $wgAuth->setAuthMoodlePassword('yourdbpass');
 

Bugs with AuthMoodle in mediawiki 1.7

  • preferences are no longer sticky (they pretend to save but don't really save)
    fix: disable this if in includes/SpecialPreferences.php around line 290:
/*
if (!$wgAuth->updateExternalDB($wgUser)) {
    $this->mainPrefsForm( wfMsg( 'externaldberror' ) );
    return;
}
*/ 
  • if the moodle database prefix is different from the mediawiki database prefix must match (or be blank)
    fix: edit the function tableName in includes/Database.php around line 1310 and 1313:
function tableName( $name ) {
   global $wgSharedDB, $wgAuth;
   # Skip quoted literals
   if ( $name{0} != '`' ) {
       if ( $this->mTablePrefix !==  &&  strpos( '.', $name ) === false 
            && strpos ($name, $wgAuth->mAuthMoodleTablePrefix) === false ) {
  • for mediawiki 1.7, I had to change line 33 to includes/AuthPlugin.php and comment out line 223-226 (refers to a non-existent function)

See also