| @@ -9,10 +9,8 @@ | ||
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | 11 | namespace Tutor\Models; |
| 12 | 12 | |
| 13 | -use Tutor\Helpers\QueryHelper; | |
| 14 | - | |
| 15 | 13 | /** |
| 16 | 14 | * LessonModel Class |
| 17 | 15 | * |
| 18 | 16 | * @since 2.0.10 |
| @@ -23,41 +21,25 @@ | ||
| 23 | 21 | * Get total number of lesson |
| 24 | 22 | * |
| 25 | 23 | * @since 2.0.2 |
| 26 | 24 | * |
| 27 | - * @since 3.7.1 Course ids param added | |
| 28 | - * | |
| 29 | - * @param array $course_ids Array of course ids. | |
| 30 | - * | |
| 31 | 25 | * @return int |
| 32 | 26 | */ |
| 33 | - public static function get_total_lesson( array $course_ids = array() ) { | |
| 27 | + public static function get_total_lesson() { | |
| 34 | 28 | global $wpdb; |
| 35 | 29 | $lesson_type = tutor()->lesson_post_type; |
| 36 | 30 | |
| 37 | - $course_in_clause = ''; | |
| 38 | - if ( count( $course_ids ) ) { | |
| 39 | - $prepare_ids = QueryHelper::prepare_in_clause( $course_ids ); | |
| 40 | - $course_in_clause = "AND course.ID IN ({$prepare_ids})"; | |
| 41 | - } | |
| 42 | - | |
| 43 | - $post_status = QueryHelper::prepare_in_clause( array( 'publish', 'future', 'draft', 'private', 'pending' ) ); | |
| 44 | - $post_status_in_clause = "AND course.post_status IN ({$post_status})"; | |
| 45 | - | |
| 46 | 31 | $sql = "SELECT COUNT(DISTINCT lesson.ID) |
| 47 | 32 | FROM {$wpdb->posts} lesson |
| 48 | 33 | INNER JOIN {$wpdb->posts} topic ON lesson.post_parent=topic.ID |
| 49 | 34 | INNER JOIN {$wpdb->posts} course ON topic.post_parent=course.ID |
| 50 | - WHERE 1 = 1 | |
| 51 | - {$course_in_clause} | |
| 52 | - AND lesson.post_type = %s | |
| 35 | + WHERE lesson.post_type = %s | |
| 53 | 36 | AND lesson.post_status = %s |
| 54 | - {$post_status_in_clause} | |
| 37 | + AND course.post_status = %s | |
| 55 | 38 | AND topic.post_status = %s"; |
| 56 | 39 | |
| 57 | 40 | //phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared |
| 58 | - $result = $wpdb->get_var( $wpdb->prepare( $sql, $lesson_type, 'publish', 'publish' ) ); | |
| 59 | - return $result; | |
| 41 | + return $wpdb->get_var( $wpdb->prepare( $sql, $lesson_type, 'publish', 'publish', 'publish' ) ); | |
| 60 | 42 | } |
| 61 | 43 | |
| 62 | 44 | /** |
| 63 | 45 | * Get total lesson count by a course |
| @@ -124,11 +106,13 @@ | ||
| 124 | 106 | public static function update_lesson_reading_info( $lesson_id = 0, $user_id = 0, $key = '', $value = '' ) { |
| 125 | 107 | $lesson_id = tutor_utils()->get_post_id( $lesson_id ); |
| 126 | 108 | $user_id = tutor_utils()->get_user_id( $user_id ); |
| 127 | 109 | |
| 128 | - if ( $key ) { | |
| 129 | - $lesson_info = (array) maybe_unserialize( get_user_meta( $user_id, '_lesson_reading_info', true ) ); | |
| 130 | - $lesson_info[ $lesson_id ][ $key ] = $value; | |
| 110 | + if ( $key && $value ) { | |
| 111 | + $lesson_info = (array) maybe_unserialize( get_user_meta( $user_id, '_lesson_reading_info', true ) ); | |
| 112 | + if ( isset( $lesson_info[ $lesson_id ][ $key ] ) ) { | |
| 113 | + $lesson_info[ $lesson_id ][ $key ] = $value; | |
| 114 | + } | |
| 131 | 115 | update_user_meta( $user_id, '_lesson_reading_info', $lesson_info ); |
| 132 | 116 | } |
| 133 | 117 | } |
| 134 | 118 | |
| @@ -148,43 +132,6 @@ | ||
| 148 | 132 | |
| 149 | 133 | do_action( 'tutor_mark_lesson_complete_before', $post_id, $user_id ); |
| 150 | 134 | update_user_meta( $user_id, '_tutor_completed_lesson_id_' . $post_id, tutor_time() ); |
| 151 | 135 | do_action( 'tutor_mark_lesson_complete_after', $post_id, $user_id ); |
| 152 | - } | |
| 153 | - | |
| 154 | - /** | |
| 155 | - * Get lesson details. | |
| 156 | - * | |
| 157 | - * @since 3.7.0 | |
| 158 | - * | |
| 159 | - * @param int $lesson_id lesson id. | |
| 160 | - * | |
| 161 | - * @return array | |
| 162 | - */ | |
| 163 | - public static function get_lesson_details( $lesson_id ) { | |
| 164 | - $post = get_post( $lesson_id, ARRAY_A ); | |
| 165 | - | |
| 166 | - if ( $post ) { | |
| 167 | - $post['thumbnail_id'] = get_post_meta( $lesson_id, '_thumbnail_id', true ); | |
| 168 | - $post['thumbnail'] = get_the_post_thumbnail_url( $lesson_id ); | |
| 169 | - $post['attachments'] = tutor_utils()->get_attachments( $lesson_id ); | |
| 170 | - | |
| 171 | - $video = maybe_unserialize( get_post_meta( $lesson_id, '_video', true ) ); | |
| 172 | - if ( $video ) { | |
| 173 | - $source = $video['source'] ?? ''; | |
| 174 | - if ( 'html5' === $source ) { | |
| 175 | - $poster_url = wp_get_attachment_url( $video['poster'] ?? 0 ); | |
| 176 | - $source_html5 = wp_get_attachment_url( $video['source_video_id'] ?? 0 ); | |
| 177 | - $video['poster_url'] = $poster_url; | |
| 178 | - $video['source_html5'] = $source_html5; | |
| 179 | - } | |
| 180 | - } | |
| 181 | - $post['video'] = $video; | |
| 182 | - } else { | |
| 183 | - $post = array(); | |
| 184 | - } | |
| 185 | - | |
| 186 | - $data = apply_filters( 'tutor_lesson_details_response', $post, $lesson_id ); | |
| 187 | - | |
| 188 | - return $data; | |
| 189 | 136 | } |
| 190 | 137 | } |