Code Duplication    Length = 7-7 lines in 4 locations

includes/class-sensei-updates.php 4 locations

@@ 1156-1162 (lines=7) @@
1153
		$id_list = join( ',', $lesson_ids );
1154
		$meta_list = $wpdb->get_results( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = '_quiz_lesson' AND meta_value IN ($id_list)", ARRAY_A );
1155
		$lesson_quiz_ids = array();
1156
		if ( !empty($meta_list) ) {
1157
			foreach ( $meta_list as $metarow ) {
1158
				$lesson_id = $metarow['meta_value'];
1159
				$quiz_id = $metarow['post_id'];
1160
				$lesson_quiz_ids[ $lesson_id ] = $quiz_id;
1161
			}
1162
		}
1163
1164
		// ...check all Quiz IDs for questions
1165
		$id_list = join( ',', array_values($lesson_quiz_ids) );
@@ 1239-1245 (lines=7) @@
1236
		$id_list = join( ',', $lesson_ids_with_quizzes );
1237
		$meta_list = $wpdb->get_results( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = '_quiz_lesson' AND meta_value IN ($id_list)", ARRAY_A );
1238
		$lesson_quiz_ids = array();
1239
		if ( !empty($meta_list) ) {
1240
			foreach ( $meta_list as $metarow ) {
1241
				$lesson_id = $metarow['meta_value'];
1242
				$quiz_id = $metarow['post_id'];
1243
				$lesson_quiz_ids[ $lesson_id ] = $quiz_id;
1244
			}
1245
		}
1246
1247
		// ...get all Pass Required & Passmarks for the above Lesson/Quizzes
1248
		$id_list = join( ',', array_values($lesson_quiz_ids) );
@@ 1422-1428 (lines=7) @@
1419
		// Get all Lesson => Course relationships
1420
		$meta_list = $wpdb->get_results( "SELECT $wpdb->postmeta.post_id, $wpdb->postmeta.meta_value FROM $wpdb->postmeta INNER JOIN $wpdb->posts ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE $wpdb->posts.post_type = 'lesson' AND $wpdb->postmeta.meta_key = '_lesson_course'", ARRAY_A );
1421
		$course_lesson_ids = array();
1422
		if ( !empty($meta_list) ) {
1423
			foreach ( $meta_list as $metarow ) {
1424
				$lesson_id = $metarow['post_id'];
1425
				$course_id = $metarow['meta_value'];
1426
				$course_lesson_ids[ $course_id ][] = $lesson_id;
1427
			}
1428
		}
1429
1430
		$users_sql = "SELECT ID FROM $wpdb->users ORDER BY ID ASC LIMIT %d OFFSET %d";
1431
		$start_sql = "SELECT comment_post_ID, comment_date FROM $wpdb->comments WHERE comment_type = 'sensei_course_start' AND user_id = %d GROUP BY comment_post_ID ";
@@ 1570-1576 (lines=7) @@
1567
1568
		// Get all Lesson => Course relationships
1569
		$meta_list = $wpdb->get_results( "SELECT $wpdb->postmeta.post_id, $wpdb->postmeta.meta_value FROM $wpdb->postmeta INNER JOIN $wpdb->posts ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE $wpdb->posts.post_type = 'lesson' AND $wpdb->postmeta.meta_key = '_lesson_course' LIMIT $n OFFSET $offset ", ARRAY_A );
1570
		if ( !empty($meta_list) ) {
1571
			foreach ( $meta_list as $metarow ) {
1572
				$lesson_id = $metarow['post_id'];
1573
				$course_id = $metarow['meta_value'];
1574
				$course_lesson_ids[ $course_id ][] = $lesson_id;
1575
			}
1576
		}
1577
1578
		// Get all Lesson => Course relationships
1579
		$status_list = $wpdb->get_results( "SELECT user_id, comment_post_ID, comment_approved FROM $wpdb->comments WHERE comment_type = 'sensei_lesson_status' GROUP BY user_id, comment_post_ID ", ARRAY_A );