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
greno
Beiträge: 248
Registriert: 25. Nov 2017, 19:58

Re: Chat-Modul Verbesserungsvorschläge / Fragen

Beitrag von greno »

Hallo,
auch ich hätte gern eine Möglichkeit alte Chat-Einträge löschen zu können !
Außerdem suche ich nach einer Mögkichkeit die Chat-Gruppe einzugrenzen, denn derzeit kann jedes registrierte Mitglied teilnehmen ! Oder ?
Grusz greno
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Re: Chat-Modul Verbesserungsvorschläge / Fragen

Beitrag von fasse »

Hallo zusammen,

die Übersetzung von dem Text ist jetzt eingebaut. Vielen Dank für den Hinweis.

In der kommenden 4.1 werden jetzt automatisch alle Chateinträge > 1 Tag entfernt. Dafür können jetzt mehr Einträge gespeichert werden.

Den Loginnamen bekommst du übrigens mit:

Code: Alles auswählen

$user->getValue('usr_login_name')
Viele Grüße
Fasse
Antworten