# Horgok: értesítések

> Az értesítések kezelése, az SMS-küldés, az ütemezett értesítések időzítése, az e-mail- és SMS-adatok módosítása, valamint az egyedi helytartók horgai.

Az értesítések horgaival módosíthatod az értesítések adatát, szabályozhatod a kiküldés idejét, átírhatod az e-mailek és SMS-ek tartalmát, vagy saját kódot futtathatsz, amikor egy értesítést létrehoznak, módosítanak, elküldenek vagy törölnek. Programozási ismeret kell hozzá, a támogatás csak általános tanácsot ad.

## Értesítések kezelése

| Horog | Típus | Mikor fut | Paraméterek |
|---|---|---|---|
| `amelia_before_notification_added_filter` | szűrő | a hozzáadás előtt, módosíthatod az adatot | `$notification` |
| `amelia_before_notification_added` | művelet | a hozzáadás előtt | `$notification` |
| `amelia_after_notification_added` | művelet | a hozzáadás után | `$notification` |
| `amelia_before_notification_updated_filter` | szűrő | a módosítás előtt, módosíthatod az adatot | `$notification` |
| `amelia_before_notification_updated` | művelet | a módosítás előtt | `$notification` |
| `amelia_after_notification_updated` | művelet | a módosítás után | `$notification` |
| `amelia_before_notification_status_updated` | művelet | az értesítés állapotának (be- vagy kikapcsolásának) módosítása előtt | `$status`, `$notificationId` |
| `amelia_after_notification_status_updated` | művelet | az állapot módosítása után | `$status`, `$notificationId` |
| `amelia_get_notifications_filter` | szűrő | az értesítések admin oldali lekérése előtt, módosíthatod a listát | `$notifications` |
| `amelia_get_notifications` | művelet | a lekérés előtt | `$notifications` |
| `amelia_before_notification_deleted` | művelet | a törlés előtt | `$notification` |
| `amelia_after_notification_deleted` | művelet | a törlés után | `$notification` |

```php
function example($notification)
{
    // értesítésadat módosítása
    return $notification;
}

add_filter('amelia_before_notification_added_filter', 'example', 10, 1);
```

## SMS-előzmények és SMS-kérés

| Horog | Típus | Mikor fut | Paraméterek |
|---|---|---|---|
| `amelia_get_sms_history_filter` | szűrő | az SMS-előzmények admin oldali lekérése előtt, módosíthatod az adatot | `$notifications` |
| `amelia_get_sms_history` | művelet | a lekérés előtt | `$notifications` |
| `amelia_before_send_sms_request_filter` | szűrő | az SMS-kérés végrehajtása előtt, módosíthatod az adatot | `$data`, `$action` |
| `amelia_before_send_sms_request` | művelet | a kérés végrehajtása előtt | `$data`, `$action` |
| `amelia_after_send_sms_request` | művelet | a kérés végrehajtása után | `$data`, `$action` |

## Ütemezett értesítések

| Horog | Típus | Mikor fut | Paraméterek |
|---|---|---|---|
| `amelia_before_send_scheduled_notifications` | művelet | az ütemezett értesítések kiküldése előtt | nincs |
| `amelia_after_send_scheduled_notifications` | művelet | a kiküldés után | nincs |
| `amelia_modify_scheduled_notification_time_after` | szűrő | az időpont után küldött értesítés időzítésének módosítása | `$timeAfter`, `$notification` |
| `amelia_modify_scheduled_notification_last_time` | szűrő | az időpont után legkésőbb elküldhető értesítés idejének megadása | `$lastTime`, `$notification` |
| `amelia_modify_scheduled_notification_time_before` | szűrő | az időpont előtt küldött értesítés időzítésének módosítása | `$timeBefore`, `$notification` |

```php
function example($timeBefore, $notification)
{
    // időzítés módosítása
    return $timeBefore;
}

add_filter('amelia_modify_scheduled_notification_time_before', 'example', 10, 2);
```

## E-mail- és SMS-adatok módosítása

| Horog | Típus | Mikor fut | Paraméter |
|---|---|---|---|
| `amelia_manipulate_email_data` | szűrő | az e-mail elküldése előtt módosíthatod az e-mail adatait | `$data` |
| `amelia_manipulate_test_email_data` | szűrő | a teszt e-mail adatainak módosítása | `$data` |
| `amelia_manipulate_sms_data` | szűrő | az SMS elküldése előtt módosíthatod az SMS adatait | `$data` |

Ha az e-mail vagy az SMS adatában a `skipSending` kulcsot `true`-ra állítod, az üzenet nem kerül elküldésre:

```php
function example($data)
{
    $data['skipSending'] = true;
    return $data;
}

add_filter('amelia_manipulate_email_data', 'example', 10, 1);
```

## Egyedi helytartó

Az `amelia_dynamic_placeholder_{helytartoNeve}` szűrővel saját helytartót adhatsz az értesítési sablonokhoz. A szűrő nevének végére a helytartó neve kerül, a visszaadott szöveg pedig behelyettesítődik a sablonba.

```php
function example($data)
{
    return 'saját szolgáltatásnév';
}

add_filter('amelia_dynamic_placeholder_serviceCustomName', 'example', 10, 1);
```
