Seite 7 von 23

Verfasst: 02.04.2008 16:06
von 4seven
Dinseprinz hat geschrieben:Und ist es möglich, nur ein Channel anzubieten? Bei mir führt er nämlich auch sämtliche Foren auf. Habe schon in der lib/config.php gesucht aber nix gefunden.
Öffne

CustomAJAXChat.php

Finde und füge alle Teile zwischen Begin und End ein

Code: Alles auswählen

[code]function &getChannels() {

		if($this->_channels === null) {
			global $auth;

//############################--BEGIN--##########################################
$channels = array('Technics'=>1111, 'Coding'=>2222, 'Fun'=>3333);
//############################--END--###########################################

			$this->_channels = array();

			$allChannels = $this->getAllChannels();

			foreach($allChannels as $key=>$value) {
				// Check if we have to limit the available channels:
				if($this->getConfig('limitChannelList') && !in_array($value, $this->getConfig('limitChannelList'))) {
					continue;
				}

				// Add the valid channels to the channel list (the defaultChannelID is always valid):
				if($value == $this->getConfig('defaultChannelID') || $auth->acl_get('f_read', $value)) {
					$this->_channels[$key] = $value;
				}
			}
//############################--BEGIN--##########################################
$this->_channels = array_merge($this->_channels, array('Technics'=>1111, 'Coding'=>2222, 'Fun'=>3333));
//############################--END--###########################################
		}
		return $this->_channels;
	}

	// Store all existing channels
	// Make sure channel names don't contain any whitespace
	function &getAllChannels() {
		if($this->_allChannels === null) {
			global $db;
	        $this->_allChannels = array();

			// Get valid phpBB forums:
			$sql = 'SELECT
							forum_id,
							forum_name
						FROM
							'.FORUMS_TABLE.'
						WHERE
							forum_type=1
						AND
							forum_password=\'\';';
			$result = $db->sql_query($sql);

			$defaultChannelFound = false;

			while ($row = $db->sql_fetchrow($result)) {
				$forumName = $this->trimChannelName($row['forum_name']);

				$this->_allChannels[$forumName] = $row['forum_id'];

				if(!$defaultChannelFound && $row['forum_id'] == $this->getConfig('defaultChannelID')) {
					$defaultChannelFound = true;
				}
			}
			$db->sql_freeresult($result);

			if(!$defaultChannelFound) {
				// Add the default channel as first array element to the channel list:
				$this->_allChannels = array_merge(
					array(
						$this->trimChannelName($this->getConfig('defaultChannelName'))=>$this->getConfig('defaultChannelID')
					),
					$this->_allChannels
				);
			}
//############################--BEGIN--##########################################
$this->_allChannels = array_merge($this->_allChannels, array('Technics'=>1111, 'Coding'=>2222, 'Fun'=>3333));
//############################--END--###########################################
		}
		return $this->_allChannels;
	}
[/code]

Wenn du nur einen Channel haben willst, dann logischerweise nur so.

Code: Alles auswählen

('Technics'=>1111);
Channel-Namen ändern *auch logo


Öffne

config.php

und passe die Anteile die zwischen Begin und End stehen ein, bzw, füge noch nicht vorhandene Anteile ein.

Code: Alles auswählen

//############################--BEGIN--#########################################
// Default channelName used together with the defaultChannelID if no channel with this ID exists:
// $config['defaultChannelName'] = 'Public';
$config['defaultChannelName'] = 'Technics';
// ChannelID used when no channel is given:
// $config['defaultChannelID'] = 0;
$config['defaultChannelID'] = 1111;
// Defines an array of channelIDs (e.g. array(0, 1)) to limit the number of available channels, will be ignored if set to null:
// $config['limitChannelList'] = null;
$config['limitChannelList'] = array(1111, 2222, 3333);
//############################--END--###########################################
Übrigens gibt der Autor in seinem sourceforge-forum und auf blueimp.net gute Anregungen.
Dort mal bitte gelegentlich einkehren :D

lg
4seven

Verfasst: 07.04.2008 13:01
von 4seven
nike771 hat geschrieben:Nachtrag: wenn man das "Logout" rechts im Menu nimmt, dann klappt es mit der Anzeige. Nutzt man den Button, der sich oberhalb des Chatfensters befindet, dann klappt es nicht mit der Anzeige.

LG

nike771
Das "Menü-Logout" kann man leicht auf den Button umlegen. So hat er die gleiche Funktion :wink:

Öffne

chat/lib/template/loggedIn.html

Finde

Code: Alles auswählen

		<div id="logoutChannelContainer">
  			 <input type="button" id="logoutButton" value="[LANG]logout[/LANG]" onclick="ajaxChat.logout();"/>

Ersetze mit

Code: Alles auswählen

		<div id="logoutChannelContainer">
  			 <!-- <input type="button" id="logoutButton" value="[LANG]logout[/LANG]" onclick="ajaxChat.logout();"/> -->
			 <input type="button" id="logoutButton" value="[LANG]logout[/LANG]" onclick="javascript:ajaxChat.sendMessageWrapper('/quit');"/>
lg
4seven

Verfasst: 09.04.2008 16:40
von Dinseprinz
@4seven

danke, ich habe alles so umgesetzt und funktioniert allererste Sahne. :grin:

Wie bekomme ich das noch hin, wenn ein User auf Wer ist Online? klickt, dass dann da steht: "Befindet sich gerade im Chat". Ich habe in der viewonline.php schon einen neuen case Block hinzugefügt, sieht momentan so aus:

Code: Alles auswählen

case 'chat':
$location = 'Befindet sich gerade im "Chat"';
$location_url = append_sid("{$phpbb_root_path}chat/index.$phpEx");
Leider scheint das so nicht zu funktionieren, liegt eventuell auch daran, das sich der Chat in einem PopUp öffnet oder?

MfG DP

Verfasst: 10.04.2008 15:00
von issjut
ich hatte schonmal auf phpbb.com gefragt, allerdings ohne Erfolg!

Geht es auch irgendwie, dass der User automatisch ausgeloggt wird, wenn er einfach nur das Fenster schließt? also ich nutze den Chat als Popup und habe ständig "Leichen" in der onlineanzeige die garnich mehr auf der Seite eigeloggt sind ;-)

Verfasst: 10.04.2008 21:50
von 4seven
Hallo issjut

Öffne

chat/lib/template/loggedIn.html

Finde

Code: Alles auswählen

<body>
Ersetze mit

Code: Alles auswählen

<body onunload="javascript:ajaxChat.sendMessageWrapper('/quit')">
Da ja doch einige auf den Logout-Button gehen, zusätzlich das beachten

Dinseprinz hat geschrieben:Leider scheint das so nicht zu funktionieren, liegt eventuell auch daran, das sich der Chat in einem PopUp öffnet oder?
Nein, das ist egal.

Schau dir mal in Ruhe die Integrierung hier an

http://www.phpbb.de/viewtopic.php?p=965993#965993

Die Ausgabe ins Forum ist ja schon durch die Anzeige der User
auf der Index unten und oben vorhanden und realisiert (siehe mein Demoboard)
Du musst die Funktion im Grunde nur durch eigene Variablen "umlenken".

lg
4seven

Verfasst: 11.04.2008 18:03
von Dinseprinz
Meinst Du vielleicht so?

case 'chat':
$location = 'Befindet sich gerade im "Chat"';
$location_url = append_sid("{$ajax_chat_path}index.$phpEx");

Verfasst: 11.04.2008 18:54
von 4seven
Probier es :wink:
Hab i.A. wenig Zeit und bei phpbb-case-Variablen in der Schule gefehlt :-?

Verfasst: 13.04.2008 14:13
von djchrisnet
Ja auch bei funpic ist betreib eines chates verboten, eigendlich sogar eine selbst aktualisierende Shoutbox.

Falls du dich auf die suche nach einem guten und leistungsfähigem angebot machst, kannst du gerne mal bei mir anklopfen. Ich hätte da eventuell was für dich =)

Verfasst: 20.04.2008 19:15
von ~Marioverehrer~
Hallo,

ist es möglich, den overall-header bzw. footer im Chat mit einzubinden?

Wenn ja, was muss ich dafür tun?

Verfasst: 20.04.2008 22:54
von 4seven

das wäre evtl. in einem frameset möglich. fest verdrahtet wird es etwas tricky, da der templateordner vom chat
ja erstmal nichts vom templateordner des forums weiss und umgekehrt.

-------------

p.s. @djchrisnet
meintest du mich damit? (13.04.2008 14:13)