Merhabalar,
XenForo’daki DM olayı şöyle çalışıyor: Sen ya da karşı taraf “ayrıl” dediğinde aslında mesaj tamamen silinmiyor, sadece sana görünmez oluyor. Karşı taraf da ayrılırsa ikinizin de ekranından kayboluyor ama veritabanında kayıtlar durmaya devam ediyor.
Yani özetle: “sil” diye bir şey yok, “görünmez yap” var. Gerçekten veritabanından temizlemek istersen SQL sorgusuyla veya ek bir eklentiyle silmek gerekiyor.
  • Eğer yönetici olarak bir DM’yi tamamen silmek gerekiyorsa:
    1. Admin CP → Users → Edit User → Conversations kısmından konuşmaları görebilir ve silebilirsin. (Versiyona göre değişebilir)
    2. Üçüncü parti eklentiler var: “Conversation Delete”, “Conversation Tools” gibi eklentiler ile silme işlemini yapabilirsin.
Alıntı
Aslında her özel konuşma xf_conversation_master tablosunda tutuluyor.

Katılımcılar için ayrı ayrı xf_conversation_recipient kayıtları var, yani kim görüyor kim görmüyor buradan takip ediyor.

Sen ya da karşı taraf “Konuşmadan Ayrıl” dediğinde, sadece senin katılım kaydın siliniyor ya da “ayrıldı” durumuna geçiyor.

Ama mesajların kendisi (xf_conversation_message) veritabanında kalmaya devam ediyor. Çünkü karşı taraf hâlâ görebiliyor olabilir.

Eğer her iki taraf da ayrılırsa, konuşma artık kimseye görünmez hale geliyor. Ama yine de veritabanından tamamen silinmiyor, arka planda duruyor.