-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathinit.php
More file actions
84 lines (76 loc) · 2.63 KB
/
init.php
File metadata and controls
84 lines (76 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/**
* Created by PhpStorm.
* User: foobla
* Date: 4/3/2015
* Time: 10:49 AM
*/
if ( !defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
/**
* Add meta box prerequisite courses
*
* @param $meta_boxes
*
* @return mixed
*/
function learn_press_prerequisite_add_on( $meta_boxes ) {
$prerequisite = array(
'name' => __( 'Prerequisite Courses', 'learn_press' ),
'id' => "_lpr_course_prerequisite",
'type' => 'post',
'post_type' => 'lpr_course',
'field_type' => 'select_advanced',
'multiple' => true,
'description' => 'Course you have to finish before you can enroll to this course',
'placeholder' => __( 'Course Prerequisite', 'learn_press' ),
'std' => ''
);
array_unshift( $meta_boxes['fields'], $prerequisite );
return $meta_boxes;
}
add_filter('learn_press_course_settings_meta_box_args', 'learn_press_prerequisite_add_on', 11);
/**
* @param $course_id
* @param $user_id
*
* @return bool
*/
function check_prerequisite_course( $course_id, $user_id ) {
$prerequisite = get_post_meta( $course_id, '_lpr_course_prerequisite', false );
$allow_take_course = true;
$require_courses = array();
if ( $prerequisite ) {
$course_completed = get_user_meta( $user_id, '_lpr_course_completed', true );
foreach ( $prerequisite as $prerequi ) {
if ( $course_completed ) {
if ( !array_key_exists( $prerequi, $course_completed ) ) {
array_push( $require_courses, $prerequi );
$allow_take_course = false;
}
} else {
array_push( $require_courses, $prerequi );
$allow_take_course = false;
}
}
}
if( !$allow_take_course ) {
wp_dequeue_script('lpr-learnpress-js');
wp_enqueue_script( 'lpr-learnpress-prerequisite-js', untrailingslashit( plugins_url( '/', __FILE__ ) ) . '/assets/prerequisite.js', array( 'jquery' ) );
echo "<h3> You have to finish all the courses below before you can join this course: </h4>";
echo "<ul>";
foreach( $require_courses as $require_course ) {
echo '<li><a href="'. get_the_permalink( $require_course ) .'" >'. get_the_title( $require_course ) .'</a></li>';
}
echo "</ul>";
}
return $allow_take_course;
}
//add_action( 'learn_press_before_take_course', 'check_prerequisite_course', 10 ,2 );
/**
* Dequeue old javascript file
*/
function learn_press_prerequisite_dequeue_script() {
wp_dequeue_script('lpr-learnpress-js');
}