diff --git a/config/psalm/psalm-baseline.xml b/config/psalm/psalm-baseline.xml new file mode 100644 index 0000000000..de9b232f61 --- /dev/null +++ b/config/psalm/psalm-baseline.xml @@ -0,0 +1,9576 @@ + + + + + sensei_load_learning_mode_styles_for_astra_theme + + + Sensei() + + + + + sensei_admin_load_learning_mode_style_for_course_theme + sensei_disable_learning_mode_style_for_course_theme + sensei_load_learning_mode_style_for_course_theme + + + $screen->base + $screen->id + $screen->post_type + + + Sensei() + + + + + sensei_admin_load_learning_mode_style_for_divi_theme + sensei_fix_divi_learning_mode_video_template_excerpt + sensei_fix_divi_theme_builder_and_learning_mode_conflict + sensei_fix_divi_yoast_conflict + sensei_load_learning_mode_style_for_divi_theme + + + $course_id + $course_id + + + $screen->base + $screen->id + $screen->post_type + + + 'sensei_admin_load_learning_mode_style_for_course_theme' + 'sensei_load_learning_mode_style_for_course_theme' + Sensei() + + + + + sensei_woocommerce_show_admin_bar + + + + + ! self::$instance + self::$instance + + + require_once ABSPATH . 'wp-admin/includes/plugin.php' + + + add_admin_notice + add_admin_notices + handle_notice_dismiss + init + save_dismissed_notices + + + $plugin_version + $plugin_version + wp_json_encode( $action['tasks'] ) + + + DAY_IN_SECONDS + + + Sensei() + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + $allowed + $meta_key + $post_id + + + enqueue_admin_scripts + init + register_post_metas + + + $post_id + + + Sensei() + Sensei() + Sensei() + + + + + enqueue_admin_assets + save_exit_survey + + + $screen->id + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + $additional_query_args + + + string + string + + + function( $extension ) use ( $installed_plugins ) { + function( $theme ) { + + + require_once ABSPATH . 'wp-admin/includes/plugin.php' + + + add_admin_menu_item + enqueue_admin_assets + init + render + + + wp_json_encode( $additional_query_args ) + + + DAY_IN_SECONDS + + + + + ! self::$instance + self::$instance + + + add_admin_menu_item + enqueue_admin_assets + handle_tasks_dismiss + init + localize_script + render + + + $screen->id + + + (int) $notices_count + + + SENSEI_LMS_VERSION + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + 'WP_Post' + 'WP_Post' + 'WP_Post' + + + false === $mysql_date + + + $_POST['data']['comment_id'] + $_POST['data']['post_id'] + $full_name + $lesson_id + wp_unslash( $_GET['course_id'] ?? 0 ) + wp_unslash( $_GET['lesson_id'] ?? 0 ) + + + add_custom_navigation + add_learner_notices + display_students_navigation + edit_date_started + enqueue_scripts + enqueue_styles + get_redirect_url + handle_learner_actions + handle_user_async_action + json_search_users + learners_admin_menu + learners_default_nav + learners_headers + learners_page + load_data_table_files + load_screen_options_when_on_bulk_actions + remove_user_from_post + reset_user_post + wrapper_container + + + $course->post_author + $post->post_author + $post->post_author + + + $post->post_author + + + isset( $this->bulk_actions_controller ) && $this->bulk_actions_controller->is_current_page() + + + isset( $this->bulk_actions_controller ) + + + undefined + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + add_notices + check_nonce + do_user_action + enqueue_scripts + handle_http_post + is_current_page + learner_admin_page + learners_admin_menu + redirect_to_learner_admin_index + register_hooks + + + $edit_course_cap + + + get_post_type_object( 'course' )->cap + + + Sensei() + + + + + + $this->query_args + + + $this->query_args['filter_by_course_id'] + $this->query_args['filter_by_course_id'] + $this->query_args['per_page'] + $this->query_args['per_page'] + + + $this->query_args + + + $this->parse_query_args() + + + $item->last_activity_date + $learner->user_email + $learner->user_id + $learner->user_id + $learner->user_login + + + $course->ID + $full_name + $full_name + $this->total_items + $user_id + Sensei_Learner::get_full_name( $learner->user_id ) + + + courses_select + data_table_header + extra_tablenav + output_headers + prepare_items + search_button + + + $course->ID + $course->post_title + $course->post_title + + + $controller->get_name() + + + Sensei_Learners_Admin_Bulk_Actions_View + Sensei_Learners_Admin_Bulk_Actions_View + Sensei_Learners_Admin_Bulk_Actions_View + Sensei_Learners_Admin_Bulk_Actions_View + + + + + $item + $item + $user_activity + + + ! $item + $id + $item + + + 'course-category' + + + $form_course_id + $form_lesson_id + $post_id + $post_id + $post_id + $post_id + $post_id + $title + $title + + + extra_tablenav + + + $cats + + + $name + $post_id + $post_id + $post_type + $post_type + $post_type + + + is_enrolled + + + $cats + + + get_provider_results + + + get_post_type_object( 'course' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + + + get_post_type_object( 'course' )->cap + get_post_type_object( 'lesson' )->cap + + + Sensei_Learners_Main + Sensei_Learners_Main + Sensei_Learners_Main + Sensei_Learners_Main + WooThemes_Sensei_Learners_Main + WooThemes_Sensei_Learners_Main + WooThemes_Sensei_Learners_Main + WooThemes_Sensei_Learners_Main + + + 'course' === $form_post_type + + + Sensei_Course_Enrolment_Manager::instance()->get_enrolment_provider_name_by_id( $id ) + + + manual_filter_visible + + + Sensei() + + + + + + ! self::$instance + is_wp_error( $plugin_information ) + self::$instance + + + $plugin_information + + + $plugin_to_install->plugin_file + $plugin_to_install->product_slug + $plugin_to_install->title + + + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' + require_once ABSPATH . 'wp-admin/includes/file.php' + require_once ABSPATH . 'wp-admin/includes/plugin-install.php' + require_once ABSPATH . 'wp-admin/includes/plugin.php' + + + activate_plugin + associate_plugin_file + background_installer + close_http_connection + complete_installation + install_plugin + install_plugins + run_deferred_actions + save_error + set_installing_plugins + set_time_limit + + + $download + $download + $result + $working_dir + + + $plugin_information->download_link + + + $installed ? $installed_plugins[ $plugin_file ] : $plugin_slug . '/' . $plugin_file + $result + + + $installed_plugins[ $plugin_file ] + + + DAY_IN_SECONDS + WP_PLUGIN_DIR + + + + + $page_data + + + create_pages + + + $page->ID + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei_Utils::get_woocommerce_connect_data() + get_feature_with_status + get_sensei_extensions + + + ! $extensions + ! $screen + ! $screen + ! self::$instance + $extensions + self::$instance + + + new Sensei_Setup_Wizard_Pages() + + + $extension->price + + + activation_redirect + add_setup_wizard_help_tab + close_wccom_install + enqueue_scripts + enqueue_styles + finish_setup_wizard + install_extensions + prepare_wizard_page + redirect_to_setup_wizard + register_wizard_page + remove_notices_from_setup_wizard + render_wizard_page + setup_wizard_notice + skip_setup_wizard + + + $extension + + + $screen->id + + + $screen->id + + + Sensei_Setup + + + Sensei() + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + init + + + $installed_time + + + $final_template_path + + + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + add_menu_pages + get_tool_url + init + output + process + trigger_invalid_request + + + $tools + + + HOUR_IN_SECONDS + + + Sensei() + + + output + + + + + '\SenseiLMS_Licensing\SenseiLMS_Plugin_Updater' + + + $res + + + false|object + + + init + invalid_license_update_disclaimer + plugins_loaded + + + $remote->author + $remote->banners + $remote->download_url + $remote->download_url + $remote->icons + $remote->last_updated + $remote->name + $remote->requires + $remote->requires + $remote->requires_php + $remote->requires_php + $remote->sections + $remote->slug + $remote->slug + $remote->tested + $remote->tested + $remote->version + $remote->version + + + \SenseiLMS_Licensing\License_Manager + + + Sensei() + + + $remote->author + $remote->banners + $remote->download_url + $remote->download_url + $remote->icons + $remote->last_updated + $remote->name + $remote->requires + $remote->requires + $remote->requires_php + $remote->requires_php + $remote->sections + $remote->slug + $remote->slug + $remote->tested + $remote->tested + $remote->version + $remote->version + + + + + HOUR_IN_SECONDS + + + + + HOUR_IN_SECONDS + + + + + set_fail_retry + + + $response + + + DAY_IN_SECONDS + HOUR_IN_SECONDS + + + + + $admin_notices + $screen_id + + + $this->local_only( $max_age ) + isset( $this->admin_notices ) + + + DAY_IN_SECONDS + HOUR_IN_SECONDS + + + + + array|null + + + require_once ABSPATH . 'wp-admin/includes/plugin.php' + require_once ABSPATH . 'wp-admin/includes/update.php' + + + init + + + $plugin_data->update->plugin ?? null + + + $local_plugin_updates + + + isset( $this->local_plugin_updates ) + + + + + $this->get_email_notification_url() + + + '/admin.php?page=sensei-settings#email-notification-settings' + 'admin.php?page=sensei-settings&tab=email-notification-settings' + + + array + + + Sensei() + + + + + attach_tasks_statuses_hooks + mark_as_completed + update_tasks_statuses + + + $post->post_title + + + $post->post_title + + + + + require_once ABSPATH . 'wp-admin/includes/plugin.php' + + + + + $formatted_time + + + string + + + $item->user_id + + + $course_progress_id + $course_progress_id + $course_progress_id + $time + $time + + + $results + + + output + process + return_with_message + + + $course + $course + + + get_provider_results + get_time + get_version_hash + + + $course_progress->comment_approved + $course_progress->comment_date_gmt + + + $course_progress->comment_approved + + + Sensei() + Sensei() + Sensei() + + + debug + + + + + process + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + output + process + + + Sensei() + Sensei() + Sensei() + + + + + output + process + + + Sensei() + Sensei() + Sensei() + + + + + output + + + + + process + + + + + $terms + + + \WP_Term[] + + + process + + + Sensei() + Sensei() + + + + + output + process + + + $course + + + + + process + + + + + process + + + Sensei() + + + + + $course_value + $user_value + + + $courses + $users + + + + + $allowed_debug_html + + + $view_course_url + + + + + $course_value + + + + + Sensei() + + + + + Sensei() + Sensei() + + + + + empty( $tool ) + empty( $tool ) + + + + + run + + + + + run + + + + + cleanup + persist + restore_state + set_state + + + wp_json_encode( $this->get_args() ) + + + $state + + + DAY_IN_SECONDS + + + + + schedule_job + + + $current_job + + + cancel_all_jobs + cancel_scheduled_job + run + + + null + + + as_next_scheduled_action( $job->get_name(), [ $job->get_args() ], self::ACTION_SCHEDULER_GROUP ) + as_schedule_single_action( $time, $job->get_name(), [ $job->get_args() ], self::ACTION_SCHEDULER_GROUP ) + as_unschedule_all_actions( $job->get_name(), [ $job->get_args() ], self::ACTION_SCHEDULER_GROUP ) + as_unschedule_all_actions( null, null, self::ACTION_SCHEDULER_GROUP ) + + + + + cancel_all_jobs + cancel_scheduled_job + run + + + + + mixed + + + cancel_all_jobs + cancel_scheduled_job + run + + + + + $job + + + $class_name + + + string + + + new $class_name( $args, $id ) + new $class_name() + + + self::$instance + + + init + + + Sensei_Scheduler_Interface + + + new $class_name() + + + isset( self::$instance ) + + + + + ! self::$instance + self::$instance + + + $attributes + + + enqueue_scripts + get_patterns_category_name + get_post_content_block_type_name + init + maybe_register_pattern_block_polyfill + register_block_patterns + register_block_patterns_category + register_course_list_block_patterns + + + Sensei() + Sensei() + Sensei() + Sensei() + + + require __DIR__ . "/{$post_type}/{$block_pattern}.php" + + + + + register_course_list_block_patterns + + + + + Sensei() + + + + + + Sensei() + + + + + + Sensei() + + + + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + + + + + + wp_date( 'F jS, Y' ) + + + + + Sensei() + + + + + Sensei() + + + + + absint( $post->ID ) + + + add_notices + register_block + + + Sensei() + Sensei() + Sensei() + \Sensei() + + + + + ! isset( $value ) + + + + + Sensei() + + + + + $quiz_id + + + Sensei() + Sensei() + Sensei() + + + + + Sensei() + + + + + Sensei() + + + + + register_block + + + get_permalink( $course_id ) + + + $target + + + Sensei() + Sensei() + Sensei() + + + + + register_block + + + $course_id + $course_id + $course_id + + + + + null === $this->post_types + + + global $pagenow; + + + require_once ABSPATH . 'wp-admin/includes/post.php' + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + maybe_initialize_blocks + + + get_post_type() + + + $post_type + $post_type + + + $post_types + + + Sensei() + Sensei() + + + + + $block_content + + + register_generic_assets + register_sensei_block + + + $post + + + is_string( $post ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_permalink() + + + $lesson->ID + + + Sensei() + Sensei() + + + + + $course_id + + + $course_id + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $course_id + + + $course_id + $course_id + get_permalink( absint( $target_post_id ?? $course_id ) ) + + + $target_post_id + + + Sensei() + + + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + + + $post_type_object + + + $contact_teacher + $outline + $progress + $take_course + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + register_block + + + $terms + + + Sensei() + + + + + add_block_attributes + clear_block_content + get_block_structure + register_blocks + + + null + + + $block_content + + + Sensei() + Sensei() + Sensei() + + + + + $block + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_permalink( $lesson_id ) + + + Sensei() + Sensei() + + + + + $block + + + function( $block ) use ( $course_id ) { + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_permalink( absint( $course_id ) ) + + + Sensei() + + + + + register_block + + + $course_id + + + Sensei() + Sensei() + Sensei() + + + + + clear_block_content + register_block + render_lesson + + + get_permalink( $item['id'] ) + + + null + + + $block_content + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + register_block + + + Sensei() + + + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + null + null + + + $attributes['options']['progressBarBorderRadius'] ?? null + $attributes['options']['progressBarHeight'] ?? null + + + Sensei() + + + + + admin_enqueue_scripts + register_block + + + get_post_type_archive_link( 'sensei_message' ) + + + Sensei() + Sensei() + + + + + $lesson->ID + + + Sensei() + Sensei() + + + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + remove_block_related_content + + + $post_type_object + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_the_ID() + get_the_ID() + + + $course_id + + + Sensei() + Sensei() + + + + + $lesson->ID + $lesson->ID + + + sensei_get_prev_next_lessons( $lesson->ID ) + + + + + $block_parent['blockName'] + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + + + $post_type_object + $post_type_object + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_permalink() + + + $lesson->ID + + + Sensei() + Sensei() + Sensei() + + + + + Sensei() + + + + + $parent_block + + + Sensei() + Sensei() + Sensei() + + + + + 'course-category' + + + $default_option + + + $category + + + $course_categories + + + + + register_block + + + Sensei() + Sensei() + + + + + $lesson + $lesson + $lesson + + + register_block + + + get_permalink( $lesson_id ) + get_permalink( $lesson_id ) + get_permalink( $quiz_id ) + + + $user_lesson_status->comment_approved + + + \Sensei_Utils::get_current_course() + + + $course_id + $is_enrolled + $user_id + + + isset( $user_lesson_status->comment_approved ) + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + Sensei() + Sensei() + + + + + Sensei() + \Sensei() + + + + + enqueue_block_assets + enqueue_block_editor_assets + initialize_blocks + + + + + Sensei() + + + + + get_the_permalink( $course_id ) + + + $course_id + + + Sensei() + + + + + Sensei() + + + + + get_permalink( $lesson_id ) + + + $lesson_id + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + \Sensei() + \Sensei() + sensei_get_prev_next_lessons( $lesson_id ) + + + + + Sensei() + \Sensei() + + + + + Sensei() + + + + + $classes + + + Sensei() + + + + + Sensei() + + + + + Sensei() + + + + + $label + + + $aria_label + + + Sensei() + \Sensei() + sensei_get_prev_next_lessons( $lesson_id ) + + + + + Sensei() + + + + + Sensei() + Sensei() + + + + + render_questions_loop + + + Sensei() + sensei_get_the_question_id() + sensei_get_the_question_id() + sensei_get_the_question_number() + sensei_quiz_has_questions() + sensei_setup_the_question() + sensei_the_question_class() + sensei_the_question_content() + + + + + Sensei() + Sensei() + \Sensei() + + + + + Sensei() + + + + + Sensei() + + + + + $args + $new_lesson + + + false + + + $args + + + array + + + $new_post + + + object + + + $course->ID + $course->ID + $course_id + $course_id + '50' + intval( $course->ID ) + + + private $course_order_page_slug; + private $lesson_order_page_slug; + + + $course_id + $group_id + $hook + $new_status + $object + $old_status + $order_string + $order_string + $post + $post_id + $settings + + + $course_order_page_slug + $lesson_order_page_slug + + + add_course_order + add_lesson_order + admin_styles_global + ajax_log_event + get_course_order + handle_order_courses + handle_order_lessons + install_pages + notify_if_admin_email_not_real_admin_user + output_cpt_block_editor_workaround + register_scripts + remove_trashed_course_from_course_order + render_settings + save_course_order + save_lesson_order + sensei_add_custom_menu_items + sensei_set_plugin_url + update_lesson_order_on_course + update_lesson_order_on_lesson + wp_nav_menu_item_sensei_links_meta_box + + + $new_post + null + + + $data + $data + $post + get_post( $old_quiz_id ) + + + $course->ID + $course->ID + $course->ID + $course->post_status + $course->post_title + $post->ID + $post->post_type + $post->post_type + + + $course_structure + $event_name + $post_id + $post_id + $post_type->cap->edit_posts + $screen + + + $post->post_type + $post->post_type + $post_type->cap + $post_type->labels + $screen->id + + + $_GET['post'] + $_REQUEST['event_name'] + + + ! is_wp_error( $new_post_id ) + ! is_wp_error( $post ) + $new_post + $new_post + $num_posts + $num_posts + is_null( $update_prerequisite_object ) + isset( $hook_suffix ) + isset( $post_type ) + isset( $terms ) + + + esc_html( sprintf( __( 'Please supply a %1$s ID.', 'sensei-lms' ) ), $post_type ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + + $lesson_grades->meta_sum + $lesson_grades->total + $lesson_status->comment_ID + $lesson_status->comment_approved + $lesson_status->comment_date + + + $data + + + data + + + $user_name + $user_name + + + $args + $args + $report + $text + + + extra_tablenav + get_row_data + output_top_filters + + + $search + $search + + + $course->post_title + + + $course->post_title + + + $course->post_title + + + $user_email + + + $total_lessons + $user_ids + Sensei_Analysis_Course_List_Table + Sensei_Analysis_Course_List_Table + Sensei_Analysis_Course_List_Table + Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + WooThemes_Sensei_Analysis_Course_List_Table + + + (array) $learners_search->get_results() + (int) $course_id + (int) $user_id + + + data + + + + + + $data + + + data + + + $user_name + + + $args + $lesson_id + $report + $text + + + $course_id + $lesson_id + $page_slug + + + extra_tablenav + get_row_data + + + $search + $search + + + $lesson->post_title + + + $lesson->post_title + + + $lesson->post_title + + + Sensei_Analysis_Lesson_List_Table + Sensei_Analysis_Lesson_List_Table + Sensei_Analysis_Lesson_List_Table + Sensei_Analysis_Lesson_List_Table + WooThemes_Sensei_Analysis_Lesson_List_Table + WooThemes_Sensei_Analysis_Lesson_List_Table + WooThemes_Sensei_Analysis_Lesson_List_Table + WooThemes_Sensei_Analysis_Lesson_List_Table + + + (array) $learners_search->get_results() + + + data + + + + + + Sensei_Analysis_Overview_List_Table + + + wp_date( get_option( 'date_format' ), $date->getTimestamp(), $timezone ) + + + string + + + $last_activity->comment_date_gmt + $last_activity->comment_date_gmt + + + $data + + + data + + + $this->total_items + $this->total_items + $value + ceil( Sensei()->grading->get_courses_average_grade() ) + + + $args + $args + $report + $text + + + $page_slug + $type + + + add_last_activity_to_user_query + add_orderby_custom_field_to_non_user_query + add_orderby_custom_field_to_query + filter_users_by_last_activity + output_course_select_input + output_top_filters + + + wp_get_object_terms( $lessons, 'module', $default_args ) + + + Sensei_Analysis_Overview_List_Table + Sensei_Analysis_Overview_List_Table + Sensei_Analysis_Overview_List_Table + Sensei_Analysis_Overview_List_Table + WooThemes_Sensei_Analysis_Overview_List_Table + WooThemes_Sensei_Analysis_Overview_List_Table + WooThemes_Sensei_Analysis_Overview_List_Table + WooThemes_Sensei_Analysis_Overview_List_Table + + + 'lessons' + + + remove_filter( 'posts_orderby', array( $this, 'add_orderby_custom_field_to_non_user_query' ), 10, 2 ) + + + data + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + + $data + + + data + + + $args + $report + $text + $user_id + + + $page_slug + $user_id + + + extra_tablenav + get_row_data + + + $search + $search + + + $user->display_name + + + Sensei_Analysis_User_Profile_List_Table + Sensei_Analysis_User_Profile_List_Table + Sensei_Analysis_User_Profile_List_Table + Sensei_Analysis_User_Profile_List_Table + WooThemes_Sensei_Analysis_User_Profile_List_Table + WooThemes_Sensei_Analysis_User_Profile_List_Table + WooThemes_Sensei_Analysis_User_Profile_List_Table + WooThemes_Sensei_Analysis_User_Profile_List_Table + + + data + + + + + $user_id + + + $type + $user_name + $user_name + + + new $object_name( $data ) + new $object_name( $data, $optional_data ) + + + $sensei_analysis_object + + + $type + $which + + + add_custom_navigation + check_course_lesson + display_nav + display_report_page + display_reports_navigation + enqueue_scripts + + + Sensei_List_Table + + + get_post_type_object( 'course' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + + + get_post_type_object( 'course' )->cap + get_post_type_object( 'lesson' )->cap + + + undefined + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + call_wp + disable_frontend_styles + enqueue + enqueue_script + enqueue_style + override_script + preload_data + register + wp_compat + + + wp_json_encode( $preload_data ) + + + $script + $script + $script + + + $deps + $handle + + + Sensei() + Sensei() + + + + + autoload + initialize_class_file_map + + + + + null === self::$instance + + + + + load + register + + + WP_CLI + + + + + add_notice + + + + + $lesson_id + + + $lesson_id + + + modules_taxonomy + set_module + + + ! $module_id || empty( $module_id ) || ! $module_exists_in_course + $module_id || ! empty( $module_id ) + + + Sensei() + + + + + $course->post_title + + + $title + + + fire_sensei_message_hook + + + $course->post_name + $course->post_name + + + $course->post_name + $course->post_name + $course->post_title + + + $courses_url_base + WooThemes_Sensei_Course_Results + + + OBJECT + + + + + $args + $changed_args + $post_args + $post_args + + + is_wp_error( $update_result ) + + + $existing_module + + + $post_args + + + false|int + + + $existing_module + $lessons_query instanceof WP_Query ? $lessons_query->posts : [] + $structure + $validate + + + WP_Post[] + array|WP_Error + bool|WP_Error + false|array[] + + + $author + $course_name + $teacher_user_id + get_post( $this->course_id )->post_author + + + clear_lesson_associations + create_quiz + save_module_order + + + $lesson->ID + $term->term_id + + + $structure + + + $lesson + + + $existing_module->term_id + $lesson->ID + $lesson->ID + $lesson->post_status + $lesson->post_status + $lesson->post_title + $lesson->post_title + $lesson->post_type + $previous_term->term_id + $term->description + $term->name + $term->slug + $term->slug + $term->term_id + get_post( $this->course_id )->post_author + get_post( $this->course_id )->post_author + get_post( $this->course_id )->post_author + + + $item['id'] + $lesson->ID + $lesson->ID + + + $lesson->ID + $lesson->ID + $lesson->post_status + $lesson->post_title + $lesson->post_title + $term->description + $term->name + $term->slug + $term->term_id + get_post( $this->course_id )->post_author + get_post( $this->course_id )->post_author + get_post( $this->course_id )->post_author + + + (int) $existing_module->term_id + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $create_result + $lesson + $modules + + + $term->description + $term->name + $term->slug + $term->slug + $term->term_id + + + new static( $course_id ) + + + + + $post_args + $user_course_status + 'WP_Post' + 'WP_Post' + 'WP_Post' + 'WP_Post' + 'WP_User' + + + get_archive_query_args + + + is_a( $course_id, 'WP_Post' ) + + + $course_quizzes + $url + + + $lesson_args + $lesson_args + $lesson_args + uasort( $lessons, [ $this, '_short_course_lessons_callback' ] ) + + + public static function course_archive_filters( $query ) { + public static function course_archive_sorting( $query ) { + + + String + + + global $post; + global $post; + global $wp_query; + global $wp_query; + + + WP_Query + int + + + object + + + 0 + 0 + 1 + 1 + + + $lesson_1->course_order + $lesson_2->course_order + + + true + update_post_meta( $post_id, $meta_key, $new_meta_value ) + + + array + int + string + + + $course->post_author + $course->post_author + $i + $i + $i + $i + $id + $progress_percentage + [ $width, $height ] + [ $width, $height ] + absint( $course_item->ID ) + absint( $post_item->ID ) + round( $progress_percentage ) + + + $allowed + $allowed + $allowed + $allowed + $meta_key + $meta_key + $meta_key + $meta_key + $post_id + $post_id + $post_id + $post_id + + + public $token; + + + $class + $classes + $course + $course_id + $course_id + $course_id + $course_id + $course_id + $excludes + $excludes + $message + $query + $query + $should_send + $user_id + $user_id + + + $token + + + add_author_support + add_course_access_permission_message + add_custom_navigation + add_legacy_course_hooks + add_showcase_courses_upsell + allow_course_archive_on_front_page + archive_page_content + can_access_course_content + course_archive_filters + course_archive_sorting + course_category_title + course_notification_meta_box_content + disable_log_course_update + display_courses_navigation + load_single_course_lessons_query + log_course_update + log_initial_publish_event + mark_updating_course_id + maybe_redirect_to_login_from_course_completion + output_course_enrolment_actions + prerequisite_complete_message + register_admin_scripts + remove_legacy_course_actions + save_course_notification_meta_box + set_up_meta_fields + setup_single_course_page + showcase_courses_screen + the_course_action_buttons + the_course_enrolment_actions + the_course_free_lesson_preview + the_course_lessons_title + the_course_meta + the_course_video + the_title + update_status_after_lesson_change + update_status_after_quiz_submission + + + null + null + null + + + $course_id + $course_video_embed + $settings_json + $settings_sidebar + get_permalink( $course_id ) + get_permalink( $course_prerequisite_id ) + get_permalink( absint( $course_item->ID ) ) + get_permalink( absint( $course_item->ID ) ) + get_permalink() + get_post_type_archive_link( 'sensei_message' ) + get_the_ID() + get_the_ID() + get_the_ID() + + + $category_output + $category_output + $category_output + $course + $course_id + $output + $progress_percentage + wp_get_post_terms( $course->ID, 'module' ) + wp_get_post_terms( $course_id, 'module' ) + + + $lesson + + + $course->ID + $course->ID + $course->post_author + $course->post_content + $course_item->ID + $course_item->ID + $course_item->post_author + $course_item->post_author + $course_item->post_excerpt + $course_item->post_excerpt + $course_item->post_title + $course_item->post_title + $lesson->ID + $post->ID + $post->post_content + $post->post_name + $post->post_type + $post_item->ID + $post_item->post_title + $sensei_settings_course_page->post_content + $taxonomy_raw_obj->labels + $user_info->display_name + $user_info->display_name + get_post( $course_id )->post_author + get_post( get_the_ID() )->post_excerpt + + + $course->ID + $course->ID + $course->ID + $course->ID + $course->ID + $course->ID + $post_type->cap->edit_post + $screen + $sensei_settings_course_page->post_content + get_edit_post_link( $post_item->ID ) + get_edit_post_link( absint( $course_prerequisite_id ) ) + get_post_type_object( 'course' )->cap->edit_post + + + $course->ID + $course->ID + $course->post_author + $course->post_content + $post_type->cap + $sensei_settings_course_page->post_content + $term->term_id + get_post( $course_id )->post_author + get_post( get_the_ID() )->post_excerpt + get_post_type_object( 'course' )->cap + + + $course_id_updating + $meta_fields + $my_courses_page + WooThemes_Sensei_Course + WooThemes_Sensei_Course + + + is_array( $this->meta_fields ) + isset( $query->query ) + isset( $this->meta_fields ) && is_array( $this->meta_fields ) + isset( $this->meta_fields ) && is_array( $this->meta_fields ) + + + isset( $this->meta_fields ) + + + Sensei_WC + Sensei_WC + + + type + type + + + 'course_single_lessons' + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + \Sensei() + \Sensei() + \Sensei() + sensei_start_course_form( $post->ID ) + + + $term->name + $term->term_id + + + $lesson->course_order + + + $term->term_id + + + + + + add_customizer_settings + enqueue_customizer_helper + output_custom_settings + output_customizer_helper + + + + + Installer::instance() + + + Installer::instance() + get_schema + get_tables + + + cleanup_all + cleanup_custom_post_types + cleanup_options + cleanup_pages + cleanup_post_meta + cleanup_roles_and_caps + cleanup_taxonomies + cleanup_transients + cleanup_user_meta + remove_all_sensei_caps + + + $item + + + $role + + + Sensei() + + + + + $row + + + function( $row ) use ( $last_activity_date_by_users ) { + + + OBJECT_K + + + $this->course_id + $this->filter_by_course_id + $this->filter_type + $this->lesson_id + $this->offset + $this->order_by + $this->order_type + $this->per_page + $this->search + $this->total_items + $this->total_items + + + $this->filter_type + $this->offset + $this->order_type + $this->per_page + + + + + add_assets_notice + add_future_php_version_notice + add_php_version_notice + show_php_notice + + + $screen->id + + + + + is_wp_error( $grade ) + + + $comment + $comment_id + $comment_id + $course_id + $course_id + $course_id + $email_template + $file + $grade + $learner_id + $learner_id + $learner_id + $lesson_id + $message + $message_id + $passmark + $quiz_id + $status + $status + $template + $user_id + $user_id + + + get_content + init + load_template + teacher_quiz_submitted + + + $_from_address + $_from_name + $emails + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + include $template + + + + + register_scripts + + + wp_json_encode( $this->get_feature_flags() ) + + + + + $creds + + + $sorted_menu_items[ $k ] + $sorted_menu_items[ $k ] + + + $course_id + $course_id + $id + $post_id + $title + + + lesson_tag_archive_description + lesson_tag_archive_filter + lesson_tags_display + maybe_redirect_to_next_lesson + redirect_to_course_completed_page + sensei_complete_course + sensei_complete_lesson + sensei_complete_lesson_button + sensei_course_archive_meta + sensei_course_archive_pagination + sensei_course_category_main_content + sensei_course_start + sensei_frontend_messages + sensei_lesson_meta + sensei_lesson_preview_title + sensei_lesson_preview_title_tag + sensei_lesson_preview_title_text + sensei_lesson_video + sensei_login_form + sensei_reset_lesson_button + + + $tags + + + $id + $id + $post_id + $post_id + $post_id + $post_id + get_permalink( $course_id ) + get_permalink( $lesson_course_id ) + get_permalink( $lesson_id ) + get_permalink( $post_id ) + get_permalink( $post_id ) + get_permalink( $post_id ) + get_permalink() + get_permalink() + get_the_ID() + wp_get_referer() + + + $category_output + $tag_link + $tags + $user_id + $user_id + $user_id + + + $tag->description + + + $tag->description + $tag->term_id + get_queried_object()->name + + + $data + $messages + WooThemes_Sensei_Frontend + WooThemes_Sensei_Frontend + + + $tags && count( $tags ) > 0 + isset( $post_item->ID ) + + + WP_DEBUG + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + sensei_get_prev_next_lessons( $lesson_id ) + + + $tag->description + $tag->term_id + get_queried_object()->name + + + $tag->term_id + + + + + + $title + + + $args + + + $course_id + $lesson_id + $page_slug + $user_id + $user_ids + $view + + + extra_tablenav + get_row_data + + + $search + + + Sensei_Grading_Main + Sensei_Grading_Main + Sensei_Grading_Main + Sensei_Grading_Main + WooThemes_Sensei_Grading_Main + WooThemes_Sensei_Grading_Main + WooThemes_Sensei_Grading_Main + WooThemes_Sensei_Grading_Main + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $count + $graded_count + $lesson_status_id + $quiz_grade + $quiz_grade + $quiz_grade_total + $this->quiz_id + $this->user_id + $user_question_grade + $user_quiz_grade_total + $user_quiz_grade_total + $user_quiz_grade_total + + + display + + + $answer_media_url + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + 0 + + + false + false + + + $grade + $grade + + + $lesson_metadata + + + $grade + $question_grade + + + int + string + + + $user_name + $user_name + absint( $course_id ) + absint( $lesson_id ) + + + $course_id + $file + $lesson_id + $question_id + $selected_course_id + $selected_lesson_id + $type + $user_answer + $user_id + $which + + + $file + $name + $page_slug + + + add_grading_notices + deprecated_get_lessons_dropdown + deprecated_get_redirect_url + get_redirect_url + grading_admin_menu + lessons_drop_down_html + sensei_grading_notices + + + wp_json_encode( $args ) + + + $clean_lesson_id + $clean_user_id + + + get_post_type_object( 'course' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + + + get_post_type_object( 'course' )->cap + get_post_type_object( 'lesson' )->cap + get_post_type_object( 'lesson' )->cap + + + is_array( $right_answer ) + + + absint( wp_unslash( $_POST[ 'question_' . $question_id . '_grade' ] ) ) + + + count( $lesson_metadata ) + count( $lesson_metadata ) + + + ARRAY_A + + + undefined + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + add_groups_landing_page_menu_item + display_student_groups_landing_page + wrapper_container + + + Sensei() + Sensei() + Sensei() + + + + + 'WP_Role' + + + + int + + + $user_count + + + create_guest_student_role_if_not_exists + create_guest_user_and_login_for_open_course + enrol_user + init + is_current_user_guest + log_guest_user_out_before_all_actions + log_in_guest_user_if_in_open_course + login_user + recreate_nonce + + + $course_id + + + $user->roles + + + Sensei_Utils::get_current_course() + + + (array) $user->roles + + + + + global $current_user; + + + $name + + + enqueue_scripts + + + Sensei() + Sensei() + Sensei() + + + + + ! self::$instance + empty( self::$learner_terms[ $user_id ] ) || self::$learner_terms[ $user_id ] instanceof WP_Error + empty( self::$learner_terms[ $user_id ] ) || self::$learner_terms[ $user_id ] instanceof WP_Error + self::$instance + self::$learner_terms[ $user_id ] instanceof WP_Error + + + self::$learner_terms + self::$learner_terms + + + $user_id + + + add_course_column_data + before_enrolled_courses_query + init + remove_duplicate_progress + + + $courses + + + $courses + + + $user->display_name + $user->first_name + $user->last_name + + + Sensei() + + + + + $post_type_args + $post_type_args + 'WP_Post' + 'WP_User' + + + ! isset( $lesson_id ) + ! isset( $question->ID ) + - 1 !== $new_course + -1 !== $new_complexity + + + empty( $block['innerBlocks'][0]['attrs']['id'] ) ? null : wp_get_attachment_url( get_post_thumbnail_id( $block['innerBlocks'][0]['attrs']['id'] ) ) + get_permalink( $quiz_id ) + + + $args + $post_args + $post_args + $post_type_args + $post_type_args + $qargs + 'question-category' + + + string|null + + + global $wp_query; + + + string + + + $lesson_prerequisite + $quiz_id + + + int|null + + + $course_id + $i + $i + $id + $pre_requisite_id + $question_id + $question_id + $question_id + $question_id + $quiz_author + $quiz_id + $quiz_id + $quiz_id + $return + $return + $this->get_course_id( $post->ID ) + $total_right + $total_wrong + absint( $post_item->ID ) + array( $width, $height ) + + + $lesson + + + $column_name + $content + $context + $context + $context + $course_id + $current_lesson_id + $field + $hook + $hook + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $multiple_data + $page + $post_id + $post_id + $question_category + $question_counter + $question_counter + $question_counter + $question_id + $question_id + $question_id + $question_id + $question_search + $question_status + $question_type + $question_type + $question_type + $question_type + $questions + $quiz_id + $quiz_id + $quiz_id + $row + $user_id + $widget + + + $allowed_html + $meta_fields + $token + + + add_column_data + add_custom_link_to_course + add_custom_navigation + add_lesson_to_course_order + add_video_meta_box + all_lessons_edit_fields + content_drip_promo_meta_box_content + course_signup_link + deprecated_get_question_category_limit + deprecated_question_get_answer_id + disable_log_lesson_update + display_lessons_navigation + enqueue_lesson_edit_scripts + enqueue_scripts + enqueue_scripts_meta_box_quiz_editor + enqueue_styles + footer_quiz_call_to_action + get_question_category_limit + get_quiz_settings + handle_get_prerequisite_meta_box_content + lesson_add_existing_questions + lesson_add_multiple_questions + lesson_course_meta_box_content + lesson_info_meta_box_content + lesson_prerequisite_meta_box_content + lesson_preview_meta_box_content + lesson_quiz_meta_box_content + lesson_quiz_settings_meta_box_content + lesson_remove_multiple_questions + lesson_update_grade_type + lesson_update_question + lesson_update_question_order + lesson_update_question_order_random + lesson_video_meta_box_content + log_initial_publish_event + log_lesson_update + mark_updating_lesson_id + maybe_start_lesson + meta_box_setup + on_lesson_published + output_comments + output_prerequisite_meta_box_content + prerequisite_complete_message + question_get_answer_id + quiz_panel + quiz_panel_add + quiz_panel_add_existing_question + quiz_panel_filter_existing_questions + quiz_panel_get_existing_questions + quiz_panel_question + quiz_panel_question_feedback + quiz_panel_question_field + quiz_panel_questions + quiz_settings_panel + save_all_lessons_edit_fields + save_lesson_featured_video_thumbnail + save_post_meta + save_quiz_settings + set_default_question_order + set_quick_edit_admin_defaults + the_archive_header + the_lesson_image + the_lesson_meta + the_lesson_thumbnail + the_title + user_lesson_quiz_status_message + user_not_taking_course_message + + + $this->get_videopress_thumbnail( $url ) + $this->get_vimeo_thumbnail( $url ) + $this->get_youtube_thumbnail( $url ) + + + $question_cats + $question_cats + $question_cats + + + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + get_permalink( $lesson_id ) + get_permalink( $lesson_id ) + get_permalink( $lesson_prerequisite ) + get_permalink( $quiz_id ) + get_post_thumbnail_id( $block['innerBlocks'][0]['attrs']['id'] ) + get_post_type( $post_id ) + get_the_ID() + get_the_ID() + get_the_ID() + get_the_ID() + get_the_ID() + + + $lesson + $lesson_prerequisite_post + get_post( get_the_ID() ) + get_the_term_list( $question_id, 'question-category', '', ', ', '' ) + + + $question_cats + $question_cats + $question_cats + + + $attachment->post_title + $cat->count + $cat->count + $cat->name + $cat_question->ID + $lesson->ID + $lesson->post_content + $lesson->post_status + $lesson->post_title + $post->post_content + $post->post_content + $question->ID + $question->ID + $question->post_content + $question->post_title + $question->post_title + $question_cat->name + $user_info->display_name + get_post( $quiz_id )->post_author + get_post()->post_author + get_post()->post_author + + + $cat->name + $edit_course_url + $lesson->post_status + $lesson->post_title + $post->post_content + $post_type->cap->edit_post + $question->post_content + $question->post_title + $question->post_title + get_edit_post_link( absint( $lesson_course_id ) ) + get_edit_post_link( absint( $lesson_prerequisite_id ) ) + get_post_type_object( 'course' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + get_post_type_object( 'question' )->cap->edit_post + get_post_type_object( 'question' )->cap->edit_post + get_post_type_object( 'question' )->cap->edit_post + + + $attachment->post_title + $cat->name + $lesson->post_status + $lesson->post_title + $post->post_content + $post_type->cap + $question->post_content + $question->post_title + $question->post_title + $question_cat->name + $screen->base + get_post( $quiz_id )->post_author + get_post()->post_author + get_post()->post_author + get_post_type_object( 'course' )->cap + get_post_type_object( 'lesson' )->cap + get_post_type_object( 'question' )->cap + get_post_type_object( 'question' )->cap + get_post_type_object( 'question' )->cap + + + is_block_editor + + + $nonce + $nonce + $nonce + $nonce + $question_grade + $question_grade + $question_grade + $question_media + $question_media_add_button + $question_media_delete_class + $question_media_link + $question_media_link_class + $question_media_thumb + $question_media_thumb_class + $question_wrong_answers_array + $random_order + + + $lesson_id_updating + + + is_array( $question_data ) + is_array( $question_data ) + + + ! is_wp_error( $multiple_id ) + - 1 !== $new_course + -1 !== $new_complexity + is_array( $data ) && count( $data ) > 0 + + + ! isset( $row_counter ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + sensei_complete_lesson_button() + sensei_reset_lesson_button() + + + $cat->name + $question_cat->name + + + $this->question_order + $this->question_order + $this->question_order + $this->question_order + + + + + $which + $which + + + array + + + $item + $token + + + $token + + + extra_tablenav + get_row_data + single_row + + + $item + + + false + + + Sensei_List_Table + Sensei_List_Table + Sensei_List_Table + Sensei_List_Table + WooThemes_Sensei_List_Table + WooThemes_Sensei_List_Table + WooThemes_Sensei_List_Table + WooThemes_Sensei_List_Table + + + isset( $this->_column_headers ) + + + + + $message_data + + + is_wp_error( $post ) + + + public function message_login() { + public function stop_wp_comment_emails( $emails, $comment_id ) { + + + global $current_user; + + + string + + + string + + + $comment->comment_ID + $comment->comment_post_ID + $comment->comment_post_ID + $comment->user_id + $comment->user_id + $post->ID + $post->post_author + $post_id + absint( $post->ID ) + + + $comment_id + $message_post_id + $message_post_id + $post + $post + $post_id + $post_type + $query + $user_id + + + $meta_fields + $post_type + $token + + + add_menu_item + add_meta_box + check_permissions_edit_comments + message_login + message_reply_received + message_rest_insert + meta_box_content + only_show_messages_to_owner + save_new_message + send_message_link + stop_wp_comment_emails + teacher_contact_form + the_message_sender + the_message_sent_by_title + the_message_title + the_my_messages_link + + + get_permalink( $content_post_id ) + get_post_type_archive_link( 'sensei_message' ) + get_the_ID() + get_the_date() + get_the_date() + get_the_permalink( $message_post_id ) + + + $comment->comment_post_ID + $comment->comment_post_ID + $comment->user_id + $comment_author->user_login + $comment_author->user_login + $course->post_title + $message->ID + $message->ID + $message->post_type + $message->post_type + $message_post->ID + $message_post->post_type + $post->ID + $post->ID + $post->post_author + $post->post_type + $receiver->user_login + $sender->display_name + $sender->user_login + + + $message->ID + $message->ID + $message->ID + $message->ID + $post_id + + + $course->post_title + $message->ID + $message->ID + $message->post_type + $message->post_type + $post->ID + $post->ID + $post->post_author + $post->post_type + + + $description + $label + $user_login + + + ! is_wp_error( $message_id ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $module + $module + 'Sensei_Frontend' + 'Sensei_Utils' + 'WP_User' + + + is_wp_error( $lessons ) + + + $term_owner + $term_owner + false + false + false + false + + + $args + + + WP_User + object + + + global $current_user; + + + $index + $index + + + (float) $module_progress + array() + + + WP_Query + integer + + + $course->post_author + $course_id + $course_id + $course_id + $possible_user_id + $post_after->post_author + $term + $term + absint( $module->term_id ) + esc_attr( $_POST['course_id'] ) + intval( $course->ID ) + + + $args + $args + $classes + $course_id + $course_ids_array + $file + $hook + $html + $lesson_id + $separator + $slug + $taxonomies + $taxonomies + $taxonomies + $term_id + $terms + $terms + $terms + $terms + $title + $user_id + + + $file + $order_page_slug + $taxonomy + + + add_custom_navigation + add_lesson_column_content + add_module_admin_hooks + add_new_module_term + add_submenus + add_teacher_id_in_module_meta_when_added_to_course + ajax_get_course_modules + append_teacher_name_to_module + course_module_metabox + course_signup_link + display_modules_navigation + filter_course_selected_terms + filter_module_terms + handle_get_lesson_module_metabox + handle_order_modules + module_archive_body_class + module_breadcrumb_link + output_course_modules_column + output_lesson_module_metabox + remove_default_modules_box + remove_if_unused + remove_teacher_id_from_module_meta_when_removed_from_course + reset_none_modules_transient + sensei_course_preview_titles + setup_modules_taxonomy + setup_single_course_module_loop + teardown_single_course_module_loop + track_module_creation + update_module_teacher_id_meta_on_post_teacher_update + update_module_teacher_meta + + + $modules + $modules + $terms + + + get_permalink( $course_id ) + get_permalink( $course_id ) + + + $module + $post + get_post( (int) $_GET['lesson_id'] ) + + + $terms + + + $course->ID + $course->ID + $course->ID + $course->post_author + $course->post_title + $course->post_title + $module->parent + $module->slug + $post->post_type + $slug->errors + $taxonomy->cap + $taxonomy->labels + $term->slug + $term->term_id + $term->term_id + get_post( $post_ID )->post_type + + + $module->description + $module->slug + $module->term_id + $module_id + $post->post_type + $post_type->cap->edit_post + + + $course->post_author + $module->description + $module->parent + $module->slug + $module->term_id + $module->term_id + $module->term_id + $post->post_type + $post_type->cap + $term->slug + get_post( $post_ID )->post_type + get_queried_object()->name + + + (int) $module_id + + + 'tax_input[' . $tax_name . ']' + isset( $course_id ) + + + ! empty( $course_modules ) && is_array( $course_modules ) + ! empty( $site_admins ) && is_array( $site_admins ) + ! user_can( $author, 'manage_options' ) && isset( $term->name ) + $module + $module + $module + $module + is_array( $columns ) + is_array( $course_modules ) + is_array( $courses ) + is_array( $courses ) + is_array( $site_admins ) + isset( $courses ) + isset( $courses ) + isset( $courses ) && is_array( $courses ) + isset( $courses ) && is_array( $courses ) + isset( $lesson_query->posts ) + + + $tax_name === 'category' + $tax_name === 'category' + empty( $modules ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + sensei_module_has_lessons() + + + $module->description + $module->term_id + $module->term_id + $module->term_id + get_queried_object()->name + + + $modules + $slug + + + $module->parent + $module->slug + $module->term_id + $module->term_id + $module->term_id + $term->slug + + + + + protected $notices; + + + $notices + + + setup_block_notices + + + Sensei() + + + + + 'WP_Post' + + + $args + $args + $args + $args + + + global $pagenow; + + + $post->ID + $post->ID + $post->ID + $post_id + $post_id + + + new $class_name() + + + $role_caps + $slider_labels + $token + + + add_submenus + disable_fire_scheduled_initial_publish_actions + fire_scheduled_initial_publish_actions + is_meta_box_save_request + mark_post_already_published + maybe_schedule_initial_publish_action + protect_feeds + reset_scheduled_initial_publish_actions + schedule_initial_publish_action + setup_initial_publish_action + setup_learner_taxonomy + setup_post_type_labels_base + setup_rest_api + + + get_permalink( $post_ID ) + get_permalink( $post_ID ) + get_permalink( $post_ID ) + wp_post_revision_title( (int) $_GET['revision'], false ) + + + $post->ID + $post->post_type + + + get_queried_object()->ID + + + $object_type->labels + get_queried_object()->ID + get_queried_object()->post_type + + + $course + $lesson + $messages + $question + $quiz + WooThemes_Sensei_PostTypes + WooThemes_Sensei_PostTypes + WooThemes_Sensei_PostTypes + WooThemes_Sensei_PostTypes + WooThemes_Sensei_PostTypes + + + $post instanceof WP_Post + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + get_queried_object()->ID + get_queried_object()->post_type + + + get_queried_object()->ID + get_queried_object()->post_type + + + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + + + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + $this->labels + + + + + 'WP_Role' + 'WP_User' + + + + int + + + add_preview_user_filters + add_user_switch_to_admin_bar + create_role + delete_preview_user + init + override_user + set_preview_user + switch_off_preview_user + switch_to_preview_user + + + (array) $user->roles + (int) $course_id + + + + + self::output_result_indication( $lesson_id, $question_item->ID ) + + + false + false + + + $qargs + 'question-category' + array( 'src' => $question_media_url ) + array( 'src' => $question_media_url ) + + + public static function file_upload_load_question_data( $question_data, $question_id, $quiz_id ) { + public static function gap_fill_load_question_data( $question_data, $question_id, $quiz_id ) { + public static function multiple_choice_load_question_data( $question_data, $question_id, $quiz_id ) { + + + $attachment_src[1] + $attachment_src[2] + $id + $question_id + $question_id + $question_id + $question_id + + + $post + $post_id + $post_type + $question_data + $question_data + $question_id + $question_id + $question_id + $question_id + $question_id + $question_id + $question_id + $question_id + $question_id + $question_id + $quiz_id + $quiz_id + $quiz_id + + + $meta_fields + $token + + + add_custom_navigation + answer_feedback_notes + display_question_navigation + file_upload_load_question_data + gap_fill_load_question_data + load_question_template + log_initial_publish_event + multiple_choice_load_question_data + output_result_indication + question_edit_panel + question_edit_panel_metabox + question_lessons_panel + question_types + save_question + the_answer_feedback + the_answer_result_indication + the_question_description + the_question_hidden_fields + the_question_media + the_question_title + + + $categories_of_question + $cats + $question_types + + + $answer_media_url + $question_media_url + $question_media_url + $question_media_url + $quiz_id + size_format( $upload_size ) + + + $cat_question_id + get_the_term_list( $id, 'question-category', '', ', ', '' ) + get_the_term_list( $id, 'question-type', '', ', ', '' ) + + + $attachment_src[0] + $attachment_src[1] + $attachment_src[2] + + + $lessons[ $lesson_id ] + $lessons[ $lesson_id ] + + + $cats + + + $attachment->post_content + $attachment->post_title + $question->ID + $question->post_content + $question->post_type + $quiz->post_author + $quiz->post_type + $user_lesson_status->comment_approved + $user_lesson_status->comment_approved + get_post( $question_id )->post_content + + + $question_description + $question_description + $question_media_title + $question_media_title + + + $attachment->post_content + $attachment->post_title + $question->post_content + get_post( $question_id )->post_content + + + $is_quiz_graded + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $this->question_types + + + $this->question_types + $this->question_types + + + + + $my_post + + + $this->file + + + ! $encoded_feedback + ! $encoded_feedback + ! is_array( $all_feedback ) + ! is_array( $quiz_answers ) + ! is_array( $quiz_answers ) + ! is_array( $unprepared_answers ) + ! is_array( $users_answers ) + empty( $lesson_id ) || empty( $user_id ) || ! is_array( $quiz_answers ) + is_array( $lesson_status ) + is_int( $user_grade ) + isset( $user_lesson_status->comment_ID ) + + + public function reset_button_click_listener() { + + + global $post; + + + array + array + + + $comment->comment_content + $question_activity->comment_ID + $question_activity->comment_ID + + + $posts + true + + + false|int + + + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_id + $lesson_status->comment_ID + $this->get_lesson_id( $quiz_id ) + $this->get_lesson_id( $quiz_id ) + + + $answers_feedback + $lesson_id + $lesson_id + $quiz_grades + $user_id + $user_id + + + action_buttons + delete_quiz_question_meta + load_global_quiz_data + maybe_delete_quiz + output_quiz_hidden_fields + page_change_listener + redirect_if_lesson_is_protected + reset_button_click_listener + set_questions + start_quiz_questions_loop + stop_quiz_questions_loop + the_quiz_pagination + the_quiz_progress_bar + the_title + the_user_status_message + update_quiz_author + user_save_quiz_answers_listener + + + self::get_question_inner_block( $question_id, 'sensei-lms/quiz-question-feedback-correct' ) + self::get_question_inner_block( $question_id, 'sensei-lms/quiz-question-feedback-incorrect' ) + + + + $quiz_id + $quiz_id + $quiz_id + $quiz_id + $quiz_id + $quiz_id + $quiz_id + get_permalink( $lesson->ID ) + get_permalink( $lesson_id ) + get_the_ID() + + + $quiz + get_post() + + + $lesson->ID + $lesson->post_author + $lesson->post_name + $question->post_content + $quiz->post_parent + $saved_lesson->post_author + $saved_lesson->post_name + $saved_lesson->post_title + $user_lesson_status->comment_ID + + + $lesson->ID + $lesson_id + $question->post_content + + + $lesson->ID + $lesson->post_name + $question->post_content + $saved_lesson->post_author + $saved_lesson->post_name + $saved_lesson->post_title + + + (int) $user_id + + + ! is_wp_error( $grade ) + $lesson_status + + + DAY_IN_SECONDS + DAY_IN_SECONDS + DAY_IN_SECONDS + DAY_IN_SECONDS + DAY_IN_SECONDS + DAY_IN_SECONDS + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $this->data + + + + + isset( $input ) + + + protected function determine_method( $data, $type = 'form' ) { + + + $input + (bool) $input + 0 + + + string + string + + + $section + $type + + + $errors + $fields + $has_imageselector + $has_range + $has_tabs + $menu_label + $name + $page_slug + $sections + $settings + $settings_version + $tabs + $this->fields + $this->token + $this->token_legacy + $token + $token_legacy + + + determine_method + form_field_button + register_hook_listener + render_additional_section_elements + render_content_drip_settings + render_promo_banner + render_woocommerce_upgrade_settings + + + $input[ $k ] + + + $v + $v + + + $is_valid + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $this->hook + $this->remaining_fields + $this->remaining_fields + + + $this->remaining_fields + + + + + ! is_array( $new_value ) + ! is_array( $old_value ) + + + 'type' => 'email' + + + + $include_milliseconds + $new_value + $setting + + + flush_rewrite_rules + get_learning_mode_template_options + log_settings_update + mark_section_as_visited + render_learning_mode_setting + render_learning_mode_templates + set + + + wp_json_encode( $inline_data ) + + + $new_field_value + $old_field_value + + + $template->title + $title + + + get_current_screen()->id + + + empty( $template->title ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + \Sensei() + \Sensei() + + + $this->hook + + + + + $args + $user + 'WP_Role' + 'WP_Role' + 'WP_Role' + + + ! $term_author + ! $term_author + ! is_admin() || ! $this->is_admin_teacher() || is_numeric( $comments ) + ! is_array( $args ) + ! is_array( $comments ) + is_numeric( $comments ) + + + $post_updates + + + $course_id + $lesson_id + + + bool + + + $activity_comments->user_id + + + $course->post_author + $module_course->post_author + + + public function teacher_filter_query_modify( $query ) { + + + $clauses + $column + $columns + $course_id + $course_id + $course_id + $data + $new_status + $new_teacher_id + $old_status + $post + $post + $post + $postarr + $query + $query + $query + $query + $questions + $quiz_id + $teacher_id + $wp_query + $wp_query + + + $teacher_role + $token + + + add_capabilities + archive_title + course_column_data + filter_queries + remove_course_meta_on_teacher_archive + teacher_filter_query_modify + teacher_meta_box_content + update_lesson_teacher + + + empty( $lesson_id ) || ! $lesson_id + + + $author->display_name + $course->post_author + $course->post_author + $course->post_author + $course->post_author + $course->post_title + $existing_module_by_slug->term_id + $lesson->ID + $module_course->ID + $module_course->post_author + $module_course->post_title + $post->ID + $post->post_author + $term->slug + $user->ID + $user->roles + + + $course->post_author + $term->slug + + + $course->post_author + $course->post_author + $course->post_author + $course->post_author + $course->post_title + $lesson->ID + $post->ID + $post->post_author + $screen->id + $term->slug + + + (array) $user->roles + (int) $new_author + + + ! is_wp_error( $search_term ) + isset( $screen->id ) + + + ! $course_id + ! $course_id + ! $lesson_id + empty( $this->teacher_role ) + + + ARRAY_A + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $new_term + + + $term->slug + + + + + is_numeric( $post ) + + + $template_name + $template_name + + + fire_frontend_messages_hook + fire_sensei_complete_course_hook + get_no_permission_template + get_template + locate_and_load_template_overrides + the_title + + + get_permalink( $post->ID ) + + + $post->ID + $post->post_title + $post->post_type + + + $post->ID + + + $post->ID + $post->post_title + $post->post_type + + + $args && is_array( $args ) + is_array( $args ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + get_sensei_footer() + get_sensei_header() + + + include $found_template + include $found_template + include $located + + + + + 'WP_Comment' + + + ! self::$instance + is_a( $last_week_activities, 'WP_Comment' ) + self::$instance + + + clean_inactive_guest_users + init + maybe_schedule_cron_jobs + + + remove_filter( 'sensei_check_for_activity', [ Sensei_Temporary_User::class, 'filter_sensei_activity' ], 10, 2 ) + + + + + ! is_array( $comments ) + + + require_once ABSPATH . '/wp-admin/includes/ms.php' + require_once ABSPATH . 'wp-admin/includes/user.php' + + + filter_learners_query + filter_out_temporary_user_role_tabs + filter_out_temporary_user_roles + filter_out_temporary_users + init + + + get_userdata( $user_id )->roles + + + (array) $emails + + + + + new Sensei_Unsupported_Themes() + + + get_instance + init + maybe_handle_request + reset + + + + + is_object( $current_version ) + + + new Email_Seeder( new Email_Seeder_Data(), $repository ) + new Email_Seeder_Data() + + + create_all + has_emails + init + new Email_Seeder( new Email_Seeder_Data(), $repository ) + + + $releases + + + DateTimeImmutable[] + + + assign_role_caps + log_update + run_updates + v3_0_check_legacy_enrolment + v3_7_add_comment_indexes + v3_7_check_rewrite_front + v3_9_fix_question_author + v3_9_remove_abandoned_multiple_question + v4_10_update_install_time + + + $this->current_version + $this->current_version + $this->current_version + $this->current_version + + + (int) $diff->d + + + false !== $diff->d + + + null + + + ARRAY_A + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + 0 + + + $key + 'module' + 'module' + 'module' + + + $count[ $key ] + $count[ self::get_question_type_key( $key ) ] + + + [ 'Sensei_learner', 'get_learner_id' ] + + + $max_modules + $min_modules + $query->found_posts + $query->found_posts + $query->found_posts + $query->found_posts + '' + str_replace( '-', '_', 'question_' . $key ) + wp_get_object_terms( $course_id, Sensei_PostTypes::LEARNER_TAXONOMY_NAME, $term_args ) + + + array + array + array + array + array + array|WP_Error + double + int + int + + + $learner_terms + $learner_terms + + + $course->ID + + + is_array( $courses ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + \Sensei() + + + + + $fields + $fields + + + get_instance + init_event_logging_sources + log_update + log_wccom_plugin_install + set_event_logging_source_data_import + set_event_logging_source_frontend + set_tracking_enabled + + + false + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $data + 'WP_Comment' + 'WP_Post' + 'WP_Post' + + + ! is_array( $array_a ) + ! is_array( $array_b ) + ! is_int( $post_id ) + ! is_int( $post_id ) + is_array( $user_lesson_status ) + + + $activity_value + $question_grade + false + wp_date( get_option( 'date_format' ), $date->getTimestamp(), $timezone ) + + + Course_Progress::STATUS_COMPLETE + + + string + + + bool + + + $last_lesson_activity->comment_post_ID + + + $activity_logged + $activity_logged + $success + + + bool + boolean + boolean + + + $comment_id + $comment_id + $data_key + $lesson + $lesson_status->comment_ID + $post_id + $user_answer_id + $user_answer_id + $user_answer_id + $user_id + $user_id + $user_id + $user_lesson_id + $user_lesson_status->comment_ID + + + require_once ABSPATH . 'wp-admin/includes/admin.php' + require_once ABSPATH . 'wp-admin/includes/image.php' + require_once ABSPATH . 'wp-admin/includes/plugin-install.php' + + + $attributes + $course_id + $data_key + $decimal_places_to_round + $decimal_places_to_round + $denominator + $denominator + $file + $from_course + $key + $lesson_id + $mode + $number + $numerator + $numerator + $options + $plugin_class_to_look_for + $plugin_registered_path + $post_id + $question_id + $quiz_id + $quiz_id + $quiz_id + $setting_name + $trigger_completion_action + $user_id + $user_id + $user_id + + + as_absolute_rounded_number + force_complete_user_course + is_plugin_present_and_activated + is_preview_lesson + output_query_params_as_inputs + quotient_as_absolute_rounded_number + restore_wp_query + sensei_delete_question_grade + sensei_get_quiz_questions + sensei_get_quiz_total + sensei_user_course_status_message + upload_file + user_passed_quiz + + + $attributes + + + $url + get_permalink( $course_id ) + get_permalink( $course_id ) + get_permalink( $lesson_prerequisite ) + get_permalink( $quiz_id ) + get_permalink( $quiz_id ) + + + $post + + + $_user_lesson_status->comment_approved + $lesson_status->comment_ID + $plugin_information->name + $plugin_information->short_description + $plugin_information->version + $post->ID + $post->post_content + $user_lesson_status->comment_approved + get_userdata( $user_id )->user_login + get_userdata( $user_id )->user_login + + + (int) $lesson_id + (int) $user_id + + + is_array( $comments ) + isset( $_GET ) + + + isset( $_user_lesson_status->comment_approved ) + isset( $user_lesson_status->comment_approved ) + + + '' != $sort_key + + + WC_Admin_Addons + + + ATOMIC_CLIENT_ID + DAY_IN_SECONDS + WP_PLUGIN_DIR + + + int|number + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + WC() + sensei_get_prev_next_lessons( $lesson_id ) + + + + + $default + + + 'brackets' === $format + 'full' === $format + 'none' === $format + 'text' === $format + + + Sensei() + Sensei() + + + + + $allowed_html + $string + + + $allowed_html + + + get_default_wp_kses_allowed_html + get_source_html_tag_allowed_attributes + get_video_html_tag_allowed_attributes + + + Sensei() + + + + + course_exists + register_plugin_version + + + empty( $comment_counts ) + is_null( self::$_instance ) + + + Email_Customization::instance( $this->settings, $this->assets, $this->lesson_progress_repository ) + new Answer_Repository_Factory( $use_tables ) + new Course_Deleted_Handler( $this->course_progress_repository ) + new Course_Progress_Repository_Factory( $use_tables ) + new Grade_Repository_Factory( $use_tables ) + new Lesson_Deleted_Handler( $this->lesson_progress_repository ) + new Lesson_Progress_Repository_Factory( $use_tables ) + new Quiz_Deleted_Handler( $this->quiz_progress_repository ) + new Quiz_Progress_Repository_Factory( $use_tables ) + new Submission_Repository_Factory( $use_tables ) + new Updates_Factory() + + + Email_Customization::instance( $this->settings, $this->assets, $this->lesson_progress_repository ) + create + create + create + create + create + create + create + init + init + init + init + new Answer_Repository_Factory( $use_tables ) + new Course_Deleted_Handler( $this->course_progress_repository ) + new Course_Progress_Repository_Factory( $use_tables ) + new Grade_Repository_Factory( $use_tables ) + new Lesson_Deleted_Handler( $this->lesson_progress_repository ) + new Lesson_Progress_Repository_Factory( $use_tables ) + new Quiz_Deleted_Handler( $this->quiz_progress_repository ) + new Quiz_Progress_Repository_Factory( $use_tables ) + new Submission_Repository_Factory( $use_tables ) + + + $this->get_id() + $this->get_id() + + + $course_archive_thumbnail['crop'] + $course_archive_thumbnail['height'] + $course_archive_thumbnail['width'] + $course_single_thumbnail['crop'] + $course_single_thumbnail['height'] + $course_single_thumbnail['width'] + $lesson_archive_thumbnail['crop'] + $lesson_archive_thumbnail['height'] + $lesson_archive_thumbnail['width'] + $lesson_single_thumbnail['crop'] + $lesson_single_thumbnail['height'] + $lesson_single_thumbnail['width'] + + + $file + + + global $sensei_modules; + + + $is_upgrade + + + private $id; + + + $args + $args + $class_name + $main_plugin_file_name + $plugin + + + $id + $plugin_path + $plugin_url + $template_url + $this->plugin_path + $this->plugin_path + $this->plugin_url + $this->post_types->role_caps + $this->settings->settings + $this->version + $token + $version + + + activate + activation + activation_flush_rules + assign_role_caps + disable_sensei_modules_extension + flush_comment_counts_cache + flush_rewrite_rules + init + initialize_cache_groups + initialize_cli + initialize_global_objects + initiate_rewrite_rules_flush + jetpack_latex_support + load_hooks + load_modules_class + maybe_add_latex_support_via + sensei_load_template_functions + set_legacy_flag + update + wp_quicklatex_support + + + null + + + $admin + $admin_notices + $analysis + $assets + $blocks + $course + $course_progress_repository + $course_results + $emails + $enrolment_scheduler + $feature_flags + $frontend + $grading + $learner_profiles + $learners + $lesson + $lesson_progress_repository + $messages + $modules + $notices + $permissions_message + $post_types + $question + $quiz + $quiz_answer_repository + $quiz_grade_repository + $quiz_progress_repository + $quiz_submission_repository + $rest_api_internal + $settings + $setup_wizard + $shortcode_loader + $teacher + $theme_integration_loader + $updates + $usage_tracking + $view_helper + Woothemes_Sensei + Woothemes_Sensei + Woothemes_Sensei + Woothemes_Sensei + Woothemes_Sensei + + + (bool) $default + (bool) $value + (int) $post_id + (int) $post_id + + + 'Sensei_Modules' !== $class + + + init + + + ARRAY_A + SENSEI_LMS_PLUGIN_FILE + WP_LANG_DIR + + + Sensei() + Sensei() + Sensei() + Sensei() + + + $this->Sensei_WPML + + + require_once $this->plugin_path . 'widgets/class-sensei-' . $key . '-widget.php' + require_once $this->resolve_path( 'includes/3rd-party/3rd-party.php' ) + require_once $this->resolve_path( 'includes/class-sensei-cli.php' ) + require_once $this->resolve_path( 'includes/hooks/template.php' ) + require_once $this->resolve_path( 'includes/template-functions.php' ) + require_once dirname( __FILE__ ) . '/class-' . esc_attr( $this->token ) . '-' . esc_attr( $class_name ) . '.php' + + + + + $now - $this->timer_start + + + $timer_start + + + log + start_timer + + + $course_id + $course_id + $user_id + $user_id + + + $user_id + $user_id + + + WP_CLI + WP_CLI + + + Sensei() + + + + + 'ET_GB_Block_Layout' + + + ! self::$instance + self::$instance + + + the_course_theme_layout + + + ET_GB_Block_Layout + + + + + ! $theme + ! self::$instance + $theme + self::$instance + + + WP_Post? + + + $post + + + add_admin_menu_site_editor_item + add_editor_styles + add_site_editor_hooks + enqueue_site_editor_assets + init + is_site_editor_request + maybe_add_site_editor_hooks + maybe_override_lesson_theme + substitute_theme_cache + + + $post->ID + $post->post_type + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + ! $user_answers || empty( $user_answers ) || ! is_array( $user_answers ) + ! is_array( $user_answers ) + ! self::$instance + self::$instance + + + init + intercept_notice + maybe_add_lesson_prerequisite_notice + maybe_add_quiz_results_notice + + + $current_link + $current_link + get_permalink( $course_id ) + get_permalink( $lesson_prerequisite ) + + + $lesson_status->comment_approved + + + $lesson_id + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + ! self::$instance + null === get_post_type( 'lesson' ) + self::$instance + + + 'lesson' + + + $allowed + $meta_key + $post_id + + + ensure_learning_mode_url_prefix + init + register_post_meta + + + $prefix + get_post_type_object( 'lesson' )->cap->edit_post + + + get_post_type_object( 'lesson' )->cap + + + Sensei() + \Sensei() + + + + + ! self::$instance + self::$instance + + + init + maybe_add_quiz_results_notice + render_contact_teacher + render_reset_quiz + + + null + + + get_permalink() + + + $lesson_id + $lesson_id + + + Sensei() + Sensei() + + + + + '-global' + + + array + + + $postfix + + + array + + + format_css_variables + init + output_global_styles_colors + output_style + + + $element_colors['background'] + $element_colors['text'] + + + + + ! self::$instance + isset( $template->content ) + self::$instance + + + $post + + + init + maybe_set_block_template_name + update_legacy_template_naming + + + Sensei() + \Sensei() + \Sensei() + + + + + $content + $name + $screenshots + $scripts + $styles + $title + $upsell + $version + + + + + ! self::$instance + $template->name + 'wp_template' !== $template_type + 'wp_template' !== $template_type + [] + self::$instance + + + $post->post_author + + + add_learning_mode_template + init + load_file_templates + maybe_add_theme_supports + maybe_use_course_theme_templates + + + $post->post_type + + + $lesson_id + $query['post_type'] ?? null + + + $db_templates_query->posts + $template->title + 'wp_template' !== $template_type + 'wp_template' !== $template_type + is_array( $template->scripts ) + + + Sensei() + + + $response + + + + + ! self::$instance + self::$instance + + + + add_post_type_rewrite_rules + add_query_var + admin_menu_init + enqueue_fonts + enqueue_styles + init + maybe_flush_rewrite_rules + maybe_override_theme + override_theme + + + get_permalink( $module_lessons[0] ) + get_post_type() + + + $lesson->ID + + + $_wp_current_template_content + $course_id + + + $original_theme + + + The + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + get_extension_class_name + is_supported + + + init + + + + + init + + + self::$instance + self::$instance + + + + + Sensei_Course_Video_Blocks_Embed_Extension + + + self::$instance + self::$instance + + + static + + + self::$instance + self::$instance + + + + + Sensei_Course_Video_Blocks_Embed_Extension + + + self::$instance + self::$instance + + + + + Sensei_Course_Video_Blocks_Embed_Extension + parent::init() + + + is_supported + + + self::$instance + self::$instance + + + init + + + static + + + self::$instance + self::$instance + + + + + ! self::$instance + self::$instance + + + $allowed + $meta_key + $post_id + + + init + register_post_meta + + + get_the_ID() + get_the_ID() + get_the_ID() + + + $post + $post + + + Sensei() + Sensei() + + + + + $uploads + null === $first + null === $second + + + wp_delete_attachment( $file_id, true ) + + + bool + + + new $task_class( $this ) + + + new $task_class( $this ) + + + add_log_entry + clean_up + persist + restore_from_json + run + set_state + set_user_id + start + + + Sensei_Data_Port_Task_Interface + + + wp_delete_attachment( $file_id, true ) + + + $first_type_order_exists ? array_search( $first_log[2]['type'], $log_order, true ) : null + $second_type_order_exists ? array_search( $second_log[2]['type'], $log_order, true ) : null + $uploads['error'] + + + $file->post_title + + + $first_type_order_exists ? array_search( $first_log[2]['type'], $log_order, true ) : null + $second_type_order_exists ? array_search( $second_log[2]['type'], $log_order, true ) : null + isset( $first_log[2]['line'] ) ? $first_log[2]['line'] : null + isset( $second_log[2]['line'] ) ? $second_log[2]['line'] : null + + + $files + $is_completed + $is_started + $logs + $percentage + $results + $state + $user_id + + + (int) $level + + + $uploads + + + new static( $job_id ) + new static( $job_id, $json ) + + + + + 'Sensei_Data_Port_Job' + 'Sensei_Data_Port_Job' + 'Sensei_Data_Port_Job' + 'Sensei_Data_Port_Job' + + + ! self::$instance + self::$instance + + + $this->create_job( $user_id, Sensei_Export_Job::class ) + $this->create_job( $user_id, Sensei_Import_Job::class ) + + + Sensei_Export_Job + Sensei_Import_Job + + + $handler_class::create( $job_id, (int) $user_id ) + + + cancel_all_jobs + cancel_job + clean_old_jobs + init + log_complete_export_jobs + log_complete_import_jobs + maybe_schedule_cron_jobs + persist + redirect_edit_post_link + redirect_imported_sample + run_data_port_job + run_scheduled_data_port_job + + + null + + + get_edit_post_link( $post_id, null ) + + + get_import_id + is_complete + + + (int) $user_id + (int) $user_id + (int) $user_id + (int) $user_id + (string) $job_id + + + WP_CLI + + + DAY_IN_SECONDS + + + get_import_id + + + + + run + save_state + + + + + save_state + + + + + [ 'timeout' => $timeout ] + + + 0 + is_wp_error( $attachment_id ) + + + $user + + + $attachment_id + $attachment_id + $last_term + $module + $query->get_posts()[0] + $user_id + $valid_mime_type + $valid_mime_type + $valid_mime_type + get_term_by( 'id', $term_arr['term_id'], $taxonomy_name ) + + + WP_Error|WP_Term + WP_Term|false + WP_Term|false + WP_User|WP_Error + int|WP_Error + int|WP_Error + int|null + + + $value + + + require_once ABSPATH . 'wp-admin/includes/file.php' + require_once ABSPATH . 'wp-admin/includes/image.php' + require_once ABSPATH . 'wp-admin/includes/media.php' + + + $file_path + $file_path + $file_path + $wp_filetype['type'] + $wp_filetype['type'] + + + $attachment_id + $attachment_id + $parent_term + $terms + $user_id + wp_get_post_terms( $course_id, 'module' ) + + + $last_term->term_id + $module->term_id + + + $teacher_user_id + $teacher_user_id + + + isset( $last_term ) + + + $term_arr + + + + + null === $this->results + + + get_result_counts + set_content_types + + + $tasks + Sensei_Export_Job + + + isset( $this->tasks ) + + + $this->results + + + + + admin_menu + export_page + + + Sensei() + Sensei() + Sensei() + + + + + $args + + + $inner_block + $inner_block + + + get_error_code + get_error_message + + + translate_import_id + + + $term->term_id + + + + + null === $value + + + $name + + + detect_delimiter + + + $column_names + $indexed_line + $indexed_line + $indexed_line + $indexed_line + $indexed_line + $second_line + $this->file->current() + + + + + WP_CLI_Command + + + + + null === $this->results + + + empty( $post ) ? null : $post[0] + + + int|null + + + $this->get_tasks()['associations'] + + + add_line_warning + add_log_entry + get_result_counts + set_import_id + set_is_sample_data + set_line_result + + + Sensei_Import_Associations + + + $filetype + + + add_data + + + $tasks + Sensei_Import_Job + + + (bool) $is_sample_data + + + isset( $this->tasks ) + + + $this->results + + + + + admin_menu + import_page + + + Sensei() + Sensei() + Sensei() + + + + + $categories + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $tags + + + get_term( $module_term_id )->name + + + get_term( $module_term_id )->name + + + Sensei() + Sensei() + + + get_term( $module_term_id )->name + + + + + run + + + $file->post_title + + + $file->post_title + + + $file->post_title + + + + + wp_get_attachment_image_url( $attachment, 'full' ) + wp_get_attachment_url( $attachment ) + + + string + + + $value + $value + + + $categories + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + require_once ABSPATH . 'wp-admin/includes/file.php' + + + add_file_to_job + run + + + get_attached_file( $files[ $type ] ) + + + $post + + + + + null === $new_lessons + + + $post_args + + + get_posts( $post_args ) + + + int[] + + + $code + $code + $message + $message + + + function( $message, $code ) use ( $line_number, $course_id, $post_title ) { + function( $message, $code ) use ( $line_number, $lesson_id, $post_title ) { + + + add_course_lessons + add_lesson_module + handle_course_lessons + run + save_state + + + get_error_code + get_error_message + + + get_error_code + get_error_message + + + $batch_remaining + + + (int) $lesson_id + + + isset( $this->total_tasks ) + isset( $this->total_tasks ) + isset( $this->total_tasks ) + + + Sensei() + Sensei() + + + add_line_warning + add_line_warning + translate_import_id + was_imported + + + $term->term_id + + + + + Sensei_Import_CSV_Reader::validate_csv_file( $file_path, $required_fields, $optional_fields ) + + + true|WP_Error + + + handle_prerequisite + + + + + add_post_process_task + run + run_post_process_tasks + save_state + + + get_attached_file( $attachment_id ) + + + $completed_lines + $post_process_tasks + $reader + + + set_line_result + set_line_result + set_line_result + sync_post + + + + + Sensei_Import_CSV_Reader::validate_csv_file( $file_path, $required_fields, $optional_fields ) + + + true|WP_Error + + + handle_prerequisite + + + + + add_prerequisite_task + handle_prerequisite_helper + + + add_line_warning + add_line_warning + translate_import_id + + + + + Sensei_Import_CSV_Reader::validate_csv_file( $file_path, $required_fields, $optional_fields ) + + + true|WP_Error + + + + + $field + $field + + + + + 0 === $post_id + + + + $post_id + $teacher_user + + + true|WP_Error + + + delete_course_terms + set_course_terms + + + $post_id + $post_id + $post_id + + + get_error_code + get_error_message + + + Sensei_Import_Course_Model + Sensei_Import_Course_Model + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + get_associations_task + + + $teacher_user->ID + $teacher_user->user_email + + + + + 0 === $post_id + + + $post_id + $quiz_id + $result + is_wp_error( $result ) ? $result : true + + + bool|WP_Error + bool|WP_Error + true|WP_Error + + + set_lesson_terms + set_quiz_questions + + + $post_id + $post_id + $post_id + $quiz_id + $quiz_id + + + get_error_code + get_error_message + + + Sensei_Import_Lesson_Model + Sensei_Import_Lesson_Model + + + Sensei() + Sensei() + + + get_associations_task + translate_import_id + + + + + + int + + + $attachment_id + + + bool|WP_Error + + + $value + + + add_line_warning + add_warnings_to_job + restore_from_source_array + set_data + set_post_id + store_import_id + + + $post_id + + + $existing_posts[0]->ID + + + $task + + + $data + $default_author + $is_new + $line_number + $post_id + $schema + $task + + + null !== $value + + + ! empty( $import_id ) && $this->task + $this->task + + + add_line_warning + set_import_id + + + new static() + + + + + 0 === $post_id + + + $post_id + Sensei_Data_Port_Utilities::get_attachment_from_source( $value, $this->get_post_id(), $this->schema->get_schema()[ $column_name ]['mime_types'] ) + + + null|string + true|WP_Error + + + sync_meta + + + $meta_fields + + + $post_id + + + $question_type + Sensei_Import_Question_Model + Sensei_Import_Question_Model + Sensei_Import_Question_Model + + + Sensei() + + + $this->processed_multiple_choice_answers + + + + + ! self::$instance + self::$instance + + + enqueue_scripts + enqueue_styles + init + output_modal + + + Sensei() + Sensei() + + + + + Sensei_Email_Signup_Form::GDPR_EMAIL_FIELD_ID + Sensei_Email_Signup_Form::MC_LIST_ID + Sensei_Email_Signup_Form::MC_USER_ID + + + + + global $sensei_email_data; + + + $heading + $recipient + $subject + $template + $user + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $recipient + $subject + $template + $user + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $message + + + $this->message->ID + + + $comment->user_id + + + $commenter + $original_receiver + $original_sender + + + $this->commenter->display_name + $this->commenter->user_login + $this->original_receiver->user_email + $this->original_sender->user_email + + + $comment + $heading + $message + $recipient + $subject + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $learner + $recipient + $subject + $teacher + $template + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $learner + $recipient + $subject + $teacher + $template + + + Sensei() + Sensei() + + + + + $course_id + $teacher_id + + + $heading + $learner + $recipient + $subject + $teacher + $template + + + $course->post_title + + + $course->post_title + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $learner + $message + $recipient + $subject + $teacher + $template + + + $this->learner->ID + $this->learner->display_name + $this->message->post_content + $this->teacher->ID + $this->teacher->user_email + + + $this->message->post_content + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $learner + $recipient + $subject + $teacher + $template + + + Sensei() + Sensei() + + + + + global $sensei_email_data; + + + $heading + $learner + $recipient + $subject + $teacher + $template + + + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + Sensei_Course_Manual_Enrolment_Provider::instance()->get_id() + + + $this->get_enrolment_provider_by_id( Sensei_Course_Manual_Enrolment_Provider::instance()->get_id() ) + + + add_wcpc_1_notice + collect_enrolment_providers + defer_course_enrolment_check + detect_wcpc_1 + do_course_enrolment_check + init + invalidate_learner_result + mark_user_as_needing_recalculation + recalculate_enrolments + recalculate_on_course_post_status_change + remove_deferred_enrolment_check + run_deferred_course_enrolment_checks + trigger_course_enrolment_check + + + false|Sensei_Course_Manual_Enrolment_Provider + + + wp_json_encode( $versions ) + + + $course + + + $screen->id + + + $enrolment_providers + $enrolment_providers_versions_hash + + + $course_enrolment + $course_enrolment + $course_enrolment + $course_enrolment + + + isset( $this->enrolment_providers ) + isset( $this->enrolment_providers ) + isset( $this->enrolment_providers_versions_hash ) + + + + + $version + + + isset( $time ) ? $time : time() + + + + + clear_enrolment_status + set_enrolment_status + + + + + [ 'Sensei_learner', 'get_learner_id' ] + + + invalidate_learner_result + store_enrolment_results + + + $is_enrolled + + + $learner_terms + + + get_version_hash + + + $is_enrolled + + + $course_enrolment_providers + $removed_learners + + + isset( $this->course_enrolment_providers ) + isset( $this->removed_learners ) + + + $learner_terms + + + new static( $course_id ) + + + + + 'manual' + + + int + + + set_migrated_legacy_enrolment_status + + + isset( self::$instance ) + + + + + false + + + string + + + end + modify_user_query_add_user_id + run + set_last_user_id + setup + + + $this->get_current_job_id() + + + isset( $args['course_id'] ) ? intval( $args['course_id'] ) : null + isset( $args['job_id'] ) ? sanitize_text_field( $args['job_id'] ) : null + + + (int) $this->batch_size + (int) $user_id + (int) $user_query->get_total() + + + + + ! self::$instance + self::$instance + + + function() { + + + cancel_course_calculation_job + init + maybe_start_learner_calculation + run_course_calculation + run_learner_calculation + + + + + end + modify_user_query_add_user_id + run + set_last_user_id + setup + + + (int) $this->batch_size + (int) $user_id + (int) $user_query->get_total() + + + + + is_wp_error( $result ) + + + $timestamp + + + add_provider_log_message + persist_all + register_possible_enrolment_change + restore_from_json + + + + + is_array( $log_entry ) + + + false + false + false + + + array + + + add_log_message + add_status + + + + + is_wp_error( $result ) + + + $provider_states + + + $provider_states + + + get_has_changed + persist_all + restore_from_json + set_has_changed + set_provider_states + + + (bool) $has_changed + + + + + set_stored_value + + + + + 'Sensei_Main' + + + $this + + + 'sensei_the_single_lesson_meta' + + + + + load_admin_assets + + + WP_Theme_JSON_Data|WP_Theme_JSON_Data_Gutenberg + WP_Theme_JSON_Data|WP_Theme_JSON_Data_Gutenberg + + + Sensei() + Sensei() + + + + + ! self::$instance + self::$instance + + + disable_legacy_emails + + + new Email_Seeder( new Email_Seeder_Data(), $this->repository, $template_repository ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + + $email_generators + + + Email_Generators_Abstract[] + + + + + validate_bulk_action_request + + + + + + prepare_items + + + $post + + + $post + $post + + + get_edit_post_link( $post ) + get_edit_post_link( $post->ID ) + + + Email_List_Table + Email_List_Table + Email_List_Table + Email_List_Table + + + + + $post->post_author + + + $query->posts[0] + + + require $path + + + + + WP_Block_Template + WP_Block_Template + WP_Block_Template + WP_Block_Template + WP_Block_Template + WP_Block_Template + + + + + init + register_block_patterns_category + register_email_block_patterns + register_email_editor_block_patterns + register_email_preview_block_patterns + + + WP_Screen + + + + + null === self::$instance + + + null + + + WP_Post_Type + + + + + get_post( $post_id ) + + + WP_Post|null + + + get_the_ID() + + + $this->get_email_post_for_preview() + $this->get_email_post_for_preview() + + + $post->ID + + + + + $query->posts[0] + + + \WP_Post|null + + + $post->ID + + + (int) $query->post_count + + + + + $emails + + + + + init + + + + + init + send_email + + + null + + + get_block_template( Email_Page_Template::ID, 'wp_template' )->content + + + get_block_template( Email_Page_Template::ID, 'wp_template' )->content + + + $template_repository + + + Email_Template_Repository + + + Sensei() + Sensei() + + + require Sensei()->plugin_path() . 'templates/emails/block-email-template.php' + + + + + [] + + + $key + $key + + + form_field_hidden + init + render_tabs + + + $this->settings->get_settings() + + + + + init + process + + + + + init + + + + + get_permalink( $course_id ) + + + completed_course_mail_to_student + + + \Sensei_Course::get_course_completed_page_url( $course_id ) ?? get_permalink( $course_id ) + + + \Sensei_Course::get_course_completed_page_url( $course_id ) + + + + + course_created_to_admin + + + $course->post_author + + + $course->post_author + + + $course->post_author + + + (int) $course_id + + + + + welcome_to_course_for_student + + + $course->ID + $course->post_author + $course->post_status + $course->post_title + + + + + send_email_action + + + + + course_new_teacher_assigned_email + + + + + quiz_graded_mail_to_student + + + get_permalink( $quiz_id ) + + + $course->ID + $lesson->ID + + + \Sensei() + \Sensei() + + + + + student_completed_course_mail_to_teacher + + + \Sensei() + \Sensei() + + + + + student_completed_lesson_mail_to_teacher + + + (int) $lesson_id + (int) $student_id + + + \Sensei() + + + + + $teacher_id + + + $message_receiver_user->ID + $message_sender_user->ID + $post->post_author + $post->post_type + $teacher->ID + $teacher->display_name + get_userdata( $recipient_id )->user_email + + + Sensei() + + + + + get_permalink( absint( $message_id ) ) + + + $course->ID + $message->ID + $message->post_content + $message->post_title + + + $course->ID + $message->ID + $message->post_content + $message->post_title + + + $course->ID + $message->ID + $message->post_content + $message->post_title + + + + + student_started_course_mail_to_teacher + + + $course->post_author + $course->post_status + $course->post_title + + + + + student_submits_quiz_mail_to_teacher + + + $course->ID + $lesson->ID + + + ! is_wp_error( $grade ) + + + \Sensei() + \Sensei() + + + + + $comment->user_id + $teacher_id + + + $commenter->display_name + $course->ID + $course->post_author + get_userdata( $teacher_id )->user_email + + + + + ! self::$instance + self::$instance + + + init + install + + + MINUTE_IN_SECONDS + SENSEI_LMS_PLUGIN_FILE + SENSEI_LMS_VERSION + + + + + run + + + + + require_once ABSPATH . 'wp-admin/includes/upgrade.php' + + + create_tables + + + Sensei() + + + + + $plugin_version + + + + + is_null( $this->errors ) + + + $value_sql + + + strng + + + + + $this->wpdb->get_results( $query ) + + + + + $grade_rows + + + + + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + $status_comment->comment_ID + is_numeric( $final_grade ) ? $final_grade : null + + + Sensei() + + + + + $row->created_at + $row->final_grade + $row->id + $row->quiz_id + $row->updated_at + $row->user_id + + + + + getTimestamp + getTimestamp + + + + + Course_Progress + + + $comment->comment_ID + $comment->comment_approved + $comment->comment_date + + + $this->get( $course_id, $user_id ) + + + $course_progress->get_status() + + + format + + + Sensei() + + + + + $row->completed_at + $row->created_at + $row->id + $row->post_id + $row->started_at + $row->status + $row->updated_at + $row->user_id + + + format + format + + + (int) $this->wpdb->insert_id + + + + + getTimestamp + getTimestamp + + + + + Lesson_Progress + + + $comment->comment_ID + $comment->comment_approved + $comment->comment_date + + + $this->get( $lesson_id, $user_id ) + + + $lesson_progress->get_status() + + + format + format + + + RuntimeException + + + RuntimeException + + + Sensei() + Sensei() + Sensei() + + + + + $row->completed_at + $row->created_at + $row->id + $row->post_id + $row->started_at + $row->status + $row->updated_at + $row->user_id + + + format + format + + + (int) $this->wpdb->insert_id + + + Sensei() + + + + + getTimestamp + getTimestamp + + + + + $comment->comment_ID + $comment->comment_approved + $comment->comment_date + + + $comments + $comments + + + $quiz_progress->get_status() + + + format + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $row->completed_at + $row->created_at + $row->id + $row->post_id + $row->started_at + $row->status + $row->updated_at + $row->user_id + + + format + format + + + (int) $this->wpdb->insert_id + + + + + handle + init + + + WP_Post + + + + + WP_Post + + + + + WP_Post + + + + + handle + init + + + + + init + process + + + + + $callback + + + new $subclass() + + + self::$instances[ $subclass ] + + + include_once ABSPATH . 'wp-admin/includes/plugin.php' + + + add_usage_tracking_two_week_schedule + enqueue_script_deps + get_event_prefix + get_instance + handle_tracking_opt_in + hide_tracking_opt_in + is_opt_in_hidden + maybe_display_tracking_opt_in + opt_in_dialog_text_allowed_html + output_opt_in_js + schedule_tracking_task + send_usage_data + set_callback + set_tracking_enabled + unschedule_tracking_task + + + $callback + + + + + get_instance + get_template_data + set_tracking_enabled + + + false + + + + + $args + $message + $title + + + $wp_die_args + + + get_wp_die_args + set_wp_die_args + + + + + WP_UnitTestCase + + + + + array( 'include' => $user_ids ) + + + $timestamp + + + $post->post_excerpt + $post->post_title + $post->post_title + $post->post_type + $post->post_type + + + $mail_poet_lists + $sensei_lists + + + (int) $mp_list_id + + + $exception + \MailPoet\API\API + \MailPoet\API\MP\v1\APIException + \MailPoet\API\MP\v1\APIException + \MailPoet\API\MP\v1\APIException + \MailPoet\API\MP\v1\APIException + + + SENSEI_LMS_PLUGIN_FILE + WP_PLUGIN_DIR + + + Sensei_MailPoet + Sensei_MailPoet + + + + + $args + + + $student + + + static function( $student ) { + + + $students + + + $post->ID + $post->post_excerpt + $post->post_title + $post->post_type + + + $student_ids + + + + + $subscriber + + + $sensei_mp_instance + $sensei_mp_instance + $sensei_mp_instance + $sensei_mp_instance + $sensei_mp_instance + + + + + backup_global_vars + reset_global_vars + set_global_vars + setup_post_query + + + $post->post_content + + + $post->post_content + + + $global_pages_ref + $global_post_ref + $global_wp_query_ref + $global_wp_the_query_ref + + + Sensei() + + + + + Sensei_Analysis_Overview_List_Table + + + ! self::$instance + self::$instance + + + global $wpdb; + + + + + add_orderby_custom_field_to_query + + + remove_filter( 'posts_orderby', array( $this, 'add_orderby_custom_field_to_query' ), 10, 2 ) + remove_filter( 'posts_orderby', array( $this, 'add_orderby_custom_field_to_query' ), 10, 2 ) + + + + + public function get_is_last_activity_filter_enabled() { + + + add_last_activity_to_user_query + add_orderby_custom_field_to_user_query + add_pre_user_query_hook + filter_users_by_last_activity + get_is_last_activity_filter_enabled + group_by_users + only_course_enrolled_users + + + + + + data_table_footer + extra_tablenav + output_course_select_input + output_top_filters + prepare_items + search_button + + + Sensei_Reports_Overview_List_Table_Abstract + Sensei_Reports_Overview_List_Table_Abstract + Sensei_Reports_Overview_List_Table_Abstract + Sensei_Reports_Overview_List_Table_Abstract + + + get_is_last_activity_filter_enabled + + + + + ceil( $this->reports_overview_service_courses->get_courses_average_grade( $all_course_ids ) ) + count( $all_course_ids ) + + + Sensei_Reports_Overview_List_Table_Courses + Sensei_Reports_Overview_List_Table_Courses + Sensei_Reports_Overview_List_Table_Courses + Sensei_Reports_Overview_List_Table_Courses + + + Sensei() + + + + + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $lessons + + + $value + + + $modules_terms + + + wp_get_object_terms( $lessons, 'module', $default_args ) + + + Sensei_Reports_Overview_List_Table_Lessons + Sensei_Reports_Overview_List_Table_Lessons + Sensei_Reports_Overview_List_Table_Lessons + Sensei_Reports_Overview_List_Table_Lessons + + + + + wp_date( get_option( 'date_format' ), $date->getTimestamp(), $timezone ) + + + string + + + $user_name + + + $user_name + + + $user_name + + + Sensei_Reports_Overview_List_Table_Students + Sensei_Reports_Overview_List_Table_Students + Sensei_Reports_Overview_List_Table_Students + Sensei_Reports_Overview_List_Table_Students + + + + + $acc + $current + + + function ( $acc, $current ) { + function ( $carry, $lesson ) use ( $lessons_completions ) { + + + empty( $lessons ) + + + + + WP_HTTP + + + register_routes + + + $result[ $student_id ][ $course_id ] + $result[ $student_id ][ $course_id ] + + + $course->post_type + + + $edit_course_cap + + + get_post_type_object( 'course' )->cap + + + Sensei_REST_API_Course_Progress_Controller + + + + + $course ? $course : null + + + WP_Post|null + + + get_schema_lessons + get_schema_modules + register_routes + + + get_error_code + get_error_message + + + $course->ID + $course->ID + get_post_type_object( 'course' )->cap->edit_post + get_post_type_object( 'course' )->cap->read_post + + + $course->ID + $course->ID + get_post_type_object( 'course' )->cap + get_post_type_object( 'course' )->cap + + + Sensei_REST_API_Course_Structure_Controller + + + Sensei() + + + + + WP_HTTP + WP_HTTP + + + register_routes + + + $result[ $user_id ][ $course_id ] + $result[ $user_id ][ $course_id ] + + + $course->post_type + + + $edit_course_cap + + + get_post_type_object( 'course' )->cap + + + Sensei_REST_API_Course_Students_Controller + + + + + WP_HTTP + WP_HTTP + + + wp_verify_nonce( $nonce, \Sensei_Teacher::NONCE_ACTION_NAME ) + + + boolean + + + register_routes + + + $post->post_type + + + $post->post_type + $post_type->cap->edit_post + + + $post->post_type + $post_type->cap + + + Sensei_REST_API_Course_Utils_Controller + + + Sensei() + Sensei() + + + + + $allow_current && 'active' === $job_id + 'active' === $job_id + + + [ 'id' => null ] + + + WP_REST_Response|WP_Error + + + $job_id + $job_id + sanitize_text_field( $request->get_param( 'job_id' ) ) + sanitize_text_field( $request->get_param( 'job_id' ) ) + sanitize_text_field( $request->get_param( 'job_id' ) ) + + + $handler_class::get_file_config() + + + register_routes + + + $request->get_param( 'job_id' ) + $request->get_param( 'job_id' ) + $request->get_param( 'job_id' ) + $request->get_param( 'job_id' ) + + + Sensei_REST_API_Data_Port_Controller + Sensei_REST_API_Data_Port_Controller + + + get_result_counts + + + + + sanitize_text_field( $request->get_param( 'job_id' ) ) + + + $request->get_param( 'job_id' ) + + + Sensei_REST_API_Export_Controller + + + $job + $job + + + + + $error + $skin->result + + + WP_REST_Response|WP_Error + bool|WP_Error + + + $param + $param + $param + $param + + + function ( $plugin ) { + + + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' + require_once ABSPATH . 'wp-admin/includes/file.php' + + + register_routes + + + Sensei_REST_API_Extensions_Controller + + + + + register_get_data_route + register_mark_tasks_complete_route + register_routes + + + Sensei_REST_API_Home_Controller + + + + + ! $job + ! $job + + + $job + + + $result + + + WP_REST_Response|WP_Error + + + sanitize_text_field( $request->get_param( 'job_id' ) ) + + + register_routes + + + $result + + + $request->get_param( 'file_key' ) + $request->get_param( 'file_key' ) + $request->get_param( 'file_key' ) + $request->get_param( 'job_id' ) + + + Sensei_REST_API_Import_Controller + + + Sensei() + Sensei() + + + + + register + + + + + + is_wp_error( $quiz_id ) + + + $question_id + $quiz_id + + + WP_REST_Response|WP_Error + + + register_routes + + + $lesson + $lesson + $lesson + $question + get_post( $quiz ) + get_post( $quiz_id ) + + + get_error_code + get_error_data + + + $lesson->ID + $lesson->ID + $lesson->ID + $lesson->ID + $lesson->post_status + $lesson->post_title + $lesson->post_type + $lesson->post_type + + + $lesson->ID + get_post_type_object( 'lesson' )->cap->edit_post + get_post_type_object( 'lesson' )->cap->edit_post + + + $lesson->ID + $lesson->ID + $lesson->post_status + $lesson->post_title + get_post_type_object( 'lesson' )->cap + get_post_type_object( 'lesson' )->cap + + + Sensei_REST_API_Lesson_Quiz_Controller + + + is_wp_error( $result ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + $value + $value + $value + + + init_post_meta + + + $prepared + + + $post->ID + + + $post->ID + + + Sensei_REST_API_Lessons_Controller + Sensei_REST_API_Lessons_Controller + Sensei_REST_API_Lessons_Controller + Sensei_REST_API_Lessons_Controller + Sensei_REST_API_Lessons_Controller + + + Sensei() + Sensei() + + + + + empty( $current_user ) + + + $object + $object + $object + $value + + + function ( $value ) { + function( $object ) { + + + Sensei_REST_API_Messages_Controller + Sensei_REST_API_Messages_Controller + Sensei_REST_API_Messages_Controller + Sensei_REST_API_Messages_Controller + Sensei_REST_API_Messages_Controller + + + $post->ID + $post->post_author + + + + + $post_args + + + $post_args + + + migrate_non_editor_question + + + $question_categories + + + $mimetype + wp_get_attachment_url( $question_media_id ) + + + $attachment_src[0] + + + $attachment->ID + $attachment->post_title + $question_category->name + $question_category->term_id + + + $attachment->post_title + $question_id + get_post_type_object( 'multiple_question' )->cap->edit_post + get_post_type_object( 'question' )->cap->edit_post + get_post_type_object( 'question' )->cap->edit_post + + + $attachment->ID + $attachment->post_title + get_post_type_object( 'multiple_question' )->cap + get_post_type_object( 'question' )->cap + get_post_type_object( 'question' )->cap + + + ! is_wp_error( $result ) + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $question_category->name + $question_category->term_id + + + + + + register_routes + + + $question + $question + $question_post + $question_post + + + $question->post_type + + + Sensei_REST_API_Question_Options_Controller + + + + + -1 + + + WP_Error|WP_Post|WP_REST_Response + WP_Error|WP_Post|WP_REST_Response + + + '' + + + $question_id + + + WP_Error|WP_Post|WP_REST_Response + + + $object + + + function( $object ) { + + + $post + $question_id + get_post( $question_id ) + + + get_error_code + + + $question->post_author + + + $post_type->cap->edit_posts + + + $post_type->cap + $question->post_author + + + Sensei_REST_API_Questions_Controller + Sensei_REST_API_Questions_Controller + Sensei_REST_API_Questions_Controller + Sensei_REST_API_Questions_Controller + Sensei_REST_API_Questions_Controller + + + $current_user + $current_user + + + Sensei() + Sensei() + + + $response->data + + + $response->data + + + + + is_wp_error( $post ) + + + $fail_response + $fail_response + wp_verify_nonce( $nonce, \Sensei_Messages::NONCE_ACTION_NAME ) + + + boolean + string + + + register_routes + + + $post->ID + $post->ID + $post->ID + $post->ID + $post->post_author + $post->post_type + + + $post->ID + $post->ID + $post->ID + $post->ID + $post->post_author + $post->post_type + + + Sensei_REST_API_Send_Message_Controller + + + \Sensei() + \Sensei() + \Sensei() + \Sensei() + + + + + install_extensions + + + get_json_params + get_json_params + + + complete_setup_wizard + register_complete_wizard_route + register_get_data_route + register_get_features_route + register_routes + register_setup_wizard_settings + register_submit_features_installation_route + register_submit_features_route + register_submit_purpose_route + register_submit_theme_route + register_submit_tracking_route + register_submit_welcome_route + update_setup_wizard_settings + + + Sensei_REST_API_Setup_Wizard_Controller + + + $this->setup_wizard->pages + + + Sensei() + Sensei() + Sensei() + + + + + + is_null( $result ) + is_wp_error( $api ) + + + include_once ABSPATH . '/wp-admin/includes/admin.php' + include_once ABSPATH . '/wp-admin/includes/class-theme-upgrader.php' + include_once ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' + include_once ABSPATH . '/wp-admin/includes/theme-install.php' + include_once ABSPATH . '/wp-admin/includes/theme.php' + + + register_routes + + + $api->download_link + + + Sensei_REST_API_Theme_Controller + + + + + $base + $base + + + $rgb + + + string + + + $alternative + $hook_tag + $post + $version + + + sensei_do_deprecated_action + sensei_log_event + sensei_log_jetpack_event + + + get_the_ID() + + + $page->ID + get_post( $course_id )->post_author + + + get_post( $course_id )->post_author + + + Jetpack + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + 'course-category' + + + $category_ids + + + mixed + + + $categories + + + get_term_link( $category ) + + + get_terms( 'course-category', $args ) + + + $term->term_id + + + $this->exclude + $this->hide_empty + $this->include + $this->number + $this->order + $this->orderby + $this->parent + + + $this->exclude + $this->hide_empty + $this->include + $this->number + $this->order + $this->orderby + $this->parent + + + + + array( $this->renderer, 'set_global_vars' ) + + + new Sensei_Renderer_Single_Post( $this->id, 'single-course.php', $attributes ) + + + $renderer + + + $e + Sensei_Renderer_Missing_Fields_Exception + + + $this->renderer + Sensei_Renderer_Single_Course + + + + + ! empty( $this->exclude ) && is_array( $this->exclude ) + ! empty( $this->ids ) && is_array( $this->ids ) + is_array( $this->exclude ) + is_array( $this->ids ) + + + $teachers + + + $global_product + + + setup_course_query + + + empty( $exclude ) ? '' : explode( ',', $exclude ) + empty( $ids ) ? '' : explode( ',', $ids ) + + + $user->ID + + + + + setup_course_query + + + + + new WP_Query( $args ) + + + $lesson_page_query + + + $this->id + + + + + 'WP_Post' + + + $attributes + $code + $content + + + initialize_shortcodes + setup_shortcode_class_map + + + $shortcode_classes + + + + + 'WP_User' + + + $this->exclude + array( 'include' => $this->include ) + + + $this->convert_usernames_to_ids( $exclude ) + $this->convert_usernames_to_ids( $include ) + + + $user + $user_1 + $user_2 + $users + $users + + + setup_teacher_query + + + $exclude + $include + + + is_array( $users ) + + + which + which + + + + + $key === $this->status + $key === $this->status + 'active' === $this->status + 'active' === $this->status + 'active' === $this->status + 'active' === $this->status + 'complete' === $this->status + 'complete' === $this->status + 'complete' === $this->status + 'complete' === $this->status + + + isset( $attributes['number'] ) ? absint( $attributes['number'] ) : $per_page + + + $course_status + $user_id + + + active_no_course_message_output + add_course_details_wrapper_end + add_course_details_wrapper_start + attach_course_buttons + attach_course_progress + attach_shortcode_hooks + completed_no_course_message_output + course_category + course_toggle_actions + detach_shortcode_hooks + is_my_courses + no_course_message_output + print_course_toggle_actions_inline_script + setup_course_query + should_filter_course_by_status + + + $category_output + $course + + + $query + + + status + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + mixed + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + + + ! $item + ! $item + ! $item + $item + + + get_permalink( $item->ID ) + + + $args + + + string + + + html + html + string + string + string + + + $lesson_id + $lesson_id + sensei_get_the_module_id() + + + $args + $path + $post_id + $post_id + $question_type + $template_name + + + get_sensei_footer + get_sensei_header + sensei_courses_per_row + sensei_get_template + sensei_get_the_question_id + sensei_load_template + sensei_load_template_part + sensei_setup_module + sensei_setup_the_question + sensei_the_course_results_lessons + sensei_the_excerpt + sensei_the_lesson_excerpt + sensei_the_lesson_status_class + sensei_the_module_description + sensei_the_module_id + sensei_the_module_status + sensei_the_my_courses_content + sensei_the_question_class + sensei_the_question_content + sensei_the_single_lesson_meta + the_no_permissions_message + the_no_permissions_title + + + get_permalink( $course_id ) + get_the_ID() + + + $item + get_post( $lesson_id ) + + + Sensei_Course::get_loop_number_of_columns() + + + is_array( $modules_and_lessons ) + + + the_excerpt( $post ) + + + html + html + + + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + Sensei() + + + $item->ID + $item->name + $item->post_title + $item->term_id + $item->term_id + + + + + get_supported_themes + possibly_load_supported_theme_wrappers + setup_currently_active_theme + setup_themes + + + Sensei() + Sensei() + Sensei() + + + + + wrapper_end + wrapper_start + + + + + print_styles + wrapper_start + + + + + wrapper_end + wrapper_start + + + + + wrapper_end + wrapper_start + + + + + wrapper_end + wrapper_start + + + + + wrapper_end + wrapper_start + + + + + wrapper_end + wrapper_start + + + + + empty( $post_to_copy ) + + + handle_request + prepare_wp_query + + + $post_to_copy + + + $post_to_copy + + + Sensei() + + + + + handle_request + prepare_wp_query + + + $post_to_copy + + + $post_to_copy + + + OBJECT + + + + + true + + + add_filter_hide_the_title + get_option + handle_request + remove_filter_hide_the_title + + + get_the_ID() + + + $post_id + + + remove_filter( 'the_title', array( $this, 'hide_the_title' ), 20, 2 ) + + + + + ! $learner_user + $learner_user + + + handle_request + prepare_wp_query + + + $post_to_copy + + + $post_to_copy + + + + + handle_request + + + Sensei() + + + + + handle_request + prepare_wp_query + + + + + handle_request + prepare_wp_query + + + $post_to_copy + + + $post_to_copy + + + $course + + + $module->name + + + $module->name + $module->slug + + + Sensei() + Sensei() + + + $module->name + $module->slug + + + $module->slug + + + + + ! $this->original_query + $this->dummy_post->ID === $id + $this->original_query + + + do_sensei_pagination + output_content_as_page + prepare_wp_query + setup_original_query + + + $object_to_copy + $object_to_copy + + + + + $author + + + handle_request + prepare_wp_query + + + $this->author + + + get_user_by( 'id', get_query_var( 'author' ) ) + + + + + disable_comments + disable_theme_pagination + reenable_comments + + + + + handle_request + + + + + $quiz->ID + $quiz->post_author + + + (int) $offset + + + Sensei() + + + + + $question + + + $question->ID + $question->post_type + + + (int) $offset + + + + + $email_address + + + sensei_after_sending_email + sensei_before_mail + + + + + \Sensei\Internal\Installer\Installer::instance( SENSEI_LMS_VERSION ) + init + + + global $woothemes_sensei; + + + Sensei + activate_sensei + + + $plugin + + + require SENSEI_LMS_PLUGIN_PATH . 'vendor/autoload.php' + + + + + function get_objects_in_term($term_ids, $taxonomies, $args = array()) + function wp_remote_request($url, $args = array()) + + + diff --git a/psalm.xml b/psalm.xml index ca37a64ae1..e58e31304d 100644 --- a/psalm.xml +++ b/psalm.xml @@ -1,5 +1,5 @@ - +