diff options
-rw-r--r-- | index.php | 66 |
1 files changed, 34 insertions, 32 deletions
@@ -14,61 +14,63 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -/** - * Service list manager. - * - * @copyright 2018 'Valentin Popov' <info@valentineus.link> - * @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 |