1 | <?php |
||
24 | class Listener |
||
25 | { |
||
26 | /** |
||
27 | * @var array Список callback функций |
||
28 | */ |
||
29 | private $hooks = []; |
||
30 | |||
31 | /** |
||
32 | * @var array Список всех доступных событий |
||
33 | */ |
||
34 | public $events_list = [ |
||
35 | 'add_lead', // Добавить сделку |
||
36 | 'add_contact', // Добавить контакт |
||
37 | 'add_company', // Добавить компанию |
||
38 | 'add_customer', // Добавить покупателя |
||
39 | 'add_task', // Добавить покупателя |
||
40 | 'update_lead', // Изменить сделку |
||
41 | 'update_contact', // Изменить контакт |
||
42 | 'update_company', // Изменить компанию |
||
43 | 'update_customer', // Изменить покупателя |
||
44 | 'update_task', // Изменить покупателя |
||
45 | 'delete_lead', // Удалить сделку |
||
46 | 'delete_contact', // Удалить контакт |
||
47 | 'delete_company', // Удалить компанию |
||
48 | 'delete_customer', // Удалить покупателя |
||
49 | 'delete_task', // Удалить задачу |
||
50 | 'status_lead', // Смена статуса сделки |
||
51 | 'responsible_lead', // Смена отв-го сделки |
||
52 | 'restore_contact', // Восстановить контакт |
||
53 | 'restore_company', // Восстановить компанию |
||
54 | 'restore_lead', // Восстановить сделку |
||
55 | 'note_lead', // Примечание в сделке |
||
56 | 'note_contact', // Примечание в контакте |
||
57 | 'note_company', // Примечание в компании |
||
58 | 'note_customer', // Примечание в покупателе |
||
59 | ]; |
||
60 | |||
61 | /** |
||
62 | * Добавление события на уведомление в список событий |
||
63 | * |
||
64 | * @param string|array $events Код события или массив событий |
||
65 | * @param callback|callable $callback Callback-функция |
||
66 | * @return $this |
||
67 | * @throws Exception |
||
68 | */ |
||
69 | 13 | public function on($events, $callback) |
|
93 | |||
94 | /** |
||
95 | * Вызов обработчика уведомлений |
||
96 | * |
||
97 | * @return bool |
||
98 | */ |
||
99 | 13 | public function listen() |
|
132 | |||
133 | /** |
||
134 | * Очистка списка событий |
||
135 | * |
||
136 | * @return $this |
||
137 | */ |
||
138 | 13 | public function clean() |
|
144 | |||
145 | /** |
||
146 | * Вызов Callback-функции на уведомление |
||
147 | * |
||
148 | * @param string $name Код события |
||
149 | * @param string $domain Поддомен amoCRM |
||
150 | * @param int $id Id объекта связанного с уведомлением |
||
151 | * @param array $data Поля возвращаемые уведомлением |
||
152 | */ |
||
153 | 13 | private function fireCallback($name, $domain, $id, $data) |
|
161 | } |
||
162 |