From 66b5928e6edbdffc2039682c64a01aedfa717091 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 19 Feb 2018 12:36:09 +0400 Subject: Added clearing the cache when changing data --- lib.php | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/lib.php b/lib.php index e3f034e..422c108 100644 --- a/lib.php +++ b/lib.php @@ -52,7 +52,7 @@ function local_webhooks_change_status($serviceid) { */ function local_webhooks_search_services_by_event($eventname) { $recordlist = local_webhooks_get_list_records(); - $result = array(); + $result = array(); foreach ($recordlist as $record) { if (boolval($record->enable) && !empty($record->events[$eventname])) { @@ -126,7 +126,13 @@ function local_webhooks_create_record($record) { } $result = $DB->insert_record("local_webhooks_service", $record, true, false); + + /* Clear the plugin cache */ + local_webhooks_cache_delete_all(); + + /* Event notification */ local_webhooks_events::service_added($result); + return $result; } @@ -145,7 +151,13 @@ function local_webhooks_update_record($record) { $record->events = !empty($record->events) ? local_webhooks_serialization_data($record->events) : null; $result = $DB->update_record("local_webhooks_service", $record, false); + + /* Clear the plugin cache */ + local_webhooks_cache_delete_all(); + + /* Event notification */ local_webhooks_events::service_updated($record->id); + return boolval($result); } @@ -157,8 +169,15 @@ function local_webhooks_update_record($record) { */ function local_webhooks_delete_record($serviceid) { global $DB; + $result = $DB->delete_records("local_webhooks_service", array("id" => $serviceid)); + + /* Clear the plugin cache */ + local_webhooks_cache_delete_all(); + + /* Event notification */ local_webhooks_events::service_deleted($serviceid); + return boolval($result); } @@ -169,8 +188,15 @@ function local_webhooks_delete_record($serviceid) { */ function local_webhooks_delete_all_records() { global $DB; + $result = $DB->delete_records("local_webhooks_service", null); + + /* Clear the plugin cache */ + local_webhooks_cache_delete_all(); + + /* Event notification */ local_webhooks_events::service_deletedall(); + return boolval($result); } @@ -182,7 +208,10 @@ function local_webhooks_delete_all_records() { function local_webhooks_create_backup() { $listrecords = local_webhooks_get_list_records(); $result = local_webhooks_serialization_data($listrecords); + + /* Event notification */ local_webhooks_events::backup_performed(); + return $result; } @@ -202,6 +231,7 @@ function local_webhooks_restore_backup($data, $deleterecords = false) { local_webhooks_create_record($servicerecord); } + /* Event notification */ local_webhooks_events::backup_restored(); } @@ -222,9 +252,11 @@ function local_webhooks_send_request($event, $callback) { $curl = new curl(); $curl->setHeader(array("Content-Type: application/" . $callback->type)); $curl->post($callback->url, json_encode($event)); - $response = $curl->getResponse(); + + /* Event notification */ local_webhooks_events::response_answer($callback->id, $response); + return $response; } -- cgit v1.2.3