Added clearing the cache when changing data
This commit is contained in:
		
							
								
								
									
										36
									
								
								lib.php
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								lib.php
									
									
									
									
									
								
							@@ -52,7 +52,7 @@ function local_webhooks_change_status($serviceid) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
function local_webhooks_search_services_by_event($eventname) {
 | 
					function local_webhooks_search_services_by_event($eventname) {
 | 
				
			||||||
    $recordlist = local_webhooks_get_list_records();
 | 
					    $recordlist = local_webhooks_get_list_records();
 | 
				
			||||||
    $result = array();
 | 
					    $result     = array();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    foreach ($recordlist as $record) {
 | 
					    foreach ($recordlist as $record) {
 | 
				
			||||||
        if (boolval($record->enable) && !empty($record->events[$eventname])) {
 | 
					        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);
 | 
					    $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);
 | 
					    local_webhooks_events::service_added($result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return $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;
 | 
					    $record->events = !empty($record->events) ? local_webhooks_serialization_data($record->events) : null;
 | 
				
			||||||
    $result = $DB->update_record("local_webhooks_service", $record, false);
 | 
					    $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);
 | 
					    local_webhooks_events::service_updated($record->id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return boolval($result);
 | 
					    return boolval($result);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -157,8 +169,15 @@ function local_webhooks_update_record($record) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
function local_webhooks_delete_record($serviceid) {
 | 
					function local_webhooks_delete_record($serviceid) {
 | 
				
			||||||
    global $DB;
 | 
					    global $DB;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $result = $DB->delete_records("local_webhooks_service", array("id" => $serviceid));
 | 
					    $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);
 | 
					    local_webhooks_events::service_deleted($serviceid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return boolval($result);
 | 
					    return boolval($result);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -169,8 +188,15 @@ function local_webhooks_delete_record($serviceid) {
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
function local_webhooks_delete_all_records() {
 | 
					function local_webhooks_delete_all_records() {
 | 
				
			||||||
    global $DB;
 | 
					    global $DB;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $result = $DB->delete_records("local_webhooks_service", null);
 | 
					    $result = $DB->delete_records("local_webhooks_service", null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Clear the plugin cache */
 | 
				
			||||||
 | 
					    local_webhooks_cache_delete_all();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Event notification */
 | 
				
			||||||
    local_webhooks_events::service_deletedall();
 | 
					    local_webhooks_events::service_deletedall();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return boolval($result);
 | 
					    return boolval($result);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -182,7 +208,10 @@ function local_webhooks_delete_all_records() {
 | 
				
			|||||||
function local_webhooks_create_backup() {
 | 
					function local_webhooks_create_backup() {
 | 
				
			||||||
    $listrecords = local_webhooks_get_list_records();
 | 
					    $listrecords = local_webhooks_get_list_records();
 | 
				
			||||||
    $result      = local_webhooks_serialization_data($listrecords);
 | 
					    $result      = local_webhooks_serialization_data($listrecords);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Event notification */
 | 
				
			||||||
    local_webhooks_events::backup_performed();
 | 
					    local_webhooks_events::backup_performed();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return $result;
 | 
					    return $result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -202,6 +231,7 @@ function local_webhooks_restore_backup($data, $deleterecords = false) {
 | 
				
			|||||||
        local_webhooks_create_record($servicerecord);
 | 
					        local_webhooks_create_record($servicerecord);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Event notification */
 | 
				
			||||||
    local_webhooks_events::backup_restored();
 | 
					    local_webhooks_events::backup_restored();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -222,9 +252,11 @@ function local_webhooks_send_request($event, $callback) {
 | 
				
			|||||||
    $curl = new curl();
 | 
					    $curl = new curl();
 | 
				
			||||||
    $curl->setHeader(array("Content-Type: application/" . $callback->type));
 | 
					    $curl->setHeader(array("Content-Type: application/" . $callback->type));
 | 
				
			||||||
    $curl->post($callback->url, json_encode($event));
 | 
					    $curl->post($callback->url, json_encode($event));
 | 
				
			||||||
 | 
					 | 
				
			||||||
    $response = $curl->getResponse();
 | 
					    $response = $curl->getResponse();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Event notification */
 | 
				
			||||||
    local_webhooks_events::response_answer($callback->id, $response);
 | 
					    local_webhooks_events::response_answer($callback->id, $response);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return $response;
 | 
					    return $response;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user