PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.0.10
Tutor LMS – eLearning and online course solution v2.0.10
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 / LessonModel.php
tutor / models Last commit date
CourseModel.php 3 years ago LessonModel.php 3 years ago WithdrawModel.php 3 years ago
LessonModel.php
82 lines
1 <?php
2 namespace Tutor\Models;
3
4 /**
5 * Class LessonModel
6 *
7 * @since 2.0.10
8 */
9 class LessonModel {
10
11 /**
12 * Get total number of lesson
13 *
14 * @return int
15 * @since 2.0.2
16 */
17 public static function get_total_lesson() {
18 global $wpdb;
19 $lesson_type = tutor()->lesson_post_type;
20
21 $sql = "SELECT COUNT(DISTINCT lesson.ID)
22 FROM {$wpdb->posts} lesson
23 INNER JOIN {$wpdb->posts} topic ON lesson.post_parent=topic.ID
24 INNER JOIN {$wpdb->posts} course ON topic.post_parent=course.ID
25 WHERE lesson.post_type = %s
26 AND lesson.post_status = %s
27 AND course.post_status = %s
28 AND topic.post_status = %s";
29
30 return $wpdb->get_var( $wpdb->prepare( $sql, $lesson_type, 'publish', 'publish', 'publish' ) );
31 }
32
33 /**
34 * Get total lesson count by a course
35 *
36 * @param int $course_id
37 * @return int
38 * @since 1.0.0
39 */
40 public function get_lesson_count_by_course( $course_id = 0 ) {
41 $course_id = tutor_utils()->get_post_id( $course_id );
42 return count( tutor_utils()->get_course_content_ids_by( tutor()->lesson_post_type, tutor()->course_post_type, $course_id ) );
43 }
44
45 /**
46 * Get lesson reading info by key
47 *
48 * @param int $lesson_id
49 * @param int $user_id
50 * @param string $key
51 *
52 * @return array|bool|mixed
53 *
54 * @since 1.0.0
55 */
56 public function get_lesson_reading_info( $lesson_id = 0, $user_id = 0, $key = '' ) {
57 $lesson_id = tutor_utils()->get_post_id( $lesson_id );
58 $user_id = tutor_utils()->get_user_id( $user_id );
59 $lesson_info = $this->get_lesson_reading_info_full( $lesson_id, $user_id );
60
61 return tutor_utils()->avalue_dot( $key, $lesson_info );
62 }
63
64 /**
65 * Get student lesson reading current info
66 *
67 * @param int $lesson_id
68 * @param int $user_id
69 *
70 * @return array|bool|mixed
71 *
72 * @since 1.0.0
73 */
74 public function get_lesson_reading_info_full( $lesson_id = 0, $user_id = 0 ) {
75 $lesson_id = tutor_utils()->get_post_id( $lesson_id );
76 $user_id = tutor_utils()->get_user_id( $user_id );
77
78 $lesson_info = (array) maybe_unserialize( get_user_meta( $user_id, '_lesson_reading_info', true ) );
79 return tutor_utils()->avalue_dot( $lesson_id, $lesson_info );
80 }
81 }
82