# my-wp/trunk/classes/class.user.php

My WP Customize Admin/Frontend, version trunk. 357 lines.

- Page: https://pluginprobe.com/plugins/my-wp/trunk/code/classes/class.user.php
- Raw: https://pluginprobe.com/plugins/my-wp/trunk/raw/classes/class.user.php
- Modified: 2021-06-15T02:32:44+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/my-wp/trunk/code/classes/class.user.php#L10-L20`.

```php
<?php

if ( ! defined( 'ABSPATH' ) ) {
  exit;
}

if ( ! class_exists( 'MywpUser' ) ) :

final class MywpUser {

  private $user_id = false;
  private $user_data = false;
  private $user_role = false;
  private $user_roles = array();
  private $user_capabilities = array();
  private $name = false;
  private $fname = false;
  private $lname = false;
  private $nickname = false;
  private $displayname = false;
  private $user_login = false;
  private $avatar_tag = false;

  public function __construct( $user_id = false ) {

    $this->set_user_id( $user_id );

  }

  private function set_user_id( $user_id = false ) {

    if( $this->user_id !== false ) {

      return false;

    }

    if( $user_id === false ) {

      $user_id = get_current_user_id();

    }

    $user_id = (int) $user_id;

    $user_id = apply_filters( 'mywp_user_set_user_id' , $user_id );

    if( empty( $user_id ) ) {

      $called_text = sprintf( '(object) %s->%s( %s )' , __CLASS__ , __FUNCTION__ , '$user_id' );

      MywpHelper::error_not_found_message( '$user_id' , $called_text );

      return false;

    }

    $this->user_id = $user_id;

  }

  public function get_user_id() {

    return $this->user_id;

  }

  public function get_user_data() {

    if( ! empty( $this->user_data ) ) {

      return $this->user_data;

    }

    if( empty( $this->user_id ) ) {

      $called_text = sprintf( '(object) %s->%s()' , __CLASS__ , __FUNCTION__ );

      MywpHelper::error_not_found_message( 'user_id' , $called_text );

      return false;

    }

    $this->user_data = get_userdata( $this->user_id );

    return $this->user_data;

  }

  public function get_user_role() {

    if( ! empty( $this->user_role ) ) {

      return $this->user_role;

    }

    $user_roles = $this->get_user_roles();

    if( ! isset( $user_roles[0] ) or empty( $user_roles[0] ) ) {

      return false;

    }

    $this->user_role = $user_roles[0];

    return $this->user_role;

  }

  public function get_user_roles() {

    if( ! empty( $this->user_roles ) ) {

      return $this->user_roles;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->roles ) ) {

      return false;

    }

    $this->user_roles = $user_data->roles;

    return $this->user_roles;

  }

  public function get_user_capabilities() {

    if( ! empty( $this->user_capabilities ) ) {

      return $this->user_capabilities;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->allcaps ) ) {

      return false;

    }

    $this->user_capabilities = $user_data->allcaps;

    return $this->user_capabilities;

  }

  public function get_name() {

    if( ! empty( $this->name ) ) {

      return $this->name;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->display_name ) ) {

      return false;

    }

    $this->name = $user_data->display_name;

    return $this->name;

  }

  public function get_fname() {

    if( ! empty( $this->fname ) ) {

      return $this->fname;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->first_name ) ) {

      return false;

    }

    $this->fname = $user_data->first_name;

    return $this->fname;

  }

  public function get_lname() {

    if( ! empty( $this->lname ) ) {

      return $this->lname;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->last_name ) ) {

      return false;

    }

    $this->lname = $user_data->last_name;

    return $this->lname;

  }

  public function get_nickname() {

    if( ! empty( $this->nickname ) ) {

      return $this->nickname;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->nickname ) ) {

      return false;

    }

    $this->nickname = $user_data->nickname;

    return $this->nickname;

  }

  public function get_displayname() {

    if( ! empty( $this->displayname ) ) {

      return $this->displayname;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->display_name ) ) {

      return false;

    }

    $this->displayname = $user_data->display_name;

    return $this->displayname;

  }

  public function get_user_login() {

    if( ! empty( $this->user_login ) ) {

      return $this->user_login;

    }

    $user_data = $this->get_user_data();

    if( ! isset( $user_data->user_login ) ) {

      $called_text = sprintf( '(object) %s->%s()' , __CLASS__ , __FUNCTION__ );

      MywpHelper::error_not_found_message( 'user_login' , $called_text );

      return false;

    }

    $this->user_login = $user_data->user_login;

    return $this->user_login;

  }

  public function get_avatar_tag( $size = false ) {

    if( $size === false ) {

      $size = 64;

    } else {

      $size = (int) $size;

    }

    $called_text = sprintf( '(object) %s->%s( %s )' , __CLASS__ , __FUNCTION__ , '$size' );

    if( empty( $size ) ) {

      MywpHelper::error_not_found_message( '$size' , $called_text );

      return false;

    }

    if( empty( $this->user_id ) ) {

      MywpHelper::error_not_found_message( 'user_id' , $called_text );

      return false;

    }

    $this->avatar_tag = get_avatar( $this->user_id , $size );

    return $this->avatar_tag;

  }

  public function get_posts( $args = array() ) {

    if( empty( $this->user_id ) ) {

      $called_text = sprintf( '(object) %s->%s( $args )' , __CLASS__ , __FUNCTION__ , '$args' );

      MywpHelper::error_not_found_message( 'user_id' , $called_text );

      return false;

    }

    $default = array(
      'author' => $this->user_id,
    );

    $args = wp_parse_args( $args , $default );

    $args = apply_filters( 'mywp_user_get_posts_args' , $args , $this->user_id );

    return get_posts( $args );

  }

}

endif;

```
