|
@@ -1,5 +1,5 @@ discard block |
|
|
block discarded – undo |
|
1
|
1
|
<?php |
|
2
|
|
-if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly |
|
|
2
|
+if ( ! defined('ABSPATH')) exit; // Exit if accessed directly |
|
3
|
3
|
|
|
4
|
4
|
/** |
|
5
|
5
|
* Sensei Course Class |
|
@@ -32,72 +32,72 @@ discard block |
|
|
block discarded – undo |
|
32
|
32
|
* Constructor. |
|
33
|
33
|
* @since 1.0.0 |
|
34
|
34
|
*/ |
|
35
|
|
- public function __construct () { |
|
|
35
|
+ public function __construct() { |
|
36
|
36
|
|
|
37
|
37
|
$this->token = 'course'; |
|
38
|
38
|
|
|
39
|
39
|
// Setup meta fields for this post type |
|
40
|
|
- $this->meta_fields = array( 'course_prerequisite', 'course_featured', 'course_video_embed', 'course_woocommerce_product' ); |
|
|
40
|
+ $this->meta_fields = array('course_prerequisite', 'course_featured', 'course_video_embed', 'course_woocommerce_product'); |
|
41
|
41
|
// Admin actions |
|
42
|
|
- if ( is_admin() ) { |
|
|
42
|
+ if (is_admin()) { |
|
43
|
43
|
// Metabox functions |
|
44
|
|
- add_action( 'add_meta_boxes', array( $this, 'meta_box_setup' ), 20 ); |
|
45
|
|
- add_action( 'save_post', array( $this, 'meta_box_save' ) ); |
|
|
44
|
+ add_action('add_meta_boxes', array($this, 'meta_box_setup'), 20); |
|
|
45
|
+ add_action('save_post', array($this, 'meta_box_save')); |
|
46
|
46
|
// Custom Write Panel Columns |
|
47
|
|
- add_filter( 'manage_edit-course_columns', array( $this, 'add_column_headings' ), 10, 1 ); |
|
48
|
|
- add_action( 'manage_posts_custom_column', array( $this, 'add_column_data' ), 10, 2 ); |
|
|
47
|
+ add_filter('manage_edit-course_columns', array($this, 'add_column_headings'), 10, 1); |
|
|
48
|
+ add_action('manage_posts_custom_column', array($this, 'add_column_data'), 10, 2); |
|
49
|
49
|
} else { |
|
50
|
50
|
$this->my_courses_page = false; |
|
51
|
51
|
} // End If Statement |
|
52
|
52
|
|
|
53
|
53
|
// Update course completion upon completion of a lesson |
|
54
|
|
- add_action( 'sensei_user_lesson_end', array( $this, 'update_status_after_lesson_change' ), 10, 2 ); |
|
|
54
|
+ add_action('sensei_user_lesson_end', array($this, 'update_status_after_lesson_change'), 10, 2); |
|
55
|
55
|
// Update course completion upon reset of a lesson |
|
56
|
|
- add_action( 'sensei_user_lesson_reset', array( $this, 'update_status_after_lesson_change' ), 10, 2 ); |
|
|
56
|
+ add_action('sensei_user_lesson_reset', array($this, 'update_status_after_lesson_change'), 10, 2); |
|
57
|
57
|
// Update course completion upon grading of a quiz |
|
58
|
|
- add_action( 'sensei_user_quiz_grade', array( $this, 'update_status_after_quiz_submission' ), 10, 2 ); |
|
|
58
|
+ add_action('sensei_user_quiz_grade', array($this, 'update_status_after_quiz_submission'), 10, 2); |
|
59
|
59
|
|
|
60
|
60
|
// show the progress bar ont he single course page |
|
61
|
|
- add_action( 'sensei_single_course_content_inside_before' , array( $this, 'the_progress_statement' ), 15 ); |
|
62
|
|
- add_action( 'sensei_single_course_content_inside_before' , array( $this, 'the_progress_meter' ), 16 ); |
|
|
61
|
+ add_action('sensei_single_course_content_inside_before', array($this, 'the_progress_statement'), 15); |
|
|
62
|
+ add_action('sensei_single_course_content_inside_before', array($this, 'the_progress_meter'), 16); |
|
63
|
63
|
|
|
64
|
64
|
// provide an option to block all emails related to a selected course |
|
65
|
|
- add_filter( 'sensei_send_emails', array( $this, 'block_notification_emails' ) ); |
|
66
|
|
- add_action( 'save_post', array( $this, 'save_course_notification_meta_box' ) ); |
|
|
65
|
+ add_filter('sensei_send_emails', array($this, 'block_notification_emails')); |
|
|
66
|
+ add_action('save_post', array($this, 'save_course_notification_meta_box')); |
|
67
|
67
|
|
|
68
|
68
|
// preview lessons on the course content |
|
69
|
|
- add_action( 'sensei_course_content_inside_after',array( $this, 'the_course_free_lesson_preview' ) ); |
|
|
69
|
+ add_action('sensei_course_content_inside_after', array($this, 'the_course_free_lesson_preview')); |
|
70
|
70
|
|
|
71
|
71
|
// the course meta |
|
72
|
|
- add_action('sensei_course_content_inside_before', array( $this, 'the_course_meta' ) ); |
|
|
72
|
+ add_action('sensei_course_content_inside_before', array($this, 'the_course_meta')); |
|
73
|
73
|
|
|
74
|
74
|
// backwards compatible template hooks |
|
75
|
|
- add_action('sensei_course_content_inside_before', array( $this, 'content_before_backwards_compatibility_hooks' )); |
|
76
|
|
- add_action('sensei_loop_course_before', array( $this,'loop_before_backwards_compatibility_hooks' ) ); |
|
|
75
|
+ add_action('sensei_course_content_inside_before', array($this, 'content_before_backwards_compatibility_hooks')); |
|
|
76
|
+ add_action('sensei_loop_course_before', array($this, 'loop_before_backwards_compatibility_hooks')); |
|
77
|
77
|
|
|
78
|
78
|
// add the user status on the course to the markup as a class |
|
79
|
|
- add_filter('post_class', array( __CLASS__ , 'add_course_user_status_class' ), 20, 3 ); |
|
|
79
|
+ add_filter('post_class', array(__CLASS__, 'add_course_user_status_class'), 20, 3); |
|
80
|
80
|
|
|
81
|
81
|
//filter the course query in Sensei specific instances |
|
82
|
|
- add_filter( 'pre_get_posts', array( __CLASS__, 'course_query_filter' ) ); |
|
|
82
|
+ add_filter('pre_get_posts', array(__CLASS__, 'course_query_filter')); |
|
83
|
83
|
|
|
84
|
84
|
//attache the sorting to the course archive |
|
85
|
|
- add_action ( 'sensei_archive_before_course_loop' , array( 'Sensei_Course', 'course_archive_sorting' ) ); |
|
|
85
|
+ add_action('sensei_archive_before_course_loop', array('Sensei_Course', 'course_archive_sorting')); |
|
86
|
86
|
|
|
87
|
87
|
//attach the filter links to the course archive |
|
88
|
|
- add_action ( 'sensei_archive_before_course_loop' , array( 'Sensei_Course', 'course_archive_filters' ) ); |
|
|
88
|
+ add_action('sensei_archive_before_course_loop', array('Sensei_Course', 'course_archive_filters')); |
|
89
|
89
|
|
|
90
|
90
|
//filter the course query when featured filter is applied |
|
91
|
|
- add_filter( 'pre_get_posts', array( __CLASS__, 'course_archive_featured_filter')); |
|
|
91
|
+ add_filter('pre_get_posts', array(__CLASS__, 'course_archive_featured_filter')); |
|
92
|
92
|
|
|
93
|
93
|
// handle the order by title post submission |
|
94
|
|
- add_filter( 'pre_get_posts', array( __CLASS__, 'course_archive_order_by_title')); |
|
|
94
|
+ add_filter('pre_get_posts', array(__CLASS__, 'course_archive_order_by_title')); |
|
95
|
95
|
|
|
96
|
96
|
// ensure the course category page respects the manual order set for courses |
|
97
|
|
- add_filter( 'pre_get_posts', array( __CLASS__, 'alter_course_category_order')); |
|
|
97
|
+ add_filter('pre_get_posts', array(__CLASS__, 'alter_course_category_order')); |
|
98
|
98
|
|
|
99
|
99
|
// flush rewrite rules when saving a course |
|
100
|
|
- add_action('save_post', array( 'Sensei_Course', 'flush_rewrite_rules' ) ); |
|
|
100
|
+ add_action('save_post', array('Sensei_Course', 'flush_rewrite_rules')); |
|
101
|
101
|
|
|
102
|
102
|
} // End __construct() |
|
103
|
103
|
|
|
@@ -107,10 +107,10 @@ discard block |
|
|
block discarded – undo |
|
107
|
107
|
* @param type $user_id |
|
108
|
108
|
* @param type $quiz_id |
|
109
|
109
|
*/ |
|
110
|
|
- public function update_status_after_quiz_submission( $user_id, $quiz_id ) { |
|
111
|
|
- if ( intval( $user_id ) > 0 && intval( $quiz_id ) > 0 ) { |
|
112
|
|
- $lesson_id = get_post_meta( $quiz_id, '_quiz_lesson', true ); |
|
113
|
|
- $this->update_status_after_lesson_change( $user_id, $lesson_id ); |
|
|
110
|
+ public function update_status_after_quiz_submission($user_id, $quiz_id) { |
|
|
111
|
+ if (intval($user_id) > 0 && intval($quiz_id) > 0) { |
|
|
112
|
+ $lesson_id = get_post_meta($quiz_id, '_quiz_lesson', true); |
|
|
113
|
+ $this->update_status_after_lesson_change($user_id, $lesson_id); |
|
114
|
114
|
} |
|
115
|
115
|
} |
|
116
|
116
|
|
|
@@ -120,12 +120,12 @@ discard block |
|
|
block discarded – undo |
|
120
|
120
|
* @param int $user_id |
|
121
|
121
|
* @param int $lesson_id |
|
122
|
122
|
*/ |
|
123
|
|
- public function update_status_after_lesson_change( $user_id, $lesson_id ) { |
|
124
|
|
- if ( intval( $user_id ) > 0 && intval( $lesson_id ) > 0 ) { |
|
125
|
|
- $course_id = get_post_meta( $lesson_id, '_lesson_course', true ); |
|
126
|
|
- if ( intval( $course_id ) > 0 ) { |
|
|
123
|
+ public function update_status_after_lesson_change($user_id, $lesson_id) { |
|
|
124
|
+ if (intval($user_id) > 0 && intval($lesson_id) > 0) { |
|
|
125
|
+ $course_id = get_post_meta($lesson_id, '_lesson_course', true); |
|
|
126
|
+ if (intval($course_id) > 0) { |
|
127
|
127
|
// Updates the Course status and it's meta data |
|
128
|
|
- Sensei_Utils::user_complete_course( $course_id, $user_id ); |
|
|
128
|
+ Sensei_Utils::user_complete_course($course_id, $user_id); |
|
129
|
129
|
} |
|
130
|
130
|
} |
|
131
|
131
|
} |
|
@@ -136,27 +136,27 @@ discard block |
|
|
block discarded – undo |
|
136
|
136
|
* @access public |
|
137
|
137
|
* @return void |
|
138
|
138
|
*/ |
|
139
|
|
- public function meta_box_setup () { |
|
|
139
|
+ public function meta_box_setup() { |
|
140
|
140
|
|
|
141
|
|
- if ( Sensei_WC::is_woocommerce_active() ) { |
|
|
141
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
142
|
142
|
// Add Meta Box for WooCommerce Course |
|
143
|
|
- add_meta_box( 'course-wc-product', __( 'WooCommerce Product', 'woothemes-sensei' ), array( $this, 'course_woocommerce_product_meta_box_content' ), $this->token, 'side', 'default' ); |
|
|
143
|
+ add_meta_box('course-wc-product', __('WooCommerce Product', 'woothemes-sensei'), array($this, 'course_woocommerce_product_meta_box_content'), $this->token, 'side', 'default'); |
|
144
|
144
|
} // End If Statement |
|
145
|
145
|
// Add Meta Box for Prerequisite Course |
|
146
|
|
- add_meta_box( 'course-prerequisite', __( 'Course Prerequisite', 'woothemes-sensei' ), array( $this, 'course_prerequisite_meta_box_content' ), $this->token, 'side', 'default' ); |
|
|
146
|
+ add_meta_box('course-prerequisite', __('Course Prerequisite', 'woothemes-sensei'), array($this, 'course_prerequisite_meta_box_content'), $this->token, 'side', 'default'); |
|
147
|
147
|
// Add Meta Box for Featured Course |
|
148
|
|
- add_meta_box( 'course-featured', __( 'Featured Course', 'woothemes-sensei' ), array( $this, 'course_featured_meta_box_content' ), $this->token, 'side', 'default' ); |
|
|
148
|
+ add_meta_box('course-featured', __('Featured Course', 'woothemes-sensei'), array($this, 'course_featured_meta_box_content'), $this->token, 'side', 'default'); |
|
149
|
149
|
// Add Meta Box for Course Meta |
|
150
|
|
- add_meta_box( 'course-video', __( 'Course Video', 'woothemes-sensei' ), array( $this, 'course_video_meta_box_content' ), $this->token, 'normal', 'default' ); |
|
|
150
|
+ add_meta_box('course-video', __('Course Video', 'woothemes-sensei'), array($this, 'course_video_meta_box_content'), $this->token, 'normal', 'default'); |
|
151
|
151
|
// Add Meta Box for Course Lessons |
|
152
|
|
- add_meta_box( 'course-lessons', __( 'Course Lessons', 'woothemes-sensei' ), array( $this, 'course_lessons_meta_box_content' ), $this->token, 'normal', 'default' ); |
|
|
152
|
+ add_meta_box('course-lessons', __('Course Lessons', 'woothemes-sensei'), array($this, 'course_lessons_meta_box_content'), $this->token, 'normal', 'default'); |
|
153
|
153
|
// Add Meta Box to link to Manage Learners |
|
154
|
|
- add_meta_box( 'course-manage', __( 'Course Management', 'woothemes-sensei' ), array( $this, 'course_manage_meta_box_content' ), $this->token, 'side', 'default' ); |
|
|
154
|
+ add_meta_box('course-manage', __('Course Management', 'woothemes-sensei'), array($this, 'course_manage_meta_box_content'), $this->token, 'side', 'default'); |
|
155
|
155
|
// Remove "Custom Settings" meta box. |
|
156
|
|
- remove_meta_box( 'woothemes-settings', $this->token, 'normal' ); |
|
|
156
|
+ remove_meta_box('woothemes-settings', $this->token, 'normal'); |
|
157
|
157
|
|
|
158
|
158
|
// add Disable email notification box |
|
159
|
|
- add_meta_box( 'course-notifications', __( 'Course Notifications', 'woothemes-sensei' ), array( $this, 'course_notification_meta_box_content' ), 'course', 'normal', 'default' ); |
|
|
159
|
+ add_meta_box('course-notifications', __('Course Notifications', 'woothemes-sensei'), array($this, 'course_notification_meta_box_content'), 'course', 'normal', 'default'); |
|
160
|
160
|
|
|
161
|
161
|
} // End meta_box_setup() |
|
162
|
162
|
|
|
@@ -166,58 +166,58 @@ discard block |
|
|
block discarded – undo |
|
166
|
166
|
* @access public |
|
167
|
167
|
* @return void |
|
168
|
168
|
*/ |
|
169
|
|
- public function course_woocommerce_product_meta_box_content () { |
|
|
169
|
+ public function course_woocommerce_product_meta_box_content() { |
|
170
|
170
|
global $post; |
|
171
|
171
|
|
|
172
|
|
- $select_course_woocommerce_product = get_post_meta( $post->ID, '_course_woocommerce_product', true ); |
|
|
172
|
+ $select_course_woocommerce_product = get_post_meta($post->ID, '_course_woocommerce_product', true); |
|
173
|
173
|
|
|
174
|
|
- $post_args = array( 'post_type' => array( 'product', 'product_variation' ), |
|
|
174
|
+ $post_args = array('post_type' => array('product', 'product_variation'), |
|
175
|
175
|
'posts_per_page' => -1, |
|
176
|
176
|
'orderby' => 'title', |
|
177
|
177
|
'order' => 'DESC', |
|
178
|
178
|
'exclude' => $post->ID, |
|
179
|
|
- 'post_status' => array( 'publish', 'private', 'draft' ), |
|
|
179
|
+ 'post_status' => array('publish', 'private', 'draft'), |
|
180
|
180
|
'tax_query' => array( |
|
181
|
181
|
array( |
|
182
|
182
|
'taxonomy' => 'product_type', |
|
183
|
183
|
'field' => 'slug', |
|
184
|
|
- 'terms' => array( 'variable', 'grouped' ), |
|
|
184
|
+ 'terms' => array('variable', 'grouped'), |
|
185
|
185
|
'operator' => 'NOT IN' |
|
186
|
186
|
) |
|
187
|
187
|
), |
|
188
|
188
|
'suppress_filters' => 0 |
|
189
|
189
|
); |
|
190
|
|
- $posts_array = get_posts( $post_args ); |
|
|
190
|
+ $posts_array = get_posts($post_args); |
|
191
|
191
|
|
|
192
|
192
|
$html = ''; |
|
193
|
193
|
|
|
194
|
|
- $html .= '<input type="hidden" name="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" id="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" value="' . esc_attr( wp_create_nonce( plugin_basename(__FILE__) ) ) . '" />'; |
|
|
194
|
+ $html .= '<input type="hidden" name="'.esc_attr('woo_'.$this->token.'_noonce').'" id="'.esc_attr('woo_'.$this->token.'_noonce').'" value="'.esc_attr(wp_create_nonce(plugin_basename(__FILE__))).'" />'; |
|
195
|
195
|
|
|
196
|
|
- if ( count( $posts_array ) > 0 ) { |
|
|
196
|
+ if (count($posts_array) > 0) { |
|
197
|
197
|
|
|
198
|
|
- $html .= '<select id="course-woocommerce-product-options" name="course_woocommerce_product" class="chosen_select widefat">' . "\n"; |
|
199
|
|
- $html .= '<option value="-">' . __( 'None', 'woothemes-sensei' ) . '</option>'; |
|
|
198
|
+ $html .= '<select id="course-woocommerce-product-options" name="course_woocommerce_product" class="chosen_select widefat">'."\n"; |
|
|
199
|
+ $html .= '<option value="-">'.__('None', 'woothemes-sensei').'</option>'; |
|
200
|
200
|
$prev_parent_id = 0; |
|
201
|
|
- foreach ( $posts_array as $post_item ) { |
|
|
201
|
+ foreach ($posts_array as $post_item) { |
|
202
|
202
|
|
|
203
|
|
- if ( 'product_variation' == $post_item->post_type ) { |
|
|
203
|
+ if ('product_variation' == $post_item->post_type) { |
|
204
|
204
|
|
|
205
|
|
- $product_object = get_product( $post_item->ID ); |
|
206
|
|
- $parent_id = wp_get_post_parent_id( $post_item->ID ); |
|
|
205
|
+ $product_object = get_product($post_item->ID); |
|
|
206
|
+ $parent_id = wp_get_post_parent_id($post_item->ID); |
|
207
|
207
|
|
|
208
|
|
- if( sensei_check_woocommerce_version( '2.1' ) ) { |
|
209
|
|
- $formatted_variation = wc_get_formatted_variation( $product_object->variation_data, true ); |
|
|
208
|
+ if (sensei_check_woocommerce_version('2.1')) { |
|
|
209
|
+ $formatted_variation = wc_get_formatted_variation($product_object->variation_data, true); |
|
210
|
210
|
|
|
211
|
211
|
} else { |
|
212
|
212
|
// fall back to pre wc 2.1 |
|
213
|
|
- $formatted_variation = woocommerce_get_formatted_variation( $product_object->variation_data, true ); |
|
|
213
|
+ $formatted_variation = woocommerce_get_formatted_variation($product_object->variation_data, true); |
|
214
|
214
|
|
|
215
|
215
|
} |
|
216
|
216
|
|
|
217
|
|
- $product_name = ucwords( $formatted_variation ); |
|
218
|
|
- if( empty( $product_name ) ){ |
|
|
217
|
+ $product_name = ucwords($formatted_variation); |
|
|
218
|
+ if (empty($product_name)) { |
|
219
|
219
|
|
|
220
|
|
- $product_name = __( 'Variation #', 'woothemes-sensei' ) . $product_object->variation_id; |
|
|
220
|
+ $product_name = __('Variation #', 'woothemes-sensei').$product_object->variation_id; |
|
221
|
221
|
|
|
222
|
222
|
} |
|
223
|
223
|
|
|
@@ -230,47 +230,47 @@ discard block |
|
|
block discarded – undo |
|
230
|
230
|
} |
|
231
|
231
|
|
|
232
|
232
|
// Show variations in groups |
|
233
|
|
- if( $parent_id && $parent_id != $prev_parent_id ) { |
|
|
233
|
+ if ($parent_id && $parent_id != $prev_parent_id) { |
|
234
|
234
|
|
|
235
|
|
- if( 0 != $prev_parent_id ) { |
|
|
235
|
+ if (0 != $prev_parent_id) { |
|
236
|
236
|
|
|
237
|
237
|
$html .= '</optgroup>'; |
|
238
|
238
|
|
|
239
|
239
|
} |
|
240
|
|
- $html .= '<optgroup label="' . get_the_title( $parent_id ) . '">'; |
|
|
240
|
+ $html .= '<optgroup label="'.get_the_title($parent_id).'">'; |
|
241
|
241
|
$prev_parent_id = $parent_id; |
|
242
|
242
|
|
|
243
|
|
- } elseif( ! $parent_id && 0 == $prev_parent_id ) { |
|
|
243
|
+ } elseif ( ! $parent_id && 0 == $prev_parent_id) { |
|
244
|
244
|
|
|
245
|
245
|
$html .= '</optgroup>'; |
|
246
|
246
|
|
|
247
|
247
|
} |
|
248
|
248
|
|
|
249
|
|
- $html .= '<option value="' . esc_attr( absint( $post_item->ID ) ) . '"' . selected( $post_item->ID, $select_course_woocommerce_product, false ) . '>' . esc_html( $product_name ) . '</option>' . "\n"; |
|
|
249
|
+ $html .= '<option value="'.esc_attr(absint($post_item->ID)).'"'.selected($post_item->ID, $select_course_woocommerce_product, false).'>'.esc_html($product_name).'</option>'."\n"; |
|
250
|
250
|
|
|
251
|
251
|
} // End For Loop |
|
252
|
252
|
|
|
253
|
|
- $html .= '</select>' . "\n"; |
|
254
|
|
- if ( current_user_can( 'publish_product' )) { |
|
|
253
|
+ $html .= '</select>'."\n"; |
|
|
254
|
+ if (current_user_can('publish_product')) { |
|
255
|
255
|
|
|
256
|
|
- $html .= '<p>' . "\n"; |
|
257
|
|
- $html .= '<a href="' . admin_url( 'post-new.php?post_type=product' ) . '" title="' . esc_attr( __( 'Add a Product', 'woothemes-sensei' ) ) . '">' . __( 'Add a Product', 'woothemes-sensei' ) . '</a>' . "\n"; |
|
|
256
|
+ $html .= '<p>'."\n"; |
|
|
257
|
+ $html .= '<a href="'.admin_url('post-new.php?post_type=product').'" title="'.esc_attr(__('Add a Product', 'woothemes-sensei')).'">'.__('Add a Product', 'woothemes-sensei').'</a>'."\n"; |
|
258
|
258
|
$html .= '</p>'."\n"; |
|
259
|
259
|
|
|
260
|
260
|
} // End If Statement |
|
261
|
261
|
|
|
262
|
262
|
} else { |
|
263
|
263
|
|
|
264
|
|
- if ( current_user_can( 'publish_product' )) { |
|
|
264
|
+ if (current_user_can('publish_product')) { |
|
265
|
265
|
|
|
266
|
|
- $html .= '<p>' . "\n"; |
|
267
|
|
- $html .= esc_html( __( 'No products exist yet.', 'woothemes-sensei' ) ) . ' <a href="' . admin_url( 'post-new.php?post_type=product' ) . '" title="' . esc_attr( __( 'Add a Product', 'woothemes-sensei' ) ) . '">' . __( 'Please add some first', 'woothemes-sensei' ) . '</a>' . "\n"; |
|
|
266
|
+ $html .= '<p>'."\n"; |
|
|
267
|
+ $html .= esc_html(__('No products exist yet.', 'woothemes-sensei')).' <a href="'.admin_url('post-new.php?post_type=product').'" title="'.esc_attr(__('Add a Product', 'woothemes-sensei')).'">'.__('Please add some first', 'woothemes-sensei').'</a>'."\n"; |
|
268
|
268
|
$html .= '</p>'."\n"; |
|
269
|
269
|
|
|
270
|
270
|
} else { |
|
271
|
271
|
|
|
272
|
|
- $html .= '<p>' . "\n"; |
|
273
|
|
- $html .= esc_html( __( 'No products exist yet.', 'woothemes-sensei' ) ) . "\n"; |
|
|
272
|
+ $html .= '<p>'."\n"; |
|
|
273
|
+ $html .= esc_html(__('No products exist yet.', 'woothemes-sensei'))."\n"; |
|
274
|
274
|
$html .= '</p>'."\n"; |
|
275
|
275
|
|
|
276
|
276
|
} // End If Statement |
|
@@ -287,33 +287,33 @@ discard block |
|
|
block discarded – undo |
|
287
|
287
|
* @access public |
|
288
|
288
|
* @return void |
|
289
|
289
|
*/ |
|
290
|
|
- public function course_prerequisite_meta_box_content () { |
|
|
290
|
+ public function course_prerequisite_meta_box_content() { |
|
291
|
291
|
global $post; |
|
292
|
292
|
|
|
293
|
|
- $select_course_prerequisite = get_post_meta( $post->ID, '_course_prerequisite', true ); |
|
|
293
|
+ $select_course_prerequisite = get_post_meta($post->ID, '_course_prerequisite', true); |
|
294
|
294
|
|
|
295
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
295
|
+ $post_args = array('post_type' => 'course', |
|
296
|
296
|
'posts_per_page' => -1, |
|
297
|
297
|
'orderby' => 'title', |
|
298
|
298
|
'order' => 'DESC', |
|
299
|
299
|
'exclude' => $post->ID, |
|
300
|
300
|
'suppress_filters' => 0 |
|
301
|
301
|
); |
|
302
|
|
- $posts_array = get_posts( $post_args ); |
|
|
302
|
+ $posts_array = get_posts($post_args); |
|
303
|
303
|
|
|
304
|
304
|
$html = ''; |
|
305
|
305
|
|
|
306
|
|
- $html .= '<input type="hidden" name="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" id="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" value="' . esc_attr( wp_create_nonce( plugin_basename(__FILE__) ) ) . '" />'; |
|
|
306
|
+ $html .= '<input type="hidden" name="'.esc_attr('woo_'.$this->token.'_noonce').'" id="'.esc_attr('woo_'.$this->token.'_noonce').'" value="'.esc_attr(wp_create_nonce(plugin_basename(__FILE__))).'" />'; |
|
307
|
307
|
|
|
308
|
|
- if ( count( $posts_array ) > 0 ) { |
|
309
|
|
- $html .= '<select id="course-prerequisite-options" name="course_prerequisite" class="chosen_select widefat">' . "\n"; |
|
310
|
|
- $html .= '<option value="">' . __( 'None', 'woothemes-sensei' ) . '</option>'; |
|
311
|
|
- foreach ($posts_array as $post_item){ |
|
312
|
|
- $html .= '<option value="' . esc_attr( absint( $post_item->ID ) ) . '"' . selected( $post_item->ID, $select_course_prerequisite, false ) . '>' . esc_html( $post_item->post_title ) . '</option>' . "\n"; |
|
|
308
|
+ if (count($posts_array) > 0) { |
|
|
309
|
+ $html .= '<select id="course-prerequisite-options" name="course_prerequisite" class="chosen_select widefat">'."\n"; |
|
|
310
|
+ $html .= '<option value="">'.__('None', 'woothemes-sensei').'</option>'; |
|
|
311
|
+ foreach ($posts_array as $post_item) { |
|
|
312
|
+ $html .= '<option value="'.esc_attr(absint($post_item->ID)).'"'.selected($post_item->ID, $select_course_prerequisite, false).'>'.esc_html($post_item->post_title).'</option>'."\n"; |
|
313
|
313
|
} // End For Loop |
|
314
|
|
- $html .= '</select>' . "\n"; |
|
|
314
|
+ $html .= '</select>'."\n"; |
|
315
|
315
|
} else { |
|
316
|
|
- $html .= '<p>' . esc_html( __( 'No courses exist yet. Please add some first.', 'woothemes-sensei' ) ) . '</p>'; |
|
|
316
|
+ $html .= '<p>'.esc_html(__('No courses exist yet. Please add some first.', 'woothemes-sensei')).'</p>'; |
|
317
|
317
|
} // End If Statement |
|
318
|
318
|
|
|
319
|
319
|
echo $html; |
|
@@ -326,21 +326,21 @@ discard block |
|
|
block discarded – undo |
|
326
|
326
|
* @access public |
|
327
|
327
|
* @return void |
|
328
|
328
|
*/ |
|
329
|
|
- public function course_featured_meta_box_content () { |
|
|
329
|
+ public function course_featured_meta_box_content() { |
|
330
|
330
|
global $post; |
|
331
|
331
|
|
|
332
|
|
- $course_featured = get_post_meta( $post->ID, '_course_featured', true ); |
|
|
332
|
+ $course_featured = get_post_meta($post->ID, '_course_featured', true); |
|
333
|
333
|
|
|
334
|
334
|
$html = ''; |
|
335
|
335
|
|
|
336
|
|
- $html .= '<input type="hidden" name="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" id="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" value="' . esc_attr( wp_create_nonce( plugin_basename(__FILE__) ) ) . '" />'; |
|
|
336
|
+ $html .= '<input type="hidden" name="'.esc_attr('woo_'.$this->token.'_noonce').'" id="'.esc_attr('woo_'.$this->token.'_noonce').'" value="'.esc_attr(wp_create_nonce(plugin_basename(__FILE__))).'" />'; |
|
337
|
337
|
|
|
338
|
338
|
$checked = ''; |
|
339
|
|
- if ( isset( $course_featured ) && ( '' != $course_featured ) ) { |
|
340
|
|
- $checked = checked( 'featured', $course_featured, false ); |
|
|
339
|
+ if (isset($course_featured) && ('' != $course_featured)) { |
|
|
340
|
+ $checked = checked('featured', $course_featured, false); |
|
341
|
341
|
} // End If Statement |
|
342
|
342
|
|
|
343
|
|
- $html .= '<input type="checkbox" name="course_featured" value="featured" ' . $checked . '> ' . __( 'Feature this course', 'woothemes-sensei' ) . '<br>'; |
|
|
343
|
+ $html .= '<input type="checkbox" name="course_featured" value="featured" '.$checked.'> '.__('Feature this course', 'woothemes-sensei').'<br>'; |
|
344
|
344
|
|
|
345
|
345
|
echo $html; |
|
346
|
346
|
|
|
@@ -352,16 +352,16 @@ discard block |
|
|
block discarded – undo |
|
352
|
352
|
* @access public |
|
353
|
353
|
* @return void |
|
354
|
354
|
*/ |
|
355
|
|
- public function course_video_meta_box_content () { |
|
|
355
|
+ public function course_video_meta_box_content() { |
|
356
|
356
|
global $post; |
|
357
|
357
|
|
|
358
|
|
- $course_video_embed = get_post_meta( $post->ID, '_course_video_embed', true ); |
|
|
358
|
+ $course_video_embed = get_post_meta($post->ID, '_course_video_embed', true); |
|
359
|
359
|
|
|
360
|
360
|
$html = ''; |
|
361
|
361
|
|
|
362
|
|
- $html .= '<label class="screen-reader-text" for="course_video_embed">' . __( 'Video Embed Code', 'woothemes-sensei' ) . '</label>'; |
|
363
|
|
- $html .= '<textarea rows="5" cols="50" name="course_video_embed" tabindex="6" id="course-video-embed">' . $course_video_embed . '</textarea>'; |
|
364
|
|
- $html .= '<p>' . __( 'Paste the embed code for your video (e.g. YouTube, Vimeo etc.) in the box above.', 'woothemes-sensei' ) . '</p>'; |
|
|
362
|
+ $html .= '<label class="screen-reader-text" for="course_video_embed">'.__('Video Embed Code', 'woothemes-sensei').'</label>'; |
|
|
363
|
+ $html .= '<textarea rows="5" cols="50" name="course_video_embed" tabindex="6" id="course-video-embed">'.$course_video_embed.'</textarea>'; |
|
|
364
|
+ $html .= '<p>'.__('Paste the embed code for your video (e.g. YouTube, Vimeo etc.) in the box above.', 'woothemes-sensei').'</p>'; |
|
365
|
365
|
|
|
366
|
366
|
echo $html; |
|
367
|
367
|
|
|
@@ -376,36 +376,36 @@ discard block |
|
|
block discarded – undo |
|
376
|
376
|
* @param int $post_id |
|
377
|
377
|
* @return int |
|
378
|
378
|
*/ |
|
379
|
|
- public function meta_box_save ( $post_id ) { |
|
|
379
|
+ public function meta_box_save($post_id) { |
|
380
|
380
|
global $post; |
|
381
|
381
|
|
|
382
|
382
|
/* Verify the nonce before proceeding. */ |
|
383
|
|
- if ( ( get_post_type() != $this->token ) || ! wp_verify_nonce( $_POST['woo_' . $this->token . '_noonce'], plugin_basename(__FILE__) ) ) { |
|
|
383
|
+ if ((get_post_type() != $this->token) || ! wp_verify_nonce($_POST['woo_'.$this->token.'_noonce'], plugin_basename(__FILE__))) { |
|
384
|
384
|
return $post_id; |
|
385
|
385
|
} |
|
386
|
386
|
|
|
387
|
387
|
/* Get the post type object. */ |
|
388
|
|
- $post_type = get_post_type_object( $post->post_type ); |
|
|
388
|
+ $post_type = get_post_type_object($post->post_type); |
|
389
|
389
|
|
|
390
|
390
|
/* Check if the current user has permission to edit the post. */ |
|
391
|
|
- if ( !current_user_can( $post_type->cap->edit_post, $post_id ) ) { |
|
|
391
|
+ if ( ! current_user_can($post_type->cap->edit_post, $post_id)) { |
|
392
|
392
|
return $post_id; |
|
393
|
393
|
} // End If Statement |
|
394
|
394
|
|
|
395
|
|
- if ( 'page' == $_POST['post_type'] ) { |
|
396
|
|
- if ( ! current_user_can( 'edit_page', $post_id ) ) { |
|
|
395
|
+ if ('page' == $_POST['post_type']) { |
|
|
396
|
+ if ( ! current_user_can('edit_page', $post_id)) { |
|
397
|
397
|
return $post_id; |
|
398
|
398
|
} // End If Statement |
|
399
|
399
|
} else { |
|
400
|
|
- if ( ! current_user_can( 'edit_post', $post_id ) ) { |
|
|
400
|
+ if ( ! current_user_can('edit_post', $post_id)) { |
|
401
|
401
|
return $post_id; |
|
402
|
402
|
} // End If Statement |
|
403
|
403
|
} // End If Statement |
|
404
|
404
|
|
|
405
|
405
|
// Save the post meta data fields |
|
406
|
|
- if ( isset($this->meta_fields) && is_array($this->meta_fields) ) { |
|
407
|
|
- foreach ( $this->meta_fields as $meta_key ) { |
|
408
|
|
- $this->save_post_meta( $meta_key, $post_id ); |
|
|
406
|
+ if (isset($this->meta_fields) && is_array($this->meta_fields)) { |
|
|
407
|
+ foreach ($this->meta_fields as $meta_key) { |
|
|
408
|
+ $this->save_post_meta($meta_key, $post_id); |
|
409
|
409
|
} // End For Loop |
|
410
|
410
|
} // End If Statement |
|
411
|
411
|
|
|
@@ -422,18 +422,18 @@ discard block |
|
|
block discarded – undo |
|
422
|
422
|
* @param int $post_id (default: 0) |
|
423
|
423
|
* @return int new meta id | bool meta value saved status |
|
424
|
424
|
*/ |
|
425
|
|
- private function save_post_meta( $post_key = '', $post_id = 0 ) { |
|
|
425
|
+ private function save_post_meta($post_key = '', $post_id = 0) { |
|
426
|
426
|
// Get the meta key. |
|
427
|
|
- $meta_key = '_' . $post_key; |
|
|
427
|
+ $meta_key = '_'.$post_key; |
|
428
|
428
|
// Get the posted data and sanitize it for use as an HTML class. |
|
429
|
|
- if ( 'course_video_embed' == $post_key) { |
|
430
|
|
- $new_meta_value = esc_html( $_POST[$post_key] ); |
|
|
429
|
+ if ('course_video_embed' == $post_key) { |
|
|
430
|
+ $new_meta_value = esc_html($_POST[$post_key]); |
|
431
|
431
|
} else { |
|
432
|
|
- $new_meta_value = ( isset( $_POST[$post_key] ) ? sanitize_html_class( $_POST[$post_key] ) : '' ); |
|
|
432
|
+ $new_meta_value = (isset($_POST[$post_key]) ? sanitize_html_class($_POST[$post_key]) : ''); |
|
433
|
433
|
} // End If Statement |
|
434
|
434
|
|
|
435
|
435
|
// update field with the new value |
|
436
|
|
- return update_post_meta( $post_id, $meta_key, $new_meta_value ); |
|
|
436
|
+ return update_post_meta($post_id, $meta_key, $new_meta_value); |
|
437
|
437
|
|
|
438
|
438
|
} // End save_post_meta() |
|
439
|
439
|
|
|
@@ -443,31 +443,31 @@ discard block |
|
|
block discarded – undo |
|
443
|
443
|
* @access public |
|
444
|
444
|
* @return void |
|
445
|
445
|
*/ |
|
446
|
|
- public function course_lessons_meta_box_content () { |
|
|
446
|
+ public function course_lessons_meta_box_content() { |
|
447
|
447
|
|
|
448
|
448
|
global $post; |
|
449
|
449
|
|
|
450
|
450
|
// Setup Lesson Query |
|
451
|
451
|
$posts_array = array(); |
|
452
|
|
- if ( 0 < $post->ID ) { |
|
|
452
|
+ if (0 < $post->ID) { |
|
453
|
453
|
|
|
454
|
|
- $posts_array = $this->course_lessons( $post->ID, 'any' ); |
|
|
454
|
+ $posts_array = $this->course_lessons($post->ID, 'any'); |
|
455
|
455
|
|
|
456
|
456
|
} // End If Statement |
|
457
|
457
|
|
|
458
|
458
|
$html = ''; |
|
459
|
|
- $html .= '<input type="hidden" name="' . esc_attr( 'woo_' . $this->token . '_noonce' ) . '" id="' |
|
460
|
|
- . esc_attr( 'woo_' . $this->token . '_noonce' ) |
|
461
|
|
- . '" value="' . esc_attr( wp_create_nonce( plugin_basename(__FILE__) ) ) . '" />'; |
|
|
459
|
+ $html .= '<input type="hidden" name="'.esc_attr('woo_'.$this->token.'_noonce').'" id="' |
|
|
460
|
+ . esc_attr('woo_'.$this->token.'_noonce') |
|
|
461
|
+ . '" value="'.esc_attr(wp_create_nonce(plugin_basename(__FILE__))).'" />'; |
|
462
|
462
|
|
|
463
|
|
- if ( count( $posts_array ) > 0 ) { |
|
|
463
|
+ if (count($posts_array) > 0) { |
|
464
|
464
|
|
|
465
|
|
- foreach ($posts_array as $post_item){ |
|
|
465
|
+ foreach ($posts_array as $post_item) { |
|
466
|
466
|
|
|
467
|
467
|
$html .= '<p>'."\n"; |
|
468
|
468
|
|
|
469
|
469
|
$html .= $post_item->post_title."\n"; |
|
470
|
|
- $html .= '<a href="' . esc_url( get_edit_post_link( $post_item->ID ) ) . '" title="' . esc_attr( sprintf( __( 'Edit %s', 'woothemes-sensei' ), $post_item->post_title ) ) . '" class="edit-lesson-action">' . __( 'Edit this lesson', 'woothemes-sensei' ) . '</a>'; |
|
|
470
|
+ $html .= '<a href="'.esc_url(get_edit_post_link($post_item->ID)).'" title="'.esc_attr(sprintf(__('Edit %s', 'woothemes-sensei'), $post_item->post_title)).'" class="edit-lesson-action">'.__('Edit this lesson', 'woothemes-sensei').'</a>'; |
|
471
|
471
|
|
|
472
|
472
|
$html .= '</p>'."\n"; |
|
473
|
473
|
|
|
@@ -475,12 +475,12 @@ discard block |
|
|
block discarded – undo |
|
475
|
475
|
|
|
476
|
476
|
} else { |
|
477
|
477
|
$course_id = ''; |
|
478
|
|
- if ( 0 < $post->ID ) { $course_id = '&course_id=' . $post->ID; } |
|
479
|
|
- $html .= '<p>' . esc_html( __( 'No lessons exist yet for this course.', 'woothemes-sensei' ) ) . "\n"; |
|
|
478
|
+ if (0 < $post->ID) { $course_id = '&course_id='.$post->ID; } |
|
|
479
|
+ $html .= '<p>'.esc_html(__('No lessons exist yet for this course.', 'woothemes-sensei'))."\n"; |
|
480
|
480
|
|
|
481
|
|
- $html .= '<a href="' . admin_url( 'post-new.php?post_type=lesson' . $course_id ) |
|
482
|
|
- . '" title="' . esc_attr( __( 'Add a Lesson', 'woothemes-sensei' ) ) . '">' |
|
483
|
|
- . __( 'Please add some.', 'woothemes-sensei' ) . '</a>' . "\n"; |
|
|
481
|
+ $html .= '<a href="'.admin_url('post-new.php?post_type=lesson'.$course_id) |
|
|
482
|
+ . '" title="'.esc_attr(__('Add a Lesson', 'woothemes-sensei')).'">' |
|
|
483
|
+ . __('Please add some.', 'woothemes-sensei').'</a>'."\n"; |
|
484
|
484
|
|
|
485
|
485
|
$html .= '</p>'."\n"; |
|
486
|
486
|
} // End If Statement |
|
@@ -497,12 +497,12 @@ discard block |
|
|
block discarded – undo |
|
497
|
497
|
* @return void |
|
498
|
498
|
*/ |
|
499
|
499
|
|
|
500
|
|
- public function course_manage_meta_box_content () { |
|
|
500
|
+ public function course_manage_meta_box_content() { |
|
501
|
501
|
global $post; |
|
502
|
502
|
|
|
503
|
|
- $manage_url = esc_url( add_query_arg( array( 'page' => 'sensei_learners', 'course_id' => $post->ID, 'view' => 'learners' ), admin_url( 'admin.php') ) ); |
|
|
503
|
+ $manage_url = esc_url(add_query_arg(array('page' => 'sensei_learners', 'course_id' => $post->ID, 'view' => 'learners'), admin_url('admin.php'))); |
|
504
|
504
|
|
|
505
|
|
- $grading_url = esc_url( add_query_arg( array( 'page' => 'sensei_grading', 'course_id' => $post->ID, 'view' => 'learners' ), admin_url( 'admin.php') ) ); |
|
|
505
|
+ $grading_url = esc_url(add_query_arg(array('page' => 'sensei_grading', 'course_id' => $post->ID, 'view' => 'learners'), admin_url('admin.php'))); |
|
506
|
506
|
|
|
507
|
507
|
|
|
508
|
508
|
echo "<ul><li><a href='$manage_url'>".__("Manage Learners", 'woothemes-sensei')."</a></li>"; |
|
@@ -520,16 +520,16 @@ discard block |
|
|
block discarded – undo |
|
520
|
520
|
* @param array $defaults |
|
521
|
521
|
* @return array $new_columns |
|
522
|
522
|
*/ |
|
523
|
|
- public function add_column_headings ( $defaults ) { |
|
|
523
|
+ public function add_column_headings($defaults) { |
|
524
|
524
|
$new_columns['cb'] = '<input type="checkbox" />'; |
|
525
|
525
|
// $new_columns['id'] = __( 'ID' ); |
|
526
|
|
- $new_columns['title'] = _x( 'Course Title', 'column name', 'woothemes-sensei' ); |
|
527
|
|
- $new_columns['course-prerequisite'] = _x( 'Pre-requisite Course', 'column name', 'woothemes-sensei' ); |
|
528
|
|
- if ( Sensei_WC::is_woocommerce_active() ) { |
|
529
|
|
- $new_columns['course-woocommerce-product'] = _x( 'WooCommerce Product', 'column name', 'woothemes-sensei' ); |
|
|
526
|
+ $new_columns['title'] = _x('Course Title', 'column name', 'woothemes-sensei'); |
|
|
527
|
+ $new_columns['course-prerequisite'] = _x('Pre-requisite Course', 'column name', 'woothemes-sensei'); |
|
|
528
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
|
529
|
+ $new_columns['course-woocommerce-product'] = _x('WooCommerce Product', 'column name', 'woothemes-sensei'); |
|
530
|
530
|
} // End If Statement |
|
531
|
|
- $new_columns['course-category'] = _x( 'Category', 'column name', 'woothemes-sensei' ); |
|
532
|
|
- if ( isset( $defaults['date'] ) ) { |
|
|
531
|
+ $new_columns['course-category'] = _x('Category', 'column name', 'woothemes-sensei'); |
|
|
532
|
+ if (isset($defaults['date'])) { |
|
533
|
533
|
$new_columns['date'] = $defaults['date']; |
|
534
|
534
|
} |
|
535
|
535
|
|
|
@@ -544,45 +544,45 @@ discard block |
|
|
block discarded – undo |
|
544
|
544
|
* @param int $id |
|
545
|
545
|
* @return void |
|
546
|
546
|
*/ |
|
547
|
|
- public function add_column_data ( $column_name, $id ) { |
|
|
547
|
+ public function add_column_data($column_name, $id) { |
|
548
|
548
|
global $wpdb, $post; |
|
549
|
549
|
|
|
550
|
|
- switch ( $column_name ) { |
|
|
550
|
+ switch ($column_name) { |
|
551
|
551
|
case 'id': |
|
552
|
552
|
echo $id; |
|
553
|
553
|
break; |
|
554
|
554
|
|
|
555
|
555
|
case 'course-prerequisite': |
|
556
|
|
- $course_prerequisite_id = get_post_meta( $id, '_course_prerequisite', true); |
|
557
|
|
- if ( 0 < absint( $course_prerequisite_id ) ) { echo '<a href="' . esc_url( get_edit_post_link( absint( $course_prerequisite_id ) ) ) . '" title="' . esc_attr( sprintf( __( 'Edit %s', 'woothemes-sensei' ), get_the_title( absint( $course_prerequisite_id ) ) ) ) . '">' . get_the_title( absint( $course_prerequisite_id ) ) . '</a>'; } |
|
|
556
|
+ $course_prerequisite_id = get_post_meta($id, '_course_prerequisite', true); |
|
|
557
|
+ if (0 < absint($course_prerequisite_id)) { echo '<a href="'.esc_url(get_edit_post_link(absint($course_prerequisite_id))).'" title="'.esc_attr(sprintf(__('Edit %s', 'woothemes-sensei'), get_the_title(absint($course_prerequisite_id)))).'">'.get_the_title(absint($course_prerequisite_id)).'</a>'; } |
|
558
|
558
|
|
|
559
|
559
|
break; |
|
560
|
560
|
|
|
561
|
561
|
case 'course-woocommerce-product': |
|
562
|
|
- if ( Sensei_WC::is_woocommerce_active() ) { |
|
563
|
|
- $course_woocommerce_product_id = get_post_meta( $id, '_course_woocommerce_product', true); |
|
564
|
|
- if ( 0 < absint( $course_woocommerce_product_id ) ) { |
|
565
|
|
- if ( 'product_variation' == get_post_type( $course_woocommerce_product_id ) ) { |
|
566
|
|
- $product_object = get_product( $course_woocommerce_product_id ); |
|
567
|
|
- if( sensei_check_woocommerce_version( '2.1' ) ) { |
|
568
|
|
- $formatted_variation = wc_get_formatted_variation( $product_object->variation_data, true ); |
|
|
562
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
|
563
|
+ $course_woocommerce_product_id = get_post_meta($id, '_course_woocommerce_product', true); |
|
|
564
|
+ if (0 < absint($course_woocommerce_product_id)) { |
|
|
565
|
+ if ('product_variation' == get_post_type($course_woocommerce_product_id)) { |
|
|
566
|
+ $product_object = get_product($course_woocommerce_product_id); |
|
|
567
|
+ if (sensei_check_woocommerce_version('2.1')) { |
|
|
568
|
+ $formatted_variation = wc_get_formatted_variation($product_object->variation_data, true); |
|
569
|
569
|
} else { |
|
570
|
|
- $formatted_variation = woocommerce_get_formatted_variation( $product_object->variation_data, true ); |
|
|
570
|
+ $formatted_variation = woocommerce_get_formatted_variation($product_object->variation_data, true); |
|
571
|
571
|
} |
|
572
|
572
|
$course_woocommerce_product_id = $product_object->parent->post->ID; |
|
573
|
|
- $product_name = $product_object->parent->post->post_title . '<br/> ' . ucwords( $formatted_variation ); |
|
|
573
|
+ $product_name = $product_object->parent->post->post_title.'<br/> '.ucwords($formatted_variation); |
|
574
|
574
|
} else { |
|
575
|
|
- $product_name = get_the_title( absint( $course_woocommerce_product_id ) ); |
|
|
575
|
+ $product_name = get_the_title(absint($course_woocommerce_product_id)); |
|
576
|
576
|
} // End If Statement |
|
577
|
|
- echo '<a href="' . esc_url( get_edit_post_link( absint( $course_woocommerce_product_id ) ) ) . '" title="' . esc_attr( sprintf( __( 'Edit %s', 'woothemes-sensei' ), $product_name ) ) . '">' . $product_name . '</a>'; |
|
|
577
|
+ echo '<a href="'.esc_url(get_edit_post_link(absint($course_woocommerce_product_id))).'" title="'.esc_attr(sprintf(__('Edit %s', 'woothemes-sensei'), $product_name)).'">'.$product_name.'</a>'; |
|
578
|
578
|
} // End If Statement |
|
579
|
579
|
} // End If Statement |
|
580
|
580
|
break; |
|
581
|
581
|
|
|
582
|
582
|
case 'course-category': |
|
583
|
|
- $output = get_the_term_list( $id, 'course-category', '', ', ', '' ); |
|
584
|
|
- if ( '' == $output ) { |
|
585
|
|
- $output = __( 'None', 'woothemes-sensei' ); |
|
|
583
|
+ $output = get_the_term_list($id, 'course-category', '', ', ', ''); |
|
|
584
|
+ if ('' == $output) { |
|
|
585
|
+ $output = __('None', 'woothemes-sensei'); |
|
586
|
586
|
} // End If Statement |
|
587
|
587
|
echo $output; |
|
588
|
588
|
break; |
|
@@ -602,29 +602,29 @@ discard block |
|
|
block discarded – undo |
|
602
|
602
|
* @param array $includes (default: array()) |
|
603
|
603
|
* @return array |
|
604
|
604
|
*/ |
|
605
|
|
- public function course_query( $amount = 0, $type = 'default', $includes = array(), $excludes = array() ) { |
|
606
|
|
- global $my_courses_page ; |
|
|
605
|
+ public function course_query($amount = 0, $type = 'default', $includes = array(), $excludes = array()) { |
|
|
606
|
+ global $my_courses_page; |
|
607
|
607
|
|
|
608
|
608
|
$results_array = array(); |
|
609
|
609
|
|
|
610
|
|
- if( $my_courses_page ) { add_action( 'pre_get_posts', array( $this, 'filter_my_courses' ) ); } |
|
|
610
|
+ if ($my_courses_page) { add_action('pre_get_posts', array($this, 'filter_my_courses')); } |
|
611
|
611
|
|
|
612
|
|
- $post_args = $this->get_archive_query_args( $type, $amount, $includes, $excludes ); |
|
|
612
|
+ $post_args = $this->get_archive_query_args($type, $amount, $includes, $excludes); |
|
613
|
613
|
|
|
614
|
614
|
// get the posts |
|
615
|
|
- if( empty( $post_args ) ) { |
|
|
615
|
+ if (empty($post_args)) { |
|
616
|
616
|
|
|
617
|
617
|
return $results_array; |
|
618
|
618
|
|
|
619
|
|
- }else{ |
|
|
619
|
+ } else { |
|
620
|
620
|
|
|
621
|
621
|
//reset the pagination as this widgets do not need it |
|
622
|
622
|
$post_args['paged'] = 1; |
|
623
|
|
- $results_array = get_posts( $post_args ); |
|
|
623
|
+ $results_array = get_posts($post_args); |
|
624
|
624
|
|
|
625
|
625
|
} |
|
626
|
626
|
|
|
627
|
|
- if( $my_courses_page ) { remove_action( 'pre_get_posts', array( $this, 'filter_my_courses' ) ); } |
|
|
627
|
+ if ($my_courses_page) { remove_action('pre_get_posts', array($this, 'filter_my_courses')); } |
|
628
|
628
|
|
|
629
|
629
|
return $results_array; |
|
630
|
630
|
|
|
@@ -640,22 +640,22 @@ discard block |
|
|
block discarded – undo |
|
640
|
640
|
* @param array $includes (default: array()) |
|
641
|
641
|
* @return array |
|
642
|
642
|
*/ |
|
643
|
|
- public function get_archive_query_args( $type = '', $amount = 0 , $includes = array(), $excludes = array() ) { |
|
|
643
|
+ public function get_archive_query_args($type = '', $amount = 0, $includes = array(), $excludes = array()) { |
|
644
|
644
|
|
|
645
|
645
|
global $wp_query; |
|
646
|
646
|
|
|
647
|
|
- if ( 0 == $amount && ( isset( Sensei()->settings->settings[ 'course_archive_amount' ] ) && 'usercourses' != $type && ( 0 < absint( Sensei()->settings->settings[ 'course_archive_amount' ] ) ) ) ) { |
|
648
|
|
- $amount = absint( Sensei()->settings->settings[ 'course_archive_amount' ] ); |
|
|
647
|
+ if (0 == $amount && (isset(Sensei()->settings->settings['course_archive_amount']) && 'usercourses' != $type && (0 < absint(Sensei()->settings->settings['course_archive_amount'])))) { |
|
|
648
|
+ $amount = absint(Sensei()->settings->settings['course_archive_amount']); |
|
649
|
649
|
} else { |
|
650
|
|
- if ( 0 == $amount) { |
|
651
|
|
- $amount = $wp_query->get( 'posts_per_page' ); |
|
|
650
|
+ if (0 == $amount) { |
|
|
651
|
+ $amount = $wp_query->get('posts_per_page'); |
|
652
|
652
|
} // End If Statement |
|
653
|
653
|
} // End If Statement |
|
654
|
654
|
|
|
655
|
|
- $stored_order = get_option( 'sensei_course_order', '' ); |
|
|
655
|
+ $stored_order = get_option('sensei_course_order', ''); |
|
656
|
656
|
$order = 'ASC'; |
|
657
|
657
|
$orderby = 'menu_order'; |
|
658
|
|
- if( empty( $stored_order ) ){ |
|
|
658
|
+ if (empty($stored_order)) { |
|
659
|
659
|
|
|
660
|
660
|
$order = 'DESC'; |
|
661
|
661
|
$orderby = 'date'; |
|
@@ -665,7 +665,7 @@ discard block |
|
|
block discarded – undo |
|
665
|
665
|
switch ($type) { |
|
666
|
666
|
|
|
667
|
667
|
case 'usercourses': |
|
668
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
668
|
+ $post_args = array('post_type' => 'course', |
|
669
|
669
|
'orderby' => $orderby, |
|
670
|
670
|
'order' => $order, |
|
671
|
671
|
'post_status' => 'publish', |
|
@@ -706,7 +706,7 @@ discard block |
|
|
block discarded – undo |
|
706
|
706
|
break; |
|
707
|
707
|
|
|
708
|
708
|
case 'featuredcourses': |
|
709
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
709
|
+ $post_args = array('post_type' => 'course', |
|
710
|
710
|
'orderby' => $orderby, |
|
711
|
711
|
'order' => $order, |
|
712
|
712
|
'post_status' => 'publish', |
|
@@ -718,7 +718,7 @@ discard block |
|
|
block discarded – undo |
|
718
|
718
|
); |
|
719
|
719
|
break; |
|
720
|
720
|
default: |
|
721
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
721
|
+ $post_args = array('post_type' => 'course', |
|
722
|
722
|
'orderby' => $orderby, |
|
723
|
723
|
'order' => $order, |
|
724
|
724
|
'post_status' => 'publish', |
|
@@ -730,13 +730,13 @@ discard block |
|
|
block discarded – undo |
|
730
|
730
|
} |
|
731
|
731
|
|
|
732
|
732
|
$post_args['posts_per_page'] = $amount; |
|
733
|
|
- $paged = $wp_query->get( 'paged' ); |
|
734
|
|
- $post_args['paged'] = empty( $paged) ? 1 : $paged; |
|
|
733
|
+ $paged = $wp_query->get('paged'); |
|
|
734
|
+ $post_args['paged'] = empty($paged) ? 1 : $paged; |
|
735
|
735
|
|
|
736
|
|
- if( 'newcourses' == $type ){ |
|
|
736
|
+ if ('newcourses' == $type) { |
|
737
|
737
|
|
|
738
|
|
- $post_args[ 'orderby' ] = 'date'; |
|
739
|
|
- $post_args[ 'order' ] = 'DESC'; |
|
|
738
|
+ $post_args['orderby'] = 'date'; |
|
|
739
|
+ $post_args['order'] = 'DESC'; |
|
740
|
740
|
} |
|
741
|
741
|
|
|
742
|
742
|
return $post_args; |
|
@@ -758,15 +758,15 @@ discard block |
|
|
block discarded – undo |
|
758
|
758
|
* |
|
759
|
759
|
* @return string | void |
|
760
|
760
|
*/ |
|
761
|
|
- public function course_image( $course_id = 0, $width = '100', $height = '100', $return = false ) { |
|
|
761
|
+ public function course_image($course_id = 0, $width = '100', $height = '100', $return = false) { |
|
762
|
762
|
|
|
763
|
|
- if ( is_a( $course_id, 'WP_Post' ) ) { |
|
|
763
|
+ if (is_a($course_id, 'WP_Post')) { |
|
764
|
764
|
|
|
765
|
765
|
$course_id = $course_id->ID; |
|
766
|
766
|
|
|
767
|
767
|
} |
|
768
|
768
|
|
|
769
|
|
- if ( 'course' !== get_post_type( $course_id ) ){ |
|
|
769
|
+ if ('course' !== get_post_type($course_id)) { |
|
770
|
770
|
|
|
771
|
771
|
return; |
|
772
|
772
|
|
|
@@ -775,26 +775,26 @@ discard block |
|
|
block discarded – undo |
|
775
|
775
|
$html = ''; |
|
776
|
776
|
|
|
777
|
777
|
// Get Width and Height settings |
|
778
|
|
- if ( ( $width == '100' ) && ( $height == '100' ) ) { |
|
|
778
|
+ if (($width == '100') && ($height == '100')) { |
|
779
|
779
|
|
|
780
|
|
- if ( is_singular( 'course' ) ) { |
|
|
780
|
+ if (is_singular('course')) { |
|
781
|
781
|
|
|
782
|
|
- if ( !Sensei()->settings->settings[ 'course_single_image_enable' ] ) { |
|
|
782
|
+ if ( ! Sensei()->settings->settings['course_single_image_enable']) { |
|
783
|
783
|
return ''; |
|
784
|
784
|
} // End If Statement |
|
785
|
785
|
$image_thumb_size = 'course_single_image'; |
|
786
|
|
- $dimensions = Sensei()->get_image_size( $image_thumb_size ); |
|
|
786
|
+ $dimensions = Sensei()->get_image_size($image_thumb_size); |
|
787
|
787
|
$width = $dimensions['width']; |
|
788
|
788
|
$height = $dimensions['height']; |
|
789
|
789
|
|
|
790
|
790
|
} else { |
|
791
|
791
|
|
|
792
|
|
- if ( !Sensei()->settings->settings[ 'course_archive_image_enable' ] ) { |
|
|
792
|
+ if ( ! Sensei()->settings->settings['course_archive_image_enable']) { |
|
793
|
793
|
return ''; |
|
794
|
794
|
} // End If Statement |
|
795
|
795
|
|
|
796
|
796
|
$image_thumb_size = 'course_archive_image'; |
|
797
|
|
- $dimensions = Sensei()->get_image_size( $image_thumb_size ); |
|
|
797
|
+ $dimensions = Sensei()->get_image_size($image_thumb_size); |
|
798
|
798
|
$width = $dimensions['width']; |
|
799
|
799
|
$height = $dimensions['height']; |
|
800
|
800
|
|
|
@@ -803,31 +803,31 @@ discard block |
|
|
block discarded – undo |
|
803
|
803
|
} // End If Statement |
|
804
|
804
|
|
|
805
|
805
|
$img_url = ''; |
|
806
|
|
- if ( has_post_thumbnail( $course_id ) ) { |
|
|
806
|
+ if (has_post_thumbnail($course_id)) { |
|
807
|
807
|
// Get Featured Image |
|
808
|
|
- $img_url = get_the_post_thumbnail( $course_id, array( $width, $height ), array( 'class' => 'woo-image thumbnail alignleft') ); |
|
|
808
|
+ $img_url = get_the_post_thumbnail($course_id, array($width, $height), array('class' => 'woo-image thumbnail alignleft')); |
|
809
|
809
|
} else { |
|
810
|
810
|
|
|
811
|
811
|
// Check for a Lesson Image |
|
812
|
|
- $course_lessons = $this->course_lessons( $course_id ); |
|
|
812
|
+ $course_lessons = $this->course_lessons($course_id); |
|
813
|
813
|
|
|
814
|
|
- foreach ($course_lessons as $lesson_item){ |
|
815
|
|
- if ( has_post_thumbnail( $lesson_item->ID ) ) { |
|
|
814
|
+ foreach ($course_lessons as $lesson_item) { |
|
|
815
|
+ if (has_post_thumbnail($lesson_item->ID)) { |
|
816
|
816
|
// Get Featured Image |
|
817
|
|
- $img_url = get_the_post_thumbnail( $lesson_item->ID, array( $width, $height ), array( 'class' => 'woo-image thumbnail alignleft') ); |
|
818
|
|
- if ( '' != $img_url ) { |
|
|
817
|
+ $img_url = get_the_post_thumbnail($lesson_item->ID, array($width, $height), array('class' => 'woo-image thumbnail alignleft')); |
|
|
818
|
+ if ('' != $img_url) { |
|
819
|
819
|
break; |
|
820
|
820
|
} // End If Statement |
|
821
|
821
|
|
|
822
|
822
|
} // End If Statement |
|
823
|
823
|
} // End For Loop |
|
824
|
824
|
|
|
825
|
|
- if ( '' == $img_url ) { |
|
|
825
|
+ if ('' == $img_url) { |
|
826
|
826
|
|
|
827
|
827
|
// Display Image Placeholder if none |
|
828
|
|
- if ( Sensei()->settings->get( 'placeholder_images_enable' ) ) { |
|
|
828
|
+ if (Sensei()->settings->get('placeholder_images_enable')) { |
|
829
|
829
|
|
|
830
|
|
- $img_url = apply_filters( 'sensei_course_placeholder_image_url', '<img src="http://placehold.it/' . $width . 'x' . $height . '" class="woo-image thumbnail alignleft" />' ); |
|
|
830
|
+ $img_url = apply_filters('sensei_course_placeholder_image_url', '<img src="http://placehold.it/'.$width.'x'.$height.'" class="woo-image thumbnail alignleft" />'); |
|
831
|
831
|
|
|
832
|
832
|
} // End If Statement |
|
833
|
833
|
|
|
@@ -835,17 +835,17 @@ discard block |
|
|
block discarded – undo |
|
835
|
835
|
|
|
836
|
836
|
} // End If Statement |
|
837
|
837
|
|
|
838
|
|
- if ( '' != $img_url ) { |
|
|
838
|
+ if ('' != $img_url) { |
|
839
|
839
|
|
|
840
|
|
- $html .= '<a href="' . get_permalink( $course_id ) . '" title="' . esc_attr( get_post_field( 'post_title', $course_id ) ) . '">' . $img_url .'</a>'; |
|
|
840
|
+ $html .= '<a href="'.get_permalink($course_id).'" title="'.esc_attr(get_post_field('post_title', $course_id)).'">'.$img_url.'</a>'; |
|
841
|
841
|
|
|
842
|
842
|
} // End If Statement |
|
843
|
843
|
|
|
844
|
|
- if( $return ){ |
|
|
844
|
+ if ($return) { |
|
845
|
845
|
|
|
846
|
846
|
return $html; |
|
847
|
847
|
|
|
848
|
|
- }else{ |
|
|
848
|
+ } else { |
|
849
|
849
|
|
|
850
|
850
|
echo $html; |
|
851
|
851
|
|
|
@@ -862,9 +862,9 @@ discard block |
|
|
block discarded – undo |
|
862
|
862
|
* @param string $post_status (default: 'publish') |
|
863
|
863
|
* @return int |
|
864
|
864
|
*/ |
|
865
|
|
- public function course_count( $post_status = 'publish' ) { |
|
|
865
|
+ public function course_count($post_status = 'publish') { |
|
866
|
866
|
|
|
867
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
867
|
+ $post_args = array('post_type' => 'course', |
|
868
|
868
|
'posts_per_page' => -1, |
|
869
|
869
|
// 'orderby' => 'menu_order date', |
|
870
|
870
|
// 'order' => 'ASC', |
|
@@ -875,10 +875,10 @@ discard block |
|
|
block discarded – undo |
|
875
|
875
|
|
|
876
|
876
|
// Allow WP to generate the complex final query, just shortcut to only do an overall count |
|
877
|
877
|
// add_filter( 'posts_clauses', array( 'WooThemes_Sensei_Utils', 'get_posts_count_only_filter' ) ); |
|
878
|
|
- $courses_query = new WP_Query( apply_filters( 'sensei_course_count', $post_args ) ); |
|
|
878
|
+ $courses_query = new WP_Query(apply_filters('sensei_course_count', $post_args)); |
|
879
|
879
|
// remove_filter( 'posts_clauses', array( 'WooThemes_Sensei_Utils', 'get_posts_count_only_filter' ) ); |
|
880
|
880
|
|
|
881
|
|
- return count( $courses_query->posts ); |
|
|
881
|
+ return count($courses_query->posts); |
|
882
|
882
|
} // End course_count() |
|
883
|
883
|
|
|
884
|
884
|
|
|
@@ -891,42 +891,42 @@ discard block |
|
|
block discarded – undo |
|
891
|
891
|
* @param string $fields (default: 'all'). WP only allows 3 types, but we will limit it to only 'ids' or 'all' |
|
892
|
892
|
* @return array{ type WP_Post } $posts_array |
|
893
|
893
|
*/ |
|
894
|
|
- public function course_lessons( $course_id = 0, $post_status = 'publish', $fields = 'all' ) { |
|
|
894
|
+ public function course_lessons($course_id = 0, $post_status = 'publish', $fields = 'all') { |
|
895
|
895
|
|
|
896
|
|
- if( is_a( $course_id, 'WP_Post' ) ){ |
|
|
896
|
+ if (is_a($course_id, 'WP_Post')) { |
|
897
|
897
|
$course_id = $course_id->ID; |
|
898
|
898
|
} |
|
899
|
899
|
|
|
900
|
|
- $post_args = array( 'post_type' => 'lesson', |
|
|
900
|
+ $post_args = array('post_type' => 'lesson', |
|
901
|
901
|
'posts_per_page' => -1, |
|
902
|
902
|
'orderby' => 'date', |
|
903
|
903
|
'order' => 'ASC', |
|
904
|
904
|
'meta_query' => array( |
|
905
|
905
|
array( |
|
906
|
906
|
'key' => '_lesson_course', |
|
907
|
|
- 'value' => intval( $course_id ), |
|
|
907
|
+ 'value' => intval($course_id), |
|
908
|
908
|
), |
|
909
|
909
|
), |
|
910
|
910
|
'post_status' => $post_status, |
|
911
|
911
|
'suppress_filters' => 0, |
|
912
|
912
|
); |
|
913
|
|
- $query_results = new WP_Query( $post_args ); |
|
|
913
|
+ $query_results = new WP_Query($post_args); |
|
914
|
914
|
$lessons = $query_results->posts; |
|
915
|
915
|
|
|
916
|
916
|
// re order the lessons. This could not be done via the OR meta query as there may be lessons |
|
917
|
917
|
// with the course order for a different course and this should not be included. It could also not |
|
918
|
918
|
// be done via the AND meta query as it excludes lesson that does not have the _order_$course_id but |
|
919
|
919
|
// that have been added to the course. |
|
920
|
|
- if( count( $lessons) > 1 ){ |
|
|
920
|
+ if (count($lessons) > 1) { |
|
921
|
921
|
|
|
922
|
|
- foreach( $lessons as $lesson ){ |
|
|
922
|
+ foreach ($lessons as $lesson) { |
|
923
|
923
|
|
|
924
|
|
- $order = intval( get_post_meta( $lesson->ID, '_order_'. $course_id, true ) ); |
|
|
924
|
+ $order = intval(get_post_meta($lesson->ID, '_order_'.$course_id, true)); |
|
925
|
925
|
// for lessons with no order set it to be 10000 so that it show up at the end |
|
926
|
926
|
$lesson->course_order = $order ? $order : 100000; |
|
927
|
927
|
} |
|
928
|
928
|
|
|
929
|
|
- uasort( $lessons, array( $this, '_short_course_lessons_callback' ) ); |
|
|
929
|
+ uasort($lessons, array($this, '_short_course_lessons_callback')); |
|
930
|
930
|
} |
|
931
|
931
|
|
|
932
|
932
|
/** |
|
@@ -937,12 +937,12 @@ discard block |
|
|
block discarded – undo |
|
937
|
937
|
* @param array $lessons |
|
938
|
938
|
* @param int $course_id |
|
939
|
939
|
*/ |
|
940
|
|
- $lessons = apply_filters( 'sensei_course_get_lessons', $lessons, $course_id ); |
|
|
940
|
+ $lessons = apply_filters('sensei_course_get_lessons', $lessons, $course_id); |
|
941
|
941
|
|
|
942
|
942
|
//return the requested fields |
|
943
|
943
|
// runs after the sensei_course_get_lessons filter so the filter always give an array of lesson |
|
944
|
944
|
// objects |
|
945
|
|
- if( 'ids' == $fields ) { |
|
|
945
|
+ if ('ids' == $fields) { |
|
946
|
946
|
$lesson_objects = $lessons; |
|
947
|
947
|
$lessons = array(); |
|
948
|
948
|
|
|
@@ -964,9 +964,9 @@ discard block |
|
|
block discarded – undo |
|
964
|
964
|
* @param array $lesson_2 |
|
965
|
965
|
* @return int |
|
966
|
966
|
*/ |
|
967
|
|
- protected function _short_course_lessons_callback( $lesson_1, $lesson_2 ){ |
|
|
967
|
+ protected function _short_course_lessons_callback($lesson_1, $lesson_2) { |
|
968
|
968
|
|
|
969
|
|
- if ( $lesson_1->course_order == $lesson_2->course_order ) { |
|
|
969
|
+ if ($lesson_1->course_order == $lesson_2->course_order) { |
|
970
|
970
|
return 0; |
|
971
|
971
|
} |
|
972
|
972
|
|
|
@@ -980,21 +980,21 @@ discard block |
|
|
block discarded – undo |
|
980
|
980
|
* @param boolean $boolean_check True if a simple yes/no is required |
|
981
|
981
|
* @return array Array of quiz post objects |
|
982
|
982
|
*/ |
|
983
|
|
- public function course_quizzes( $course_id = 0, $boolean_check = false ) { |
|
|
983
|
+ public function course_quizzes($course_id = 0, $boolean_check = false) { |
|
984
|
984
|
|
|
985
|
985
|
|
|
986
|
986
|
$course_quizzes = array(); |
|
987
|
987
|
|
|
988
|
|
- if( $course_id ) { |
|
989
|
|
- $lesson_ids = Sensei()->course->course_lessons( $course_id, 'any', 'ids' ); |
|
|
988
|
+ if ($course_id) { |
|
|
989
|
+ $lesson_ids = Sensei()->course->course_lessons($course_id, 'any', 'ids'); |
|
990
|
990
|
|
|
991
|
|
- foreach( $lesson_ids as $lesson_id ) { |
|
992
|
|
- $has_questions = get_post_meta( $lesson_id, '_quiz_has_questions', true ); |
|
993
|
|
- if ( $has_questions && $boolean_check ) { |
|
|
991
|
+ foreach ($lesson_ids as $lesson_id) { |
|
|
992
|
+ $has_questions = get_post_meta($lesson_id, '_quiz_has_questions', true); |
|
|
993
|
+ if ($has_questions && $boolean_check) { |
|
994
|
994
|
return true; |
|
995
|
995
|
} |
|
996
|
|
- elseif ( $has_questions ) { |
|
997
|
|
- $quiz_id = Sensei()->lesson->lesson_quizzes( $lesson_id ); |
|
|
996
|
+ elseif ($has_questions) { |
|
|
997
|
+ $quiz_id = Sensei()->lesson->lesson_quizzes($lesson_id); |
|
998
|
998
|
// $questions = Sensei()->lesson->lesson_quiz_questions( $quiz_id ); |
|
999
|
999
|
// if( count( $questions ) > 0 ) { |
|
1000
|
1000
|
$course_quizzes[] = $quiz_id; |
|
@@ -1002,7 +1002,7 @@ discard block |
|
|
block discarded – undo |
|
1002
|
1002
|
} |
|
1003
|
1003
|
} |
|
1004
|
1004
|
} |
|
1005
|
|
- if ( $boolean_check && empty($course_quizzes) ) { |
|
|
1005
|
+ if ($boolean_check && empty($course_quizzes)) { |
|
1006
|
1006
|
$course_quizzes = false; |
|
1007
|
1007
|
} |
|
1008
|
1008
|
return $course_quizzes; |
|
@@ -1017,9 +1017,9 @@ discard block |
|
|
block discarded – undo |
|
1017
|
1017
|
* @param string $post_status (default: 'publish') |
|
1018
|
1018
|
* @return array |
|
1019
|
1019
|
*/ |
|
1020
|
|
- public function course_lessons_completed( $course_id = 0, $post_status = 'publish' ) { |
|
|
1020
|
+ public function course_lessons_completed($course_id = 0, $post_status = 'publish') { |
|
1021
|
1021
|
|
|
1022
|
|
- return $this->course_lessons( $course_id, $post_status ); |
|
|
1022
|
+ return $this->course_lessons($course_id, $post_status); |
|
1023
|
1023
|
|
|
1024
|
1024
|
} // End course_lessons_completed() |
|
1025
|
1025
|
|
|
@@ -1032,9 +1032,9 @@ discard block |
|
|
block discarded – undo |
|
1032
|
1032
|
* @param int $course_id (default: 0) |
|
1033
|
1033
|
* @return int |
|
1034
|
1034
|
*/ |
|
1035
|
|
- public function course_author_lesson_count( $author_id = 0, $course_id = 0 ) { |
|
|
1035
|
+ public function course_author_lesson_count($author_id = 0, $course_id = 0) { |
|
1036
|
1036
|
|
|
1037
|
|
- $lesson_args = array( 'post_type' => 'lesson', |
|
|
1037
|
+ $lesson_args = array('post_type' => 'lesson', |
|
1038
|
1038
|
'posts_per_page' => -1, |
|
1039
|
1039
|
'author' => $author_id, |
|
1040
|
1040
|
'meta_key' => '_lesson_course', |
|
@@ -1043,8 +1043,8 @@ discard block |
|
|
block discarded – undo |
|
1043
|
1043
|
'suppress_filters' => 0, |
|
1044
|
1044
|
'fields' => 'ids', // less data to retrieve |
|
1045
|
1045
|
); |
|
1046
|
|
- $lessons_array = get_posts( $lesson_args ); |
|
1047
|
|
- $count = count( $lessons_array ); |
|
|
1046
|
+ $lessons_array = get_posts($lesson_args); |
|
|
1047
|
+ $count = count($lessons_array); |
|
1048
|
1048
|
return $count; |
|
1049
|
1049
|
|
|
1050
|
1050
|
} // End course_author_lesson_count() |
|
@@ -1056,9 +1056,9 @@ discard block |
|
|
block discarded – undo |
|
1056
|
1056
|
* @param int $course_id (default: 0) |
|
1057
|
1057
|
* @return int |
|
1058
|
1058
|
*/ |
|
1059
|
|
- public function course_lesson_count( $course_id = 0 ) { |
|
|
1059
|
+ public function course_lesson_count($course_id = 0) { |
|
1060
|
1060
|
|
|
1061
|
|
- $lesson_args = array( 'post_type' => 'lesson', |
|
|
1061
|
+ $lesson_args = array('post_type' => 'lesson', |
|
1062
|
1062
|
'posts_per_page' => -1, |
|
1063
|
1063
|
'meta_key' => '_lesson_course', |
|
1064
|
1064
|
'meta_value' => $course_id, |
|
@@ -1066,9 +1066,9 @@ discard block |
|
|
block discarded – undo |
|
1066
|
1066
|
'suppress_filters' => 0, |
|
1067
|
1067
|
'fields' => 'ids', // less data to retrieve |
|
1068
|
1068
|
); |
|
1069
|
|
- $lessons_array = get_posts( $lesson_args ); |
|
|
1069
|
+ $lessons_array = get_posts($lesson_args); |
|
1070
|
1070
|
|
|
1071
|
|
- $count = count( $lessons_array ); |
|
|
1071
|
+ $count = count($lessons_array); |
|
1072
|
1072
|
|
|
1073
|
1073
|
return $count; |
|
1074
|
1074
|
|
|
@@ -1081,9 +1081,9 @@ discard block |
|
|
block discarded – undo |
|
1081
|
1081
|
* @param int $course_id (default: 0) |
|
1082
|
1082
|
* @return int |
|
1083
|
1083
|
*/ |
|
1084
|
|
- public function course_lesson_preview_count( $course_id = 0 ) { |
|
|
1084
|
+ public function course_lesson_preview_count($course_id = 0) { |
|
1085
|
1085
|
|
|
1086
|
|
- $lesson_args = array( 'post_type' => 'lesson', |
|
|
1086
|
+ $lesson_args = array('post_type' => 'lesson', |
|
1087
|
1087
|
'posts_per_page' => -1, |
|
1088
|
1088
|
'post_status' => 'publish', |
|
1089
|
1089
|
'suppress_filters' => 0, |
|
@@ -1099,9 +1099,9 @@ discard block |
|
|
block discarded – undo |
|
1099
|
1099
|
), |
|
1100
|
1100
|
'fields' => 'ids', // less data to retrieve |
|
1101
|
1101
|
); |
|
1102
|
|
- $lessons_array = get_posts( $lesson_args ); |
|
|
1102
|
+ $lessons_array = get_posts($lesson_args); |
|
1103
|
1103
|
|
|
1104
|
|
- $count = count( $lessons_array ); |
|
|
1104
|
+ $count = count($lessons_array); |
|
1105
|
1105
|
|
|
1106
|
1106
|
return $count; |
|
1107
|
1107
|
|
|
@@ -1114,12 +1114,12 @@ discard block |
|
|
block discarded – undo |
|
1114
|
1114
|
* @param int $product_id (default: 0) |
|
1115
|
1115
|
* @return array |
|
1116
|
1116
|
*/ |
|
1117
|
|
- public function get_product_courses( $product_id = 0 ) { |
|
|
1117
|
+ public function get_product_courses($product_id = 0) { |
|
1118
|
1118
|
|
|
1119
|
1119
|
$posts_array = array(); |
|
1120
|
1120
|
// Check for WooCommerce |
|
1121
|
|
- if ( Sensei_WC::is_woocommerce_active() && 0 < $product_id ) { |
|
1122
|
|
- $post_args = array( 'post_type' => 'course', |
|
|
1121
|
+ if (Sensei_WC::is_woocommerce_active() && 0 < $product_id) { |
|
|
1122
|
+ $post_args = array('post_type' => 'course', |
|
1123
|
1123
|
'posts_per_page' => -1, |
|
1124
|
1124
|
'meta_key' => '_course_woocommerce_product', |
|
1125
|
1125
|
'meta_value' => $product_id, |
|
@@ -1128,7 +1128,7 @@ discard block |
|
|
block discarded – undo |
|
1128
|
1128
|
'orderby' => 'menu_order date', |
|
1129
|
1129
|
'order' => 'ASC', |
|
1130
|
1130
|
); |
|
1131
|
|
- $posts_array = get_posts( $post_args ); |
|
|
1131
|
+ $posts_array = get_posts($post_args); |
|
1132
|
1132
|
} // End If Statement |
|
1133
|
1133
|
return $posts_array; |
|
1134
|
1134
|
|
|
@@ -1139,17 +1139,17 @@ discard block |
|
|
block discarded – undo |
|
1139
|
1139
|
* @param WP_Query $query |
|
1140
|
1140
|
* @return void |
|
1141
|
1141
|
*/ |
|
1142
|
|
- public function filter_my_courses( $query ) { |
|
|
1142
|
+ public function filter_my_courses($query) { |
|
1143
|
1143
|
global $my_courses_section; |
|
1144
|
1144
|
|
|
1145
|
|
- if ( isset( Sensei()->settings->settings[ 'my_course_amount' ] ) && ( 0 < absint( Sensei()->settings->settings[ 'my_course_amount' ] ) ) ) { |
|
1146
|
|
- $amount = absint( Sensei()->settings->settings[ 'my_course_amount' ] ); |
|
1147
|
|
- $query->set( 'posts_per_page', $amount ); |
|
|
1145
|
+ if (isset(Sensei()->settings->settings['my_course_amount']) && (0 < absint(Sensei()->settings->settings['my_course_amount']))) { |
|
|
1146
|
+ $amount = absint(Sensei()->settings->settings['my_course_amount']); |
|
|
1147
|
+ $query->set('posts_per_page', $amount); |
|
1148
|
1148
|
} |
|
1149
|
1149
|
|
|
1150
|
|
- if( isset( $_GET[ $my_courses_section . '_page' ] ) && 0 < intval( $_GET[ $my_courses_section . '_page' ] ) ) { |
|
1151
|
|
- $page = intval( $_GET[ $my_courses_section . '_page' ] ); |
|
1152
|
|
- $query->set( 'paged', $page ); |
|
|
1150
|
+ if (isset($_GET[$my_courses_section.'_page']) && 0 < intval($_GET[$my_courses_section.'_page'])) { |
|
|
1151
|
+ $page = intval($_GET[$my_courses_section.'_page']); |
|
|
1152
|
+ $query->set('paged', $page); |
|
1153
|
1153
|
} |
|
1154
|
1154
|
} |
|
1155
|
1155
|
|
|
@@ -1163,48 +1163,48 @@ discard block |
|
|
block discarded – undo |
|
1163
|
1163
|
* @param boolean $manage Whether the user has permission to manage the courses |
|
1164
|
1164
|
* @return string HTML displayng course data |
|
1165
|
1165
|
*/ |
|
1166
|
|
- public function load_user_courses_content( $user = false ) { |
|
|
1166
|
+ public function load_user_courses_content($user = false) { |
|
1167
|
1167
|
global $course, $my_courses_page, $my_courses_section; |
|
1168
|
1168
|
|
|
1169
|
|
- if( ! isset( Sensei()->settings->settings[ 'learner_profile_show_courses' ] ) |
|
1170
|
|
- || ! Sensei()->settings->settings[ 'learner_profile_show_courses' ] ) { |
|
|
1169
|
+ if ( ! isset(Sensei()->settings->settings['learner_profile_show_courses']) |
|
|
1170
|
+ || ! Sensei()->settings->settings['learner_profile_show_courses']) { |
|
1171
|
1171
|
|
|
1172
|
1172
|
// do not show the content if the settings doesn't allow for it |
|
1173
|
1173
|
return; |
|
1174
|
1174
|
|
|
1175
|
1175
|
} |
|
1176
|
1176
|
|
|
1177
|
|
- $manage = ( $user->ID == get_current_user_id() ) ? true : false; |
|
|
1177
|
+ $manage = ($user->ID == get_current_user_id()) ? true : false; |
|
1178
|
1178
|
|
|
1179
|
|
- do_action( 'sensei_before_learner_course_content', $user ); |
|
|
1179
|
+ do_action('sensei_before_learner_course_content', $user); |
|
1180
|
1180
|
|
|
1181
|
1181
|
// Build Output HTML |
|
1182
|
1182
|
$complete_html = $active_html = ''; |
|
1183
|
1183
|
|
|
1184
|
|
- if( is_a( $user, 'WP_User' ) ) { |
|
|
1184
|
+ if (is_a($user, 'WP_User')) { |
|
1185
|
1185
|
|
|
1186
|
1186
|
$my_courses_page = true; |
|
1187
|
1187
|
|
|
1188
|
1188
|
// Allow action to be run before My Courses content has loaded |
|
1189
|
|
- do_action( 'sensei_before_my_courses', $user->ID ); |
|
|
1189
|
+ do_action('sensei_before_my_courses', $user->ID); |
|
1190
|
1190
|
|
|
1191
|
1191
|
// Logic for Active and Completed Courses |
|
1192
|
1192
|
$per_page = 20; |
|
1193
|
|
- if ( isset( Sensei()->settings->settings[ 'my_course_amount' ] ) |
|
1194
|
|
- && ( 0 < absint( Sensei()->settings->settings[ 'my_course_amount' ] ) ) ) { |
|
|
1193
|
+ if (isset(Sensei()->settings->settings['my_course_amount']) |
|
|
1194
|
+ && (0 < absint(Sensei()->settings->settings['my_course_amount']))) { |
|
1195
|
1195
|
|
|
1196
|
|
- $per_page = absint( Sensei()->settings->settings[ 'my_course_amount' ] ); |
|
|
1196
|
+ $per_page = absint(Sensei()->settings->settings['my_course_amount']); |
|
1197
|
1197
|
|
|
1198
|
1198
|
} |
|
1199
|
1199
|
|
|
1200
|
|
- $course_statuses = Sensei_Utils::sensei_check_for_activity( array( 'user_id' => $user->ID, 'type' => 'sensei_course_status' ), true ); |
|
|
1200
|
+ $course_statuses = Sensei_Utils::sensei_check_for_activity(array('user_id' => $user->ID, 'type' => 'sensei_course_status'), true); |
|
1201
|
1201
|
// User may only be on 1 Course |
|
1202
|
|
- if ( !is_array($course_statuses) ) { |
|
1203
|
|
- $course_statuses = array( $course_statuses ); |
|
|
1202
|
+ if ( ! is_array($course_statuses)) { |
|
|
1203
|
+ $course_statuses = array($course_statuses); |
|
1204
|
1204
|
} |
|
1205
|
1205
|
$completed_ids = $active_ids = array(); |
|
1206
|
|
- foreach( $course_statuses as $course_status ) { |
|
1207
|
|
- if ( Sensei_Utils::user_completed_course( $course_status, $user->ID ) ) { |
|
|
1206
|
+ foreach ($course_statuses as $course_status) { |
|
|
1207
|
+ if (Sensei_Utils::user_completed_course($course_status, $user->ID)) { |
|
1208
|
1208
|
$completed_ids[] = $course_status->comment_post_ID; |
|
1209
|
1209
|
} else { |
|
1210
|
1210
|
$active_ids[] = $course_status->comment_post_ID; |
|
@@ -1214,41 +1214,41 @@ discard block |
|
|
block discarded – undo |
|
1214
|
1214
|
$active_count = $completed_count = 0; |
|
1215
|
1215
|
|
|
1216
|
1216
|
$active_courses = array(); |
|
1217
|
|
- if ( 0 < intval( count( $active_ids ) ) ) { |
|
|
1217
|
+ if (0 < intval(count($active_ids))) { |
|
1218
|
1218
|
$my_courses_section = 'active'; |
|
1219
|
|
- $active_courses = Sensei()->course->course_query( $per_page, 'usercourses', $active_ids ); |
|
1220
|
|
- $active_count = count( $active_ids ); |
|
|
1219
|
+ $active_courses = Sensei()->course->course_query($per_page, 'usercourses', $active_ids); |
|
|
1220
|
+ $active_count = count($active_ids); |
|
1221
|
1221
|
} // End If Statement |
|
1222
|
1222
|
|
|
1223
|
1223
|
$completed_courses = array(); |
|
1224
|
|
- if ( 0 < intval( count( $completed_ids ) ) ) { |
|
|
1224
|
+ if (0 < intval(count($completed_ids))) { |
|
1225
|
1225
|
$my_courses_section = 'completed'; |
|
1226
|
|
- $completed_courses = Sensei()->course->course_query( $per_page, 'usercourses', $completed_ids ); |
|
1227
|
|
- $completed_count = count( $completed_ids ); |
|
|
1226
|
+ $completed_courses = Sensei()->course->course_query($per_page, 'usercourses', $completed_ids); |
|
|
1227
|
+ $completed_count = count($completed_ids); |
|
1228
|
1228
|
} // End If Statement |
|
1229
|
1229
|
|
|
1230
|
|
- foreach ( $active_courses as $course_item ) { |
|
|
1230
|
+ foreach ($active_courses as $course_item) { |
|
1231
|
1231
|
|
|
1232
|
|
- $course_lessons = Sensei()->course->course_lessons( $course_item->ID ); |
|
|
1232
|
+ $course_lessons = Sensei()->course->course_lessons($course_item->ID); |
|
1233
|
1233
|
$lessons_completed = 0; |
|
1234
|
|
- foreach ( $course_lessons as $lesson ) { |
|
1235
|
|
- if ( Sensei_Utils::user_completed_lesson( $lesson->ID, $user->ID ) ) { |
|
|
1234
|
+ foreach ($course_lessons as $lesson) { |
|
|
1235
|
+ if (Sensei_Utils::user_completed_lesson($lesson->ID, $user->ID)) { |
|
1236
|
1236
|
++$lessons_completed; |
|
1237
|
1237
|
} |
|
1238
|
1238
|
} |
|
1239
|
1239
|
|
|
1240
|
1240
|
// Get Course Categories |
|
1241
|
|
- $category_output = get_the_term_list( $course_item->ID, 'course-category', '', ', ', '' ); |
|
|
1241
|
+ $category_output = get_the_term_list($course_item->ID, 'course-category', '', ', ', ''); |
|
1242
|
1242
|
|
|
1243
|
|
- $active_html .= '<article class="' . esc_attr( join( ' ', get_post_class( array( 'course', 'post' ), $course_item->ID ) ) ) . '">'; |
|
|
1243
|
+ $active_html .= '<article class="'.esc_attr(join(' ', get_post_class(array('course', 'post'), $course_item->ID))).'">'; |
|
1244
|
1244
|
|
|
1245
|
1245
|
// Image |
|
1246
|
|
- $active_html .= Sensei()->course->course_image( absint( $course_item->ID ), '100','100', true ); |
|
|
1246
|
+ $active_html .= Sensei()->course->course_image(absint($course_item->ID), '100', '100', true); |
|
1247
|
1247
|
|
|
1248
|
1248
|
// Title |
|
1249
|
1249
|
$active_html .= '<header>'; |
|
1250
|
1250
|
|
|
1251
|
|
- $active_html .= '<h2><a href="' . esc_url( get_permalink( absint( $course_item->ID ) ) ) . '" title="' . esc_attr( $course_item->post_title ) . '">' . esc_html( $course_item->post_title ) . '</a></h2>'; |
|
|
1251
|
+ $active_html .= '<h2><a href="'.esc_url(get_permalink(absint($course_item->ID))).'" title="'.esc_attr($course_item->post_title).'">'.esc_html($course_item->post_title).'</a></h2>'; |
|
1252
|
1252
|
|
|
1253
|
1253
|
$active_html .= '</header>'; |
|
1254
|
1254
|
|
|
@@ -1257,74 +1257,74 @@ discard block |
|
|
block discarded – undo |
|
1257
|
1257
|
$active_html .= '<p class="sensei-course-meta">'; |
|
1258
|
1258
|
|
|
1259
|
1259
|
// Author |
|
1260
|
|
- $user_info = get_userdata( absint( $course_item->post_author ) ); |
|
1261
|
|
- if ( isset( Sensei()->settings->settings[ 'course_author' ] ) |
|
1262
|
|
- && ( Sensei()->settings->settings[ 'course_author' ] ) ) { |
|
|
1260
|
+ $user_info = get_userdata(absint($course_item->post_author)); |
|
|
1261
|
+ if (isset(Sensei()->settings->settings['course_author']) |
|
|
1262
|
+ && (Sensei()->settings->settings['course_author'])) { |
|
1263
|
1263
|
|
|
1264
|
1264
|
$active_html .= '<span class="course-author">' |
|
1265
|
|
- . __( 'by ', 'woothemes-sensei' ) |
|
1266
|
|
- . '<a href="' . esc_url( get_author_posts_url( absint( $course_item->post_author ) ) ) |
|
1267
|
|
- . '" title="' . esc_attr( $user_info->display_name ) . '">' |
|
1268
|
|
- . esc_html( $user_info->display_name ) |
|
|
1265
|
+ . __('by ', 'woothemes-sensei') |
|
|
1266
|
+ . '<a href="'.esc_url(get_author_posts_url(absint($course_item->post_author))) |
|
|
1267
|
+ . '" title="'.esc_attr($user_info->display_name).'">' |
|
|
1268
|
+ . esc_html($user_info->display_name) |
|
1269
|
1269
|
. '</a></span>'; |
|
1270
|
1270
|
|
|
1271
|
1271
|
} // End If Statement |
|
1272
|
1272
|
|
|
1273
|
1273
|
// Lesson count for this author |
|
1274
|
|
- $lesson_count = Sensei()->course->course_lesson_count( absint( $course_item->ID ) ); |
|
|
1274
|
+ $lesson_count = Sensei()->course->course_lesson_count(absint($course_item->ID)); |
|
1275
|
1275
|
// Handle Division by Zero |
|
1276
|
|
- if ( 0 == $lesson_count ) { |
|
|
1276
|
+ if (0 == $lesson_count) { |
|
1277
|
1277
|
|
|
1278
|
1278
|
$lesson_count = 1; |
|
1279
|
1279
|
|
|
1280
|
1280
|
} // End If Statement |
|
1281
|
|
- $active_html .= '<span class="course-lesson-count">' . $lesson_count . ' ' . __( 'Lessons', 'woothemes-sensei' ) . '</span>'; |
|
|
1281
|
+ $active_html .= '<span class="course-lesson-count">'.$lesson_count.' '.__('Lessons', 'woothemes-sensei').'</span>'; |
|
1282
|
1282
|
// Course Categories |
|
1283
|
|
- if ( '' != $category_output ) { |
|
|
1283
|
+ if ('' != $category_output) { |
|
1284
|
1284
|
|
|
1285
|
|
- $active_html .= '<span class="course-category">' . sprintf( __( 'in %s', 'woothemes-sensei' ), $category_output ) . '</span>'; |
|
|
1285
|
+ $active_html .= '<span class="course-category">'.sprintf(__('in %s', 'woothemes-sensei'), $category_output).'</span>'; |
|
1286
|
1286
|
|
|
1287
|
1287
|
} // End If Statement |
|
1288
|
|
- $active_html .= '<span class="course-lesson-progress">' . sprintf( __( '%1$d of %2$d lessons completed', 'woothemes-sensei' ) , $lessons_completed, $lesson_count ) . '</span>'; |
|
|
1288
|
+ $active_html .= '<span class="course-lesson-progress">'.sprintf(__('%1$d of %2$d lessons completed', 'woothemes-sensei'), $lessons_completed, $lesson_count).'</span>'; |
|
1289
|
1289
|
|
|
1290
|
1290
|
$active_html .= '</p>'; |
|
1291
|
1291
|
|
|
1292
|
|
- $active_html .= '<p class="course-excerpt">' . $course_item->post_excerpt . '</p>'; |
|
|
1292
|
+ $active_html .= '<p class="course-excerpt">'.$course_item->post_excerpt.'</p>'; |
|
1293
|
1293
|
|
|
1294
|
1294
|
|
|
1295
|
1295
|
|
|
1296
|
|
- $progress_percentage = abs( round( ( doubleval( $lessons_completed ) * 100 ) / ( $lesson_count ), 0 ) ); |
|
|
1296
|
+ $progress_percentage = abs(round((doubleval($lessons_completed) * 100) / ($lesson_count), 0)); |
|
1297
|
1297
|
|
|
1298
|
|
- $active_html .= $this->get_progress_meter( $progress_percentage ); |
|
|
1298
|
+ $active_html .= $this->get_progress_meter($progress_percentage); |
|
1299
|
1299
|
|
|
1300
|
1300
|
$active_html .= '</section>'; |
|
1301
|
1301
|
|
|
1302
|
|
- if( is_user_logged_in() ) { |
|
|
1302
|
+ if (is_user_logged_in()) { |
|
1303
|
1303
|
|
|
1304
|
1304
|
$active_html .= '<section class="entry-actions">'; |
|
1305
|
1305
|
|
|
1306
|
|
- $active_html .= '<form method="POST" action="' . esc_url( remove_query_arg( array( 'active_page', 'completed_page' ) ) ) . '">'; |
|
|
1306
|
+ $active_html .= '<form method="POST" action="'.esc_url(remove_query_arg(array('active_page', 'completed_page'))).'">'; |
|
1307
|
1307
|
|
|
1308
|
|
- $active_html .= '<input type="hidden" name="' . esc_attr( 'woothemes_sensei_complete_course_noonce' ) . '" id="' . esc_attr( 'woothemes_sensei_complete_course_noonce' ) . '" value="' . esc_attr( wp_create_nonce( 'woothemes_sensei_complete_course_noonce' ) ) . '" />'; |
|
|
1308
|
+ $active_html .= '<input type="hidden" name="'.esc_attr('woothemes_sensei_complete_course_noonce').'" id="'.esc_attr('woothemes_sensei_complete_course_noonce').'" value="'.esc_attr(wp_create_nonce('woothemes_sensei_complete_course_noonce')).'" />'; |
|
1309
|
1309
|
|
|
1310
|
|
- $active_html .= '<input type="hidden" name="course_complete_id" id="course-complete-id" value="' . esc_attr( absint( $course_item->ID ) ) . '" />'; |
|
|
1310
|
+ $active_html .= '<input type="hidden" name="course_complete_id" id="course-complete-id" value="'.esc_attr(absint($course_item->ID)).'" />'; |
|
1311
|
1311
|
|
|
1312
|
|
- if ( 0 < absint( count( $course_lessons ) ) |
|
1313
|
|
- && Sensei()->settings->settings['course_completion'] == 'complete' ){ |
|
|
1312
|
+ if (0 < absint(count($course_lessons)) |
|
|
1313
|
+ && Sensei()->settings->settings['course_completion'] == 'complete') { |
|
1314
|
1314
|
|
|
1315
|
1315
|
$active_html .= '<span><input name="course_complete" type="submit" class="course-complete" value="' |
|
1316
|
|
- . __( 'Mark as Complete', 'woothemes-sensei' ) . '"/> </span>'; |
|
|
1316
|
+ . __('Mark as Complete', 'woothemes-sensei').'"/> </span>'; |
|
1317
|
1317
|
|
|
1318
|
1318
|
} // End If Statement |
|
1319
|
1319
|
|
|
1320
|
1320
|
$course_purchased = false; |
|
1321
|
|
- if ( Sensei_WC::is_woocommerce_active() ) { |
|
|
1321
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
1322
|
1322
|
|
|
1323
|
1323
|
// Get the product ID |
|
1324
|
|
- $wc_post_id = get_post_meta( absint( $course_item->ID ), '_course_woocommerce_product', true ); |
|
1325
|
|
- if ( 0 < $wc_post_id ) { |
|
|
1324
|
+ $wc_post_id = get_post_meta(absint($course_item->ID), '_course_woocommerce_product', true); |
|
|
1325
|
+ if (0 < $wc_post_id) { |
|
1326
|
1326
|
|
|
1327
|
|
- $course_purchased = Sensei_WC::has_customer_bought_product( $user->ID, $wc_post_id ); |
|
|
1327
|
+ $course_purchased = Sensei_WC::has_customer_bought_product($user->ID, $wc_post_id); |
|
1328
|
1328
|
|
|
1329
|
1329
|
} // End If Statement |
|
1330
|
1330
|
|
|
@@ -1333,12 +1333,12 @@ discard block |
|
|
block discarded – undo |
|
1333
|
1333
|
/** |
|
1334
|
1334
|
* documented in class-sensei-course.php the_course_action_buttons function |
|
1335
|
1335
|
*/ |
|
1336
|
|
- $show_delete_course_button = apply_filters( 'sensei_show_delete_course_button', false ); |
|
|
1336
|
+ $show_delete_course_button = apply_filters('sensei_show_delete_course_button', false); |
|
1337
|
1337
|
|
|
1338
|
|
- if ( false == $course_purchased && $show_delete_course_button ) { |
|
|
1338
|
+ if (false == $course_purchased && $show_delete_course_button) { |
|
1339
|
1339
|
|
|
1340
|
1340
|
$active_html .= '<span><input name="course_complete" type="submit" class="course-delete" value="' |
|
1341
|
|
- . __( 'Delete Course', 'woothemes-sensei' ) . '"/></span>'; |
|
|
1341
|
+ . __('Delete Course', 'woothemes-sensei').'"/></span>'; |
|
1342
|
1342
|
|
|
1343
|
1343
|
} // End If Statement |
|
1344
|
1344
|
|
|
@@ -1351,54 +1351,54 @@ discard block |
|
|
block discarded – undo |
|
1351
|
1351
|
} |
|
1352
|
1352
|
|
|
1353
|
1353
|
// Active pagination |
|
1354
|
|
- if( $active_count > $per_page ) { |
|
|
1354
|
+ if ($active_count > $per_page) { |
|
1355
|
1355
|
|
|
1356
|
1356
|
$current_page = 1; |
|
1357
|
|
- if( isset( $_GET['active_page'] ) && 0 < intval( $_GET['active_page'] ) ) { |
|
|
1357
|
+ if (isset($_GET['active_page']) && 0 < intval($_GET['active_page'])) { |
|
1358
|
1358
|
$current_page = $_GET['active_page']; |
|
1359
|
1359
|
} |
|
1360
|
1360
|
|
|
1361
|
1361
|
$active_html .= '<nav class="pagination woo-pagination">'; |
|
1362
|
|
- $total_pages = ceil( $active_count / $per_page ); |
|
|
1362
|
+ $total_pages = ceil($active_count / $per_page); |
|
1363
|
1363
|
|
|
1364
|
|
- if( $current_page > 1 ) { |
|
1365
|
|
- $prev_link = add_query_arg( 'active_page', $current_page - 1 ); |
|
1366
|
|
- $active_html .= '<a class="prev page-numbers" href="' . esc_url( $prev_link ) . '">' . __( 'Previous' , 'woothemes-sensei' ) . '</a> '; |
|
|
1364
|
+ if ($current_page > 1) { |
|
|
1365
|
+ $prev_link = add_query_arg('active_page', $current_page - 1); |
|
|
1366
|
+ $active_html .= '<a class="prev page-numbers" href="'.esc_url($prev_link).'">'.__('Previous', 'woothemes-sensei').'</a> '; |
|
1367
|
1367
|
} |
|
1368
|
1368
|
|
|
1369
|
|
- for ( $i = 1; $i <= $total_pages; $i++ ) { |
|
1370
|
|
- $link = add_query_arg( 'active_page', $i ); |
|
|
1369
|
+ for ($i = 1; $i <= $total_pages; $i++) { |
|
|
1370
|
+ $link = add_query_arg('active_page', $i); |
|
1371
|
1371
|
|
|
1372
|
|
- if( $i == $current_page ) { |
|
1373
|
|
- $active_html .= '<span class="page-numbers current">' . $i . '</span> '; |
|
|
1372
|
+ if ($i == $current_page) { |
|
|
1373
|
+ $active_html .= '<span class="page-numbers current">'.$i.'</span> '; |
|
1374
|
1374
|
} else { |
|
1375
|
|
- $active_html .= '<a class="page-numbers" href="' . esc_url( $link ). '">' . $i . '</a> '; |
|
|
1375
|
+ $active_html .= '<a class="page-numbers" href="'.esc_url($link).'">'.$i.'</a> '; |
|
1376
|
1376
|
} |
|
1377
|
1377
|
} |
|
1378
|
1378
|
|
|
1379
|
|
- if( $current_page < $total_pages ) { |
|
1380
|
|
- $next_link = add_query_arg( 'active_page', $current_page + 1 ); |
|
1381
|
|
- $active_html .= '<a class="next page-numbers" href="' . esc_url( $next_link ) . '">' . __( 'Next' , 'woothemes-sensei' ) . '</a> '; |
|
|
1379
|
+ if ($current_page < $total_pages) { |
|
|
1380
|
+ $next_link = add_query_arg('active_page', $current_page + 1); |
|
|
1381
|
+ $active_html .= '<a class="next page-numbers" href="'.esc_url($next_link).'">'.__('Next', 'woothemes-sensei').'</a> '; |
|
1382
|
1382
|
} |
|
1383
|
1383
|
|
|
1384
|
1384
|
$active_html .= '</nav>'; |
|
1385
|
1385
|
} |
|
1386
|
1386
|
|
|
1387
|
|
- foreach ( $completed_courses as $course_item ) { |
|
|
1387
|
+ foreach ($completed_courses as $course_item) { |
|
1388
|
1388
|
$course = $course_item; |
|
1389
|
1389
|
|
|
1390
|
1390
|
// Get Course Categories |
|
1391
|
|
- $category_output = get_the_term_list( $course_item->ID, 'course-category', '', ', ', '' ); |
|
|
1391
|
+ $category_output = get_the_term_list($course_item->ID, 'course-category', '', ', ', ''); |
|
1392
|
1392
|
|
|
1393
|
|
- $complete_html .= '<article class="' . join( ' ', get_post_class( array( 'course', 'post' ), $course_item->ID ) ) . '">'; |
|
|
1393
|
+ $complete_html .= '<article class="'.join(' ', get_post_class(array('course', 'post'), $course_item->ID)).'">'; |
|
1394
|
1394
|
|
|
1395
|
1395
|
// Image |
|
1396
|
|
- $complete_html .= Sensei()->course->course_image( absint( $course_item->ID ),100, 100, true ); |
|
|
1396
|
+ $complete_html .= Sensei()->course->course_image(absint($course_item->ID), 100, 100, true); |
|
1397
|
1397
|
|
|
1398
|
1398
|
// Title |
|
1399
|
1399
|
$complete_html .= '<header>'; |
|
1400
|
1400
|
|
|
1401
|
|
- $complete_html .= '<h2><a href="' . esc_url( get_permalink( absint( $course_item->ID ) ) ) . '" title="' . esc_attr( $course_item->post_title ) . '">' . esc_html( $course_item->post_title ) . '</a></h2>'; |
|
|
1401
|
+ $complete_html .= '<h2><a href="'.esc_url(get_permalink(absint($course_item->ID))).'" title="'.esc_attr($course_item->post_title).'">'.esc_html($course_item->post_title).'</a></h2>'; |
|
1402
|
1402
|
|
|
1403
|
1403
|
$complete_html .= '</header>'; |
|
1404
|
1404
|
|
|
@@ -1407,49 +1407,49 @@ discard block |
|
|
block discarded – undo |
|
1407
|
1407
|
$complete_html .= '<p class="sensei-course-meta">'; |
|
1408
|
1408
|
|
|
1409
|
1409
|
// Author |
|
1410
|
|
- $user_info = get_userdata( absint( $course_item->post_author ) ); |
|
1411
|
|
- if ( isset( Sensei()->settings->settings[ 'course_author' ] ) && ( Sensei()->settings->settings[ 'course_author' ] ) ) { |
|
1412
|
|
- $complete_html .= '<span class="course-author">' . __( 'by ', 'woothemes-sensei' ) . '<a href="' . esc_url( get_author_posts_url( absint( $course_item->post_author ) ) ) . '" title="' . esc_attr( $user_info->display_name ) . '">' . esc_html( $user_info->display_name ) . '</a></span>'; |
|
|
1410
|
+ $user_info = get_userdata(absint($course_item->post_author)); |
|
|
1411
|
+ if (isset(Sensei()->settings->settings['course_author']) && (Sensei()->settings->settings['course_author'])) { |
|
|
1412
|
+ $complete_html .= '<span class="course-author">'.__('by ', 'woothemes-sensei').'<a href="'.esc_url(get_author_posts_url(absint($course_item->post_author))).'" title="'.esc_attr($user_info->display_name).'">'.esc_html($user_info->display_name).'</a></span>'; |
|
1413
|
1413
|
} // End If Statement |
|
1414
|
1414
|
|
|
1415
|
1415
|
// Lesson count for this author |
|
1416
|
1416
|
$complete_html .= '<span class="course-lesson-count">' |
|
1417
|
|
- . Sensei()->course->course_lesson_count( absint( $course_item->ID ) ) |
|
1418
|
|
- . ' ' . __( 'Lessons', 'woothemes-sensei' ) |
|
|
1417
|
+ . Sensei()->course->course_lesson_count(absint($course_item->ID)) |
|
|
1418
|
+ . ' '.__('Lessons', 'woothemes-sensei') |
|
1419
|
1419
|
. '</span>'; |
|
1420
|
1420
|
|
|
1421
|
1421
|
// Course Categories |
|
1422
|
|
- if ( '' != $category_output ) { |
|
|
1422
|
+ if ('' != $category_output) { |
|
1423
|
1423
|
|
|
1424
|
|
- $complete_html .= '<span class="course-category">' . sprintf( __( 'in %s', 'woothemes-sensei' ), $category_output ) . '</span>'; |
|
|
1424
|
+ $complete_html .= '<span class="course-category">'.sprintf(__('in %s', 'woothemes-sensei'), $category_output).'</span>'; |
|
1425
|
1425
|
|
|
1426
|
1426
|
} // End If Statement |
|
1427
|
1427
|
|
|
1428
|
1428
|
$complete_html .= '</p>'; |
|
1429
|
1429
|
|
|
1430
|
|
- $complete_html .= '<p class="course-excerpt">' . $course_item->post_excerpt . '</p>'; |
|
|
1430
|
+ $complete_html .= '<p class="course-excerpt">'.$course_item->post_excerpt.'</p>'; |
|
1431
|
1431
|
|
|
1432
|
|
- $complete_html .= $this->get_progress_meter( 100 ); |
|
|
1432
|
+ $complete_html .= $this->get_progress_meter(100); |
|
1433
|
1433
|
|
|
1434
|
|
- if( $manage ) { |
|
1435
|
|
- $has_quizzes = Sensei()->course->course_quizzes( $course_item->ID, true ); |
|
|
1434
|
+ if ($manage) { |
|
|
1435
|
+ $has_quizzes = Sensei()->course->course_quizzes($course_item->ID, true); |
|
1436
|
1436
|
// Output only if there is content to display |
|
1437
|
|
- if ( has_filter( 'sensei_results_links' ) || $has_quizzes ) { |
|
|
1437
|
+ if (has_filter('sensei_results_links') || $has_quizzes) { |
|
1438
|
1438
|
|
|
1439
|
1439
|
|
|
1440
|
1440
|
$complete_html .= '<p class="sensei-results-links">'; |
|
1441
|
1441
|
$results_link = ''; |
|
1442
|
|
- if( $has_quizzes ) { |
|
|
1442
|
+ if ($has_quizzes) { |
|
1443
|
1443
|
|
|
1444
|
1444
|
$results_link = '<a class="button view-results" href="' |
|
1445
|
|
- . Sensei()->course_results->get_permalink( $course_item->ID ) |
|
1446
|
|
- . '">' . __( 'View results', 'woothemes-sensei' ) |
|
|
1445
|
+ . Sensei()->course_results->get_permalink($course_item->ID) |
|
|
1446
|
+ . '">'.__('View results', 'woothemes-sensei') |
|
1447
|
1447
|
. '</a>'; |
|
1448
|
1448
|
} |
|
1449
|
1449
|
/** |
|
1450
|
1450
|
* Filter documented in Sensei_Course::the_course_action_buttons |
|
1451
|
1451
|
*/ |
|
1452
|
|
- $complete_html .= apply_filters( 'sensei_results_links', $results_link, $course_item->ID ); |
|
|
1452
|
+ $complete_html .= apply_filters('sensei_results_links', $results_link, $course_item->ID); |
|
1453
|
1453
|
$complete_html .= '</p>'; |
|
1454
|
1454
|
|
|
1455
|
1455
|
} |
|
@@ -1461,35 +1461,35 @@ discard block |
|
|
block discarded – undo |
|
1461
|
1461
|
} |
|
1462
|
1462
|
|
|
1463
|
1463
|
// Active pagination |
|
1464
|
|
- if( $completed_count > $per_page ) { |
|
|
1464
|
+ if ($completed_count > $per_page) { |
|
1465
|
1465
|
|
|
1466
|
1466
|
$current_page = 1; |
|
1467
|
|
- if( isset( $_GET['completed_page'] ) && 0 < intval( $_GET['completed_page'] ) ) { |
|
|
1467
|
+ if (isset($_GET['completed_page']) && 0 < intval($_GET['completed_page'])) { |
|
1468
|
1468
|
$current_page = $_GET['completed_page']; |
|
1469
|
1469
|
} |
|
1470
|
1470
|
|
|
1471
|
1471
|
$complete_html .= '<nav class="pagination woo-pagination">'; |
|
1472
|
|
- $total_pages = ceil( $completed_count / $per_page ); |
|
|
1472
|
+ $total_pages = ceil($completed_count / $per_page); |
|
1473
|
1473
|
|
|
1474
|
1474
|
|
|
1475
|
|
- if( $current_page > 1 ) { |
|
1476
|
|
- $prev_link = add_query_arg( 'completed_page', $current_page - 1 ); |
|
1477
|
|
- $complete_html .= '<a class="prev page-numbers" href="' . esc_url( $prev_link ) . '">' . __( 'Previous' , 'woothemes-sensei' ) . '</a> '; |
|
|
1475
|
+ if ($current_page > 1) { |
|
|
1476
|
+ $prev_link = add_query_arg('completed_page', $current_page - 1); |
|
|
1477
|
+ $complete_html .= '<a class="prev page-numbers" href="'.esc_url($prev_link).'">'.__('Previous', 'woothemes-sensei').'</a> '; |
|
1478
|
1478
|
} |
|
1479
|
1479
|
|
|
1480
|
|
- for ( $i = 1; $i <= $total_pages; $i++ ) { |
|
1481
|
|
- $link = add_query_arg( 'completed_page', $i ); |
|
|
1480
|
+ for ($i = 1; $i <= $total_pages; $i++) { |
|
|
1481
|
+ $link = add_query_arg('completed_page', $i); |
|
1482
|
1482
|
|
|
1483
|
|
- if( $i == $current_page ) { |
|
1484
|
|
- $complete_html .= '<span class="page-numbers current">' . $i . '</span> '; |
|
|
1483
|
+ if ($i == $current_page) { |
|
|
1484
|
+ $complete_html .= '<span class="page-numbers current">'.$i.'</span> '; |
|
1485
|
1485
|
} else { |
|
1486
|
|
- $complete_html .= '<a class="page-numbers" href="' . esc_url( $link ) . '">' . $i . '</a> '; |
|
|
1486
|
+ $complete_html .= '<a class="page-numbers" href="'.esc_url($link).'">'.$i.'</a> '; |
|
1487
|
1487
|
} |
|
1488
|
1488
|
} |
|
1489
|
1489
|
|
|
1490
|
|
- if( $current_page < $total_pages ) { |
|
1491
|
|
- $next_link = add_query_arg( 'completed_page', $current_page + 1 ); |
|
1492
|
|
- $complete_html .= '<a class="next page-numbers" href="' . esc_url( $next_link ) . '">' . __( 'Next' , 'woothemes-sensei' ) . '</a> '; |
|
|
1490
|
+ if ($current_page < $total_pages) { |
|
|
1491
|
+ $next_link = add_query_arg('completed_page', $current_page + 1); |
|
|
1492
|
+ $complete_html .= '<a class="next page-numbers" href="'.esc_url($next_link).'">'.__('Next', 'woothemes-sensei').'</a> '; |
|
1493
|
1493
|
} |
|
1494
|
1494
|
|
|
1495
|
1495
|
$complete_html .= '</nav>'; |
|
@@ -1497,26 +1497,26 @@ discard block |
|
|
block discarded – undo |
|
1497
|
1497
|
|
|
1498
|
1498
|
} // End If Statement |
|
1499
|
1499
|
|
|
1500
|
|
- if( $manage ) { |
|
1501
|
|
- $no_active_message = __( 'You have no active courses.', 'woothemes-sensei' ); |
|
1502
|
|
- $no_complete_message = __( 'You have not completed any courses yet.', 'woothemes-sensei' ); |
|
|
1500
|
+ if ($manage) { |
|
|
1501
|
+ $no_active_message = __('You have no active courses.', 'woothemes-sensei'); |
|
|
1502
|
+ $no_complete_message = __('You have not completed any courses yet.', 'woothemes-sensei'); |
|
1503
|
1503
|
} else { |
|
1504
|
|
- $no_active_message = __( 'This learner has no active courses.', 'woothemes-sensei' ); |
|
1505
|
|
- $no_complete_message = __( 'This learner has not completed any courses yet.', 'woothemes-sensei' ); |
|
|
1504
|
+ $no_active_message = __('This learner has no active courses.', 'woothemes-sensei'); |
|
|
1505
|
+ $no_complete_message = __('This learner has not completed any courses yet.', 'woothemes-sensei'); |
|
1506
|
1506
|
} |
|
1507
|
1507
|
|
|
1508
|
1508
|
ob_start(); |
|
1509
|
1509
|
?> |
|
1510
|
1510
|
|
|
1511
|
|
- <?php do_action( 'sensei_before_user_courses' ); ?> |
|
|
1511
|
+ <?php do_action('sensei_before_user_courses'); ?> |
|
1512
|
1512
|
|
|
1513
|
1513
|
<?php |
|
1514
|
|
- if( $manage && ( ! isset( Sensei()->settings->settings['messages_disable'] ) || ! Sensei()->settings->settings['messages_disable'] ) ) { |
|
|
1514
|
+ if ($manage && ( ! isset(Sensei()->settings->settings['messages_disable']) || ! Sensei()->settings->settings['messages_disable'])) { |
|
1515
|
1515
|
?> |
|
1516
|
1516
|
<p class="my-messages-link-container"> |
|
1517
|
|
- <a class="my-messages-link" href="<?php echo get_post_type_archive_link( 'sensei_message' ); ?>" |
|
1518
|
|
- title="<?php _e( 'View & reply to private messages sent to your course & lesson teachers.', 'woothemes-sensei' ); ?>"> |
|
1519
|
|
- <?php _e( 'My Messages', 'woothemes-sensei' ); ?> |
|
|
1517
|
+ <a class="my-messages-link" href="<?php echo get_post_type_archive_link('sensei_message'); ?>" |
|
|
1518
|
+ title="<?php _e('View & reply to private messages sent to your course & lesson teachers.', 'woothemes-sensei'); ?>"> |
|
|
1519
|
+ <?php _e('My Messages', 'woothemes-sensei'); ?> |
|
1520
|
1520
|
</a> |
|
1521
|
1521
|
</p> |
|
1522
|
1522
|
<?php |
|
@@ -1525,11 +1525,11 @@ discard block |
|
|
block discarded – undo |
|
1525
|
1525
|
<div id="my-courses"> |
|
1526
|
1526
|
|
|
1527
|
1527
|
<ul> |
|
1528
|
|
- <li><a href="#active-courses"><?php _e( 'Active Courses', 'woothemes-sensei' ); ?></a></li> |
|
1529
|
|
- <li><a href="#completed-courses"><?php _e( 'Completed Courses', 'woothemes-sensei' ); ?></a></li> |
|
|
1528
|
+ <li><a href="#active-courses"><?php _e('Active Courses', 'woothemes-sensei'); ?></a></li> |
|
|
1529
|
+ <li><a href="#completed-courses"><?php _e('Completed Courses', 'woothemes-sensei'); ?></a></li> |
|
1530
|
1530
|
</ul> |
|
1531
|
1531
|
|
|
1532
|
|
- <?php do_action( 'sensei_before_active_user_courses' ); ?> |
|
|
1532
|
+ <?php do_action('sensei_before_active_user_courses'); ?> |
|
1533
|
1533
|
|
|
1534
|
1534
|
<?php |
|
1535
|
1535
|
$course_page_url = Sensei_Course::get_courses_page_url(); |
|
@@ -1537,7 +1537,7 @@ discard block |
|
|
block discarded – undo |
|
1537
|
1537
|
|
|
1538
|
1538
|
<div id="active-courses"> |
|
1539
|
1539
|
|
|
1540
|
|
- <?php if ( '' != $active_html ) { |
|
|
1540
|
+ <?php if ('' != $active_html) { |
|
1541
|
1541
|
|
|
1542
|
1542
|
echo $active_html; |
|
1543
|
1543
|
|
|
@@ -1549,7 +1549,7 @@ discard block |
|
|
block discarded – undo |
|
1549
|
1549
|
|
|
1550
|
1550
|
<a href="<?php echo $course_page_url; ?>"> |
|
1551
|
1551
|
|
|
1552
|
|
- <?php _e( 'Start a Course!', 'woothemes-sensei' ); ?> |
|
|
1552
|
+ <?php _e('Start a Course!', 'woothemes-sensei'); ?> |
|
1553
|
1553
|
|
|
1554
|
1554
|
</a> |
|
1555
|
1555
|
|
|
@@ -1559,13 +1559,13 @@ discard block |
|
|
block discarded – undo |
|
1559
|
1559
|
|
|
1560
|
1560
|
</div> |
|
1561
|
1561
|
|
|
1562
|
|
- <?php do_action( 'sensei_after_active_user_courses' ); ?> |
|
|
1562
|
+ <?php do_action('sensei_after_active_user_courses'); ?> |
|
1563
|
1563
|
|
|
1564
|
|
- <?php do_action( 'sensei_before_completed_user_courses' ); ?> |
|
|
1564
|
+ <?php do_action('sensei_before_completed_user_courses'); ?> |
|
1565
|
1565
|
|
|
1566
|
1566
|
<div id="completed-courses"> |
|
1567
|
1567
|
|
|
1568
|
|
- <?php if ( '' != $complete_html ) { |
|
|
1568
|
+ <?php if ('' != $complete_html) { |
|
1569
|
1569
|
|
|
1570
|
1570
|
echo $complete_html; |
|
1571
|
1571
|
|
|
@@ -1581,16 +1581,16 @@ discard block |
|
|
block discarded – undo |
|
1581
|
1581
|
|
|
1582
|
1582
|
</div> |
|
1583
|
1583
|
|
|
1584
|
|
- <?php do_action( 'sensei_after_completed_user_courses' ); ?> |
|
|
1584
|
+ <?php do_action('sensei_after_completed_user_courses'); ?> |
|
1585
|
1585
|
|
|
1586
|
1586
|
</div> |
|
1587
|
1587
|
|
|
1588
|
|
- <?php do_action( 'sensei_after_user_courses' ); ?> |
|
|
1588
|
+ <?php do_action('sensei_after_user_courses'); ?> |
|
1589
|
1589
|
|
|
1590
|
1590
|
<?php |
|
1591
|
1591
|
echo ob_get_clean(); |
|
1592
|
1592
|
|
|
1593
|
|
- do_action( 'sensei_after_learner_course_content', $user ); |
|
|
1593
|
+ do_action('sensei_after_learner_course_content', $user); |
|
1594
|
1594
|
|
|
1595
|
1595
|
} // end load_user_courses_content |
|
1596
|
1596
|
|
|
@@ -1602,7 +1602,7 @@ discard block |
|
|
block discarded – undo |
|
1602
|
1602
|
* @type $course WP_Post |
|
1603
|
1603
|
* } |
|
1604
|
1604
|
*/ |
|
1605
|
|
- public static function get_all_courses(){ |
|
|
1605
|
+ public static function get_all_courses() { |
|
1606
|
1606
|
|
|
1607
|
1607
|
$args = array( |
|
1608
|
1608
|
'post_type' => 'course', |
|
@@ -1613,7 +1613,7 @@ discard block |
|
|
block discarded – undo |
|
1613
|
1613
|
'suppress_filters' => 0, |
|
1614
|
1614
|
); |
|
1615
|
1615
|
|
|
1616
|
|
- $wp_query_obj = new WP_Query( $args ); |
|
|
1616
|
+ $wp_query_obj = new WP_Query($args); |
|
1617
|
1617
|
|
|
1618
|
1618
|
/** |
|
1619
|
1619
|
* sensei_get_all_courses filter |
|
@@ -1625,7 +1625,7 @@ discard block |
|
|
block discarded – undo |
|
1625
|
1625
|
* } |
|
1626
|
1626
|
* @param array $attributes |
|
1627
|
1627
|
*/ |
|
1628
|
|
- return apply_filters( 'sensei_get_all_courses' , $wp_query_obj->posts ); |
|
|
1628
|
+ return apply_filters('sensei_get_all_courses', $wp_query_obj->posts); |
|
1629
|
1629
|
|
|
1630
|
1630
|
}// end get_all_courses |
|
1631
|
1631
|
|
|
@@ -1636,16 +1636,16 @@ discard block |
|
|
block discarded – undo |
|
1636
|
1636
|
* @param int $progress_percentage 0 - 100 |
|
1637
|
1637
|
* @return string $progress_bar_html |
|
1638
|
1638
|
*/ |
|
1639
|
|
- public function get_progress_meter( $progress_percentage ){ |
|
|
1639
|
+ public function get_progress_meter($progress_percentage) { |
|
1640
|
1640
|
|
|
1641
|
|
- if ( 50 < $progress_percentage ) { |
|
|
1641
|
+ if (50 < $progress_percentage) { |
|
1642
|
1642
|
$class = ' green'; |
|
1643
|
|
- } elseif ( 25 <= $progress_percentage && 50 >= $progress_percentage ) { |
|
|
1643
|
+ } elseif (25 <= $progress_percentage && 50 >= $progress_percentage) { |
|
1644
|
1644
|
$class = ' orange'; |
|
1645
|
1645
|
} else { |
|
1646
|
1646
|
$class = ' red'; |
|
1647
|
1647
|
} |
|
1648
|
|
- $progress_bar_html = '<div class="meter' . esc_attr( $class ) . '"><span style="width: ' . $progress_percentage . '%">' . round( $progress_percentage ) . '%</span></div>'; |
|
|
1648
|
+ $progress_bar_html = '<div class="meter'.esc_attr($class).'"><span style="width: '.$progress_percentage.'%">'.round($progress_percentage).'%</span></div>'; |
|
1649
|
1649
|
|
|
1650
|
1650
|
return $progress_bar_html; |
|
1651
|
1651
|
|
|
@@ -1660,17 +1660,17 @@ discard block |
|
|
block discarded – undo |
|
1660
|
1660
|
* |
|
1661
|
1661
|
* @return string $statement_html |
|
1662
|
1662
|
*/ |
|
1663
|
|
- public function get_progress_statement( $course_id, $user_id ){ |
|
|
1663
|
+ public function get_progress_statement($course_id, $user_id) { |
|
1664
|
1664
|
|
|
1665
|
|
- if( empty( $course_id ) || empty( $user_id ) |
|
1666
|
|
- || ! Sensei_Utils::user_started_course( $course_id, $user_id ) ){ |
|
|
1665
|
+ if (empty($course_id) || empty($user_id) |
|
|
1666
|
+ || ! Sensei_Utils::user_started_course($course_id, $user_id)) { |
|
1667
|
1667
|
return ''; |
|
1668
|
1668
|
} |
|
1669
|
1669
|
|
|
1670
|
|
- $completed = count( $this->get_completed_lesson_ids( $course_id, $user_id ) ); |
|
1671
|
|
- $total_lessons = count( $this->course_lessons( $course_id ) ); |
|
|
1670
|
+ $completed = count($this->get_completed_lesson_ids($course_id, $user_id)); |
|
|
1671
|
+ $total_lessons = count($this->course_lessons($course_id)); |
|
1672
|
1672
|
|
|
1673
|
|
- $statement = sprintf( _n('Currently completed %s lesson of %s in total', 'Currently completed %s lessons of %s in total', $completed, 'woothemes-sensei'), $completed, $total_lessons ); |
|
|
1673
|
+ $statement = sprintf(_n('Currently completed %s lesson of %s in total', 'Currently completed %s lessons of %s in total', $completed, 'woothemes-sensei'), $completed, $total_lessons); |
|
1674
|
1674
|
|
|
1675
|
1675
|
/** |
|
1676
|
1676
|
* Filter the course completion statement. |
|
@@ -1678,7 +1678,7 @@ discard block |
|
|
block discarded – undo |
|
1678
|
1678
|
* |
|
1679
|
1679
|
* @param string $statement |
|
1680
|
1680
|
*/ |
|
1681
|
|
- return apply_filters( 'sensei_course_completion_statement', $statement ); |
|
|
1681
|
+ return apply_filters('sensei_course_completion_statement', $statement); |
|
1682
|
1682
|
|
|
1683
|
1683
|
}// end generate_progress_statement |
|
1684
|
1684
|
|
|
@@ -1688,17 +1688,17 @@ discard block |
|
|
block discarded – undo |
|
1688
|
1688
|
* @param $course_id |
|
1689
|
1689
|
* @return void |
|
1690
|
1690
|
*/ |
|
1691
|
|
- public function the_progress_statement( $course_id = 0, $user_id = 0 ){ |
|
1692
|
|
- if( empty( $course_id ) ){ |
|
|
1691
|
+ public function the_progress_statement($course_id = 0, $user_id = 0) { |
|
|
1692
|
+ if (empty($course_id)) { |
|
1693
|
1693
|
global $post; |
|
1694
|
1694
|
$course_id = $post->ID; |
|
1695
|
1695
|
} |
|
1696
|
1696
|
|
|
1697
|
|
- if( empty( $user_id ) ){ |
|
|
1697
|
+ if (empty($user_id)) { |
|
1698
|
1698
|
$user_id = get_current_user_id(); |
|
1699
|
1699
|
} |
|
1700
|
1700
|
|
|
1701
|
|
- echo '<span class="progress statement course-completion-rate">' . $this->get_progress_statement( $course_id, $user_id ) . '</span>'; |
|
|
1701
|
+ echo '<span class="progress statement course-completion-rate">'.$this->get_progress_statement($course_id, $user_id).'</span>'; |
|
1702
|
1702
|
} |
|
1703
|
1703
|
|
|
1704
|
1704
|
/** |
|
@@ -1707,24 +1707,24 @@ discard block |
|
|
block discarded – undo |
|
1707
|
1707
|
* @param $course_id |
|
1708
|
1708
|
* @return void |
|
1709
|
1709
|
*/ |
|
1710
|
|
- public function the_progress_meter( $course_id = 0, $user_id = 0 ){ |
|
|
1710
|
+ public function the_progress_meter($course_id = 0, $user_id = 0) { |
|
1711
|
1711
|
|
|
1712
|
|
- if( empty( $course_id ) ){ |
|
|
1712
|
+ if (empty($course_id)) { |
|
1713
|
1713
|
global $post; |
|
1714
|
1714
|
$course_id = $post->ID; |
|
1715
|
1715
|
} |
|
1716
|
1716
|
|
|
1717
|
|
- if( empty( $user_id ) ){ |
|
|
1717
|
+ if (empty($user_id)) { |
|
1718
|
1718
|
$user_id = get_current_user_id(); |
|
1719
|
1719
|
} |
|
1720
|
1720
|
|
|
1721
|
|
- if( 'course' != get_post_type( $course_id ) || ! get_userdata( $user_id ) |
|
1722
|
|
- || ! Sensei_Utils::user_started_course( $course_id ,$user_id ) ){ |
|
|
1721
|
+ if ('course' != get_post_type($course_id) || ! get_userdata($user_id) |
|
|
1722
|
+ || ! Sensei_Utils::user_started_course($course_id, $user_id)) { |
|
1723
|
1723
|
return; |
|
1724
|
1724
|
} |
|
1725
|
|
- $percentage_completed = $this->get_completion_percentage( $course_id, $user_id ); |
|
|
1725
|
+ $percentage_completed = $this->get_completion_percentage($course_id, $user_id); |
|
1726
|
1726
|
|
|
1727
|
|
- echo $this->get_progress_meter( $percentage_completed ); |
|
|
1727
|
+ echo $this->get_progress_meter($percentage_completed); |
|
1728
|
1728
|
|
|
1729
|
1729
|
}// end the_progress_meter |
|
1730
|
1730
|
|
|
@@ -1737,20 +1737,20 @@ discard block |
|
|
block discarded – undo |
|
1737
|
1737
|
* @param int $user_id |
|
1738
|
1738
|
* @return array $completed_lesson_ids |
|
1739
|
1739
|
*/ |
|
1740
|
|
- public function get_completed_lesson_ids( $course_id, $user_id = 0 ){ |
|
|
1740
|
+ public function get_completed_lesson_ids($course_id, $user_id = 0) { |
|
1741
|
1741
|
|
|
1742
|
|
- if( !( intval( $user_id ) ) > 0 ){ |
|
|
1742
|
+ if ( ! (intval($user_id)) > 0) { |
|
1743
|
1743
|
$user_id = get_current_user_id(); |
|
1744
|
1744
|
} |
|
1745
|
1745
|
|
|
1746
|
1746
|
$completed_lesson_ids = array(); |
|
1747
|
1747
|
|
|
1748
|
|
- $course_lessons = $this->course_lessons( $course_id ); |
|
|
1748
|
+ $course_lessons = $this->course_lessons($course_id); |
|
1749
|
1749
|
|
|
1750
|
|
- foreach( $course_lessons as $lesson ){ |
|
|
1750
|
+ foreach ($course_lessons as $lesson) { |
|
1751
|
1751
|
|
|
1752
|
|
- $is_lesson_completed = Sensei_Utils::user_completed_lesson( $lesson->ID, $user_id ); |
|
1753
|
|
- if( $is_lesson_completed ){ |
|
|
1752
|
+ $is_lesson_completed = Sensei_Utils::user_completed_lesson($lesson->ID, $user_id); |
|
|
1753
|
+ if ($is_lesson_completed) { |
|
1754
|
1754
|
$completed_lesson_ids[] = $lesson->ID; |
|
1755
|
1755
|
} |
|
1756
|
1756
|
|
|
@@ -1769,19 +1769,19 @@ discard block |
|
|
block discarded – undo |
|
1769
|
1769
|
* @param int $user_id |
|
1770
|
1770
|
* @return int $percentage |
|
1771
|
1771
|
*/ |
|
1772
|
|
- public function get_completion_percentage( $course_id, $user_id = 0 ){ |
|
|
1772
|
+ public function get_completion_percentage($course_id, $user_id = 0) { |
|
1773
|
1773
|
|
|
1774
|
|
- if( !( intval( $user_id ) ) > 0 ){ |
|
|
1774
|
+ if ( ! (intval($user_id)) > 0) { |
|
1775
|
1775
|
$user_id = get_current_user_id(); |
|
1776
|
1776
|
} |
|
1777
|
1777
|
|
|
1778
|
|
- $completed = count( $this->get_completed_lesson_ids( $course_id, $user_id ) ); |
|
|
1778
|
+ $completed = count($this->get_completed_lesson_ids($course_id, $user_id)); |
|
1779
|
1779
|
|
|
1780
|
|
- if( ! ( $completed > 0 ) ){ |
|
|
1780
|
+ if ( ! ($completed > 0)) { |
|
1781
|
1781
|
return 0; |
|
1782
|
1782
|
} |
|
1783
|
1783
|
|
|
1784
|
|
- $total_lessons = count( $this->course_lessons( $course_id ) ); |
|
|
1784
|
+ $total_lessons = count($this->course_lessons($course_id)); |
|
1785
|
1785
|
$percentage = $completed / $total_lessons * 100; |
|
1786
|
1786
|
|
|
1787
|
1787
|
/** |
|
@@ -1793,7 +1793,7 @@ discard block |
|
|
block discarded – undo |
|
1793
|
1793
|
* @param $user_id |
|
1794
|
1794
|
* @since 1.8.0 |
|
1795
|
1795
|
*/ |
|
1796
|
|
- return apply_filters( 'sensei_course_completion_percentage', $percentage, $course_id, $user_id ); |
|
|
1796
|
+ return apply_filters('sensei_course_completion_percentage', $percentage, $course_id, $user_id); |
|
1797
|
1797
|
|
|
1798
|
1798
|
}// end get_completed_lesson_ids |
|
1799
|
1799
|
|
|
@@ -1805,28 +1805,28 @@ discard block |
|
|
block discarded – undo |
|
1805
|
1805
|
* @param $should_send |
|
1806
|
1806
|
* @return bool |
|
1807
|
1807
|
*/ |
|
1808
|
|
- public function block_notification_emails( $should_send ){ |
|
|
1808
|
+ public function block_notification_emails($should_send) { |
|
1809
|
1809
|
global $sensei_email_data; |
|
1810
|
1810
|
$email = $sensei_email_data; |
|
1811
|
1811
|
|
|
1812
|
1812
|
$course_id = ''; |
|
1813
|
1813
|
|
|
1814
|
|
- if( isset( $email['course_id'] ) ){ |
|
|
1814
|
+ if (isset($email['course_id'])) { |
|
1815
|
1815
|
|
|
1816
|
1816
|
$course_id = $email['course_id']; |
|
1817
|
1817
|
|
|
1818
|
|
- }elseif( isset( $email['lesson_id'] ) ){ |
|
|
1818
|
+ }elseif (isset($email['lesson_id'])) { |
|
1819
|
1819
|
|
|
1820
|
|
- $course_id = Sensei()->lesson->get_course_id( $email['lesson_id'] ); |
|
|
1820
|
+ $course_id = Sensei()->lesson->get_course_id($email['lesson_id']); |
|
1821
|
1821
|
|
|
1822
|
|
- }elseif( isset( $email['quiz_id'] ) ){ |
|
|
1822
|
+ }elseif (isset($email['quiz_id'])) { |
|
1823
|
1823
|
|
|
1824
|
|
- $lesson_id = Sensei()->quiz->get_lesson_id( $email['quiz_id'] ); |
|
1825
|
|
- $course_id = Sensei()->lesson->get_course_id( $lesson_id ); |
|
|
1824
|
+ $lesson_id = Sensei()->quiz->get_lesson_id($email['quiz_id']); |
|
|
1825
|
+ $course_id = Sensei()->lesson->get_course_id($lesson_id); |
|
1826
|
1826
|
|
|
1827
|
1827
|
} |
|
1828
|
1828
|
|
|
1829
|
|
- if( !empty( $course_id ) && 'course'== get_post_type( $course_id ) ) { |
|
|
1829
|
+ if ( ! empty($course_id) && 'course' == get_post_type($course_id)) { |
|
1830
|
1830
|
|
|
1831
|
1831
|
$course_emails_disabled = get_post_meta($course_id, 'disable_notification', true); |
|
1832
|
1832
|
|
|
@@ -1847,19 +1847,19 @@ discard block |
|
|
block discarded – undo |
|
1847
|
1847
|
* @since 1.8.0 |
|
1848
|
1848
|
* @param $course |
|
1849
|
1849
|
*/ |
|
1850
|
|
- public function course_notification_meta_box_content( $course ){ |
|
|
1850
|
+ public function course_notification_meta_box_content($course) { |
|
1851
|
1851
|
|
|
1852
|
|
- $checked = get_post_meta( $course->ID , 'disable_notification', true ); |
|
|
1852
|
+ $checked = get_post_meta($course->ID, 'disable_notification', true); |
|
1853
|
1853
|
|
|
1854
|
1854
|
// generate checked html |
|
1855
|
1855
|
$checked_html = ''; |
|
1856
|
|
- if( $checked ){ |
|
|
1856
|
+ if ($checked) { |
|
1857
|
1857
|
$checked_html = 'checked="checked"'; |
|
1858
|
1858
|
} |
|
1859
|
|
- wp_nonce_field( 'update-course-notification-setting','_sensei_course_notification' ); |
|
|
1859
|
+ wp_nonce_field('update-course-notification-setting', '_sensei_course_notification'); |
|
1860
|
1860
|
|
|
1861
|
|
- echo '<input id="disable_sensei_course_notification" '.$checked_html .' type="checkbox" name="disable_sensei_course_notification" >'; |
|
1862
|
|
- echo '<label for="disable_sensei_course_notification">'.__('Disable notifications on this course ?', 'woothemes-sensei'). '</label>'; |
|
|
1861
|
+ echo '<input id="disable_sensei_course_notification" '.$checked_html.' type="checkbox" name="disable_sensei_course_notification" >'; |
|
|
1862
|
+ echo '<label for="disable_sensei_course_notification">'.__('Disable notifications on this course ?', 'woothemes-sensei').'</label>'; |
|
1863
|
1863
|
|
|
1864
|
1864
|
}// end course_notification_meta_box_content |
|
1865
|
1865
|
|
|
@@ -1871,20 +1871,20 @@ discard block |
|
|
block discarded – undo |
|
1871
|
1871
|
* |
|
1872
|
1872
|
* @param $course_id |
|
1873
|
1873
|
*/ |
|
1874
|
|
- public function save_course_notification_meta_box( $course_id ){ |
|
|
1874
|
+ public function save_course_notification_meta_box($course_id) { |
|
1875
|
1875
|
|
|
1876
|
|
- if( !isset( $_POST['_sensei_course_notification'] ) |
|
1877
|
|
- || ! wp_verify_nonce( $_POST['_sensei_course_notification'], 'update-course-notification-setting' ) ){ |
|
|
1876
|
+ if ( ! isset($_POST['_sensei_course_notification']) |
|
|
1877
|
+ || ! wp_verify_nonce($_POST['_sensei_course_notification'], 'update-course-notification-setting')) { |
|
1878
|
1878
|
return; |
|
1879
|
1879
|
} |
|
1880
|
1880
|
|
|
1881
|
|
- if( isset( $_POST['disable_sensei_course_notification'] ) && 'on'== $_POST['disable_sensei_course_notification'] ) { |
|
|
1881
|
+ if (isset($_POST['disable_sensei_course_notification']) && 'on' == $_POST['disable_sensei_course_notification']) { |
|
1882
|
1882
|
$new_val = true; |
|
1883
|
|
- }else{ |
|
|
1883
|
+ } else { |
|
1884
|
1884
|
$new_val = false; |
|
1885
|
1885
|
} |
|
1886
|
1886
|
|
|
1887
|
|
- update_post_meta( $course_id , 'disable_notification', $new_val ); |
|
|
1887
|
+ update_post_meta($course_id, 'disable_notification', $new_val); |
|
1888
|
1888
|
|
|
1889
|
1889
|
}// end save notification meta box |
|
1890
|
1890
|
|
|
@@ -1898,10 +1898,10 @@ discard block |
|
|
block discarded – undo |
|
1898
|
1898
|
* |
|
1899
|
1899
|
* @param WP_Post $post |
|
1900
|
1900
|
*/ |
|
1901
|
|
- public function content_before_backwards_compatibility_hooks( $post_id ){ |
|
|
1901
|
+ public function content_before_backwards_compatibility_hooks($post_id) { |
|
1902
|
1902
|
|
|
1903
|
|
- sensei_do_deprecated_action( 'sensei_course_image','1.9.0','sensei_course_content_inside_before' ); |
|
1904
|
|
- sensei_do_deprecated_action( 'sensei_course_archive_course_title','1.9.0','sensei_course_content_inside_before' ); |
|
|
1903
|
+ sensei_do_deprecated_action('sensei_course_image', '1.9.0', 'sensei_course_content_inside_before'); |
|
|
1904
|
+ sensei_do_deprecated_action('sensei_course_archive_course_title', '1.9.0', 'sensei_course_content_inside_before'); |
|
1905
|
1905
|
|
|
1906
|
1906
|
} |
|
1907
|
1907
|
|
|
@@ -1914,10 +1914,10 @@ discard block |
|
|
block discarded – undo |
|
1914
|
1914
|
* |
|
1915
|
1915
|
* @global WP_Post $post |
|
1916
|
1916
|
*/ |
|
1917
|
|
- public function loop_before_backwards_compatibility_hooks( ){ |
|
|
1917
|
+ public function loop_before_backwards_compatibility_hooks( ) { |
|
1918
|
1918
|
|
|
1919
|
1919
|
global $post; |
|
1920
|
|
- sensei_do_deprecated_action( 'sensei_course_archive_header','1.9.0','sensei_course_content_inside_before', $post->post_type ); |
|
|
1920
|
+ sensei_do_deprecated_action('sensei_course_archive_header', '1.9.0', 'sensei_course_content_inside_before', $post->post_type); |
|
1921
|
1921
|
|
|
1922
|
1922
|
} |
|
1923
|
1923
|
|
|
@@ -1930,19 +1930,19 @@ discard block |
|
|
block discarded – undo |
|
1930
|
1930
|
* |
|
1931
|
1931
|
* @param integer $course_id |
|
1932
|
1932
|
*/ |
|
1933
|
|
- public function the_course_free_lesson_preview( $course_id ){ |
|
|
1933
|
+ public function the_course_free_lesson_preview($course_id) { |
|
1934
|
1934
|
// Meta data |
|
1935
|
|
- $course = get_post( $course_id ); |
|
1936
|
|
- $preview_lesson_count = intval( Sensei()->course->course_lesson_preview_count( $course->ID ) ); |
|
1937
|
|
- $is_user_taking_course = Sensei_Utils::user_started_course( $course->ID, get_current_user_id() ); |
|
|
1935
|
+ $course = get_post($course_id); |
|
|
1936
|
+ $preview_lesson_count = intval(Sensei()->course->course_lesson_preview_count($course->ID)); |
|
|
1937
|
+ $is_user_taking_course = Sensei_Utils::user_started_course($course->ID, get_current_user_id()); |
|
1938
|
1938
|
|
|
1939
|
|
- if ( 0 < $preview_lesson_count && !$is_user_taking_course ) { |
|
|
1939
|
+ if (0 < $preview_lesson_count && ! $is_user_taking_course) { |
|
1940
|
1940
|
?> |
|
1941
|
1941
|
<p class="sensei-free-lessons"> |
|
1942
|
1942
|
<a href="<?php echo get_permalink(); ?>"> |
|
1943
|
|
- <?php _e( 'Preview this course', 'woothemes-sensei' ) ?> |
|
|
1943
|
+ <?php _e('Preview this course', 'woothemes-sensei') ?> |
|
1944
|
1944
|
</a> |
|
1945
|
|
- - <?php echo sprintf( __( '(%d preview lessons)', 'woothemes-sensei' ), $preview_lesson_count ) ; ?> |
|
|
1945
|
+ - <?php echo sprintf(__('(%d preview lessons)', 'woothemes-sensei'), $preview_lesson_count); ?> |
|
1946
|
1946
|
</p> |
|
1947
|
1947
|
|
|
1948
|
1948
|
<?php |
|
@@ -1955,42 +1955,42 @@ discard block |
|
|
block discarded – undo |
|
1955
|
1955
|
* @since 1.9.0 |
|
1956
|
1956
|
* @param integer $course_id |
|
1957
|
1957
|
*/ |
|
1958
|
|
- public function the_course_meta( $course_id ){ |
|
|
1958
|
+ public function the_course_meta($course_id) { |
|
1959
|
1959
|
echo '<p class="sensei-course-meta">'; |
|
1960
|
1960
|
|
|
1961
|
|
- $course = get_post( $course_id ); |
|
1962
|
|
- $category_output = get_the_term_list( $course->ID, 'course-category', '', ', ', '' ); |
|
1963
|
|
- $author_display_name = get_the_author_meta( 'display_name', $course->post_author ); |
|
|
1961
|
+ $course = get_post($course_id); |
|
|
1962
|
+ $category_output = get_the_term_list($course->ID, 'course-category', '', ', ', ''); |
|
|
1963
|
+ $author_display_name = get_the_author_meta('display_name', $course->post_author); |
|
1964
|
1964
|
|
|
1965
|
|
- if ( isset( Sensei()->settings->settings[ 'course_author' ] ) && ( Sensei()->settings->settings[ 'course_author' ] ) ) {?> |
|
|
1965
|
+ if (isset(Sensei()->settings->settings['course_author']) && (Sensei()->settings->settings['course_author'])) {?> |
|
1966
|
1966
|
|
|
1967
|
|
- <span class="course-author"><?php _e( 'by ', 'woothemes-sensei' ); ?> |
|
|
1967
|
+ <span class="course-author"><?php _e('by ', 'woothemes-sensei'); ?> |
|
1968
|
1968
|
|
|
1969
|
|
- <a href="<?php esc_attr_e( get_author_posts_url( $course->post_author ) ); ?>" title="<?php esc_attr_e( $author_display_name ); ?>"><?php esc_attr_e( $author_display_name ); ?></a> |
|
|
1969
|
+ <a href="<?php esc_attr_e(get_author_posts_url($course->post_author)); ?>" title="<?php esc_attr_e($author_display_name); ?>"><?php esc_attr_e($author_display_name); ?></a> |
|
1970
|
1970
|
|
|
1971
|
1971
|
</span> |
|
1972
|
1972
|
|
|
1973
|
1973
|
<?php } // End If Statement ?> |
|
1974
|
1974
|
|
|
1975
|
|
- <span class="course-lesson-count"><?php echo Sensei()->course->course_lesson_count( $course->ID ) . ' ' . __( 'Lessons', 'woothemes-sensei' ); ?></span> |
|
|
1975
|
+ <span class="course-lesson-count"><?php echo Sensei()->course->course_lesson_count($course->ID).' '.__('Lessons', 'woothemes-sensei'); ?></span> |
|
1976
|
1976
|
|
|
1977
|
|
- <?php if ( '' != $category_output ) { ?> |
|
|
1977
|
+ <?php if ('' != $category_output) { ?> |
|
1978
|
1978
|
|
|
1979
|
|
- <span class="course-category"><?php echo sprintf( __( 'in %s', 'woothemes-sensei' ), $category_output ); ?></span> |
|
|
1979
|
+ <span class="course-category"><?php echo sprintf(__('in %s', 'woothemes-sensei'), $category_output); ?></span> |
|
1980
|
1980
|
|
|
1981
|
1981
|
<?php } // End If Statement |
|
1982
|
1982
|
|
|
1983
|
1983
|
// number of completed lessons |
|
1984
|
|
- if( Sensei_Utils::user_started_course( $course->ID, get_current_user_id() ) |
|
1985
|
|
- || Sensei_Utils::user_completed_course( $course->ID, get_current_user_id() ) ){ |
|
|
1984
|
+ if (Sensei_Utils::user_started_course($course->ID, get_current_user_id()) |
|
|
1985
|
+ || Sensei_Utils::user_completed_course($course->ID, get_current_user_id())) { |
|
1986
|
1986
|
|
|
1987
|
|
- $completed = count( $this->get_completed_lesson_ids( $course->ID, get_current_user_id() ) ); |
|
1988
|
|
- $lesson_count = count( $this->course_lessons( $course->ID ) ); |
|
1989
|
|
- echo '<span class="course-lesson-progress">' . sprintf( __( '%1$d of %2$d lessons completed', 'woothemes-sensei' ) , $completed, $lesson_count ) . '</span>'; |
|
|
1987
|
+ $completed = count($this->get_completed_lesson_ids($course->ID, get_current_user_id())); |
|
|
1988
|
+ $lesson_count = count($this->course_lessons($course->ID)); |
|
|
1989
|
+ echo '<span class="course-lesson-progress">'.sprintf(__('%1$d of %2$d lessons completed', 'woothemes-sensei'), $completed, $lesson_count).'</span>'; |
|
1990
|
1990
|
|
|
1991
|
1991
|
} |
|
1992
|
1992
|
|
|
1993
|
|
- sensei_simple_course_price( $course->ID ); |
|
|
1993
|
+ sensei_simple_course_price($course->ID); |
|
1994
|
1994
|
|
|
1995
|
1995
|
echo '</p>'; |
|
1996
|
1996
|
} // end the course meta |
|
@@ -2005,15 +2005,15 @@ discard block |
|
|
block discarded – undo |
|
2005
|
2005
|
* |
|
2006
|
2006
|
* @return array $classes |
|
2007
|
2007
|
*/ |
|
2008
|
|
- public static function add_course_user_status_class( $classes, $class, $course_id ){ |
|
|
2008
|
+ public static function add_course_user_status_class($classes, $class, $course_id) { |
|
2009
|
2009
|
|
|
2010
|
|
- if( 'course' == get_post_type( $course_id ) && is_user_logged_in() ){ |
|
|
2010
|
+ if ('course' == get_post_type($course_id) && is_user_logged_in()) { |
|
2011
|
2011
|
|
|
2012
|
|
- if( Sensei_Utils::user_completed_course( $course_id, get_current_user_id() ) ){ |
|
|
2012
|
+ if (Sensei_Utils::user_completed_course($course_id, get_current_user_id())) { |
|
2013
|
2013
|
|
|
2014
|
2014
|
$classes[] = 'user-status-completed'; |
|
2015
|
2015
|
|
|
2016
|
|
- }else{ |
|
|
2016
|
+ } else { |
|
2017
|
2017
|
|
|
2018
|
2018
|
$classes[] = 'user-status-active'; |
|
2019
|
2019
|
|
|
@@ -2033,37 +2033,37 @@ discard block |
|
|
block discarded – undo |
|
2033
|
2033
|
* |
|
2034
|
2034
|
* @param WP_Post $course |
|
2035
|
2035
|
*/ |
|
2036
|
|
- public static function the_course_action_buttons( $course ){ |
|
|
2036
|
+ public static function the_course_action_buttons($course) { |
|
2037
|
2037
|
|
|
2038
|
|
- if( is_user_logged_in() ) { ?> |
|
|
2038
|
+ if (is_user_logged_in()) { ?> |
|
2039
|
2039
|
|
|
2040
|
2040
|
<section class="entry-actions"> |
|
2041
|
|
- <form method="POST" action="<?php echo esc_url( remove_query_arg( array( 'active_page', 'completed_page' ) ) ); ?>"> |
|
|
2041
|
+ <form method="POST" action="<?php echo esc_url(remove_query_arg(array('active_page', 'completed_page'))); ?>"> |
|
2042
|
2042
|
|
|
2043
|
2043
|
<input type="hidden" |
|
2044
|
|
- name="<?php esc_attr_e( 'woothemes_sensei_complete_course_noonce' ) ?>" |
|
2045
|
|
- id="<?php esc_attr_e( 'woothemes_sensei_complete_course_noonce' ); ?>" |
|
2046
|
|
- value="<?php esc_attr_e( wp_create_nonce( 'woothemes_sensei_complete_course_noonce' ) ); ?>" |
|
|
2044
|
+ name="<?php esc_attr_e('woothemes_sensei_complete_course_noonce') ?>" |
|
|
2045
|
+ id="<?php esc_attr_e('woothemes_sensei_complete_course_noonce'); ?>" |
|
|
2046
|
+ value="<?php esc_attr_e(wp_create_nonce('woothemes_sensei_complete_course_noonce')); ?>" |
|
2047
|
2047
|
/> |
|
2048
|
2048
|
|
|
2049
|
|
- <input type="hidden" name="course_complete_id" id="course-complete-id" value="<?php esc_attr_e( intval( $course->ID ) ); ?>" /> |
|
|
2049
|
+ <input type="hidden" name="course_complete_id" id="course-complete-id" value="<?php esc_attr_e(intval($course->ID)); ?>" /> |
|
2050
|
2050
|
|
|
2051
|
|
- <?php if ( 0 < absint( count( Sensei()->course->course_lessons( $course->ID ) ) ) |
|
|
2051
|
+ <?php if (0 < absint(count(Sensei()->course->course_lessons($course->ID))) |
|
2052
|
2052
|
&& Sensei()->settings->settings['course_completion'] == 'complete' |
|
2053
|
|
- && ! Sensei_Utils::user_completed_course( $course, get_current_user_id() )) { ?> |
|
|
2053
|
+ && ! Sensei_Utils::user_completed_course($course, get_current_user_id())) { ?> |
|
2054
|
2054
|
|
|
2055
|
|
- <span><input name="course_complete" type="submit" class="course-complete" value="<?php _e( 'Mark as Complete', 'woothemes-sensei' ); ?>" /></span> |
|
|
2055
|
+ <span><input name="course_complete" type="submit" class="course-complete" value="<?php _e('Mark as Complete', 'woothemes-sensei'); ?>" /></span> |
|
2056
|
2056
|
|
|
2057
|
2057
|
<?php } // End If Statement |
|
2058
|
2058
|
|
|
2059
|
2059
|
$course_purchased = false; |
|
2060
|
|
- if ( Sensei_WC::is_woocommerce_active() ) { |
|
|
2060
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
2061
|
2061
|
// Get the product ID |
|
2062
|
|
- $wc_post_id = get_post_meta( intval( $course->ID ), '_course_woocommerce_product', true ); |
|
2063
|
|
- if ( 0 < $wc_post_id ) { |
|
|
2062
|
+ $wc_post_id = get_post_meta(intval($course->ID), '_course_woocommerce_product', true); |
|
|
2063
|
+ if (0 < $wc_post_id) { |
|
2064
|
2064
|
|
|
2065
|
2065
|
$user = wp_get_current_user(); |
|
2066
|
|
- $course_purchased = Sensei_Utils::sensei_customer_bought_product( $user->user_email, $user->ID, $wc_post_id ); |
|
|
2066
|
+ $course_purchased = Sensei_Utils::sensei_customer_bought_product($user->user_email, $user->ID, $wc_post_id); |
|
2067
|
2067
|
|
|
2068
|
2068
|
} // End If Statement |
|
2069
|
2069
|
} // End If Statement |
|
@@ -2077,24 +2077,24 @@ discard block |
|
|
block discarded – undo |
|
2077
|
2077
|
* @since 1.9.0 |
|
2078
|
2078
|
* @param bool $show_delete_course_button defaults to false |
|
2079
|
2079
|
*/ |
|
2080
|
|
- $show_delete_course_button = apply_filters( 'sensei_show_delete_course_button', false ); |
|
|
2080
|
+ $show_delete_course_button = apply_filters('sensei_show_delete_course_button', false); |
|
2081
|
2081
|
|
|
2082
|
2082
|
if ( ! $course_purchased |
|
2083
|
|
- && ! Sensei_Utils::user_completed_course( $course->ID, get_current_user_id() ) |
|
2084
|
|
- && $show_delete_course_button ) { ?> |
|
|
2083
|
+ && ! Sensei_Utils::user_completed_course($course->ID, get_current_user_id()) |
|
|
2084
|
+ && $show_delete_course_button) { ?> |
|
2085
|
2085
|
|
|
2086
|
|
- <span><input name="course_complete" type="submit" class="course-delete" value="<?php echo __( 'Delete Course', 'woothemes-sensei' ); ?>"/></span> |
|
|
2086
|
+ <span><input name="course_complete" type="submit" class="course-delete" value="<?php echo __('Delete Course', 'woothemes-sensei'); ?>"/></span> |
|
2087
|
2087
|
|
|
2088
|
2088
|
<?php } // End If Statement |
|
2089
|
2089
|
|
|
2090
|
|
- $has_quizzes = Sensei()->course->course_quizzes( $course->ID, true ); |
|
|
2090
|
+ $has_quizzes = Sensei()->course->course_quizzes($course->ID, true); |
|
2091
|
2091
|
$results_link = ''; |
|
2092
|
|
- if( $has_quizzes ){ |
|
2093
|
|
- $results_link = '<a class="button view-results" href="' . Sensei()->course_results->get_permalink( $course->ID ) . '">' . __( 'View results', 'woothemes-sensei' ) . '</a>'; |
|
|
2092
|
+ if ($has_quizzes) { |
|
|
2093
|
+ $results_link = '<a class="button view-results" href="'.Sensei()->course_results->get_permalink($course->ID).'">'.__('View results', 'woothemes-sensei').'</a>'; |
|
2094
|
2094
|
} |
|
2095
|
2095
|
|
|
2096
|
2096
|
// Output only if there is content to display |
|
2097
|
|
- if ( has_filter( 'sensei_results_links' ) || $has_quizzes ) { ?> |
|
|
2097
|
+ if (has_filter('sensei_results_links') || $has_quizzes) { ?> |
|
2098
|
2098
|
|
|
2099
|
2099
|
<p class="sensei-results-links"> |
|
2100
|
2100
|
<?php |
|
@@ -2104,7 +2104,7 @@ discard block |
|
|
block discarded – undo |
|
2104
|
2104
|
* @param string $results_links_html |
|
2105
|
2105
|
* @param integer $course_id |
|
2106
|
2106
|
*/ |
|
2107
|
|
- echo apply_filters( 'sensei_results_links', $results_link, $course->ID ); |
|
|
2107
|
+ echo apply_filters('sensei_results_links', $results_link, $course->ID); |
|
2108
|
2108
|
?> |
|
2109
|
2109
|
</p> |
|
2110
|
2110
|
|
|
@@ -2130,17 +2130,17 @@ discard block |
|
|
block discarded – undo |
|
2130
|
2130
|
* @param WP_Query $query |
|
2131
|
2131
|
* @return WP_Query $query |
|
2132
|
2132
|
*/ |
|
2133
|
|
- public static function course_query_filter( $query ){ |
|
|
2133
|
+ public static function course_query_filter($query) { |
|
2134
|
2134
|
|
|
2135
|
2135
|
// exit early for no course queries and admin queries |
|
2136
|
|
- if( is_admin( ) || 'course' != $query->get( 'post_type' ) ){ |
|
|
2136
|
+ if (is_admin( ) || 'course' != $query->get('post_type')) { |
|
2137
|
2137
|
return $query; |
|
2138
|
2138
|
} |
|
2139
|
2139
|
|
|
2140
|
2140
|
global $post; // used to get the current page id for my courses |
|
2141
|
2141
|
|
|
2142
|
2142
|
// for the course archive page |
|
2143
|
|
- if( $query->is_main_query() && is_post_type_archive('course') ) |
|
|
2143
|
+ if ($query->is_main_query() && is_post_type_archive('course')) |
|
2144
|
2144
|
{ |
|
2145
|
2145
|
/** |
|
2146
|
2146
|
* sensei_archive_courses_per_page |
|
@@ -2151,11 +2151,11 @@ discard block |
|
|
block discarded – undo |
|
2151
|
2151
|
* @since 1.9.0 |
|
2152
|
2152
|
* @param integer $posts_per_page default 10 |
|
2153
|
2153
|
*/ |
|
2154
|
|
- $query->set( 'posts_per_page', apply_filters( 'sensei_archive_courses_per_page', 10 ) ); |
|
|
2154
|
+ $query->set('posts_per_page', apply_filters('sensei_archive_courses_per_page', 10)); |
|
2155
|
2155
|
|
|
2156
|
2156
|
} |
|
2157
|
2157
|
// for the my courses page |
|
2158
|
|
- elseif( is_page() && Sensei()->settings->get( 'my_course_page' ) == $post->ID ) |
|
|
2158
|
+ elseif (is_page() && Sensei()->settings->get('my_course_page') == $post->ID) |
|
2159
|
2159
|
{ |
|
2160
|
2160
|
/** |
|
2161
|
2161
|
* sensei_my_courses_per_page |
|
@@ -2166,7 +2166,7 @@ discard block |
|
|
block discarded – undo |
|
2166
|
2166
|
* @since 1.9.0 |
|
2167
|
2167
|
* @param integer $posts_per_page default 10 |
|
2168
|
2168
|
*/ |
|
2169
|
|
- $query->set( 'posts_per_page', apply_filters( 'sensei_my_courses_per_page', 10 ) ); |
|
|
2169
|
+ $query->set('posts_per_page', apply_filters('sensei_my_courses_per_page', 10)); |
|
2170
|
2170
|
|
|
2171
|
2171
|
} |
|
2172
|
2172
|
|
|
@@ -2182,21 +2182,21 @@ discard block |
|
|
block discarded – undo |
|
2182
|
2182
|
* @return array $extra_classes |
|
2183
|
2183
|
* @since 1.9.0 |
|
2184
|
2184
|
*/ |
|
2185
|
|
- public static function get_course_loop_content_class () |
|
|
2185
|
+ public static function get_course_loop_content_class() |
|
2186
|
2186
|
{ |
|
2187
|
2187
|
|
|
2188
|
2188
|
global $sensei_course_loop; |
|
2189
|
2189
|
|
|
2190
|
2190
|
|
|
2191
|
|
- if( !isset( $sensei_course_loop ) ){ |
|
|
2191
|
+ if ( ! isset($sensei_course_loop)) { |
|
2192
|
2192
|
$sensei_course_loop = array(); |
|
2193
|
2193
|
} |
|
2194
|
2194
|
|
|
2195
|
|
- if (!isset($sensei_course_loop['counter'])) { |
|
|
2195
|
+ if ( ! isset($sensei_course_loop['counter'])) { |
|
2196
|
2196
|
$sensei_course_loop['counter'] = 0; |
|
2197
|
2197
|
} |
|
2198
|
2198
|
|
|
2199
|
|
- if (!isset($sensei_course_loop['columns'])) { |
|
|
2199
|
+ if ( ! isset($sensei_course_loop['columns'])) { |
|
2200
|
2200
|
$sensei_course_loop['columns'] = self::get_loop_number_of_columns(); |
|
2201
|
2201
|
} |
|
2202
|
2202
|
|
|
@@ -2204,16 +2204,16 @@ discard block |
|
|
block discarded – undo |
|
2204
|
2204
|
$sensei_course_loop['counter']++; |
|
2205
|
2205
|
|
|
2206
|
2206
|
$extra_classes = array(); |
|
2207
|
|
- if( 0 == ( $sensei_course_loop['counter'] - 1 ) % $sensei_course_loop['columns'] || 1 == $sensei_course_loop['columns'] ){ |
|
|
2207
|
+ if (0 == ($sensei_course_loop['counter'] - 1) % $sensei_course_loop['columns'] || 1 == $sensei_course_loop['columns']) { |
|
2208
|
2208
|
$extra_classes[] = 'first'; |
|
2209
|
2209
|
} |
|
2210
|
2210
|
|
|
2211
|
|
- if( 0 == $sensei_course_loop['counter'] % $sensei_course_loop['columns'] ){ |
|
|
2211
|
+ if (0 == $sensei_course_loop['counter'] % $sensei_course_loop['columns']) { |
|
2212
|
2212
|
$extra_classes[] = 'last'; |
|
2213
|
2213
|
} |
|
2214
|
2214
|
|
|
2215
|
2215
|
// add the item number to the classes as well. |
|
2216
|
|
- $extra_classes[] = 'loop-item-number-'. $sensei_course_loop['counter']; |
|
|
2216
|
+ $extra_classes[] = 'loop-item-number-'.$sensei_course_loop['counter']; |
|
2217
|
2217
|
|
|
2218
|
2218
|
/** |
|
2219
|
2219
|
* Filter the course loop class the fires in the in get_course_loop_content_class function |
|
@@ -2224,7 +2224,7 @@ discard block |
|
|
block discarded – undo |
|
2224
|
2224
|
* @param array $extra_classes |
|
2225
|
2225
|
* @param WP_Post $loop_current_course |
|
2226
|
2226
|
*/ |
|
2227
|
|
- return apply_filters( 'sensei_course_loop_content_class', $extra_classes ,get_post() ); |
|
|
2227
|
+ return apply_filters('sensei_course_loop_content_class', $extra_classes, get_post()); |
|
2228
|
2228
|
|
|
2229
|
2229
|
}// end get_course_loop_class |
|
2230
|
2230
|
|
|
@@ -2234,7 +2234,7 @@ discard block |
|
|
block discarded – undo |
|
2234
|
2234
|
* @since 1.9.0 |
|
2235
|
2235
|
* @return mixed|void |
|
2236
|
2236
|
*/ |
|
2237
|
|
- public static function get_loop_number_of_columns(){ |
|
|
2237
|
+ public static function get_loop_number_of_columns() { |
|
2238
|
2238
|
|
|
2239
|
2239
|
/** |
|
2240
|
2240
|
* Filter the number of columns on the course archive page. |
|
@@ -2254,10 +2254,10 @@ discard block |
|
|
block discarded – undo |
|
2254
|
2254
|
* @since 1.9.0 |
|
2255
|
2255
|
* @param |
|
2256
|
2256
|
*/ |
|
2257
|
|
- public static function course_archive_sorting( $query ){ |
|
|
2257
|
+ public static function course_archive_sorting($query) { |
|
2258
|
2258
|
|
|
2259
|
2259
|
// don't show on category pages and other pages |
|
2260
|
|
- if( ! is_archive( 'course ') || is_tax('course-category') ){ |
|
|
2260
|
+ if ( ! is_archive('course ') || is_tax('course-category')) { |
|
2261
|
2261
|
return; |
|
2262
|
2262
|
} |
|
2263
|
2263
|
|
|
@@ -2270,27 +2270,27 @@ discard block |
|
|
block discarded – undo |
|
2270
|
2270
|
* @type string $option_string |
|
2271
|
2271
|
* } |
|
2272
|
2272
|
*/ |
|
2273
|
|
- $course_order_by_options = apply_filters( 'sensei_archive_course_order_by_options', array( |
|
2274
|
|
- "newness" => __( "Sort by newest first", "woothemes-sensei"), |
|
2275
|
|
- "title" => __( "Sort by title A-Z", "woothemes-sensei" ), |
|
|
2273
|
+ $course_order_by_options = apply_filters('sensei_archive_course_order_by_options', array( |
|
|
2274
|
+ "newness" => __("Sort by newest first", "woothemes-sensei"), |
|
|
2275
|
+ "title" => __("Sort by title A-Z", "woothemes-sensei"), |
|
2276
|
2276
|
)); |
|
2277
|
2277
|
|
|
2278
|
2278
|
// setup the currently selected item |
|
2279
|
2279
|
$selected = 'newness'; |
|
2280
|
|
- if( isset( $_GET['orderby'] ) ){ |
|
|
2280
|
+ if (isset($_GET['orderby'])) { |
|
2281
|
2281
|
|
|
2282
|
|
- $selected = $_GET[ 'orderby' ]; |
|
|
2282
|
+ $selected = $_GET['orderby']; |
|
2283
|
2283
|
|
|
2284
|
2284
|
} |
|
2285
|
2285
|
|
|
2286
|
2286
|
?> |
|
2287
|
2287
|
|
|
2288
|
|
- <form class="sensei-ordering" name="sensei-course-order" action="<?php echo esc_attr( Sensei_Utils::get_current_url() ) ; ?>" method="POST"> |
|
|
2288
|
+ <form class="sensei-ordering" name="sensei-course-order" action="<?php echo esc_attr(Sensei_Utils::get_current_url()); ?>" method="POST"> |
|
2289
|
2289
|
<select name="course-orderby" class="orderby"> |
|
2290
|
2290
|
<?php |
|
2291
|
|
- foreach( $course_order_by_options as $value => $text ){ |
|
|
2291
|
+ foreach ($course_order_by_options as $value => $text) { |
|
2292
|
2292
|
|
|
2293
|
|
- echo '<option value="'. $value . ' "' . selected( $selected, $value, false ) . '>'. $text. '</option>'; |
|
|
2293
|
+ echo '<option value="'.$value.' "'.selected($selected, $value, false).'>'.$text.'</option>'; |
|
2294
|
2294
|
|
|
2295
|
2295
|
} |
|
2296
|
2296
|
?> |
|
@@ -2308,10 +2308,10 @@ discard block |
|
|
block discarded – undo |
|
2308
|
2308
|
* @since 1.9.0 |
|
2309
|
2309
|
* @param |
|
2310
|
2310
|
*/ |
|
2311
|
|
- public static function course_archive_filters( $query ){ |
|
|
2311
|
+ public static function course_archive_filters($query) { |
|
2312
|
2312
|
|
|
2313
|
2313
|
// don't show on category pages |
|
2314
|
|
- if( is_tax('course-category') ){ |
|
|
2314
|
+ if (is_tax('course-category')) { |
|
2315
|
2315
|
return; |
|
2316
|
2316
|
} |
|
2317
|
2317
|
|
|
@@ -2324,9 +2324,9 @@ discard block |
|
|
block discarded – undo |
|
2324
|
2324
|
* } |
|
2325
|
2325
|
* |
|
2326
|
2326
|
*/ |
|
2327
|
|
- $filters = apply_filters( 'sensei_archive_course_filter_by_options', array( |
|
2328
|
|
- array( 'id' => 'all', 'url' => self::get_courses_page_url(), 'title'=> __( 'All', 'woothemes-sensei' ) ), |
|
2329
|
|
- array( 'id' => 'featured', 'url' => add_query_arg( array( 'course_filter'=>'featured'), self::get_courses_page_url() ), 'title'=> __( 'Featured', 'woothemes-sensei' ) ), |
|
|
2327
|
+ $filters = apply_filters('sensei_archive_course_filter_by_options', array( |
|
|
2328
|
+ array('id' => 'all', 'url' => self::get_courses_page_url(), 'title'=> __('All', 'woothemes-sensei')), |
|
|
2329
|
+ array('id' => 'featured', 'url' => add_query_arg(array('course_filter'=>'featured'), self::get_courses_page_url()), 'title'=> __('Featured', 'woothemes-sensei')), |
|
2330
|
2330
|
)); |
|
2331
|
2331
|
|
|
2332
|
2332
|
|
|
@@ -2337,11 +2337,11 @@ discard block |
|
|
block discarded – undo |
|
2337
|
2337
|
//determine the current active url |
|
2338
|
2338
|
$current_url = Sensei_Utils::get_current_url(); |
|
2339
|
2339
|
|
|
2340
|
|
- foreach( $filters as $filter ) { |
|
|
2340
|
+ foreach ($filters as $filter) { |
|
2341
|
2341
|
|
|
2342
|
|
- $active_class = $current_url == $filter['url'] ? ' class="active" ' : ''; |
|
|
2342
|
+ $active_class = $current_url == $filter['url'] ? ' class="active" ' : ''; |
|
2343
|
2343
|
|
|
2344
|
|
- echo '<li><a '. $active_class .' id="'. $filter['id'] .'" href="'. esc_url( $filter['url'] ).'" >'. $filter['title'] .'</a></li>'; |
|
|
2344
|
+ echo '<li><a '.$active_class.' id="'.$filter['id'].'" href="'.esc_url($filter['url']).'" >'.$filter['title'].'</a></li>'; |
|
2345
|
2345
|
|
|
2346
|
2346
|
} |
|
2347
|
2347
|
?> |
|
@@ -2362,13 +2362,13 @@ discard block |
|
|
block discarded – undo |
|
2362
|
2362
|
* @param WP_Query $query |
|
2363
|
2363
|
* @return WP_Query $query |
|
2364
|
2364
|
*/ |
|
2365
|
|
- public static function course_archive_featured_filter( $query ){ |
|
|
2365
|
+ public static function course_archive_featured_filter($query) { |
|
2366
|
2366
|
|
|
2367
|
|
- if( isset ( $_GET[ 'course_filter' ] ) && 'featured'== $_GET['course_filter'] && $query->is_main_query() ){ |
|
|
2367
|
+ if (isset ($_GET['course_filter']) && 'featured' == $_GET['course_filter'] && $query->is_main_query()) { |
|
2368
|
2368
|
//setup meta query for featured courses |
|
2369
|
|
- $query->set( 'meta_value', 'featured' ); |
|
2370
|
|
- $query->set( 'meta_key', '_course_featured' ); |
|
2371
|
|
- $query->set( 'meta_compare', '=' ); |
|
|
2369
|
+ $query->set('meta_value', 'featured'); |
|
|
2370
|
+ $query->set('meta_key', '_course_featured'); |
|
|
2371
|
+ $query->set('meta_compare', '='); |
|
2372
|
2372
|
} |
|
2373
|
2373
|
|
|
2374
|
2374
|
return $query; |
|
@@ -2383,13 +2383,13 @@ discard block |
|
|
block discarded – undo |
|
2383
|
2383
|
* @param WP_Query $query |
|
2384
|
2384
|
* @return WP_Query $query |
|
2385
|
2385
|
*/ |
|
2386
|
|
- public static function course_archive_order_by_title( $query ){ |
|
|
2386
|
+ public static function course_archive_order_by_title($query) { |
|
2387
|
2387
|
|
|
2388
|
|
- if( isset ( $_POST[ 'course-orderby' ] ) && 'title '== $_POST['course-orderby'] |
|
2389
|
|
- && 'course'== $query->get('post_type') && $query->is_main_query() ){ |
|
|
2388
|
+ if (isset ($_POST['course-orderby']) && 'title ' == $_POST['course-orderby'] |
|
|
2389
|
+ && 'course' == $query->get('post_type') && $query->is_main_query()) { |
|
2390
|
2390
|
// setup the order by title for this query |
|
2391
|
|
- $query->set( 'orderby', 'title' ); |
|
2392
|
|
- $query->set( 'order', 'ASC' ); |
|
|
2391
|
+ $query->set('orderby', 'title'); |
|
|
2392
|
+ $query->set('order', 'ASC'); |
|
2393
|
2393
|
} |
|
2394
|
2394
|
|
|
2395
|
2395
|
return $query; |
|
@@ -2403,10 +2403,10 @@ discard block |
|
|
block discarded – undo |
|
2403
|
2403
|
* @since 1.9.0 |
|
2404
|
2404
|
* @return string $course_page_url |
|
2405
|
2405
|
*/ |
|
2406
|
|
- public static function get_courses_page_url(){ |
|
|
2406
|
+ public static function get_courses_page_url() { |
|
2407
|
2407
|
|
|
2408
|
|
- $course_page_id = intval( Sensei()->settings->settings[ 'course_page' ] ); |
|
2409
|
|
- $course_page_url = empty( $course_page_id ) ? get_post_type_archive_link('course') : get_permalink( $course_page_id ); |
|
|
2408
|
+ $course_page_id = intval(Sensei()->settings->settings['course_page']); |
|
|
2409
|
+ $course_page_url = empty($course_page_id) ? get_post_type_archive_link('course') : get_permalink($course_page_id); |
|
2410
|
2410
|
|
|
2411
|
2411
|
return $course_page_url; |
|
2412
|
2412
|
|
|
@@ -2423,61 +2423,61 @@ discard block |
|
|
block discarded – undo |
|
2423
|
2423
|
* @param string $after_html |
|
2424
|
2424
|
* @return void |
|
2425
|
2425
|
*/ |
|
2426
|
|
- public static function archive_header( $query_type ='' , $before_html='', $after_html ='' ){ |
|
|
2426
|
+ public static function archive_header($query_type = '', $before_html = '', $after_html = '') { |
|
2427
|
2427
|
|
|
2428
|
|
- if( ! is_post_type_archive('course') ){ |
|
|
2428
|
+ if ( ! is_post_type_archive('course')) { |
|
2429
|
2429
|
return; |
|
2430
|
2430
|
} |
|
2431
|
2431
|
|
|
2432
|
2432
|
// deprecated since 1.9.0 |
|
2433
|
|
- sensei_do_deprecated_action('sensei_archive_title','1.9.0','sensei_archive_before_course_loop'); |
|
|
2433
|
+ sensei_do_deprecated_action('sensei_archive_title', '1.9.0', 'sensei_archive_before_course_loop'); |
|
2434
|
2434
|
|
|
2435
|
2435
|
$html = ''; |
|
2436
|
2436
|
|
|
2437
|
|
- if( empty( $before_html ) ){ |
|
|
2437
|
+ if (empty($before_html)) { |
|
2438
|
2438
|
|
|
2439
|
2439
|
$before_html = '<header class="archive-header"><h1>'; |
|
2440
|
2440
|
|
|
2441
|
2441
|
} |
|
2442
|
2442
|
|
|
2443
|
|
- if( empty( $after_html ) ){ |
|
|
2443
|
+ if (empty($after_html)) { |
|
2444
|
2444
|
|
|
2445
|
2445
|
$after_html = '</h1></header>'; |
|
2446
|
2446
|
|
|
2447
|
2447
|
} |
|
2448
|
2448
|
|
|
2449
|
|
- if ( is_tax( 'course-category' ) ) { |
|
|
2449
|
+ if (is_tax('course-category')) { |
|
2450
|
2450
|
|
|
2451
|
2451
|
global $wp_query; |
|
2452
|
2452
|
|
|
2453
|
2453
|
$taxonomy_obj = $wp_query->get_queried_object(); |
|
2454
|
2454
|
$taxonomy_short_name = $taxonomy_obj->taxonomy; |
|
2455
|
|
- $taxonomy_raw_obj = get_taxonomy( $taxonomy_short_name ); |
|
2456
|
|
- $title = sprintf( __( '%1$s Archives: %2$s', 'woothemes-sensei' ), $taxonomy_raw_obj->labels->name, $taxonomy_obj->name ); |
|
2457
|
|
- echo apply_filters( 'course_category_archive_title', $before_html . $title . $after_html ); |
|
|
2455
|
+ $taxonomy_raw_obj = get_taxonomy($taxonomy_short_name); |
|
|
2456
|
+ $title = sprintf(__('%1$s Archives: %2$s', 'woothemes-sensei'), $taxonomy_raw_obj->labels->name, $taxonomy_obj->name); |
|
|
2457
|
+ echo apply_filters('course_category_archive_title', $before_html.$title.$after_html); |
|
2458
|
2458
|
return; |
|
2459
|
2459
|
|
|
2460
|
2460
|
} // End If Statement |
|
2461
|
2461
|
|
|
2462
|
|
- switch ( $query_type ) { |
|
|
2462
|
+ switch ($query_type) { |
|
2463
|
2463
|
case 'newcourses': |
|
2464
|
|
- $html .= $before_html . __( 'New Courses', 'woothemes-sensei' ) . $after_html; |
|
|
2464
|
+ $html .= $before_html.__('New Courses', 'woothemes-sensei').$after_html; |
|
2465
|
2465
|
break; |
|
2466
|
2466
|
case 'featuredcourses': |
|
2467
|
|
- $html .= $before_html . __( 'Featured Courses', 'woothemes-sensei' ) . $after_html; |
|
|
2467
|
+ $html .= $before_html.__('Featured Courses', 'woothemes-sensei').$after_html; |
|
2468
|
2468
|
break; |
|
2469
|
2469
|
case 'freecourses': |
|
2470
|
|
- $html .= $before_html . __( 'Free Courses', 'woothemes-sensei' ) . $after_html; |
|
|
2470
|
+ $html .= $before_html.__('Free Courses', 'woothemes-sensei').$after_html; |
|
2471
|
2471
|
break; |
|
2472
|
2472
|
case 'paidcourses': |
|
2473
|
|
- $html .= $before_html . __( 'Paid Courses', 'woothemes-sensei' ) . $after_html; |
|
|
2473
|
+ $html .= $before_html.__('Paid Courses', 'woothemes-sensei').$after_html; |
|
2474
|
2474
|
break; |
|
2475
|
2475
|
default: |
|
2476
|
|
- $html .= $before_html . __( 'Courses', 'woothemes-sensei' ) . $after_html; |
|
|
2476
|
+ $html .= $before_html.__('Courses', 'woothemes-sensei').$after_html; |
|
2477
|
2477
|
break; |
|
2478
|
2478
|
} // End Switch Statement |
|
2479
|
2479
|
|
|
2480
|
|
- echo apply_filters( 'course_archive_title', $html ); |
|
|
2480
|
+ echo apply_filters('course_archive_title', $html); |
|
2481
|
2481
|
|
|
2482
|
2482
|
}//course_archive_header |
|
2483
|
2483
|
|
|
@@ -2491,9 +2491,9 @@ discard block |
|
|
block discarded – undo |
|
2491
|
2491
|
* @param string $content |
|
2492
|
2492
|
* @return string $content or $excerpt |
|
2493
|
2493
|
*/ |
|
2494
|
|
- public static function single_course_content( $content ){ |
|
|
2494
|
+ public static function single_course_content($content) { |
|
2495
|
2495
|
|
|
2496
|
|
- if( ! is_singular('course') ){ |
|
|
2496
|
+ if ( ! is_singular('course')) { |
|
2497
|
2497
|
|
|
2498
|
2498
|
return $content; |
|
2499
|
2499
|
|
|
@@ -2502,21 +2502,21 @@ discard block |
|
|
block discarded – undo |
|
2502
|
2502
|
// Content Access Permissions |
|
2503
|
2503
|
$access_permission = false; |
|
2504
|
2504
|
|
|
2505
|
|
- if ( ! Sensei()->settings->get('access_permission') || sensei_all_access() ) { |
|
|
2505
|
+ if ( ! Sensei()->settings->get('access_permission') || sensei_all_access()) { |
|
2506
|
2506
|
|
|
2507
|
2507
|
$access_permission = true; |
|
2508
|
2508
|
|
|
2509
|
2509
|
} // End If Statement |
|
2510
|
2510
|
|
|
2511
|
2511
|
// Check if the user is taking the course |
|
2512
|
|
- $is_user_taking_course = Sensei_Utils::user_started_course( get_the_ID(), get_current_user_id() ); |
|
|
2512
|
+ $is_user_taking_course = Sensei_Utils::user_started_course(get_the_ID(), get_current_user_id()); |
|
2513
|
2513
|
|
|
2514
|
|
- if(Sensei_WC::is_woocommerce_active()) { |
|
|
2514
|
+ if (Sensei_WC::is_woocommerce_active()) { |
|
2515
|
2515
|
|
|
2516
|
|
- $wc_post_id = get_post_meta( get_the_ID(), '_course_woocommerce_product', true ); |
|
2517
|
|
- $product = Sensei()->sensei_get_woocommerce_product_object( $wc_post_id ); |
|
|
2516
|
+ $wc_post_id = get_post_meta(get_the_ID(), '_course_woocommerce_product', true); |
|
|
2517
|
+ $product = Sensei()->sensei_get_woocommerce_product_object($wc_post_id); |
|
2518
|
2518
|
|
|
2519
|
|
- $has_product_attached = isset ( $product ) && is_object ( $product ); |
|
|
2519
|
+ $has_product_attached = isset ($product) && is_object($product); |
|
2520
|
2520
|
|
|
2521
|
2521
|
} else { |
|
2522
|
2522
|
|
|
@@ -2524,17 +2524,17 @@ discard block |
|
|
block discarded – undo |
|
2524
|
2524
|
|
|
2525
|
2525
|
} |
|
2526
|
2526
|
|
|
2527
|
|
- if ( ( is_user_logged_in() && $is_user_taking_course ) |
|
2528
|
|
- || ( $access_permission && !$has_product_attached) |
|
2529
|
|
- || 'full' == Sensei()->settings->get( 'course_single_content_display' ) ) { |
|
|
2527
|
+ if ((is_user_logged_in() && $is_user_taking_course) |
|
|
2528
|
+ || ($access_permission && ! $has_product_attached) |
|
|
2529
|
+ || 'full' == Sensei()->settings->get('course_single_content_display')) { |
|
2530
|
2530
|
|
|
2531
|
2531
|
// compensate for core providing and empty $content |
|
2532
|
2532
|
|
|
2533
|
|
- if( empty( $content ) ){ |
|
2534
|
|
- remove_filter( 'the_content', array( 'Sensei_Course', 'single_course_content') ); |
|
2535
|
|
- $course = get_post( get_the_ID() ); |
|
|
2533
|
+ if (empty($content)) { |
|
|
2534
|
+ remove_filter('the_content', array('Sensei_Course', 'single_course_content')); |
|
|
2535
|
+ $course = get_post(get_the_ID()); |
|
2536
|
2536
|
|
|
2537
|
|
- $content = apply_filters( 'the_content', $course->post_content ); |
|
|
2537
|
+ $content = apply_filters('the_content', $course->post_content); |
|
2538
|
2538
|
|
|
2539
|
2539
|
} |
|
2540
|
2540
|
|
|
@@ -2542,7 +2542,7 @@ discard block |
|
|
block discarded – undo |
|
2542
|
2542
|
|
|
2543
|
2543
|
} else { |
|
2544
|
2544
|
|
|
2545
|
|
- return '<p class="course-excerpt">' . get_post( get_the_ID() )->post_excerpt . '</p>'; |
|
|
2545
|
+ return '<p class="course-excerpt">'.get_post(get_the_ID())->post_excerpt.'</p>'; |
|
2546
|
2546
|
|
|
2547
|
2547
|
} |
|
2548
|
2548
|
|
|
@@ -2553,25 +2553,25 @@ discard block |
|
|
block discarded – undo |
|
2553
|
2553
|
* |
|
2554
|
2554
|
* @since 1.9.0 |
|
2555
|
2555
|
*/ |
|
2556
|
|
- public static function the_course_lessons_title(){ |
|
|
2556
|
+ public static function the_course_lessons_title() { |
|
2557
|
2557
|
|
|
2558
|
|
- if ( ! is_singular( 'course' ) ) { |
|
|
2558
|
+ if ( ! is_singular('course')) { |
|
2559
|
2559
|
return; |
|
2560
|
2560
|
} |
|
2561
|
2561
|
|
|
2562
|
2562
|
global $post; |
|
2563
|
|
- $none_module_lessons = Sensei()->modules->get_none_module_lessons( $post->ID ); |
|
2564
|
|
- $course_lessons = Sensei()->course->course_lessons( $post->ID ); |
|
|
2563
|
+ $none_module_lessons = Sensei()->modules->get_none_module_lessons($post->ID); |
|
|
2564
|
+ $course_lessons = Sensei()->course->course_lessons($post->ID); |
|
2565
|
2565
|
|
|
2566
|
2566
|
// title should be Other Lessons if there are lessons belonging to models. |
|
2567
|
2567
|
$title = __('Other Lessons', 'woothemes-sensei'); |
|
2568
|
2568
|
|
|
2569
|
2569
|
// show lessons if the number of lesson in the course is the same as those that isn't assigned to a module |
|
2570
|
|
- if( count( $course_lessons ) == count( $none_module_lessons ) ){ |
|
|
2570
|
+ if (count($course_lessons) == count($none_module_lessons)) { |
|
2571
|
2571
|
|
|
2572
|
2572
|
$title = __('Lessons', 'woothemes-sensei'); |
|
2573
|
2573
|
|
|
2574
|
|
- }elseif( empty( $none_module_lessons ) ){ // if the none module lessons are simply empty the title should not be shown |
|
|
2574
|
+ }elseif (empty($none_module_lessons)) { // if the none module lessons are simply empty the title should not be shown |
|
2575
|
2575
|
|
|
2576
|
2576
|
$title = ''; |
|
2577
|
2577
|
} |
|
@@ -2579,7 +2579,7 @@ discard block |
|
|
block discarded – undo |
|
2579
|
2579
|
/** |
|
2580
|
2580
|
* hook document in class-woothemes-sensei-message.php |
|
2581
|
2581
|
*/ |
|
2582
|
|
- $title = apply_filters( 'sensei_single_title', $title, $post->post_type ); |
|
|
2582
|
+ $title = apply_filters('sensei_single_title', $title, $post->post_type); |
|
2583
|
2583
|
|
|
2584
|
2584
|
ob_start(); // start capturing the following output. |
|
2585
|
2585
|
|
|
@@ -2598,7 +2598,7 @@ discard block |
|
|
block discarded – undo |
|
2598
|
2598
|
* @since 1.9.0 |
|
2599
|
2599
|
* @param string $lessons_title_html |
|
2600
|
2600
|
*/ |
|
2601
|
|
- echo apply_filters('the_course_lessons_title', ob_get_clean() ); // output and filter the captured output and stop capturing. |
|
|
2601
|
+ echo apply_filters('the_course_lessons_title', ob_get_clean()); // output and filter the captured output and stop capturing. |
|
2602
|
2602
|
|
|
2603
|
2603
|
}// end the_course_lessons_title |
|
2604
|
2604
|
|
|
@@ -2613,13 +2613,13 @@ discard block |
|
|
block discarded – undo |
|
2613
|
2613
|
* @since 1.9.0 |
|
2614
|
2614
|
* @global $wp_query |
|
2615
|
2615
|
*/ |
|
2616
|
|
- public static function load_single_course_lessons_query(){ |
|
|
2616
|
+ public static function load_single_course_lessons_query() { |
|
2617
|
2617
|
|
|
2618
|
2618
|
global $post, $wp_query; |
|
2619
|
2619
|
|
|
2620
|
2620
|
$course_id = $post->ID; |
|
2621
|
2621
|
|
|
2622
|
|
- if( 'course' != get_post_type( $course_id ) ){ |
|
|
2622
|
+ if ('course' != get_post_type($course_id)) { |
|
2623
|
2623
|
return; |
|
2624
|
2624
|
} |
|
2625
|
2625
|
|
|
@@ -2631,7 +2631,7 @@ discard block |
|
|
block discarded – undo |
|
2631
|
2631
|
'meta_query' => array( |
|
2632
|
2632
|
array( |
|
2633
|
2633
|
'key' => '_lesson_course', |
|
2634
|
|
- 'value' => intval( $course_id ), |
|
|
2634
|
+ 'value' => intval($course_id), |
|
2635
|
2635
|
), |
|
2636
|
2636
|
), |
|
2637
|
2637
|
'post_status' => 'public', |
|
@@ -2639,17 +2639,17 @@ discard block |
|
|
block discarded – undo |
|
2639
|
2639
|
); |
|
2640
|
2640
|
|
|
2641
|
2641
|
// Exclude lessons belonging to modules as they are queried along with the modules. |
|
2642
|
|
- $modules = Sensei()->modules->get_course_modules( $course_id ); |
|
2643
|
|
- if( !is_wp_error( $modules ) && ! empty( $modules ) && is_array( $modules ) ){ |
|
|
2642
|
+ $modules = Sensei()->modules->get_course_modules($course_id); |
|
|
2643
|
+ if ( ! is_wp_error($modules) && ! empty($modules) && is_array($modules)) { |
|
2644
|
2644
|
|
|
2645
|
2645
|
$terms_ids = array(); |
|
2646
|
|
- foreach( $modules as $term ){ |
|
|
2646
|
+ foreach ($modules as $term) { |
|
2647
|
2647
|
|
|
2648
|
2648
|
$terms_ids[] = $term->term_id; |
|
2649
|
2649
|
|
|
2650
|
2650
|
} |
|
2651
|
2651
|
|
|
2652
|
|
- $course_lesson_query_args[ 'tax_query'] = array( |
|
|
2652
|
+ $course_lesson_query_args['tax_query'] = array( |
|
2653
|
2653
|
array( |
|
2654
|
2654
|
'taxonomy' => 'module', |
|
2655
|
2655
|
'field' => 'id', |
|
@@ -2660,16 +2660,16 @@ discard block |
|
|
block discarded – undo |
|
2660
|
2660
|
} |
|
2661
|
2661
|
|
|
2662
|
2662
|
//setting lesson order |
|
2663
|
|
- $course_lesson_order = get_post_meta( $course_id, '_lesson_order', true); |
|
2664
|
|
- if( !empty( $course_lesson_order ) ){ |
|
|
2663
|
+ $course_lesson_order = get_post_meta($course_id, '_lesson_order', true); |
|
|
2664
|
+ if ( ! empty($course_lesson_order)) { |
|
2665
|
2665
|
|
|
2666
|
|
- $course_lesson_query_args['post__in'] = explode( ',', $course_lesson_order ); |
|
2667
|
|
- $course_lesson_query_args['orderby']= 'post__in' ; |
|
2668
|
|
- unset( $course_lesson_query_args['order'] ); |
|
|
2666
|
+ $course_lesson_query_args['post__in'] = explode(',', $course_lesson_order); |
|
|
2667
|
+ $course_lesson_query_args['orderby'] = 'post__in'; |
|
|
2668
|
+ unset($course_lesson_query_args['order']); |
|
2669
|
2669
|
|
|
2670
|
2670
|
} |
|
2671
|
2671
|
|
|
2672
|
|
- $wp_query = new WP_Query( $course_lesson_query_args ); |
|
|
2672
|
+ $wp_query = new WP_Query($course_lesson_query_args); |
|
2673
|
2673
|
|
|
2674
|
2674
|
}// load_single_course_lessons |
|
2675
|
2675
|
|
|
@@ -2680,16 +2680,16 @@ discard block |
|
|
block discarded – undo |
|
2680
|
2680
|
* |
|
2681
|
2681
|
* @param $post_id |
|
2682
|
2682
|
*/ |
|
2683
|
|
- public static function flush_rewrite_rules( $post_id ){ |
|
|
2683
|
+ public static function flush_rewrite_rules($post_id) { |
|
2684
|
2684
|
|
|
2685
|
|
- if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ |
|
|
2685
|
+ if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { |
|
2686
|
2686
|
|
|
2687
|
2687
|
return; |
|
2688
|
2688
|
|
|
2689
|
2689
|
} |
|
2690
|
2690
|
|
|
2691
|
2691
|
|
|
2692
|
|
- if( 'course' == get_post_type( $post_id ) ){ |
|
|
2692
|
+ if ('course' == get_post_type($post_id)) { |
|
2693
|
2693
|
|
|
2694
|
2694
|
Sensei()->initiate_rewrite_rules_flush(); |
|
2695
|
2695
|
|
|
@@ -2705,10 +2705,10 @@ discard block |
|
|
block discarded – undo |
|
2705
|
2705
|
* @param $excerpt |
|
2706
|
2706
|
* @return string |
|
2707
|
2707
|
*/ |
|
2708
|
|
- public static function full_content_excerpt_override( $excerpt ){ |
|
|
2708
|
+ public static function full_content_excerpt_override($excerpt) { |
|
2709
|
2709
|
|
|
2710
|
|
- if ( is_singular('course') && |
|
2711
|
|
- 'full' == Sensei()->settings->get( 'course_single_content_display' ) ){ |
|
|
2710
|
+ if (is_singular('course') && |
|
|
2711
|
+ 'full' == Sensei()->settings->get('course_single_content_display')) { |
|
2712
|
2712
|
|
|
2713
|
2713
|
return get_the_content(); |
|
2714
|
2714
|
|
|
@@ -2725,11 +2725,11 @@ discard block |
|
|
block discarded – undo |
|
2725
|
2725
|
* |
|
2726
|
2726
|
* @since 1.9.0 |
|
2727
|
2727
|
*/ |
|
2728
|
|
- public static function the_course_enrolment_actions(){ |
|
|
2728
|
+ public static function the_course_enrolment_actions() { |
|
2729
|
2729
|
|
|
2730
|
2730
|
global $post; |
|
2731
|
2731
|
|
|
2732
|
|
- if ( 'course' != $post->post_type ) { |
|
|
2732
|
+ if ('course' != $post->post_type) { |
|
2733
|
2733
|
return; |
|
2734
|
2734
|
} |
|
2735
|
2735
|
|
|
@@ -2737,14 +2737,14 @@ discard block |
|
|
block discarded – undo |
|
2737
|
2737
|
<section class="course-meta course-enrolment"> |
|
2738
|
2738
|
<?php |
|
2739
|
2739
|
global $post, $current_user; |
|
2740
|
|
- $is_user_taking_course = Sensei_Utils::user_started_course( $post->ID, $current_user->ID ); |
|
2741
|
|
- if ( is_user_logged_in() && ! $is_user_taking_course ) { |
|
|
2740
|
+ $is_user_taking_course = Sensei_Utils::user_started_course($post->ID, $current_user->ID); |
|
|
2741
|
+ if (is_user_logged_in() && ! $is_user_taking_course) { |
|
2742
|
2742
|
|
|
2743
|
2743
|
// Get the product ID |
|
2744
|
|
- $wc_product = wc_get_product( get_post_meta( $post->ID, '_course_woocommerce_product', true ) ); |
|
|
2744
|
+ $wc_product = wc_get_product(get_post_meta($post->ID, '_course_woocommerce_product', true)); |
|
2745
|
2745
|
|
|
2746
|
2746
|
// Check for woocommerce |
|
2747
|
|
- if ( Sensei_WC::is_woocommerce_active() && ( isset( $wc_product->price ) ) ) { |
|
|
2747
|
+ if (Sensei_WC::is_woocommerce_active() && (isset($wc_product->price))) { |
|
2748
|
2748
|
|
|
2749
|
2749
|
Sensei_WC::the_add_to_cart_button_html($post->ID); |
|
2750
|
2750
|
|
|
@@ -2754,50 +2754,50 @@ discard block |
|
|
block discarded – undo |
|
2754
|
2754
|
|
|
2755
|
2755
|
} // End If Statement |
|
2756
|
2756
|
|
|
2757
|
|
- } elseif ( is_user_logged_in() ) { |
|
|
2757
|
+ } elseif (is_user_logged_in()) { |
|
2758
|
2758
|
|
|
2759
|
2759
|
// Check if course is completed |
|
2760
|
|
- $user_course_status = Sensei_Utils::user_course_status( $post->ID, $current_user->ID ); |
|
2761
|
|
- $completed_course = Sensei_Utils::user_completed_course( $user_course_status ); |
|
|
2760
|
+ $user_course_status = Sensei_Utils::user_course_status($post->ID, $current_user->ID); |
|
|
2761
|
+ $completed_course = Sensei_Utils::user_completed_course($user_course_status); |
|
2762
|
2762
|
// Success message |
|
2763
|
|
- if ( $completed_course ) { ?> |
|
2764
|
|
- <div class="status completed"><?php _e( 'Completed', 'woothemes-sensei' ); ?></div> |
|
|
2763
|
+ if ($completed_course) { ?> |
|
|
2764
|
+ <div class="status completed"><?php _e('Completed', 'woothemes-sensei'); ?></div> |
|
2765
|
2765
|
<?php |
|
2766
|
|
- $has_quizzes = Sensei()->course->course_quizzes( $post->ID, true ); |
|
2767
|
|
- if( has_filter( 'sensei_results_links' ) || $has_quizzes ) { ?> |
|
|
2766
|
+ $has_quizzes = Sensei()->course->course_quizzes($post->ID, true); |
|
|
2767
|
+ if (has_filter('sensei_results_links') || $has_quizzes) { ?> |
|
2768
|
2768
|
<p class="sensei-results-links"> |
|
2769
|
2769
|
<?php |
|
2770
|
2770
|
$results_link = ''; |
|
2771
|
|
- if( $has_quizzes ) { |
|
2772
|
|
- $results_link = '<a class="view-results" href="' . Sensei()->course_results->get_permalink( $post->ID ) . '">' . __( 'View results', 'woothemes-sensei' ) . '</a>'; |
|
|
2771
|
+ if ($has_quizzes) { |
|
|
2772
|
+ $results_link = '<a class="view-results" href="'.Sensei()->course_results->get_permalink($post->ID).'">'.__('View results', 'woothemes-sensei').'</a>'; |
|
2773
|
2773
|
} |
|
2774
|
2774
|
/** |
|
2775
|
2775
|
* Filter documented in Sensei_Course::the_course_action_buttons |
|
2776
|
2776
|
*/ |
|
2777
|
|
- $results_link = apply_filters( 'sensei_results_links', $results_link, $post->ID ); |
|
|
2777
|
+ $results_link = apply_filters('sensei_results_links', $results_link, $post->ID); |
|
2778
|
2778
|
echo $results_link; |
|
2779
|
2779
|
?></p> |
|
2780
|
2780
|
<?php } ?> |
|
2781
|
2781
|
<?php } else { ?> |
|
2782
|
|
- <div class="status in-progress"><?php echo __( 'In Progress', 'woothemes-sensei' ); ?></div> |
|
|
2782
|
+ <div class="status in-progress"><?php echo __('In Progress', 'woothemes-sensei'); ?></div> |
|
2783
|
2783
|
<?php } |
|
2784
|
2784
|
|
|
2785
|
2785
|
} else { |
|
2786
|
2786
|
|
|
2787
|
2787
|
// Get the product ID |
|
2788
|
|
- $wc_product = wc_get_product( get_post_meta( $post->ID, '_course_woocommerce_product', true ) ); |
|
|
2788
|
+ $wc_product = wc_get_product(get_post_meta($post->ID, '_course_woocommerce_product', true)); |
|
2789
|
2789
|
|
|
2790
|
2790
|
// Check for woocommerce |
|
2791
|
|
- if ( Sensei_WC::is_woocommerce_active() && ( isset( $wc_product->price ) ) ) { |
|
|
2791
|
+ if (Sensei_WC::is_woocommerce_active() && (isset($wc_product->price))) { |
|
2792
|
2792
|
|
|
2793
|
|
- Sensei_WC::the_add_to_cart_button_html( $post->ID ); |
|
|
2793
|
+ Sensei_WC::the_add_to_cart_button_html($post->ID); |
|
2794
|
2794
|
|
|
2795
|
2795
|
} else { |
|
2796
|
2796
|
|
|
2797
|
|
- if( get_option( 'users_can_register') ) { |
|
|
2797
|
+ if (get_option('users_can_register')) { |
|
2798
|
2798
|
|
|
2799
|
2799
|
// set the permissions message |
|
2800
|
|
- $anchor_before = '<a href="' . esc_url( sensei_user_login_url() ) . '" >'; |
|
|
2800
|
+ $anchor_before = '<a href="'.esc_url(sensei_user_login_url()).'" >'; |
|
2801
|
2801
|
$anchor_after = '</a>'; |
|
2802
|
2802
|
$notice = sprintf( |
|
2803
|
2803
|
__('or log in to view this courses. Click here to %slogin%s.'), |
|
@@ -2820,24 +2820,24 @@ discard block |
|
|
block discarded – undo |
|
2820
|
2820
|
$wp_register_link = apply_filters('sensei_use_wp_register_link', false); |
|
2821
|
2821
|
|
|
2822
|
2822
|
$settings = Sensei()->settings->get_settings(); |
|
2823
|
|
- if( isset( $settings[ 'my_course_page' ] ) |
|
2824
|
|
- && 0 < intval( $settings[ 'my_course_page' ] ) ){ |
|
|
2823
|
+ if (isset($settings['my_course_page']) |
|
|
2824
|
+ && 0 < intval($settings['my_course_page'])) { |
|
2825
|
2825
|
|
|
2826
|
|
- $my_courses_page_id = $settings[ 'my_course_page' ]; |
|
|
2826
|
+ $my_courses_page_id = $settings['my_course_page']; |
|
2827
|
2827
|
|
|
2828
|
2828
|
} |
|
2829
|
2829
|
|
|
2830
|
2830
|
// If a My Courses page was set in Settings, and 'sensei_use_wp_register_link' |
|
2831
|
2831
|
// is false, link to My Courses. If not, link to default WordPress registration page. |
|
2832
|
|
- if( !empty( $my_courses_page_id ) && $my_courses_page_id && !$wp_register_link){ |
|
|
2832
|
+ if ( ! empty($my_courses_page_id) && $my_courses_page_id && ! $wp_register_link) { |
|
2833
|
2833
|
|
|
2834
|
|
- $my_courses_url = get_permalink( $my_courses_page_id ); |
|
2835
|
|
- $register_link = '<a href="'.$my_courses_url. '">' . __('Register', 'woothemes-sensei') .'</a>'; |
|
2836
|
|
- echo '<div class="status register">' . $register_link . '</div>' ; |
|
|
2834
|
+ $my_courses_url = get_permalink($my_courses_page_id); |
|
|
2835
|
+ $register_link = '<a href="'.$my_courses_url.'">'.__('Register', 'woothemes-sensei').'</a>'; |
|
|
2836
|
+ echo '<div class="status register">'.$register_link.'</div>'; |
|
2837
|
2837
|
|
|
2838
|
|
- } else{ |
|
|
2838
|
+ } else { |
|
2839
|
2839
|
|
|
2840
|
|
- wp_register( '<div class="status register">', '</div>' ); |
|
|
2840
|
+ wp_register('<div class="status register">', '</div>'); |
|
2841
|
2841
|
|
|
2842
|
2842
|
} |
|
2843
|
2843
|
|
|
@@ -2856,23 +2856,23 @@ discard block |
|
|
block discarded – undo |
|
2856
|
2856
|
* |
|
2857
|
2857
|
* @since 1.9.0 |
|
2858
|
2858
|
*/ |
|
2859
|
|
- public static function the_course_video(){ |
|
|
2859
|
+ public static function the_course_video() { |
|
2860
|
2860
|
|
|
2861
|
2861
|
global $post; |
|
2862
|
2862
|
|
|
2863
|
|
- if ( ! is_singular( 'course' ) ) { |
|
|
2863
|
+ if ( ! is_singular('course')) { |
|
2864
|
2864
|
return; |
|
2865
|
2865
|
} |
|
2866
|
2866
|
// Get the meta info |
|
2867
|
|
- $course_video_embed = get_post_meta( $post->ID, '_course_video_embed', true ); |
|
|
2867
|
+ $course_video_embed = get_post_meta($post->ID, '_course_video_embed', true); |
|
2868
|
2868
|
|
|
2869
|
|
- if ( 'http' == substr( $course_video_embed, 0, 4) ) { |
|
|
2869
|
+ if ('http' == substr($course_video_embed, 0, 4)) { |
|
2870
|
2870
|
|
|
2871
|
|
- $course_video_embed = wp_oembed_get( esc_url( $course_video_embed ) ); |
|
|
2871
|
+ $course_video_embed = wp_oembed_get(esc_url($course_video_embed)); |
|
2872
|
2872
|
|
|
2873
|
2873
|
} // End If Statement |
|
2874
|
2874
|
|
|
2875
|
|
- if ( '' != $course_video_embed ) { ?> |
|
|
2875
|
+ if ('' != $course_video_embed) { ?> |
|
2876
|
2876
|
|
|
2877
|
2877
|
<div class="course-video"> |
|
2878
|
2878
|
<?php echo html_entity_decode($course_video_embed); ?> |
|
@@ -2887,9 +2887,9 @@ discard block |
|
|
block discarded – undo |
|
2887
|
2887
|
* @global $post |
|
2888
|
2888
|
* @since 1.9.0 |
|
2889
|
2889
|
*/ |
|
2890
|
|
- public static function the_title(){ |
|
|
2890
|
+ public static function the_title() { |
|
2891
|
2891
|
|
|
2892
|
|
- if( ! is_singular( 'course' ) ){ |
|
|
2892
|
+ if ( ! is_singular('course')) { |
|
2893
|
2893
|
return; |
|
2894
|
2894
|
} |
|
2895
|
2895
|
global $post; |
|
@@ -2903,7 +2903,7 @@ discard block |
|
|
block discarded – undo |
|
2903
|
2903
|
/** |
|
2904
|
2904
|
* Filter documented in class-sensei-messages.php the_title |
|
2905
|
2905
|
*/ |
|
2906
|
|
- echo apply_filters( 'sensei_single_title', get_the_title( $post ), $post->post_type ); |
|
|
2906
|
+ echo apply_filters('sensei_single_title', get_the_title($post), $post->post_type); |
|
2907
|
2907
|
?> |
|
2908
|
2908
|
|
|
2909
|
2909
|
</h1> |
|
@@ -2919,30 +2919,30 @@ discard block |
|
|
block discarded – undo |
|
2919
|
2919
|
* |
|
2920
|
2920
|
* @since 1.9.0 |
|
2921
|
2921
|
*/ |
|
2922
|
|
- public static function course_category_title(){ |
|
|
2922
|
+ public static function course_category_title() { |
|
2923
|
2923
|
|
|
2924
|
|
- if( ! is_tax( 'course-category' ) ){ |
|
|
2924
|
+ if ( ! is_tax('course-category')) { |
|
2925
|
2925
|
return; |
|
2926
|
2926
|
} |
|
2927
|
2927
|
|
|
2928
|
2928
|
$category_slug = get_query_var('course-category'); |
|
2929
|
|
- $term = get_term_by('slug',$category_slug,'course-category'); |
|
|
2929
|
+ $term = get_term_by('slug', $category_slug, 'course-category'); |
|
2930
|
2930
|
|
|
2931
|
|
- if( ! empty($term) ){ |
|
|
2931
|
+ if ( ! empty($term)) { |
|
2932
|
2932
|
|
|
2933
|
2933
|
$title = $term->name; |
|
2934
|
2934
|
|
|
2935
|
|
- }else{ |
|
|
2935
|
+ } else { |
|
2936
|
2936
|
|
|
2937
|
2937
|
$title = 'Course Category'; |
|
2938
|
2938
|
|
|
2939
|
2939
|
} |
|
2940
|
2940
|
|
|
2941
|
2941
|
$html = '<h2 class="sensei-category-title">'; |
|
2942
|
|
- $html .= __('Category') . ' ' . $title; |
|
|
2942
|
+ $html .= __('Category').' '.$title; |
|
2943
|
2943
|
$html .= '</h2>'; |
|
2944
|
2944
|
|
|
2945
|
|
- echo apply_filters( 'course_category_title', $html , $term->term_id ); |
|
|
2945
|
+ echo apply_filters('course_category_title', $html, $term->term_id); |
|
2946
|
2946
|
|
|
2947
|
2947
|
}// course_category_title |
|
2948
|
2948
|
|
|
@@ -2955,16 +2955,16 @@ discard block |
|
|
block discarded – undo |
|
2955
|
2955
|
* @param WP_Query $query |
|
2956
|
2956
|
* @return WP_Query |
|
2957
|
2957
|
*/ |
|
2958
|
|
- public static function alter_course_category_order( $query ){ |
|
|
2958
|
+ public static function alter_course_category_order($query) { |
|
2959
|
2959
|
|
|
2960
|
|
- if( ! is_tax( 'course-category' ) || ! $query->is_main_query() ){ |
|
|
2960
|
+ if ( ! is_tax('course-category') || ! $query->is_main_query()) { |
|
2961
|
2961
|
return $query; |
|
2962
|
2962
|
} |
|
2963
|
2963
|
|
|
2964
|
|
- $order = get_option( 'sensei_course_order', '' ); |
|
2965
|
|
- if( !empty( $order ) ){ |
|
2966
|
|
- $query->set('orderby', 'menu_order' ); |
|
2967
|
|
- $query->set('order', 'ASC' ); |
|
|
2964
|
+ $order = get_option('sensei_course_order', ''); |
|
|
2965
|
+ if ( ! empty($order)) { |
|
|
2966
|
+ $query->set('orderby', 'menu_order'); |
|
|
2967
|
+ $query->set('order', 'ASC'); |
|
2968
|
2968
|
} |
|
2969
|
2969
|
|
|
2970
|
2970
|
return $query; |
|
@@ -2985,7 +2985,7 @@ discard block |
|
|
block discarded – undo |
|
2985
|
2985
|
* |
|
2986
|
2986
|
* @return array |
|
2987
|
2987
|
*/ |
|
2988
|
|
- public static function get_default_query_args(){ |
|
|
2988
|
+ public static function get_default_query_args() { |
|
2989
|
2989
|
return array( |
|
2990
|
2990
|
'post_type' => 'course', |
|
2991
|
2991
|
'posts_per_page' => 1000, |
|
@@ -3003,14 +3003,14 @@ discard block |
|
|
block discarded – undo |
|
3003
|
3003
|
* @param $course_id |
|
3004
|
3004
|
* @return bool |
|
3005
|
3005
|
*/ |
|
3006
|
|
- public static function is_prerequisite_complete( $course_id ){ |
|
|
3006
|
+ public static function is_prerequisite_complete($course_id) { |
|
3007
|
3007
|
|
|
3008
|
|
- $course_prerequisite_id = get_post_meta( $course_id, '_course_prerequisite', true ); |
|
|
3008
|
+ $course_prerequisite_id = get_post_meta($course_id, '_course_prerequisite', true); |
|
3009
|
3009
|
|
|
3010
|
3010
|
// if it has a pre requisite course check it |
|
3011
|
|
- if( ! empty( $course_prerequisite_id ) ){ |
|
|
3011
|
+ if ( ! empty($course_prerequisite_id)) { |
|
3012
|
3012
|
|
|
3013
|
|
- return Sensei_Utils::user_completed_course( $course_prerequisite_id, get_current_user_id() ); |
|
|
3013
|
+ return Sensei_Utils::user_completed_course($course_prerequisite_id, get_current_user_id()); |
|
3014
|
3014
|
|
|
3015
|
3015
|
} |
|
3016
|
3016
|
|
|
@@ -3026,4 +3026,4 @@ discard block |
|
|
block discarded – undo |
|
3026
|
3026
|
* @ignore only for backward compatibility |
|
3027
|
3027
|
* @since 1.9.0 |
|
3028
|
3028
|
*/ |
|
3029
|
|
-class WooThemes_Sensei_Course extends Sensei_Course{} |
|
|
3029
|
+class WooThemes_Sensei_Course extends Sensei_Course {} |