screen = $current_screen->id . 'users';
add_filter('manage_' . $this->screen . '_columns', array($this, 'get_columns'));
parent::__construct(array(
'singular' => __('Affiliate User'),
'plural' => __('Affiliate Users'),
'ajax' => false,
'screen' => $this->screen,
)
);
}
public function no_items()
{
_e('No Affiliate Users');
}
public function get_columns()
{
$columns = array(
'cb' => '',
'affiliate_id' => __('Affiliate Id'),
'username' => __('Username'),
'name' => __('Full Name'),
'created_at' => __('Registered'),
);
return $columns;
}
public function get_sortable_columns()
{
$sortable_columns = array(
'created_at' => array('created_at', true),
'affiliate_id' => array('affiliate_id', false),
'username' => array('username', false),
'name' => array('name', false),
);
return $sortable_columns;
}
public function column_default($item, $column_name)
{
switch ($column_name) {
case 'created_at':
$date = new \DateTime($item->{$column_name});
return $date->format('d.m.Y H:i');
default:
return $item->{$column_name};
}
}
public function column_cb($item)
{
return sprintf('', $item->affiliate_id);
}
public function get_bulk_actions()
{
$actions = array(
'bulk-delete' => __('Delete'),
);
return $actions;
}
public function column_created_at($item)
{
$t_time = mysql2date('d.m.Y H:i', $item->created_at, true);
$m_time = $item->created_at;
$time = mysql2date('G', $item->created_at) - get_option('gmt_offset') * 3600;
$time_diff = time() - $time;
if (($time_diff > 0) && ($time_diff < 24 * 60 * 60)) {
$h_time = sprintf(__('%s ago'), human_time_diff($time));
} else {
$h_time = mysql2date(__( 'd.m.Y'), $m_time);
}
return sprintf('%s
%s', __('Registered'), $t_time, $h_time);
}
public function column_username($item)
{
$link = admin_url('admin.php');
$query_vars = array(
'page' => filter_input(INPUT_GET, 'page'),
'tab' => filter_input(INPUT_GET, 'tab'),
'action' => 'bulk-delete',
'bulk' => array($item->affiliate_id),
);
$delete_link = add_query_arg($query_vars, $link);
$block = '%s
'
. '
%s