Passed
Push — lsx-wp6 ( 4c21d3 )
by
unknown
04:54
created

LSX_Sensei::lsx_sensei_modify_archive_title()   B

Complexity

Conditions 9
Paths 16

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 9
eloc 9
nc 16
nop 1
dl 0
loc 14
rs 8.0555
c 1
b 0
f 0
1
<?php
2
/**
3
 * LSX Sensei Class
4
 *
5
 * @package    lsx
6
 * @subpackage sensei
7
 */
8
9
if ( ! defined( 'ABSPATH' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
10
	exit;
11
}
12
13
if ( ! class_exists( 'LSX_Sensei' ) ) :
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
14
15
	/**
16
	 * The LSX Sensei integration class
17
	 */
18
	class LSX_Sensei {
19
20
		/**
21
		 * Holds class instance
22
		 *
23
		 * @since 1.0.0
24
		 * @var      object
25
		 */
26
		protected static $instance = null;
27
28
		/**
29
		 * Holds the LSX_Sensei_Course() variable.
30
		 *
31
		 * @var LSX_Sensei_Course()
32
		 */
33
		public $lsx_sensei_course = false;
34
35
		/**
36
		 * Holds the LSX_Sensei_Lesson() variable.
37
		 *
38
		 * @var LSX_Sensei_Lesson()
39
		 */
40
		public $lsx_sensei_lesson = false;
41
42
		/**
43
		 * Setup class.
44
		 *
45
		 * @since 1.0
46
		 */
47
		public function __construct() {
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines before function; 1 found
Loading history...
48
			$this->lsx_sensei_course = require_once get_template_directory() . '/includes/sensei/class-lsx-sensei-course.php';
49
			$this->lsx_sensei_lesson = require_once get_template_directory() . '/includes/sensei/class-lsx-sensei-lesson.php';
50
51
			global $woothemes_sensei;
52
53
			add_action( 'wp_enqueue_scripts', array( $this, 'lsx_sensei_scripts_add_styles' ) );
54
55
			remove_action( 'sensei_before_main_content', array( $woothemes_sensei->frontend, 'sensei_output_content_wrapper' ), 10 );
56
			add_action( 'sensei_before_main_content', array( $this, 'lsx_sensei_theme_wrapper_start' ) );
57
58
			remove_action( 'sensei_after_main_content', array( $woothemes_sensei->frontend, 'sensei_output_content_wrapper_end' ), 10 );
59
			add_action( 'sensei_after_main_content', array( $this, 'lsx_sensei_theme_wrapper_end' ) );
60
61
			add_filter( 'get_the_archive_title', array( $this, 'lsx_sensei_modify_archive_title' ), 99, 1 );
62
63
			add_filter( 'lsx_banner_allowed_post_types', array( $this, 'lsx_banner_allowed_post_types_sensei' ) );
64
65
			// LSX.
66
			add_filter( 'lsx_global_header_disable', array( $this, 'lsx_sensei_disable_lsx_banner' ) );
67
			// LSX Banners - Plugin, Placeholders.
68
			add_filter( 'lsx_banner_plugin_disable', array( $this, 'lsx_sensei_disable_lsx_banner' ) );
69
			// LSX Banners - Banner.
70
			add_filter( 'lsx_banner_disable', array( $this, 'lsx_sensei_disable_lsx_banner' ) );
71
72
			add_filter( 'course_archive_title', array( $this, 'lsx_sensei_archive_title' ), 10, 1 );
73
			add_filter( 'sensei_lesson_archive_title', array( $this, 'lsx_sensei_archive_title' ), 10, 1 );
74
75
			add_filter( 'course_category_title', array( $this, 'lsx_sensei_category_title' ), 10, 1 );
76
77
			add_action( 'sensei_course_content_inside_after', array( $this, 'lsx_sensei_add_buttons' ), 9 );
78
79
			add_filter( 'sensei_wc_paid_courses_add_to_cart_button_text', array( $this, 'lsx_sensei_add_to_cart_text' ) );
80
81
			add_action( 'lsx_content_wrap_before', array( $this, 'lsx_sensei_results_header' ) );
82
83
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_course_breadcrumb_filter' ), 40, 1 );
84
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_course_breadcrumb_filter' ), 40, 1 );
85
86
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_lesson_breadcrumb_filter' ), 40, 1 );
87
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_lesson_breadcrumb_filter' ), 40, 1 );
88
89
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_module_breadcrumb_filter' ), 40, 1 );
90
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_module_breadcrumb_filter' ), 40, 1 );
91
92
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_learner_breadcrumb_filter' ), 40, 1 );
93
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_learner_breadcrumb_filter' ), 40, 1 );
94
95
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_quiz_breadcrumb_filter' ), 40, 1 );
96
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_quiz_breadcrumb_filter' ), 40, 1 );
97
98
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_messages_breadcrumb_filter' ), 40, 1 );
99
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_messages_breadcrumb_filter' ), 40, 1 );
100
101
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_single_message_breadcrumb_filter' ), 40, 1 );
102
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_single_message_breadcrumb_filter' ), 40, 1 );
103
104
			add_filter( 'wpseo_breadcrumb_links', array( $this, 'lsx_sensei_results_breadcrumb_filter' ), 40, 1 );
105
			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'lsx_sensei_results_breadcrumb_filter' ), 40, 1 );
106
107
			add_action( 'sensei_archive_before_message_loop', array( $this, 'lsx_sensei_back_message_button' ) );
108
			add_action( 'sensei_content_message_after', array( $this, 'lsx_sensei_view_message_button' ) );
109
110
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
111
112
		/**
113
		 * Return an instance of this class.
114
		 *
115
		 * @since 1.0.0
116
		 * @return    object    A single instance of this class.
117
		 */
118
		public static function get_instance() {
119
			// If the single instance hasn't been set, set it now.
120
			if ( null === self::$instance ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
121
				self::$instance = new self();
122
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
123
			return self::$instance;
124
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
125
126
		/**
127
		 * Sensei enqueue styles.
128
		 *
129
		 * @package    lsx
130
		 * @subpackage sensei
131
		 */
132
		public function lsx_sensei_scripts_add_styles() {
133
			wp_enqueue_style( 'sensei-lsx', LSX_CUSTOMIZER_URL . 'assets/css/sensei/sensei.css', array( 'lsx_main' ), LSX_VERSION );
134
			wp_style_add_data( 'sensei-lsx', 'rtl', 'replace' );
135
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
136
137
		/**
138
		 * Sensei wrapper start.
139
		 *
140
		 * @package    lsx
141
		 * @subpackage sensei
142
		 */
143
		public function lsx_sensei_theme_wrapper_start() {
144
			lsx_content_wrap_before();
145
			echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">';
146
			lsx_content_before();
147
			lsx_content_top();
148
			echo '<main id="main" class="site-main" role="main">';
149
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
150
151
		/**
152
		 * Sensei wrapper end.
153
		 *
154
		 * @package    lsx
155
		 * @subpackage sensei
156
		 */
157
		public function lsx_sensei_theme_wrapper_end() {
158
			lsx_content_bottom();
159
			echo '</main>';
160
			lsx_content_after();
161
			echo '</div>';
162
			lsx_content_wrap_after();
163
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
164
165
		/**
166
		 * Remove "Archives:"  from the courses archive title.
167
		 *
168
		 * @param [type] $title
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
169
		 * @return @title
0 ignored issues
show
Documentation Bug introduced by
The doc comment @title at position 0 could not be parsed: Unknown type name '@title' at position 0 in @title.
Loading history...
170
		 */
171
		public function lsx_sensei_modify_archive_title( $title ) {
172
			if ( is_archive() && is_post_type_archive( 'course' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
173
				$title = __( 'Courses', 'lsx' );
174
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
175
			if ( is_archive() && is_post_type_archive( 'sensei_message' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
176
				$title = __( 'Messages', 'lsx' );
177
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
178
			if ( is_archive() && is_post_type_archive( 'lesson' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
179
				$title = __( 'Lessons', 'lsx' );
180
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
181
			if ( is_archive() && is_tax() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
182
				$title = single_term_title( '', false );
183
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
184
			return $title;
185
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
186
187
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$disabled" missing
Loading history...
188
		 * Disable LSX Banners in some Sensei pages.
189
		 *
190
		 * @package    lsx
191
		 * @subpackage sensei
192
		 */
193
		public function lsx_sensei_disable_lsx_banner( $disabled ) {
194
			if ( is_sensei() && ( ! is_singular( 'lesson' ) ) ) {
0 ignored issues
show
Bug introduced by
The function is_sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

194
			if ( /** @scrutinizer ignore-call */ is_sensei() && ( ! is_singular( 'lesson' ) ) ) {
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
195
				$disabled = true;
196
			}
197
198
			return $disabled;
199
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
200
201
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$post_types" missing
Loading history...
202
		 * Enable project custom post type on LSX Banners.
203
		 */
204
		public function lsx_banner_allowed_post_types_sensei( $post_types ) {
205
			$post_types[] = 'lesson';
206
			return $post_types;
207
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
208
209
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$html" missing
Loading history...
210
		 * Filters the archive title.
211
		 *
212
		 * @package    lsx
213
		 * @subpackage sensei
214
		 */
215
		public function lsx_sensei_archive_title( $html ) {
216
			$html = preg_replace( '/<header class="archive-header"><h1>([^<]+)<\/h1><\/header>/i', '<h1>$1</h1>', $html );
217
			return $html;
218
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
219
220
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$html" missing
Loading history...
221
		 * Filters the archive title.
222
		 *
223
		 * @package    lsx
224
		 * @subpackage sensei
225
		 */
226
		public function lsx_sensei_category_title( $html ) {
227
			$html = str_replace( 'h2', 'h1', $html );
228
			return $html;
229
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
230
231
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$course_id" missing
Loading history...
232
		 * Add extra buttons to the single view on lists.
233
		 *
234
		 * @package    lsx
235
		 * @subpackage sensei
236
		 */
237
		public function lsx_sensei_add_buttons( $course_id ) {
238
			global $post, $current_user;
239
			$is_user_taking_course = Sensei_Course::is_user_enrolled( $post->ID, $current_user->ID );
0 ignored issues
show
Bug introduced by
The type Sensei_Course was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
240
			$course_purchasable    = '';
241
			if ( class_exists( 'Sensei_WC' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
242
				$course_purchasable = Sensei_WC::is_course_purchasable( $post->ID );
0 ignored issues
show
Bug introduced by
The type Sensei_WC was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
243
			}
244
245
			?>
246
				<section class="entry-actions">
247
					<?php
248
					if ( ( ! $is_user_taking_course ) && $course_purchasable ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
249
						Sensei_WC::the_add_to_cart_button_html( $post->ID );
250
					}
251
					?>
252
				</section>
253
			<?php
254
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
255
256
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$text" missing
Loading history...
257
		 * Change add to cart button text.
258
		 *
259
		 * @package    lsx
260
		 * @subpackage sensei
261
		 */
262
		public function lsx_sensei_add_to_cart_text( $text ) {
263
			global $post, $current_user;
264
			$is_user_taking_course = Sensei_Utils::has_started_course( $post->ID, $current_user->ID );
0 ignored issues
show
Bug introduced by
The type Sensei_Utils was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
265
			$is_course_on_cart     = Sensei_WC::is_course_in_cart( $post->ID, $current_user->ID );
266
267
			$text = esc_html__( 'Add to cart', 'lsx' );
268
269
			if ( ( $is_user_taking_course ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
270
				return;
271
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
272
			if ( ( $is_course_on_cart ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
273
				$text = esc_html__( 'Course added to cart', 'lsx' );
274
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
275
			return $text;
276
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
277
278
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$user" missing
Loading history...
279
		 * Displays the Results header.
280
		 *
281
		 * @package    lsx
282
		 * @subpackage layout
283
		 */
284
		public function lsx_sensei_results_header( $user ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
285
286
			$default_size = 'sm';
287
			$size         = apply_filters( 'lsx_bootstrap_column_size', $default_size );
288
			global $wp_query;
289
			if ( isset( $wp_query->query_vars['course_results'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
290
				$is_results = $wp_query->query_vars['course_results'];
291
			} else {
292
				$is_results = false;
293
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
294
			if ( isset( $wp_query->query_vars['learner_profile'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
295
				$is_profile = $wp_query->query_vars['learner_profile'];
296
			} else {
297
				$is_profile = false;
298
			}
299
300
			if ( is_sticky() && $is_results ) :
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
301
				$course_for_results = get_page_by_path( $is_results, OBJECT, 'course' );
302
303
					$course_title = esc_html( $course_for_results->post_title );
304
				?>
305
				<div class="archive-header-wrapper banner-single col-<?php echo esc_attr( $size ); ?>-12">
306
					<?php lsx_global_header_inner_bottom(); ?>
307
					<header class="archive-header">
308
						<h1 class="archive-title"><?php echo wp_kses_post( $course_title ); ?></h1>
309
					</header>
310
311
				</div>
312
				<?php
313
			endif;
314
315
			if ( $is_profile ) :
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
316
				$query_var    = $wp_query->query_vars['learner_profile'];
317
				$learner_user = Sensei_Learner::find_by_query_var( $query_var );
0 ignored issues
show
Bug introduced by
The type Sensei_Learner was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
318
				$learner_name = $learner_user->display_name;
319
				?>
320
				<div class="archive-header-wrapper banner-single col-<?php echo esc_attr( $size ); ?>-12">
321
					<?php lsx_global_header_inner_bottom(); ?>
322
					<header class="archive-header">
323
						<h1 class="archive-title"><?php echo esc_html( $learner_name ); ?></h1>
324
					</header>
325
326
				</div>
327
				<?php
328
			endif;
329
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
330
331
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
332
		 * Add the Parent Course link to the course breadcrumbs
333
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
334
		 * @return array
335
		 */
336
		public function lsx_sensei_course_breadcrumb_filter( $crumbs, $id = 0 ) {
337
			if ( is_single() && ( is_singular( 'course' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
338
				global $course;
339
				$lesson          = get_the_title();
340
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

340
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
341
				$course_page_url = get_permalink( $course_page_url );
342
343
				if ( $lesson ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
344
345
					$new_crumbs    = array();
346
					$new_crumbs[0] = $crumbs[0];
347
348
					if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
349
						$new_crumbs[1] = array(
350
							0 => __( 'All Courses', 'lsx' ),
351
							1 => $course_page_url,
352
						);
353
						$new_crumbs[2] = array(
354
							0 => $lesson,
355
						);
356
					} else {
357
						$new_crumbs[1] = array(
358
							'text' => __( 'All Courses', 'lsx' ),
359
							'url'  => $course_page_url,
360
						);
361
						$new_crumbs[2] = array(
362
							'text' => $lesson,
363
						);
364
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
365
					$crumbs = $new_crumbs;
366
				}
367
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
368
			return $crumbs;
369
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
370
371
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
372
		 * Add the Parent Course link to the lessons breadcrumbs
373
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
374
		 * @return array
375
		 */
376
		public function lsx_sensei_lesson_breadcrumb_filter( $crumbs, $id = 0 ) {
377
			if ( is_sensei() && is_single() && ( is_singular( 'lesson' ) ) ) {
0 ignored issues
show
Bug introduced by
The function is_sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

377
			if ( /** @scrutinizer ignore-call */ is_sensei() && is_single() && ( is_singular( 'lesson' ) ) ) {
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
378
				global $course;
379
				$lesson          = get_the_title();
380
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

380
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
381
				$course_page_url = get_permalink( $course_page_url );
382
383
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
384
					$id = get_the_ID();
385
				}
386
387
				if ( 0 < intval( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
388
					$course       = intval( get_post_meta( $id, '_lesson_course', true ) );
389
					$course_id    = esc_url( get_permalink( $course ) );
0 ignored issues
show
Bug introduced by
It seems like get_permalink($course) can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

389
					$course_id    = esc_url( /** @scrutinizer ignore-type */ get_permalink( $course ) );
Loading history...
390
					$course_title = esc_html( get_the_title( $course ) );
391
					if ( ! $course ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
392
						return;
393
					}
394
				}
395
396
				if ( $course_id ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
397
398
					$new_crumbs    = array();
399
					$new_crumbs[0] = $crumbs[0];
400
401
					if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
402
						$new_crumbs[1] = array(
403
							0 => __( 'Courses', 'lsx' ),
404
							1 => $course_page_url,
405
						);
406
						$new_crumbs[2] = array(
407
							0 => $course_title,
408
							1 => $course_id,
409
						);
410
						$new_crumbs[3] = array(
411
							0 => $lesson,
412
						);
413
					} else {
414
						$new_crumbs[1] = array(
415
							'text' => __( 'Courses', 'lsx' ),
416
							'url'  => $course_page_url,
417
						);
418
						$new_crumbs[2] = array(
419
							'text' => $course_title,
420
							'url'  => $course_id,
421
						);
422
						$new_crumbs[3] = array(
423
							'text' => $lesson,
424
						);
425
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
426
					$crumbs = $new_crumbs;
427
				}
428
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
429
			return $crumbs;
430
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
431
432
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
433
		 * Add the Parent Course link to the module breadcrumbs
434
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
435
		 * @return array
436
		 */
437
		public function lsx_sensei_module_breadcrumb_filter( $crumbs, $id = 0 ) {
438
			if ( ! empty( get_queried_object()->name ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
439
				$title = apply_filters( 'sensei_module_archive_title', get_queried_object()->name );
440
			}
441
442
			if ( is_sensei() && is_tax() && is_archive() && ( ! empty( $title ) ) ) {
0 ignored issues
show
Bug introduced by
The function is_sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

442
			if ( /** @scrutinizer ignore-call */ is_sensei() && is_tax() && is_archive() && ( ! empty( $title ) ) ) {
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
443
444
				$lesson          = get_the_archive_title();
445
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

445
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
446
				$course_page_url = get_permalink( $course_page_url );
447
448
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
449
					$id = get_the_ID();
450
				}
451
452
				$new_crumbs    = array();
453
				$new_crumbs[0] = $crumbs[0];
454
455
				if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
456
					$new_crumbs[1] = array(
457
						0 => __( 'Courses', 'lsx' ),
458
						1 => $course_page_url,
459
					);
460
					$new_crumbs[2] = array(
461
						0 => $lesson,
462
					);
463
				} else {
464
					$new_crumbs[1] = array(
465
						'text' => __( 'Courses', 'lsx' ),
466
						'url'  => $course_page_url,
467
					);
468
					$new_crumbs[2] = array(
469
						'text' => $lesson,
470
					);
471
				}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
472
				$crumbs = $new_crumbs;
473
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
474
			return $crumbs;
475
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
476
477
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
478
		 * Add the Parent Course link to the Learner breadcrumbs
479
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
480
		 * @return array
481
		 */
482
		public function lsx_sensei_learner_breadcrumb_filter( $crumbs, $id = 0 ) {
483
			global $wp_query;
484
485
			if ( isset( $wp_query->query_vars['learner_profile'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
486
				$is_profile = $wp_query->query_vars['learner_profile'];
487
			} else {
488
				$is_profile = false;
489
			}
490
491
			if ( $is_profile ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
492
493
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
494
					$id = get_the_ID();
495
				}
496
497
				$query_var    = $wp_query->query_vars['learner_profile'];
498
				$learner_user = Sensei_Learner::find_by_query_var( $query_var );
499
				$learner_name = $learner_user->display_name;
500
501
				$new_crumbs    = array();
502
				$new_crumbs[0] = $crumbs[0];
503
504
				if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
505
					$new_crumbs[1] = array(
506
						0 => __( 'Learners', 'lsx' ),
507
					);
508
					$new_crumbs[2] = array(
509
						0 => $learner_name,
510
					);
511
				} else {
512
					$new_crumbs[1] = array(
513
						'text' => __( 'Learners', 'lsx' ),
514
					);
515
					$new_crumbs[2] = array(
516
						'text' => $learner_name,
517
					);
518
				}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
519
				$crumbs = $new_crumbs;
520
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
521
			return $crumbs;
522
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
523
524
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
525
		 * Add the Parent Course link to the messages breadcrumbs
526
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
527
		 * @return array
528
		 */
529
		public function lsx_sensei_messages_breadcrumb_filter( $crumbs, $id = 0 ) {
530
			if ( is_archive() && ( is_post_type_archive( 'sensei_message' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
531
532
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

532
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
533
				$course_page_url = get_permalink( $course_page_url );
534
535
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
536
					$id = get_the_ID();
537
				}
538
539
				if ( $id ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
540
541
					$new_crumbs    = array();
542
					$new_crumbs[0] = $crumbs[0];
543
544
					if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
545
						$new_crumbs[1] = array(
546
							0 => __( 'Courses', 'lsx' ),
547
							1 => $course_page_url,
548
						);
549
						$new_crumbs[2] = array(
550
							0 => __( 'Messages', 'lsx' ),
551
						);
552
					} else {
553
						$new_crumbs[1] = array(
554
							'text' => __( 'Courses', 'lsx' ),
555
							'url'  => $course_page_url,
556
						);
557
						$new_crumbs[2] = array(
558
							'text' => __( 'Messages', 'lsx' ),
559
						);
560
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
561
					$crumbs = $new_crumbs;
562
				}
563
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
564
			return $crumbs;
565
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
566
567
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
568
		 * Add the Parent Course link to the single messages breadcrumbs
569
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
570
		 * @return array
571
		 */
572
		public function lsx_sensei_single_message_breadcrumb_filter( $crumbs, $id = 0 ) {
573
			if ( is_single() && ( is_singular( 'sensei_message' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
574
575
				$messages_page_url = '/messages/';
576
577
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
578
					$id = get_the_ID();
579
				}
580
581
				if ( $id ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
582
583
					$new_crumbs    = array();
584
					$new_crumbs[0] = $crumbs[0];
585
586
					if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
587
						$new_crumbs[1] = array(
588
							0 => __( 'Messages', 'lsx' ),
589
							1 => $messages_page_url,
590
						);
591
						$new_crumbs[2] = array(
592
							0 => __( 'Message', 'lsx' ),
593
						);
594
					} else {
595
						$new_crumbs[1] = array(
596
							'text' => __( 'Messages', 'lsx' ),
597
							'url'  => $messages_page_url,
598
						);
599
						$new_crumbs[2] = array(
600
							'text' => __( 'Message', 'lsx' ),
601
						);
602
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
603
					$crumbs = $new_crumbs;
604
				}
605
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
606
			return $crumbs;
607
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
608
609
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
610
		 * Add the Parent Course link to the quiz breadcrumbs
611
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
612
		 * @return array
613
		 */
614
		public function lsx_sensei_quiz_breadcrumb_filter( $crumbs, $id = 0 ) {
615
			if ( ( is_single() && ( is_singular( 'quiz' ) ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
616
				global $course;
617
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

617
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
618
				$course_page_url = get_permalink( $course_page_url );
619
				$lesson          = get_the_title();
620
621
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
622
					$id = get_the_ID();
623
				}
624
625
				if ( 0 < intval( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
626
627
					$course       = intval( get_post_meta( $id, '_quiz_lesson', true ) );
628
					$course_id    = esc_url( get_permalink( $course ) );
0 ignored issues
show
Bug introduced by
It seems like get_permalink($course) can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

628
					$course_id    = esc_url( /** @scrutinizer ignore-type */ get_permalink( $course ) );
Loading history...
629
					$course_title = esc_html( get_the_title( $course ) );
630
					if ( ! $course ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
631
						return;
632
					}
633
				}
634
635
				if ( $course_id ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
636
637
					$new_crumbs    = array();
638
					$new_crumbs[0] = $crumbs[0];
639
640
					if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
641
						$new_crumbs[1] = array(
642
							0 => __( 'Courses', 'lsx' ),
643
							1 => $course_page_url,
644
						);
645
						$new_crumbs[2] = array(
646
							0 => $course_title,
647
							1 => $course_id,
648
						);
649
						$new_crumbs[3] = array(
650
							0 => $lesson,
651
						);
652
					} else {
653
						$new_crumbs[1] = array(
654
							'text' => __( 'Courses', 'lsx' ),
655
							'url'  => $course_page_url,
656
						);
657
						$new_crumbs[2] = array(
658
							'text' => $course_title,
659
							'url'  => $course_id,
660
						);
661
						$new_crumbs[3] = array(
662
							'text' => $lesson,
663
						);
664
					}
665
666
					$crumbs = $new_crumbs;
667
				}
668
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
669
			return $crumbs;
670
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
671
672
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$crumbs" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$id" missing
Loading history...
673
		 * Add the Parent Course link to the results breadcrumbs
674
		 * @param $crumbs
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
675
		 * @return array
676
		 */
677
		public function lsx_sensei_results_breadcrumb_filter( $crumbs, $id = 0 ) {
678
			if ( is_sticky() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
679
				global $wp_query;
680
				$course_id = '';
681
				if ( isset( $wp_query->query_vars['course_results'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
682
					$is_results = $wp_query->query_vars['course_results'];
683
				}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
684
				$course_page_url = intval( Sensei()->settings->settings['course_page'] );
0 ignored issues
show
Bug introduced by
The function Sensei was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

684
				$course_page_url = intval( /** @scrutinizer ignore-call */ Sensei()->settings->settings['course_page'] );
Loading history...
685
				$course_page_url = get_permalink( $course_page_url );
686
687
				if ( empty( $id ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
688
					$id = get_the_ID();
689
				}
690
691
				if ( isset( $is_results ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
692
					$course_for_results = get_page_by_path( $is_results, OBJECT, 'course' );
693
694
					$course_id    = esc_url( get_permalink( $course_for_results ) );
0 ignored issues
show
Bug introduced by
It seems like get_permalink($course_for_results) can also be of type false; however, parameter $url of esc_url() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

694
					$course_id    = esc_url( /** @scrutinizer ignore-type */ get_permalink( $course_for_results ) );
Loading history...
695
					$course_title = esc_html( $course_for_results->post_title );
696
0 ignored issues
show
Coding Style introduced by
Blank line found at end of control structure
Loading history...
697
				}
698
699
				if ( $course_id ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
700
					$new_crumbs    = array();
701
					$new_crumbs[0] = $crumbs[0];
702
703
					if ( $is_results ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
704
						if ( function_exists( 'woocommerce_breadcrumb' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
705
							$new_crumbs[1] = array(
706
								0 => __( 'Courses', 'lsx' ),
707
								1 => $course_page_url,
708
							);
709
							$new_crumbs[2] = array(
710
								0 => $course_title,
711
								1 => $course_id,
712
							);
713
							$new_crumbs[3] = array(
714
								0 => __( 'Results', 'lsx' ),
715
							);
716
						} else {
717
							$new_crumbs[1] = array(
718
								'text' => __( 'Courses', 'lsx' ),
719
								'url'  => $course_page_url,
720
							);
721
							$new_crumbs[2] = array(
722
								'text' => __( 'Results', 'lsx' ),
723
							);
724
						}
725
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
726
					$crumbs = $new_crumbs;
727
				}
728
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
729
			return $crumbs;
730
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
731
732
		/**
733
		 * Show the 'View Message' button on messages.
734
		 *
735
		 * @param [type] $message_post_id
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
736
		 * @return void
737
		 */
738
		public function lsx_sensei_view_message_button( $message_post_id ) {
739
			$message_link = get_the_permalink( $message_post_id );
740
			echo '<a href="' . esc_url_raw( $message_link ) . '" class="btn view-msg-btn">' . wp_kses_post( 'View Message', 'lsx' ) . '</a>';
0 ignored issues
show
Unused Code introduced by
The call to wp_kses_post() has too many arguments starting with 'lsx'. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

740
			echo '<a href="' . esc_url_raw( $message_link ) . '" class="btn view-msg-btn">' . /** @scrutinizer ignore-call */ wp_kses_post( 'View Message', 'lsx' ) . '</a>';

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
Bug introduced by
It seems like $message_link can also be of type false; however, parameter $url of esc_url_raw() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

740
			echo '<a href="' . esc_url_raw( /** @scrutinizer ignore-type */ $message_link ) . '" class="btn view-msg-btn">' . wp_kses_post( 'View Message', 'lsx' ) . '</a>';
Loading history...
741
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
742
743
		/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$courses_link" missing
Loading history...
744
		 * Show the 'Back to My Courses' button on messages.
745
		 *
746
		 * @param [type] $message_post_id
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Doc comment for parameter $message_post_id does not match actual variable name $courses_link
Loading history...
747
		 * @return void
748
		 */
749
		public function lsx_sensei_back_message_button( $courses_link ) {
750
			$courses_link = '/my-courses/';
751
			echo '<a href="' . esc_url_raw( $courses_link ) . '" class="btn border-btn my-courses-btn">' . wp_kses_post( 'My Courses', 'lsx' ) . '</a>';
0 ignored issues
show
Unused Code introduced by
The call to wp_kses_post() has too many arguments starting with 'lsx'. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

751
			echo '<a href="' . esc_url_raw( $courses_link ) . '" class="btn border-btn my-courses-btn">' . /** @scrutinizer ignore-call */ wp_kses_post( 'My Courses', 'lsx' ) . '</a>';

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
752
		}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 0 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
753
	}
754
755
endif;
756
757
LSX_Sensei::get_instance();
758