From b6659da190d3885f9bfba4b4620da87611a28480 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 22 Oct 2017 18:50:30 +0400 Subject: Added page template editor --- editservice.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 editservice.php (limited to 'editservice.php') diff --git a/editservice.php b/editservice.php new file mode 100644 index 0000000..a8bda17 --- /dev/null +++ b/editservice.php @@ -0,0 +1,69 @@ +. + +/** + * Service editor. + * + * @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/form.php"); + +$idservice = optional_param("idservice", 0, PARAM_INT); + +require_login(); + +$managerservice = new moodle_url("/local/webhooks/managerservice.php"); +$baseurl = new moodle_url("/local/webhooks/editservice.php"); +$PAGE->set_url($baseurl); + +$context = context_system::instance(); +$PAGE->set_context($context); + +/* Preparing a template for data */ +$titlepage = new lang_string("editserviceadds", "local_webhooks"); +$servicerecord = new stdClass; + +if (boolval($idservice)) { + $titlepage = new lang_string("editserviceedits", "local_webhooks"); + $servicerecord = $DB->get_record( + "local_webhooks_service", + array("id" => $idservice), + "*", MUST_EXIST); +} + +/* Page template */ +$PAGE->set_pagelayout("admin"); +$PAGE->set_title($titlepage); +$PAGE->set_heading($titlepage); + +/* Create an editing form */ +$mform = new \local_webhooks\service_edit_form(); + +/* The page title */ +$PAGE->navbar->add(new lang_string("local")); +$PAGE->navbar->add(new lang_string("pluginname", "local_webhooks")); +$PAGE->navbar->add(new lang_string("managementmanager", "local_webhooks"), $managerservice); +$PAGE->navbar->add($titlepage); +echo $OUTPUT->header(); + +/* Displays the form */ +$mform->display(); + +echo $OUTPUT->footer(); \ No newline at end of file -- cgit v1.2.3 From 2d2a683549393c54d12d2de1918dd1f49f5bd0c8 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 23 Oct 2017 07:13:42 +0400 Subject: Added action handlers --- editservice.php | 47 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) (limited to 'editservice.php') diff --git a/editservice.php b/editservice.php index a8bda17..7b2fcb7 100644 --- a/editservice.php +++ b/editservice.php @@ -23,16 +23,19 @@ */ require_once(__DIR__ . "/../../config.php"); -require_once(__DIR__ . "/classes/form.php"); +require_once(__DIR__ . "/classes/forms.php"); $idservice = optional_param("idservice", 0, PARAM_INT); require_login(); -$managerservice = new moodle_url("/local/webhooks/managerservice.php"); -$baseurl = new moodle_url("/local/webhooks/editservice.php"); -$PAGE->set_url($baseurl); +/* Link generation */ +$urlparameters = array("idservice" => $idservice); +$managerservice = new moodle_url("/local/webhooks/managerservice.php", $urlparameters); +$baseurl = new moodle_url("/local/webhooks/editservice.php", $urlparameters); +$PAGE->set_url($baseurl, $urlparameters); +/* Configure the context of the page */ $context = context_system::instance(); $PAGE->set_context($context); @@ -40,12 +43,35 @@ $PAGE->set_context($context); $titlepage = new lang_string("editserviceadds", "local_webhooks"); $servicerecord = new stdClass; -if (boolval($idservice)) { +/* Create an editing form */ +$mform = new \local_webhooks\service_edit_form($PAGE->url); + +/* Cancel processing */ +if ($mform->is_cancelled()) { + redirect($managerservice); +} + +/* Getting the data */ +if ($idediting = boolval($idservice)) { + $servicerecord = $DB->get_record("local_webhooks_service", array("id" => $idservice), "*", MUST_EXIST); $titlepage = new lang_string("editserviceedits", "local_webhooks"); - $servicerecord = $DB->get_record( - "local_webhooks_service", - array("id" => $idservice), - "*", MUST_EXIST); + $mform->set_data($servicerecord); +} + +/* Processing of received data */ +if ($data = $mform->get_data()) { + if (empty($data->enable)) { + $data->enable = 0; + } + + if ($idediting) { + $data->id = $idservice; + $DB->update_record("local_webhooks_service", $data); + } else { + $DB->insert_record("local_webhooks_service", $data); + } + + redirect($managerservice); } /* Page template */ @@ -53,9 +79,6 @@ $PAGE->set_pagelayout("admin"); $PAGE->set_title($titlepage); $PAGE->set_heading($titlepage); -/* Create an editing form */ -$mform = new \local_webhooks\service_edit_form(); - /* The page title */ $PAGE->navbar->add(new lang_string("local")); $PAGE->navbar->add(new lang_string("pluginname", "local_webhooks")); -- cgit v1.2.3 From a8ad95f44e1f9f9410b38f69187d843b2b806928 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 24 Oct 2017 04:13:48 +0400 Subject: Refactoring the service editor --- editservice.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'editservice.php') diff --git a/editservice.php b/editservice.php index 7b2fcb7..5c6d1f6 100644 --- a/editservice.php +++ b/editservice.php @@ -40,7 +40,7 @@ $context = context_system::instance(); $PAGE->set_context($context); /* Preparing a template for data */ -$titlepage = new lang_string("editserviceadds", "local_webhooks"); +$titlepage = new lang_string("externalservice", "webservice"); $servicerecord = new stdClass; /* Create an editing form */ @@ -54,7 +54,6 @@ if ($mform->is_cancelled()) { /* Getting the data */ if ($idediting = boolval($idservice)) { $servicerecord = $DB->get_record("local_webhooks_service", array("id" => $idservice), "*", MUST_EXIST); - $titlepage = new lang_string("editserviceedits", "local_webhooks"); $mform->set_data($servicerecord); } @@ -76,13 +75,13 @@ if ($data = $mform->get_data()) { /* Page template */ $PAGE->set_pagelayout("admin"); -$PAGE->set_title($titlepage); $PAGE->set_heading($titlepage); +$PAGE->set_title($titlepage); /* The page title */ -$PAGE->navbar->add(new lang_string("local")); +$PAGE->navbar->add(new lang_string("local", "moodle")); $PAGE->navbar->add(new lang_string("pluginname", "local_webhooks")); -$PAGE->navbar->add(new lang_string("managementmanager", "local_webhooks"), $managerservice); +$PAGE->navbar->add(new lang_string("managerservice", "local_webhooks"), $managerservice); $PAGE->navbar->add($titlepage); echo $OUTPUT->header(); -- cgit v1.2.3