Chat-Modul Verbesserungsvorschläge / Fragen

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
Antworten
Burkhard
Beiträge: 1
Registriert: 23. Dez 2020, 23:21
Wohnort: Rheda-Wiedenbrück
Kontaktdaten:

Chat-Modul Verbesserungsvorschläge / Fragen

Beitrag von Burkhard »

Hallo!
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'];
		}   
            }
So, wer jetzt in seinen Stammdaten einen Chat-Namen einträgt, der unterdrückt damit die Anzeige seines echten Vor- und Nachnamens im Chat. Natürlich ist das nur ein Schnellschuss, denn es wäre viel einfacher den Login-Namen dort anzeigen zu lassen (der ist wenigstens von vornherein eindeutig). Bin aber neu im Quellcode und hatte bislang keine Zeit, mir anzusehen, wie wo was wann geladen wird.

Tschö mit "ö",
Burkhard
Antworten