Chat für phpbb3

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
ups
Mitglied
Beiträge: 990
Registriert: 06.12.2006 14:57
Wohnort: Basel/Freiburg Land

Beitrag von ups »

keine ahnung...
es gibt für den x7chat nen eigenen thread... suchen HIER

ups
[FINAL] Impressum Dinseprinz 0.1.8 http://www.phpbb.de/community/viewtopic ... 52&start=0
[Final] Linkverzeichnis Mod Phpbb Annuaire v0.2.1 http://www.phpbb.de/community/viewtopic ... 17&start=0
Planewalker
Mitglied
Beiträge: 2
Registriert: 08.04.2008 18:06

Beitrag von Planewalker »

Danke für den Link zur Suchfunktion, aber ich kann da nur Threads zur Integration des x7chat2 in phpBB2 finden, und die helfen mir nicht weiter.

Darum würd mich die von Jonnsn angesprochene Lösung interessieren.

Danke
Planewalker
Jonnsn
Mitglied
Beiträge: 88
Registriert: 05.02.2007 22:09

Beitrag von Jonnsn »

Sorry - das geriet mir etwas in Vergessenheit. Denke ich kanns morgen aber wieder zusammen kratzen :wink:

Edit: hier kommts

X7chat installieren wie hier beschrieben

datei "whosonline.php" im php-Root verzeichnis erstellen mit folgendem Inhalt (DB-Daten anpassen!). Man kann für die DB-verbindung sicherlich auch bestehende Codes des Boards nehmen - nur hab ich das noch nicht raus :D vlt jemand anderes?!

Code: Alles auswählen

<?
	function who_is_in_chat(){
		// MySql Information
		$user = "db_user";			// Your MySql username
		$dbhost = 'localhost';			// My SQL Host
		$pass = "db_password";			// Your MySql password
		$db = "db_name";			// Your MySql Database
		$prefix = "x7chat_";		// Your table prefix
		$expire_time = 240;	// The amount of seconds that users can be idle before they are considered offline
							// This value is setable in the X7 Chat admin panel, you must also set it here.
							// If the values do not match then the scripts may be inaccurate.
		// No more editing required

		mysql_connect($dbhost,$user,$pass);
		mysql_select_db($db);
	
		$exp_time = time()-$expire_time;
		$q = mysql_query("DELETE FROM {$prefix}online WHERE time<'$exp_time'");
		$q = mysql_query("SELECT name FROM {$prefix}online");
		$results = array();
		while($row = mysql_fetch_row($q))
			$results[] = $row[0];
		return $results;
	}
	
	function list_totals(){
		return count(who_is_in_chat());
	}
	
	function list_members($sep=", "){
		$online = who_is_in_chat();
		return implode($sep,$online);
	}
?>
Um den Chat innerhalb des normalen phpBB-Layouts anzuzeigen brauchen wir nun noch eine weitere Datei (ich hatte allerdings Probleme mit der zeichendarstellung - muss man wohl irgendwo noch das encoding-zeugs anpassen - alternativ kann man beim setzen des Links später auch direkt auf den Chat verlinken)
im phpBB root verzeichnis eine datei "chat.php" erstellen mit folgendem Inhalt:

Code: Alles auswählen

<?php
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$user->setup();
$auth->acl($user->data); 

if ($user->data['user_id'] == ANONYMOUS)
{
   login_box();
}

page_header($user->lang['CHAT']);

$template->set_filenames(array(
	'body' => 'chat.html')
);

page_footer();

?>
öffne viewonline.php
finde

Code: Alles auswählen

case 'report':
			$location = $user->lang['REPORTING_POST'];
			$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
		break;
danach einfügen:

Code: Alles auswählen

case 'chat':
         $location = $user->lang['CHATTING'];
         $location_url = append_sid("{$phpbb_root_path}chat.$phpEx");
    break;
öffne includes/functions.php
finde

Code: Alles auswählen

// Which timezone?
	$tz = ($user->data['user_id'] != ANONYMOUS) ? strval(doubleval($user->data['user_timezone'])) : strval(doubleval($config['board_timezone']));
danach einfügen:

Code: Alles auswählen

// Who is in chat?
	include_once($phpbb_root_path.'whosonline.'.$phpEx);$chat_room_users_online=list_members(", ");$chat_room_online=list_totals();
	if(empty($chat_room_users_online)){
		$chat_room_users_online = $user->lang['CHAT_NOONE_ONLINE'];
	}
finde

Code: Alles auswählen

'U_FAQ'					=> append_sid("{$phpbb_root_path}faq.$phpEx"),
davor einfügen:

Code: Alles auswählen

'U_CHAT'                => append_sid("{$phpbb_root_path}chat.$phpEx"),
finde - Achtung - Teil einer Zeile! (dahinter steht im frischen phpBB eine weitere Klammer)

Code: Alles auswählen

'SITE_LOGO_IMG'			=> $user->img('site_logo')
danach einfügen: (in der Zeile - zwischen den beiden runden Klammern - das Komma nicht vergessen!)

Code: Alles auswählen

,
		'CHAT_ROOM_ONLINE'	=> $chat_room_online,
		'CHAT_ROOM_USERS_ONLINE'	=> $chat_room_users_online,
		'CHAT_ROOM_USERS_LABEL'	=>	$user->lang['CHAT_ONLINE_LABEL']
Folgendes für jede Sprache die man will - hier Deutsch und Englisch
öffne language/de/common.php
finde

Code: Alles auswählen

'CHANGING_PROFILE'		=> 'Ändert sein Profil',
danach einfügen:

Code: Alles auswählen

	// --- X7 Chat -----------------------------
	'CHAT'                  => 'Chat', 
	'CHAT_EXPLAIN'          => 'Chat',
	'CHATTING'						=> 'Ist im Chat',
	'CHAT_ONLINE_LABEL'		=> 'Im Chat online',
	'CHAT_NOONE_ONLINE'		=> 'Zur Zeit befinden sich keine User im Chat.',
	// --- End X7 Chat -------------------------
öffne language/en/common.php
finde

Code: Alles auswählen

	'CHANGING_PROFILE'		=> 'Changing profile settings',
danach einfügen:

Code: Alles auswählen

	// --- X7 Chat -----------------------------
	'CHAT'                  => 'Chat', 
	'CHAT_EXPLAIN'          => 'Chat',
	'CHATTING'						=> 'Is in Chat',
	'CHAT_ONLINE_LABEL'		=> 'In Chat online',
	'CHAT_NOONE_ONLINE'		=> 'Currently there are no users online in Chat.',
	// --- End X7 Chat -------------------------
bezügl. templates habe ich Prosilver verwendet. SubSilver2 hab ich mir diesbezüglich nicht angeschaut - sollte ähnlich sein. Kann ich auf Anfrage gern auch nachholen, sofern ich Zeit habe ;)
öffne styles/prosilver/template/index_body.html
Anzeige der User die Online sind unten im Forum
finde - Achtung - Teil einer Zeile!

Code: Alles auswählen

<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em>
danach einfügen:

Code: Alles auswählen

<br />{CHAT_ROOM_USERS_LABEL}:&nbsp;{CHAT_ROOM_USERS_ONLINE}
Link zum Chat oben im Foren Header (evtl das href attribut anpassen, wenn man direkt auf den chat verlinken will. Das target attribut kann man weglassen, wenn man will, dass sich der Chat im selben Fenster öffnet.):
öffne styles/prosilver/template/overall_header.html
finde

Code: Alles auswählen

<ul class="linklist rightside">
danach einfügen:

Code: Alles auswählen

<!-- IF not S_IS_BOT -->
				<!-- IF S_USER_LOGGED_IN -->
				<li class="icon-minichat"><a href="{U_CHAT}" target="_blank" title="{L_CHAT_EXPLAIN}">{L_CHAT}&nbsp;({CHAT_ROOM_ONLINE})</a></li>
				<!-- ENDIF -->
				<!-- ENDIF -->
Datei "chat.html" im Ordner "styles/prosilver/template/" erstellen. folgender Inhalt (src Attribut evtl anpassen):

Code: Alles auswählen

<!-- INCLUDE overall_header.html -->
<iframe src="./x7chat/index.php" width="100%" height="600" FRAMEBORDER=0></iframe>
<!-- INCLUDE overall_footer.html -->
öffne styles/prosilver/theme/buttons.css
finde - Achtung - Teil einer zeile!

Code: Alles auswählen

.icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-search
danach einfügen:

Code: Alles auswählen

, .icon-minichat
öffne styles/prosilver/theme/colours.css
finde

Code: Alles auswählen

.icon-search					{ background-image: url("{T_THEME_PATH}/images/icon_search.gif"); }
danach einfügen:

Code: Alles auswählen

.icon-minichat					{ background-image: 
url("{T_THEME_PATH}/images/icon_mini_chat.gif"); }
Ich habe als Minichaticon dieses verwendet [ externes Bild ]
Pfad: styles/prosilver/theme/images/icon_mini_chat.gif

So ich hoffe mal nichts vergessen zu haben.
So wie das skript jetzt ist, sollte oben beim Link im Header auch die Anzahl der User stehen, die gerade im Chat sind.
Unten im Footer bei der Anzeige, wer im Forum online ist sollten die Namen der User im Chat aufgezählt werden.
Kann man alles so anpassen wie man gerne möchte.

Wenn was nicht passt - postet hier. Vlt hab ich was vergessen. Verbesserungen sind auch willkommen. :grin: bin nicht gerade der erfahrenste phpCoder ;) (wobei das hier ja auch nur anpassung war)
Polarco
Mitglied
Beiträge: 63
Registriert: 31.01.2008 11:53

Beitrag von Polarco »

Wie auch schon an anderer Stelle geschrieben habe ich das Update auf phpBB 3.0.1 gemacht.

Mein Chatsymbol wird nun aber leider nicht mehr oben angezeigt.
Damals hatte ich es nach Anleitung folgendermaßen eingebaut:

Im overall_header.html

nach:

Code: Alles auswählen

src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" alt="*" /> {L_PROFILE}</a><!-- ENDIF -->
				<!-- ENDIF -->
folgendes eingefügt:

Code: Alles auswählen

<!--Flashchat Link --> <a href="./chat/flashchat.php" target="_blank"><img src="{T_THEME_PATH}/images/chat.gif" width="61" height="15" alt="Chat" /></a>
das steht da auch noch drin, aber auch meiner Forenübersicht erscheint das nicht mehr ganz oben rechts...

Kann mir jemdand sagen, was ich ändern muss?
Jonnsn
Mitglied
Beiträge: 88
Registriert: 05.02.2007 22:09

Beitrag von Jonnsn »

Hi,

hättest du einen Link wo man sich das anschauen kann? das erleichtert die Fehlersuche meistens etwas :)
Polarco
Mitglied
Beiträge: 63
Registriert: 31.01.2008 11:53

Beitrag von Polarco »

www.getupft-und-gestreift.de

da sieht man aber ja nichts, das war sonst immer ganz oben rechts eine kleine Grafik in der Forenübersicht...
Jonnsn
Mitglied
Beiträge: 88
Registriert: 05.02.2007 22:09

Beitrag von Jonnsn »

Polarco hat geschrieben:da sieht man aber ja nichts
doch den Quelltext - und da erscheint nichts von dem codestück
kannst du vlt mal den kompletten Bereich der Navigation posten?
das sollte innerhalb des divs

Code: Alles auswählen

<div id="menubar">
sein :grin:
Polarco
Mitglied
Beiträge: 63
Registriert: 31.01.2008 11:53

Beitrag von Polarco »

Code: Alles auswählen

<div id="menubar">
		<table width="100%" cellspacing="0">
		<tr>
			<td class="genmed">
				<!-- IF not S_IS_BOT --><a href="{U_LOGIN_LOGOUT}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" alt="*" /> {L_LOGIN_LOGOUT}</a>&nbsp;<!-- ENDIF -->
				<!-- IF U_RESTORE_PERMISSIONS --> &nbsp;<a href="{U_RESTORE_PERMISSIONS}"><img src="{T_THEME_PATH}/images/icon_mini_login.gif" width="12" height="13" alt="*" /> {L_RESTORE_PERMISSIONS}</a><!-- ENDIF -->
				<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN --> &nbsp;<span style="color: red;">{L_BOARD_DISABLED}</span><!-- ENDIF -->
				<!-- IF not S_IS_BOT -->
					<!-- IF S_USER_LOGGED_IN -->
						<!-- IF S_DISPLAY_PM --> &nbsp;<a href="{U_PRIVATEMSGS}"><img src="{T_THEME_PATH}/images/icon_mini_message.gif" width="12" height="13" alt="*" /> {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD -->, {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --></a><!-- ENDIF -->
					<!-- ELSE --> &nbsp;<a href="{U_REGISTER}"><img src="{T_THEME_PATH}/images/icon_mini_register.gif" width="12" height="13" alt="*" /> {L_REGISTER}</a>
					<!-- ENDIF -->
				<!-- ENDIF -->
			</td>
			<td class="genmed" align="{S_CONTENT_FLOW_END}">
				<a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" alt="*" /> {L_FAQ}</a>
				<!-- IF S_DISPLAY_SEARCH -->&nbsp; &nbsp;<a href="{U_SEARCH}"><img src="{T_THEME_PATH}/images/icon_mini_search.gif" width="12" height="13" alt="*" /> {L_SEARCH}</a><!-- ENDIF -->
				<!-- IF not S_IS_BOT -->
					<!-- IF S_DISPLAY_MEMBERLIST -->&nbsp; &nbsp;<a href="{U_MEMBERLIST}"><img src="{T_THEME_PATH}/images/icon_mini_members.gif" width="12" height="13" alt="*" /> {L_MEMBERLIST}</a><!-- ENDIF -->
					<!-- IF S_USER_LOGGED_IN -->&nbsp; &nbsp;<a href="{U_PROFILE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" alt="*" /> {L_PROFILE}</a><!-- ENDIF -->
				<!-- ENDIF -->
<!--Flashchat Link --> <a href="./chat/flashchat.php" target="_blank"><img src="{T_THEME_PATH}/images/chat.gif" width="61" height="15" alt="Chat" /></a>
			</td>
		</tr>
		</table>
	</div>
Also eigentlich steht es da mit drin...
Benutzeravatar
ups
Mitglied
Beiträge: 990
Registriert: 06.12.2006 14:57
Wohnort: Basel/Freiburg Land

Beitrag von ups »

also bei mir sieht das so aus in der overall_header.html (prosilver)

Code: Alles auswählen

			<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
			<ul class="linklist leftside">
				<li class="icon-ucp">
					<a href="{U_PROFILE}" title="{L_PROFILE}" accesskey="u">{L_PROFILE}</a>
						<!-- IF S_DISPLAY_PM --> (<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>)<!-- ENDIF --> &bull; 
					<a href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a>
					<!-- IF U_RESTORE_PERMISSIONS --> &bull;
					<a href="{U_RESTORE_PERMISSIONS}">{L_RESTORE_PERMISSIONS}</a>
					<!-- ENDIF -->
				</li>
			</ul>
			<!-- ENDIF -->
	<ul class="linklist rightside">
<!-- IF S_USER_LOGGED_IN --><li class-"icon=members"><a href="./chat/flashchat.php" target="_blank" img src="" title="FlashChat Login" accesskey="1">Chat</a></li><!-- ENDIF -->
				<li class="icon-rules"><a href="{U_RULES}" title="{L_RULES_PAGE}">{L_RULES}</a></li>
				<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
				<!-- IF not S_IS_BOT -->
					<!-- IF S_DISPLAY_MEMBERLIST --><li class="icon-members"><a href="{U_MEMBERLIST}" title="{L_MEMBERLIST_EXPLAIN}">{L_MEMBERLIST}</a></li><!-- ENDIF -->
					<!-- IF not S_USER_LOGGED_IN --><li class="icon-register"><a href="{U_REGISTER}">{L_REGISTER}</a></li><!-- ENDIF -->
					<li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="l"<!-- IF S_USER_LOGGED_IN --> onclick="return logout_confirmation(); return true;"<!-- ENDIF -->>
{L_LOGIN_LOGOUT}</a></li>
				<!-- ENDIF -->
		<li><strong>&bull;</strong> <a href="{U_IMPRESSUM}" title="{L_IMPRESSUM}" accesskey="l">{L_IMPRESSUM}</a></li>
wir reden von prosilver????

fals du subsilver verwendest siehe hier : http://forum.tufat.com/showthread.php?t=38553


grüße
ups
[FINAL] Impressum Dinseprinz 0.1.8 http://www.phpbb.de/community/viewtopic ... 52&start=0
[Final] Linkverzeichnis Mod Phpbb Annuaire v0.2.1 http://www.phpbb.de/community/viewtopic ... 17&start=0
Polarco
Mitglied
Beiträge: 63
Registriert: 31.01.2008 11:53

Beitrag von Polarco »

Nein wir reden von Subsilver, daher hatte ich auch ursprünglich den Kram, wie ich es eingüge, aber der gute hat seinen Text editiert... und jetzt geht es ja nun leider nicht mehr und dort steht auch nicht wie ich es ändern kann...
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“