MediaWiki: Auth_phpBB

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Beitrag von rkern »

@Domber: Ich konnte den Fehler rauspatchen, indem ich folgende Änderung gemacht habe: :grin:

Datei extensions/Auth_phpBB.php Zeile 113

Ersetze

Code: Alles auswählen

        mysql_close( $database_id );
durch:

Code: Alles auswählen

        //mysql_close( $database_id );
sollte hoffentlich keine Nebenwirkungen haben, ausser dass die Datenbank-Verbindung erst zum Ende des Skripts abgebaut wird.

mfg Ralph
Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
Torment0r
Mitglied
Beiträge: 12
Registriert: 04.01.2004 16:39
Wohnort: Herrenberg

Beitrag von Torment0r »

hallo ralf,

vielen dank. nach dem ersten tip hatte ich auch den anderen fehler, aber nun läuft es.

nachtrag: es klappt erst beim zweiten mal anmelden, beim ersten mal kommt ne fehlermeldung.

Fatal error: Call to a member function on a non-object in /webseiten/wiki/includes/SpecialUserlogin.php on line 276


und er nimmt keine namen aus dem phpbb mit _ im nick
Domber
Mitglied
Beiträge: 11
Registriert: 02.06.2005 03:27

Beitrag von Domber »

He Ralph,

Du bist der Held des Abends ... vielen Dank, das war das Rätsels Lösung.
Worauf man auch achten sollte:

Die WikiDB und die PHPBB-DB sollte eine Datenbank sein und nicht 2 verschiedene. Das gab bei mir gleich "Database blabal not found" usw.

Ralph, wie biste drauf gekommen?
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Beitrag von rkern »

knapp 30 Jahre Erfahrung mit Software-Entwicklung bringt es mit sich, dass man sich in kurzer Zeit in fremden Quellcode reinfinden muss...

freut mich, dass es nun auch bei Euch funktioniert.

Ein Tipp noch: per phpMyAdmin in der wiki-user-Tabelle den Namen des Sysops ändern resp. in der user_right-Tabelle die Zugriffsrechte anpassen.

Sonst solltet Ihr aufpassen, wenn Ihr demnächst einen phpBB-User WikiSysop findet.

mfg Ralph
Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
Domber
Mitglied
Beiträge: 11
Registriert: 02.06.2005 03:27

Beitrag von Domber »

He Ralph,

danke für den Tip. Hab ich bereits gemacht. ;-)
Ähh, ich hätte da noch ein Problem: Wenn ein User z.b. den ungewöhnlichen Namen "nicht Übertreiben" hat, also Leerzeile und noch nen Umlaut Ü drinne kann er sich nicht einloggen.
Was kann man tun ? Benutzernamen ändern?
Benutzeravatar
Wuppi
Mitglied
Beiträge: 734
Registriert: 14.05.2002 23:04
Wohnort: Köln
Kontaktdaten:

Beitrag von Wuppi »

Hi


wie ich so lese, klappts bei euch ja - nur lese ich auch, das ich doch einige Probleme bekommen könnte:
Hab ja schon nen Wiki mit über 100 Usern - teilweise gleiche wie im Forum, teilweise mit Unterschieden ... da werde ich wohl nen Problem bekommen ...

Und dann hab ich ja noch das Problem mit 2 DBs ...

Schade eigentlich ... die idee wäre gut - aber leider wohl von den falschen Moddern entwickelt - kein Support kommt schon klasse ...

Gruß
Wuppi
okieh
Mitglied
Beiträge: 44
Registriert: 23.08.2002 08:29
Kontaktdaten:

Beitrag von okieh »

Wuppi hat geschrieben:Hi

der Autor des Mods ist zwar hier Mitglied, hat aber meine PN nicht abgerufen - auf der HP steht auch keine Mail - super ...

Ich kanns aktuell nicht testen - denke in 2-3 Wochen - hab von Forum und Wiki ne Testversion auf 2 Subdomains. Da kann ja nichts schief gehen ...

Gruß
Wuppi
hi wuppi,

habe deine beiträge hier schon ne weile verfolgt, weil sehr interessant, insbesondere dein numispediaprojekt interessiert mich (technisch ;)), da werd ich mich sicher noch an dich wenden.

also, ich war auch an dem mapmod interessiert, bin aber, da das bananeweizen forum zu ist, auf eine uU für euch interessante variante gestoßen. geomap.
ich habs bei mir installiert, läuft wunderbar, reibungslose installation, features sind nett.

könnt ja mal die karte ansehen unter
www.modellbauwiki.de

die soft ist runterzuladen unter
http://forum.newscenterx.de/programming ... file_id=16
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ich werde mich auch mal vertiefen in das Thema und bald hoffentlich auch ein funktionstüchtiges Mediawiki zum Laufen bringen. hier noch ein andere Idee zu diesem Thema:

http://www.phpbb.de/viewtopic.php?t=94425

Welche Version des Mediawiki ist denn die Voraussetzung oder läuft der Mod mit der aktuellsten Version? Dann welche V 1.4.7 oder 1.5Beta?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Beitrag von rkern »

Bei mir läuft der phpBBAuth-Mod mit der Version 1.4.7. Auf die 1.5 Beta bin ich nicht umgestiegen, da ich vorsichtig bin.

mfg Ralph
Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ok wunderbar. funktioniert.

http://wiki.maxrev.de

hier nochmal die komplette Auth_phpBB.php:

Code: Alles auswählen

<?php
/**
 * Auth_phpBB authorization plugin for MediaWiki.
 *
 * This plugin allows login into MediaWiki only if the user already exists in phpBB 2.0 database.
 * An account in MediaWiki is created automatically on first login (needed by MediaWiki software)
 * and the email for the MediaWiki account is set to the email of the phpBB account.
 * All other account creation in MediaWiki is disabled.
 *
 * Attention: This extension works only if phpBB uses mysql as database system!
 *
 * Copyright: Michael Keppler, http://www.bananeweizen.de
 * License: GPL
 *
 * Installation:
 * 1) copy this file into the MediaWiki subdirectory "extensions" (should exist already)
 * 2) add the following line at the end of LocalSettings.php:
   require_once( 'extensions/Auth_phpBB.php' );
 * 3) edit the configuration section 6 lines below this line
 * 4) go to Special:Allmessages and edit the message "nosuchuser" (remove the part about account creation)
*/

/* 
 * Configuration section start
*/
$wpPathTophpBB='../';  //path from MediaWiki directory to phpBB directory
$extraAuthCondition='';	//you may use extra conditions like "u.user_posts >= 100"

/*
 * Configuration section end
 *
 * The following is no user configuration anymore.
 * Don't change these values.
*/

//include base class
require_once( 'AuthPlugin.php' );

//disable all account creation in MediaWiki (this is needed to remove the form fields for account creation)
$wgWhitelistAccount['user'] = 0;
$wgWhitelistAccount['sysop'] = 0;

//include phpBB configuration to get the database connection parameters
require($wpPathTophpBB.DIRECTORY_SEPARATOR.'config.php');

class Auth_phpBB extends AuthPlugin {
	
	/* check for existence of username */
	function userExists( $username ) {
		global $table_prefix;
		return $this->phpBBExists(
			"SELECT username
			FROM ${table_prefix}users
			WHERE username='$username'");
	}
	
	/* check for username and password */
	/*conditions for successful login:
	- user exists
	- password is correct
	- user account is activated
	*/
	function authenticate( $username, $password ) {
		global $table_prefix;
		if ($this->userExists( $username )) {
			$query = "SELECT username
				FROM ${table_prefix}users u
				WHERE u.username='$username'
				AND u.user_password='".md5($password)."'
				AND u.user_active=1";
			if ($extraAuthCondition!='') {
				$query = $query . ' AND ' . $extraAuthCondition;
			}
			return $this->phpBBExists($query);
		}
		return false;
	}
	
	/* always create local account (seems to be needed for MediaWiki) */
	function autoCreate() {
		return true;
	}
	
	/* only allow logins authenticated by phpBB database */
	function strict() {
		return true;
	}

	/* user account initialization: copy email from phpBB to MediaWiki */
	function initUser( &$user ) {
		global $table_prefix;
		$mail = $this->phpBBQuery(
			"SELECT user_email
			FROM ${table_prefix}users
			WHERE username='".$user->getName()."'");
		if (is_array($mail)) {
			$user->setEmail( $mail[0] );
		}
	}
	
	/* private function for getting some value from the phpBB database */
	function phpBBQuery($query) {
		global $dbhost, $dbname, $dbuser, $dbpasswd;
		$value = false;

		$database_id = mysql_connect( $dbhost, $dbuser, $dbpasswd );
		mysql_select_db( $dbname, $database_id );
        $query_result = mysql_query($query);
        if ( ( $query_result != false ) &&  ( mysql_num_rows ( $query_result ) > 0 ) ) {
			$value = mysql_fetch_row ( $query_result );
		}
		
//        mysql_close( $database_id );
        return $value;
	}

	/* private function to check for existence of dataset in phpBB database */
	function phpBBExists($query) {
		return $this->phpBBQuery($query) != false;
	}
}

// create authorization plugin instance
$wgAuth = new Auth_phpBB();
?>
dann ein paar Fragen noch:
okieh hat geschrieben: könnt ja mal die karte ansehen unter
www.modellbauwiki.de
ist das richtig, dass ich sogar als gast deine seiten bearbeiten kann?
rkern hat geschrieben:Bei mir läuft der phpBBAuth-Mod mit der Version 1.4.7. Auf die 1.5 Beta bin ich nicht umgestiegen, da ich vorsichtig bin.

mfg Ralph
Ich habe mich mal in Deinem Forum registriert. Was ich unkomfortabel finde, ist dass das Wiki bzw. das phpBB anscheinend unterschiedliche Cookies verwendet. Also man sich jeweils einloggen muss. Wie könnte man das noch vereinfachen. Hast du da eine Idee?

Wie sieht das denn bei wiki aus. kann da jeder, jede Seite editieren? Oder habe ich als Admin noch "Rechte" ;)

http://wiki.maxrev.de

Ich kann ja schlecht jede Seite einzeln "schützen" bzw. wenn ein User unfähr wäre könnte er ja "ungeschützte" Beiträge einfach löschen oder nicht?

Auch gefällt mir derzeit das mit der Einstellungsseite nicht. Dort werden Daten angegeben wie E-Mail-Adresse, Passwort, etc. Die Felder sind aber leer. Welche Daten werden dort abgerufen?

Die Registrierung zu entfernen finde ich nicht passend. Besser fände ich eine Weiterleitung auf das "normale" Forum zu verwirklichen.

Auch bin ich etwas verwirrt. Wer ist denn alles Admin auf dem Wiki? Geht das nach phpBB Rechten oder wie bestimmt man dort Admin's bzw. Moderatoren? Denn ich kann ja auf den Spezialseiten einen neuen Admin festlegen. Nur welche Userdatenbank wird dann da verwendet :-?

Wuppi hat geschrieben: Ich kanns aktuell nicht testen - denke in 2-3 Wochen - hab von Forum und Wiki ne Testversion auf 2 Subdomains. Da kann ja nichts schief gehen ...

Gruß
Wuppi
Bei Dir scheint ja soweit alles zu gehen auch die Short Urls Funktion. Die bekomme ich nicht zum Laufen.

Wenn ich diesen Part in die .htaccess einfüge kommt ein internal server error:

Code: Alles auswählen

RewriteMap ampescape int:ampescape
Hast du auch diesen Mod dafür genommen?
http://meta.wikimedia.org/wiki/Using_a_very_short_URL
Zuletzt geändert von mgutt am 05.08.2005 16:07, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „Coding & Technik“