Panel Personel ve Yetki Kancaları

1.7k görüntülenme Markdown

Personel hesapları, yetki grupları, departmanlar ve panel ayarlarının on kancası.

Genel Bakış

Paneli kimin kullandığıyla ilgili her şey burada: personel hesapları, yetki grupları, destek departmanları ve yöneticinin kendi tercihleri.

Bu kancaların ortak deseni şudur: elinize kaydın tamamı değil, değişen alanlar gelir. Hiçbir şey değişmediyse dizi boştur.

Referans

Personel kaydının güncellenmesini izleme

actionadmin.staff_updated
AdminStaff yalnız değişenler

Bir yönetici hesabı güncellendikten sonra çalışır.

Parametreler 3
$idintGüncellenen yöneticinin kimliği.
$dataarrayAna kayıtta değişen alanlar: durumu, adresi, adı, dili, yetkisi ya da parolası. Hiçbiri değişmediyse boş gelir: “ne değişti” sorusunun cevabı budur, kaydın tamamı değil.
$infoarrayEk bilgide değişen alanlar: imzası, notları, görünüm tercihi ve telefonu.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.staff_updated', 10, function ($id, $data, $info) {
    // Diziler yalniz DEGISENLERI tasir, kaydin tamamini degil.
    if (isset($data['privilege'])) Acme::auditPrivilegeChange($id, $data['privilege']);
});

Personel silinmesini izleme

actionadmin.staff_deleted
AdminStaff yalnız kimlik

Bir yönetici hesabı silindikten sonra çalışır.

Parametreler 1
$idintSilinen yöneticinin kimliği. Kayıt geçilmez: adına ya da adresine ihtiyacınız varsa silme öncesinde saklamış olmanız gerekir.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.staff_deleted', 10, function ($id) {
    // Kayit gecilmez: gereken bilgiyi once saklamis olmalisiniz.
    Acme::revokeAllTokens($id);
});

İkinci adım doğrulamanın kapatılmasını izleme

actionadmin.staff_authentication_disabled
AdminStaff güvenlik zayıflar

Bir yöneticinin ikinci adım doğrulaması kapatıldıktan sonra çalışır. Bu bir güvenlik zayıflamasıdır ve genellikle başka bir yönetici yapar.

Parametreler 2
$idintDoğrulaması kapatılan yönetici.
$methodstringKapatılan yöntemin anahtarı.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.staff_authentication_disabled', 10, function ($id, $method) {
    // Guvenlik zayifladi: sessiz kalmayin.
    Acme::alertSecurityTeam($id, $method);
});

Yetki grubunun kaydını izleme

actionadmin.privilege_saved
AdminStaff eklemede kimlik güvenilmez

Bir yetki grubu oluşturulduğunda ya da düzenlendiğinde çalışır.

Parametreler 4
$idintYetki grubunun kimliği. ? Ekleme akışında yeni kimlik değildir ve sıfır olabilir. Yeni kayıt olup olmadığını buradan değil, işlem türünden anlayın.
$typestringİşlem: add ya da edit.
$namestringGrubun adı.
$permsstringİzin anahtarları, kaydedildiği virgüllü hâliyle. Dizi değildir: işlemek için ayırmanız gerekir.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.privilege_saved', 10, function ($id, $type, $name, $perms) {
    // Yeni kayit oldugunu KIMLIKTEN degil, islem turunden anlayin.
    if ($type === 'add') Acme::noteNewRole($name, explode(',', $perms));
});

Yöneticinin kendi profilini güncellemesini izleme

actionadmin.profile_updated
AdminStaff kendi profili

Bir yönetici kendi profilini güncellediğinde çalışır.

Parametreler 3
$admin_idintProfili güncellenen yönetici.
$data_updatesarrayAna kayıtta değişen alanlar: adı ve adresi. Değişiklik yoksa boş gelir.
$info_updatesarrayEk bilgide değişenler: telefon alanları.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.profile_updated', 10,
    function ($admin_id, $data_updates, $info_updates) {
        if (isset($data_updates['email'])) Acme::alertEmailChange($admin_id);
    });

Panel tercihlerinin değişmesini izleme

actionadmin.preferences_updated
AdminStaff görünüm tercihleri

Yönetici panelin görünümüyle ilgili tercihlerini değiştirdiğinde çalışır.

Parametreler 3
$admin_idintTercihi değişen yönetici.
$info_setsarrayDeğişen görünüm tercihleri: aydınlık/karanlık ve menü durumu.
$data_setsarrayAna kayıtta değişen veri: dili.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.preferences_updated', 10,
    function ($admin_id, $info_sets, $data_sets) {
        if (isset($data_sets['lang'])) Acme::syncLocale($admin_id, $data_sets['lang']);
    });

Departman kaydını izleme

actionadmin.department_saved
AdminStaff eklemede kimlik doğru

Bir destek departmanı oluşturulduğunda ya da düzenlendiğinde çalışır.

Parametreler 3
$idintDepartmanın kimliği. Yetki grubu kancasının aksine burada ekleme akışında da doğru kimlik geçer.
$typestringİşlem: add ya da edit.
$set_dataarrayKaydedilen alanlar: sırası, sorumluları ve simgesi.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.department_saved', 10, function ($id, $type, $set_data) {
    // Burada ekleme akisinda da dogru kimlik gelir.
    Acme::syncDepartment($id, $set_data);
});

Departman silinmesini izleme

actionadmin.department_deleted
AdminStaff silme sonrası

Bir destek departmanı silindikten sonra çalışır.

Parametreler 2
$idintSilinen departmanın kimliği.
$detailarraySilinen departmanın kaydı, adı içinde.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.department_deleted', 10, function ($id, $detail) {
    Acme::dropDepartmentRoute($id);
});

Kayıt temizliğini izleme

actionadmin.logs_cleared
AdminTools geri alınamaz

Yönetici bir kayıt türünü temizlediğinde çalışır. Silinen kayıtlar geri gelmez.

Parametreler 2
$typestringTemizlenen tür: kullanıcı eylemleri, hatalar ya da modül kayıtları.
$datestringKesim tarihi; bu tarihe kadar ve dâhil olan kayıtlar silinmiştir.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.logs_cleared', 10, function ($type, $date) {
    // Silinenler geri gelmez: kendi arsiviniz varsa oraya not dusun.
    Acme::noteRetention($type, $date);
});

Bildirim ayarlarının kaydını izleme

actionadmin.notification_settings_saved
AdminSettings şablon motoru

Bildirim şablonlarının hangi motorla işleneceği değiştiğinde çalışır. Bu ayar bütün bildirimlerin nasıl üretildiğini belirler.

Parametreler 2
$enginestringSeçilen motor: yok, Smarty ya da Twig.
$admin_idintDeğişikliği yapan yönetici; oturum yoksa sıfır.
Dönüş 1
voidDönüş yoksayılır.
Dinleyici
Hook::add('action:admin.notification_settings_saved', 10, function ($engine, $admin_id) {
    // Butun bildirimlerin uretimi bu ayara bagli.
    Acme::notifyOps('bildirim motoru: ' . $engine);
});

Tuzaklar

Yetki grubu eklemede kimlik güvenilmez

Yetki kancasında ekleme akışında geçen kimlik yeni kaydın kimliği değildir ve sıfır olabilir. Yeni kayıt olup olmadığını işlem türünden anlayın. Departman kancası bu kusuru taşımaz; orada kimlik her iki akışta da doğrudur.

Diziler değişenleri taşır, kaydın tamamını değil

Personel, profil ve tercih kancalarındaki diziler yalnız değişen alanları içerir. Bir alanın orada olmaması "silindi" demek değil, "dokunulmadı" demektir. Kaydın güncel hâline ihtiyacınız varsa ayrıca okuyun.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.