From 5aa52d146dfb587d1ff89c3ff15998bab87c95ea Mon Sep 17 00:00:00 2001 From: Mohammad Zubair Ali Date: Thu, 21 Mar 2024 13:41:04 +0530 Subject: [PATCH] added advanced assessment promotional popup --- js/qsm-admin.js | 6 ++ mlw_quizmaster2.php | 7 +- php/admin/functions.php | 47 +++++++---- php/admin/options-page-email-tab.php | 49 ++++++++---- php/admin/options-page-results-page-tab.php | 83 ++++++++++++-------- php/admin/quiz-options-page.php | 14 ++++ php/images/advance-assessment-chart.png | Bin 0 -> 23527 bytes readme.txt | 2 +- 8 files changed, 141 insertions(+), 67 deletions(-) create mode 100644 php/images/advance-assessment-chart.png diff --git a/js/qsm-admin.js b/js/qsm-admin.js index 198f566ae..10f24f044 100644 --- a/js/qsm-admin.js +++ b/js/qsm-admin.js @@ -3890,6 +3890,9 @@ var import_button; jQuery(document).on('click', '.qsm-mark-as-default', function () { jQuery('.qsm-mark-as-default').not(jQuery(this)).prop('checked', false); }) + jQuery(document).on('click', '.qsm-upgrade-popup-advanced-assessment-variable', function () { + MicroModal.show('modal-advanced-assessment'); + }); function qsmHandleConditionChange(containerClass, extraCategoryClass, operatorClass, criteriaClass, defaultValueClass) { jQuery(document).on('change', '.' + containerClass + '-category', function () { let container = jQuery(this).closest('.' + containerClass); @@ -3918,6 +3921,9 @@ var import_button; container.find('.' + operatorClass + ' option').hide().prop("selected", true); container.find('.' + operatorClass + ' option.default_operator').show().prop("selected", true); container.find('option.qsm-score-criteria').show(); + } else if ('option-pro' == jQuery(this).val() || 'label-pro' == jQuery(this).val()) { + jQuery(this).val('quiz'); + MicroModal.show('modal-advanced-assessment'); } }); } diff --git a/mlw_quizmaster2.php b/mlw_quizmaster2.php index e3bd407b4..ec46f4c26 100644 --- a/mlw_quizmaster2.php +++ b/mlw_quizmaster2.php @@ -2,7 +2,7 @@ /** * Plugin Name: Quiz And Survey Master * Description: Easily and quickly add quizzes and surveys to your website. - * Version: 8.2.3 + * Version: 9.0.0 * Author: ExpressTech * Author URI: https://quizandsurveymaster.com/ * Plugin URI: https://expresstech.io/ @@ -43,7 +43,7 @@ class MLWQuizMasterNext { * @var string * @since 4.0.0 */ - public $version = '8.2.3'; + public $version = '9.0.0'; /** * QSM Alert Manager Object @@ -650,6 +650,9 @@ public function setup_admin_menu() { add_submenu_page( 'qsm_dashboard', __( 'Addon Settings', 'quiz-master-next' ), '' . __( 'Addons', 'quiz-master-next' ) . '', 'moderate_comments', 'qmn_addons', 'qmn_addons_page' ); add_submenu_page( 'qsm_dashboard', __( 'Get a Free Addon', 'quiz-master-next' ), '' . esc_html__( 'Get a Free Addon!', 'quiz-master-next' ) . '', 'moderate_comments', 'qsm-free-addon', 'qsm_display_optin_page' ); add_submenu_page( 'qsm_dashboard', __( 'About', 'quiz-master-next' ), __( 'About', 'quiz-master-next' ), 'moderate_comments', 'qsm_quiz_about', 'qsm_generate_about_page' ); + if ( ! class_exists( 'QSM_Advanced_Assessment' ) ) { + add_submenu_page( 'qsm_dashboard', __( 'Answer Labels', 'quiz-master-next' ), __( 'Answer Labels', 'quiz-master-next' ), 'manage_options', 'qsm-answer-label', 'qsm_advanced_assessment_quiz_page_content', 3 ); + } // Register screen option for dashboard page add_action( 'screen_settings', 'qsm_dashboard_screen_options', 10, 2 ); } diff --git a/php/admin/functions.php b/php/admin/functions.php index e0e01023c..30b525b3f 100644 --- a/php/admin/functions.php +++ b/php/admin/functions.php @@ -1421,13 +1421,9 @@ function qsm_extra_template_and_leaderboard( $variable_list ) { '%CATEGORY_PERCENTAGE_X%' => __('X:Category Name - This variable displays the percentage of any selected category out of the total quiz score.', 'quiz-master-next'), '%COUNT_UNATTEMPTED%' => __('This variable displays the total number of questions not attempted or not counted by the user.', 'quiz-master-next'), ); - if ( version_compare( $mlwQuizMasterNext->version, '7.3.4', '>' ) ) { - $extra_variables = array( - 'Extra Template Variables' => $template_array, - ); - } else { - $extra_variables = $template_array; - } + $extra_variables = array( + 'Extra Template Variables' => $template_array, + ); $variable_list = array_merge($variable_list, $extra_variables); } if ( ! class_exists('Mlw_Qmn_Al_Widget') ) { @@ -1437,15 +1433,23 @@ function qsm_extra_template_and_leaderboard( $variable_list ) { '%LEADERBOARD_POSITION_URL%' => __('Display Leaderboard URL to check position.', 'quiz-master-next' ), ); - if ( version_compare( $mlwQuizMasterNext->version, '7.3.4', '>' ) ) { - $leaderboard = array( - 'Advanced Leaderboard' => $template_array, - ); - } else { - $extra_variables = $template_array; - } + $leaderboard = array( + 'Advanced Leaderboard' => $template_array, + ); $variable_list = array_merge($variable_list, $leaderboard ); } + if ( ! class_exists('QSM_Advanced_Assessment') ) { + $template_array = array( + '%ANSWER_LABEL_POINTS%' => __( 'The amount of points of all labels earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_POINTS_X%' => __( 'X: Answer label slug - The amount of points a specific label earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_COUNTS%' => __( 'The amount of counts of all labels earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_COUNTS_X%' => __( 'X: Answer label slug - The amount of counts a specific label earned.', 'quiz-master-next' ), + ); + $advanced_assessment = array( + 'Advanced Assessment' => $template_array, + ); + $variable_list = array_merge( $variable_list, $advanced_assessment ); + } return $variable_list; } /** @@ -1540,4 +1544,19 @@ function qsm_get_input_label_selected( $param ) { esc_attr( $param['name'] ), wp_kses( $options ,$allowed_tags) ); +} +function qsm_advanced_assessment_quiz_page_content() { + $args = array( + "id" => 'advanced-assessment', + "title" => __( 'Advanced Assessment', 'quiz-master-next' ), + "description" => __( 'Create assessments with ease using Advanced Assessment. With features like label assignment, personalized results, and insightful data visualization, you can engage your audience effectively.', 'quiz-master-next' ), + "chart_image" => plugins_url( '', dirname( __FILE__ ) ) . '/images/advance-assessment-chart.png', + "warning" => __( 'Missing Feature - Advanced Assessment Add-on required', 'quiz-master-next' ), + "information" => __( 'Get all our add-ons at a discounted rate with the QSM Addon Bundle and save up to 95% today! Alternatively, you can also purchase the Advanced Assessment Addon separately.', 'quiz-master-next' ), + "buy_btn_text" => __( 'Buy Quiz Advanced Assessment', 'quiz-master-next' ), + "doc_link" => qsm_get_plugin_link( 'docs/add-ons/advanced-assessment', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + "upgrade_link" => qsm_get_plugin_link( 'pricing', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + "addon_link" => qsm_get_plugin_link( 'downloads/advanced-assessment', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + ); + qsm_admin_upgrade_content( $args, 'page' ); } \ No newline at end of file diff --git a/php/admin/options-page-email-tab.php b/php/admin/options-page-email-tab.php index 945e90aef..38d6b122d 100644 --- a/php/admin/options-page-email-tab.php +++ b/php/admin/options-page-email-tab.php @@ -99,14 +99,27 @@ function qsm_options_emails_tab_content() { $upgrade_link = "";$variable = ""; $tooltip = ''; if ( ( ! class_exists( 'QSM_Extra_Variables' ) ) && ( 'Extra Template Variables' == $category_name ) ) { - $upgrade_link = qsm_get_plugin_link( 'extra-template-variables' ); + $upgrade_link = qsm_get_plugin_link('extra-template-variables'); $classname = "qsm-upgrade-popup-variable"; $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; + } if ( ( ! class_exists( 'Mlw_Qmn_Al_Widget' ) ) && ( 'Advanced Leaderboard' == $category_name ) ) { - $upgrade_link = qsm_get_plugin_link( 'downloads/advanced-leaderboard/' ); + $upgrade_link = qsm_get_plugin_link('downloads/advanced-leaderboard/'); $classname = "qsm-upgrade-popup-variable"; $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; + + } + if ( ( ! class_exists( 'QSM_Analysis' ) ) && ( 'Analysis' == $category_name ) ) { + $upgrade_link = qsm_get_plugin_link('downloads/results-analysis/'); + $classname = "qsm-upgrade-popup-variable"; + $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; + + } + if ( ( ! class_exists( 'QSM_Advanced_Assessment' ) ) && ( 'Advanced Assessment' == $category_name ) ) { + $upgrade_link = qsm_get_plugin_link( 'downloads/advanced-assessment/' ); + $classname = "qsm-upgrade-popup-variable qsm-upgrade-popup-advanced-assessment-variable"; + $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; } ?>

@@ -115,19 +128,19 @@ function qsm_options_emails_tab_content() { ?> selected<# } #>> - - + + + +
diff --git a/php/admin/options-page-results-page-tab.php b/php/admin/options-page-results-page-tab.php index 165e08c2e..38ee12fbc 100644 --- a/php/admin/options-page-results-page-tab.php +++ b/php/admin/options-page-results-page-tab.php @@ -73,35 +73,41 @@ function qsm_options_results_tab_content() { $variable_list['Core']['%RESULT_ID%'] = __( 'Show result id', 'quiz-master-next' ); $variable_list = qsm_extra_template_and_leaderboard($variable_list); if ( ! class_exists('QSM_Analysis') ) { - global $mlwQuizMasterNext; - $template_array = array( - '%QSM_PIECHART_RESULT_X%' => __( 'X: Question ID, Display the answers piechart.', 'quiz-master-next' ), - ); - if ( version_compare( $mlwQuizMasterNext->version, '7.3.4', '>' ) ) { + $template_array = array( + '%QSM_PIECHART_RESULT_X%' => __( 'X: Question ID, Display the answers piechart.', 'quiz-master-next' ), + '%QSM_BARCHART_RESULT_X%' => __( 'X: Question ID, Display the answers barchart.', 'quiz-master-next' ), + '%CATEGORY_POINTS_PIECHART%' => __( 'Display the point based category piechart.', 'quiz-master-next' ), + '%CATEGORY_POINTS_BARCHART%' => __( 'Display the point based category barchart.', 'quiz-master-next' ), + ); $analysis = array( 'Analysis' => $template_array, ); - } else { - $analysis = $template_array; + $variable_list = array_merge( $variable_list, $analysis ); } - $variable_list = array_merge( $variable_list, $analysis ); + if ( ! class_exists('QSM_Advanced_Assessment') ) { + $template_array = array( + '%ANSWER_LABEL_POINTS%' => __( 'The amount of points of all labels earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_POINTS_X%' => __( 'X: Answer label slug - The amount of points a specific label earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_COUNTS%' => __( 'The amount of counts of all labels earned.', 'quiz-master-next' ), + '%ANSWER_LABEL_COUNTS_X%' => __( 'X: Answer label slug - The amount of counts a specific label earned.', 'quiz-master-next' ), + ); + if ( ! empty( $_GET['tab'] ) && 'results-pages' === $_GET['tab'] ) { + $template_array['%ANSWER_LABEL_POINTS_PIE_CHART%'] = __( 'Display piechart based on points.', 'quiz-master-next' ); + $template_array['%ANSWER_LABEL_COUNTS_PIE_CHART%'] = __( 'Display piechart based on counts.', 'quiz-master-next' ); + } + $advanced_assessment = array( + 'Advanced Assessment' => $template_array, + ); + $variable_list = array_merge( $variable_list, $advanced_assessment ); } if ( ! class_exists('QSM_Exporting') ) { - global $mlwQuizMasterNext; - $template_array = array( - '%PDF_BUTTON%' => __( 'Displays download button on the results page.', 'quiz-master-next' ), - ); - $download_results = array( - 'Export Results' => $template_array, - ); - if ( version_compare( $mlwQuizMasterNext->version, '7.3.4', '>' ) ) { + $template_array = array( + '%PDF_BUTTON%' => __( 'Displays download button on the results page.', 'quiz-master-next' ), + ); $download_results = array( 'Export Results' => $template_array, ); - } else { - $download_results = $template_array ; - } - $variable_list = array_merge($variable_list, $download_results); + $variable_list = array_merge($variable_list, $download_results); } //filter to add or remove variables from variable list for pdf tab $variable_list = apply_filters( 'qsm_text_variable_list_result', $variable_list ); @@ -142,6 +148,11 @@ function qsm_options_results_tab_content() { $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; } + if ( ( ! class_exists( 'QSM_Advanced_Assessment' ) ) && ( 'Advanced Assessment' == $category_name ) ) { + $upgrade_link = qsm_get_plugin_link( 'downloads/advanced-assessment/' ); + $classname = "qsm-upgrade-popup-variable qsm-upgrade-popup-advanced-assessment-variable"; + $qsm_badge = "".esc_html__( 'PRO', 'quiz-master-next' ).""; + } ?>

selected<# } #>> - - + + + +
diff --git a/php/admin/quiz-options-page.php b/php/admin/quiz-options-page.php index 2755ba359..26e3af63f 100644 --- a/php/admin/quiz-options-page.php +++ b/php/admin/quiz-options-page.php @@ -315,6 +315,20 @@ function qsm_generate_quiz_options() { $style_tags[] = '.question[data-question-type="16"]'; $style_tags[] = '.question[data-question-type="17"]'; } + if ( ! class_exists('QSM_Advanced_Assessment') ) { + $qsm_pop_up_arguments = array( + "id" => 'modal-advanced-assessment', + "title" => __('Advanced Assessment', 'quiz-master-next'), + "description" => __('Create assessments with ease using Advanced Assessment. With features like label assignment, personalized results, and insightful data visualization, you can engage your audience effectively.', 'quiz-master-next'), + "chart_image" => plugins_url('', dirname(__FILE__)) . '/images/advance-assessment-chart.png', + "information" => __( 'Get all our add-ons at a discounted rate with the QSM Addon Bundle and save up to 95% today! Alternatively, you can also purchase the Advanced Assessment Addon separately.', 'quiz-master-next' ), + "buy_btn_text" => __( 'Buy Quiz Advanced Assessment', 'quiz-master-next' ), + "doc_link" => qsm_get_plugin_link( 'docs/add-ons/advanced-assessment', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + "upgrade_link" => qsm_get_plugin_link( 'pricing', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + "addon_link" => qsm_get_plugin_link( 'downloads/advanced-assessment', 'quiz-documentation', 'plugin', 'advanced-assessment', 'qsm_plugin_upsell' ), + ); + qsm_admin_upgrade_popup($qsm_pop_up_arguments); + } if ( ! class_exists('QSM_Flashcards') ) { $style_tags[] = '.question[data-question-type="18"]'; } diff --git a/php/images/advance-assessment-chart.png b/php/images/advance-assessment-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..a923a1787e32ead5af05587abd8b161e02846b92 GIT binary patch literal 23527 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℞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 MDo>Tmlq|#k4+I77!T