Özel Mesajlar
Özel mesajlar (PM), üyeler arası mesajlaşma sistemidir. Görünümün tamamı
pm.tpl şablonundan gelir.
Kimler kullanabilir?
DLE 21.0'te mesajlaşma üye grubu iznine bağlıdır. İlgili alanlar:
| İzin / ayar | Nerede? | Anlamı |
allow_pm | Üye grupları | Bu grup özel mesaj kullanabilir mi? |
max_pm | Üye grupları | Saklanabilecek toplam mesaj/link limiti |
max_pm_day | Üye grupları | Günlük gönderim limiti |
!
$config['allow_pm'] diye bir ayar YOKTUR
Bazı kaynaklarda geçer ama DLE 21.0 kodunda bulunmaz. Mesajlaşma izni
grup bazındadır; Sistem Ayarları'nda genel bir açma/kapama anahtarı
arayıp zaman kaybetmeyin.
pm.tpl etiketleri
Şablon üç ana ekrandan oluşur: gelen kutusu (liste), yeni mesaj ve
mesaj okuma. Etiketler bu ekranlara göre gruplanmıştır.
Genel / gezinme
| Etiket / blok | İçeriği |
[inbox]…[/inbox] | Gelen kutusu sekmesi |
[new_pm]…[/new_pm] | Yeni mesaj sekmesi |
{pm-limit} | Mesaj limiti |
{proc-pm-limit} | Limitin yüzdelik kullanımı |
{pm-progress-bar} | Limit doluluk çubuğu |
✕
Alt çizgi ile tire farklı etiketlerdir
pm.tpl içindeki sekme etiketleri alt çizgili:
[new_pm]. Üst paneldeki okunmamış mesaj etiketi ise
tireli: [new-pm] / {new-pm}. İkisi ayrı
şeylerdir; birini diğerinin yerine yazarsanız çalışmaz.
Mesaj listesi
| Etiket / blok | İçeriği |
[pmlist]…[/pmlist] | Liste sarmalayıcı |
{pmlist} | Konuşmaların HTML listesi |
Yeni mesaj ekranı
| Etiket / blok | İçeriği |
[newpm]…[/newpm] | Yeni mesaj formu |
{author} | Alıcı kullanıcı adı |
{subj} | Konu alanı |
{editor} | Mesaj yazma alanı |
[question], [sec_code], [recaptcha] | Güvenlik sorusu / captcha |
Mesaj okuma ekranı
| Etiket / blok | İçeriği |
[readpm]…[/readpm] | Okuma ekranı |
{subj} | Konu başlığı |
[not-self-dialog]…[/not-self-dialog] | Kendi kendine yazılan konuşma değilse |
{user-dialog} | Karşı tarafın kullanıcı adı |
[messages]…[/messages] | Mesaj döngüsü |
[pm-author] / [not-pm-author] | Mesajın sahibi mi? |
[messages] döngüsü içinde kullanılabilecek etiketler:
| Etiket / blok | İçeriği |
{id} | Mesaj ID |
{foto} | Gönderenin fotoğrafı |
{author} | Gönderen |
{date} | Gönderim tarihi |
{group-name} | Gönderenin grubu |
{text} | Mesaj metni |
{signature}, [signature] | İmza |
[online] / [offline] | Gönderen çevrimiçi mi? |
[reply] | Yanıtla bağlantısı |
[pm-edit] | Düzenle bağlantısı |
[ignore] | Engelle bağlantısı |
[del] | Sil bağlantısı |
[complaint] | Şikâyet bağlantısı (kendi mesajınızda görünmez) |
✕
İnternette geçen bazı etiketler YOKTUR
{pm-list}, {message-id} ve {pm-text} diye şablon
etiketleri bulunmaz. Gerçek karşılıkları: liste için
[pmlist] + {pmlist}, mesaj metni için {text},
ID için {id}.
Üye panelindeki sayaçlar
Üst panelde (üye bilgi alanı) mesaj durumunu göstermek için şu etiketler kullanılır:
| Etiket / blok | İçeriği |
{new-pm}, [new-pm]…[/new-pm] | Okunmamış mesaj bilgisi (varsa göster) |
{all-pm} | Toplam mesaj sayısı |
Veritabanı şeması
i
Mesaj sistemi DLE 17.3'te yenilendi
Eski tek tablo (_pm) kaldırıldı. Artık konuşma tabanlı bir
şema kullanılıyor. Eski bir kaynaktan kopyalanmış PREFIX._pm sorguları
çalışmaz.
| Tablo | Ne tutar? |
USERPREFIX._conversations | Konuşmalar (konu, son güncelleme) |
USERPREFIX._conversation_users | Konuşmanın katılımcıları |
USERPREFIX._conversations_messages | Mesajların kendisi |
USERPREFIX._conversation_reads | Kimin ne zaman okuduğu |
USERPREFIX._ignore_list | Engelleme listesi |
Üye başına toplam ve okunmamış sayıları performans için
USERPREFIX._users.pm_all ve pm_unread sütunlarında önceden
hesaplanıp saklanır.
AJAX işlemleri
| action | Ne yapar? |
send_pm | Yeni mesaj gönderir (captcha, spam denetimi, engel listesi ve limit kontrolünden geçer) |
show_send | Hızlı gönderim penceresini döndürür |
edit | Düzenleme formunu döndürür |
save_edit_pm | Düzenlemeyi kaydeder (karşı taraf okuduysa engellenir) |
del_pm | Mesajı siler |
| (action yok) | Mesaj önizlemesi |
Tüm istekler user_hash ile denetlenir. Eksik veya yanlış anahtar "güvenlik
kodu geçersiz" hatası döndürür.
Kontrol listesi
- İlgili üye gruplarında
allow_pm izni açık.
max_pm ve max_pm_day limitleri gruba uygun.
pm.tpl içinde [inbox], [new_pm], [pmlist], [newpm], [readpm], [messages] bloklarının hepsi duruyor.
- Üst panelde
{new-pm} (tireli) ile pm.tpl'deki [new_pm] (alt çizgili) karıştırılmadı.
- Captcha/güvenlik sorusu ayarları grup için tutarlı.
Sırada: SEF Adresler.