LLMS_Table_NotificationSettings
Description Description
Student Management table on Courses and Memberships.
Source Source
File: includes/admin/settings/tables/class.llms.table.notification.settings.php
class LLMS_Table_NotificationSettings extends LLMS_Admin_Table { /** * Unique ID for the Table * * @var string */ protected $id = 'notifications'; /** * If true will be a table with a larger font size * * @var bool */ protected $is_large = true; /** * Retrieve data for the columns * * @since 3.8.0 * * @param string $key The column id / key. * @param array $data Table data array. * @return mixed */ public function get_data( $key, $data ) { switch ( $key ) { case 'configure': $links = array(); foreach ( $data['configure'] as $type => $name ) { $url = esc_url( add_query_arg( array( 'notification' => $data['id'], 'type' => $type, ) ) ); $links[] = '<a href="' . $url . '">' . $name . '</a>'; } $value = implode( ', ', $links ); break; default: $value = $data[ $key ]; } return $this->filter_get_data( $value, $key, $data ); } /** * Execute a query to retrieve results from the table * * @param array $args array of query args * @return void * @since 3.8.0 * @version 3.10.0 */ public function get_results( $args = array() ) { $rows = array(); foreach ( llms()->notifications()->get_controllers() as $controller ) { $rows[] = array( 'id' => $controller->id, 'notification' => $controller->get_title(), 'configure' => $controller->get_supported_types(), ); } usort( $rows, array( $this, 'sort_rows' ) ); $this->tbody_data = $rows; } /** * Define the structure of arguments used to pass to the get_results method * * @return array * @since 3.8.0 * @version 3.8.0 */ public function set_args() { return array(); } /** * Define the structure of the table * * @return array * @since 3.8.0 * @version 3.8.0 */ public function set_columns() { $cols = array( 'notification' => __( 'Notification', 'lifterlms' ), 'configure' => __( 'Configure', 'lifterlms' ), ); return $cols; } /** * Sorting function to display all loaded notifications in alphabetical order * * @param array $row_a first row to compare * @param array $row_b second row to compare * @return int * @since 3.10.0 * @version 3.10.0 */ public function sort_rows( $row_a, $row_b ) { return strcmp( $row_a['notification'], $row_b['notification'] ); } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- get_data — Retrieve data for the columns
- get_results — Execute a query to retrieve results from the table
- set_args — Define the structure of arguments used to pass to the get_results method
- set_columns — Define the structure of the table
- sort_rows — Sorting function to display all loaded notifications in alphabetical order
Changelog Changelog
Version | Description |
---|---|
3.8.0 | |
3.10.0 | Introduced. |