Seite 1 von 2

Nochmal ne Frage zum Ajax Chat

Verfasst: 14.09.2008 19:11
von Wollez
Hallole,

hab da nochmal ne Frage zum Ajax Chat.

Ich habe bei mir den Chat zweimal integriert. Einmal für "normale" User und einmal nur für die Mods und Admins. Das klappt auch einwandfrei.
Jetzt habe ich normalerweise den Chatlink so konfiguriert wie es hier beschrieben ist. Auch das funktioniert einwandfrei. Diese Änderung würde ich aber auch gerne so anpassen, daß der zweite Chat dies auch nutzen kann und dort dann die User die darin sind angezeigt werden.

Kann mir da jemand helfen? Reicht es, wenn ich

Code: Alles auswählen

'CHAT_TITLE'               => 'Online: '.htmlentities(implode(', ', getChatOnlineUsers()), ENT_QUOTES, 'UTF-8'),
anpasse, oder muß da noch mehr gemacht werden?

Gruß Wollez

Re: Nochmal ne Frage zum Ajax Chat

Verfasst: 14.09.2008 19:21
von 4seven
Wollez hat geschrieben:Ich habe bei mir den Chat zweimal integriert.
andere datenbank aber gleicher pfad?
gleiche datenbank aber anderer pfad?

das wäre sehr wichtig, um zu gucken, ob es überhaupt funktionieren würde.

Verfasst: 14.09.2008 19:26
von Wollez
Ok, hab ich vergessen zu erwähnen ;)

gleiche DB aber in der DB extra Tabellen (ajax_chat_mods_online, ajax_chat_mods_messages, ajax_chat_mods_bans, ajax_chat_mods_invitations). Der Chat hat dann auch einen extra Pfad.

Eigentlich sind das zwei komplet eigenständige Chats.

Gruß Wollez

Verfasst: 14.09.2008 19:35
von 4seven
au backe. also du musst in jedem falle die definitionen in der functions.php teilweise bis vollständig doppelt vornehmen und musst auch die variablennamen anpassen

beispiel

Code: Alles auswählen

$chatInterface->getOnlineUserIDs
user chat

Code: Alles auswählen

$chatInterface_1->getOnlineUserIDs_1
admin chat

Code: Alles auswählen

$chatInterface_2->getOnlineUserIDs_2
oder weiter im code (auszug)

user chat

Code: Alles auswählen

'CHAT_LINK_1' 
'CHAT_LABEL_1'
'CHAT_TITLE_1'  
admin chat

Code: Alles auswählen

'CHAT_LINK_2' 
'CHAT_LABEL_2'
'CHAT_TITLE_2'  
dabei aber nach der code-syntax gehen, manches kann unique bleiben, anderes wieder nicht. müsste aber gehen.

Verfasst: 14.09.2008 19:39
von Wollez
hmmm... könntest Du mir da helfen? Zumindest mir mitteilen was genau geändert werden muß?

Ich hab da einfach zu wenig Erfahrung damit.

Gruß Wollez

Verfasst: 14.09.2008 19:51
von 4seven
(um)programmieren geht sicher schneller als erklären.
und dennoch, ich müsste testweise einen zweiten chat installieren und und und..
ich guck mal..
Zumindest mir mitteilen was genau geändert werden muß?
..war dein bester heute. weil das heißt ja nichts anderes, als (für umsonst) eine fix und fertige lösung zu liefern*g

Verfasst: 14.09.2008 20:41
von Wollez
Nochmal Hallole,

es wäre natürlich schön gewesen, wenn ich das schon fertig bekommen hätte :D , aber ich hab es mir mal so vor gestellt:

includes/functions.php

Code: Alles auswählen

function getAMChatInterface() {
   static $ajaxAMChat;
 
   if(!$ajaxAMChat) {
      // URL to the chat directory:
      if(!defined('AJAX_AMCHAT_URL')) {
         define('AJAX_AMCHAT_URL', './adminChat/');
      }
 
       // Path to the chat directory:
       if(!defined('AJAX_AMCHAT_PATH')) {
         define('AJAX_AMCHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/adminChat').'/');
       }
 
        // Validate the path to the chat:
        if(@is_file(AJAX_AMCHAT_PATH.'lib/classes.php')) {
 
        // Include Class libraries:
        require_once(AJAX_AMCHAT_PATH.'lib/classes.php');
 
        // Initialize the chat interface:
        $ajaxAMChat = new CustomAJAXAMChatInterface();
        }
       }
 
       return $ajaxAMChat;
    }
 
    function getAMChatOnlineUsers() {
       return ($AMchatInterface = AMgetChatInterface()) ? $AMchatInterface->AMgetOnlineUsers() : array();
    }
 
    function getAMChatOnlineUserIDs() {
       return ($AMchatInterface = getAMChatInterface()) ? $AMchatInterface->AMgetOnlineUserIDs() : array();
    }
und

Code: Alles auswählen

if(in_array($row['user_id'], getAMChatOnlineUserIDs()))
{
   $AMuser_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
}
und

Code: Alles auswählen

'CHAT_ADM_LINK'    => 'adminChat/',
'CHAT_ADM_LABEL'  => 'AMChat ['.count(getAMChatOnlineUserIDs()).']',
'CHAT_ADM_TITLE'   => 'Online: '.htmlentities(implode(', ', getAMChatOnlineUsers()), ENT_QUOTES, 'UTF-8'),
In template/overall_header.html

Code: Alles auswählen

<li class="icon-chat"><a href="{CHAT_ADM_LINK}" title="{CHAT_ADM_TITLE}">{CHAT_ADM_LABEL}</a></li>
Könnte das so gehn, oder muß ich in dem Chat selbst auch noch was ändern?

Gruß Wollez

Verfasst: 15.09.2008 00:41
von 4seven
oder muß ich in dem Chat selbst auch noch was ändern?
ich denke nicht, das müsste so in ordnung gehen.
in den config*.php's der chats sind ja verschiedene tabellen eingetragen.
solange die pfade an den stellen stimmen, ist der rest formsache.

if(!defined('AJAX_AMCHAT_URL')) {
define('AJAX_AMCHAT_URL', './adminChat/');
}
define('AJAX_AMCHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/adminChat').'/');
'CHAT_ADM_LINK' => 'adminChat/',

Verfasst: 15.09.2008 17:38
von Lacrimula
Hallo

Ich habe im phpBB3 Forum mit dem Ajax Chat folgendes Problem.

Wenn sich ein User einloggt, kann er alles, was bisher schon geschrieben wurde, lesen.

Wie kann ich es einstellen, dass er erst ab dem Moment lesen kann, in dem er sich einloggt?

LG
Lacrimula

Verfasst: 15.09.2008 18:04
von 4seven
open config.php
// Defines if messages are shown which have been sent before the user entered the channel:
$config['requestMessagesPriorChannelEnter'] = false;
in der datei und in der config.js findet du 98% aller einstellungen des chats

ps @Wollez
wäre schön, wenn du uns an deinen ergebnissen teilhaben lassen könntest :wink: