webizito_active_user_shortcode();
}
public function webizito_enqueue_script() {
wp_enqueue_style( 'style-css', plugin_dir_url( __FILE__ ) . 'assets/css/style.css' );
}
public function webi_enqueue_custom_scripts() {
wp_enqueue_script('webi-plugin-script', plugin_dir_url(__FILE__) . 'assets/js/custom.js', array('jquery'), rand(1,9999), true);
}
//Update user online status
public function webizito_users_status_init(){
$logged_in_users = get_transient('users_status');
$user = wp_get_current_user();
if ( !isset($logged_in_users[$user->ID]['last']) || $logged_in_users[$user->ID]['last'] <= time()-50 ){
$logged_in_users[$user->ID] = array(
'id' => $user->ID,
'username' => $user->user_login,
'last' => time(),
);
set_transient('users_status', $logged_in_users, 50);
}
}
//Check if a user has been online in the last 5 minutes
public function webizito_is_user_online($id){
$logged_in_users = get_transient('users_status');
return isset($logged_in_users[$id]['last']) && $logged_in_users[$id]['last'] > time()-50;
}
//Check when a user was last online.
public function webizito_user_last_online($id){
$logged_in_users = get_transient('users_status');
if ( isset($logged_in_users[$id]['last']) ){
return $logged_in_users[$id]['last'];
} else {
return false;
}
}
//Add columns to user listings
public function webizito_user_columns_head($defaults){
$defaults['status'] = 'User Online Status';
return $defaults;
}
//Display Status in Users Page
public function webizito_user_columns_content($value='', $column_name, $id){
if ( $column_name == 'status' ){
if ( $this->webizito_is_user_online($id) ){
return '●';
} else if($this->webizito_user_last_online($id)){
return ( $this->webizito_user_last_online($id) ) ? ' ●
Last Seen:
' . date('M j, Y @ g:ia', $this->webizito_user_last_online($id)) . '' : '';
}else{
return '●';
}
}
}
//Active Users Metabox
public function webizito_active_users_metabox(){
global $wp_meta_boxes;
wp_add_dashboard_widget('webizito_active_users', 'Active Users', array($this, 'webizito_active_user_dashboard'));
}
public function webizito_active_user_dashboard( $post, $callback_args ){
$user_count = count_users();
$users_plural = ( $user_count['total_users'] == 1 )? 'User' : 'Users';
echo '
Enjoying our Wp online active users plugin? Please consider leaving us a review here. Or Support with a small donation here. We would greatly appreciate it!
'; echo 'Webi Active User plugin not found.
'; } echo $args['after_widget']; } // Back-end widget form public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Active Users', 'text_domain' ); ?>