ldc-groupe/content/plugins/flipbook-plugin/app/class-flipbook-list-table.php
Vincent BRIDIER 134507db43 - Backup DEV
- Add DotEnv
- Fix Bato
- Etc..
2020-05-04 15:59:02 +02:00

106 lines
No EOL
2.5 KiB
PHP

<?php
if( ! class_exists( 'WP_List_Table' ) )
{
require_once( ABSPATH . 'wp-admin/includes/screen.php' );
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
}
class FlipBook_List_Table extends WP_List_Table {
private $view;
public $list_data;
public function __construct($view)
{
parent::__construct();
$this->view = $view;
}
function get_columns()
{
$columns = array(
'cb' => '<input type="checkbox" />',
'id' => __('ID', 'flipbook'),
'name' => __('Name', 'flipbook'),
'shortcode' => __('Shortcode', 'flipbook'),
'time' => __('Created', 'flipbook'),
'author' => __('Author', 'flipbook')
);
return $columns;
}
function prepare_items()
{
$columns = $this->get_columns();
$hidden = array();
$sortable = $this->get_sortable_columns();
$this->_column_headers = array($columns, $hidden, $sortable);
usort( $this->list_data, array( &$this, 'usort_reorder' ) );
$this->items = $this->list_data;
}
function get_sortable_columns() {
$sortable_columns = array(
'id' => array('id',true),
'name' => array('name',true),
'time' => array('time',true),
'author' => array('author',true)
);
return $sortable_columns;
}
function usort_reorder( $a, $b ) {
$orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'id';
$order = ( ! empty($_GET['order'] ) ) ? $_GET['order'] : 'asc';
if ($orderby == 'id')
$result = ( (int) $a[$orderby] - (int) $b[$orderby] );
else
$result = strcmp( $a[$orderby], $b[$orderby] );
return ( $order === 'asc' ) ? $result : -$result;
}
function column_cb($item) {
return sprintf('<input type="checkbox" name="bookid[]" value="%s" />', $item['id']);
}
function column_default( $item, $column_name )
{
switch( $column_name ) {
case 'id':
$actions = array(
'delete' => sprintf('<a href="?page=%s&action=%s&bookid=%s">Delete</a>', $_REQUEST['page'], 'delete', $item['id']),
'view' => sprintf('<a href="?page=%s&bookid=%s">View</a>', 'flipbook_view_book', $item['id']),
);
return sprintf('%1$s %2$s', $item['id'], $this->row_actions($actions) );
case 'name':
case 'time':
return $item[ $column_name ];
case 'author':
return get_userdata( $item[$column_name] )->display_name;
case 'shortcode':
return esc_attr('[flipbook id="' . $item['id'] . '"]');
default:
return $item[ $column_name ];
}
}
function get_bulk_actions() {
$actions = array(
'delete' => 'Delete'
);
return $actions;
}
}