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 @@
-
+