lightspeeddevelopment /
lsx-customizer
| 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
Loading history...
|
|||||||
| 10 | exit; |
||||||
| 11 | } |
||||||
| 12 | |||||||
| 13 | if ( ! class_exists( 'LSX_Sensei' ) ) : |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 121 | self::$instance = new self(); |
||||||
| 122 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 123 | return self::$instance; |
||||||
| 124 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 164 | |||||||
| 165 | /** |
||||||
| 166 | * Remove "Archives:" from the courses archive title. |
||||||
| 167 | * |
||||||
| 168 | * @param [type] $title |
||||||
|
0 ignored issues
–
show
|
|||||||
| 169 | * @return @title |
||||||
|
0 ignored issues
–
show
|
|||||||
| 170 | */ |
||||||
| 171 | public function lsx_sensei_modify_archive_title( $title ) { |
||||||
| 172 | if ( is_archive() && is_post_type_archive( 'course' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 173 | $title = __( 'Courses', 'lsx' ); |
||||||
| 174 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 175 | if ( is_archive() && is_post_type_archive( 'sensei_message' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 176 | $title = __( 'Messages', 'lsx' ); |
||||||
| 177 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 178 | if ( is_archive() && is_post_type_archive( 'lesson' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 179 | $title = __( 'Lessons', 'lsx' ); |
||||||
| 180 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 181 | if ( is_archive() && is_tax() ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 182 | $title = single_term_title( '', false ); |
||||||
| 183 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 184 | return $title; |
||||||
| 185 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 186 | |||||||
| 187 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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
Loading history...
|
|||||||
| 195 | $disabled = true; |
||||||
| 196 | } |
||||||
| 197 | |||||||
| 198 | return $disabled; |
||||||
| 199 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 200 | |||||||
| 201 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 208 | |||||||
| 209 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 219 | |||||||
| 220 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 230 | |||||||
| 231 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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. 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
|
|||||||
| 242 | $course_purchasable = Sensei_WC::is_course_purchasable( $post->ID ); |
||||||
|
0 ignored issues
–
show
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. 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
|
|||||||
| 249 | Sensei_WC::the_add_to_cart_button_html( $post->ID ); |
||||||
| 250 | } |
||||||
| 251 | ?> |
||||||
| 252 | </section> |
||||||
| 253 | <?php |
||||||
| 254 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 255 | |||||||
| 256 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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. 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
|
|||||||
| 270 | return; |
||||||
| 271 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 272 | if ( ( $is_course_on_cart ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 273 | $text = esc_html__( 'Course added to cart', 'lsx' ); |
||||||
| 274 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 275 | return $text; |
||||||
| 276 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 277 | |||||||
| 278 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 290 | $is_results = $wp_query->query_vars['course_results']; |
||||||
| 291 | } else { |
||||||
| 292 | $is_results = false; |
||||||
| 293 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 294 | if ( isset( $wp_query->query_vars['learner_profile'] ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 316 | $query_var = $wp_query->query_vars['learner_profile']; |
||||||
| 317 | $learner_user = Sensei_Learner::find_by_query_var( $query_var ); |
||||||
|
0 ignored issues
–
show
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. 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
|
|||||||
| 330 | |||||||
| 331 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 332 | * Add the Parent Course link to the course breadcrumbs |
||||||
| 333 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 338 | global $course; |
||||||
| 339 | $lesson = get_the_title(); |
||||||
| 340 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 341 | $course_page_url = get_permalink( $course_page_url ); |
||||||
| 342 | |||||||
| 343 | if ( $lesson ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 344 | |||||||
| 345 | $new_crumbs = array(); |
||||||
| 346 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 347 | |||||||
| 348 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 365 | $crumbs = $new_crumbs; |
||||||
| 366 | } |
||||||
| 367 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 368 | return $crumbs; |
||||||
| 369 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 370 | |||||||
| 371 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 372 | * Add the Parent Course link to the lessons breadcrumbs |
||||||
| 373 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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
Loading history...
|
|||||||
| 378 | global $course; |
||||||
| 379 | $lesson = get_the_title(); |
||||||
| 380 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 381 | $course_page_url = get_permalink( $course_page_url ); |
||||||
| 382 | |||||||
| 383 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 384 | $id = get_the_ID(); |
||||||
| 385 | } |
||||||
| 386 | |||||||
| 387 | if ( 0 < intval( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 388 | $course = intval( get_post_meta( $id, '_lesson_course', true ) ); |
||||||
| 389 | $course_id = esc_url( get_permalink( $course ) ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 390 | $course_title = esc_html( get_the_title( $course ) ); |
||||||
| 391 | if ( ! $course ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 392 | return; |
||||||
| 393 | } |
||||||
| 394 | } |
||||||
| 395 | |||||||
| 396 | if ( $course_id ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 397 | |||||||
| 398 | $new_crumbs = array(); |
||||||
| 399 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 400 | |||||||
| 401 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 426 | $crumbs = $new_crumbs; |
||||||
| 427 | } |
||||||
| 428 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 429 | return $crumbs; |
||||||
| 430 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 431 | |||||||
| 432 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 433 | * Add the Parent Course link to the module breadcrumbs |
||||||
| 434 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
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
Loading history...
|
|||||||
| 443 | |||||||
| 444 | $lesson = get_the_archive_title(); |
||||||
| 445 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 446 | $course_page_url = get_permalink( $course_page_url ); |
||||||
| 447 | |||||||
| 448 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 472 | $crumbs = $new_crumbs; |
||||||
| 473 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 474 | return $crumbs; |
||||||
| 475 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 476 | |||||||
| 477 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 478 | * Add the Parent Course link to the Learner breadcrumbs |
||||||
| 479 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 492 | |||||||
| 493 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 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
|
|||||||
| 519 | $crumbs = $new_crumbs; |
||||||
| 520 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 521 | return $crumbs; |
||||||
| 522 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 523 | |||||||
| 524 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 525 | * Add the Parent Course link to the messages breadcrumbs |
||||||
| 526 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 531 | |||||||
| 532 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 533 | $course_page_url = get_permalink( $course_page_url ); |
||||||
| 534 | |||||||
| 535 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 536 | $id = get_the_ID(); |
||||||
| 537 | } |
||||||
| 538 | |||||||
| 539 | if ( $id ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 540 | |||||||
| 541 | $new_crumbs = array(); |
||||||
| 542 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 543 | |||||||
| 544 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 561 | $crumbs = $new_crumbs; |
||||||
| 562 | } |
||||||
| 563 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 564 | return $crumbs; |
||||||
| 565 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 566 | |||||||
| 567 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 568 | * Add the Parent Course link to the single messages breadcrumbs |
||||||
| 569 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 574 | |||||||
| 575 | $messages_page_url = '/messages/'; |
||||||
| 576 | |||||||
| 577 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 578 | $id = get_the_ID(); |
||||||
| 579 | } |
||||||
| 580 | |||||||
| 581 | if ( $id ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 582 | |||||||
| 583 | $new_crumbs = array(); |
||||||
| 584 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 585 | |||||||
| 586 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 603 | $crumbs = $new_crumbs; |
||||||
| 604 | } |
||||||
| 605 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 606 | return $crumbs; |
||||||
| 607 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 608 | |||||||
| 609 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 610 | * Add the Parent Course link to the quiz breadcrumbs |
||||||
| 611 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 616 | global $course; |
||||||
| 617 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
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
|
|||||||
| 622 | $id = get_the_ID(); |
||||||
| 623 | } |
||||||
| 624 | |||||||
| 625 | if ( 0 < intval( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 626 | |||||||
| 627 | $course = intval( get_post_meta( $id, '_quiz_lesson', true ) ); |
||||||
| 628 | $course_id = esc_url( get_permalink( $course ) ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 629 | $course_title = esc_html( get_the_title( $course ) ); |
||||||
| 630 | if ( ! $course ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 631 | return; |
||||||
| 632 | } |
||||||
| 633 | } |
||||||
| 634 | |||||||
| 635 | if ( $course_id ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 636 | |||||||
| 637 | $new_crumbs = array(); |
||||||
| 638 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 639 | |||||||
| 640 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 669 | return $crumbs; |
||||||
| 670 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 671 | |||||||
| 672 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 673 | * Add the Parent Course link to the results breadcrumbs |
||||||
| 674 | * @param $crumbs |
||||||
|
0 ignored issues
–
show
|
|||||||
| 675 | * @return array |
||||||
| 676 | */ |
||||||
| 677 | public function lsx_sensei_results_breadcrumb_filter( $crumbs, $id = 0 ) { |
||||||
| 678 | if ( is_sticky() ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 679 | global $wp_query; |
||||||
| 680 | $course_id = ''; |
||||||
| 681 | if ( isset( $wp_query->query_vars['course_results'] ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 682 | $is_results = $wp_query->query_vars['course_results']; |
||||||
| 683 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 684 | $course_page_url = intval( Sensei()->settings->settings['course_page'] ); |
||||||
|
0 ignored issues
–
show
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
Loading history...
|
|||||||
| 685 | $course_page_url = get_permalink( $course_page_url ); |
||||||
| 686 | |||||||
| 687 | if ( empty( $id ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 688 | $id = get_the_ID(); |
||||||
| 689 | } |
||||||
| 690 | |||||||
| 691 | if ( isset( $is_results ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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
Loading history...
|
|||||||
| 695 | $course_title = esc_html( $course_for_results->post_title ); |
||||||
| 696 | |||||||
|
0 ignored issues
–
show
|
|||||||
| 697 | } |
||||||
| 698 | |||||||
| 699 | if ( $course_id ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 700 | $new_crumbs = array(); |
||||||
| 701 | $new_crumbs[0] = $crumbs[0]; |
||||||
| 702 | |||||||
| 703 | if ( $is_results ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 704 | if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
|
|||||||
| 726 | $crumbs = $new_crumbs; |
||||||
| 727 | } |
||||||
| 728 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 729 | return $crumbs; |
||||||
| 730 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 731 | |||||||
| 732 | /** |
||||||
| 733 | * Show the 'View Message' button on messages. |
||||||
| 734 | * |
||||||
| 735 | * @param [type] $message_post_id |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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
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...
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
Loading history...
|
|||||||
| 741 | } |
||||||
|
0 ignored issues
–
show
|
|||||||
| 742 | |||||||
| 743 | /** |
||||||
|
0 ignored issues
–
show
|
|||||||
| 744 | * Show the 'Back to My Courses' button on messages. |
||||||
| 745 | * |
||||||
| 746 | * @param [type] $message_post_id |
||||||
|
0 ignored issues
–
show
|
|||||||
| 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
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
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
|
|||||||
| 753 | } |
||||||
| 754 | |||||||
| 755 | endif; |
||||||
| 756 | |||||||
| 757 | LSX_Sensei::get_instance(); |
||||||
| 758 |