Hesap Kısıtlama Kancaları
Kara liste, toplu askıya alma, atıl hesaplar ve toplu iletilerin altı kancası.
Genel Bakış
Bir hesabın hareket alanını daraltan işlemler burada: kara listeye alma, bütün hizmetleri askıya alma ya da iptal etme, uzun süre kullanılmayan hesabı silme.
Hepsi geniş etkili ve geri alması zordur. Kapılar bu yüzden değerlidir: yanlış bir tıklamayı durdurabilecek tek nokta onlardır.
Referans
Kara listeye almayı durdurma
Bir müşteri kara listeye alınmadan önce çalışır.
Hook::add('gate:user.blacklist_add', 10, function ($user_id, $reason, $restrictions) {
// Kurumsal musteride ikinci onay isteyin.
if (Acme::isEnterprise($user_id)) return 'Kurumsal hesap icin yonetici onayi gerekir.';
return null;
});Kara liste değişimini izleme
Bir müşterinin kara liste durumu değiştikten sonra çalışır.
add, add-2 ya da remove. İki farklı ekleme değeri vardır; yalnız birine bakan bir dinleyici diğerini kaçırır.Hook::add('action:user.blacklist_changed', 10,
function ($user_id, $status, $reason, $admin_id) {
// Iki ayri ekleme degeri var.
if ($status !== 'remove') Acme::flagRisk($user_id, $reason);
});Toplu hizmet iptalini durdurma
Bir müşterinin bütün hizmetleri iptal edilmeden önce çalışır. Tek tıkla verilen, geri alması güç bir karardır.
Hook::add('gate:user.services_bulk_cancel', 10, function ($user_id) {
// Tek tikla butun hizmetler gider.
if (Acme::hasActiveContract($user_id)) return 'Sozlesmesi suren hesabin hizmetleri toplu iptal edilemez.';
return null;
});Toplu askıya almayı izleme
Bir müşterinin bütün hizmetleri askıya alındıktan sonra çalışır.
Hook::add('action:user.services_bulk_suspended', 10, function ($user_id) {
Acme::notifyAccountFrozen($user_id);
});Atıl hesabın silinmesini durdurma
Uzun süre kullanılmayan bir hesap silinmeden önce çalışır. Kanca aday hesap başına çalışır: bir turda yüzlerce kez çağrılabilir.
Hook::add('gate:user.delete_dormant', 10, function ($userId, $u) {
// Hesap basina calisir: hafif tutun.
if (Acme::hasRetentionHold($userId)) return 'saklama yukumlulugu var';
return null;
});Toplu ileti alıcılarını değiştirme
Toplu e-posta ya da kısa mesaj için alıcı havuzu kurulduktan sonra çalışır.
Hook::add('filter:user.bulk_recipients', 10,
function (&$result, $dbType, $notifType, $filters) {
// SAYI ile LISTE tutarli kalmali.
$result['contacts'] = Acme::dropOptedOut($result['contacts'] ?? []);
$result['count'] = count($result['contacts']);
});Tuzaklar
Durum alanı üç değer taşır ve ikisi eklemedir. Yalnız birine bakan bir dinleyici, ikinci yolla kara listeye alınan müşteriyi kaçırır. Kaldırmayı sınayıp gerisini ekleme saymak daha güvenlidir.
Toplu alıcı filtresi hem kişileri hem sayıyı taşır. Listeden kişi çıkarıp sayıyı olduğu gibi bırakmak, yöneticiye yanlış bir alıcı sayısı gösterir ve gönderim kararını bozar.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.