PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.0.0
Tutor LMS – eLearning and online course solution v3.0.0
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / models / UserModel.php
tutor / models Last commit date
BillingModel.php 1 year ago CartModel.php 1 year ago CouponModel.php 1 year ago CourseModel.php 1 year ago LessonModel.php 2 years ago OrderActivitiesModel.php 1 year ago OrderMetaModel.php 1 year ago OrderModel.php 1 year ago QuizModel.php 1 year ago UserModel.php 1 year ago WithdrawModel.php 1 year ago
UserModel.php
99 lines
1 <?php
2 /**
3 * User Model
4 *
5 * @package Tutor\Models
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 3.0.0
9 */
10
11 namespace Tutor\Models;
12
13 use TUTOR\Course;
14 use Tutor\Helpers\QueryHelper;
15
16 /**
17 * UserModel class
18 */
19 class UserModel {
20
21 /**
22 * Get user list
23 *
24 * @since 3.0.0
25 *
26 * @see https://developer.wordpress.org/reference/classes/wp_user_query/
27 *
28 * @param array $args args.
29 *
30 * @return \WP_User_Query
31 */
32 public function get_users_list( array $args ) {
33 $default_args = array(
34 'orderby' => 'ID',
35 'order' => 'DESC',
36 'number' => 10,
37 'offset' => 0,
38 'role' => '',
39 'fields' => array( 'ID', 'user_login', 'display_name', 'user_email', 'user_url', 'registered' ),
40 );
41
42 $args = wp_parse_args( $args, $default_args );
43 $args = apply_filters( 'tutor_user_list_args', $args );
44
45 return new \WP_User_Query( $args );
46 }
47
48 /**
49 * Get unenrolled users of a course/bundle
50 *
51 * @since 3.0.0
52 *
53 * @param int $object_id Course/Bundle id.
54 * @param array $search_clause Search condition.
55 * @param integer $limit List limit.
56 * @param integer $offset Offset.
57 *
58 * @return array
59 */
60 public function get_unenrolled_users( $object_id, $search_clause = array(), $limit = 10, $offset = 0 ) {
61 global $wpdb;
62
63 $primary_table = "{$wpdb->users} AS u";
64 $joining_tables = array(
65 array(
66 'type' => 'LEFT',
67 'table' => "{$wpdb->posts} p",
68 'on' => "p.post_type = 'tutor_enrolled' AND p.post_parent = {$object_id} AND u.ID = p.post_author",
69 ),
70 );
71
72 $response = QueryHelper::get_joined_data(
73 $primary_table,
74 $joining_tables,
75 array(
76 'u.ID',
77 'u.user_login',
78 'u.user_email',
79 'u.display_name',
80 'p.post_author',
81 ),
82 array(
83 'p.post_author' => 'null',
84 ),
85 $search_clause,
86 'ID',
87 $limit,
88 $offset
89 );
90
91 foreach ( $response['results'] as $result ) {
92 // set avatar url.
93 $result->avatar_url = get_avatar_url( $result->ID );
94 }
95
96 return $response;
97 }
98 }
99