From 040d7540d7513ac13334d22d221e373c873c8fe0 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 12 May 2019 04:58:59 +0400 Subject: Reworked the main page Signed-off-by: Valentin Popov --- index.php | 66 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/index.php b/index.php index 136db73..cd00763 100644 --- a/index.php +++ b/index.php @@ -14,61 +14,63 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . -/** - * Service list manager. - * - * @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_tables_plugin.php'); -require_once($CFG->dirroot . '/local/webhooks/lib.php'); +require_once(dirname(__DIR__, 2) . '/config.php'); + +global $CFG; + +defined('MOODLE_INTERNAL') || die(); + +require_once($CFG->dirroot . '/local/webhooks/classes/local/api.php'); +require_once($CFG->dirroot . '/local/webhooks/classes/output/services_table.php'); require_once($CFG->libdir . '/adminlib.php'); +use local_webhooks\local\api; +use local_webhooks\output\services_table; + $deleteid = optional_param('deleteid', 0, PARAM_INT); $hideshowid = optional_param('hideshowid', 0, PARAM_INT); $editpage = '/local/webhooks/service.php'; $mainpage = '/local/webhooks/index.php'; -$baseurl = new moodle_url($mainpage); -admin_externalpage_setup('local_webhooks', '', null, $baseurl, array()); +$baseurl = new moodle_url($mainpage); $context = context_system::instance(); -/* Remove the service */ -if (!empty($deleteid) && confirm_sesskey()) { - local_webhooks_api::delete_service($deleteid); +admin_externalpage_setup('local_webhooks', '', ['contextid' => $context->contextlevel], $baseurl, []); + +// Deleting the existing service. +if ($deleteid !== 0 && confirm_sesskey()) { + api::del_service($deleteid); + redirect($PAGE->url, new lang_string('deleted', 'moodle')); } -/* Disable / Enable the service */ -if (!empty($hideshowid) && confirm_sesskey()) { - $service = local_webhooks_api::get_service($hideshowid); - $service->status = !(bool) $service->status; - local_webhooks_api::update_service((array) $service); +// Setting status to existing service. +if ($hideshowid !== 0 && confirm_sesskey()) { + $service = api::get_service($hideshowid); + $service->status = !filter_var($service->status, FILTER_VALIDATE_BOOLEAN); + api::set_service($service); + redirect($PAGE->url, new lang_string('changessaved', 'moodle')); } -/* The page title */ +// Page header. $titlepage = new lang_string('pluginname', 'local_webhooks'); $PAGE->set_heading($titlepage); $PAGE->set_title($titlepage); echo $OUTPUT->header(); -/* Displays the table */ -$table = new local_webhooks_services_table('local-webhooks-table'); -$table->define_baseurl($baseurl); -$table->out(25, true); +// Adds the add button. +$addserviceurl = new moodle_url($editpage, ['sesskey' => sesskey()]); +echo $OUTPUT->single_button($addserviceurl, new lang_string('add', 'moodle')); -/* Separation */ +// Separation. echo html_writer::empty_tag('br'); -/* Adds the add button */ -$addserviceurl = new moodle_url($editpage, array('sesskey' => sesskey())); -echo $OUTPUT->single_button($addserviceurl, new lang_string('add', 'moodle')); +// Displays the table. +$table = new services_table('local-webhooks-services'); +$table->define_baseurl($baseurl); +$table->out(25, true); -/* Footer */ +// Footer. echo $OUTPUT->footer(); \ No newline at end of file -- cgit v1.2.3