[phpBB3.2]Forum und blueimp AJAX Chat

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
eumelchen
Mitglied
Beiträge: 671
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von eumelchen »

Hallo Mahony,

ich mache meinen Test ja aus dem Grund um vorbereitet zu sein wenn mein Provider irgendwann PHP 5.6 abschaltet und nur noch PHP 7 anbietet.

Da ich leider keine Ahnung von PHP habe, hatte ich gehofft das vielleicht Jemand auf den Code schaut und sagt:
"Ist klar, den einen Befehl gibt es bei 7 nicht mehr, das muss man so ändern."

Es fehlen mir noch einige Extensions um jetzt schon von 3.1 auf 3.2 zu wechseln.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von Mahony »

Hallo
eumelchen hat geschrieben:Da ich leider keine Ahnung von PHP habe, hatte ich gehofft das vielleicht Jemand auf den Code schaut und sagt:
"Ist klar, den einen Befehl gibt es bei 7 nicht mehr, das muss man so ändern."
Na dann poste doch mal das Errorlog, dann kann ich dir auch sagen was zu ändern wäre.

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
eumelchen
Mitglied
Beiträge: 671
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von eumelchen »

Asche auf mein Haupt, wo finde ich das Errorlog?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von Mahony »

Hallo
eumelchen hat geschrieben:wo finde ich das Errorlog?
Das sollte dir dein Hoster sagen können.

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
eumelchen
Mitglied
Beiträge: 671
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von eumelchen »

Ich habe jetzt einmal Debug eingeschaltet, dann erscheint, wenn der Chat nicht angezeigt wird, diese Fehlermeldung:

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file [ROOT]/chat/lib/class/AJAXChat.php on line 2317: Undefined variable: purgeDelay
cpg
Mitglied
Beiträge: 510
Registriert: 24.11.2007 12:43
Kontaktdaten:

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von cpg »

Hast Du denn in der config.php da ein "true" stehen?

chat/lib/config.php

// Defines if old messages are purged from the database:
$config['logsPurgeLogs'] = true;
// Max time difference in days for old messages before they are purged from the database:
$config['logsPurgeTimeDiff'] = 5;
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von Mahony »

Hallo
Dann setze mal vor

Code: Alles auswählen

if ($purgeDelay < (time() - 3600) || !isset($purgeDelay)) {
folgendes

Code: Alles auswählen

$purgeDelay = time();
Also in die Funktion purgeLogs.

Das sollte dann so aussehen

Code: Alles auswählen

function purgeLogs() {

    $purgeDelay = time();
    if ($purgeDelay < (time() - 3600) || !isset($purgeDelay)) {

    // SQL Query to select messages for purge:
    $sql = 'SELECT
    userName,
    channel AS channelID,
    UNIX_TIMESTAMP(dateTime) AS timeStamp,
    text
    FROM
    '.$this->getDataBaseTable('messages').'
    WHERE
    dateTime < DATE_SUB(NOW(), interval '.$this->getConfig('logsPurgeTimeDiff').' HOUR)
    ORDER BY
    id;';

    $result = $this->db->sqlQuery($sql);

    // Stop if an error occurs:
    if($result->error()) {
    echo $result->getError();
    die();
    }

    // Store result for logging:
    $logMsg = '';
    while($row = $result->fetch()) {
    $privmsg = ereg('/privmsg', $row['text']);
    if ($privmsg == false) {
    $logMsg .= '('.date('r', $row['timeStamp']).') ';
    $logMsg .= $this->decodeSpecialChars($row['userName']).': ';
    $logMsg .= $this->decodeSpecialChars($row['text'])."\n";
    }
    }
    $result->free();

    // Files are rotated every week, labelled by week number, month, and year.
    // File container where all messages are logged:
    $fileContainer = AJAX_CHAT_PATH.'log/'.date("WMY").'.log';
    $fileDirectory = AJAX_CHAT_PATH.'log/';

    // Check to make sure directory is writable:
    if(is_writable($fileDirectory)) {
    // Open the said file:
    $filePointer = fopen($fileContainer,"a");

    // Write log messages to file:
    fputs($filePointer,$logMsg);

    // Close the open said file after writing:
    fclose($filePointer);

    // Delete what has been archived:
    $sql = 'DELETE FROM
    '.$this->getDataBaseTable('messages').'
    WHERE
    dateTime < DATE_SUB(NOW(), interval '.$this->getConfig('logsPurgeTimeDiff').' HOUR);';

    // Create a new SQL query:
    $result = $this->db->sqlQuery($sql);

    // Stop if an error occurs:
    if($result->error()) {
    echo $result->getError();
    die();
    }
    }

    $purgeDelay = time();
    }
    }
  

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
eumelchen
Mitglied
Beiträge: 671
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von eumelchen »

Hallo Mahony,

die Änderung habe ich gemacht, jetzt wird der Chat jedesmal aufgrufen wenn ich ihn anklicke (ohne weiße Seite).
Sieht also schon mal gut aus.
Jetzt muss ich noch kontrollieren ob Logs aufgezeichnet werden.

LG
eumelchen
eumelchen
Mitglied
Beiträge: 671
Registriert: 09.02.2008 08:28
Wohnort: Gottin

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von eumelchen »

So, aktuelle Situation, der Chat funktioniert einwandfrei,

allerdings werden keine Logfiles im "log-Ordner" im "chat-Verzeichnis" kopiert.

In der Datenbank sind noch alle Messages vorhanden und in den Error-Logs meines Providers wird kein Fehler angezeigt.

Wahrscheinlich ist das immer noch eine Funktion in der neu hinzugefügten "function purgeLogs" nicht mit PHP 7 funktioniert.

Jetzt hoffe ich inständig das mir hier Jemand helfen kann.

LG eumelchen
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [phpBB3.2]Forum und blueimp AJAX Chat

Beitrag von Mahony »

Hallo
Hat das Verzeichnis für die Logs auch die nötigen Rechte (CHMOD 777 ) und hast du auch ein leeres Textdokument erstellt (ebenfalls mit CHMOD 666 )?
Und hast du das hier auch gemacht?
cpg hat geschrieben:Hast Du denn in der config.php da ein "true" stehen?

chat/lib/config.php

// Defines if old messages are purged from the database:
$config['logsPurgeLogs'] = true;
// Max time difference in days for old messages before they are purged from the database:
$config['logsPurgeTimeDiff'] = 5;
Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

Zurück zu „Extension Support“