From d0e7af84ff369cd2aa20ac4fefae28b8b6b4dc53 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 9 Sep 2018 05:33:14 +0400 Subject: A reworked table for displaying a list of services Signed-off-by: Valentin Popov --- classes/webhooks_table.php | 162 --------------------------------------------- 1 file changed, 162 deletions(-) delete mode 100644 classes/webhooks_table.php (limited to 'classes/webhooks_table.php') diff --git a/classes/webhooks_table.php b/classes/webhooks_table.php deleted file mode 100644 index 53f714c..0000000 --- a/classes/webhooks_table.php +++ /dev/null @@ -1,162 +0,0 @@ -. - -/** - * Describes the plugin tables. - * - * @package local_webhooks - * @copyright 2017 "Valentin Popov" - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined("MOODLE_INTERNAL") || die(); - -require_once(__DIR__ . "/../lib.php"); - -require_once($CFG->libdir . "/tablelib.php"); - -/** - * Describes the main table of the plugin. - * - * @copyright 2017 "Valentin Popov" - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class local_webhooks_table extends table_sql { - /** - * Manager address. - * - * @var string $manager - */ - protected static $manager = "/local/webhooks/index.php"; - - /** - * Editor's address. - * - * @var string $editor - */ - protected static $editor = "/local/webhooks/editservice.php"; - - /** - * Constructor. - * - * @param string $uniqueid The unique identifier of the table. - */ - public function __construct($uniqueid) { - parent::__construct($uniqueid); - $this->define_table_columns(); - $this->define_table_configs(); - } - - /** - * Query the database for results to display in the table. - * - * @param number $pagesize - * @param boolean $useinitialsbar - */ - public function query_db($pagesize, $useinitialsbar = false) { - $this->pagesize($pagesize, local_webhooks_get_total_count()); - $this->rawdata = local_webhooks_get_list_records($this->get_page_start(), $this->get_page_size()); - } - - /** - * Defines the basic settings of the table. - */ - public function define_table_configs() { - $this->collapsible(false); - $this->is_downloadable(false); - $this->no_sorting("actions"); - $this->pageable(true); - } - - /** - * Defines the main columns and table headers. - */ - public function define_table_columns() { - $columns = array( - "title", - "url", - "events", - "actions" - ); - - $headers = array( - new lang_string("name", "moodle"), - new lang_string("url", "moodle"), - new lang_string("edulevel", "moodle"), - new lang_string("actions", "moodle") - ); - - $this->define_columns($columns); - $this->define_headers($headers); - } - - /** - * Specifies the display of a column with actions. - * - * @param object $row Data from the database. - * @return string Displayed data. - */ - public function col_actions($row) { - global $OUTPUT; - - $hideshowicon = "t/show"; - $hideshowstring = new lang_string("enable", "moodle"); - if (boolval($row->enable)) { - $hideshowicon = "t/hide"; - $hideshowstring = new lang_string("disable", "moodle"); - } - - $hideshowlink = new moodle_url(self::$manager, array("hideshowid" => $row->id, "sesskey" => sesskey())); - $hideshowitem = $OUTPUT->action_icon($hideshowlink, new pix_icon($hideshowicon, $hideshowstring)); - - $editlink = new moodle_url(self::$editor, array("serviceid" => $row->id, "sesskey" => sesskey())); - $edititem = $OUTPUT->action_icon($editlink, new pix_icon("t/edit", new lang_string("edit", "moodle"))); - - $deletelink = new moodle_url(self::$manager, array("deleteid" => $row->id, "sesskey" => sesskey())); - $deleteitem = $OUTPUT->action_icon($deletelink, new pix_icon("t/delete", new lang_string("delete", "moodle"))); - - $html = $hideshowitem . $edititem . $deleteitem; - return $html; - } - - /** - * Specifies the display of a column with events. - * - * @param object $row Data from the database. - * @return number Displayed data. - */ - public function col_events($row) { - $result = 0; - - if (!empty($row->events)) { - $result = count($row->events); - } - - return $result; - } - - /** - * Specifies the display of the column with the service name. - * - * @param object $row Data from the database. - * @return string Displayed data. - */ - public function col_title($row) { - $link = new moodle_url(self::$editor, array("serviceid" => $row->id, "sesskey" => sesskey())); - $html = html_writer::link($link, $row->title); - return $html; - } -} \ No newline at end of file -- cgit v1.2.3