IRC-Chat (pjirc), nick, passwort

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

IRC-Chat (pjirc), nick, passwort

Beitrag von makue »

Hallo,

einen Chat in das PHPBB zu integrieren finde ich nicht schlecht. Für mich kommt aus diversen Gründen nur ein IRC in Frage. Pjirc macht einen guten Eindruck und wenn man sich mal durchliest was die alles noch realisieren wollen, sieht das wirklich gut aus.

Ich habe hier schon diverse Themen über Chateinbindung gelesen, allerdings fand ich nichts zu meinem konkreten Problem.

1. Ich möchte gern Usernamen + Passwort(!) aus dem PHPBB übernehmen. Eventuell mit einem Extra Klartext-Passwort-Feld in der Datenbank. Falls ein User mit diesem nick schon online ist muss versucht werden, ob man seinen eventuell registrierten nick mit "recover" freigeben kann. Ganz so wichtig ist diese Option nicht, man kann nickserv ja so einstellen, dass so ein User nach einer Minute den von anderen registrierten nick verliert.

2. Ein neuer Chatbesucher sollte sich bei nickserv identifizieren, falls der nick nicht registriert ist, sollte er das an dieser Stelle werden.

3. Ich möchte gern im Board anzeigen, wie viele User derzeit im Chat sind.

Vollen Zugriff auf den IRC-Server habe ich, ich könnte da also ein Script installieren, was die Useranzahl im Chat ermittelt. Ich bin selbst bereit an einer Lösung mitzuarbeiten, falls es noch keine dafür gibt. Ich bin daher für jeden kleinen Tipp dankbar.
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Also, das mit Anmeldung und Passwort habe ich hinbekommen. Eine andere Frage: Hat jemand ein SubSilver Color-Set? Also die default-Farben passen nicht richtig zum SubSilver.
Benutzeravatar
exhale
Mitglied
Beiträge: 224
Registriert: 10.02.2004 17:45
Wohnort: Middelhesse
Kontaktdaten:

Beitrag von exhale »

wie hast du dsa gemacht?
wer aufräumt is zu faul zum suchen :)
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Anmeldung: Ich benutze den nick aus der Datenbank und versuche über die JavaScript-Schnittstelle des Applets, mittels nickserv den nick zu registrieren. Dann hinterher noch ein identify, falls der nick schon registriert war. Bzw. noch ein "release", falls ein anderer den Nick benutzt.

Dass mit dem Passwort konnte ich leider nur mit einem zusätzlichen Passwort im Klartext ändern. Habe halt ein Klartext-Passwortfeld zur User-Tabelle hinzugefügt und bei jedem einloggen wird das neu geschrieben. Hier mal das, was ich in der chat.php ergänzt habe:

Code: Alles auswählen

if (strlen($userdata['user_irc_pass'])>1) {
	$nickserv  = "/msg nickserv ghost ".$userdata['username']." ".$userdata['user_irc_pass'].";";
	$nickserv .= "/msg nickserv release ".$userdata['username']." ".$userdata['user_irc_pass'].";";
	$nickserv .= "/nick ".$userdata['username'].";";
	$nickserv .= "/msg nickserv register ".$userdata['user_irc_pass']." ".$userdata['user_email'].";";
	$nickserv .= "/msg nickserv identify ".$userdata['user_irc_pass'].";";
	$nickserv .= "/join ".$board_config['irc_channel'].";";
}	
$userdata['irc_commands'] = $nickserv.$userdata['irc_commands'];
Falls es Dich noch interessiert wie ich das Passwort schreibe, kann ich das gern auch noch posten.
Benutzeravatar
exhale
Mitglied
Beiträge: 224
Registriert: 10.02.2004 17:45
Wohnort: Middelhesse
Kontaktdaten:

Beitrag von exhale »

wohin soll ich das in der datei einfügen? einfach rein irgendwo oder?
wer aufräumt is zu faul zum suchen :)
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

nach dem $template->assign_vars-Block, also nach:

Code: Alles auswählen

	'SOUND_BEEP' => $board_config['irc_sound_beep'],
	'SOUND_QUERY' => $board_config['irc_sound_query'])
);
Aber bedenke, so allein bringt das noch nichts. Das Passwortfeld muss noch in die User-Tabelle "phpbb_users" (user_irc_pass varchar(32)). Anschließend in der login.php nach diesem Code:

Code: Alles auswählen

				if ($row['user_badlogin']<$board_config['max_login_error'] || $row['user_blocktime']<time() )
				{				
					if( md5($password) == $row['user_password'] && $row['user_active'] )
					{
dies einfügen:

Code: Alles auswählen

						$sql = "UPDATE " . USERS_TABLE . " SET user_irc_pass='".$password."'
							WHERE username = '" . str_replace("\'", "''", $username) . "'";
						if ( !($result = $db->sql_query($sql)) )
						{
							message_die(GENERAL_ERROR, 'Error updating correct login data', '', __LINE__, __FILE__, $sql);
						}
Ich hoffe, dass das jetzt alles war. Wenn Du auf einem IRC-Server bist der keine Services wie den nickserv hat, kannst Du Dir das natürlich alles sparen!

Nachtrag: Die Passwörter der automatisch einloggenden User werden so nicht gespeichert! Ich habe mir so geholfen, dass ich einfach den Cookienamen des Boards geändert habe wonach sich alle einmal mit Passwortangabe einloggen mussten.
Antworten

Zurück zu „phpBB 2.0: Mod Support“