芝麻web文件管理V1.00
编辑当前文件:/home/sditechnicalteam/socialdigivlms.com/wp-content/plugins/tutor-pro/classes/Quiz.php
* @link https://themeum.com * @since 2.2.0 */ namespace TUTOR_PRO; use TUTOR\Input; /** * Class Quiz * * @since 2.2.0 */ class Quiz { /** * Register hooks * * @since 2.2.0 * * @return void */ public function __construct() { add_filter( 'tutor_quiz_question_data', array( $this, 'extend_question_data' ) ); add_action( 'tutor_quiz_question_form_after_answer_list', array( $this, 'extend_question_form' ) ); add_action( 'tutor_quiz_attempt_details_loop_after_row', array( $this, 'correct_answer_explanation_content' ), 10, 2 ); add_action( 'tutor_quiz_question_desc_field', array( $this, 'add_wp_editor_to_quiz_question_desc' ) ); add_action( 'tutor_quiz_question_desc_render', array( $this, 'render_question_description' ), 10, 2 ); } /** * Add WP editor support to quiz question description. * * @since 2.2.3 * * @param object $question_obj question object. * * @return void */ public function add_wp_editor_to_quiz_question_desc( $question_obj ) { wp_editor( $question_obj->question_description, 'tutor_quiz_desc_text_editor', array( 'editor_height' => 150 ) ); } /** * Render question description data. * * @since 2.2.3 * * @param string $description description with HTML markup. * @param object $question question object. * * @return void */ public function render_question_description( $description, $question ) { add_filter( 'wp_kses_allowed_html', Input::class . '::allow_iframe', 10, 2 ); echo do_shortcode( wp_kses_post( $description ) ); } /** * Add data to question during add/edit quiz question. * * @since 2.2.0 * * @param array $data question data. * * @return array question data. */ public function extend_question_data( $data ) { $data['answer_explanation'] = ''; $question_id = Input::post( 'tutor_quiz_question_id', 0, Input::TYPE_INT ); if ( $question_id ) { $explanation = Input::post( 'answer_explanation', '', Input::TYPE_KSES_POST ); if ( '
' === $explanation ) { $explanation = ''; } $data['answer_explanation'] = $explanation; } /** * WP editor support to Quiz question * * @since 2.2.3 */ $html_mode = Input::post( 'is_html_active', false, Input::TYPE_BOOL ); if ( $html_mode ) { add_filter( 'wp_kses_allowed_html', Input::class . '::allow_iframe', 10, 2 ); $data['question_description'] = Input::post( 'tutor_quiz_desc_text_editor', '', Input::TYPE_KSES_POST ); } return $data; } /** * Extend quiz question form. * * @since 2.2.0 * * @param object $question question object. * * @return void */ public function extend_question_form( $question ) { ?>
answer_explanation ?? '' ) ); ?> </textarea>
answer_explanation ) ) ) > 0 && 'pending' !== $answer_status ) : ?>
answer_explanation ) ); ?>