Seite 2 von 4
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 10:58
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.
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:05
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
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:06
von eumelchen
Asche auf mein Haupt, wo finde ich das Errorlog?
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:18
von Mahony
Hallo
eumelchen hat geschrieben:wo finde ich das Errorlog?
Das sollte dir dein Hoster sagen können.
Grüße: Mahony
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:27
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
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:39
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;
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:43
von Mahony
Hallo
Dann setze mal vor
Code: Alles auswählen
if ($purgeDelay < (time() - 3600) || !isset($purgeDelay)) {
folgendes
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
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 13.02.2017 11:51
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
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 14.02.2017 15:11
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
Re: [phpBB3.2]Forum und blueimp AJAX Chat
Verfasst: 14.02.2017 15:20
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