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 --- editservice.php | 81 --------------------------------------------------------- service.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 81 deletions(-) delete mode 100644 editservice.php create mode 100644 service.php diff --git a/editservice.php b/editservice.php deleted file mode 100644 index b7b4d72..0000000 --- a/editservice.php +++ /dev/null @@ -1,81 +0,0 @@ -. - -/** - * Page for editing the service. - * - * @package local_webhooks - * @copyright 2017 "Valentin Popov" - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -require_once(__DIR__ . "/../../config.php"); -require_once(__DIR__ . "/classes/service_form.php"); -require_once(__DIR__ . "/lib.php"); - -require_once($CFG->libdir . "/adminlib.php"); - -/* Optional parameters */ -$serviceid = optional_param("serviceid", 0, PARAM_INT); - -/* Link generation */ -$urlparameters = array("serviceid" => $serviceid); -$baseurl = new moodle_url("/local/webhooks/editservice.php", $urlparameters); -$managerservice = new moodle_url("/local/webhooks/index.php"); - -/* Configure the context of the page */ -admin_externalpage_setup("local_webhooks", "", null, $baseurl, array()); -$context = context_system::instance(); - -/* Create an editing form */ -$mform = new service_edit_form($PAGE->url); - -/* Cancel processing */ -if ($mform->is_cancelled()) { - redirect($managerservice); -} - -/* Getting the data */ -$servicerecord = new stdClass(); -if ($editing = boolval($serviceid)) { - $servicerecord = local_webhooks_get_record($serviceid); - $mform->set_data($servicerecord); -} - -/* Processing of received data */ -if (($data = $mform->get_data()) && confirm_sesskey()) { - if ($editing) { - $data->id = $serviceid; - local_webhooks_update_record($data); - } else { - local_webhooks_create_record($data); - } - - redirect($managerservice, new lang_string("changessaved", "moodle")); -} - -/* 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 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