WEBCOMpro CMS Community Forum

Normale Version: Supportchat
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Bei mir ist diese nützliche Modul schon fast in Vergessenheit geraten. Damit es anderen nicht auch so geht erinnere ich daran.

Der Supportchat ermöglicht Besuchern der Webseite die Möglichkeit, direkt mit einem Mitarbeiter zu chatten. Der Link zu diesem Supportchat wird aber nur angezeigt wenn ein Mitarbeiter online ist.

Den Supportchat ist in den Vorlagen in der Kategorie Module als Livesupport. Ausserdem findet sich dort auch der Link zum Livesupport.
Den Link zum Livesupport baue ich am liebsten direkt in die Vorlage, allerdings nicht als einfacher Link sondern als POPUP. In das Popup Fenster kommt dann die Vorlage Livesupport.

Code für den Link zum Livesupport als Popup
PHP-Code:
<WCP:nocache><?php
wcp_load
("core");
$core = new core();
$core->update_index();

$support_online FALSE;

$core->index->reset();
while (
$core->index->next())
{
    
$guid   $core->index->get("guid");
    
$status $core->get_status($guid);

    if (
flag($statusWCP_CORE_STATUS_OWNER WCP_CORE_STATUS_OPERATOR) &&
        ! 
flag($statusWCP_CORE_STATUS_INVISIBLE WCP_CORE_STATUS_ABSENT))
    {
        
$support_online TRUE;
        break;
    };
};

if (! 
$support_online) return;

echo
"<div allowtransparency='true' style='background-color:transparent'><a href=\"#\" onclick=\"load_page('','LINK ZUR LIVESUPPORT SEITE'); return false\">zum LIVE-SUPPORT</a></div>";
?></WCP:nocache> 

Den LIVE-SUPPORT finden Sie zum Beispiel auf der HKN Seite im Einsatz.
Hinweis: Der Supportchat ist bereits Bestandteil des Installationspaketes und befindet sich unter "Vorlagen" in der Kategorie "Module". Der oben genannte Quelltext ist damit überflüssig, bzw. bereits eingepflegt.
hmmm, zumindest bei mir war er da nicht als POPUP drin, sondern nur als Link in ein neues Fenster, aber ich hatte auch eine recht alte Version.
Ich habe das ganze jetzt mal mit einer Grafik anstatt eines Textlinks eingebaut, zwei Fragen haben sich dazu ergeben:

1) Wie bewerkstellige ich es, abhängig davon, ob jemand online ist, eine "Offline-Grafik" oder eine "Online-Grafik" anzuzeigen?

2) Obwohl ich nach dem Einbau des Scripts die Rechte "Messenger" für Anonyme User vergeben habe, kommt man als anonymer User nicht auf die Live-Support-Seite.

Besten Dank im voraus.
zu 1.:
siehe letzte Zeile:

Code:
<?php
wcp_load("core");
$core = new core();
$core->update_index();

$support_online = FALSE;

//check if owner or operator is online and not invisible or absent
$core->index->reset();
while ($core->index->next())
{
    $guid   = $core->index->get("guid");
    $status = $core->get_status($guid);

    if (flag($status, WCP_CORE_STATUS_OWNER | WCP_CORE_STATUS_OPERATOR) &&
        ! flag($status, WCP_CORE_STATUS_INVISIBLE | WCP_CORE_STATUS_ABSENT))
    {
        $support_online = TRUE;
        break;
    };
};

echo("<img src=\"" . ($support_online ? "online.gif" : "offline.gif") . "\">");
?>

Das soll als Hinweis dienen und ist keine vollständige Lösung.

zu 2.:
Gehen Sie in die Administration, rufen Sie die Rechteverwaltung auf, geben Sie "messenger" (genaue Schreibweise) als Berechtigung ein und klicken Sie auf Aktualisieren. Ist die Berechtigung für den Benutzer "Gast" (oder wie der anonyme Zugriff bei Ihnen heisst) erteilt? Falls nicht, wählen Sie rechts "Gast" aus und verschieben Sie ihn in die linke Liste. Das lässt sich übrigends auch aufrufen, indem Sie sich als Administrator in den Messenger einloggen und im Kontrollfeld rechts unten auf Zugriff klicken.
Zu 1:

Ich verwende den PopUp-Link in nachfolgender Variante:
Zitat:<WCP:nocache><?php
wcp_load("core");
$core = new core();
$core->update_index();

$support_online = FALSE;

$core->index->reset();
while ($core->index->next())
{
$guid = $core->index->get("guid");
$status = $core->get_status($guid);

if (flag($status, WCP_CORE_STATUS_OWNER | WCP_CORE_STATUS_OPERATOR) &&
! flag($status, WCP_CORE_STATUS_INVISIBLE | WCP_CORE_STATUS_ABSENT))
{
$support_online = TRUE;
break;
};
};

if (! $support_online) return;

echo"<div allowtransparency='true' style='background-color:transparent'><br><a href=\"#\" onclick=\"load_page('','http://www.urlbase.de/support/live-support-1.php'); return false\"><img src='http://www.urlbase.de/data/image/CY2ypvLn.jpg'></a></div>";
?></WCP:nocache>

Wie muss der Code denn in diesem Fall aussehen, damit angezeigt wird, ob der Live-Support online oder offline ist?


Zu 2:
Ich hatte lediglich die Gruppe "Messenger" zugewiesen - habe die Berechtigung jetzt wie beschrieben gesetzt. Besten Dank.
So gerne ich auch helfe, geht es über den Rahmen hinaus, hier Komplettlösungen auf Anfrage zu liefern. Alle Infos wurden gegeben und mit geringsten Programmierkenntnissen sollte es jedem gelingen, das umzusetzen.
Hallo,

das ist vollkommen verständlich. Es ist in der Tat so, dass es bei genauem hinsehen kein Problem war, das gewünschte Verhalten des Scripts umzusetzen... Manchmal sieht man halt den Wald vor lauter Bäumen nicht.

Besten Dank.
Referenz-URLs