Habe gestern mal das Chat-Modul ausprobiert. Funktioniert soweit gut und fehlerfrei. Zwei Sachen stören mich (als Administrator) trotzdem:
1.) Es wird im Chat mein voller Vor- und Nachname angezeigt, was mich doch eher stört. Es wäre gut, wenn man per Voreinstellung wählen könnte zwischen Benutzername und Vor+Nachname Kombination!
2.) Alte Chat-Einträge werden erst nach einer kleinen Ewigkeit (nach 100 Einträgen die ersten 50) gelöscht. Wenn nicht viel im Chat los ist, dann sehen andere Mitglieder noch nach Monaten Einträge aus der Vergangenheit. Ich würde gerne (wenigstens als Admin, oder mit einstellbarer Rolle) die Möglichkeit haben, alte Chat-Zeilen mit einem Klick zu löschen, besonders, wenn da dummes Zeug oder Schlimmeres drin steht. Per SQL kann ich das natürlich selbst machen, ist mir allerdings langfristig gesehen zu umständlich. Schön wäre es auch, wenn sich der Chat nach einem definierbaren Intervall automatisch löschen würde (täglich, stündlich, wöchentlich, monatlich).
3.) Der englische Text "Enter Message" steht in message_chat.php in der Zeile:
$form->addMultilineTextInput('sendie', 'Enter Message:', '', 2, array('maxLength' => 100));
noch hard-codiert drin (mich stört's im Moment nicht, aber vielleicht später irgendwelche Mitglieder, die kein Englisch sprechen/verstehen.
Zu 1.) Ich habe mal etwas rumgespielt und ein neues Profil-Feld mit dem internen Namen "CHAT_NAME" angelegt. Dann habe ich die /modules/messages/process.php angepasst:
Code: Alles auswählen
$statement = $gDb->queryPrepared($sql, array($msgId, $postLines));
while($row = $statement->fetch())
{
$user = new User($gDb, $gProfileFields, $row['msc_usr_id']);
$date = \DateTime::createFromFormat('Y-m-d H:i:s', $row['msc_timestamp']);
if(strlen(trim($user->getValue('CHAT_NAME'))) == 0) // empty CHAT_NAME field
{
// the default behavior
$text[] = '<time>'.$date->format($gSettingsManager->getString('system_date').' '
.$gSettingsManager->getString('system_time')).'</time><span>'.$user->getValue('FIRST_NAME').' '.$user->getValue('LAST_NAME').'</span>'.$row['msc_message'];
}
else // CHAT_NAME value filled in, display that name in chat row
{
$text[] = '<time>'.$date->format($gSettingsManager->getString('system_date').' '
.$gSettingsManager->getString('system_time')).'</time><span>'.$user->getValue('CHAT_NAME').'</span>'.$row['msc_message'];
}
}
Tschö mit "ö",
Burkhard