From 68a1928a4cf812b42a10a62d8374ddabf35e08f4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 20 Sep 2018 18:29:50 +0400 Subject: Redesigned page of the service editor Signed-off-by: Valentin Popov --- service.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 service.php (limited to 'service.php') diff --git a/service.php b/service.php new file mode 100644 index 0000000..202f59f --- /dev/null +++ b/service.php @@ -0,0 +1,79 @@ +. + +/** + * Page of the service editor. + * + * @copyright 2018 'Valentin Popov' + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package local_webhooks + */ + +require_once( __DIR__ . "/../../config.php" ); + +require_once( $CFG->dirroot . "/local/webhooks/classes/ui_forms_plugin.php" ); +require_once( $CFG->dirroot . "/local/webhooks/lib.php" ); +require_once( $CFG->libdir . "/adminlib.php" ); + +$serviceId = optional_param( "serviceid", 0, PARAM_INT ); + +$urlParameters = array( "serviceid" => $serviceId ); +$baseUrl = new moodle_url( "/local/webhooks/service.php", $urlParameters ); +$mainPage = new moodle_url( "/local/webhooks/index.php" ); + +admin_externalpage_setup( "local_webhooks", "", null, $baseUrl, array() ); +$context = context_system::instance(); + +$mForm = new local_webhooks_service_edit_form( $PAGE->url ); +$formData = (array) $mForm->get_data(); + +if ( $mForm->is_cancelled() ) { + redirect( $mainPage ); +} + +if ( !empty( $formData ) && confirm_sesskey() ) { + if ( isset( $formData[ "events" ] ) ) { + $formData[ "events" ] = array_keys( $formData[ "events" ] ); + } + + if ( !empty( $serviceId ) ) { + $formData[ "id" ] = $serviceId; + local_webhooks_api::update_service( $formData ); + } else { + local_webhooks_api::create_service( $formData ); + } + + redirect( $mainPage, new lang_string( "changessaved", "moodle" ) ); +} + +if ( !empty( $serviceId ) ) { + $service = local_webhooks_api::get_service( $serviceId ); + $service->events = array_fill_keys( $service->events, 1 ); + $mForm->set_data( $service ); +} + +/* The page title */ +$titlePage = new lang_string( "externalservice", "webservice" ); +$PAGE->navbar->add( $titlePage ); +$PAGE->set_heading( $titlePage ); +$PAGE->set_title( $titlePage ); +echo $OUTPUT->header(); + +/* Displays the form */ +$mForm->display(); + +/* Footer */ +echo $OUTPUT->footer(); \ No newline at end of file -- cgit v1.2.3