. /** * Defining task handlers. * * @copyright 2018 'Valentin Popov' * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package local_webhooks */ namespace local_webhooks\task; defined( "MOODLE_INTERNAL" ) || die(); /** * Class process_events_task * * @copyright 2018 'Valentin Popov' * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package local_webhooks\task */ class process_events_task extends \core\task\adhoc_task { /** * Task handler. */ public function execute() { global $CFG; require_once( $CFG->dirroot . "/local/webhooks/lib.php" ); $services = \local_webhooks_api::get_services_by_event( $this->get_custom_data()->eventname ); foreach ( $services as $service ) { if ( empty( $service->status ) ) { return; } $curl = new \curl(); $event = (array) $this->get_custom_data(); $event[ "token" ] = $service->token; $curl->setHeader( array( "Content-Type: " . $service->header ) ); $curl->post( $service->point, json_encode( $event ) ); // TODO: Mark the log $curl->getResponse(); } } }