Version Description
- January 20, 2022 =
New: Now you can add Videos using a Shortcode Fix: Issue of HTML codes disappearing after saving a Quiz Fix: Issue regarding video not working using Embedded code Fix: Presto Player Shortcode wasn't saving in the video source Update: Better user input field sanitization ensure SQL Injection Update: Better security of HTML output of user-provided input Update: XSS vulnerability protection is made stronger
Download this release
Release Info
Developer | themeum |
Plugin | Tutor LMS – eLearning and online course solution |
Version | 1.9.14 |
Comparing to | |
See all releases |
Code changes from version 1.9.13 to 1.9.14
- assets/js/tutor-admin.js +1 -1
- assets/js/tutor-front.js +1 -1
- classes/Admin.php +1 -1
- classes/Ajax.php +8 -8
- classes/Course.php +18 -32
- classes/Course_Filter.php +4 -4
- classes/Dashboard.php +2 -8
- classes/FormHandler.php +1 -1
- classes/Instructor.php +1 -1
- classes/Instructors_List.php +2 -2
- classes/Lesson.php +9 -9
- classes/Options.php +2 -1
- classes/Q_and_A.php +1 -1
- classes/Quiz.php +16 -16
- classes/Quiz_Attempts_List.php +1 -1
- classes/Shortcode.php +2 -2
- classes/Tutor_List_Table.php +5 -5
- classes/Tutor_Setup.php +1 -1
- classes/Utils.php +4 -3
- classes/Video_Stream.php +1 -1
- classes/Withdraw_Requests_List.php +3 -3
- classes/WooCommerce.php +2 -2
- includes/tutor-general-functions.php +44 -4
- includes/tutor-template-functions.php +53 -72
- languages/tutor.pot +308 -300
- readme.txt +14 -2
- templates/dashboard.php +1 -1
- templates/dashboard/announcements/create.php +1 -1
- templates/dashboard/announcements/update.php +1 -1
- templates/dashboard/assignments/review.php +4 -4
- templates/dashboard/create-course.php +8 -8
- templates/dashboard/dashboard.php +7 -5
- templates/dashboard/my-profile.php +6 -6
- templates/dashboard/my-quiz-attempts/attempts-details.php +1 -1
- templates/dashboard/purchase_history.php +1 -1
- templates/dashboard/quiz-attempts/quiz-reviews.php +1 -1
- templates/shortcode/instructor-filter.php +1 -1
- templates/single-preview-lesson.php +12 -30
- templates/single/course/review-form.php +1 -1
- templates/single/next-previous-pagination.php +6 -2
- templates/single/video/shortcode.php +28 -0
- templates/student-public-profile.php +7 -7
- tutor.php +2 -2
- views/metabox/video-metabox.php +12 -8
- views/modal/question_answer_edit_form.php +17 -17
- views/modal/question_answer_form.php +21 -21
- views/modal/question_form.php +7 -7
- views/pages/view_attempt.php +26 -35
assets/js/tutor-admin.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(()=>{var o={623:()=>{function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a,n,i=[],r=!0,s=!1;try{for(o=o.call(t);!(r=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){s=!0,n=t}finally{try{r||null==o.return||o.return()}finally{if(s)throw n}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(o="Object"===o&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?a(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,a=new Array(e);o<e;o++)a[o]=t[o];return a}window.tutor_get_nonce_data=function(t){var e=window._tutorobject||{},o=e.nonce_key||"",e=e[o]||"";return t?{key:o,value:e}:(t=e,(e=o)in(o={})?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o)},window.tutor_popup=function(r,o,a){var s,u=this;return this.popup_wrapper=function(t){var e=""===o?"":'<img class="tutor-pop-icon" src="'+window._tutorobject.tutor_url+"assets/images/"+o+'.svg"/>';return"<"+t+' class="tutor-component-popup-container"> <div class="tutor-component-popup-'+a+'"> <div class="tutor-component-content-container">'+e+'</div> <div class="tutor-component-button-container"></div> </div> </'+t+">"},this.popup=function(o){var t=o.title?"<h3>"+o.title+"</h3>":"",e=o.description?"<p>"+o.description+"</p>":"",a=Object.keys(o.buttons||{}).map(function(t){var e=o.buttons[t],t=e.id?"tutor-popup-"+e.id:"";return r('<button id="'+t+'" class="tutor-button tutor-button-'+e.class+'">'+e.title+"</button>").click(e.callback)}),n=(s=r(u.popup_wrapper(o.wrapper_tag||"div"))).find(".tutor-component-content-container");n.append(t),o.after_title&&n.append(o.after_title),n.append(e),o.after_description&&n.append(o.after_description),s.click(function(){r(this).remove()}).children().click(function(t){t.stopPropagation()});for(var i=0;i<a.length;i++)s.find(".tutor-component-button-container").append(a[i]);return r("body").append(s),s},{popup:this.popup}},window.tutorDotLoader=function(t){return' \n <div class="tutor-dot-loader '.concat(t||"",'">\n <span class="dot dot-1"></span>\n <span class="dot dot-2"></span>\n <span class="dot dot-3"></span>\n <span class="dot dot-4"></span>\n </div>')},window.tutor_date_picker=function(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",$(".tutor_date_picker").datepicker({dateFormat:t}))},jQuery(document).ready(function(d){"use strict";var t=wp.i18n,n=t.__;t._x,t._n,t._nx;function o(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",d(".tutor_date_picker").datepicker({dateFormat:t})),d(document).on("keydown",".hasDatepicker, .tutor_date_picker",function(t){8!==t.keyCode&&t.preventDefault()})}function s(){d(".tutor-field-slider").each(function(){var t=d(this),o=t.closest(".tutor-field-type-slider").find('input[type="hidden"]'),a=t.closest(".tutor-field-type-slider").find(".tutor-field-type-slider-value"),e=parseFloat(t.closest(".tutor-field-type-slider").attr("data-min")),n=parseFloat(t.closest(".tutor-field-type-slider").attr("data-max"));t.slider({range:"max",min:e,max:n,value:o.val(),slide:function(t,e){a.text(e.value),o.val(e.value)}})})}function e(t){var e=t.element;return d('<span><i class="tutor-icon-'+d(e).data("icon")+'"></i> '+t.text+"</span>")}function i(){jQuery().sortable&&(d(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){a()}}),d(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){a()}}))}function a(){var i={};d(".tutor-topics-wrap").each(function(t,e){var o=d(this),a=parseInt(o.attr("id").match(/\d+/)[0],10),n={};o.find(".course-content-item").each(function(t,e){var o=d(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);n[t]=o}),i[t]={topic_id:a,lesson_ids:n}}),d("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function r(){return{init:function(){d(document).on("click",".tutor-select .tutor-select-option",function(t){t.preventDefault();var e=d(this);"true"!==e.attr("data-is-pro")?(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")).trigger("change"),e.closest(".tutor-select-options").hide(),disableAddoption()):alert("Tutor Pro version required")}),d(document).on("click",".tutor-select .select-header",function(t){t.preventDefault(),d(this).closest(".tutor-select").find(".tutor-select-options").slideToggle()}),this.setValue(),this.hideOnOutSideClick()},setValue:function(){d(".tutor-select").each(function(){var t=d(this).find(".tutor-select-option");t.length&&t.each(function(){var t,e=d(this);"selected"===e.attr("data-selected")&&(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")))})})},hideOnOutSideClick:function(){d(document).mouseup(function(t){var e=d(".tutor-select-options");d(t.target).closest(".select-header").length||e.is(t.target)||0!==e.has(t.target).length||e.hide()})},reInit:function(){this.setValue()}}}o(),s(),jQuery().select2&&d(".videosource_select2").select2({width:"100%",templateSelection:e,templateResult:e,allowHtml:!0}),d(document).on("change",".tutor_lesson_video_source",function(t){var e=d(this),o=d(this).val();o?d(".video-metabox-source-input-wrap").show():d(".video-metabox-source-input-wrap").hide(),e.closest(".tutor-option-field").find(".video-metabox-source-item").hide(),e.closest(".tutor-option-field").find(".video_source_wrap_"+o).show()}),d(document).on("click",".tutor-course-thumbnail-upload-btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t.url),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),d(".tutor-course-thumbnail-delete-btn").show()}),e.open()}),d(document).on("click",".tutor-course-thumbnail-delete-btn",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("data-placeholder-src");e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t),e.closest(".tutor-thumbnail-wrap").find("input").val(""),d(".tutor-course-thumbnail-delete-btn").hide()}),d(document).on("click",".create_new_topic_btn",function(t){t.preventDefault(),d(".tutor-metabox-add-topics").slideToggle()}),d(document).on("click","#tutor-add-topic-btn",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-metabox-add-topics").find("input, textarea").serializeObject();t.action="tutor_add_course_topic",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d("#tutor-course-content-wrap").html(t.data.course_contents),e.closest(".tutor-metabox-add-topics").find('input[type!="hidden"], textarea').each(function(){d(this).val("")}),e.closest(".tutor-metabox-add-topics").slideUp(),i())},complete:function(){e.removeClass("tutor-updating-message")}})}),d(".tutor-zoom-meeting-modal-wrap").on("submit",".tutor-meeting-modal-form",function(t){t.preventDefault();var e=d(this),o=e.serializeObject(),t=Intl.DateTimeFormat().resolvedOptions().timeZone;o.timezone=t;var a=e.find('button[type="submit"]');d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(n("Success","tutor"),a.data("toast_success_message"),"success"):tutor_toast(n("Update Error","tutor"),n("Meeting Update Failed","tutor"),"error"),t.course_contents?(d(t.selector).html(t.course_contents),"#tutor-course-content-wrap"==t.selector&&i(),d(".tutor-zoom-meeting-modal-wrap").removeClass("show")):location.reload()},complete:function(){a.removeClass("tutor-updating-message")}})}),d(document).on("change keyup",".course-edit-topic-title-input",function(t){t.preventDefault(),d(this).closest(".tutor-topics-top").find(".topic-inner-title").html(d(this).val())}),d(document).on("click",".topic-edit-icon",function(t){t.preventDefault(),d(this).closest(".tutor-topics-top").find(".tutor-topics-edit-form").slideToggle()}),d(document).on("click",".tutor-topics-edit-button",function(t){t.preventDefault();var e=d(this),o=e.closest(".tutor-topics-wrap"),t=parseInt(o.attr("id").match(/\d+/)[0],10),a=e.closest(".tutor-topics-wrap").find('[name="topic_title"]').val(),o=e.closest(".tutor-topics-wrap").find('[name="topic_summery"]').val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_title:a,topic_summery:o,topic_id:t,action:"tutor_update_topic"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".tutor-topics-wrap").find("span.topic-inner-title").text(a),e.closest(".tutor-topics-wrap").find(".tutor-topics-edit-form").slideUp())},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".open-tutor-lesson-modal",function(t){t.preventDefault();var e=d(this),o=e.attr("data-lesson-id"),a=e.attr("data-topic-id"),n=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:o,topic_id:a,course_id:n,action:"tutor_load_edit_lesson_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),d(".tutor-lesson-modal-wrap").attr({"data-lesson-id":o,"data-topic-id":a}).addClass("show");t=(t=tinyMCEPreInit.mceInit.tutor_editor_config)||tinyMCEPreInit.mceInit.course_description;tinymce.init(t),tinymce.execCommand("mceRemoveEditor",!1,"tutor_lesson_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_lesson_modal_editor"),d(document).trigger("lesson_modal_loaded",{lesson_id:o,topic_id:a,course_id:n})},complete:function(){quicktags({id:"tutor_lesson_modal_editor"}),e.removeClass("tutor-updating-message")}})}),d(document).on("click",".lesson_thumbnail_upload_btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html('<img src="'+t.url+'" alt="" /><a href="javascript:;" class="tutor-lesson-thumbnail-delete-btn"><i class="tutor-icon-line-cross"></i></a>'),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),d(".tutor-lesson-thumbnail-delete-btn").show()}),e.open()}),d(document).on("click",".tutor-lesson-thumbnail-delete-btn",function(t){t.preventDefault();t=d(this);t.closest(".tutor-thumbnail-wrap").find("._lesson_thumbnail_id").val(""),t.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html(""),t.hide()}),d(document).on("click",".tutor-delete-lesson-btn",function(t){var e;t.preventDefault(),confirm(n("Are you sure?","tutor"))&&(t=(e=d(this)).attr("data-lesson-id"),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_delete_lesson_by_id"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&e.closest(".course-content-item").remove()},complete:function(){e.removeClass("tutor-updating-message")}}))}),d(document).on("click",".topic-delete-btn a",function(t){d(this).attr("data-topic-id");confirm(n("Are you sure to delete?","tutor"))||t.preventDefault()}),d(document).on("click",".tutor-expand-all-topic",function(t){t.preventDefault(),d(".tutor-topics-body").slideDown(),d(".expand-collapse-wrap i").removeClass("tutor-icon-light-down").addClass("tutor-icon-light-up")}),d(document).on("click",".tutor-collapse-all-topic",function(t){t.preventDefault(),d(".tutor-topics-body").slideUp(),d(".expand-collapse-wrap i").removeClass("tutor-icon-light-up").addClass("tutor-icon-light-down")}),d(document).on("click",".topic-inner-title, .expand-collapse-wrap",function(t){t.preventDefault();t=d(this);t.closest(".tutor-topics-wrap").find(".tutor-topics-body").slideToggle(),t.closest(".tutor-topics-wrap").find(".expand-collapse-wrap i").toggleClass("tutor-icon-light-down tutor-icon-light-up")}),d(document).on("click",".quiz-modal-btn-first-step",function(t){t.preventDefault();var e,o,a,n=d(this),i=d('[name="quiz_title"]'),r=i.val(),t=d('[name="quiz_description"]').val();r?(i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html(""),e=d("#post_ID").val(),o=n.closest(".tutor-modal-wrap").attr("quiz-for-post-id"),d("#tutor_quiz_builder_quiz_id").length?(a=d("#tutor_quiz_builder_quiz_id").val(),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,quiz_id:a,topic_id:o,action:"tutor_quiz_builder_quiz_update"},beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){d("#tutor-quiz-"+a).html(t.data.output_quiz_row),d('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s()},complete:function(){n.removeClass("tutor-updating-message")}})):d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,course_id:e,topic_id:o,action:"tutor_create_quiz_and_load_modal"},beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d("#tutor-topics-"+o+" .tutor-lessons").append(t.data.output_quiz_row),d('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s(),d(document).trigger("quiz_modal_loaded",{topic_id:o,course_id:e})},complete:function(){n.removeClass("tutor-updating-message")}})):i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html("Please enter quiz title")}),d(document).on("click",".open-tutor-quiz-modal",function(t){t.preventDefault();var e=d(this),o=e.attr("data-quiz-id"),a=e.attr("data-topic-id");null==a&&(a=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id"));var n=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:o,topic_id:a,course_id:n,action:"tutor_load_edit_quiz_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id",o).attr("quiz-for-post-id",a).addClass("show"),e.attr("data-back-to-tab")&&(t=e.attr("data-back-to-tab"),d('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")),d(document).trigger("quiz_modal_loaded",{quiz_id:o,topic_id:a,course_id:n}),s(),jQuery().sortable&&d(".quiz-builder-questions-wrap").sortable({handle:".question-sorting",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var a;a={},d(".quiz-builder-question-wrap").each(function(t,e){var o=d(this),o=parseInt(o.attr("data-question-id"),10);a[t]=o}),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_question_ids:a,action:"tutor_quiz_question_sorting"}})}})},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".quiz-modal-settings-save-btn",function(t){t.preventDefault();var e=d(this),o=d(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id"),a=d("#current_topic_id_for_quiz").val(),t=d("#quiz-builder-tab-settings :input, #quiz-builder-tab-advanced-options :input").serializeObject();t.topic_id=a,t.quiz_id=o,t.action="tutor_quiz_modal_update_settings",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&d("#tutor-course-content-wrap").html(t.data.course_contents),t.success?tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success"):tutor_toast(n("Update Error","tutor"),n("Quiz Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message"),"modal_close"===e.attr("data-action")&&d(".tutor-modal-wrap").removeClass("show")}})}),d(document).on("click",".quiz-modal-question-save-btn",function(t){t.preventDefault();var e=d(this),o=d(".quiz_question_form :input").serializeObject();o.action="tutor_quiz_modal_update_question";t=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id");o.topic_id=t,d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?e.closest(".tutor-quiz-builder-modal-contents").find(".open-tutor-quiz-modal").trigger("click"):void 0!==t.data&&d("#quiz_validation_msg_wrap").html(t.data.validation_msg)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".modal-close-btn",function(t){t.preventDefault(),d(".tutor-modal-wrap").removeClass("show")}),d(document).on("keyup",function(t){27===t.keyCode&&d(".tutor-modal-wrap").removeClass("show")}),d(document).on("click",".tutor-add-quiz-btn",function(t){t.preventDefault();var e=d(this),o=d(this).closest(".tutor_add_quiz_wrap").attr("data-add-quiz-under"),t=d(this).data("topic-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_for_post_id:o,current_topic_id:t,action:"tutor_load_quiz_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d(".tutor-quiz-builder-modal-wrap").attr("quiz-for-post-id",o).addClass("show")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-modal-tab-item",function(t){t.preventDefault();var e=d(this),o=d('[name="quiz_title"]');o.val()?(o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html(""),t=e.attr("href"),d(".quiz-builder-tab-container").hide(),d(t).show(),d("a.tutor-quiz-modal-tab-item").removeClass("active"),e.addClass("active")):o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html('<p class="quiz-form-warning">Please save the quiz first</p>')}),d(document).on("click",".quiz-modal-btn-next, .quiz-modal-btn-back",function(t){t.preventDefault();t=d(this).attr("href");d('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")}),d(document).on("click",".quiz-modal-tab-navigation-btn.quiz-modal-btn-cancel",function(t){t.preventDefault(),d(".tutor-modal-wrap").removeClass("show")}),d(document).on("click",".tutor-quiz-open-question-form",function(t){t.preventDefault();var e=d(this),o=d("#tutor_quiz_builder_quiz_id").val(),a=d("#post_ID").val(),t=e.attr("data-question-id"),a={quiz_id:o,course_id:a,action:"tutor_quiz_builder_get_question_form"};t&&(a.question_id=t),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:a,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-contents").html(t.data.output),r().reInit(),jQuery().sortable&&d("#tutor_quiz_question_answers").sortable({handle:".tutor-quiz-answer-sort-icon",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var a;a={},d(".tutor-quiz-answer-wrap").each(function(t,e){var o=d(this),o=parseInt(o.attr("data-answer-id"),10);a[t]=o}),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_answer_ids:a,action:"tutor_quiz_answer_sorting"}})}}),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-question-trash",function(t){t.preventDefault();var e=d(this),t=e.attr("data-question-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:t,action:"tutor_quiz_builder_question_delete"},beforeSend:function(){e.closest(".quiz-builder-question-wrap").remove()}})}),d(document).on("click",".add_question_answers_option:not(.disabled)",function(t){t.preventDefault();var e=d(this),o=e.attr("data-question-id"),t=d(".quiz_question_form :input").serializeObject();t.question_id=o,t.action="tutor_quiz_add_question_answers",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answer_form").html(t.data.output),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-answer-edit a",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-quiz-answer-wrap").attr("data-answer-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_edit_question_answer"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answer_form").html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click","#quiz-answer-save-btn",function(t){t.preventDefault();var e=d(this),t=d(".quiz_question_form :input").serializeObject();t.action="tutor_save_quiz_answer_options",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){d("#quiz_validation_msg_wrap").html(""),e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click","#quiz-answer-edit-btn",function(t){t.preventDefault();var e=d(this),t=d(".quiz_question_form :input").serializeObject();t.action="tutor_update_quiz_answer_options",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("change",".tutor-quiz-answers-mark-correct-wrap input",function(t){t.preventDefault();var e=d(this),o=e.val(),t=1;e.prop("checked")||(t=0),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:o,inputValue:t,action:"tutor_mark_answer_as_correct"}})}),d(document).on("refresh","#tutor_quiz_question_answers",function(t){t.preventDefault();var e=d(this),o=e.attr("data-question-id"),t=d(".tutor_select_value_holder").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:o,question_type:t,action:"tutor_quiz_builder_get_answers_by_question"},beforeSend:function(){e.addClass("tutor-updating-message"),d("#tutor_quiz_question_answer_form").html("")},success:function(t){t.success&&e.html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-answer-trash-wrap a.answer-trash-btn",function(t){t.preventDefault();var e=d(this),t=e.attr("data-answer-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_builder_delete_answer"},beforeSend:function(){e.closest(".tutor-quiz-answer-wrap").remove()}})}),d(document).on("click",".tutor-delete-quiz-btn",function(t){var e;t.preventDefault(),confirm(n("Are you sure?","tutor"))&&(t=(e=d(this)).attr("data-quiz-id"),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_delete_quiz_by_id"},beforeSend:function(){e.closest(".course-content-item").remove()}}))}),r().init(),d(document).on("change","input.tutor_select_value_holder",function(t){d(this);d(".add_question_answers_option").trigger("click"),d("#tutor_quiz_question_answers").trigger("refresh")}),d(document).on("click",".tutor-media-upload-btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.html('<img src="'+t.url+'" alt="" />'),o.closest(".tutor-media-upload-wrap").find("input").val(t.id)}),e.open()}),d(document).on("click",".tutor-media-upload-trash",function(t){t.preventDefault();t=d(this);t.closest(".tutor-media-upload-wrap").find(".tutor-media-upload-btn").html('<i class="tutor-icon-image1"></i>'),t.closest(".tutor-media-upload-wrap").find("input").val("")});var u,c=(u=0,function(t,e){clearTimeout(u),u=setTimeout(t,e)});d(document).on("click",".tutor-add-instructor-btn",function(t){t.preventDefault();var e=d(this),t=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_load_instructors_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),d(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("change keyup",".tutor-instructors-modal-wrap .tutor-modal-search-input",function(t){t.preventDefault();var o=d(this),a=d(".tutor-modal-wrap");c(function(){var t=o.val(),e=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:e,search_terms:t,action:"tutor_load_instructors_modal"},beforeSend:function(){a.addClass("loading")},success:function(t){t.success&&(d(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),d(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){a.removeClass("loading")}})},1e3)}),d(document).on("click",".add_instructor_to_course_btn",function(t){t.preventDefault();var e=d(this),o=d(".tutor-modal-wrap"),t=d("#post_ID").val(),o=o.find("input").serializeObject();o.course_id=t,o.action="tutor_add_instructors_to_course",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d(".tutor-course-available-instructors").html(t.data.output),d(".tutor-modal-wrap").removeClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-instructor-delete-btn",function(t){t.preventDefault();var e=d(this),o=d("#post_ID").val(),t=e.closest(".added-instructor-item").attr("data-instructor-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:o,instructor_id:t,action:"detach_instructor_from_course"},success:function(t){t.success&&e.closest(".added-instructor-item").remove()}})}),d(document).on("click",".settings-tabs-navs li",function(t){t.preventDefault();var e=d(this),o=e.find("a").attr("data-target"),t=e.find("a").attr("href");e.addClass("active").siblings("li.active").removeClass("active"),d(".settings-tab-wrap").removeClass("active").hide(),d(o).addClass("active").show(),window.history.pushState({},"",t)}),d(document).on("lesson_modal_loaded quiz_modal_loaded assignment_modal_loaded",function(t,e){jQuery().select2&&d(".select2_multiselect").select2({dropdownCssClass:"increasezindex"}),o()}),d(document).on("lesson_modal_loaded",function(t,e){d(".tutor-lesson-modal-wrap .modal-title h1").html(n("Lesson","tutor"))}),d(document).on("assignment_modal_loaded",function(t,e){d(".tutor-lesson-modal-wrap .modal-title h1").html(n("Assignment","tutor"))}),d(document).on("keyup change",".tutor-number-validation",function(t){var e=d(this),o=parseInt(e.val()),a=parseInt(e.attr("data-min")),n=parseInt(e.attr("data-max"));o<a?e.val(a):n<o&&e.val(n)}),d(document).on("click",".tutor-instructor-feedback",function(t){t.preventDefault();var e=d(this);d.ajax({url:window.ajaxurl||_tutorobject.ajaxurl,type:"POST",data:{attempts_id:e.data("attemptid"),feedback:d(".tutor-instructor-feedback-content").val(),action:"tutor_instructor_feedback"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".course-content-item").remove(),tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})});var l=d(".tutor-announcement-add-new"),m=d(".tutor-announcement-edit"),p=d(".tutor-announcement-delete"),_=d(".tutor-announcement-details"),t=d(".tutor-announcement-close-btn"),f=d(".tutor-accouncement-create-modal"),h=d(".tutor-accouncement-update-modal"),v=d(".tutor-accouncement-details-modal");function w(t,e){var o=new URL(window.location.href),a=o.searchParams;return a.set(t,e),o.search=a.toString(),_tutorobject.is_admin?a.set("paged",1):a.set("current_page",1),o.search=a.toString(),o.toString()}d(l).click(function(){f.addClass("show"),d("#tutor-annoucement-backend-create-modal").addClass("show")}),d(_).click(function(){var t=d(this).attr("announcement-date"),e=d(this).attr("announcement-id"),o=d(this).attr("course-id"),a=d(this).attr("course-name"),n=d(this).attr("announcement-title"),i=d(this).attr("announcement-summary");d(".tutor-announcement-detail-content").html("<h3>".concat(n,"</h3><p>").concat(i,"</p>")),d(".tutor-announcement-detail-course-info p").html("".concat(a)),d(".tutor-announcement-detail-date-info p").html("".concat(t)),d("#tutor-announcement-edit-from-detail").attr("announcement-id",e),d("#tutor-announcement-edit-from-detail").attr("course-id",o),d("#tutor-announcement-edit-from-detail").attr("announcement-title",n),d("#tutor-announcement-edit-from-detail").attr("announcement-summary",i),d("#tutor-announcement-delete-from-detail").attr("announcement-id",e),v.addClass("show")}),d(m).click(function(){v&&v.removeClass("show");var t=d(this).attr("announcement-id"),e=d(this).attr("course-id"),o=d(this).attr("announcement-title"),a=d(this).attr("announcement-summary");d("#tutor-announcement-course-id").val(e),d("#announcement_id").val(t),d("#tutor-announcement-title").val(o),d("#tutor-announcement-summary").val(a),h.addClass("show")}),d(t).click(function(){f.removeClass("show"),h.removeClass("show"),v.removeClass("show"),d("#tutor-annoucement-backend-create-modal").removeClass("show")}),d(".tutor-announcements-form").on("submit",function(t){t.preventDefault();var e=d(this).find('button[type="submit"]'),t=d(".tutor-announcements-form").serialize()+"&action=tutor_announcement_create&action_type=create";d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(d(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){d(".tutor-announcements-create-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var a=y(o[e],2),a=(a[0],a[1]);d(".tutor-announcements-create-alert .tutor-alert").append("<li>".concat(a,"</li>"))}}"fail"==t.status&&d(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(t){console.log(t)}})}),d(".tutor-announcements-update-form").on("submit",function(t){t.preventDefault();var e=d(this).find('button[type="submit"]'),t=d(".tutor-announcements-update-form").serialize()+"&action=tutor_announcement_create&action_type=update";d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(d(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){d(".tutor-announcements-update-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var a=y(o[e],2),a=(a[0],a[1]);d(".tutor-announcements-update-alert > .tutor-alert").append("<li>".concat(a,"</li>"))}}"fail"==t.status&&d(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(){}})}),d(p).click(function(){var t=d(this).attr("announcement-id"),e=d("#tutor-announcement-tr-"+t);confirm("Do you want to delete?")&&d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_announcement_delete",announcement_id:t},beforeSend:function(){},success:function(t){e.remove(),v.length&&v.removeClass("show"),"fail"==t.status&&console.log(t.message)},error:function(){}})}),d(".tutor-announcement-course-sorting").on("change",function(t){window.location=w("course-id",d(this).val())}),d(".tutor-announcement-order-sorting").on("change",function(t){window.location=w("order",d(this).val())}),d(".tutor-announcement-date-sorting").on("change",function(t){window.location=w("date",d(this).val())}),d(".tutor-announcement-search-sorting").on("click",function(t){window.location=w("search",d(".tutor-announcement-search-field").val())}),d(document).click(function(){d(".tutor-dropdown").removeClass("show")}),d(".tutor-dropdown").click(function(t){t.stopPropagation(),d(".tutor-dropdown").hasClass("show")&&d(".tutor-dropdown").removeClass("show"),d(this).addClass("show")});var b,p=".video_source_wrap_external_url input, .video_source_wrap_vimeo input, .video_source_wrap_youtube input, .video_source_wrap_html5, .video_source_upload_wrap_html5";d("body").on("paste",p,function(t){t.stopImmediatePropagation();var r=d(this).closest(".lesson-modal-form-wrap").find(".tutor-option-field-video-duration"),e=r.find("label"),o=d(this).hasClass("video_source_wrap_html5")||d(this).hasClass("video_source_upload_wrap_html5"),a=d(this).data("autofill_url");d(this).data("autofill_url",null);function n(t){t?0==e.find("img").length&&e.append(' <img src="'+window._tutorobject.loading_icon_url+'" style="display:inline-block"/>'):e.find("img").remove()}function i(t){for(var e=Math.floor(t/3600),o=Math.floor((t-3600*e)/60),t=Math.round(t-3600*e-60*o),a=[e=e<10?"0"+e:e,o=o<10?"0"+o:o,t=t<10?"0"+t:t],n=r.find("input"),i=0;i<3;i++)n.eq(i).val(a[i])}var s,u,c,t=o?d(this).find("span").data("video_url"):a||t.originalEvent.clipboardData.getData("text");o||d(this).parent().hasClass("video_source_wrap_external_url")?((s=document.createElement("video")).addEventListener("loadedmetadata",function(){i(s.duration),n(!1)}),n(!0),s.src=t):d(this).parent().hasClass("video_source_wrap_vimeo")?(u=(c=t.match(/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/))?c[5]:null)&&(n(!0),d.getJSON("http://vimeo.com/api/v2/video/"+u+"/json",function(t){Array.isArray(t)&&t[0]&&void 0!==t[0].duration&&i(t[0].duration),n(!1)})):d(this).parent().hasClass("video_source_wrap_youtube")&&(u=!(!(c=t.match(/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/))||11!=c[7].length)&&c[7],c=d(this).data("youtube_api_key"),u&&c&&(c="https://www.googleapis.com/youtube/v3/videos?id="+u+"&key="+c+"&part=contentDetails",n(!0),d.getJSON(c,function(t){"object"==g(t)&&t.items&&t.items[0]&&t.items[0].contentDetails&&t.items[0].contentDetails.duration&&i(function(t){t=(t=t.match(/PT(\d+H)?(\d+M)?(\d+S)?/)).slice(1).map(function(t){if(null!=t)return t.replace(/\D/,"")});return 3600*(parseInt(t[0])||0)+60*(parseInt(t[1])||0)+(parseInt(t[2])||0)}(t.items[0].contentDetails.duration)),n(!1)})))}).on("input",p,function(){b&&clearTimeout(b);var e=d(this);b=setTimeout(function(){var t=(t=e.val())?t.trim():"";console.log("Trigger",t),t&&e.data("autofill_url",t).trigger("paste")},700)}),d(".tutor-form-submit-through-ajax").submit(function(t){t.preventDefault();var e=d(this),o=d(this).attr("action")||window.location.href,a=d(this).attr("method")||"GET",t=d(this).serializeObject();e.find("button").addClass("tutor-updating-message"),d.ajax({url:o,type:a,data:t,success:function(){tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success")},complete:function(){e.find("button").removeClass("tutor-updating-message")}})}),d.ajaxSetup({data:tutor_get_nonce_data()})}),jQuery.fn.serializeObject=function(){var t={},e=this.serializeArray();return jQuery.each(e,function(){t[this.name]?(t[this.name].push||(t[this.name]=[t[this.name]]),t[this.name].push(this.value||"")):t[this.name]=this.value||""}),t},window.tutor_toast=function(t,e,o){var a=((window._tutorobject||{}).tutor_url||"")+"assets/images/";jQuery(".tutor-toast-parent").length||jQuery("body").append('<div class="tutor-toast-parent"></div>');var n=jQuery(' <div> <div> <img src="'+{success:a+"icon-check.svg",error:a+"icon-cross.svg"}[o]+'"/> </div> <div> <div> <b>'+t+"</b> <span>"+e+'</span> </div> </div> <div> <i class="tutor-toast-close tutor-icon-line-cross"></i> </div> </div>');n.find(".tutor-toast-close").click(function(){n.remove()}),jQuery(".tutor-toast-parent").append(n),setTimeout(function(){n&&n.fadeOut("fast",function(){jQuery(this).remove()})},5e3)},window.disableAddoption=function(){function t(t){t.classList.contains("disabled")||t.classList.add("disabled")}function e(t){t.classList.contains("disabled")&&t.classList.remove("disabled")}var o=document.querySelector(".tutor_select_value_holder").value,a=document.getElementById("tutor_quiz_question_answers"),n=document.getElementById("tutor_quiz_question_answer_form"),i=document.querySelector(".add_question_answers_option");("open_ended"===o||"short_answer"===o||("true_false"===o||"fill_in_the_blank"===o)&&(n.hasChildNodes()||a.hasChildNodes())?t:e)(i)}},896:()=>{window.jQuery(document).ready(function(o){var a=wp.i18n.__;o(document).on("click",".tutor-copy-text",function(t){t.stopImmediatePropagation(),t.preventDefault();var e=o(this).data("text"),t=o("<input>");o("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),tutor_toast(a("Copied!","tutor"),e,"success")})})}},a={};function i(t){var e=a[t];if(void 0!==e)return e.exports;e=a[t]={exports:{}};return o[t](e,e.exports,i),e.exports}(()=>{"use strict";i(896),i(623);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}jQuery(document).ready(function(r){var t=wp.i18n,i=t.__,e=(t._x,t._n,t._nx,i("Search students","tutor"));function a(){jQuery().sortable&&(r(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){o()}}),r(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){o()}}))}function o(){var i={};r(".tutor-topics-wrap").each(function(t,e){var o=r(this),a=parseInt(o.attr("id").match(/\d+/)[0],10),n={};o.find(".course-content-item").each(function(t,e){var o=r(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);n[t]=o}),i[t]={topic_id:a,lesson_ids:n}}),r("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}jQuery().wpColorPicker&&r(".tutor_colorpicker").wpColorPicker(),jQuery().select2&&r(".tutor_select2").select2(),r(".tutor-option-nav-tabs li a").click(function(t){t.preventDefault();t=r(this).attr("data-tab");r(".option-nav-item").removeClass("current"),r(this).closest("li").addClass("current"),r(".tutor-option-nav-page").hide(),r(t).addClass("current-page").show(),window.history.pushState("obj","",r(this).attr("href"))}),r("#save_tutor_option").click(function(t){t.preventDefault(),r(this).closest("form").submit()}),r("#tutor-option-form").submit(function(t){t.preventDefault();var e=r(this),t=e.serializeObject();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".button").addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(i("Saved","tutor"),e.data("toast_success_message"),"success"):tutor_toast(i("Request Error","tutor"),i("Could not save","tutor"),"error")},complete:function(){e.find(".button").removeClass("tutor-updating-message")}})}),r(document).on("click",".withdraw-method-nav li a",function(t){t.preventDefault();t=r(this).attr("data-target-id");r(".withdraw-method-form-wrap").hide(),r("#"+t).show()}),a(),r(document).on("click",".update_lesson_modal_btn",function(t){t.preventDefault();var e=r(this),o="tutor_lesson_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():r("#"+o).val(),o=r(this).closest("form").serializeObject();o.lesson_content=t,r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(r("#tutor-course-content-wrap").html(t.data.course_contents),a(),r(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(i("Lesson Updated","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})}),r(document).on("change",".tutor_lesson_video_source",function(t){var e=r(this).val();r('[class^="video_source_wrap"]').hide(),r(".video_source_wrap_"+e).show(),"html5"===e?r(".tutor-video-poster-field").show():r(".tutor-video-poster-field").hide()}),r(document).on("click",".video_source_wrap_html5 .video_upload_btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},library:{type:"video"},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".video_source_wrap_html5").find("span.video_media_id").data("video_url",t.url).text(t.id).trigger("paste").closest("p").show(),o.closest(".video_source_wrap_html5").find("input.input_source_video_id").val(t.id)}),e.open()}),r(document).on("click","a.tutor-delete-attachment",function(t){t.preventDefault(),r(this).closest(".tutor-added-attachment").remove()}),r(document).on("click",".tutorUploadAttachmentBtn",function(t){t.preventDefault();var a,n=r(this);a||(a=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!0})).on("select",function(){var t=a.state().get("selection").toJSON();if(t.length)for(var e=0;e<t.length;e++){var o=t[e],o='<div class="tutor-added-attachment"><i class="tutor-icon-archive"></i> <a href="javascript:;" class="tutor-delete-attachment tutor-icon-line-cross"></a> <span> <a href="'+o.url+'">'+o.filename+'</a> </span><input type="hidden" name="tutor_attachments[]" value="'+o.id+'"></div>';n.closest(".tutor-lesson-attachments-metabox").find(".tutor-added-attachments-wrap").append(o)}}),a.open()}),_tutorobject.open_tutor_admin_menu&&((t=r("#adminmenu")).find('[href="admin.php?page=tutor"]').closest("li.wp-has-submenu").addClass("wp-has-current-submenu"),t.find('[href="admin.php?page=tutor"]').closest("li.wp-has-submenu").find("a.wp-has-submenu").removeClass("wp-has-current-submenu").addClass("wp-has-current-submenu")),r(document).on("click",".tutor-option-media-upload-btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".option-media-wrap").find(".option-media-preview").html('<img src="'+t.url+'" alt="" />'),o.closest(".option-media-wrap").find("input").val(t.id),o.closest(".option-media-wrap").find(".tutor-media-option-trash-btn").show()}),e.open()}),r(document).on("click",".tutor-media-option-trash-btn",function(t){t.preventDefault();t=r(this);t.closest(".option-media-wrap").find("img").remove(),t.closest(".option-media-wrap").find("input").val(""),t.closest(".option-media-wrap").find(".tutor-media-option-trash-btn").hide()}),r(document).on("change",".tutor_addons_list_item",function(t){var e=r(this),o=e.prop("checked")?1:0,e=e.attr("name");r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{isEnable:o,addonFieldName:e,action:"addon_enable_disable"},success:function(t){t.success}})}),r(document).on("submit","#new-instructor-form",function(t){t.preventDefault();var o=r(this),t=o.serializeObject();t.action="tutor_add_instructor",r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,success:function(t){var a,e;t.success?(o.trigger("reset"),r("#form-response").html('<p class="tutor-status-approved-context">'+t.data.msg+"</p>")):(a="",(e=t.data.errors)&&Object.keys(e).length&&(r.each(t.data.errors,function(t,e){var o;(o=e)&&"object"===n(o)&&o.constructor===Object?r.each(e,function(t,e){a+='<p class="tutor-required-fields">'+e[0]+"</p>"}):a+='<p class="tutor-required-fields">'+e+"</p>"}),r("#form-response").html(a)))}})}),r(document).on("click","a.instructor-action",function(t){t.preventDefault();var e=r(this),o=e.attr("data-action"),a=e.attr("data-instructor-id"),t=e.attr("data-prompt-message");t&&!confirm(t)||((a={instructor_id:a,action_name:o,action:"instructor_approval_action"})[o=_tutorobject.nonce_key]=_tutorobject[o],r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:a,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){location.reload(!0)},complete:function(){e.removeClass("tutor-updating-message")}}))}),r(document).on("click",".tutor-create-assignments-btn",function(t){t.preventDefault();var e=r(this),o=r(this).attr("data-topic-id"),a=r("#post_ID").val();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_id:o,course_id:a,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){r(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),r(".tutor-lesson-modal-wrap").attr("data-topic-id",o).addClass("show"),r(document).trigger("assignment_modal_loaded",{topic_id:o,course_id:a}),tinymce.init(tinyMCEPreInit.mceInit.tutor_editor_config),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),r(document).on("click",".open-tutor-assignment-modal",function(t){t.preventDefault();var e=r(this),o=e.attr("data-assignment-id"),a=e.attr("data-topic-id"),n=r("#post_ID").val();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{assignment_id:o,topic_id:a,course_id:n,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){r(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),r(".tutor-lesson-modal-wrap").attr({"data-assignment-id":o,"data-topic-id":a}).addClass("show"),r(document).trigger("assignment_modal_loaded",{assignment_id:o,topic_id:a,course_id:n}),tinymce.init(tinyMCEPreInit.mceInit.tutor_editor_config),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),r(document).on("click",".update_assignment_modal_btn",function(t){t.preventDefault();var e=r(this),o="tutor_assignments_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():r("#"+o).val(),o=r(this).closest("form").serializeObject();o.assignment_content=t,r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(r("#tutor-course-content-wrap").html(t.data.course_contents),a(),r(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(i("Assignment Updated","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})}),r(document).on("click",".add-assignment-attachments",function(t){t.preventDefault();var o,a=r(this);o||(o=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=o.state().get("selection").first().toJSON(),e='<div class="tutor-individual-attachment-file"><p class="attachment-file-name">'+t.filename+'</p><input type="hidden" name="tutor_assignment_attachments[]" value="'+t.id+'"><a href="javascript:;" class="remove-assignment-attachment-a text-muted"> × Remove</a></div>';r("#assignment-attached-file").append(e),a.closest(".video_source_wrap_html5").find("input").val(t.id)}),o.open()}),r(document).on("click",".remove-assignment-attachment-a",function(t){t.preventDefault(),r(this).closest(".tutor-individual-attachment-file").remove()}),r(document).on("click",".tutor_video_poster_upload_btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-video-poster-wrap").find(".video-poster-img").html('<img src="'+t.sizes.thumbnail.url+'" alt="" />'),o.closest(".tutor-video-poster-wrap").find("input").val(t.id)}),e.open()}),r(document).on("change","#tutor_pmpro_membership_model_select",function(t){t.preventDefault(),"category_wise_membership"===r(this).val()?r(".membership_course_categories").show():r(".membership_course_categories").hide()}),r(document).on("change","#tutor_pmpro_membership_model_select",function(t){t.preventDefault(),"category_wise_membership"===r(this).val()?r(".membership_course_categories").show():r(".membership_course_categories").hide()}),r(document).on("submit",".pmpro_admin form",function(t){var e=r(this);e.find('input[name="tutor_action"]').length&&("category_wise_membership"!=e.find('[name="tutor_pmpro_membership_model"]').val()||e.find(".membership_course_categories input:checked").length||confirm(i("Do you want to save without any category?","tutor"))||t.preventDefault())}),r("#select2_search_user_ajax").select2({allowClear:!0,minimumInputLength:1,placeholder:e,language:{inputTooShort:function(){return i("Please add 1 or more character","tutor")}},escapeMarkup:function(t){return t},ajax:{url:window._tutorobject.ajaxurl,type:"POST",dataType:"json",delay:1e3,data:function(t){return{term:t.term,action:"tutor_json_search_students"}},processResults:function(t){var o=[];return t&&r.each(t,function(t,e){o.push({id:t,text:e})}),{results:o}},cache:!0}}),r(document).on("click","table.enrolments .delete a",function(t){t.preventDefault();var e=r(this).attr("href"),t={title:i("Delete this enrolment","tutor"),description:i("All of the course data like quiz attempts, assignment, lesson <br/>progress will be deleted if you delete this student's enrollment.","tutor"),buttons:{reset:{title:i("Cancel","tutor"),class:"secondary",callback:function(){o.remove()}},keep:{title:i("Yes, Delete This","tutor"),class:"primary",callback:function(){window.location.replace(e)}}}},o=new window.tutor_popup(r,"icon-trash",40).popup(t)});e=r('#tutor-attach-product [name="tutor_course_price_type"]');0==e.length?r("#_tutor_is_course_public_meta_checkbox").show():e.change(function(){var t;r(this).prop("checked")&&(t="paid"==r(this).val()?"hide":"show",r("#_tutor_is_course_public_meta_checkbox")[t]())}).trigger("change"),r(document).on("click",".instructor-layout-template",function(){r(".instructor-layout-template").removeClass("selected-template"),r(this).addClass("selected-template")}),r("#preview-action a.preview").click(function(t){var e=r(this).attr("href");e&&(t.preventDefault(),window.open(e,"_blank"))})})})()})();
|
1 |
+
(()=>{var o={623:()=>{function g(t){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var a,n,i=[],r=!0,s=!1;try{for(o=o.call(t);!(r=(a=o.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){s=!0,n=t}finally{try{r||null==o.return||o.return()}finally{if(s)throw n}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(o="Object"===o&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?a(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,a=new Array(e);o<e;o++)a[o]=t[o];return a}window.tutor_get_nonce_data=function(t){var e=window._tutorobject||{},o=e.nonce_key||"",e=e[o]||"";return t?{key:o,value:e}:(t=e,(e=o)in(o={})?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o)},window.tutor_popup=function(r,o,a){var s,u=this;return this.popup_wrapper=function(t){var e=""===o?"":'<img class="tutor-pop-icon" src="'+window._tutorobject.tutor_url+"assets/images/"+o+'.svg"/>';return"<"+t+' class="tutor-component-popup-container"> <div class="tutor-component-popup-'+a+'"> <div class="tutor-component-content-container">'+e+'</div> <div class="tutor-component-button-container"></div> </div> </'+t+">"},this.popup=function(o){var t=o.title?"<h3>"+o.title+"</h3>":"",e=o.description?"<p>"+o.description+"</p>":"",a=Object.keys(o.buttons||{}).map(function(t){var e=o.buttons[t],t=e.id?"tutor-popup-"+e.id:"";return r('<button id="'+t+'" class="tutor-button tutor-button-'+e.class+'">'+e.title+"</button>").click(e.callback)}),n=(s=r(u.popup_wrapper(o.wrapper_tag||"div"))).find(".tutor-component-content-container");n.append(t),o.after_title&&n.append(o.after_title),n.append(e),o.after_description&&n.append(o.after_description),s.click(function(){r(this).remove()}).children().click(function(t){t.stopPropagation()});for(var i=0;i<a.length;i++)s.find(".tutor-component-button-container").append(a[i]);return r("body").append(s),s},{popup:this.popup}},window.tutorDotLoader=function(t){return' \n <div class="tutor-dot-loader '.concat(t||"",'">\n <span class="dot dot-1"></span>\n <span class="dot dot-2"></span>\n <span class="dot dot-3"></span>\n <span class="dot dot-4"></span>\n </div>')},window.tutor_date_picker=function(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",$(".tutor_date_picker").datepicker({dateFormat:t}))},jQuery(document).ready(function(d){"use strict";var t=wp.i18n,n=t.__;t._x,t._n,t._nx;function o(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",d(".tutor_date_picker").datepicker({dateFormat:t})),d(document).on("keydown",".hasDatepicker, .tutor_date_picker",function(t){8!==t.keyCode&&t.preventDefault()})}function s(){d(".tutor-field-slider").each(function(){var t=d(this),o=t.closest(".tutor-field-type-slider").find('input[type="hidden"]'),a=t.closest(".tutor-field-type-slider").find(".tutor-field-type-slider-value"),e=parseFloat(t.closest(".tutor-field-type-slider").attr("data-min")),n=parseFloat(t.closest(".tutor-field-type-slider").attr("data-max"));t.slider({range:"max",min:e,max:n,value:o.val(),slide:function(t,e){a.text(e.value),o.val(e.value)}})})}function e(t){var e=t.element;return d('<span><i class="tutor-icon-'+d(e).data("icon")+'"></i> '+t.text+"</span>")}function i(){jQuery().sortable&&(d(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){a()}}),d(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){a()}}))}function a(){var i={};d(".tutor-topics-wrap").each(function(t,e){var o=d(this),a=parseInt(o.attr("id").match(/\d+/)[0],10),n={};o.find(".course-content-item").each(function(t,e){var o=d(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);n[t]=o}),i[t]={topic_id:a,lesson_ids:n}}),d("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function r(){return{init:function(){d(document).on("click",".tutor-select .tutor-select-option",function(t){t.preventDefault();var e=d(this);"true"!==e.attr("data-is-pro")?(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")).trigger("change"),e.closest(".tutor-select-options").hide(),disableAddoption()):alert("Tutor Pro version required")}),d(document).on("click",".tutor-select .select-header",function(t){t.preventDefault(),d(this).closest(".tutor-select").find(".tutor-select-options").slideToggle()}),this.setValue(),this.hideOnOutSideClick()},setValue:function(){d(".tutor-select").each(function(){var t=d(this).find(".tutor-select-option");t.length&&t.each(function(){var t,e=d(this);"selected"===e.attr("data-selected")&&(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")))})})},hideOnOutSideClick:function(){d(document).mouseup(function(t){var e=d(".tutor-select-options");d(t.target).closest(".select-header").length||e.is(t.target)||0!==e.has(t.target).length||e.hide()})},reInit:function(){this.setValue()}}}o(),s(),jQuery().select2&&d(".videosource_select2").select2({width:"100%",templateSelection:e,templateResult:e,allowHtml:!0}),d(document).on("change",".tutor_lesson_video_source",function(t){var e=d(this),o=d(this).val();o?d(".video-metabox-source-input-wrap").show():d(".video-metabox-source-input-wrap").hide(),e.closest(".tutor-option-field").find(".video-metabox-source-item").hide(),e.closest(".tutor-option-field").find(".video_source_wrap_"+o).show()}),d(document).on("click",".tutor-course-thumbnail-upload-btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t.url),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),d(".tutor-course-thumbnail-delete-btn").show()}),e.open()}),d(document).on("click",".tutor-course-thumbnail-delete-btn",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("data-placeholder-src");e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t),e.closest(".tutor-thumbnail-wrap").find("input").val(""),d(".tutor-course-thumbnail-delete-btn").hide()}),d(document).on("click",".create_new_topic_btn",function(t){t.preventDefault(),d(".tutor-metabox-add-topics").slideToggle()}),d(document).on("click","#tutor-add-topic-btn",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-metabox-add-topics").find("input, textarea").serializeObject();t.action="tutor_add_course_topic",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d("#tutor-course-content-wrap").html(t.data.course_contents),e.closest(".tutor-metabox-add-topics").find('input[type!="hidden"], textarea').each(function(){d(this).val("")}),e.closest(".tutor-metabox-add-topics").slideUp(),i())},complete:function(){e.removeClass("tutor-updating-message")}})}),d(".tutor-zoom-meeting-modal-wrap").on("submit",".tutor-meeting-modal-form",function(t){t.preventDefault();var e=d(this),o=e.serializeObject(),t=Intl.DateTimeFormat().resolvedOptions().timeZone;o.timezone=t;var a=e.find('button[type="submit"]');d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(n("Success","tutor"),a.data("toast_success_message"),"success"):tutor_toast(n("Update Error","tutor"),n("Meeting Update Failed","tutor"),"error"),t.course_contents?(d(t.selector).html(t.course_contents),"#tutor-course-content-wrap"==t.selector&&i(),d(".tutor-zoom-meeting-modal-wrap").removeClass("show")):location.reload()},complete:function(){a.removeClass("tutor-updating-message")}})}),d(document).on("change keyup",".course-edit-topic-title-input",function(t){t.preventDefault(),d(this).closest(".tutor-topics-top").find(".topic-inner-title").html(d(this).val())}),d(document).on("click",".topic-edit-icon",function(t){t.preventDefault(),d(this).closest(".tutor-topics-top").find(".tutor-topics-edit-form").slideToggle()}),d(document).on("click",".tutor-topics-edit-button",function(t){t.preventDefault();var e=d(this),o=e.closest(".tutor-topics-wrap"),t=parseInt(o.attr("id").match(/\d+/)[0],10),a=e.closest(".tutor-topics-wrap").find('[name="topic_title"]').val(),o=e.closest(".tutor-topics-wrap").find('[name="topic_summery"]').val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_title:a,topic_summery:o,topic_id:t,action:"tutor_update_topic"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".tutor-topics-wrap").find("span.topic-inner-title").text(a),e.closest(".tutor-topics-wrap").find(".tutor-topics-edit-form").slideUp())},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".open-tutor-lesson-modal",function(t){t.preventDefault();var e=d(this),o=e.attr("data-lesson-id"),a=e.attr("data-topic-id"),n=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:o,topic_id:a,course_id:n,action:"tutor_load_edit_lesson_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),d(".tutor-lesson-modal-wrap").attr({"data-lesson-id":o,"data-topic-id":a}).addClass("show");t=(t=tinyMCEPreInit.mceInit.tutor_editor_config)||tinyMCEPreInit.mceInit.course_description;tinymce.init(t),tinymce.execCommand("mceRemoveEditor",!1,"tutor_lesson_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_lesson_modal_editor"),d(document).trigger("lesson_modal_loaded",{lesson_id:o,topic_id:a,course_id:n})},complete:function(){quicktags({id:"tutor_lesson_modal_editor"}),e.removeClass("tutor-updating-message")}})}),d(document).on("click",".lesson_thumbnail_upload_btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html('<img src="'+t.url+'" alt="" /><a href="javascript:;" class="tutor-lesson-thumbnail-delete-btn"><i class="tutor-icon-line-cross"></i></a>'),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),d(".tutor-lesson-thumbnail-delete-btn").show()}),e.open()}),d(document).on("click",".tutor-lesson-thumbnail-delete-btn",function(t){t.preventDefault();t=d(this);t.closest(".tutor-thumbnail-wrap").find("._lesson_thumbnail_id").val(""),t.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html(""),t.hide()}),d(document).on("click",".tutor-delete-lesson-btn",function(t){var e;t.preventDefault(),confirm(n("Are you sure?","tutor"))&&(t=(e=d(this)).attr("data-lesson-id"),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_delete_lesson_by_id"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&e.closest(".course-content-item").remove()},complete:function(){e.removeClass("tutor-updating-message")}}))}),d(document).on("click",".topic-delete-btn a",function(t){d(this).attr("data-topic-id");confirm(n("Are you sure to delete?","tutor"))||t.preventDefault()}),d(document).on("click",".tutor-expand-all-topic",function(t){t.preventDefault(),d(".tutor-topics-body").slideDown(),d(".expand-collapse-wrap i").removeClass("tutor-icon-light-down").addClass("tutor-icon-light-up")}),d(document).on("click",".tutor-collapse-all-topic",function(t){t.preventDefault(),d(".tutor-topics-body").slideUp(),d(".expand-collapse-wrap i").removeClass("tutor-icon-light-up").addClass("tutor-icon-light-down")}),d(document).on("click",".topic-inner-title, .expand-collapse-wrap",function(t){t.preventDefault();t=d(this);t.closest(".tutor-topics-wrap").find(".tutor-topics-body").slideToggle(),t.closest(".tutor-topics-wrap").find(".expand-collapse-wrap i").toggleClass("tutor-icon-light-down tutor-icon-light-up")}),d(document).on("click",".quiz-modal-btn-first-step",function(t){t.preventDefault();var e,o,a,n=d(this),i=d('[name="quiz_title"]'),r=i.val(),t=d('[name="quiz_description"]').val();r?(i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html(""),e=d("#post_ID").val(),o=n.closest(".tutor-modal-wrap").attr("quiz-for-post-id"),d("#tutor_quiz_builder_quiz_id").length?(a=d("#tutor_quiz_builder_quiz_id").val(),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,quiz_id:a,topic_id:o,action:"tutor_quiz_builder_quiz_update"},beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){d("#tutor-quiz-"+a).html(t.data.output_quiz_row),d('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s()},complete:function(){n.removeClass("tutor-updating-message")}})):d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,course_id:e,topic_id:o,action:"tutor_create_quiz_and_load_modal"},beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d("#tutor-topics-"+o+" .tutor-lessons").append(t.data.output_quiz_row),d('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s(),d(document).trigger("quiz_modal_loaded",{topic_id:o,course_id:e})},complete:function(){n.removeClass("tutor-updating-message")}})):i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html("Please enter quiz title")}),d(document).on("click",".open-tutor-quiz-modal",function(t){t.preventDefault();var e=d(this),o=e.attr("data-quiz-id"),a=e.attr("data-topic-id");null==a&&(a=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id"));var n=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:o,topic_id:a,course_id:n,action:"tutor_load_edit_quiz_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id",o).attr("quiz-for-post-id",a).addClass("show"),e.attr("data-back-to-tab")&&(t=e.attr("data-back-to-tab"),d('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")),d(document).trigger("quiz_modal_loaded",{quiz_id:o,topic_id:a,course_id:n}),s(),jQuery().sortable&&d(".quiz-builder-questions-wrap").sortable({handle:".question-sorting",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var a;a={},d(".quiz-builder-question-wrap").each(function(t,e){var o=d(this),o=parseInt(o.attr("data-question-id"),10);a[t]=o}),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_question_ids:a,action:"tutor_quiz_question_sorting"}})}})},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".quiz-modal-settings-save-btn",function(t){t.preventDefault();var e=d(this),o=d(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id"),a=d("#current_topic_id_for_quiz").val(),t=d("#quiz-builder-tab-settings :input, #quiz-builder-tab-advanced-options :input").serializeObject();t.topic_id=a,t.quiz_id=o,t.action="tutor_quiz_modal_update_settings",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&d("#tutor-course-content-wrap").html(t.data.course_contents),t.success?tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success"):tutor_toast(n("Update Error","tutor"),n("Quiz Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message"),"modal_close"===e.attr("data-action")&&d(".tutor-modal-wrap").removeClass("show")}})}),d(document).on("click",".quiz-modal-question-save-btn",function(t){t.preventDefault();var e=d(this),o=d(".quiz_question_form :input").serializeObject();o.action="tutor_quiz_modal_update_question";t=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id");o.topic_id=t,d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?e.closest(".tutor-quiz-builder-modal-contents").find(".open-tutor-quiz-modal").trigger("click"):void 0!==t.data&&d("#quiz_validation_msg_wrap").html(t.data.validation_msg)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".modal-close-btn",function(t){t.preventDefault(),d(".tutor-modal-wrap").removeClass("show")}),d(document).on("keyup",function(t){27===t.keyCode&&d(".tutor-modal-wrap").removeClass("show")}),d(document).on("click",".tutor-add-quiz-btn",function(t){t.preventDefault();var e=d(this),o=d(this).closest(".tutor_add_quiz_wrap").attr("data-add-quiz-under"),t=d(this).data("topic-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_for_post_id:o,current_topic_id:t,action:"tutor_load_quiz_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),d(".tutor-quiz-builder-modal-wrap").attr("quiz-for-post-id",o).addClass("show")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-modal-tab-item",function(t){t.preventDefault();var e=d(this),o=d('[name="quiz_title"]');o.val()?(o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html(""),t=e.attr("href"),d(".quiz-builder-tab-container").hide(),d(t).show(),d("a.tutor-quiz-modal-tab-item").removeClass("active"),e.addClass("active")):o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html('<p class="quiz-form-warning">Please save the quiz first</p>')}),d(document).on("click",".quiz-modal-btn-next, .quiz-modal-btn-back",function(t){t.preventDefault();t=d(this).attr("href");d('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")}),d(document).on("click",".quiz-modal-tab-navigation-btn.quiz-modal-btn-cancel",function(t){t.preventDefault(),d(".tutor-modal-wrap").removeClass("show")}),d(document).on("click",".tutor-quiz-open-question-form",function(t){t.preventDefault();var e=d(this),o=d("#tutor_quiz_builder_quiz_id").val(),a=d("#post_ID").val(),t=e.attr("data-question-id"),a={quiz_id:o,course_id:a,action:"tutor_quiz_builder_get_question_form"};t&&(a.question_id=t),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:a,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d(".tutor-quiz-builder-modal-contents").html(t.data.output),r().reInit(),jQuery().sortable&&d("#tutor_quiz_question_answers").sortable({handle:".tutor-quiz-answer-sort-icon",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var a;a={},d(".tutor-quiz-answer-wrap").each(function(t,e){var o=d(this),o=parseInt(o.attr("data-answer-id"),10);a[t]=o}),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_answer_ids:a,action:"tutor_quiz_answer_sorting"}})}}),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-question-trash",function(t){t.preventDefault();var e=d(this),t=e.attr("data-question-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:t,action:"tutor_quiz_builder_question_delete"},beforeSend:function(){e.closest(".quiz-builder-question-wrap").remove()}})}),d(document).on("click",".add_question_answers_option:not(.disabled)",function(t){t.preventDefault();var e=d(this),o=e.attr("data-question-id"),t=d(".quiz_question_form :input").serializeObject();t.question_id=o,t.action="tutor_quiz_add_question_answers",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answer_form").html(t.data.output),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-answer-edit a",function(t){t.preventDefault();var e=d(this),t=e.closest(".tutor-quiz-answer-wrap").attr("data-answer-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_edit_question_answer"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answer_form").html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click","#quiz-answer-save-btn",function(t){t.preventDefault();var e=d(this),t=d(".quiz_question_form :input").serializeObject();t.action="tutor_save_quiz_answer_options",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){d("#quiz_validation_msg_wrap").html(""),e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click","#quiz-answer-edit-btn",function(t){t.preventDefault();var e=d(this),t=d(".quiz_question_form :input").serializeObject();t.action="tutor_update_quiz_answer_options",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){d("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("change",".tutor-quiz-answers-mark-correct-wrap input",function(t){t.preventDefault();var e=d(this),o=e.val(),t=1;e.prop("checked")||(t=0),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:o,inputValue:t,action:"tutor_mark_answer_as_correct"}})}),d(document).on("refresh","#tutor_quiz_question_answers",function(t){t.preventDefault();var e=d(this),o=e.attr("data-question-id"),t=d(".tutor_select_value_holder").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:o,question_type:t,action:"tutor_quiz_builder_get_answers_by_question"},beforeSend:function(){e.addClass("tutor-updating-message"),d("#tutor_quiz_question_answer_form").html("")},success:function(t){t.success&&e.html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-quiz-answer-trash-wrap a.answer-trash-btn",function(t){t.preventDefault();var e=d(this),t=e.attr("data-answer-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_builder_delete_answer"},beforeSend:function(){e.closest(".tutor-quiz-answer-wrap").remove()}})}),d(document).on("click",".tutor-delete-quiz-btn",function(t){var e;t.preventDefault(),confirm(n("Are you sure?","tutor"))&&(t=(e=d(this)).attr("data-quiz-id"),d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_delete_quiz_by_id"},beforeSend:function(){e.closest(".course-content-item").remove()}}))}),r().init(),d(document).on("change","input.tutor_select_value_holder",function(t){d(this);d(".add_question_answers_option").trigger("click"),d("#tutor_quiz_question_answers").trigger("refresh")}),d(document).on("click",".tutor-media-upload-btn",function(t){t.preventDefault();var e,o=d(this);e||(e=wp.media({title:n("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:n("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.html('<img src="'+t.url+'" alt="" />'),o.closest(".tutor-media-upload-wrap").find("input").val(t.id)}),e.open()}),d(document).on("click",".tutor-media-upload-trash",function(t){t.preventDefault();t=d(this);t.closest(".tutor-media-upload-wrap").find(".tutor-media-upload-btn").html('<i class="tutor-icon-image1"></i>'),t.closest(".tutor-media-upload-wrap").find("input").val("")});var u,c=(u=0,function(t,e){clearTimeout(u),u=setTimeout(t,e)});d(document).on("click",".tutor-add-instructor-btn",function(t){t.preventDefault();var e=d(this),t=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_load_instructors_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),d(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("change keyup",".tutor-instructors-modal-wrap .tutor-modal-search-input",function(t){t.preventDefault();var o=d(this),a=d(".tutor-modal-wrap");c(function(){var t=o.val(),e=d("#post_ID").val();d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:e,search_terms:t,action:"tutor_load_instructors_modal"},beforeSend:function(){a.addClass("loading")},success:function(t){t.success&&(d(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),d(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){a.removeClass("loading")}})},1e3)}),d(document).on("click",".add_instructor_to_course_btn",function(t){t.preventDefault();var e=d(this),o=d(".tutor-modal-wrap"),t=d("#post_ID").val(),o=o.find("input").serializeObject();o.course_id=t,o.action="tutor_add_instructors_to_course",d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(d(".tutor-course-available-instructors").html(t.data.output),d(".tutor-modal-wrap").removeClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),d(document).on("click",".tutor-instructor-delete-btn",function(t){t.preventDefault();var e=d(this),o=d("#post_ID").val(),t=e.closest(".added-instructor-item").attr("data-instructor-id");d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:o,instructor_id:t,action:"detach_instructor_from_course"},success:function(t){t.success&&e.closest(".added-instructor-item").remove()}})}),d(document).on("click",".settings-tabs-navs li",function(t){t.preventDefault();var e=d(this),o=e.find("a").attr("data-target"),t=e.find("a").attr("href");e.addClass("active").siblings("li.active").removeClass("active"),d(".settings-tab-wrap").removeClass("active").hide(),d(o).addClass("active").show(),window.history.pushState({},"",t)}),d(document).on("lesson_modal_loaded quiz_modal_loaded assignment_modal_loaded",function(t,e){jQuery().select2&&d(".select2_multiselect").select2({dropdownCssClass:"increasezindex"}),o()}),d(document).on("lesson_modal_loaded",function(t,e){d(".tutor-lesson-modal-wrap .modal-title h1").html(n("Lesson","tutor"))}),d(document).on("assignment_modal_loaded",function(t,e){d(".tutor-lesson-modal-wrap .modal-title h1").html(n("Assignment","tutor"))}),d(document).on("keyup change",".tutor-number-validation",function(t){var e=d(this),o=parseInt(e.val()),a=parseInt(e.attr("data-min")),n=parseInt(e.attr("data-max"));o<a?e.val(a):n<o&&e.val(n)}),d(document).on("click",".tutor-instructor-feedback",function(t){t.preventDefault();var e=d(this);d.ajax({url:window.ajaxurl||_tutorobject.ajaxurl,type:"POST",data:{attempts_id:e.data("attemptid"),feedback:d(".tutor-instructor-feedback-content").val(),action:"tutor_instructor_feedback"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".course-content-item").remove(),tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})});var l=d(".tutor-announcement-add-new"),m=d(".tutor-announcement-edit"),p=d(".tutor-announcement-delete"),_=d(".tutor-announcement-details"),t=d(".tutor-announcement-close-btn"),f=d(".tutor-accouncement-create-modal"),h=d(".tutor-accouncement-update-modal"),v=d(".tutor-accouncement-details-modal");function w(t,e){var o=new URL(window.location.href),a=o.searchParams;return a.set(t,e),o.search=a.toString(),_tutorobject.is_admin?a.set("paged",1):a.set("current_page",1),o.search=a.toString(),o.toString()}d(l).click(function(){f.addClass("show"),d("#tutor-annoucement-backend-create-modal").addClass("show")}),d(_).click(function(){var t=d(this).attr("announcement-date"),e=d(this).attr("announcement-id"),o=d(this).attr("course-id"),a=d(this).attr("course-name"),n=d(this).attr("announcement-title"),i=d(this).attr("announcement-summary");d(".tutor-announcement-detail-content").html("<h3>".concat(n,"</h3><p>").concat(i,"</p>")),d(".tutor-announcement-detail-course-info p").html("".concat(a)),d(".tutor-announcement-detail-date-info p").html("".concat(t)),d("#tutor-announcement-edit-from-detail").attr("announcement-id",e),d("#tutor-announcement-edit-from-detail").attr("course-id",o),d("#tutor-announcement-edit-from-detail").attr("announcement-title",n),d("#tutor-announcement-edit-from-detail").attr("announcement-summary",i),d("#tutor-announcement-delete-from-detail").attr("announcement-id",e),v.addClass("show")}),d(m).click(function(){v&&v.removeClass("show");var t=d(this).attr("announcement-id"),e=d(this).attr("course-id"),o=d(this).attr("announcement-title"),a=d(this).attr("announcement-summary");d("#tutor-announcement-course-id").val(e),d("#announcement_id").val(t),d("#tutor-announcement-title").val(o),d("#tutor-announcement-summary").val(a),h.addClass("show")}),d(t).click(function(){f.removeClass("show"),h.removeClass("show"),v.removeClass("show"),d("#tutor-annoucement-backend-create-modal").removeClass("show")}),d(".tutor-announcements-form").on("submit",function(t){t.preventDefault();var e=d(this).find('button[type="submit"]'),t=d(".tutor-announcements-form").serialize()+"&action=tutor_announcement_create&action_type=create";d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(d(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){d(".tutor-announcements-create-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var a=y(o[e],2),a=(a[0],a[1]);d(".tutor-announcements-create-alert .tutor-alert").append("<li>".concat(a,"</li>"))}}"fail"==t.status&&d(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(t){console.log(t)}})}),d(".tutor-announcements-update-form").on("submit",function(t){t.preventDefault();var e=d(this).find('button[type="submit"]'),t=d(".tutor-announcements-update-form").serialize()+"&action=tutor_announcement_create&action_type=update";d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(d(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){d(".tutor-announcements-update-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var a=y(o[e],2),a=(a[0],a[1]);d(".tutor-announcements-update-alert > .tutor-alert").append("<li>".concat(a,"</li>"))}}"fail"==t.status&&d(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(){}})}),d(p).click(function(){var t=d(this).attr("announcement-id"),e=d("#tutor-announcement-tr-"+t);confirm("Do you want to delete?")&&d.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_announcement_delete",announcement_id:t},beforeSend:function(){},success:function(t){e.remove(),v.length&&v.removeClass("show"),"fail"==t.status&&console.log(t.message)},error:function(){}})}),d(".tutor-announcement-course-sorting").on("change",function(t){window.location=w("course-id",d(this).val())}),d(".tutor-announcement-order-sorting").on("change",function(t){window.location=w("order",d(this).val())}),d(".tutor-announcement-date-sorting").on("change",function(t){window.location=w("date",d(this).val())}),d(".tutor-announcement-search-sorting").on("click",function(t){window.location=w("search",d(".tutor-announcement-search-field").val())}),d(document).click(function(){d(".tutor-dropdown").removeClass("show")}),d(".tutor-dropdown").click(function(t){t.stopPropagation(),d(".tutor-dropdown").hasClass("show")&&d(".tutor-dropdown").removeClass("show"),d(this).addClass("show")});var b,p=".video_source_wrap_external_url input, .video_source_wrap_vimeo input, .video_source_wrap_youtube input, .video_source_wrap_html5, .video_source_upload_wrap_html5";d("body").on("paste",p,function(t){t.stopImmediatePropagation();var r=d(this).closest(".lesson-modal-form-wrap").find(".tutor-option-field-video-duration"),e=r.find("label"),o=d(this).hasClass("video_source_wrap_html5")||d(this).hasClass("video_source_upload_wrap_html5"),a=d(this).data("autofill_url");d(this).data("autofill_url",null);function n(t){t?0==e.find("img").length&&e.append(' <img src="'+window._tutorobject.loading_icon_url+'" style="display:inline-block"/>'):e.find("img").remove()}function i(t){for(var e=Math.floor(t/3600),o=Math.floor((t-3600*e)/60),t=Math.round(t-3600*e-60*o),a=[e=e<10?"0"+e:e,o=o<10?"0"+o:o,t=t<10?"0"+t:t],n=r.find("input"),i=0;i<3;i++)n.eq(i).val(a[i])}var s,u,c,t=o?d(this).find("span").data("video_url"):a||t.originalEvent.clipboardData.getData("text");o||d(this).parent().hasClass("video_source_wrap_external_url")?((s=document.createElement("video")).addEventListener("loadedmetadata",function(){i(s.duration),n(!1)}),n(!0),s.src=t):d(this).parent().hasClass("video_source_wrap_vimeo")?(u=(c=t.match(/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/))?c[5]:null)&&(n(!0),d.getJSON("http://vimeo.com/api/v2/video/"+u+"/json",function(t){Array.isArray(t)&&t[0]&&void 0!==t[0].duration&&i(t[0].duration),n(!1)})):d(this).parent().hasClass("video_source_wrap_youtube")&&(u=!(!(c=t.match(/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/))||11!=c[7].length)&&c[7],c=d(this).data("youtube_api_key"),u&&c&&(c="https://www.googleapis.com/youtube/v3/videos?id="+u+"&key="+c+"&part=contentDetails",n(!0),d.getJSON(c,function(t){"object"==g(t)&&t.items&&t.items[0]&&t.items[0].contentDetails&&t.items[0].contentDetails.duration&&i(function(t){t=(t=t.match(/PT(\d+H)?(\d+M)?(\d+S)?/)).slice(1).map(function(t){if(null!=t)return t.replace(/\D/,"")});return 3600*(parseInt(t[0])||0)+60*(parseInt(t[1])||0)+(parseInt(t[2])||0)}(t.items[0].contentDetails.duration)),n(!1)})))}).on("input",p,function(){b&&clearTimeout(b);var e=d(this);b=setTimeout(function(){var t=(t=e.val())?t.trim():"";console.log("Trigger",t),t&&e.data("autofill_url",t).trigger("paste")},700)}),d(".tutor-form-submit-through-ajax").submit(function(t){t.preventDefault();var e=d(this),o=d(this).attr("action")||window.location.href,a=d(this).attr("method")||"GET",t=d(this).serializeObject();e.find("button").addClass("tutor-updating-message"),d.ajax({url:o,type:a,data:t,success:function(){tutor_toast(n("Success","tutor"),e.data("toast_success_message"),"success")},complete:function(){e.find("button").removeClass("tutor-updating-message")}})}),d.ajaxSetup({data:tutor_get_nonce_data()})}),jQuery.fn.serializeObject=function(){var t={},e=this.serializeArray();return jQuery.each(e,function(){t[this.name]?(t[this.name].push||(t[this.name]=[t[this.name]]),t[this.name].push(this.value||"")):t[this.name]=this.value||""}),t},window.tutor_toast=function(t,e,o){var a=((window._tutorobject||{}).tutor_url||"")+"assets/images/";jQuery(".tutor-toast-parent").length||jQuery("body").append('<div class="tutor-toast-parent"></div>');var n=jQuery(' <div> <div> <img src="'+{success:a+"icon-check.svg",error:a+"icon-cross.svg"}[o]+'"/> </div> <div> <div> <b>'+t+"</b> <span>"+e+'</span> </div> </div> <div> <i class="tutor-toast-close tutor-icon-line-cross"></i> </div> </div>');n.find(".tutor-toast-close").click(function(){n.remove()}),jQuery(".tutor-toast-parent").append(n),setTimeout(function(){n&&n.fadeOut("fast",function(){jQuery(this).remove()})},5e3)},window.disableAddoption=function(){function t(t){t.classList.contains("disabled")||t.classList.add("disabled")}function e(t){t.classList.contains("disabled")&&t.classList.remove("disabled")}var o=document.querySelector(".tutor_select_value_holder").value,a=document.getElementById("tutor_quiz_question_answers"),n=document.getElementById("tutor_quiz_question_answer_form"),i=document.querySelector(".add_question_answers_option");("open_ended"===o||"short_answer"===o||("true_false"===o||"fill_in_the_blank"===o)&&(n.hasChildNodes()||a.hasChildNodes())?t:e)(i)}},896:()=>{window.jQuery(document).ready(function(o){var a=wp.i18n.__;o(document).on("click",".tutor-copy-text",function(t){t.stopImmediatePropagation(),t.preventDefault();var e=o(this).data("text"),t=o("<input>");o("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),tutor_toast(a("Copied!","tutor"),e,"success")})})}},a={};function i(t){var e=a[t];if(void 0!==e)return e.exports;e=a[t]={exports:{}};return o[t](e,e.exports,i),e.exports}(()=>{"use strict";i(896),i(623);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}jQuery(document).ready(function(r){var t=wp.i18n,i=t.__,e=(t._x,t._n,t._nx,i("Search students","tutor"));function a(){jQuery().sortable&&(r(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){o()}}),r(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){o()}}))}function o(){var i={};r(".tutor-topics-wrap").each(function(t,e){var o=r(this),a=parseInt(o.attr("id").match(/\d+/)[0],10),n={};o.find(".course-content-item").each(function(t,e){var o=r(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);n[t]=o}),i[t]={topic_id:a,lesson_ids:n}}),r("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}jQuery().wpColorPicker&&r(".tutor_colorpicker").wpColorPicker(),jQuery().select2&&r(".tutor_select2").select2(),r(".tutor-option-nav-tabs li a").click(function(t){t.preventDefault();t=r(this).attr("data-tab");r(".option-nav-item").removeClass("current"),r(this).closest("li").addClass("current"),r(".tutor-option-nav-page").hide(),r(t).addClass("current-page").show(),window.history.pushState("obj","",r(this).attr("href"))}),r("#save_tutor_option").click(function(t){t.preventDefault(),r(this).closest("form").submit()}),r("#tutor-option-form").submit(function(t){t.preventDefault();var e=r(this),t=e.serializeObject();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".button").addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(i("Saved","tutor"),e.data("toast_success_message"),"success"):tutor_toast(i("Request Error","tutor"),i("Could not save","tutor"),"error")},complete:function(){e.find(".button").removeClass("tutor-updating-message")}})}),r(document).on("click",".withdraw-method-nav li a",function(t){t.preventDefault();t=r(this).attr("data-target-id");r(".withdraw-method-form-wrap").hide(),r("#"+t).show()}),a(),r(document).on("click",".update_lesson_modal_btn",function(t){t.preventDefault();var e=r(this),o="tutor_lesson_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():r("#"+o).val();console.log(t);o=r(this).closest("form").serializeObject();o.lesson_content=t,r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(r("#tutor-course-content-wrap").html(t.data.course_contents),a(),r(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(i("Lesson Updated","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})}),r(document).on("change",".tutor_lesson_video_source",function(t){var e=r(this).val();r('[class^="video_source_wrap"]').hide(),r(".video_source_wrap_"+e).show(),"html5"===e?r(".tutor-video-poster-field").show():r(".tutor-video-poster-field").hide()}),r(document).on("click",".video_source_wrap_html5 .video_upload_btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},library:{type:"video"},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".video_source_wrap_html5").find("span.video_media_id").data("video_url",t.url).text(t.id).trigger("paste").closest("p").show(),o.closest(".video_source_wrap_html5").find("input.input_source_video_id").val(t.id)}),e.open()}),r(document).on("click","a.tutor-delete-attachment",function(t){t.preventDefault(),r(this).closest(".tutor-added-attachment").remove()}),r(document).on("click",".tutorUploadAttachmentBtn",function(t){t.preventDefault();var a,n=r(this);a||(a=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!0})).on("select",function(){var t=a.state().get("selection").toJSON();if(t.length)for(var e=0;e<t.length;e++){var o=t[e],o='<div class="tutor-added-attachment"><i class="tutor-icon-archive"></i> <a href="javascript:;" class="tutor-delete-attachment tutor-icon-line-cross"></a> <span> <a href="'+o.url+'">'+o.filename+'</a> </span><input type="hidden" name="tutor_attachments[]" value="'+o.id+'"></div>';n.closest(".tutor-lesson-attachments-metabox").find(".tutor-added-attachments-wrap").append(o)}}),a.open()}),_tutorobject.open_tutor_admin_menu&&((t=r("#adminmenu")).find('[href="admin.php?page=tutor"]').closest("li.wp-has-submenu").addClass("wp-has-current-submenu"),t.find('[href="admin.php?page=tutor"]').closest("li.wp-has-submenu").find("a.wp-has-submenu").removeClass("wp-has-current-submenu").addClass("wp-has-current-submenu")),r(document).on("click",".tutor-option-media-upload-btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".option-media-wrap").find(".option-media-preview").html('<img src="'+t.url+'" alt="" />'),o.closest(".option-media-wrap").find("input").val(t.id),o.closest(".option-media-wrap").find(".tutor-media-option-trash-btn").show()}),e.open()}),r(document).on("click",".tutor-media-option-trash-btn",function(t){t.preventDefault();t=r(this);t.closest(".option-media-wrap").find("img").remove(),t.closest(".option-media-wrap").find("input").val(""),t.closest(".option-media-wrap").find(".tutor-media-option-trash-btn").hide()}),r(document).on("change",".tutor_addons_list_item",function(t){var e=r(this),o=e.prop("checked")?1:0,e=e.attr("name");r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{isEnable:o,addonFieldName:e,action:"addon_enable_disable"},success:function(t){t.success}})}),r(document).on("submit","#new-instructor-form",function(t){t.preventDefault();var o=r(this),t=o.serializeObject();t.action="tutor_add_instructor",r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,success:function(t){var a,e;t.success?(o.trigger("reset"),r("#form-response").html('<p class="tutor-status-approved-context">'+t.data.msg+"</p>")):(a="",(e=t.data.errors)&&Object.keys(e).length&&(r.each(t.data.errors,function(t,e){var o;(o=e)&&"object"===n(o)&&o.constructor===Object?r.each(e,function(t,e){a+='<p class="tutor-required-fields">'+e[0]+"</p>"}):a+='<p class="tutor-required-fields">'+e+"</p>"}),r("#form-response").html(a)))}})}),r(document).on("click","a.instructor-action",function(t){t.preventDefault();var e=r(this),o=e.attr("data-action"),a=e.attr("data-instructor-id"),t=e.attr("data-prompt-message");t&&!confirm(t)||((a={instructor_id:a,action_name:o,action:"instructor_approval_action"})[o=_tutorobject.nonce_key]=_tutorobject[o],r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:a,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){location.reload(!0)},complete:function(){e.removeClass("tutor-updating-message")}}))}),r(document).on("click",".tutor-create-assignments-btn",function(t){t.preventDefault();var e=r(this),o=r(this).attr("data-topic-id"),a=r("#post_ID").val();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_id:o,course_id:a,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){r(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),r(".tutor-lesson-modal-wrap").attr("data-topic-id",o).addClass("show"),r(document).trigger("assignment_modal_loaded",{topic_id:o,course_id:a}),tinymce.init(tinyMCEPreInit.mceInit.tutor_editor_config),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),r(document).on("click",".open-tutor-assignment-modal",function(t){t.preventDefault();var e=r(this),o=e.attr("data-assignment-id"),a=e.attr("data-topic-id"),n=r("#post_ID").val();r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{assignment_id:o,topic_id:a,course_id:n,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){r(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),r(".tutor-lesson-modal-wrap").attr({"data-assignment-id":o,"data-topic-id":a}).addClass("show"),r(document).trigger("assignment_modal_loaded",{assignment_id:o,topic_id:a,course_id:n}),tinymce.init(tinyMCEPreInit.mceInit.tutor_editor_config),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),r(document).on("click",".update_assignment_modal_btn",function(t){t.preventDefault();var e=r(this),o="tutor_assignments_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():r("#"+o).val();console.log(t);o=r(this).closest("form").serializeObject();o.assignment_content=t,r.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(r("#tutor-course-content-wrap").html(t.data.course_contents),a(),r(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(i("Assignment Updated","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})}),r(document).on("click",".add-assignment-attachments",function(t){t.preventDefault();var o,a=r(this);o||(o=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=o.state().get("selection").first().toJSON(),e='<div class="tutor-individual-attachment-file"><p class="attachment-file-name">'+t.filename+'</p><input type="hidden" name="tutor_assignment_attachments[]" value="'+t.id+'"><a href="javascript:;" class="remove-assignment-attachment-a text-muted"> × Remove</a></div>';r("#assignment-attached-file").append(e),a.closest(".video_source_wrap_html5").find("input").val(t.id)}),o.open()}),r(document).on("click",".remove-assignment-attachment-a",function(t){t.preventDefault(),r(this).closest(".tutor-individual-attachment-file").remove()}),r(document).on("click",".tutor_video_poster_upload_btn",function(t){t.preventDefault();var e,o=r(this);e||(e=wp.media({title:i("Select or Upload Media Of Your Choice","tutor"),button:{text:i("Upload media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-video-poster-wrap").find(".video-poster-img").html('<img src="'+t.sizes.thumbnail.url+'" alt="" />'),o.closest(".tutor-video-poster-wrap").find("input").val(t.id)}),e.open()}),r(document).on("change","#tutor_pmpro_membership_model_select",function(t){t.preventDefault(),"category_wise_membership"===r(this).val()?r(".membership_course_categories").show():r(".membership_course_categories").hide()}),r(document).on("change","#tutor_pmpro_membership_model_select",function(t){t.preventDefault(),"category_wise_membership"===r(this).val()?r(".membership_course_categories").show():r(".membership_course_categories").hide()}),r(document).on("submit",".pmpro_admin form",function(t){var e=r(this);e.find('input[name="tutor_action"]').length&&("category_wise_membership"!=e.find('[name="tutor_pmpro_membership_model"]').val()||e.find(".membership_course_categories input:checked").length||confirm(i("Do you want to save without any category?","tutor"))||t.preventDefault())}),r("#select2_search_user_ajax").select2({allowClear:!0,minimumInputLength:1,placeholder:e,language:{inputTooShort:function(){return i("Please add 1 or more character","tutor")}},escapeMarkup:function(t){return t},ajax:{url:window._tutorobject.ajaxurl,type:"POST",dataType:"json",delay:1e3,data:function(t){return{term:t.term,action:"tutor_json_search_students"}},processResults:function(t){var o=[];return t&&r.each(t,function(t,e){o.push({id:t,text:e})}),{results:o}},cache:!0}}),r(document).on("click","table.enrolments .delete a",function(t){t.preventDefault();var e=r(this).attr("href"),t={title:i("Delete this enrolment","tutor"),description:i("All of the course data like quiz attempts, assignment, lesson <br/>progress will be deleted if you delete this student's enrollment.","tutor"),buttons:{reset:{title:i("Cancel","tutor"),class:"secondary",callback:function(){o.remove()}},keep:{title:i("Yes, Delete This","tutor"),class:"primary",callback:function(){window.location.replace(e)}}}},o=new window.tutor_popup(r,"icon-trash",40).popup(t)});e=r('#tutor-attach-product [name="tutor_course_price_type"]');0==e.length?r("#_tutor_is_course_public_meta_checkbox").show():e.change(function(){var t;r(this).prop("checked")&&(t="paid"==r(this).val()?"hide":"show",r("#_tutor_is_course_public_meta_checkbox")[t]())}).trigger("change"),r(document).on("click",".instructor-layout-template",function(){r(".instructor-layout-template").removeClass("selected-template"),r(this).addClass("selected-template")}),r("#preview-action a.preview").click(function(t){var e=r(this).attr("href");e&&(t.preventDefault(),window.open(e,"_blank"))})})})()})();
|
assets/js/tutor-front.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
(()=>{var o={623:()=>{function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var n,a,i=[],r=!0,s=!1;try{for(o=o.call(t);!(r=(n=o.next()).done)&&(i.push(n.value),!e||i.length!==e);r=!0);}catch(t){s=!0,a=t}finally{try{r||null==o.return||o.return()}finally{if(s)throw a}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(o="Object"===o&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,n=new Array(e);o<e;o++)n[o]=t[o];return n}window.tutor_get_nonce_data=function(t){var e=window._tutorobject||{},o=e.nonce_key||"",e=e[o]||"";return t?{key:o,value:e}:(t=e,(e=o)in(o={})?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o)},window.tutor_popup=function(r,o,n){var s,u=this;return this.popup_wrapper=function(t){var e=""===o?"":'<img class="tutor-pop-icon" src="'+window._tutorobject.tutor_url+"assets/images/"+o+'.svg"/>';return"<"+t+' class="tutor-component-popup-container"> <div class="tutor-component-popup-'+n+'"> <div class="tutor-component-content-container">'+e+'</div> <div class="tutor-component-button-container"></div> </div> </'+t+">"},this.popup=function(o){var t=o.title?"<h3>"+o.title+"</h3>":"",e=o.description?"<p>"+o.description+"</p>":"",n=Object.keys(o.buttons||{}).map(function(t){var e=o.buttons[t],t=e.id?"tutor-popup-"+e.id:"";return r('<button id="'+t+'" class="tutor-button tutor-button-'+e.class+'">'+e.title+"</button>").click(e.callback)}),a=(s=r(u.popup_wrapper(o.wrapper_tag||"div"))).find(".tutor-component-content-container");a.append(t),o.after_title&&a.append(o.after_title),a.append(e),o.after_description&&a.append(o.after_description),s.click(function(){r(this).remove()}).children().click(function(t){t.stopPropagation()});for(var i=0;i<n.length;i++)s.find(".tutor-component-button-container").append(n[i]);return r("body").append(s),s},{popup:this.popup}},window.tutorDotLoader=function(t){return' \n <div class="tutor-dot-loader '.concat(t||"",'">\n <span class="dot dot-1"></span>\n <span class="dot dot-2"></span>\n <span class="dot dot-3"></span>\n <span class="dot dot-4"></span>\n </div>')},window.tutor_date_picker=function(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",$(".tutor_date_picker").datepicker({dateFormat:t}))},jQuery(document).ready(function(l){"use strict";var t=wp.i18n,a=t.__;t._x,t._n,t._nx;function o(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",l(".tutor_date_picker").datepicker({dateFormat:t})),l(document).on("keydown",".hasDatepicker, .tutor_date_picker",function(t){8!==t.keyCode&&t.preventDefault()})}function s(){l(".tutor-field-slider").each(function(){var t=l(this),o=t.closest(".tutor-field-type-slider").find('input[type="hidden"]'),n=t.closest(".tutor-field-type-slider").find(".tutor-field-type-slider-value"),e=parseFloat(t.closest(".tutor-field-type-slider").attr("data-min")),a=parseFloat(t.closest(".tutor-field-type-slider").attr("data-max"));t.slider({range:"max",min:e,max:a,value:o.val(),slide:function(t,e){n.text(e.value),o.val(e.value)}})})}function e(t){var e=t.element;return l('<span><i class="tutor-icon-'+l(e).data("icon")+'"></i> '+t.text+"</span>")}function i(){jQuery().sortable&&(l(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){n()}}),l(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){n()}}))}function n(){var i={};l(".tutor-topics-wrap").each(function(t,e){var o=l(this),n=parseInt(o.attr("id").match(/\d+/)[0],10),a={};o.find(".course-content-item").each(function(t,e){var o=l(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);a[t]=o}),i[t]={topic_id:n,lesson_ids:a}}),l("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function r(){return{init:function(){l(document).on("click",".tutor-select .tutor-select-option",function(t){t.preventDefault();var e=l(this);"true"!==e.attr("data-is-pro")?(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")).trigger("change"),e.closest(".tutor-select-options").hide(),disableAddoption()):alert("Tutor Pro version required")}),l(document).on("click",".tutor-select .select-header",function(t){t.preventDefault(),l(this).closest(".tutor-select").find(".tutor-select-options").slideToggle()}),this.setValue(),this.hideOnOutSideClick()},setValue:function(){l(".tutor-select").each(function(){var t=l(this).find(".tutor-select-option");t.length&&t.each(function(){var t,e=l(this);"selected"===e.attr("data-selected")&&(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")))})})},hideOnOutSideClick:function(){l(document).mouseup(function(t){var e=l(".tutor-select-options");l(t.target).closest(".select-header").length||e.is(t.target)||0!==e.has(t.target).length||e.hide()})},reInit:function(){this.setValue()}}}o(),s(),jQuery().select2&&l(".videosource_select2").select2({width:"100%",templateSelection:e,templateResult:e,allowHtml:!0}),l(document).on("change",".tutor_lesson_video_source",function(t){var e=l(this),o=l(this).val();o?l(".video-metabox-source-input-wrap").show():l(".video-metabox-source-input-wrap").hide(),e.closest(".tutor-option-field").find(".video-metabox-source-item").hide(),e.closest(".tutor-option-field").find(".video_source_wrap_"+o).show()}),l(document).on("click",".tutor-course-thumbnail-upload-btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t.url),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),l(".tutor-course-thumbnail-delete-btn").show()}),e.open()}),l(document).on("click",".tutor-course-thumbnail-delete-btn",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("data-placeholder-src");e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t),e.closest(".tutor-thumbnail-wrap").find("input").val(""),l(".tutor-course-thumbnail-delete-btn").hide()}),l(document).on("click",".create_new_topic_btn",function(t){t.preventDefault(),l(".tutor-metabox-add-topics").slideToggle()}),l(document).on("click","#tutor-add-topic-btn",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-metabox-add-topics").find("input, textarea").serializeObject();t.action="tutor_add_course_topic",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l("#tutor-course-content-wrap").html(t.data.course_contents),e.closest(".tutor-metabox-add-topics").find('input[type!="hidden"], textarea').each(function(){l(this).val("")}),e.closest(".tutor-metabox-add-topics").slideUp(),i())},complete:function(){e.removeClass("tutor-updating-message")}})}),l(".tutor-zoom-meeting-modal-wrap").on("submit",".tutor-meeting-modal-form",function(t){t.preventDefault();var e=l(this),o=e.serializeObject(),t=Intl.DateTimeFormat().resolvedOptions().timeZone;o.timezone=t;var n=e.find('button[type="submit"]');l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(a("Success","tutor"),n.data("toast_success_message"),"success"):tutor_toast(a("Update Error","tutor"),a("Meeting Update Failed","tutor"),"error"),t.course_contents?(l(t.selector).html(t.course_contents),"#tutor-course-content-wrap"==t.selector&&i(),l(".tutor-zoom-meeting-modal-wrap").removeClass("show")):location.reload()},complete:function(){n.removeClass("tutor-updating-message")}})}),l(document).on("change keyup",".course-edit-topic-title-input",function(t){t.preventDefault(),l(this).closest(".tutor-topics-top").find(".topic-inner-title").html(l(this).val())}),l(document).on("click",".topic-edit-icon",function(t){t.preventDefault(),l(this).closest(".tutor-topics-top").find(".tutor-topics-edit-form").slideToggle()}),l(document).on("click",".tutor-topics-edit-button",function(t){t.preventDefault();var e=l(this),o=e.closest(".tutor-topics-wrap"),t=parseInt(o.attr("id").match(/\d+/)[0],10),n=e.closest(".tutor-topics-wrap").find('[name="topic_title"]').val(),o=e.closest(".tutor-topics-wrap").find('[name="topic_summery"]').val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_title:n,topic_summery:o,topic_id:t,action:"tutor_update_topic"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".tutor-topics-wrap").find("span.topic-inner-title").text(n),e.closest(".tutor-topics-wrap").find(".tutor-topics-edit-form").slideUp())},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".open-tutor-lesson-modal",function(t){t.preventDefault();var e=l(this),o=e.attr("data-lesson-id"),n=e.attr("data-topic-id"),a=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:o,topic_id:n,course_id:a,action:"tutor_load_edit_lesson_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),l(".tutor-lesson-modal-wrap").attr({"data-lesson-id":o,"data-topic-id":n}).addClass("show");t=(t=tinyMCEPreInit.mceInit.tutor_editor_config)||tinyMCEPreInit.mceInit.course_description;tinymce.init(t),tinymce.execCommand("mceRemoveEditor",!1,"tutor_lesson_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_lesson_modal_editor"),l(document).trigger("lesson_modal_loaded",{lesson_id:o,topic_id:n,course_id:a})},complete:function(){quicktags({id:"tutor_lesson_modal_editor"}),e.removeClass("tutor-updating-message")}})}),l(document).on("click",".lesson_thumbnail_upload_btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html('<img src="'+t.url+'" alt="" /><a href="javascript:;" class="tutor-lesson-thumbnail-delete-btn"><i class="tutor-icon-line-cross"></i></a>'),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),l(".tutor-lesson-thumbnail-delete-btn").show()}),e.open()}),l(document).on("click",".tutor-lesson-thumbnail-delete-btn",function(t){t.preventDefault();t=l(this);t.closest(".tutor-thumbnail-wrap").find("._lesson_thumbnail_id").val(""),t.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html(""),t.hide()}),l(document).on("click",".tutor-delete-lesson-btn",function(t){var e;t.preventDefault(),confirm(a("Are you sure?","tutor"))&&(t=(e=l(this)).attr("data-lesson-id"),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_delete_lesson_by_id"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&e.closest(".course-content-item").remove()},complete:function(){e.removeClass("tutor-updating-message")}}))}),l(document).on("click",".topic-delete-btn a",function(t){l(this).attr("data-topic-id");confirm(a("Are you sure to delete?","tutor"))||t.preventDefault()}),l(document).on("click",".tutor-expand-all-topic",function(t){t.preventDefault(),l(".tutor-topics-body").slideDown(),l(".expand-collapse-wrap i").removeClass("tutor-icon-light-down").addClass("tutor-icon-light-up")}),l(document).on("click",".tutor-collapse-all-topic",function(t){t.preventDefault(),l(".tutor-topics-body").slideUp(),l(".expand-collapse-wrap i").removeClass("tutor-icon-light-up").addClass("tutor-icon-light-down")}),l(document).on("click",".topic-inner-title, .expand-collapse-wrap",function(t){t.preventDefault();t=l(this);t.closest(".tutor-topics-wrap").find(".tutor-topics-body").slideToggle(),t.closest(".tutor-topics-wrap").find(".expand-collapse-wrap i").toggleClass("tutor-icon-light-down tutor-icon-light-up")}),l(document).on("click",".quiz-modal-btn-first-step",function(t){t.preventDefault();var e,o,n,a=l(this),i=l('[name="quiz_title"]'),r=i.val(),t=l('[name="quiz_description"]').val();r?(i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html(""),e=l("#post_ID").val(),o=a.closest(".tutor-modal-wrap").attr("quiz-for-post-id"),l("#tutor_quiz_builder_quiz_id").length?(n=l("#tutor_quiz_builder_quiz_id").val(),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,quiz_id:n,topic_id:o,action:"tutor_quiz_builder_quiz_update"},beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){l("#tutor-quiz-"+n).html(t.data.output_quiz_row),l('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s()},complete:function(){a.removeClass("tutor-updating-message")}})):l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,course_id:e,topic_id:o,action:"tutor_create_quiz_and_load_modal"},beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l("#tutor-topics-"+o+" .tutor-lessons").append(t.data.output_quiz_row),l('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s(),l(document).trigger("quiz_modal_loaded",{topic_id:o,course_id:e})},complete:function(){a.removeClass("tutor-updating-message")}})):i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html("Please enter quiz title")}),l(document).on("click",".open-tutor-quiz-modal",function(t){t.preventDefault();var e=l(this),o=e.attr("data-quiz-id"),n=e.attr("data-topic-id");null==n&&(n=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id"));var a=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:o,topic_id:n,course_id:a,action:"tutor_load_edit_quiz_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id",o).attr("quiz-for-post-id",n).addClass("show"),e.attr("data-back-to-tab")&&(t=e.attr("data-back-to-tab"),l('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")),l(document).trigger("quiz_modal_loaded",{quiz_id:o,topic_id:n,course_id:a}),s(),jQuery().sortable&&l(".quiz-builder-questions-wrap").sortable({handle:".question-sorting",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var n;n={},l(".quiz-builder-question-wrap").each(function(t,e){var o=l(this),o=parseInt(o.attr("data-question-id"),10);n[t]=o}),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_question_ids:n,action:"tutor_quiz_question_sorting"}})}})},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".quiz-modal-settings-save-btn",function(t){t.preventDefault();var e=l(this),o=l(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id"),n=l("#current_topic_id_for_quiz").val(),t=l("#quiz-builder-tab-settings :input, #quiz-builder-tab-advanced-options :input").serializeObject();t.topic_id=n,t.quiz_id=o,t.action="tutor_quiz_modal_update_settings",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&l("#tutor-course-content-wrap").html(t.data.course_contents),t.success?tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success"):tutor_toast(a("Update Error","tutor"),a("Quiz Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message"),"modal_close"===e.attr("data-action")&&l(".tutor-modal-wrap").removeClass("show")}})}),l(document).on("click",".quiz-modal-question-save-btn",function(t){t.preventDefault();var e=l(this),o=l(".quiz_question_form :input").serializeObject();o.action="tutor_quiz_modal_update_question";t=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id");o.topic_id=t,l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?e.closest(".tutor-quiz-builder-modal-contents").find(".open-tutor-quiz-modal").trigger("click"):void 0!==t.data&&l("#quiz_validation_msg_wrap").html(t.data.validation_msg)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".modal-close-btn",function(t){t.preventDefault(),l(".tutor-modal-wrap").removeClass("show")}),l(document).on("keyup",function(t){27===t.keyCode&&l(".tutor-modal-wrap").removeClass("show")}),l(document).on("click",".tutor-add-quiz-btn",function(t){t.preventDefault();var e=l(this),o=l(this).closest(".tutor_add_quiz_wrap").attr("data-add-quiz-under"),t=l(this).data("topic-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_for_post_id:o,current_topic_id:t,action:"tutor_load_quiz_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l(".tutor-quiz-builder-modal-wrap").attr("quiz-for-post-id",o).addClass("show")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-modal-tab-item",function(t){t.preventDefault();var e=l(this),o=l('[name="quiz_title"]');o.val()?(o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html(""),t=e.attr("href"),l(".quiz-builder-tab-container").hide(),l(t).show(),l("a.tutor-quiz-modal-tab-item").removeClass("active"),e.addClass("active")):o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html('<p class="quiz-form-warning">Please save the quiz first</p>')}),l(document).on("click",".quiz-modal-btn-next, .quiz-modal-btn-back",function(t){t.preventDefault();t=l(this).attr("href");l('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")}),l(document).on("click",".quiz-modal-tab-navigation-btn.quiz-modal-btn-cancel",function(t){t.preventDefault(),l(".tutor-modal-wrap").removeClass("show")}),l(document).on("click",".tutor-quiz-open-question-form",function(t){t.preventDefault();var e=l(this),o=l("#tutor_quiz_builder_quiz_id").val(),n=l("#post_ID").val(),t=e.attr("data-question-id"),n={quiz_id:o,course_id:n,action:"tutor_quiz_builder_get_question_form"};t&&(n.question_id=t),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:n,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-contents").html(t.data.output),r().reInit(),jQuery().sortable&&l("#tutor_quiz_question_answers").sortable({handle:".tutor-quiz-answer-sort-icon",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var n;n={},l(".tutor-quiz-answer-wrap").each(function(t,e){var o=l(this),o=parseInt(o.attr("data-answer-id"),10);n[t]=o}),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_answer_ids:n,action:"tutor_quiz_answer_sorting"}})}}),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-question-trash",function(t){t.preventDefault();var e=l(this),t=e.attr("data-question-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:t,action:"tutor_quiz_builder_question_delete"},beforeSend:function(){e.closest(".quiz-builder-question-wrap").remove()}})}),l(document).on("click",".add_question_answers_option:not(.disabled)",function(t){t.preventDefault();var e=l(this),o=e.attr("data-question-id"),t=l(".quiz_question_form :input").serializeObject();t.question_id=o,t.action="tutor_quiz_add_question_answers",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answer_form").html(t.data.output),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-answer-edit a",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-quiz-answer-wrap").attr("data-answer-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_edit_question_answer"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answer_form").html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click","#quiz-answer-save-btn",function(t){t.preventDefault();var e=l(this),t=l(".quiz_question_form :input").serializeObject();t.action="tutor_save_quiz_answer_options",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){l("#quiz_validation_msg_wrap").html(""),e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click","#quiz-answer-edit-btn",function(t){t.preventDefault();var e=l(this),t=l(".quiz_question_form :input").serializeObject();t.action="tutor_update_quiz_answer_options",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("change",".tutor-quiz-answers-mark-correct-wrap input",function(t){t.preventDefault();var e=l(this),o=e.val(),t=1;e.prop("checked")||(t=0),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:o,inputValue:t,action:"tutor_mark_answer_as_correct"}})}),l(document).on("refresh","#tutor_quiz_question_answers",function(t){t.preventDefault();var e=l(this),o=e.attr("data-question-id"),t=l(".tutor_select_value_holder").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:o,question_type:t,action:"tutor_quiz_builder_get_answers_by_question"},beforeSend:function(){e.addClass("tutor-updating-message"),l("#tutor_quiz_question_answer_form").html("")},success:function(t){t.success&&e.html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-answer-trash-wrap a.answer-trash-btn",function(t){t.preventDefault();var e=l(this),t=e.attr("data-answer-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_builder_delete_answer"},beforeSend:function(){e.closest(".tutor-quiz-answer-wrap").remove()}})}),l(document).on("click",".tutor-delete-quiz-btn",function(t){var e;t.preventDefault(),confirm(a("Are you sure?","tutor"))&&(t=(e=l(this)).attr("data-quiz-id"),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_delete_quiz_by_id"},beforeSend:function(){e.closest(".course-content-item").remove()}}))}),r().init(),l(document).on("change","input.tutor_select_value_holder",function(t){l(this);l(".add_question_answers_option").trigger("click"),l("#tutor_quiz_question_answers").trigger("refresh")}),l(document).on("click",".tutor-media-upload-btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.html('<img src="'+t.url+'" alt="" />'),o.closest(".tutor-media-upload-wrap").find("input").val(t.id)}),e.open()}),l(document).on("click",".tutor-media-upload-trash",function(t){t.preventDefault();t=l(this);t.closest(".tutor-media-upload-wrap").find(".tutor-media-upload-btn").html('<i class="tutor-icon-image1"></i>'),t.closest(".tutor-media-upload-wrap").find("input").val("")});var u,c=(u=0,function(t,e){clearTimeout(u),u=setTimeout(t,e)});l(document).on("click",".tutor-add-instructor-btn",function(t){t.preventDefault();var e=l(this),t=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_load_instructors_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),l(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("change keyup",".tutor-instructors-modal-wrap .tutor-modal-search-input",function(t){t.preventDefault();var o=l(this),n=l(".tutor-modal-wrap");c(function(){var t=o.val(),e=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:e,search_terms:t,action:"tutor_load_instructors_modal"},beforeSend:function(){n.addClass("loading")},success:function(t){t.success&&(l(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),l(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){n.removeClass("loading")}})},1e3)}),l(document).on("click",".add_instructor_to_course_btn",function(t){t.preventDefault();var e=l(this),o=l(".tutor-modal-wrap"),t=l("#post_ID").val(),o=o.find("input").serializeObject();o.course_id=t,o.action="tutor_add_instructors_to_course",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l(".tutor-course-available-instructors").html(t.data.output),l(".tutor-modal-wrap").removeClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-instructor-delete-btn",function(t){t.preventDefault();var e=l(this),o=l("#post_ID").val(),t=e.closest(".added-instructor-item").attr("data-instructor-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:o,instructor_id:t,action:"detach_instructor_from_course"},success:function(t){t.success&&e.closest(".added-instructor-item").remove()}})}),l(document).on("click",".settings-tabs-navs li",function(t){t.preventDefault();var e=l(this),o=e.find("a").attr("data-target"),t=e.find("a").attr("href");e.addClass("active").siblings("li.active").removeClass("active"),l(".settings-tab-wrap").removeClass("active").hide(),l(o).addClass("active").show(),window.history.pushState({},"",t)}),l(document).on("lesson_modal_loaded quiz_modal_loaded assignment_modal_loaded",function(t,e){jQuery().select2&&l(".select2_multiselect").select2({dropdownCssClass:"increasezindex"}),o()}),l(document).on("lesson_modal_loaded",function(t,e){l(".tutor-lesson-modal-wrap .modal-title h1").html(a("Lesson","tutor"))}),l(document).on("assignment_modal_loaded",function(t,e){l(".tutor-lesson-modal-wrap .modal-title h1").html(a("Assignment","tutor"))}),l(document).on("keyup change",".tutor-number-validation",function(t){var e=l(this),o=parseInt(e.val()),n=parseInt(e.attr("data-min")),a=parseInt(e.attr("data-max"));o<n?e.val(n):a<o&&e.val(a)}),l(document).on("click",".tutor-instructor-feedback",function(t){t.preventDefault();var e=l(this);l.ajax({url:window.ajaxurl||_tutorobject.ajaxurl,type:"POST",data:{attempts_id:e.data("attemptid"),feedback:l(".tutor-instructor-feedback-content").val(),action:"tutor_instructor_feedback"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".course-content-item").remove(),tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})});var d=l(".tutor-announcement-add-new"),p=l(".tutor-announcement-edit"),m=l(".tutor-announcement-delete"),_=l(".tutor-announcement-details"),t=l(".tutor-announcement-close-btn"),f=l(".tutor-accouncement-create-modal"),h=l(".tutor-accouncement-update-modal"),v=l(".tutor-accouncement-details-modal");function g(t,e){var o=new URL(window.location.href),n=o.searchParams;return n.set(t,e),o.search=n.toString(),_tutorobject.is_admin?n.set("paged",1):n.set("current_page",1),o.search=n.toString(),o.toString()}l(d).click(function(){f.addClass("show"),l("#tutor-annoucement-backend-create-modal").addClass("show")}),l(_).click(function(){var t=l(this).attr("announcement-date"),e=l(this).attr("announcement-id"),o=l(this).attr("course-id"),n=l(this).attr("course-name"),a=l(this).attr("announcement-title"),i=l(this).attr("announcement-summary");l(".tutor-announcement-detail-content").html("<h3>".concat(a,"</h3><p>").concat(i,"</p>")),l(".tutor-announcement-detail-course-info p").html("".concat(n)),l(".tutor-announcement-detail-date-info p").html("".concat(t)),l("#tutor-announcement-edit-from-detail").attr("announcement-id",e),l("#tutor-announcement-edit-from-detail").attr("course-id",o),l("#tutor-announcement-edit-from-detail").attr("announcement-title",a),l("#tutor-announcement-edit-from-detail").attr("announcement-summary",i),l("#tutor-announcement-delete-from-detail").attr("announcement-id",e),v.addClass("show")}),l(p).click(function(){v&&v.removeClass("show");var t=l(this).attr("announcement-id"),e=l(this).attr("course-id"),o=l(this).attr("announcement-title"),n=l(this).attr("announcement-summary");l("#tutor-announcement-course-id").val(e),l("#announcement_id").val(t),l("#tutor-announcement-title").val(o),l("#tutor-announcement-summary").val(n),h.addClass("show")}),l(t).click(function(){f.removeClass("show"),h.removeClass("show"),v.removeClass("show"),l("#tutor-annoucement-backend-create-modal").removeClass("show")}),l(".tutor-announcements-form").on("submit",function(t){t.preventDefault();var e=l(this).find('button[type="submit"]'),t=l(".tutor-announcements-form").serialize()+"&action=tutor_announcement_create&action_type=create";l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(l(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){l(".tutor-announcements-create-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var n=y(o[e],2),n=(n[0],n[1]);l(".tutor-announcements-create-alert .tutor-alert").append("<li>".concat(n,"</li>"))}}"fail"==t.status&&l(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(t){console.log(t)}})}),l(".tutor-announcements-update-form").on("submit",function(t){t.preventDefault();var e=l(this).find('button[type="submit"]'),t=l(".tutor-announcements-update-form").serialize()+"&action=tutor_announcement_create&action_type=update";l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(l(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){l(".tutor-announcements-update-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var n=y(o[e],2),n=(n[0],n[1]);l(".tutor-announcements-update-alert > .tutor-alert").append("<li>".concat(n,"</li>"))}}"fail"==t.status&&l(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(){}})}),l(m).click(function(){var t=l(this).attr("announcement-id"),e=l("#tutor-announcement-tr-"+t);confirm("Do you want to delete?")&&l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_announcement_delete",announcement_id:t},beforeSend:function(){},success:function(t){e.remove(),v.length&&v.removeClass("show"),"fail"==t.status&&console.log(t.message)},error:function(){}})}),l(".tutor-announcement-course-sorting").on("change",function(t){window.location=g("course-id",l(this).val())}),l(".tutor-announcement-order-sorting").on("change",function(t){window.location=g("order",l(this).val())}),l(".tutor-announcement-date-sorting").on("change",function(t){window.location=g("date",l(this).val())}),l(".tutor-announcement-search-sorting").on("click",function(t){window.location=g("search",l(".tutor-announcement-search-field").val())}),l(document).click(function(){l(".tutor-dropdown").removeClass("show")}),l(".tutor-dropdown").click(function(t){t.stopPropagation(),l(".tutor-dropdown").hasClass("show")&&l(".tutor-dropdown").removeClass("show"),l(this).addClass("show")});var w,m=".video_source_wrap_external_url input, .video_source_wrap_vimeo input, .video_source_wrap_youtube input, .video_source_wrap_html5, .video_source_upload_wrap_html5";l("body").on("paste",m,function(t){t.stopImmediatePropagation();var r=l(this).closest(".lesson-modal-form-wrap").find(".tutor-option-field-video-duration"),e=r.find("label"),o=l(this).hasClass("video_source_wrap_html5")||l(this).hasClass("video_source_upload_wrap_html5"),n=l(this).data("autofill_url");l(this).data("autofill_url",null);function a(t){t?0==e.find("img").length&&e.append(' <img src="'+window._tutorobject.loading_icon_url+'" style="display:inline-block"/>'):e.find("img").remove()}function i(t){for(var e=Math.floor(t/3600),o=Math.floor((t-3600*e)/60),t=Math.round(t-3600*e-60*o),n=[e=e<10?"0"+e:e,o=o<10?"0"+o:o,t=t<10?"0"+t:t],a=r.find("input"),i=0;i<3;i++)a.eq(i).val(n[i])}var s,u,c,t=o?l(this).find("span").data("video_url"):n||t.originalEvent.clipboardData.getData("text");o||l(this).parent().hasClass("video_source_wrap_external_url")?((s=document.createElement("video")).addEventListener("loadedmetadata",function(){i(s.duration),a(!1)}),a(!0),s.src=t):l(this).parent().hasClass("video_source_wrap_vimeo")?(u=(c=t.match(/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/))?c[5]:null)&&(a(!0),l.getJSON("http://vimeo.com/api/v2/video/"+u+"/json",function(t){Array.isArray(t)&&t[0]&&void 0!==t[0].duration&&i(t[0].duration),a(!1)})):l(this).parent().hasClass("video_source_wrap_youtube")&&(u=!(!(c=t.match(/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/))||11!=c[7].length)&&c[7],c=l(this).data("youtube_api_key"),u&&c&&(c="https://www.googleapis.com/youtube/v3/videos?id="+u+"&key="+c+"&part=contentDetails",a(!0),l.getJSON(c,function(t){"object"==b(t)&&t.items&&t.items[0]&&t.items[0].contentDetails&&t.items[0].contentDetails.duration&&i(function(t){t=(t=t.match(/PT(\d+H)?(\d+M)?(\d+S)?/)).slice(1).map(function(t){if(null!=t)return t.replace(/\D/,"")});return 3600*(parseInt(t[0])||0)+60*(parseInt(t[1])||0)+(parseInt(t[2])||0)}(t.items[0].contentDetails.duration)),a(!1)})))}).on("input",m,function(){w&&clearTimeout(w);var e=l(this);w=setTimeout(function(){var t=(t=e.val())?t.trim():"";console.log("Trigger",t),t&&e.data("autofill_url",t).trigger("paste")},700)}),l(".tutor-form-submit-through-ajax").submit(function(t){t.preventDefault();var e=l(this),o=l(this).attr("action")||window.location.href,n=l(this).attr("method")||"GET",t=l(this).serializeObject();e.find("button").addClass("tutor-updating-message"),l.ajax({url:o,type:n,data:t,success:function(){tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success")},complete:function(){e.find("button").removeClass("tutor-updating-message")}})}),l.ajaxSetup({data:tutor_get_nonce_data()})}),jQuery.fn.serializeObject=function(){var t={},e=this.serializeArray();return jQuery.each(e,function(){t[this.name]?(t[this.name].push||(t[this.name]=[t[this.name]]),t[this.name].push(this.value||"")):t[this.name]=this.value||""}),t},window.tutor_toast=function(t,e,o){var n=((window._tutorobject||{}).tutor_url||"")+"assets/images/";jQuery(".tutor-toast-parent").length||jQuery("body").append('<div class="tutor-toast-parent"></div>');var a=jQuery(' <div> <div> <img src="'+{success:n+"icon-check.svg",error:n+"icon-cross.svg"}[o]+'"/> </div> <div> <div> <b>'+t+"</b> <span>"+e+'</span> </div> </div> <div> <i class="tutor-toast-close tutor-icon-line-cross"></i> </div> </div>');a.find(".tutor-toast-close").click(function(){a.remove()}),jQuery(".tutor-toast-parent").append(a),setTimeout(function(){a&&a.fadeOut("fast",function(){jQuery(this).remove()})},5e3)},window.disableAddoption=function(){function t(t){t.classList.contains("disabled")||t.classList.add("disabled")}function e(t){t.classList.contains("disabled")&&t.classList.remove("disabled")}var o=document.querySelector(".tutor_select_value_holder").value,n=document.getElementById("tutor_quiz_question_answers"),a=document.getElementById("tutor_quiz_question_answer_form"),i=document.querySelector(".add_question_answers_option");("open_ended"===o||"short_answer"===o||("true_false"===o||"fill_in_the_blank"===o)&&(a.hasChildNodes()||n.hasChildNodes())?t:e)(i)}},896:()=>{window.jQuery(document).ready(function(o){var n=wp.i18n.__;o(document).on("click",".tutor-copy-text",function(t){t.stopImmediatePropagation(),t.preventDefault();var e=o(this).data("text"),t=o("<input>");o("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),tutor_toast(n("Copied!","tutor"),e,"success")})})}},n={};function a(t){var e=n[t];if(void 0!==e)return e.exports;e=n[t]={exports:{}};return o[t](e,e.exports,a),e.exports}(()=>{"use strict";a(896),a(623);jQuery(document).ready(function(u){var e,o,n,a,t=wp.i18n,s=t.__;t._x,t._n,t._nx;function i(t,e){var o,n;1<t.originalEvent.touches.length||(t.preventDefault(),o=t.originalEvent.changedTouches[0],(n=document.createEvent("MouseEvents")).initMouseEvent(e,!0,!0,window,1,o.screenX,o.screenY,o.clientX,o.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(n))}jQuery().select2&&u(".tutor_select2").select2({escapeMarkup:function(t){return t}}),(e=jQuery).support.touch="ontouchend"in document,e.support.touch&&(_=e.ui.mouse.prototype,n=_._mouseInit,a=_._mouseDestroy,_._touchStart=function(t){!o&&this._mouseCapture(t.originalEvent.changedTouches[0])&&(o=!0,this._touchMoved=!1,i(t,"mouseover"),i(t,"mousemove"),i(t,"mousedown"))},_._touchMove=function(t){o&&(this._touchMoved=!0,i(t,"mousemove"))},_._touchEnd=function(t){o&&(i(t,"mouseup"),i(t,"mouseout"),this._touchMoved||i(t,"click"),o=!1)},_._mouseInit=function(){var t=this;t.element.bind({touchstart:e.proxy(t,"_touchStart"),touchmove:e.proxy(t,"_touchMove"),touchend:e.proxy(t,"_touchEnd")}),n.call(t)},_._mouseDestroy=function(){var t=this;t.element.unbind({touchstart:e.proxy(t,"_touchStart"),touchmove:e.proxy(t,"_touchMove"),touchend:e.proxy(t,"_touchEnd")}),a.call(t)});var r={ajaxurl:window._tutorobject.ajaxurl,nonce_key:window._tutorobject.nonce_key,video_data:function(){var t=u("#tutor_video_tracking_information").val();return t?JSON.parse(t):{}},track_player:function(){var t,o,e,n=this;"undefined"!=typeof Plyr&&(t=new Plyr("#tutorPlayer"),o=n.video_data(),t.on("ready",function(t){var e=t.detail.plyr,t=o.best_watch_time;0<t&&e.duration>Math.round(t)&&(e.media.currentTime=t),n.sync_time(e)}),e=0,t.on("timeupdate",function(t){t=t.detail.plyr;30<=e/4&&(n.sync_time(t),e=0),e++}),t.on("ended",function(t){var e=n.video_data(),t=t.detail.plyr;n.sync_time(t,{is_ended:!0}),e.autoload_next_course_content&&n.autoload_content()}))},sync_time:function(t,e){var o=this.video_data().post_id,t={action:"sync_video_playback",currentTime:t.currentTime,duration:t.duration,post_id:o};t[this.nonce_key]=_tutorobject[this.nonce_key];o=t;e&&(o=Object.assign(t,e)),u.post(this.ajaxurl,o)},autoload_content:function(){var t={action:"autoload_next_course_content",post_id:this.video_data().post_id};t[this.nonce_key]=_tutorobject[this.nonce_key],u.post(this.ajaxurl,t).done(function(t){t.success&&t.data.next_url&&(location.href=t.data.next_url)})},init:function(){this.track_player()}};function c(t){t.add(t.prevAll()).filter("i").addClass("tutor-icon-star-full").removeClass("tutor-icon-star-line"),t.nextAll().filter("i").removeClass("tutor-icon-star-full").addClass("tutor-icon-star-line")}u("#tutorPlayer").length&&r.init(),u(document).on("change keyup paste",".tutor_user_name",function(){u(this).val(u(this).val().toString().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""))}),u(document).on("mouseover",".tutor-star-rating-container .tutor-star-rating-group i",function(){c(u(this))}),u(document).on("click",".tutor-star-rating-container .tutor-star-rating-group i",function(){var t=u(this).attr("data-rating-value");u(this).closest(".tutor-star-rating-group").find('input[name="tutor_rating_gen_input"]').val(t),c(u(this))}),u(document).on("mouseout",".tutor-star-rating-container .tutor-star-rating-group",function(){var t=u(this).find('input[name="tutor_rating_gen_input"]').val(),e=parseInt(t),t=u(this).find('[data-rating-value="'+e+'"]');e&&t&&0<t.length?c(t):u(this).find("i").removeClass("tutor-icon-star-full").addClass("tutor-icon-star-line")}),u(document).on("click",".tutor_submit_review_btn",function(t){t.preventDefault();var e=u(this),o=e.closest("form").find('input[name="tutor_rating_gen_input"]').val(),n=(n=e.closest("form").find('textarea[name="review"]').val()).trim(),t=u('input[name="tutor_course_id"]').val();o&&0!=o&&n?n&&u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{course_id:t,rating:o,review:n,action:"tutor_place_rating"},beforeSend:function(){e.addClass("updating-icon")},success:function(t){var e=t.data.review_id,t=t.data.review;u(".tutor-review-"+e+" .review-content").html(t),new window.tutor_popup(u,"icon-rating",40).popup({title:s("Thank You for Rating This Course!","tutor"),description:s("Your rating will now be visible in the course page","tutor")}),setTimeout(function(){location.reload()},3e3)}}):alert(s("Rating and review required","tutor"))}).on("click",".tutor_cancel_review_btn",function(){u(this).closest("form").hide()}),u(document).on("click",".write-course-review-link-btn",function(t){t.preventDefault(),u(this).siblings(".tutor-write-review-form").slideToggle()}),u(document).on("click",".tutor-ask-question-btn",function(t){t.preventDefault(),u(".tutor-add-question-wrap").slideToggle()}),u(document).on("click",".tutor_question_cancel",function(t){t.preventDefault(),u(".tutor-add-question-wrap").toggle()}),u(document).on("submit","#tutor-ask-question-form",function(t){t.preventDefault();var e=u(this),t=u(this).serializeObject();t.action="tutor_ask_question",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor_ask_question_btn").addClass("updating-icon")},success:function(t){t.success&&(u(".tutor-add-question-wrap").hide(),window.location.reload())},complete:function(){e.find(".tutor_ask_question_btn").removeClass("updating-icon")}})}),u(document).on("submit",".tutor-add-answer-form",function(t){t.preventDefault();var e=u(this),t=u(this).serializeObject();t.action="tutor_add_answer",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor_add_answer_btn").addClass("updating-icon")},success:function(t){t.success&&window.location.reload()},complete:function(){e.find(".tutor_add_answer_btn").removeClass("updating-icon")}})}),u(document).on("focus",".tutor_add_answer_textarea",function(t){t.preventDefault();t=u(this).closest(".tutor_add_answer_wrap").attr("data-question-id");wp.editor.initialize("tutor_answer_"+t,{tinymce:{wpautop:!0,toolbar1:"bold italic underline bullist strikethrough numlist blockquote alignleft aligncenter alignright undo redo link unlink spellchecker fullscreen"}})}),u(document).on("click",".tutor_cancel_wp_editor",function(t){t.preventDefault(),u(this).closest(".tutor_wp_editor_wrap").toggle(),u(this).closest(".tutor_add_answer_wrap").find(".tutor_wp_editor_show_btn_wrap").toggle();t=u(this).closest(".tutor_add_answer_wrap").attr("data-question-id");wp.editor.remove("tutor_answer_"+t)}),u(document).on("click",".tutor_wp_editor_show_btn",function(t){t.preventDefault(),u(this).closest(".tutor_add_answer_wrap").find(".tutor_wp_editor_wrap").toggle(),u(this).closest(".tutor_wp_editor_show_btn_wrap").toggle()});var l,d,p,m=u("#tutor-quiz-time-update"),_=null;m.length&&(_=JSON.parse(m.attr("data-attempt-settings")),0<(f=JSON.parse(m.attr("data-attempt-meta"))).time_limit.time_limit_seconds?(l=new Date(_.attempt_started_at).getTime()+1e3*f.time_limit.time_limit_seconds,d=new Date(f.date_time_now).getTime(),p=setInterval(function(){var a,t=l-d,e=Math.floor(t/864e5),o=Math.floor(t%864e5/36e5),n=Math.floor(t%36e5/6e4),i=Math.floor(t%6e4/1e3),r="";e&&(r+=e+"d "),o&&(r+=o+"h "),n&&(r+=n+"m "),i&&(r+=i+"s "),t<0&&(clearInterval(p),r="EXPIRED","autosubmit"===_tutorobject.quiz_options.quiz_when_time_expires?u("form#tutor-answering-quiz").submit():"autoabandon"===_tutorobject.quiz_options.quiz_when_time_expires&&(t=u("#tutor_quiz_id").val(),u("#tutor_quiz_remaining_time_secs").val(),t={quiz_id:t,action:"tutor_quiz_timeout"},a=u("#tutor-quiz-time-expire-wrapper").attr("data-attempt-remaining"),u(".tutor-quiz-answer-next-btn, .tutor-quiz-submit-btn, .tutor-quiz-answer-previous-btn").prop("disabled",!0),u(".time-remaining span").css("color","#F44337"),u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,success:function(t){var e=u("#tutor-quiz-time-expire-wrapper").data("attempt-allowed"),o=u("#tutor-quiz-time-expire-wrapper").data("attempt-remaining"),n="#tutor-quiz-time-expire-wrapper .tutor-alert";u(n).addClass("show"),0<a?u("".concat(n," .text")).html(s("Your time limit for this quiz has expired, please reattempt the quiz. Attempts remaining: "+o+"/"+e,"tutor")):(u(n).addClass("tutor-alert-danger"),u("#tutor-start-quiz").hide(),u("".concat(n," .text")).html("".concat(s("Unfortunately, you are out of time and quiz attempts. ","tutor"))))},complete:function(){}}))),d+=1e3,m.html(r)},1e3)):m.closest(".time-remaining").remove());var f=u("#tutor-quiz-body form#tutor-start-quiz");function h(){jQuery().sortable&&(u(".tutor-quiz-answers-wrap").sortable({handle:".answer-sorting-bar",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){}}).disableSelection(),u(".quiz-draggable-rand-answers, .quiz-answer-matching-droppable").sortable({connectWith:".quiz-answer-matching-droppable",placeholder:"drop-hover"}).disableSelection())}function v(o){var t,e,n=!0,a=o.find(".quiz-answer-required");return a.length&&((t=a.find("input")).length&&("radio"===(e=t.attr("type"))?0==a.find('input[type="radio"]:checked').length&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please select an option to answer","tutor"),"</p>")),n=!1):"checkbox"===e?0==a.find('input[type="checkbox"]:checked').length&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please select at least one option to answer.","tutor"),"</p>")),n=!1):"text"===e&&t.each(function(t,e){u(e).val().trim().length||(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("The answer for this question is required","tutor"),"</p>")),n=!1)})),a.find("textarea").length&&a.find("textarea").val().trim().length<1&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("The answer for this question is required","tutor"),"</p>")),n=!1),(a=a.find(".quiz-answer-matching-droppable")).length&&a.each(function(t,e){u(e).find(".quiz-draggable-answer-item").length||(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please match all the items","tutor"),"</p>")),n=!1)})),n}function g(o){var n=!1,a=JSON.parse(atob(window.tutor_quiz_context.split("").reverse().join("")));Array.isArray(a)||(a=[]);var t=o.attr("data-quiz-feedback-mode");u(".wrong-right-text").remove(),u(".quiz-answer-input-bottom").removeClass("wrong-answer right-answer");var i=!0,e=o.find("input"),r=o.find('input[type="radio"]:checked, input[type="checkbox"]:checked');return"retry"===t?(r.each(function(){var t=u(this),e=t.attr("type");"radio"!==e&&"checkbox"!==e||-1<a.indexOf(t.val())||(t.prop("checked")&&t.closest(".quiz-answer-input-bottom").addClass("wrong-answer").append('<span class="wrong-right-text"><i class="tutor-icon-line-cross"></i> '.concat(s("Incorrect, Please try again","tutor"),"</span>")),i=!1)}),e.each(function(){var t,e=u(this);"checkbox"===e.attr("type")&&(t=-1<a.indexOf(e.val()),e=e.is(":checked"),t&&!e&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("More answer for this question is required","tutor"),"</p>")),i=!1))})):"reveal"===t&&(r.each(function(){var t=u(this);-1<a.indexOf(t.val())||(i=!1)}),e.each(function(){var t,e=u(this),o=e.attr("type");"radio"!==o&&"checkbox"!==o||(t=-1<a.indexOf(e.val()),o=e.is(":checked"),t?e.closest(".quiz-answer-input-bottom").addClass("right-answer").append('<span class="wrong-right-text"><i class="tutor-icon-checkbox-pen-outline"></i>'.concat(s("Correct Answer","tutor"),"</span>")):e.prop("checked")&&e.closest(".quiz-answer-input-bottom").addClass("wrong-answer"),t&&!o&&(e.attr("disabled","disabled"),n=!(i=!1)))})),n=i?!0:n}f.length&&"1"===_tutorobject.quiz_options.quiz_auto_start&&f.submit(),u(document).on("click",".quiz-manual-review-action",function(t){t.preventDefault();var e=u(this),o=e.attr("data-attempt-id"),n=e.attr("data-attempt-answer-id"),t=e.attr("data-mark-as");u.ajax({url:_tutorobject.ajaxurl,type:"GET",data:{action:"review_quiz_answer",attempt_id:o,attempt_answer_id:n,mark_as:t},beforeSend:function(){e.find("i").addClass("updating-icon")},success:function(t){location.reload()},complete:function(){e.find("i").removeClass("updating-icon")}})}),u(".tooltip-btn").on("hover",function(t){u(this).toggleClass("active")}),u(".tutor-course-title h4 .toggle-information-icon").on("click",function(t){u(this).closest(".tutor-topics-in-single-lesson").find(".tutor-topics-summery").slideToggle(),t.stopPropagation()}),u(".tutor-course-topic.tutor-active").find(".tutor-course-lessons").slideDown(),u(".tutor-course-title").on("click",function(){var t=u(this).siblings(".tutor-course-lessons");u(this).closest(".tutor-course-topic").toggleClass("tutor-active"),t.slideToggle()}),u(document).on("click",".tutor-topics-title h3 .toggle-information-icon",function(t){u(this).closest(".tutor-topics-in-single-lesson").find(".tutor-topics-summery").slideToggle(),t.stopPropagation()}),u(document).on("click",".tutor-course-wishlist-btn",function(t){t.preventDefault();var e=u(this),t=e.attr("data-course-id");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_course_add_to_wishlist"},beforeSend:function(){e.addClass("updating-icon")},success:function(t){t.success?"added"===t.data.status?e.addClass("has-wish-listed"):e.removeClass("has-wish-listed"):window.location=t.data.redirect_to},complete:function(){e.removeClass("updating-icon")}})}),_tutorobject.enable_lesson_classic_editor||(u(document).on("click",".tutor-single-lesson-a",function(t){t.preventDefault();var e=u(this),t=e.attr("data-lesson-id"),o=u("#tutor-single-entry-content");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_render_lesson_content"},beforeSend:function(){var t=e.find(".lesson_title").text();u("head title").text(t),window.history.pushState("obj",t,e.attr("href")),o.addClass("loading-lesson"),u(".tutor-single-lesson-items").removeClass("active"),e.closest(".tutor-single-lesson-items").addClass("active")},success:function(t){o.html(t.data.html),r.init(),u(".tutor-lesson-sidebar").css("display",""),window.dispatchEvent(new window.Event("tutor_ajax_lesson_loaded"))},complete:function(){o.removeClass("loading-lesson")}})}),u(document).on("click",".sidebar-single-quiz-a",function(t){t.preventDefault();var e=u(this),t=e.attr("data-quiz-id"),o=e.find(".lesson_title").text(),n=u("#tutor-single-entry-content");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_render_quiz_content"},beforeSend:function(){u("head title").text(o),window.history.pushState("obj",o,e.attr("href")),n.addClass("loading-lesson"),u(".tutor-single-lesson-items").removeClass("active"),e.closest(".tutor-single-lesson-items").addClass("active")},success:function(t){n.html(t.data.html),h(),u(".tutor-lesson-sidebar").css("display","")},complete:function(){n.removeClass("loading-lesson")}})})),u(document).on("click",".tutor-lesson-sidebar-hide-bar",function(t){t.preventDefault(),u(".tutor-lesson-sidebar").toggle(),u("#tutor-single-entry-content").toggleClass("sidebar-hidden")}),u(".tutor-tabs-btn-group a").on("click touchstart",function(t){t.preventDefault();var e=u(this),t=e.attr("href");u(".tutor-lesson-sidebar-tab-item").hide(),u(t).show(),u(".tutor-tabs-btn-group a").removeClass("active"),e.addClass("active")}),h(),u(document).on("click",".tutor-quiz-answer-next-btn, .tutor-quiz-answer-previous-btn",function(t){var e,o;t.preventDefault(),u(this).hasClass("tutor-quiz-answer-previous-btn")?u(this).closest(".quiz-attempt-single-question").hide().prev().show():v(t=(e=u(this)).closest(".quiz-attempt-single-question"))&&g(t)&&(parseInt(e.closest(".quiz-attempt-single-question").attr("id").match(/\d+/)[0],10),!(e=e.closest(".quiz-attempt-single-question").attr("data-next-question-id"))||(o=u(e))&&o.length&&("reveal"===t.attr("data-quiz-feedback-mode")?setTimeout(function(){u(".quiz-attempt-single-question").hide(),o.show()},800):(u(".quiz-attempt-single-question").hide(),o.show()),u(".tutor-quiz-questions-pagination").length&&(u(".tutor-quiz-question-paginate-item").removeClass("active"),u('.tutor-quiz-questions-pagination a[href="'+e+'"]').addClass("active"))))}),u(document).on("submit","#tutor-answering-quiz",function(t){var e=u(".quiz-attempt-single-question"),o=!0;e.length&&e.each(function(t,e){o=v(u(e)),o=g(u(e))}),o||t.preventDefault()}),u(document).on("click",".tutor-quiz-question-paginate-item",function(t){t.preventDefault();var e=u(this),t=u(e.attr("href"));u(".quiz-attempt-single-question").hide(),t.show(),u(".tutor-quiz-question-paginate-item").removeClass("active"),e.addClass("active")}),u(document).on("keyup","textarea.question_type_short_answer, textarea.question_type_open_ended",function(t){var e=u(this),o=e.val(),n=e.hasClass("question_type_short_answer")?_tutorobject.quiz_options.short_answer_characters_limit:_tutorobject.quiz_options.open_ended_answer_characters_limit,a=n-o.length;a<1&&(e.val(o.substr(0,n)),a=0),e.closest(".tutor-quiz-answers-wrap").find(".characters_remaining").html(a)}),u(".quiz-draggable-rand-answers").length&&u(".quiz-draggable-rand-answers").each(function(){var t=u(this),e=t.height();t.css({height:e})}),u(document).on("submit click",".cart-required-login, .cart-required-login a, .cart-required-login form",function(t){t.preventDefault();t=u(this).data("login_page_url");t?window.location.assign(t):u(".tutor-cart-box-login-form").fadeIn(100)}),u(".tutor-popup-form-close, .login-overlay-close").on("click",function(){u(".tutor-cart-box-login-form").fadeOut(100)}),u(document).on("keyup",function(t){27===t.keyCode&&(u(".tutor-frontend-modal").hide(),u(".tutor-cart-box-login-form").fadeOut(100))}),!u.fn.ShareLink||(f=u(".tutor-social-share-wrap")).length&&(x=JSON.parse(f.attr("data-social-share-config")),u(".tutor_share").ShareLink({title:x.title,text:x.text,image:x.image,class_prefix:"s_",width:640,height:480})),jQuery.datepicker&&u(".tutor_report_datepicker").datepicker({dateFormat:"yy-mm-dd"}),u(".withdraw-method-select-input").on("change",function(t){var e=u(this);u(".withdraw-method-form").hide(),u("#withdraw-method-form-"+e.closest(".withdraw-method-select").attr("data-withdraw-method")).show()}),u(".withdraw-method-select-input").each(function(){var t=u(this);t.is(":checked")&&(u(".withdraw-method-form").hide(),u("#withdraw-method-form-"+t.closest(".withdraw-method-select").attr("data-withdraw-method")).show())}),u(document).on("submit","#tutor-withdraw-account-set-form",function(t){t.preventDefault();var e=u(this),o=e.find(".tutor_set_withdraw_account_btn"),t=e.serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor-success-msg").remove(),o.addClass("updating-icon")},success:function(t){t.success&&(t='<div class="tutor-success-msg" style="display: none;"><i class="tutor-icon-mark"></i> '+t.data.msg+" </div>",o.closest(".withdraw-account-save-btn-wrap").append(t),e.find(".tutor-success-msg").length&&e.find(".tutor-success-msg").slideDown(),setTimeout(function(){e.find(".tutor-success-msg").slideUp()},5e3))},complete:function(){o.removeClass("updating-icon")}})}),u(document).on("click",".open-withdraw-form-btn, .close-withdraw-form-btn",function(t){t.preventDefault(),"yes"!=u(this).data("reload")?(u(".tutor-earning-withdraw-form-wrap").toggle().find('[name="tutor_withdraw_amount"]').val(""),u(".tutor-withdrawal-pop-up-success").hide().next().show(),u("html, body").css("overflow",u(".tutor-earning-withdraw-form-wrap").is(":visible")?"hidden":"auto")):window.location.reload()}),u(document).on("submit","#tutor-earning-withdraw-form",function(t){t.preventDefault();var e=u(this),o=u("#tutor-earning-withdraw-btn"),n=u(".tutor-withdraw-form-response"),t=e.serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor-success-msg").remove(),o.addClass("updating-icon")},success:function(t){t.success?("undefined"!==t.data.available_balance&&u(".withdraw-balance-col .available_balance").html(t.data.available_balance),u(".tutor-withdrawal-pop-up-success").show().next().hide()):(t='<div class="tutor-error-msg inline-image-text is-inline-block"> <img src="'+window._tutorobject.tutor_url+'assets/images/icon-cross.svg"/> <div> <b>Error</b><br/> <span>'+t.data.msg+"</span> </div> </div>",n.html(t),setTimeout(function(){n.html("")},5e3))},complete:function(){o.removeClass("updating-icon")}})});var w=u(".tutor-frontend-modal");function b(){jQuery().sortable&&(u(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){y()}}),u(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){y()}}))}function y(){var i={};u(".tutor-topics-wrap").each(function(t,e){var o=u(this),n=parseInt(o.attr("id").match(/\d+/)[0],10),a={};o.find(".course-content-item").each(function(t,e){var o=u(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);a[t]=o}),i[t]={topic_id:n,lesson_ids:a}}),u("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function q(){u("ul.tutor-bp-enrolled-course-list").each(function(){var t,e=u(this),o=e.find(" > li");3<o.length&&(t=o.length-3,o.each(function(t,e){var o=u(this);3<=t&&o.hide()}),t='<a href="javascript:;" class="tutor_bp_plus_courses"><strong>+'+t+" More </strong></a> Courses",e.closest(".tutor-bp-enrolled-courses-wrap").find(".thread-participant-enrolled-info").html(t)),e.show()})}w.each(function(){var e=u(this),t=u(this).data("popup-rel");u('[href="'+t+'"]').on("click",function(t){e.fadeIn(),t.preventDefault()})}),u(document).on("click",".tm-close, .tutor-frontend-modal-overlay, .tutor-modal-btn-cancel",function(){w.fadeOut()}),u(document).on("click",".tutor-dashboard-element-delete-btn",function(t){t.preventDefault();t=u(this).attr("data-id");u("#tutor-dashboard-delete-element-id").val(t)}),u(document).on("submit","#tutor-dashboard-delete-element-form",function(t){t.preventDefault();var e=u("#tutor-dashboard-delete-element-id").val(),o=u(".tutor-modal-element-delete-btn"),t=u(this).serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){o.addClass("updating-icon")},success:function(t){t.success&&u("#tutor-dashboard-"+t.data.element+"-"+e).remove()},complete:function(){o.removeClass("updating-icon"),u(".tutor-frontend-modal").hide()}})}),u("#tutor_profile_photo_id").val()||u(".tutor-profile-photo-delete-btn").hide(),u(document).on("click",".tutor-profile-photo-delete-btn",function(){return u(".tutor-profile-photo-upload-wrap").find("img").attr("src",_tutorobject.placeholder_img_src),u("#tutor_profile_photo_id").val(""),u(".tutor-profile-photo-delete-btn").hide(),u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{action:"tutor_profile_photo_remove"}}),!1}),u(document).on("submit","#tutor_assignment_start_form",function(t){t.preventDefault();t=u(this).serializeObject();t.action="tutor_start_assignment",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){u("#tutor_assignment_start_btn").addClass("updating-icon")},success:function(t){t.success&&location.reload()},complete:function(){u("#tutor_assignment_start_btn").removeClass("updating-icon")}})}),u(document).on("submit","#tutor_assignment_submit_form",function(t){u('textarea[name="assignment_answer"]').val().trim().length<1&&(u("#form_validation_response").html('<div class="tutor-error-msg">'+s("Assignment answer can not be empty","tutor")+"</div>"),t.preventDefault())}),u(document).on("click",".video_source_upload_wrap_html5 .video_upload_btn",function(t){t.preventDefault();var e,o=u(this);e||(e=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},library:{type:"video"},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".video_source_upload_wrap_html5").find("span.video_media_id").data("video_url",t.url).text(t.id).trigger("paste").closest("p").show(),o.closest(".video_source_upload_wrap_html5").find("input").val(t.id)}),e.open()}),b(),u(document).on("click",".update_lesson_modal_btn",function(t){t.preventDefault();var e=u(this),o=tinyMCE.get("tutor_lesson_modal_editor"),t=o?o.getContent():u("#"+inputid).val(),o=u(this).closest("form").serializeObject();o.lesson_content=t,u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?(u("#tutor-course-content-wrap").html(t.data.course_contents),b(),u(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(s("Done","tutor"),e.data("toast_success_message"),"success")):tutor_toast(s("Failed","tutor"),s("Lesson Update Failed","tutor"),"error")},error:function(){tutor_toast(s("Failed","tutor"),s("Lesson Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("click","a.tutor-delete-attachment",function(t){t.preventDefault(),u(this).closest(".tutor-added-attachment").remove()}),u(document).on("click",".tutorUploadAttachmentBtn",function(t){t.preventDefault();var n,a=u(this);n||(n=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},multiple:!0})).on("select",function(){var t=n.state().get("selection").toJSON();if(t.length)for(var e=0;e<t.length;e++){var o=t[e],o='<div class="tutor-added-attachment"><i class="tutor-icon-archive"></i><a href="javascript:;" class="tutor-delete-attachment tutor-icon-line-cross"></a> <span> <a href="'+o.url+'">'+o.filename+'</a> </span> <input type="hidden" name="tutor_attachments[]" value="'+o.id+'"></div>';a.closest(".tutor-lesson-attachments-metabox").find(".tutor-added-attachments-wrap").append(o)}}),n.open()}),u("form").on("change",".tutor-assignment-file-upload",function(){u(this).siblings("label").find("span").html(u(this).val().replace(/.*(\/|\\)/,""))}),u(document).on("click",".tutor-topics-in-single-lesson .tutor-topics-title h3, .tutor-single-lesson-topic-toggle",function(t){var e=u(this).closest(".tutor-topics-in-single-lesson");e.toggleClass("tutor-topic-active"),e.find(".tutor-lessons-under-topic").slideToggle()}),u(".tutor-single-lesson-items.active").closest(".tutor-lessons-under-topic").show(),u(".tutor-single-lesson-items.active").closest(".tutor-topics-in-single-lesson").addClass("tutor-topic-active"),u(".tutor-course-lesson.active").closest(".tutor-lessons-under-topic").show(),u(document).on("click",".tutor-create-assignments-btn",function(t){t.preventDefault();var e=u(this),o=u(this).attr("data-topic-id"),n=u("#post_ID").val();u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_id:o,course_id:n,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){u(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),u(".tutor-lesson-modal-wrap").attr("data-topic-id",o).addClass("show"),u(document).trigger("assignment_modal_loaded",{topic_id:o,course_id:n}),tinymce.init(tinyMCEPreInit.mceInit.course_description),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),u(document).on("click",".open-tutor-assignment-modal",function(t){t.preventDefault();var e=u(this),o=e.attr("data-assignment-id"),n=e.attr("data-topic-id"),a=u("#post_ID").val();u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{assignment_id:o,topic_id:n,course_id:a,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){u(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),u(".tutor-lesson-modal-wrap").attr({"data-assignment-id":o,"data-topic-id":n}).addClass("show"),u(document).trigger("assignment_modal_loaded",{assignment_id:o,topic_id:n,course_id:a}),tinymce.init(tinyMCEPreInit.mceInit.course_description),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),u(document).on("click",".update_assignment_modal_btn",function(t){t.preventDefault();var e=u(this),o=tinyMCE.get("tutor_assignments_modal_editor"),t=o?o.getContent():u("#"+inputid).val(),o=u(this).closest("form").serializeObject();o.assignment_content=t,u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?(u("#tutor-course-content-wrap").html(t.data.course_contents),b(),u(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(s("Done","tutor"),e.data("toast_success_message"),"success")):tutor_toast(s("Failed","tutor"),s("Assignment Update Failed","tutor"),"error")},error:function(){tutor_toast(s("Failed","tutor"),s("Assignment Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("click",".add-assignment-attachments",function(t){t.preventDefault();var o,n=u(this);o||(o=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},multiple:!1})).on("select",function(){var t=o.state().get("selection").first().toJSON(),e='<div class="tutor-individual-attachment-file"><p class="attachment-file-name">'+t.filename+'</p><input type="hidden" name="tutor_assignment_attachments[]" value="'+t.id+'"><a href="javascript:;" class="remove-assignment-attachment-a text-muted"> × Remove</a></div>';u("#assignment-attached-file").append(e),n.closest(".video_source_upload_wrap_html5").find("input").val(t.id)}),o.open()}),u(document).on("click",".remove-assignment-attachment-a",function(t){t.preventDefault(),u(this).closest(".tutor-individual-attachment-file").remove()}),"tutor_add_course_builder"===u('input[name="tutor_action"]').val()&&setInterval(function(){var t=u("form#tutor-frontend-course-builder").serializeObject();t.tutor_ajax_action="tutor_course_builder_draft_save",u.ajax({type:"POST",data:t,beforeSend:function(){u(".tutor-dashboard-builder-draft-btn span").text(s("Saving...","tutor"))},success:function(t){},complete:function(){u(".tutor-dashboard-builder-draft-btn span").text(s("Save","tutor"))}})},3e4),u(".tutor-course-builder-section-title").on("click",function(){u(this).find("i").hasClass("tutor-icon-up")?u(this).find("i").removeClass("tutor-icon-up").addClass("tutor-icon-down"):u(this).find("i").removeClass("tutor-icon-down").addClass("tutor-icon-up"),u(this).next("div").slideToggle()}),u(document).on("click",".open-tutor-edit-review-modal",function(t){t.preventDefault();var e=u(this),o=e.attr("data-review-id"),n=_tutorobject.nonce_key,t={review_id:o,action:"tutor_load_edit_review_modal"};t[n]=_tutorobject[n],u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){void 0!==t.data&&(u(".tutor-edit-review-modal-wrap .modal-container").html(t.data.output),u(".tutor-edit-review-modal-wrap").attr("data-review-id",o).addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("submit","#tutor_update_review_form",function(t){t.preventDefault();var e=u(this),o=e.closest(".tutor-edit-review-modal-wrap ").attr("data-review-id"),t=_tutorobject.nonce_key,o={review_id:o,rating:e.find('input[name="tutor_rating_gen_input"]').val(),review:e.find('textarea[name="review"]').val().trim(),action:"tutor_update_review_modal"};o[t]=_tutorobject[t],u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.find('button[type="submit"]').addClass("tutor-updating-message")},success:function(t){t.success&&(u(".tutor-edit-review-modal-wrap").removeClass("show"),location.reload(!0))},complete:function(){e.find('button[type="submit"]').removeClass("tutor-updating-message")}})}),u(document).on("click","#tutor_profile_photo_button",function(t){t.preventDefault(),u("#tutor_profile_photo_file").trigger("click")}),u(document).on("change","#tutor_profile_photo_file",function(t){t.preventDefault();this.files&&this.files[0]&&((t=new FileReader).onload=function(t){u(".tutor-profile-photo-upload-wrap").find("img").attr("src",t.target.result)},t.readAsDataURL(this.files[0]))}),u(document).on("click",".thread-content .subject",function(t){var e=u(this),o=parseInt(e.closest(".thread-content").attr("data-thread-id")),e=_tutorobject.nonce_key,o={thread_id:o,action:"tutor_bp_retrieve_user_records_for_thread"};o[e]=_tutorobject[e],u.ajax({type:"POST",url:window._tutorobject.ajaxurl,data:o,beforeSend:function(){u("#tutor-bp-thread-wrap").html("")},success:function(t){t.success&&(u("#tutor-bp-thread-wrap").html(t.data.thread_head_html),q())}})}),q(),u(document).on("click","a.tutor_bp_plus_courses",function(t){t.preventDefault();t=u(this);t.closest(".tutor-bp-enrolled-courses-wrap").find(".tutor-bp-enrolled-course-list li").show(),t.closest(".thread-participant-enrolled-info").html("")}),u(".tutor-dropbtn").click(function(){u(this).parent().find(".tutor-dropdown-content").slideToggle(100)}),u(document).on("click",function(t){var e=u(".tutor-dropdown"),o=e.find(".tutor-dropdown-content");e.is(t.target)||0!==e.has(t.target).length||o.slideUp(100)}),u(document).on("submit",".tutor-login-form-wrap #loginform",function(t){t.preventDefault();var t=u(this),e=u(".tutor-login-form-wrap"),t=t.serializeObject();t.action="tutor_user_login",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,success:function(t){t.success?(location.assign(t.data.redirect),location.reload()):(t=t.data||s("Invalid username or password!","tutor"),e.find(".tutor-alert").length?e.find(".tutor-alert").html(t):e.prepend('<div class="tutor-alert tutor-alert-warning">'+t+"</div>"))}})});var j,x=u('.tutor-frontend-builder-course-price [name="tutor_course_price_type"]');0==x.length?u("#_tutor_is_course_public_meta_checkbox").show():x.change(function(){var t;u(this).prop("checked")&&(t="paid"==u(this).val()?"hide":"show",u("#_tutor_is_course_public_meta_checkbox")[t]())}).trigger("change"),(j=jQuery).fn.tutor_tooltip=function(){return this.on("mouseenter click",".tooltip",function(t){t.stopPropagation(),j(this).removeClass("isVisible")}).on("mouseenter focus",":has(>.tooltip)",function(t){j(this).prop("disabled")||j(this).find(".tooltip").addClass("isVisible")}).on("mouseleave blur keydown",":has(>.tooltip)",function(t){("keydown"!==t.type||27===t.which)&&j(this).find(".tooltip").removeClass("isVisible")}),this},jQuery(".tutor-tooltip-inside").tutor_tooltip();var k=u(".tutor-course-filter-container form"),z=u(".tutor-course-filter-loop-container"),C={};k.on("submit",function(t){t.preventDefault()}).find("input").change(function(t){var e=Object.assign(k.serializeObject(),C);e.action="tutor_course_filter_ajax",z.html('<center><img src="'+window._tutorobject.loading_icon_url+'"/></center>'),u(this).closest("form").find(".tutor-clear-all-filter").show(),u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:e,success:function(t){z.html(t).find(".tutor-pagination-wrap a").each(function(){u(this).attr("data-href",u(this).attr("href")).attr("href","#")})}})}),z.on("click",".tutor-pagination-wrap a",function(t){var e=u(this).data("href")||u(this).attr("href");!e||(e=(e=new URL(e)).searchParams.get("paged"))&&(t.preventDefault(),C.page=e,k.find("input:first").trigger("change"))}),z.on("change",'select[name="tutor_course_filter"]',function(){C.tutor_course_filter=u(this).val(),k.find("input:first").trigger("change")});x=u(".tutor-course-loop");0<x.length&&("yes"===window.sessionStorage.getItem("tutor_refresh_archive")&&window.location.reload(),window.sessionStorage.removeItem("tutor_refresh_archive"),x.on("click",".tutor-loop-cart-btn-wrap",function(){window.sessionStorage.setItem("tutor_refresh_archive","yes")}));x=u("#tutor_profile_cover_photo_editor");0<x.length&&new function(n){this.dialogue_box=n.find("#tutor_photo_dialogue_box"),this.open_dialogue_box=function(t){this.dialogue_box.attr("name",t),this.dialogue_box.trigger("click")},this.validate_image=function(t){return!0},this.upload_selected_image=function(t,e){var o,n,a;e&&this.validate_image(e)&&(o=tutor_get_nonce_data(!0),(n=this).toggle_loader(t,!0),(a=new FormData).append("action","tutor_user_photo_upload"),a.append("photo_type",t),a.append("photo_file",e,e.name),a.append(o.key,o.value),u.ajax({url:window._tutorobject.ajaxurl,data:a,type:"POST",processData:!1,contentType:!1,error:n.error_alert,complete:function(){n.toggle_loader(t,!1)}}))},this.accept_upload_image=function(t,e){var o=e.currentTarget.files[0]||null;t.update_preview(e.currentTarget.name,o),t.upload_selected_image(e.currentTarget.name,o),u(e.currentTarget).val("")},this.delete_image=function(t){var e=this;e.toggle_loader(t,!0),u.ajax({url:window._tutorobject.ajaxurl,data:{action:"tutor_user_photo_remove",photo_type:t},type:"POST",error:e.error_alert,complete:function(){e.toggle_loader(t,!1)}})},this.update_preview=function(t,e){var o=n.find("cover_photo"==t?"#tutor_cover_area":"#tutor_profile_area");if(!e)return o.css("background-image","url("+o.data("fallback")+")"),void this.delete_image(t);t=new FileReader;t.onload=function(t){o.css("background-image","url("+t.target.result+")")},t.readAsDataURL(e)},this.toggle_profile_pic_action=function(t){n[void 0===t?"toggleClass":t?"addClass":"removeClass"]("pop-up-opened")},this.error_alert=function(){alert("Something Went Wrong.")},this.toggle_loader=function(t,e){n.find("#tutor_photo_meta_area .loader-area").css("display",e?"block":"none")},this.initialize=function(){var e=this;this.dialogue_box.change(function(t){e.accept_upload_image(e,t)}),n.find("#tutor_profile_area .tutor_overlay, #tutor_pp_option>div:last-child").click(function(){e.toggle_profile_pic_action()}),n.find(".tutor_cover_uploader").click(function(){e.open_dialogue_box("cover_photo")}),n.find(".tutor_pp_uploader").click(function(){e.open_dialogue_box("profile_photo")}),n.find(".tutor_cover_deleter").click(function(){e.update_preview("cover_photo",null)}),n.find(".tutor_pp_deleter").click(function(){e.update_preview("profile_photo",null)})}}(x).initialize(),u(".tutor-instructor-filter").each(function(){var e,r=u(this),s={};function n(t,e,o){var n=r.find(".filter-result-container"),a=n.html(),i=r.data();i.current_page=o||1,t?s[t]=e:s={},s.attributes=i,s.action="load_filtered_instructor",n.html('<div style="text-align:center"><img src="'+window._tutorobject.loading_icon_url+'"/></div>'),u.ajax({url:window._tutorobject.ajaxurl,data:s,type:"POST",success:function(t){n.html(t)},error:function(){n.html(a),tutor_toast("Failed","Request Error","error")}})}r.on("change",'.course-category-filter [type="checkbox"]',function(){var e={};u(this).closest(".course-category-filter").find("input:checked").each(function(){e[u(this).val()]=u(this).parent().text()});var o=r.find(".selected-cate-list").empty(),t=Object.keys(e);t.forEach(function(t){o.append("<span>"+e[t]+' <span class="tutor-icon-line-cross" data-cat_id="'+t+'"></span></span>')}),t.length&&o.append('<span data-cat_id="0">Clear All</span>'),n(u(this).attr("name"),t)}).on("click",".selected-cate-list [data-cat_id]",function(){var t=u(this).data("cat_id"),e=r.find('.mobile-filter-popup [type="checkbox"]');(e=t?e.filter('[value="'+t+'"]'):e).prop("checked",!1).trigger("change")}).on("input",'.filter-pc [name="keyword"]',function(){var t=u(this).val();e&&window.clearTimeout(e),e=window.setTimeout(function(){n("keyword",t),e=null},500)}).on("click","[data-page_number]",function(t){t.preventDefault(),n(null,null,u(this).data("page_number"))}).on("click",".clear-instructor-filter",function(){var t=u(this).closest(".tutor-instructor-filter");t.find('input[type="checkbox"]').prop("checked",!1),t.find('[name="keyword"]').val(""),n()}).on("click",".mobile-filter-container i",function(){u(this).parent().next().addClass("is-opened")}).on("click",".mobile-filter-popup button",function(){u('.mobile-filter-popup [type="checkbox"]').trigger("change"),u(this).closest(".mobile-filter-popup").removeClass("is-opened")}).on("input",'.filter-mobile [name="keyword"]',function(){r.find('.filter-pc [name="keyword"]').val(u(this).val()).trigger("input")}).on("change",'.mobile-filter-popup [type="checkbox"]',function(t){var e,o;t.originalEvent||(e=u(this).attr("name"),o=u(this).val(),t=u(this).prop("checked"),r.find('.course-category-filter [name="'+e+'"]').filter('[value="'+o+'"]').prop("checked",t).trigger("change"))}).on("mousedown touchstart",".expand-instructor-filter",function(t){var e=u(window).height(),o=r.find(".mobile-filter-popup>div"),n=e-o.height(),a=((t.originalEvent.touches||[])[0]||t).clientY-n;r.on("mousemove touchmove",function(t){t=((t.originalEvent.touches||[])[0]||t).clientY,t=e-t+a;200<t&&t<=e&&o.css("height",t+"px")})}).on("mouseup touchend",function(){r.off("mousemove touchmove")}).on("click",".mobile-filter-popup>div",function(t){t.stopImmediatePropagation()}).on("click",".mobile-filter-popup",function(t){u(this).removeClass("is-opened")})}),u(".tutor-course-retake-button").click(function(t){t.preventDefault();var t=u(this),e=t.attr("href"),o=t.data("course_id"),t={title:s("Override Previous Progress","tutor"),description:s("Before continue, please decide whether to keep progress or reset.","tutor"),buttons:{reset:{title:s("Reset Data","tutor"),class:"secondary",callback:function(){var t=n.find(".tutor-button-secondary");t.prop("disabled",!0).append('<img style="margin-left: 7px" src="'+window._tutorobject.loading_icon_url+'"/>'),u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_reset_course_progress",course_id:o},success:function(t){t.success?window.location.assign(t.data.redirect_to):alert((t.data||{}).message||s("Something went wrong","tutor"))},complete:function(){t.prop("disabled",!1).find("img").remove()}})}},keep:{title:s("Keep Data","tutor"),class:"primary",callback:function(){window.location.assign(e)}}}},n=new window.tutor_popup(u,"icon-gear",40).popup(t)}),document.body.addEventListener("click",function(t){var e,o=t.target,n=o.tagName,a=o.parentElement.tagName;0<m.length&&"EXPIRED"!=m.html()&&("A"!==n&&"A"!==a||(t.preventDefault(),t.stopImmediatePropagation(),t={title:s("Abandon Quiz?","tutor"),description:s("Do you want to abandon this quiz? The quiz will be submitted partially up to this question if you leave this page.","tutor"),buttons:{keep:{title:s("Yes, leave quiz","tutor"),id:"leave",class:"secondary",callback:function(){var t=u("form#tutor-answering-quiz").serialize()+"&action=tutor_quiz_abandon";u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){document.querySelector("#tutor-popup-leave").innerHTML=s("Leaving...","tutor")},success:function(t){t.success?null==o.href?location.href=o.parentElement.href:location.href=o.href:alert(s("Something went wrong","tutor"))},error:function(){alert(s("Something went wrong","tutor")),e.remove()}})}},reset:{title:s("Stay here","tutor"),id:"reset",class:"primary",callback:function(){e.remove()}}}},e=new window.tutor_popup(u,"",40).popup(t)))}),u("body").on("submit","form#tutor-start-quiz",function(){u(this).find("button").prop("disabled",!0)})})})()})();
|
1 |
+
(()=>{var o={623:()=>{function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var n,a,i=[],r=!0,s=!1;try{for(o=o.call(t);!(r=(n=o.next()).done)&&(i.push(n.value),!e||i.length!==e);r=!0);}catch(t){s=!0,a=t}finally{try{r||null==o.return||o.return()}finally{if(s)throw a}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(o="Object"===o&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,n=new Array(e);o<e;o++)n[o]=t[o];return n}window.tutor_get_nonce_data=function(t){var e=window._tutorobject||{},o=e.nonce_key||"",e=e[o]||"";return t?{key:o,value:e}:(t=e,(e=o)in(o={})?Object.defineProperty(o,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[e]=t,o)},window.tutor_popup=function(r,o,n){var s,u=this;return this.popup_wrapper=function(t){var e=""===o?"":'<img class="tutor-pop-icon" src="'+window._tutorobject.tutor_url+"assets/images/"+o+'.svg"/>';return"<"+t+' class="tutor-component-popup-container"> <div class="tutor-component-popup-'+n+'"> <div class="tutor-component-content-container">'+e+'</div> <div class="tutor-component-button-container"></div> </div> </'+t+">"},this.popup=function(o){var t=o.title?"<h3>"+o.title+"</h3>":"",e=o.description?"<p>"+o.description+"</p>":"",n=Object.keys(o.buttons||{}).map(function(t){var e=o.buttons[t],t=e.id?"tutor-popup-"+e.id:"";return r('<button id="'+t+'" class="tutor-button tutor-button-'+e.class+'">'+e.title+"</button>").click(e.callback)}),a=(s=r(u.popup_wrapper(o.wrapper_tag||"div"))).find(".tutor-component-content-container");a.append(t),o.after_title&&a.append(o.after_title),a.append(e),o.after_description&&a.append(o.after_description),s.click(function(){r(this).remove()}).children().click(function(t){t.stopPropagation()});for(var i=0;i<n.length;i++)s.find(".tutor-component-button-container").append(n[i]);return r("body").append(s),s},{popup:this.popup}},window.tutorDotLoader=function(t){return' \n <div class="tutor-dot-loader '.concat(t||"",'">\n <span class="dot dot-1"></span>\n <span class="dot dot-2"></span>\n <span class="dot dot-3"></span>\n <span class="dot dot-4"></span>\n </div>')},window.tutor_date_picker=function(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",$(".tutor_date_picker").datepicker({dateFormat:t}))},jQuery(document).ready(function(l){"use strict";var t=wp.i18n,a=t.__;t._x,t._n,t._nx;function o(){var t;jQuery.datepicker&&(t=_tutorobject.wp_date_format||"yy-mm-dd",l(".tutor_date_picker").datepicker({dateFormat:t})),l(document).on("keydown",".hasDatepicker, .tutor_date_picker",function(t){8!==t.keyCode&&t.preventDefault()})}function s(){l(".tutor-field-slider").each(function(){var t=l(this),o=t.closest(".tutor-field-type-slider").find('input[type="hidden"]'),n=t.closest(".tutor-field-type-slider").find(".tutor-field-type-slider-value"),e=parseFloat(t.closest(".tutor-field-type-slider").attr("data-min")),a=parseFloat(t.closest(".tutor-field-type-slider").attr("data-max"));t.slider({range:"max",min:e,max:a,value:o.val(),slide:function(t,e){n.text(e.value),o.val(e.value)}})})}function e(t){var e=t.element;return l('<span><i class="tutor-icon-'+l(e).data("icon")+'"></i> '+t.text+"</span>")}function i(){jQuery().sortable&&(l(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){n()}}),l(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){n()}}))}function n(){var i={};l(".tutor-topics-wrap").each(function(t,e){var o=l(this),n=parseInt(o.attr("id").match(/\d+/)[0],10),a={};o.find(".course-content-item").each(function(t,e){var o=l(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);a[t]=o}),i[t]={topic_id:n,lesson_ids:a}}),l("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function r(){return{init:function(){l(document).on("click",".tutor-select .tutor-select-option",function(t){t.preventDefault();var e=l(this);"true"!==e.attr("data-is-pro")?(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")).trigger("change"),e.closest(".tutor-select-options").hide(),disableAddoption()):alert("Tutor Pro version required")}),l(document).on("click",".tutor-select .select-header",function(t){t.preventDefault(),l(this).closest(".tutor-select").find(".tutor-select-options").slideToggle()}),this.setValue(),this.hideOnOutSideClick()},setValue:function(){l(".tutor-select").each(function(){var t=l(this).find(".tutor-select-option");t.length&&t.each(function(){var t,e=l(this);"selected"===e.attr("data-selected")&&(t=e.html().trim(),e.closest(".tutor-select").find(".select-header .lead-option").html(t),e.closest(".tutor-select").find(".select-header input.tutor_select_value_holder").val(e.attr("data-value")))})})},hideOnOutSideClick:function(){l(document).mouseup(function(t){var e=l(".tutor-select-options");l(t.target).closest(".select-header").length||e.is(t.target)||0!==e.has(t.target).length||e.hide()})},reInit:function(){this.setValue()}}}o(),s(),jQuery().select2&&l(".videosource_select2").select2({width:"100%",templateSelection:e,templateResult:e,allowHtml:!0}),l(document).on("change",".tutor_lesson_video_source",function(t){var e=l(this),o=l(this).val();o?l(".video-metabox-source-input-wrap").show():l(".video-metabox-source-input-wrap").hide(),e.closest(".tutor-option-field").find(".video-metabox-source-item").hide(),e.closest(".tutor-option-field").find(".video_source_wrap_"+o).show()}),l(document).on("click",".tutor-course-thumbnail-upload-btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t.url),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),l(".tutor-course-thumbnail-delete-btn").show()}),e.open()}),l(document).on("click",".tutor-course-thumbnail-delete-btn",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("data-placeholder-src");e.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").attr("src",t),e.closest(".tutor-thumbnail-wrap").find("input").val(""),l(".tutor-course-thumbnail-delete-btn").hide()}),l(document).on("click",".create_new_topic_btn",function(t){t.preventDefault(),l(".tutor-metabox-add-topics").slideToggle()}),l(document).on("click","#tutor-add-topic-btn",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-metabox-add-topics").find("input, textarea").serializeObject();t.action="tutor_add_course_topic",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l("#tutor-course-content-wrap").html(t.data.course_contents),e.closest(".tutor-metabox-add-topics").find('input[type!="hidden"], textarea').each(function(){l(this).val("")}),e.closest(".tutor-metabox-add-topics").slideUp(),i())},complete:function(){e.removeClass("tutor-updating-message")}})}),l(".tutor-zoom-meeting-modal-wrap").on("submit",".tutor-meeting-modal-form",function(t){t.preventDefault();var e=l(this),o=e.serializeObject(),t=Intl.DateTimeFormat().resolvedOptions().timeZone;o.timezone=t;var n=e.find('button[type="submit"]');l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){n.addClass("tutor-updating-message")},success:function(t){t.success?tutor_toast(a("Success","tutor"),n.data("toast_success_message"),"success"):tutor_toast(a("Update Error","tutor"),a("Meeting Update Failed","tutor"),"error"),t.course_contents?(l(t.selector).html(t.course_contents),"#tutor-course-content-wrap"==t.selector&&i(),l(".tutor-zoom-meeting-modal-wrap").removeClass("show")):location.reload()},complete:function(){n.removeClass("tutor-updating-message")}})}),l(document).on("change keyup",".course-edit-topic-title-input",function(t){t.preventDefault(),l(this).closest(".tutor-topics-top").find(".topic-inner-title").html(l(this).val())}),l(document).on("click",".topic-edit-icon",function(t){t.preventDefault(),l(this).closest(".tutor-topics-top").find(".tutor-topics-edit-form").slideToggle()}),l(document).on("click",".tutor-topics-edit-button",function(t){t.preventDefault();var e=l(this),o=e.closest(".tutor-topics-wrap"),t=parseInt(o.attr("id").match(/\d+/)[0],10),n=e.closest(".tutor-topics-wrap").find('[name="topic_title"]').val(),o=e.closest(".tutor-topics-wrap").find('[name="topic_summery"]').val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_title:n,topic_summery:o,topic_id:t,action:"tutor_update_topic"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".tutor-topics-wrap").find("span.topic-inner-title").text(n),e.closest(".tutor-topics-wrap").find(".tutor-topics-edit-form").slideUp())},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".open-tutor-lesson-modal",function(t){t.preventDefault();var e=l(this),o=e.attr("data-lesson-id"),n=e.attr("data-topic-id"),a=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:o,topic_id:n,course_id:a,action:"tutor_load_edit_lesson_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),l(".tutor-lesson-modal-wrap").attr({"data-lesson-id":o,"data-topic-id":n}).addClass("show");t=(t=tinyMCEPreInit.mceInit.tutor_editor_config)||tinyMCEPreInit.mceInit.course_description;tinymce.init(t),tinymce.execCommand("mceRemoveEditor",!1,"tutor_lesson_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_lesson_modal_editor"),l(document).trigger("lesson_modal_loaded",{lesson_id:o,topic_id:n,course_id:a})},complete:function(){quicktags({id:"tutor_lesson_modal_editor"}),e.removeClass("tutor-updating-message")}})}),l(document).on("click",".lesson_thumbnail_upload_btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html('<img src="'+t.url+'" alt="" /><a href="javascript:;" class="tutor-lesson-thumbnail-delete-btn"><i class="tutor-icon-line-cross"></i></a>'),o.closest(".tutor-thumbnail-wrap").find("input").val(t.id),l(".tutor-lesson-thumbnail-delete-btn").show()}),e.open()}),l(document).on("click",".tutor-lesson-thumbnail-delete-btn",function(t){t.preventDefault();t=l(this);t.closest(".tutor-thumbnail-wrap").find("._lesson_thumbnail_id").val(""),t.closest(".tutor-thumbnail-wrap").find(".thumbnail-img").html(""),t.hide()}),l(document).on("click",".tutor-delete-lesson-btn",function(t){var e;t.preventDefault(),confirm(a("Are you sure?","tutor"))&&(t=(e=l(this)).attr("data-lesson-id"),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_delete_lesson_by_id"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&e.closest(".course-content-item").remove()},complete:function(){e.removeClass("tutor-updating-message")}}))}),l(document).on("click",".topic-delete-btn a",function(t){l(this).attr("data-topic-id");confirm(a("Are you sure to delete?","tutor"))||t.preventDefault()}),l(document).on("click",".tutor-expand-all-topic",function(t){t.preventDefault(),l(".tutor-topics-body").slideDown(),l(".expand-collapse-wrap i").removeClass("tutor-icon-light-down").addClass("tutor-icon-light-up")}),l(document).on("click",".tutor-collapse-all-topic",function(t){t.preventDefault(),l(".tutor-topics-body").slideUp(),l(".expand-collapse-wrap i").removeClass("tutor-icon-light-up").addClass("tutor-icon-light-down")}),l(document).on("click",".topic-inner-title, .expand-collapse-wrap",function(t){t.preventDefault();t=l(this);t.closest(".tutor-topics-wrap").find(".tutor-topics-body").slideToggle(),t.closest(".tutor-topics-wrap").find(".expand-collapse-wrap i").toggleClass("tutor-icon-light-down tutor-icon-light-up")}),l(document).on("click",".quiz-modal-btn-first-step",function(t){t.preventDefault();var e,o,n,a=l(this),i=l('[name="quiz_title"]'),r=i.val(),t=l('[name="quiz_description"]').val();r?(i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html(""),e=l("#post_ID").val(),o=a.closest(".tutor-modal-wrap").attr("quiz-for-post-id"),l("#tutor_quiz_builder_quiz_id").length?(n=l("#tutor_quiz_builder_quiz_id").val(),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,quiz_id:n,topic_id:o,action:"tutor_quiz_builder_quiz_update"},beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){l("#tutor-quiz-"+n).html(t.data.output_quiz_row),l('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s()},complete:function(){a.removeClass("tutor-updating-message")}})):l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_title:r,quiz_description:t,course_id:e,topic_id:o,action:"tutor_create_quiz_and_load_modal"},beforeSend:function(){a.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l("#tutor-topics-"+o+" .tutor-lessons").append(t.data.output_quiz_row),l('#tutor-quiz-modal-tab-items-wrap a[href="#quiz-builder-tab-questions"]').trigger("click"),s(),l(document).trigger("quiz_modal_loaded",{topic_id:o,course_id:e})},complete:function(){a.removeClass("tutor-updating-message")}})):i.closest(".tutor-quiz-builder-group").find(".quiz_form_msg").html("Please enter quiz title")}),l(document).on("click",".open-tutor-quiz-modal",function(t){t.preventDefault();var e=l(this),o=e.attr("data-quiz-id"),n=e.attr("data-topic-id");null==n&&(n=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id"));var a=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:o,topic_id:n,course_id:a,action:"tutor_load_edit_quiz_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id",o).attr("quiz-for-post-id",n).addClass("show"),e.attr("data-back-to-tab")&&(t=e.attr("data-back-to-tab"),l('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")),l(document).trigger("quiz_modal_loaded",{quiz_id:o,topic_id:n,course_id:a}),s(),jQuery().sortable&&l(".quiz-builder-questions-wrap").sortable({handle:".question-sorting",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var n;n={},l(".quiz-builder-question-wrap").each(function(t,e){var o=l(this),o=parseInt(o.attr("data-question-id"),10);n[t]=o}),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_question_ids:n,action:"tutor_quiz_question_sorting"}})}})},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".quiz-modal-settings-save-btn",function(t){t.preventDefault();var e=l(this),o=l(".tutor-quiz-builder-modal-wrap").attr("data-quiz-id"),n=l("#current_topic_id_for_quiz").val(),t=l("#quiz-builder-tab-settings :input, #quiz-builder-tab-advanced-options :input").serializeObject();t.topic_id=n,t.quiz_id=o,t.action="tutor_quiz_modal_update_settings",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&l("#tutor-course-content-wrap").html(t.data.course_contents),t.success?tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success"):tutor_toast(a("Update Error","tutor"),a("Quiz Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message"),"modal_close"===e.attr("data-action")&&l(".tutor-modal-wrap").removeClass("show")}})}),l(document).on("click",".quiz-modal-question-save-btn",function(t){t.preventDefault();var e=l(this),o=l(".quiz_question_form :input").serializeObject();o.action="tutor_quiz_modal_update_question";t=e.closest(".tutor-modal-wrap").attr("quiz-for-post-id");o.topic_id=t,l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?e.closest(".tutor-quiz-builder-modal-contents").find(".open-tutor-quiz-modal").trigger("click"):void 0!==t.data&&l("#quiz_validation_msg_wrap").html(t.data.validation_msg)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".modal-close-btn",function(t){t.preventDefault(),l(".tutor-modal-wrap").removeClass("show")}),l(document).on("keyup",function(t){27===t.keyCode&&l(".tutor-modal-wrap").removeClass("show")}),l(document).on("click",".tutor-add-quiz-btn",function(t){t.preventDefault();var e=l(this),o=l(this).closest(".tutor_add_quiz_wrap").attr("data-add-quiz-under"),t=l(this).data("topic-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_for_post_id:o,current_topic_id:t,action:"tutor_load_quiz_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-wrap .modal-container").html(t.data.output),l(".tutor-quiz-builder-modal-wrap").attr("quiz-for-post-id",o).addClass("show")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-modal-tab-item",function(t){t.preventDefault();var e=l(this),o=l('[name="quiz_title"]');o.val()?(o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html(""),t=e.attr("href"),l(".quiz-builder-tab-container").hide(),l(t).show(),l("a.tutor-quiz-modal-tab-item").removeClass("active"),e.addClass("active")):o.closest(".tutor-quiz-builder-form-row").find(".quiz_form_msg").html('<p class="quiz-form-warning">Please save the quiz first</p>')}),l(document).on("click",".quiz-modal-btn-next, .quiz-modal-btn-back",function(t){t.preventDefault();t=l(this).attr("href");l('#tutor-quiz-modal-tab-items-wrap a[href="'+t+'"]').trigger("click")}),l(document).on("click",".quiz-modal-tab-navigation-btn.quiz-modal-btn-cancel",function(t){t.preventDefault(),l(".tutor-modal-wrap").removeClass("show")}),l(document).on("click",".tutor-quiz-open-question-form",function(t){t.preventDefault();var e=l(this),o=l("#tutor_quiz_builder_quiz_id").val(),n=l("#post_ID").val(),t=e.attr("data-question-id"),n={quiz_id:o,course_id:n,action:"tutor_quiz_builder_get_question_form"};t&&(n.question_id=t),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:n,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l(".tutor-quiz-builder-modal-contents").html(t.data.output),r().reInit(),jQuery().sortable&&l("#tutor_quiz_question_answers").sortable({handle:".tutor-quiz-answer-sort-icon",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){var n;n={},l(".tutor-quiz-answer-wrap").each(function(t,e){var o=l(this),o=parseInt(o.attr("data-answer-id"),10);n[t]=o}),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{sorted_answer_ids:n,action:"tutor_quiz_answer_sorting"}})}}),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-question-trash",function(t){t.preventDefault();var e=l(this),t=e.attr("data-question-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:t,action:"tutor_quiz_builder_question_delete"},beforeSend:function(){e.closest(".quiz-builder-question-wrap").remove()}})}),l(document).on("click",".add_question_answers_option:not(.disabled)",function(t){t.preventDefault();var e=l(this),o=e.attr("data-question-id"),t=l(".quiz_question_form :input").serializeObject();t.question_id=o,t.action="tutor_quiz_add_question_answers",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answer_form").html(t.data.output),disableAddoption()},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-answer-edit a",function(t){t.preventDefault();var e=l(this),t=e.closest(".tutor-quiz-answer-wrap").attr("data-answer-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_edit_question_answer"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answer_form").html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click","#quiz-answer-save-btn",function(t){t.preventDefault();var e=l(this),t=l(".quiz_question_form :input").serializeObject();t.action="tutor_save_quiz_answer_options",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){l("#quiz_validation_msg_wrap").html(""),e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click","#quiz-answer-edit-btn",function(t){t.preventDefault();var e=l(this),t=l(".quiz_question_form :input").serializeObject();t.action="tutor_update_quiz_answer_options",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){l("#tutor_quiz_question_answers").trigger("refresh")},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("change",".tutor-quiz-answers-mark-correct-wrap input",function(t){t.preventDefault();var e=l(this),o=e.val(),t=1;e.prop("checked")||(t=0),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:o,inputValue:t,action:"tutor_mark_answer_as_correct"}})}),l(document).on("refresh","#tutor_quiz_question_answers",function(t){t.preventDefault();var e=l(this),o=e.attr("data-question-id"),t=l(".tutor_select_value_holder").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{question_id:o,question_type:t,action:"tutor_quiz_builder_get_answers_by_question"},beforeSend:function(){e.addClass("tutor-updating-message"),l("#tutor_quiz_question_answer_form").html("")},success:function(t){t.success&&e.html(t.data.output)},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-quiz-answer-trash-wrap a.answer-trash-btn",function(t){t.preventDefault();var e=l(this),t=e.attr("data-answer-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{answer_id:t,action:"tutor_quiz_builder_delete_answer"},beforeSend:function(){e.closest(".tutor-quiz-answer-wrap").remove()}})}),l(document).on("click",".tutor-delete-quiz-btn",function(t){var e;t.preventDefault(),confirm(a("Are you sure?","tutor"))&&(t=(e=l(this)).attr("data-quiz-id"),l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_delete_quiz_by_id"},beforeSend:function(){e.closest(".course-content-item").remove()}}))}),r().init(),l(document).on("change","input.tutor_select_value_holder",function(t){l(this);l(".add_question_answers_option").trigger("click"),l("#tutor_quiz_question_answers").trigger("refresh")}),l(document).on("click",".tutor-media-upload-btn",function(t){t.preventDefault();var e,o=l(this);e||(e=wp.media({title:a("Select or Upload Media Of Your Chosen Persuasion","tutor"),button:{text:a("Use this media","tutor")},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.html('<img src="'+t.url+'" alt="" />'),o.closest(".tutor-media-upload-wrap").find("input").val(t.id)}),e.open()}),l(document).on("click",".tutor-media-upload-trash",function(t){t.preventDefault();t=l(this);t.closest(".tutor-media-upload-wrap").find(".tutor-media-upload-btn").html('<i class="tutor-icon-image1"></i>'),t.closest(".tutor-media-upload-wrap").find("input").val("")});var u,c=(u=0,function(t,e){clearTimeout(u),u=setTimeout(t,e)});l(document).on("click",".tutor-add-instructor-btn",function(t){t.preventDefault();var e=l(this),t=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_load_instructors_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),l(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("change keyup",".tutor-instructors-modal-wrap .tutor-modal-search-input",function(t){t.preventDefault();var o=l(this),n=l(".tutor-modal-wrap");c(function(){var t=o.val(),e=l("#post_ID").val();l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:e,search_terms:t,action:"tutor_load_instructors_modal"},beforeSend:function(){n.addClass("loading")},success:function(t){t.success&&(l(".tutor-instructors-modal-wrap .modal-container").html(t.data.output),l(".tutor-instructors-modal-wrap").addClass("show"))},complete:function(){n.removeClass("loading")}})},1e3)}),l(document).on("click",".add_instructor_to_course_btn",function(t){t.preventDefault();var e=l(this),o=l(".tutor-modal-wrap"),t=l("#post_ID").val(),o=o.find("input").serializeObject();o.course_id=t,o.action="tutor_add_instructors_to_course",l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(l(".tutor-course-available-instructors").html(t.data.output),l(".tutor-modal-wrap").removeClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),l(document).on("click",".tutor-instructor-delete-btn",function(t){t.preventDefault();var e=l(this),o=l("#post_ID").val(),t=e.closest(".added-instructor-item").attr("data-instructor-id");l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{course_id:o,instructor_id:t,action:"detach_instructor_from_course"},success:function(t){t.success&&e.closest(".added-instructor-item").remove()}})}),l(document).on("click",".settings-tabs-navs li",function(t){t.preventDefault();var e=l(this),o=e.find("a").attr("data-target"),t=e.find("a").attr("href");e.addClass("active").siblings("li.active").removeClass("active"),l(".settings-tab-wrap").removeClass("active").hide(),l(o).addClass("active").show(),window.history.pushState({},"",t)}),l(document).on("lesson_modal_loaded quiz_modal_loaded assignment_modal_loaded",function(t,e){jQuery().select2&&l(".select2_multiselect").select2({dropdownCssClass:"increasezindex"}),o()}),l(document).on("lesson_modal_loaded",function(t,e){l(".tutor-lesson-modal-wrap .modal-title h1").html(a("Lesson","tutor"))}),l(document).on("assignment_modal_loaded",function(t,e){l(".tutor-lesson-modal-wrap .modal-title h1").html(a("Assignment","tutor"))}),l(document).on("keyup change",".tutor-number-validation",function(t){var e=l(this),o=parseInt(e.val()),n=parseInt(e.attr("data-min")),a=parseInt(e.attr("data-max"));o<n?e.val(n):a<o&&e.val(a)}),l(document).on("click",".tutor-instructor-feedback",function(t){t.preventDefault();var e=l(this);l.ajax({url:window.ajaxurl||_tutorobject.ajaxurl,type:"POST",data:{attempts_id:e.data("attemptid"),feedback:l(".tutor-instructor-feedback-content").val(),action:"tutor_instructor_feedback"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success&&(e.closest(".course-content-item").remove(),tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success"))},complete:function(){e.removeClass("tutor-updating-message")}})});var d=l(".tutor-announcement-add-new"),p=l(".tutor-announcement-edit"),m=l(".tutor-announcement-delete"),_=l(".tutor-announcement-details"),t=l(".tutor-announcement-close-btn"),f=l(".tutor-accouncement-create-modal"),h=l(".tutor-accouncement-update-modal"),v=l(".tutor-accouncement-details-modal");function g(t,e){var o=new URL(window.location.href),n=o.searchParams;return n.set(t,e),o.search=n.toString(),_tutorobject.is_admin?n.set("paged",1):n.set("current_page",1),o.search=n.toString(),o.toString()}l(d).click(function(){f.addClass("show"),l("#tutor-annoucement-backend-create-modal").addClass("show")}),l(_).click(function(){var t=l(this).attr("announcement-date"),e=l(this).attr("announcement-id"),o=l(this).attr("course-id"),n=l(this).attr("course-name"),a=l(this).attr("announcement-title"),i=l(this).attr("announcement-summary");l(".tutor-announcement-detail-content").html("<h3>".concat(a,"</h3><p>").concat(i,"</p>")),l(".tutor-announcement-detail-course-info p").html("".concat(n)),l(".tutor-announcement-detail-date-info p").html("".concat(t)),l("#tutor-announcement-edit-from-detail").attr("announcement-id",e),l("#tutor-announcement-edit-from-detail").attr("course-id",o),l("#tutor-announcement-edit-from-detail").attr("announcement-title",a),l("#tutor-announcement-edit-from-detail").attr("announcement-summary",i),l("#tutor-announcement-delete-from-detail").attr("announcement-id",e),v.addClass("show")}),l(p).click(function(){v&&v.removeClass("show");var t=l(this).attr("announcement-id"),e=l(this).attr("course-id"),o=l(this).attr("announcement-title"),n=l(this).attr("announcement-summary");l("#tutor-announcement-course-id").val(e),l("#announcement_id").val(t),l("#tutor-announcement-title").val(o),l("#tutor-announcement-summary").val(n),h.addClass("show")}),l(t).click(function(){f.removeClass("show"),h.removeClass("show"),v.removeClass("show"),l("#tutor-annoucement-backend-create-modal").removeClass("show")}),l(".tutor-announcements-form").on("submit",function(t){t.preventDefault();var e=l(this).find('button[type="submit"]'),t=l(".tutor-announcements-form").serialize()+"&action=tutor_announcement_create&action_type=create";l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(l(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){l(".tutor-announcements-create-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var n=y(o[e],2),n=(n[0],n[1]);l(".tutor-announcements-create-alert .tutor-alert").append("<li>".concat(n,"</li>"))}}"fail"==t.status&&l(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(t){console.log(t)}})}),l(".tutor-announcements-update-form").on("submit",function(t){t.preventDefault();var e=l(this).find('button[type="submit"]'),t=l(".tutor-announcements-update-form").serialize()+"&action=tutor_announcement_create&action_type=update";l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){if(l(".tutor-alert").remove(),"success"==t.status&&location.reload(),"validation_error"==t.status){l(".tutor-announcements-update-alert").append('<div class="tutor-alert alert-warning"></div>');for(var e=0,o=Object.entries(t.message);e<o.length;e++){var n=y(o[e],2),n=(n[0],n[1]);l(".tutor-announcements-update-alert > .tutor-alert").append("<li>".concat(n,"</li>"))}}"fail"==t.status&&l(".tutor-announcements-create-alert").html("<li>".concat(t.message,"</li>"))},error:function(){}})}),l(m).click(function(){var t=l(this).attr("announcement-id"),e=l("#tutor-announcement-tr-"+t);confirm("Do you want to delete?")&&l.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_announcement_delete",announcement_id:t},beforeSend:function(){},success:function(t){e.remove(),v.length&&v.removeClass("show"),"fail"==t.status&&console.log(t.message)},error:function(){}})}),l(".tutor-announcement-course-sorting").on("change",function(t){window.location=g("course-id",l(this).val())}),l(".tutor-announcement-order-sorting").on("change",function(t){window.location=g("order",l(this).val())}),l(".tutor-announcement-date-sorting").on("change",function(t){window.location=g("date",l(this).val())}),l(".tutor-announcement-search-sorting").on("click",function(t){window.location=g("search",l(".tutor-announcement-search-field").val())}),l(document).click(function(){l(".tutor-dropdown").removeClass("show")}),l(".tutor-dropdown").click(function(t){t.stopPropagation(),l(".tutor-dropdown").hasClass("show")&&l(".tutor-dropdown").removeClass("show"),l(this).addClass("show")});var w,m=".video_source_wrap_external_url input, .video_source_wrap_vimeo input, .video_source_wrap_youtube input, .video_source_wrap_html5, .video_source_upload_wrap_html5";l("body").on("paste",m,function(t){t.stopImmediatePropagation();var r=l(this).closest(".lesson-modal-form-wrap").find(".tutor-option-field-video-duration"),e=r.find("label"),o=l(this).hasClass("video_source_wrap_html5")||l(this).hasClass("video_source_upload_wrap_html5"),n=l(this).data("autofill_url");l(this).data("autofill_url",null);function a(t){t?0==e.find("img").length&&e.append(' <img src="'+window._tutorobject.loading_icon_url+'" style="display:inline-block"/>'):e.find("img").remove()}function i(t){for(var e=Math.floor(t/3600),o=Math.floor((t-3600*e)/60),t=Math.round(t-3600*e-60*o),n=[e=e<10?"0"+e:e,o=o<10?"0"+o:o,t=t<10?"0"+t:t],a=r.find("input"),i=0;i<3;i++)a.eq(i).val(n[i])}var s,u,c,t=o?l(this).find("span").data("video_url"):n||t.originalEvent.clipboardData.getData("text");o||l(this).parent().hasClass("video_source_wrap_external_url")?((s=document.createElement("video")).addEventListener("loadedmetadata",function(){i(s.duration),a(!1)}),a(!0),s.src=t):l(this).parent().hasClass("video_source_wrap_vimeo")?(u=(c=t.match(/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/))?c[5]:null)&&(a(!0),l.getJSON("http://vimeo.com/api/v2/video/"+u+"/json",function(t){Array.isArray(t)&&t[0]&&void 0!==t[0].duration&&i(t[0].duration),a(!1)})):l(this).parent().hasClass("video_source_wrap_youtube")&&(u=!(!(c=t.match(/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/))||11!=c[7].length)&&c[7],c=l(this).data("youtube_api_key"),u&&c&&(c="https://www.googleapis.com/youtube/v3/videos?id="+u+"&key="+c+"&part=contentDetails",a(!0),l.getJSON(c,function(t){"object"==b(t)&&t.items&&t.items[0]&&t.items[0].contentDetails&&t.items[0].contentDetails.duration&&i(function(t){t=(t=t.match(/PT(\d+H)?(\d+M)?(\d+S)?/)).slice(1).map(function(t){if(null!=t)return t.replace(/\D/,"")});return 3600*(parseInt(t[0])||0)+60*(parseInt(t[1])||0)+(parseInt(t[2])||0)}(t.items[0].contentDetails.duration)),a(!1)})))}).on("input",m,function(){w&&clearTimeout(w);var e=l(this);w=setTimeout(function(){var t=(t=e.val())?t.trim():"";console.log("Trigger",t),t&&e.data("autofill_url",t).trigger("paste")},700)}),l(".tutor-form-submit-through-ajax").submit(function(t){t.preventDefault();var e=l(this),o=l(this).attr("action")||window.location.href,n=l(this).attr("method")||"GET",t=l(this).serializeObject();e.find("button").addClass("tutor-updating-message"),l.ajax({url:o,type:n,data:t,success:function(){tutor_toast(a("Success","tutor"),e.data("toast_success_message"),"success")},complete:function(){e.find("button").removeClass("tutor-updating-message")}})}),l.ajaxSetup({data:tutor_get_nonce_data()})}),jQuery.fn.serializeObject=function(){var t={},e=this.serializeArray();return jQuery.each(e,function(){t[this.name]?(t[this.name].push||(t[this.name]=[t[this.name]]),t[this.name].push(this.value||"")):t[this.name]=this.value||""}),t},window.tutor_toast=function(t,e,o){var n=((window._tutorobject||{}).tutor_url||"")+"assets/images/";jQuery(".tutor-toast-parent").length||jQuery("body").append('<div class="tutor-toast-parent"></div>');var a=jQuery(' <div> <div> <img src="'+{success:n+"icon-check.svg",error:n+"icon-cross.svg"}[o]+'"/> </div> <div> <div> <b>'+t+"</b> <span>"+e+'</span> </div> </div> <div> <i class="tutor-toast-close tutor-icon-line-cross"></i> </div> </div>');a.find(".tutor-toast-close").click(function(){a.remove()}),jQuery(".tutor-toast-parent").append(a),setTimeout(function(){a&&a.fadeOut("fast",function(){jQuery(this).remove()})},5e3)},window.disableAddoption=function(){function t(t){t.classList.contains("disabled")||t.classList.add("disabled")}function e(t){t.classList.contains("disabled")&&t.classList.remove("disabled")}var o=document.querySelector(".tutor_select_value_holder").value,n=document.getElementById("tutor_quiz_question_answers"),a=document.getElementById("tutor_quiz_question_answer_form"),i=document.querySelector(".add_question_answers_option");("open_ended"===o||"short_answer"===o||("true_false"===o||"fill_in_the_blank"===o)&&(a.hasChildNodes()||n.hasChildNodes())?t:e)(i)}},896:()=>{window.jQuery(document).ready(function(o){var n=wp.i18n.__;o(document).on("click",".tutor-copy-text",function(t){t.stopImmediatePropagation(),t.preventDefault();var e=o(this).data("text"),t=o("<input>");o("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove(),tutor_toast(n("Copied!","tutor"),e,"success")})})}},n={};function a(t){var e=n[t];if(void 0!==e)return e.exports;e=n[t]={exports:{}};return o[t](e,e.exports,a),e.exports}(()=>{"use strict";a(896),a(623);jQuery(document).ready(function(u){var e,o,n,a,t=wp.i18n,s=t.__;t._x,t._n,t._nx;function i(t,e){var o,n;1<t.originalEvent.touches.length||(t.preventDefault(),o=t.originalEvent.changedTouches[0],(n=document.createEvent("MouseEvents")).initMouseEvent(e,!0,!0,window,1,o.screenX,o.screenY,o.clientX,o.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(n))}jQuery().select2&&u(".tutor_select2").select2({escapeMarkup:function(t){return t}}),(e=jQuery).support.touch="ontouchend"in document,e.support.touch&&(_=e.ui.mouse.prototype,n=_._mouseInit,a=_._mouseDestroy,_._touchStart=function(t){!o&&this._mouseCapture(t.originalEvent.changedTouches[0])&&(o=!0,this._touchMoved=!1,i(t,"mouseover"),i(t,"mousemove"),i(t,"mousedown"))},_._touchMove=function(t){o&&(this._touchMoved=!0,i(t,"mousemove"))},_._touchEnd=function(t){o&&(i(t,"mouseup"),i(t,"mouseout"),this._touchMoved||i(t,"click"),o=!1)},_._mouseInit=function(){var t=this;t.element.bind({touchstart:e.proxy(t,"_touchStart"),touchmove:e.proxy(t,"_touchMove"),touchend:e.proxy(t,"_touchEnd")}),n.call(t)},_._mouseDestroy=function(){var t=this;t.element.unbind({touchstart:e.proxy(t,"_touchStart"),touchmove:e.proxy(t,"_touchMove"),touchend:e.proxy(t,"_touchEnd")}),a.call(t)});var r={ajaxurl:window._tutorobject.ajaxurl,nonce_key:window._tutorobject.nonce_key,video_data:function(){var t=u("#tutor_video_tracking_information").val();return t?JSON.parse(t):{}},track_player:function(){var t,o,e,n=this;"undefined"!=typeof Plyr&&(t=new Plyr("#tutorPlayer"),o=n.video_data(),t.on("ready",function(t){var e=t.detail.plyr,t=o.best_watch_time;0<t&&e.duration>Math.round(t)&&(e.media.currentTime=t),n.sync_time(e)}),e=0,t.on("timeupdate",function(t){t=t.detail.plyr;30<=e/4&&(n.sync_time(t),e=0),e++}),t.on("ended",function(t){var e=n.video_data(),t=t.detail.plyr;n.sync_time(t,{is_ended:!0}),e.autoload_next_course_content&&n.autoload_content()}))},sync_time:function(t,e){var o=this.video_data().post_id,t={action:"sync_video_playback",currentTime:t.currentTime,duration:t.duration,post_id:o};t[this.nonce_key]=_tutorobject[this.nonce_key];o=t;e&&(o=Object.assign(t,e)),u.post(this.ajaxurl,o)},autoload_content:function(){var t={action:"autoload_next_course_content",post_id:this.video_data().post_id};t[this.nonce_key]=_tutorobject[this.nonce_key],u.post(this.ajaxurl,t).done(function(t){t.success&&t.data.next_url&&(location.href=t.data.next_url)})},init:function(){this.track_player()}};function c(t){t.add(t.prevAll()).filter("i").addClass("tutor-icon-star-full").removeClass("tutor-icon-star-line"),t.nextAll().filter("i").removeClass("tutor-icon-star-full").addClass("tutor-icon-star-line")}u("#tutorPlayer").length&&r.init(),u(document).on("change keyup paste",".tutor_user_name",function(){u(this).val(u(this).val().toString().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""))}),u(document).on("mouseover",".tutor-star-rating-container .tutor-star-rating-group i",function(){c(u(this))}),u(document).on("click",".tutor-star-rating-container .tutor-star-rating-group i",function(){var t=u(this).attr("data-rating-value");u(this).closest(".tutor-star-rating-group").find('input[name="tutor_rating_gen_input"]').val(t),c(u(this))}),u(document).on("mouseout",".tutor-star-rating-container .tutor-star-rating-group",function(){var t=u(this).find('input[name="tutor_rating_gen_input"]').val(),e=parseInt(t),t=u(this).find('[data-rating-value="'+e+'"]');e&&t&&0<t.length?c(t):u(this).find("i").removeClass("tutor-icon-star-full").addClass("tutor-icon-star-line")}),u(document).on("click",".tutor_submit_review_btn",function(t){t.preventDefault();var e=u(this),o=e.closest("form").find('input[name="tutor_rating_gen_input"]').val(),n=(n=e.closest("form").find('textarea[name="review"]').val()).trim(),t=u('input[name="tutor_course_id"]').val();o&&0!=o&&n?n&&u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{course_id:t,rating:o,review:n,action:"tutor_place_rating"},beforeSend:function(){e.addClass("updating-icon")},success:function(t){var e=t.data.review_id,t=t.data.review;u(".tutor-review-"+e+" .review-content").html(t),new window.tutor_popup(u,"icon-rating",40).popup({title:s("Thank You for Rating This Course!","tutor"),description:s("Your rating will now be visible in the course page","tutor")}),setTimeout(function(){location.reload()},3e3)}}):alert(s("Rating and review required","tutor"))}).on("click",".tutor_cancel_review_btn",function(){u(this).closest("form").hide()}),u(document).on("click",".write-course-review-link-btn",function(t){t.preventDefault(),u(this).siblings(".tutor-write-review-form").slideToggle()}),u(document).on("click",".tutor-ask-question-btn",function(t){t.preventDefault(),u(".tutor-add-question-wrap").slideToggle()}),u(document).on("click",".tutor_question_cancel",function(t){t.preventDefault(),u(".tutor-add-question-wrap").toggle()}),u(document).on("submit","#tutor-ask-question-form",function(t){t.preventDefault();var e=u(this),t=u(this).serializeObject();t.action="tutor_ask_question",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor_ask_question_btn").addClass("updating-icon")},success:function(t){t.success&&(u(".tutor-add-question-wrap").hide(),window.location.reload())},complete:function(){e.find(".tutor_ask_question_btn").removeClass("updating-icon")}})}),u(document).on("submit",".tutor-add-answer-form",function(t){t.preventDefault();var e=u(this),t=u(this).serializeObject();t.action="tutor_add_answer",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor_add_answer_btn").addClass("updating-icon")},success:function(t){t.success&&window.location.reload()},complete:function(){e.find(".tutor_add_answer_btn").removeClass("updating-icon")}})}),u(document).on("focus",".tutor_add_answer_textarea",function(t){t.preventDefault();t=u(this).closest(".tutor_add_answer_wrap").attr("data-question-id");wp.editor.initialize("tutor_answer_"+t,{tinymce:{wpautop:!0,toolbar1:"bold italic underline bullist strikethrough numlist blockquote alignleft aligncenter alignright undo redo link unlink spellchecker fullscreen"}})}),u(document).on("click",".tutor_cancel_wp_editor",function(t){t.preventDefault(),u(this).closest(".tutor_wp_editor_wrap").toggle(),u(this).closest(".tutor_add_answer_wrap").find(".tutor_wp_editor_show_btn_wrap").toggle();t=u(this).closest(".tutor_add_answer_wrap").attr("data-question-id");wp.editor.remove("tutor_answer_"+t)}),u(document).on("click",".tutor_wp_editor_show_btn",function(t){t.preventDefault(),u(this).closest(".tutor_add_answer_wrap").find(".tutor_wp_editor_wrap").toggle(),u(this).closest(".tutor_wp_editor_show_btn_wrap").toggle()});var l,d,p,m=u("#tutor-quiz-time-update"),_=null;m.length&&(_=JSON.parse(m.attr("data-attempt-settings")),0<(f=JSON.parse(m.attr("data-attempt-meta"))).time_limit.time_limit_seconds?(l=new Date(_.attempt_started_at).getTime()+1e3*f.time_limit.time_limit_seconds,d=new Date(f.date_time_now).getTime(),p=setInterval(function(){var a,t=l-d,e=Math.floor(t/864e5),o=Math.floor(t%864e5/36e5),n=Math.floor(t%36e5/6e4),i=Math.floor(t%6e4/1e3),r="";e&&(r+=e+"d "),o&&(r+=o+"h "),n&&(r+=n+"m "),i&&(r+=i+"s "),t<0&&(clearInterval(p),r="EXPIRED","autosubmit"===_tutorobject.quiz_options.quiz_when_time_expires?u("form#tutor-answering-quiz").submit():"autoabandon"===_tutorobject.quiz_options.quiz_when_time_expires&&(t=u("#tutor_quiz_id").val(),u("#tutor_quiz_remaining_time_secs").val(),t={quiz_id:t,action:"tutor_quiz_timeout"},a=u("#tutor-quiz-time-expire-wrapper").attr("data-attempt-remaining"),u(".tutor-quiz-answer-next-btn, .tutor-quiz-submit-btn, .tutor-quiz-answer-previous-btn").prop("disabled",!0),u(".time-remaining span").css("color","#F44337"),u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,success:function(t){var e=u("#tutor-quiz-time-expire-wrapper").data("attempt-allowed"),o=u("#tutor-quiz-time-expire-wrapper").data("attempt-remaining"),n="#tutor-quiz-time-expire-wrapper .tutor-alert";u(n).addClass("show"),0<a?u("".concat(n," .text")).html(s("Your time limit for this quiz has expired, please reattempt the quiz. Attempts remaining: "+o+"/"+e,"tutor")):(u(n).addClass("tutor-alert-danger"),u("#tutor-start-quiz").hide(),u("".concat(n," .text")).html("".concat(s("Unfortunately, you are out of time and quiz attempts. ","tutor"))))},complete:function(){}}))),d+=1e3,m.html(r)},1e3)):m.closest(".time-remaining").remove());var f=u("#tutor-quiz-body form#tutor-start-quiz");function h(){jQuery().sortable&&(u(".tutor-quiz-answers-wrap").sortable({handle:".answer-sorting-bar",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){}}).disableSelection(),u(".quiz-draggable-rand-answers, .quiz-answer-matching-droppable").sortable({connectWith:".quiz-answer-matching-droppable",placeholder:"drop-hover"}).disableSelection())}function v(o){var t,e,n=!0,a=o.find(".quiz-answer-required");return a.length&&((t=a.find("input")).length&&("radio"===(e=t.attr("type"))?0==a.find('input[type="radio"]:checked').length&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please select an option to answer","tutor"),"</p>")),n=!1):"checkbox"===e?0==a.find('input[type="checkbox"]:checked').length&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please select at least one option to answer.","tutor"),"</p>")),n=!1):"text"===e&&t.each(function(t,e){u(e).val().trim().length||(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("The answer for this question is required","tutor"),"</p>")),n=!1)})),a.find("textarea").length&&a.find("textarea").val().trim().length<1&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("The answer for this question is required","tutor"),"</p>")),n=!1),(a=a.find(".quiz-answer-matching-droppable")).length&&a.each(function(t,e){u(e).find(".quiz-draggable-answer-item").length||(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("Please match all the items","tutor"),"</p>")),n=!1)})),n}function g(o){var n=!1,a=JSON.parse(atob(window.tutor_quiz_context.split("").reverse().join("")));Array.isArray(a)||(a=[]);var t=o.attr("data-quiz-feedback-mode");u(".wrong-right-text").remove(),u(".quiz-answer-input-bottom").removeClass("wrong-answer right-answer");var i=!0,e=o.find("input"),r=o.find('input[type="radio"]:checked, input[type="checkbox"]:checked');return"retry"===t?(r.each(function(){var t=u(this),e=t.attr("type");"radio"!==e&&"checkbox"!==e||-1<a.indexOf(t.val())||(t.prop("checked")&&t.closest(".quiz-answer-input-bottom").addClass("wrong-answer").append('<span class="wrong-right-text"><i class="tutor-icon-line-cross"></i> '.concat(s("Incorrect, Please try again","tutor"),"</span>")),i=!1)}),e.each(function(){var t,e=u(this);"checkbox"===e.attr("type")&&(t=-1<a.indexOf(e.val()),e=e.is(":checked"),t&&!e&&(o.find(".answer-help-block").html('<p style="color: #dc3545">'.concat(s("More answer for this question is required","tutor"),"</p>")),i=!1))})):"reveal"===t&&(r.each(function(){var t=u(this);-1<a.indexOf(t.val())||(i=!1)}),e.each(function(){var t,e=u(this),o=e.attr("type");"radio"!==o&&"checkbox"!==o||(t=-1<a.indexOf(e.val()),o=e.is(":checked"),t?e.closest(".quiz-answer-input-bottom").addClass("right-answer").append('<span class="wrong-right-text"><i class="tutor-icon-checkbox-pen-outline"></i>'.concat(s("Correct Answer","tutor"),"</span>")):e.prop("checked")&&e.closest(".quiz-answer-input-bottom").addClass("wrong-answer"),t&&!o&&(e.attr("disabled","disabled"),n=!(i=!1)))})),n=i?!0:n}f.length&&"1"===_tutorobject.quiz_options.quiz_auto_start&&f.submit(),u(document).on("click",".quiz-manual-review-action",function(t){t.preventDefault();var e=u(this),o=e.attr("data-attempt-id"),n=e.attr("data-attempt-answer-id"),t=e.attr("data-mark-as");u.ajax({url:_tutorobject.ajaxurl,type:"GET",data:{action:"review_quiz_answer",attempt_id:o,attempt_answer_id:n,mark_as:t},beforeSend:function(){e.find("i").addClass("updating-icon")},success:function(t){location.reload()},complete:function(){e.find("i").removeClass("updating-icon")}})}),u(".tooltip-btn").on("hover",function(t){u(this).toggleClass("active")}),u(".tutor-course-title h4 .toggle-information-icon").on("click",function(t){u(this).closest(".tutor-topics-in-single-lesson").find(".tutor-topics-summery").slideToggle(),t.stopPropagation()}),u(".tutor-course-topic.tutor-active").find(".tutor-course-lessons").slideDown(),u(".tutor-course-title").on("click",function(){var t=u(this).siblings(".tutor-course-lessons");u(this).closest(".tutor-course-topic").toggleClass("tutor-active"),t.slideToggle()}),u(document).on("click",".tutor-topics-title h3 .toggle-information-icon",function(t){u(this).closest(".tutor-topics-in-single-lesson").find(".tutor-topics-summery").slideToggle(),t.stopPropagation()}),u(document).on("click",".tutor-course-wishlist-btn",function(t){t.preventDefault();var e=u(this),t=e.attr("data-course-id");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{course_id:t,action:"tutor_course_add_to_wishlist"},beforeSend:function(){e.addClass("updating-icon")},success:function(t){t.success?"added"===t.data.status?e.addClass("has-wish-listed"):e.removeClass("has-wish-listed"):window.location=t.data.redirect_to},complete:function(){e.removeClass("updating-icon")}})}),_tutorobject.enable_lesson_classic_editor||(u(document).on("click",".tutor-single-lesson-a",function(t){t.preventDefault();var e=u(this),t=e.attr("data-lesson-id"),o=u("#tutor-single-entry-content");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{lesson_id:t,action:"tutor_render_lesson_content"},beforeSend:function(){var t=e.find(".lesson_title").text();u("head title").text(t),window.history.pushState("obj",t,e.attr("href")),o.addClass("loading-lesson"),u(".tutor-single-lesson-items").removeClass("active"),e.closest(".tutor-single-lesson-items").addClass("active")},success:function(t){o.html(t.data.html),r.init(),u(".tutor-lesson-sidebar").css("display",""),window.dispatchEvent(new window.Event("tutor_ajax_lesson_loaded"))},complete:function(){o.removeClass("loading-lesson")}})}),u(document).on("click",".sidebar-single-quiz-a",function(t){t.preventDefault();var e=u(this),t=e.attr("data-quiz-id"),o=e.find(".lesson_title").text(),n=u("#tutor-single-entry-content");u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{quiz_id:t,action:"tutor_render_quiz_content"},beforeSend:function(){u("head title").text(o),window.history.pushState("obj",o,e.attr("href")),n.addClass("loading-lesson"),u(".tutor-single-lesson-items").removeClass("active"),e.closest(".tutor-single-lesson-items").addClass("active")},success:function(t){n.html(t.data.html),h(),u(".tutor-lesson-sidebar").css("display","")},complete:function(){n.removeClass("loading-lesson")}})})),u(document).on("click",".tutor-lesson-sidebar-hide-bar",function(t){t.preventDefault(),u(".tutor-lesson-sidebar").toggle(),u("#tutor-single-entry-content").toggleClass("sidebar-hidden")}),u(".tutor-tabs-btn-group a").on("click touchstart",function(t){t.preventDefault();var e=u(this),t=e.attr("href");u(".tutor-lesson-sidebar-tab-item").hide(),u(t).show(),u(".tutor-tabs-btn-group a").removeClass("active"),e.addClass("active")}),h(),u(document).on("click",".tutor-quiz-answer-next-btn, .tutor-quiz-answer-previous-btn",function(t){var e,o;t.preventDefault(),u(this).hasClass("tutor-quiz-answer-previous-btn")?u(this).closest(".quiz-attempt-single-question").hide().prev().show():v(t=(e=u(this)).closest(".quiz-attempt-single-question"))&&g(t)&&(parseInt(e.closest(".quiz-attempt-single-question").attr("id").match(/\d+/)[0],10),!(e=e.closest(".quiz-attempt-single-question").attr("data-next-question-id"))||(o=u(e))&&o.length&&("reveal"===t.attr("data-quiz-feedback-mode")?setTimeout(function(){u(".quiz-attempt-single-question").hide(),o.show()},800):(u(".quiz-attempt-single-question").hide(),o.show()),u(".tutor-quiz-questions-pagination").length&&(u(".tutor-quiz-question-paginate-item").removeClass("active"),u('.tutor-quiz-questions-pagination a[href="'+e+'"]').addClass("active"))))}),u(document).on("submit","#tutor-answering-quiz",function(t){var e=u(".quiz-attempt-single-question"),o=!0;e.length&&e.each(function(t,e){o=v(u(e)),o=g(u(e))}),o||t.preventDefault()}),u(document).on("click",".tutor-quiz-question-paginate-item",function(t){t.preventDefault();var e=u(this),t=u(e.attr("href"));u(".quiz-attempt-single-question").hide(),t.show(),u(".tutor-quiz-question-paginate-item").removeClass("active"),e.addClass("active")}),u(document).on("keyup","textarea.question_type_short_answer, textarea.question_type_open_ended",function(t){var e=u(this),o=e.val(),n=e.hasClass("question_type_short_answer")?_tutorobject.quiz_options.short_answer_characters_limit:_tutorobject.quiz_options.open_ended_answer_characters_limit,a=n-o.length;a<1&&(e.val(o.substr(0,n)),a=0),e.closest(".tutor-quiz-answers-wrap").find(".characters_remaining").html(a)}),u(".quiz-draggable-rand-answers").length&&u(".quiz-draggable-rand-answers").each(function(){var t=u(this),e=t.height();t.css({height:e})}),u(document).on("submit click",".cart-required-login, .cart-required-login a, .cart-required-login form",function(t){t.preventDefault();t=u(this).data("login_page_url");t?window.location.assign(t):u(".tutor-cart-box-login-form").fadeIn(100)}),u(".tutor-popup-form-close, .login-overlay-close").on("click",function(){u(".tutor-cart-box-login-form").fadeOut(100)}),u(document).on("keyup",function(t){27===t.keyCode&&(u(".tutor-frontend-modal").hide(),u(".tutor-cart-box-login-form").fadeOut(100))}),!u.fn.ShareLink||(f=u(".tutor-social-share-wrap")).length&&(x=JSON.parse(f.attr("data-social-share-config")),u(".tutor_share").ShareLink({title:x.title,text:x.text,image:x.image,class_prefix:"s_",width:640,height:480})),jQuery.datepicker&&u(".tutor_report_datepicker").datepicker({dateFormat:"yy-mm-dd"}),u(".withdraw-method-select-input").on("change",function(t){var e=u(this);u(".withdraw-method-form").hide(),u("#withdraw-method-form-"+e.closest(".withdraw-method-select").attr("data-withdraw-method")).show()}),u(".withdraw-method-select-input").each(function(){var t=u(this);t.is(":checked")&&(u(".withdraw-method-form").hide(),u("#withdraw-method-form-"+t.closest(".withdraw-method-select").attr("data-withdraw-method")).show())}),u(document).on("submit","#tutor-withdraw-account-set-form",function(t){t.preventDefault();var e=u(this),o=e.find(".tutor_set_withdraw_account_btn"),t=e.serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor-success-msg").remove(),o.addClass("updating-icon")},success:function(t){t.success&&(t='<div class="tutor-success-msg" style="display: none;"><i class="tutor-icon-mark"></i> '+t.data.msg+" </div>",o.closest(".withdraw-account-save-btn-wrap").append(t),e.find(".tutor-success-msg").length&&e.find(".tutor-success-msg").slideDown(),setTimeout(function(){e.find(".tutor-success-msg").slideUp()},5e3))},complete:function(){o.removeClass("updating-icon")}})}),u(document).on("click",".open-withdraw-form-btn, .close-withdraw-form-btn",function(t){t.preventDefault(),"yes"!=u(this).data("reload")?(u(".tutor-earning-withdraw-form-wrap").toggle().find('[name="tutor_withdraw_amount"]').val(""),u(".tutor-withdrawal-pop-up-success").hide().next().show(),u("html, body").css("overflow",u(".tutor-earning-withdraw-form-wrap").is(":visible")?"hidden":"auto")):window.location.reload()}),u(document).on("submit","#tutor-earning-withdraw-form",function(t){t.preventDefault();var e=u(this),o=u("#tutor-earning-withdraw-btn"),n=u(".tutor-withdraw-form-response"),t=e.serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.find(".tutor-success-msg").remove(),o.addClass("updating-icon")},success:function(t){t.success?("undefined"!==t.data.available_balance&&u(".withdraw-balance-col .available_balance").html(t.data.available_balance),u(".tutor-withdrawal-pop-up-success").show().next().hide()):(t='<div class="tutor-error-msg inline-image-text is-inline-block"> <img src="'+window._tutorobject.tutor_url+'assets/images/icon-cross.svg"/> <div> <b>Error</b><br/> <span>'+t.data.msg+"</span> </div> </div>",n.html(t),setTimeout(function(){n.html("")},5e3))},complete:function(){o.removeClass("updating-icon")}})});var w=u(".tutor-frontend-modal");function b(){jQuery().sortable&&(u(".course-contents").sortable({handle:".course-move-handle",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){y()}}),u(".tutor-lessons:not(.drop-lessons)").sortable({connectWith:".tutor-lessons",items:"div.course-content-item",start:function(t,e){e.placeholder.css("visibility","visible")},stop:function(t,e){y()}}))}function y(){var i={};u(".tutor-topics-wrap").each(function(t,e){var o=u(this),n=parseInt(o.attr("id").match(/\d+/)[0],10),a={};o.find(".course-content-item").each(function(t,e){var o=u(this),o=parseInt(o.attr("id").match(/\d+/)[0],10);a[t]=o}),i[t]={topic_id:n,lesson_ids:a}}),u("#tutor_topics_lessons_sorting").val(JSON.stringify(i))}function q(){u("ul.tutor-bp-enrolled-course-list").each(function(){var t,e=u(this),o=e.find(" > li");3<o.length&&(t=o.length-3,o.each(function(t,e){var o=u(this);3<=t&&o.hide()}),t='<a href="javascript:;" class="tutor_bp_plus_courses"><strong>+'+t+" More </strong></a> Courses",e.closest(".tutor-bp-enrolled-courses-wrap").find(".thread-participant-enrolled-info").html(t)),e.show()})}w.each(function(){var e=u(this),t=u(this).data("popup-rel");u('[href="'+t+'"]').on("click",function(t){e.fadeIn(),t.preventDefault()})}),u(document).on("click",".tm-close, .tutor-frontend-modal-overlay, .tutor-modal-btn-cancel",function(){w.fadeOut()}),u(document).on("click",".tutor-dashboard-element-delete-btn",function(t){t.preventDefault();t=u(this).attr("data-id");u("#tutor-dashboard-delete-element-id").val(t)}),u(document).on("submit","#tutor-dashboard-delete-element-form",function(t){t.preventDefault();var e=u("#tutor-dashboard-delete-element-id").val(),o=u(".tutor-modal-element-delete-btn"),t=u(this).serializeObject();u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){o.addClass("updating-icon")},success:function(t){t.success&&u("#tutor-dashboard-"+t.data.element+"-"+e).remove()},complete:function(){o.removeClass("updating-icon"),u(".tutor-frontend-modal").hide()}})}),u("#tutor_profile_photo_id").val()||u(".tutor-profile-photo-delete-btn").hide(),u(document).on("click",".tutor-profile-photo-delete-btn",function(){return u(".tutor-profile-photo-upload-wrap").find("img").attr("src",_tutorobject.placeholder_img_src),u("#tutor_profile_photo_id").val(""),u(".tutor-profile-photo-delete-btn").hide(),u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:{action:"tutor_profile_photo_remove"}}),!1}),u(document).on("submit","#tutor_assignment_start_form",function(t){t.preventDefault();t=u(this).serializeObject();t.action="tutor_start_assignment",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){u("#tutor_assignment_start_btn").addClass("updating-icon")},success:function(t){t.success&&location.reload()},complete:function(){u("#tutor_assignment_start_btn").removeClass("updating-icon")}})}),u(document).on("submit","#tutor_assignment_submit_form",function(t){u('textarea[name="assignment_answer"]').val().trim().length<1&&(u("#form_validation_response").html('<div class="tutor-error-msg">'+s("Assignment answer can not be empty","tutor")+"</div>"),t.preventDefault())}),u(document).on("click",".video_source_upload_wrap_html5 .video_upload_btn",function(t){t.preventDefault();var e,o=u(this);e||(e=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},library:{type:"video"},multiple:!1})).on("select",function(){var t=e.state().get("selection").first().toJSON();o.closest(".video_source_upload_wrap_html5").find("span.video_media_id").data("video_url",t.url).text(t.id).trigger("paste").closest("p").show(),o.closest(".video_source_upload_wrap_html5").find("input").val(t.id)}),e.open()}),b(),u(document).on("click",".update_lesson_modal_btn",function(t){t.preventDefault();var e=u(this),o="tutor_lesson_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():u("#"+o).val();console.log(t);o=u(this).closest("form").serializeObject();o.lesson_content=t,u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?(u("#tutor-course-content-wrap").html(t.data.course_contents),b(),u(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(s("Done","tutor"),e.data("toast_success_message"),"success")):tutor_toast(s("Failed","tutor"),s("Lesson Update Failed","tutor"),"error")},error:function(){tutor_toast(s("Failed","tutor"),s("Lesson Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("click","a.tutor-delete-attachment",function(t){t.preventDefault(),u(this).closest(".tutor-added-attachment").remove()}),u(document).on("click",".tutorUploadAttachmentBtn",function(t){t.preventDefault();var n,a=u(this);n||(n=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},multiple:!0})).on("select",function(){var t=n.state().get("selection").toJSON();if(t.length)for(var e=0;e<t.length;e++){var o=t[e],o='<div class="tutor-added-attachment"><i class="tutor-icon-archive"></i><a href="javascript:;" class="tutor-delete-attachment tutor-icon-line-cross"></a> <span> <a href="'+o.url+'">'+o.filename+'</a> </span> <input type="hidden" name="tutor_attachments[]" value="'+o.id+'"></div>';a.closest(".tutor-lesson-attachments-metabox").find(".tutor-added-attachments-wrap").append(o)}}),n.open()}),u("form").on("change",".tutor-assignment-file-upload",function(){u(this).siblings("label").find("span").html(u(this).val().replace(/.*(\/|\\)/,""))}),u(document).on("click",".tutor-topics-in-single-lesson .tutor-topics-title h3, .tutor-single-lesson-topic-toggle",function(t){var e=u(this).closest(".tutor-topics-in-single-lesson");e.toggleClass("tutor-topic-active"),e.find(".tutor-lessons-under-topic").slideToggle()}),u(".tutor-single-lesson-items.active").closest(".tutor-lessons-under-topic").show(),u(".tutor-single-lesson-items.active").closest(".tutor-topics-in-single-lesson").addClass("tutor-topic-active"),u(".tutor-course-lesson.active").closest(".tutor-lessons-under-topic").show(),u(document).on("click",".tutor-create-assignments-btn",function(t){t.preventDefault();var e=u(this),o=u(this).attr("data-topic-id"),n=u("#post_ID").val();u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{topic_id:o,course_id:n,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){u(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),u(".tutor-lesson-modal-wrap").attr("data-topic-id",o).addClass("show"),u(document).trigger("assignment_modal_loaded",{topic_id:o,course_id:n}),tinymce.init(tinyMCEPreInit.mceInit.course_description),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),u(document).on("click",".open-tutor-assignment-modal",function(t){t.preventDefault();var e=u(this),o=e.attr("data-assignment-id"),n=e.attr("data-topic-id"),a=u("#post_ID").val();u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{assignment_id:o,topic_id:n,course_id:a,action:"tutor_load_assignments_builder_modal"},beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){u(".tutor-lesson-modal-wrap .modal-container").html(t.data.output),u(".tutor-lesson-modal-wrap").attr({"data-assignment-id":o,"data-topic-id":n}).addClass("show"),u(document).trigger("assignment_modal_loaded",{assignment_id:o,topic_id:n,course_id:a}),tinymce.init(tinyMCEPreInit.mceInit.course_description),tinymce.execCommand("mceRemoveEditor",!1,"tutor_assignments_modal_editor"),tinyMCE.execCommand("mceAddEditor",!1,"tutor_assignments_modal_editor")},complete:function(){quicktags({id:"tutor_assignments_modal_editor"}),e.removeClass("tutor-updating-message")}})}),u(document).on("click",".update_assignment_modal_btn",function(t){t.preventDefault();var e=u(this),o="tutor_assignments_modal_editor",t=tinyMCE.get(o),t=t?t.getContent():u("#"+o).val();console.log(t);o=u(this).closest("form").serializeObject();o.assignment_content=t,u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){t.success?(u("#tutor-course-content-wrap").html(t.data.course_contents),b(),u(".tutor-lesson-modal-wrap").removeClass("show"),tutor_toast(s("Done","tutor"),e.data("toast_success_message"),"success")):tutor_toast(s("Failed","tutor"),s("Assignment Update Failed","tutor"),"error")},error:function(){tutor_toast(s("Failed","tutor"),s("Assignment Update Failed","tutor"),"error")},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("click",".add-assignment-attachments",function(t){t.preventDefault();var o,n=u(this);o||(o=wp.media({title:s("Select / Upload Media Of Your Chosen Persuasion","tutor"),button:{text:s("Use media","tutor")},multiple:!1})).on("select",function(){var t=o.state().get("selection").first().toJSON(),e='<div class="tutor-individual-attachment-file"><p class="attachment-file-name">'+t.filename+'</p><input type="hidden" name="tutor_assignment_attachments[]" value="'+t.id+'"><a href="javascript:;" class="remove-assignment-attachment-a text-muted"> × Remove</a></div>';u("#assignment-attached-file").append(e),n.closest(".video_source_upload_wrap_html5").find("input").val(t.id)}),o.open()}),u(document).on("click",".remove-assignment-attachment-a",function(t){t.preventDefault(),u(this).closest(".tutor-individual-attachment-file").remove()}),"tutor_add_course_builder"===u('input[name="tutor_action"]').val()&&setInterval(function(){var t=u("form#tutor-frontend-course-builder").serializeObject();t.tutor_ajax_action="tutor_course_builder_draft_save",u.ajax({type:"POST",data:t,beforeSend:function(){u(".tutor-dashboard-builder-draft-btn span").text(s("Saving...","tutor"))},success:function(t){},complete:function(){u(".tutor-dashboard-builder-draft-btn span").text(s("Save","tutor"))}})},3e4),u(".tutor-course-builder-section-title").on("click",function(){u(this).find("i").hasClass("tutor-icon-up")?u(this).find("i").removeClass("tutor-icon-up").addClass("tutor-icon-down"):u(this).find("i").removeClass("tutor-icon-down").addClass("tutor-icon-up"),u(this).next("div").slideToggle()}),u(document).on("click",".open-tutor-edit-review-modal",function(t){t.preventDefault();var e=u(this),o=e.attr("data-review-id"),n=_tutorobject.nonce_key,t={review_id:o,action:"tutor_load_edit_review_modal"};t[n]=_tutorobject[n],u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){e.addClass("tutor-updating-message")},success:function(t){void 0!==t.data&&(u(".tutor-edit-review-modal-wrap .modal-container").html(t.data.output),u(".tutor-edit-review-modal-wrap").attr("data-review-id",o).addClass("show"))},complete:function(){e.removeClass("tutor-updating-message")}})}),u(document).on("submit","#tutor_update_review_form",function(t){t.preventDefault();var e=u(this),o=e.closest(".tutor-edit-review-modal-wrap ").attr("data-review-id"),t=_tutorobject.nonce_key,o={review_id:o,rating:e.find('input[name="tutor_rating_gen_input"]').val(),review:e.find('textarea[name="review"]').val().trim(),action:"tutor_update_review_modal"};o[t]=_tutorobject[t],u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:o,beforeSend:function(){e.find('button[type="submit"]').addClass("tutor-updating-message")},success:function(t){t.success&&(u(".tutor-edit-review-modal-wrap").removeClass("show"),location.reload(!0))},complete:function(){e.find('button[type="submit"]').removeClass("tutor-updating-message")}})}),u(document).on("click","#tutor_profile_photo_button",function(t){t.preventDefault(),u("#tutor_profile_photo_file").trigger("click")}),u(document).on("change","#tutor_profile_photo_file",function(t){t.preventDefault();this.files&&this.files[0]&&((t=new FileReader).onload=function(t){u(".tutor-profile-photo-upload-wrap").find("img").attr("src",t.target.result)},t.readAsDataURL(this.files[0]))}),u(document).on("click",".thread-content .subject",function(t){var e=u(this),o=parseInt(e.closest(".thread-content").attr("data-thread-id")),e=_tutorobject.nonce_key,o={thread_id:o,action:"tutor_bp_retrieve_user_records_for_thread"};o[e]=_tutorobject[e],u.ajax({type:"POST",url:window._tutorobject.ajaxurl,data:o,beforeSend:function(){u("#tutor-bp-thread-wrap").html("")},success:function(t){t.success&&(u("#tutor-bp-thread-wrap").html(t.data.thread_head_html),q())}})}),q(),u(document).on("click","a.tutor_bp_plus_courses",function(t){t.preventDefault();t=u(this);t.closest(".tutor-bp-enrolled-courses-wrap").find(".tutor-bp-enrolled-course-list li").show(),t.closest(".thread-participant-enrolled-info").html("")}),u(".tutor-dropbtn").click(function(){u(this).parent().find(".tutor-dropdown-content").slideToggle(100)}),u(document).on("click",function(t){var e=u(".tutor-dropdown"),o=e.find(".tutor-dropdown-content");e.is(t.target)||0!==e.has(t.target).length||o.slideUp(100)}),u(document).on("submit",".tutor-login-form-wrap #loginform",function(t){t.preventDefault();var t=u(this),e=u(".tutor-login-form-wrap"),t=t.serializeObject();t.action="tutor_user_login",u.ajax({url:_tutorobject.ajaxurl,type:"POST",data:t,success:function(t){t.success?(location.assign(t.data.redirect),location.reload()):(t=t.data||s("Invalid username or password!","tutor"),e.find(".tutor-alert").length?e.find(".tutor-alert").html(t):e.prepend('<div class="tutor-alert tutor-alert-warning">'+t+"</div>"))}})});var j,x=u('.tutor-frontend-builder-course-price [name="tutor_course_price_type"]');0==x.length?u("#_tutor_is_course_public_meta_checkbox").show():x.change(function(){var t;u(this).prop("checked")&&(t="paid"==u(this).val()?"hide":"show",u("#_tutor_is_course_public_meta_checkbox")[t]())}).trigger("change"),(j=jQuery).fn.tutor_tooltip=function(){return this.on("mouseenter click",".tooltip",function(t){t.stopPropagation(),j(this).removeClass("isVisible")}).on("mouseenter focus",":has(>.tooltip)",function(t){j(this).prop("disabled")||j(this).find(".tooltip").addClass("isVisible")}).on("mouseleave blur keydown",":has(>.tooltip)",function(t){("keydown"!==t.type||27===t.which)&&j(this).find(".tooltip").removeClass("isVisible")}),this},jQuery(".tutor-tooltip-inside").tutor_tooltip();var k=u(".tutor-course-filter-container form"),z=u(".tutor-course-filter-loop-container"),C={};k.on("submit",function(t){t.preventDefault()}).find("input").change(function(t){var e=Object.assign(k.serializeObject(),C);e.action="tutor_course_filter_ajax",z.html('<center><img src="'+window._tutorobject.loading_icon_url+'"/></center>'),u(this).closest("form").find(".tutor-clear-all-filter").show(),u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:e,success:function(t){z.html(t).find(".tutor-pagination-wrap a").each(function(){u(this).attr("data-href",u(this).attr("href")).attr("href","#")})}})}),z.on("click",".tutor-pagination-wrap a",function(t){var e=u(this).data("href")||u(this).attr("href");!e||(e=(e=new URL(e)).searchParams.get("paged"))&&(t.preventDefault(),C.page=e,k.find("input:first").trigger("change"))}),z.on("change",'select[name="tutor_course_filter"]',function(){C.tutor_course_filter=u(this).val(),k.find("input:first").trigger("change")});x=u(".tutor-course-loop");0<x.length&&("yes"===window.sessionStorage.getItem("tutor_refresh_archive")&&window.location.reload(),window.sessionStorage.removeItem("tutor_refresh_archive"),x.on("click",".tutor-loop-cart-btn-wrap",function(){window.sessionStorage.setItem("tutor_refresh_archive","yes")}));x=u("#tutor_profile_cover_photo_editor");0<x.length&&new function(n){this.dialogue_box=n.find("#tutor_photo_dialogue_box"),this.open_dialogue_box=function(t){this.dialogue_box.attr("name",t),this.dialogue_box.trigger("click")},this.validate_image=function(t){return!0},this.upload_selected_image=function(t,e){var o,n,a;e&&this.validate_image(e)&&(o=tutor_get_nonce_data(!0),(n=this).toggle_loader(t,!0),(a=new FormData).append("action","tutor_user_photo_upload"),a.append("photo_type",t),a.append("photo_file",e,e.name),a.append(o.key,o.value),u.ajax({url:window._tutorobject.ajaxurl,data:a,type:"POST",processData:!1,contentType:!1,error:n.error_alert,complete:function(){n.toggle_loader(t,!1)}}))},this.accept_upload_image=function(t,e){var o=e.currentTarget.files[0]||null;t.update_preview(e.currentTarget.name,o),t.upload_selected_image(e.currentTarget.name,o),u(e.currentTarget).val("")},this.delete_image=function(t){var e=this;e.toggle_loader(t,!0),u.ajax({url:window._tutorobject.ajaxurl,data:{action:"tutor_user_photo_remove",photo_type:t},type:"POST",error:e.error_alert,complete:function(){e.toggle_loader(t,!1)}})},this.update_preview=function(t,e){var o=n.find("cover_photo"==t?"#tutor_cover_area":"#tutor_profile_area");if(!e)return o.css("background-image","url("+o.data("fallback")+")"),void this.delete_image(t);t=new FileReader;t.onload=function(t){o.css("background-image","url("+t.target.result+")")},t.readAsDataURL(e)},this.toggle_profile_pic_action=function(t){n[void 0===t?"toggleClass":t?"addClass":"removeClass"]("pop-up-opened")},this.error_alert=function(){alert("Something Went Wrong.")},this.toggle_loader=function(t,e){n.find("#tutor_photo_meta_area .loader-area").css("display",e?"block":"none")},this.initialize=function(){var e=this;this.dialogue_box.change(function(t){e.accept_upload_image(e,t)}),n.find("#tutor_profile_area .tutor_overlay, #tutor_pp_option>div:last-child").click(function(){e.toggle_profile_pic_action()}),n.find(".tutor_cover_uploader").click(function(){e.open_dialogue_box("cover_photo")}),n.find(".tutor_pp_uploader").click(function(){e.open_dialogue_box("profile_photo")}),n.find(".tutor_cover_deleter").click(function(){e.update_preview("cover_photo",null)}),n.find(".tutor_pp_deleter").click(function(){e.update_preview("profile_photo",null)})}}(x).initialize(),u(".tutor-instructor-filter").each(function(){var e,r=u(this),s={};function n(t,e,o){var n=r.find(".filter-result-container"),a=n.html(),i=r.data();i.current_page=o||1,t?s[t]=e:s={},s.attributes=i,s.action="load_filtered_instructor",n.html('<div style="text-align:center"><img src="'+window._tutorobject.loading_icon_url+'"/></div>'),u.ajax({url:window._tutorobject.ajaxurl,data:s,type:"POST",success:function(t){n.html(t)},error:function(){n.html(a),tutor_toast("Failed","Request Error","error")}})}r.on("change",'.course-category-filter [type="checkbox"]',function(){var e={};u(this).closest(".course-category-filter").find("input:checked").each(function(){e[u(this).val()]=u(this).parent().text()});var o=r.find(".selected-cate-list").empty(),t=Object.keys(e);t.forEach(function(t){o.append("<span>"+e[t]+' <span class="tutor-icon-line-cross" data-cat_id="'+t+'"></span></span>')}),t.length&&o.append('<span data-cat_id="0">Clear All</span>'),n(u(this).attr("name"),t)}).on("click",".selected-cate-list [data-cat_id]",function(){var t=u(this).data("cat_id"),e=r.find('.mobile-filter-popup [type="checkbox"]');(e=t?e.filter('[value="'+t+'"]'):e).prop("checked",!1).trigger("change")}).on("input",'.filter-pc [name="keyword"]',function(){var t=u(this).val();e&&window.clearTimeout(e),e=window.setTimeout(function(){n("keyword",t),e=null},500)}).on("click","[data-page_number]",function(t){t.preventDefault(),n(null,null,u(this).data("page_number"))}).on("click",".clear-instructor-filter",function(){var t=u(this).closest(".tutor-instructor-filter");t.find('input[type="checkbox"]').prop("checked",!1),t.find('[name="keyword"]').val(""),n()}).on("click",".mobile-filter-container i",function(){u(this).parent().next().addClass("is-opened")}).on("click",".mobile-filter-popup button",function(){u('.mobile-filter-popup [type="checkbox"]').trigger("change"),u(this).closest(".mobile-filter-popup").removeClass("is-opened")}).on("input",'.filter-mobile [name="keyword"]',function(){r.find('.filter-pc [name="keyword"]').val(u(this).val()).trigger("input")}).on("change",'.mobile-filter-popup [type="checkbox"]',function(t){var e,o;t.originalEvent||(e=u(this).attr("name"),o=u(this).val(),t=u(this).prop("checked"),r.find('.course-category-filter [name="'+e+'"]').filter('[value="'+o+'"]').prop("checked",t).trigger("change"))}).on("mousedown touchstart",".expand-instructor-filter",function(t){var e=u(window).height(),o=r.find(".mobile-filter-popup>div"),n=e-o.height(),a=((t.originalEvent.touches||[])[0]||t).clientY-n;r.on("mousemove touchmove",function(t){t=((t.originalEvent.touches||[])[0]||t).clientY,t=e-t+a;200<t&&t<=e&&o.css("height",t+"px")})}).on("mouseup touchend",function(){r.off("mousemove touchmove")}).on("click",".mobile-filter-popup>div",function(t){t.stopImmediatePropagation()}).on("click",".mobile-filter-popup",function(t){u(this).removeClass("is-opened")})}),u(".tutor-course-retake-button").click(function(t){t.preventDefault();var t=u(this),e=t.attr("href"),o=t.data("course_id"),t={title:s("Override Previous Progress","tutor"),description:s("Before continue, please decide whether to keep progress or reset.","tutor"),buttons:{reset:{title:s("Reset Data","tutor"),class:"secondary",callback:function(){var t=n.find(".tutor-button-secondary");t.prop("disabled",!0).append('<img style="margin-left: 7px" src="'+window._tutorobject.loading_icon_url+'"/>'),u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:{action:"tutor_reset_course_progress",course_id:o},success:function(t){t.success?window.location.assign(t.data.redirect_to):alert((t.data||{}).message||s("Something went wrong","tutor"))},complete:function(){t.prop("disabled",!1).find("img").remove()}})}},keep:{title:s("Keep Data","tutor"),class:"primary",callback:function(){window.location.assign(e)}}}},n=new window.tutor_popup(u,"icon-gear",40).popup(t)}),document.body.addEventListener("click",function(t){var e,o=t.target,n=o.tagName,a=o.parentElement.tagName;0<m.length&&"EXPIRED"!=m.html()&&("A"!==n&&"A"!==a||(t.preventDefault(),t.stopImmediatePropagation(),t={title:s("Abandon Quiz?","tutor"),description:s("Do you want to abandon this quiz? The quiz will be submitted partially up to this question if you leave this page.","tutor"),buttons:{keep:{title:s("Yes, leave quiz","tutor"),id:"leave",class:"secondary",callback:function(){var t=u("form#tutor-answering-quiz").serialize()+"&action=tutor_quiz_abandon";u.ajax({url:window._tutorobject.ajaxurl,type:"POST",data:t,beforeSend:function(){document.querySelector("#tutor-popup-leave").innerHTML=s("Leaving...","tutor")},success:function(t){t.success?null==o.href?location.href=o.parentElement.href:location.href=o.href:alert(s("Something went wrong","tutor"))},error:function(){alert(s("Something went wrong","tutor")),e.remove()}})}},reset:{title:s("Stay here","tutor"),id:"reset",class:"primary",callback:function(){e.remove()}}}},e=new window.tutor_popup(u,"",40).popup(t)))}),u("body").on("submit","form#tutor-start-quiz",function(){u(this).find("button").prop("disabled",!0)})})})()})();
|
classes/Admin.php
CHANGED
@@ -227,7 +227,7 @@ class Admin{
|
|
227 |
}
|
228 |
|
229 |
if (! empty($_GET['post']) ) {
|
230 |
-
$get_post_id = (int)
|
231 |
$get_post = get_post($get_post_id);
|
232 |
$tutor_post_types = array(tutor()->course_post_type, tutor()->lesson_post_type);
|
233 |
|
227 |
}
|
228 |
|
229 |
if (! empty($_GET['post']) ) {
|
230 |
+
$get_post_id = (int) $_GET['post'];
|
231 |
$get_post = get_post($get_post_id);
|
232 |
$tutor_post_types = array(tutor()->course_post_type, tutor()->lesson_post_type);
|
233 |
|
classes/Ajax.php
CHANGED
@@ -198,7 +198,7 @@ class Ajax {
|
|
198 |
|
199 |
global $wpdb;
|
200 |
|
201 |
-
$course_id = (int)
|
202 |
$question_title = sanitize_text_field( $_POST['question_title'] );
|
203 |
$question = wp_kses_post( $_POST['question'] );
|
204 |
|
@@ -259,7 +259,7 @@ class Ajax {
|
|
259 |
wp_send_json_error( __( 'Please write answer', 'tutor' ) );
|
260 |
}
|
261 |
|
262 |
-
$question_id = (int)
|
263 |
$question = tutor_utils()->get_qa_question( $question_id );
|
264 |
|
265 |
$user_id = get_current_user_id();
|
@@ -299,7 +299,7 @@ class Ajax {
|
|
299 |
public function tutor_course_add_to_wishlist() {
|
300 |
tutils()->checking_nonce();
|
301 |
|
302 |
-
$course_id = (int)
|
303 |
if ( ! is_user_logged_in() ) {
|
304 |
wp_send_json_error( array( 'redirect_to' => wp_login_url( wp_get_referer() ) ) );
|
305 |
}
|
@@ -385,7 +385,7 @@ class Ajax {
|
|
385 |
public function tutor_load_edit_review_modal() {
|
386 |
tutor_utils()->checking_nonce();
|
387 |
|
388 |
-
$review_id = (int)
|
389 |
$rating = tutils()->get_rating_by_id( $review_id );
|
390 |
|
391 |
if ( ! tutils()->has_enrolled_content_access( 'review', $review_id ) ) {
|
@@ -405,7 +405,7 @@ class Ajax {
|
|
405 |
|
406 |
tutor_utils()->checking_nonce();
|
407 |
|
408 |
-
$review_id = (int)
|
409 |
$rating = sanitize_text_field( tutor_utils()->avalue_dot( 'rating', $_POST ) );
|
410 |
$review = wp_kses_post( tutor_utils()->avalue_dot( 'review', $_POST ) );
|
411 |
|
@@ -452,9 +452,9 @@ class Ajax {
|
|
452 |
|
453 |
try {
|
454 |
$creds = array(
|
455 |
-
'user_login' => trim( wp_unslash( $username ) ),
|
456 |
-
'user_password' => $password,
|
457 |
-
'remember' => isset( $_POST['rememberme'] ),
|
458 |
);
|
459 |
|
460 |
$validation_error = new \WP_Error();
|
198 |
|
199 |
global $wpdb;
|
200 |
|
201 |
+
$course_id = (int) $_POST['tutor_course_id'];
|
202 |
$question_title = sanitize_text_field( $_POST['question_title'] );
|
203 |
$question = wp_kses_post( $_POST['question'] );
|
204 |
|
259 |
wp_send_json_error( __( 'Please write answer', 'tutor' ) );
|
260 |
}
|
261 |
|
262 |
+
$question_id = (int) $_POST['question_id'];
|
263 |
$question = tutor_utils()->get_qa_question( $question_id );
|
264 |
|
265 |
$user_id = get_current_user_id();
|
299 |
public function tutor_course_add_to_wishlist() {
|
300 |
tutils()->checking_nonce();
|
301 |
|
302 |
+
$course_id = (int) $_POST['course_id'];
|
303 |
if ( ! is_user_logged_in() ) {
|
304 |
wp_send_json_error( array( 'redirect_to' => wp_login_url( wp_get_referer() ) ) );
|
305 |
}
|
385 |
public function tutor_load_edit_review_modal() {
|
386 |
tutor_utils()->checking_nonce();
|
387 |
|
388 |
+
$review_id = (int) tutils()->array_get( 'review_id', $_POST );
|
389 |
$rating = tutils()->get_rating_by_id( $review_id );
|
390 |
|
391 |
if ( ! tutils()->has_enrolled_content_access( 'review', $review_id ) ) {
|
405 |
|
406 |
tutor_utils()->checking_nonce();
|
407 |
|
408 |
+
$review_id = (int) tutils()->array_get( 'review_id', $_POST );
|
409 |
$rating = sanitize_text_field( tutor_utils()->avalue_dot( 'rating', $_POST ) );
|
410 |
$review = wp_kses_post( tutor_utils()->avalue_dot( 'review', $_POST ) );
|
411 |
|
452 |
|
453 |
try {
|
454 |
$creds = array(
|
455 |
+
'user_login' => trim( wp_unslash( $username ) ),
|
456 |
+
'user_password' => $password,
|
457 |
+
'remember' => isset( $_POST['rememberme'] ),
|
458 |
);
|
459 |
|
460 |
$validation_error = new \WP_Error();
|
classes/Course.php
CHANGED
@@ -187,7 +187,6 @@ class Course extends Tutor_Base {
|
|
187 |
public function register_meta_box() {
|
188 |
$coursePostType = tutor()->course_post_type;
|
189 |
$course_marketplace = tutor_utils()->get_option( 'enable_course_marketplace' );
|
190 |
-
// add_meta_box( 'tutor-course-levels', __( 'Course Level', 'tutor' ), array($this, 'course_level_metabox'), $coursePostType );
|
191 |
add_meta_box( 'tutor-course-topics', __( 'Course Builder', 'tutor' ), array( $this, 'course_meta_box' ), $coursePostType );
|
192 |
add_meta_box( 'tutor-course-additional-data', __( 'Additional Data', 'tutor' ), array( $this, 'course_additional_data_meta_box' ), $coursePostType );
|
193 |
add_meta_box( 'tutor-course-videos', __( 'Video', 'tutor' ), array( $this, 'video_metabox' ), $coursePostType );
|
@@ -209,7 +208,7 @@ class Course extends Tutor_Base {
|
|
209 |
$content = ob_get_clean();
|
210 |
|
211 |
if ( $echo ) {
|
212 |
-
echo $content;
|
213 |
} else {
|
214 |
return $content;
|
215 |
}
|
@@ -222,7 +221,7 @@ class Course extends Tutor_Base {
|
|
222 |
$content = ob_get_clean();
|
223 |
|
224 |
if ( $echo ) {
|
225 |
-
echo $content;
|
226 |
} else {
|
227 |
return $content;
|
228 |
}
|
@@ -234,19 +233,7 @@ class Course extends Tutor_Base {
|
|
234 |
$content = ob_get_clean();
|
235 |
|
236 |
if ( $echo ) {
|
237 |
-
echo $content;
|
238 |
-
} else {
|
239 |
-
return $content;
|
240 |
-
}
|
241 |
-
}
|
242 |
-
|
243 |
-
public function course_level_metabox( $echo = true ) {
|
244 |
-
ob_start();
|
245 |
-
include tutor()->path . 'views/metabox/course-level-metabox.php';
|
246 |
-
$content = ob_get_clean();
|
247 |
-
|
248 |
-
if ( $echo ) {
|
249 |
-
echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
250 |
} else {
|
251 |
return $content;
|
252 |
}
|
@@ -258,7 +245,7 @@ class Course extends Tutor_Base {
|
|
258 |
$content = ob_get_clean();
|
259 |
|
260 |
if ( $echo ) {
|
261 |
-
echo $content;
|
262 |
} else {
|
263 |
return $content;
|
264 |
}
|
@@ -271,10 +258,10 @@ class Course extends Tutor_Base {
|
|
271 |
*/
|
272 |
public function register_meta_box_in_frontend() {
|
273 |
do_action( 'tutor_course_builder_metabox_before', get_the_ID() );
|
274 |
-
course_builder_section_wrap( $this->video_metabox(
|
275 |
-
course_builder_section_wrap( $this->course_meta_box(
|
276 |
-
course_builder_section_wrap( $this->instructors_metabox(
|
277 |
-
course_builder_section_wrap( $this->course_additional_data_meta_box(
|
278 |
do_action( 'tutor_course_builder_metabox_after', get_the_ID() );
|
279 |
}
|
280 |
|
@@ -392,7 +379,7 @@ class Course extends Tutor_Base {
|
|
392 |
|
393 |
if ( $additional_data_edit ) {
|
394 |
if ( ! empty( $_POST['video']['source'] ) ) { // Video
|
395 |
-
$video = tutor_utils()->array_get( 'video',
|
396 |
update_post_meta( $post_ID, '_video', $video );
|
397 |
} else {
|
398 |
delete_post_meta( $post_ID, '_video' );
|
@@ -474,7 +461,7 @@ class Course extends Tutor_Base {
|
|
474 |
public function tutor_update_topic() {
|
475 |
tutils()->checking_nonce();
|
476 |
|
477 |
-
$topic_id = (int)
|
478 |
$topic_title = sanitize_text_field( $_POST['topic_title'] );
|
479 |
$topic_summery = wp_kses_post( $_POST['topic_summery'] );
|
480 |
|
@@ -548,7 +535,7 @@ class Course extends Tutor_Base {
|
|
548 |
|
549 |
global $wpdb;
|
550 |
|
551 |
-
$topic_id = (int)
|
552 |
$wpdb->update(
|
553 |
$wpdb->posts,
|
554 |
array( 'post_parent' => 0 ),
|
@@ -567,7 +554,7 @@ class Course extends Tutor_Base {
|
|
567 |
public function tutor_delete_announcement() {
|
568 |
tutor_utils()->checking_nonce( 'get' );
|
569 |
|
570 |
-
$announcement_id = (int)
|
571 |
|
572 |
wp_delete_post( $announcement_id );
|
573 |
wp_safe_redirect( wp_get_referer() );
|
@@ -587,7 +574,7 @@ class Course extends Tutor_Base {
|
|
587 |
exit( __( 'Please Sign In first', 'tutor' ) );
|
588 |
}
|
589 |
|
590 |
-
$course_id = (int)
|
591 |
$user_id = get_current_user_id();
|
592 |
|
593 |
/**
|
@@ -635,7 +622,7 @@ class Course extends Tutor_Base {
|
|
635 |
die( __( 'Please Sign-In', 'tutor' ) );
|
636 |
}
|
637 |
|
638 |
-
$course_id = (int)
|
639 |
|
640 |
do_action( 'tutor_course_complete_before', $course_id );
|
641 |
/**
|
@@ -718,7 +705,7 @@ class Course extends Tutor_Base {
|
|
718 |
|
719 |
global $wpdb;
|
720 |
|
721 |
-
$course_id = (int)
|
722 |
$search_terms = sanitize_text_field( tutor_utils()->avalue_dot( 'search_terms', tutor_sanitize_data($_POST) ) );
|
723 |
|
724 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
@@ -757,7 +744,6 @@ class Course extends Tutor_Base {
|
|
757 |
$output .= apply_filters( 'tutor_course_instructors_html', $instructor_output, $instructors );
|
758 |
|
759 |
} else {
|
760 |
-
$output .= '<p>' . __( 'No instructor available or you have already added maximum instructors' ) . '</p>';
|
761 |
$output .= '<p>' . __( 'No instructor available or you have already added maximum instructors', 'tutor' ) . '</p>';
|
762 |
}
|
763 |
|
@@ -771,7 +757,7 @@ class Course extends Tutor_Base {
|
|
771 |
public function tutor_add_instructors_to_course() {
|
772 |
tutils()->checking_nonce();
|
773 |
|
774 |
-
$course_id = (int)
|
775 |
$instructor_ids = tutor_utils()->avalue_dot( 'tutor_instructor_ids', tutor_sanitize_data($_POST) );
|
776 |
|
777 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
@@ -808,8 +794,8 @@ class Course extends Tutor_Base {
|
|
808 |
|
809 |
global $wpdb;
|
810 |
|
811 |
-
$instructor_id = (int)
|
812 |
-
$course_id = (int)
|
813 |
|
814 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
815 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
187 |
public function register_meta_box() {
|
188 |
$coursePostType = tutor()->course_post_type;
|
189 |
$course_marketplace = tutor_utils()->get_option( 'enable_course_marketplace' );
|
|
|
190 |
add_meta_box( 'tutor-course-topics', __( 'Course Builder', 'tutor' ), array( $this, 'course_meta_box' ), $coursePostType );
|
191 |
add_meta_box( 'tutor-course-additional-data', __( 'Additional Data', 'tutor' ), array( $this, 'course_additional_data_meta_box' ), $coursePostType );
|
192 |
add_meta_box( 'tutor-course-videos', __( 'Video', 'tutor' ), array( $this, 'video_metabox' ), $coursePostType );
|
208 |
$content = ob_get_clean();
|
209 |
|
210 |
if ( $echo ) {
|
211 |
+
echo tutor_kses_html( $content );
|
212 |
} else {
|
213 |
return $content;
|
214 |
}
|
221 |
$content = ob_get_clean();
|
222 |
|
223 |
if ( $echo ) {
|
224 |
+
echo tutor_kses_html( $content );
|
225 |
} else {
|
226 |
return $content;
|
227 |
}
|
233 |
$content = ob_get_clean();
|
234 |
|
235 |
if ( $echo ) {
|
236 |
+
echo tutor_kses_html( $content );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
} else {
|
238 |
return $content;
|
239 |
}
|
245 |
$content = ob_get_clean();
|
246 |
|
247 |
if ( $echo ) {
|
248 |
+
echo tutor_kses_html( $content );
|
249 |
} else {
|
250 |
return $content;
|
251 |
}
|
258 |
*/
|
259 |
public function register_meta_box_in_frontend() {
|
260 |
do_action( 'tutor_course_builder_metabox_before', get_the_ID() );
|
261 |
+
course_builder_section_wrap( $this->video_metabox( false ), __( 'Video', 'tutor' ) );
|
262 |
+
course_builder_section_wrap( $this->course_meta_box( false ), __( 'Course Builder', 'tutor' ) );
|
263 |
+
course_builder_section_wrap( $this->instructors_metabox( false ), __( 'Instructors', 'tutor' ) );
|
264 |
+
course_builder_section_wrap( $this->course_additional_data_meta_box( false ), __( 'Additional Data', 'tutor' ) );
|
265 |
do_action( 'tutor_course_builder_metabox_after', get_the_ID() );
|
266 |
}
|
267 |
|
379 |
|
380 |
if ( $additional_data_edit ) {
|
381 |
if ( ! empty( $_POST['video']['source'] ) ) { // Video
|
382 |
+
$video = tutor_utils()->array_get( 'video', $_POST );
|
383 |
update_post_meta( $post_ID, '_video', $video );
|
384 |
} else {
|
385 |
delete_post_meta( $post_ID, '_video' );
|
461 |
public function tutor_update_topic() {
|
462 |
tutils()->checking_nonce();
|
463 |
|
464 |
+
$topic_id = (int) $_POST['topic_id'];
|
465 |
$topic_title = sanitize_text_field( $_POST['topic_title'] );
|
466 |
$topic_summery = wp_kses_post( $_POST['topic_summery'] );
|
467 |
|
535 |
|
536 |
global $wpdb;
|
537 |
|
538 |
+
$topic_id = (int) $_GET['topic_id'];
|
539 |
$wpdb->update(
|
540 |
$wpdb->posts,
|
541 |
array( 'post_parent' => 0 ),
|
554 |
public function tutor_delete_announcement() {
|
555 |
tutor_utils()->checking_nonce( 'get' );
|
556 |
|
557 |
+
$announcement_id = (int) $_GET['topic_id'];
|
558 |
|
559 |
wp_delete_post( $announcement_id );
|
560 |
wp_safe_redirect( wp_get_referer() );
|
574 |
exit( __( 'Please Sign In first', 'tutor' ) );
|
575 |
}
|
576 |
|
577 |
+
$course_id = (int) $_POST['tutor_course_id'];
|
578 |
$user_id = get_current_user_id();
|
579 |
|
580 |
/**
|
622 |
die( __( 'Please Sign-In', 'tutor' ) );
|
623 |
}
|
624 |
|
625 |
+
$course_id = (int) $_POST['course_id'];
|
626 |
|
627 |
do_action( 'tutor_course_complete_before', $course_id );
|
628 |
/**
|
705 |
|
706 |
global $wpdb;
|
707 |
|
708 |
+
$course_id = (int) $_POST['course_id'];
|
709 |
$search_terms = sanitize_text_field( tutor_utils()->avalue_dot( 'search_terms', tutor_sanitize_data($_POST) ) );
|
710 |
|
711 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
744 |
$output .= apply_filters( 'tutor_course_instructors_html', $instructor_output, $instructors );
|
745 |
|
746 |
} else {
|
|
|
747 |
$output .= '<p>' . __( 'No instructor available or you have already added maximum instructors', 'tutor' ) . '</p>';
|
748 |
}
|
749 |
|
757 |
public function tutor_add_instructors_to_course() {
|
758 |
tutils()->checking_nonce();
|
759 |
|
760 |
+
$course_id = (int) $_POST['course_id'];
|
761 |
$instructor_ids = tutor_utils()->avalue_dot( 'tutor_instructor_ids', tutor_sanitize_data($_POST) );
|
762 |
|
763 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
794 |
|
795 |
global $wpdb;
|
796 |
|
797 |
+
$instructor_id = (int) $_POST['instructor_id'];
|
798 |
+
$course_id = (int) $_POST['course_id'];
|
799 |
|
800 |
if ( ! tutils()->can_user_manage( 'course', $course_id ) ) {
|
801 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
classes/Course_Filter.php
CHANGED
@@ -20,7 +20,7 @@ class Course_Filter {
|
|
20 |
$_post = tutor_sanitize_data( $_POST );
|
21 |
|
22 |
$default_per_page = tutils()->get_option( 'courses_per_page', 12 );
|
23 |
-
$courses_per_page = (int)
|
24 |
$page = ( isset( $_post['page'] ) && is_numeric( $_post['page'] ) && $_post['page'] > 0 ) ? sanitize_text_field( $_post['page'] ) : 1;
|
25 |
|
26 |
$args = array(
|
@@ -104,7 +104,7 @@ class Course_Filter {
|
|
104 |
}
|
105 |
|
106 |
query_posts( apply_filters( 'tutor_course_filter_args', $args ) );
|
107 |
-
$col_per_row = (int)
|
108 |
$GLOBALS['tutor_shortcode_arg'] = array(
|
109 |
'column_per_row' => $col_per_row <= 0 ? 3 : $col_per_row,
|
110 |
'course_per_page' => $courses_per_page,
|
@@ -145,8 +145,8 @@ class Course_Filter {
|
|
145 |
?>
|
146 |
<div class="tutor-course-filter-nested-terms">
|
147 |
<label>
|
148 |
-
<input type="checkbox" name="tutor-course-filter-<?php echo esc_attr( $taxonomy ); ?>" value="<?php echo $term->term_id; ?>" <?php echo $term->term_id == $term_id ? 'checked' : ''; ?>/>
|
149 |
-
<?php echo $term->name; ?>
|
150 |
</label>
|
151 |
|
152 |
<?php isset( $term->children ) ? $this->render_terms_hierarchically( $term->children, $taxonomy ) : 0; ?>
|
20 |
$_post = tutor_sanitize_data( $_POST );
|
21 |
|
22 |
$default_per_page = tutils()->get_option( 'courses_per_page', 12 );
|
23 |
+
$courses_per_page = (int) tutils()->array_get( 'course_per_page', $_post, $default_per_page );
|
24 |
$page = ( isset( $_post['page'] ) && is_numeric( $_post['page'] ) && $_post['page'] > 0 ) ? sanitize_text_field( $_post['page'] ) : 1;
|
25 |
|
26 |
$args = array(
|
104 |
}
|
105 |
|
106 |
query_posts( apply_filters( 'tutor_course_filter_args', $args ) );
|
107 |
+
$col_per_row = (int) tutils()->array_get( 'column_per_row', $_post, 3 );
|
108 |
$GLOBALS['tutor_shortcode_arg'] = array(
|
109 |
'column_per_row' => $col_per_row <= 0 ? 3 : $col_per_row,
|
110 |
'course_per_page' => $courses_per_page,
|
145 |
?>
|
146 |
<div class="tutor-course-filter-nested-terms">
|
147 |
<label>
|
148 |
+
<input type="checkbox" name="tutor-course-filter-<?php echo esc_attr( $taxonomy ); ?>" value="<?php echo esc_attr( $term->term_id ); ?>" <?php echo $term->term_id == $term_id ? 'checked' : ''; ?>/>
|
149 |
+
<?php echo sanitize_text_field( $term->name ); ?>
|
150 |
</label>
|
151 |
|
152 |
<?php isset( $term->children ) ? $this->render_terms_hierarchically( $term->children, $taxonomy ) : 0; ?>
|
classes/Dashboard.php
CHANGED
@@ -39,7 +39,7 @@ class Dashboard {
|
|
39 |
/**
|
40 |
* Get course which currently in edit, or insert new course
|
41 |
*/
|
42 |
-
$course_ID = (int)
|
43 |
|
44 |
if ( $course_ID ) {
|
45 |
$post_id = $course_ID;
|
@@ -84,14 +84,8 @@ class Dashboard {
|
|
84 |
* @since v.1.6.6
|
85 |
*/
|
86 |
public function profile_completion_notification() {
|
87 |
-
|
88 |
-
$enable_profile_completion = tutils()->get_option( 'enable_profile_completion' );
|
89 |
-
if ( $enable_profile_completion ) {
|
90 |
-
ob_start();
|
91 |
tutor_load_template( 'dashboard.notifications.profile-completion' );
|
92 |
-
$output = apply_filters( 'tutor_profile_completion_notification_html', ob_get_clean() );
|
93 |
}
|
94 |
-
|
95 |
-
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
96 |
}
|
97 |
}
|
39 |
/**
|
40 |
* Get course which currently in edit, or insert new course
|
41 |
*/
|
42 |
+
$course_ID = (int) tutor_utils()->array_get( 'course_ID', $_GET );
|
43 |
|
44 |
if ( $course_ID ) {
|
45 |
$post_id = $course_ID;
|
84 |
* @since v.1.6.6
|
85 |
*/
|
86 |
public function profile_completion_notification() {
|
87 |
+
if ( tutils()->get_option( 'enable_profile_completion' ) ) {
|
|
|
|
|
|
|
88 |
tutor_load_template( 'dashboard.notifications.profile-completion' );
|
|
|
89 |
}
|
|
|
|
|
90 |
}
|
91 |
}
|
classes/FormHandler.php
CHANGED
@@ -101,7 +101,7 @@ class FormHandler {
|
|
101 |
tutils()->checking_nonce();
|
102 |
|
103 |
$reset_key = sanitize_text_field( tutils()->array_get( 'reset_key', $_POST ) );
|
104 |
-
$user_id = (int)
|
105 |
$password = sanitize_text_field( tutils()->array_get( 'password', $_POST ) );
|
106 |
$confirm_password = sanitize_text_field( tutils()->array_get( 'confirm_password', $_POST ) );
|
107 |
|
101 |
tutils()->checking_nonce();
|
102 |
|
103 |
$reset_key = sanitize_text_field( tutils()->array_get( 'reset_key', $_POST ) );
|
104 |
+
$user_id = (int) tutils()->array_get( 'user_id', $_POST );
|
105 |
$password = sanitize_text_field( tutils()->array_get( 'password', $_POST ) );
|
106 |
$confirm_password = sanitize_text_field( tutils()->array_get( 'confirm_password', $_POST ) );
|
107 |
|
classes/Instructor.php
CHANGED
@@ -250,7 +250,7 @@ class Instructor {
|
|
250 |
wp_send_json_error( array('message' =>__('Access Denied', 'tutor')) );
|
251 |
}
|
252 |
|
253 |
-
$instructor_id = (int)
|
254 |
$action = sanitize_text_field(tutils()->array_get('action_name', $_POST));
|
255 |
|
256 |
if( 'approve' === $action ) {
|
250 |
wp_send_json_error( array('message' =>__('Access Denied', 'tutor')) );
|
251 |
}
|
252 |
|
253 |
+
$instructor_id = (int) tutils()->array_get('instructor_id', $_POST);
|
254 |
$action = sanitize_text_field(tutils()->array_get('action_name', $_POST));
|
255 |
|
256 |
if( 'approve' === $action ) {
|
classes/Instructors_List.php
CHANGED
@@ -148,7 +148,7 @@ class Instructors_List extends \Tutor_List_Table {
|
|
148 |
|
149 |
function process_bulk_action() {
|
150 |
if ( 'approve' === $this->current_action() ) {
|
151 |
-
$instructor_id = (int)
|
152 |
|
153 |
do_action( 'tutor_before_approved_instructor', $instructor_id );
|
154 |
|
@@ -163,7 +163,7 @@ class Instructors_List extends \Tutor_List_Table {
|
|
163 |
}
|
164 |
|
165 |
if ( 'blocked' === $this->current_action() ) {
|
166 |
-
$instructor_id = (int)
|
167 |
|
168 |
do_action( 'tutor_before_blocked_instructor', $instructor_id );
|
169 |
update_user_meta( $instructor_id, '_tutor_instructor_status', 'blocked' );
|
148 |
|
149 |
function process_bulk_action() {
|
150 |
if ( 'approve' === $this->current_action() ) {
|
151 |
+
$instructor_id = (int) $_GET['instructor'];
|
152 |
|
153 |
do_action( 'tutor_before_approved_instructor', $instructor_id );
|
154 |
|
163 |
}
|
164 |
|
165 |
if ( 'blocked' === $this->current_action() ) {
|
166 |
+
$instructor_id = (int) $_GET['instructor'];
|
167 |
|
168 |
do_action( 'tutor_before_blocked_instructor', $instructor_id );
|
169 |
update_user_meta( $instructor_id, '_tutor_instructor_status', 'blocked' );
|
classes/Lesson.php
CHANGED
@@ -78,7 +78,7 @@ class Lesson extends Tutor_Base {
|
|
78 |
public function save_lesson_meta( $post_ID ) {
|
79 |
// Course
|
80 |
if ( isset( $_POST['selected_course'] ) ) {
|
81 |
-
$course_id = (int)
|
82 |
if ( $course_id ) {
|
83 |
update_post_meta( $post_ID, '_tutor_course_id_for_lesson', $course_id );
|
84 |
}
|
@@ -89,7 +89,7 @@ class Lesson extends Tutor_Base {
|
|
89 |
if ( $video_source === '-1' ) {
|
90 |
delete_post_meta( $post_ID, '_video' );
|
91 |
} elseif ( $video_source ) {
|
92 |
-
$video = (array) tutor_utils()->array_get( 'video',
|
93 |
update_post_meta( $post_ID, '_video', $video );
|
94 |
}
|
95 |
|
@@ -118,7 +118,7 @@ class Lesson extends Tutor_Base {
|
|
118 |
tutils()->checking_nonce();
|
119 |
|
120 |
$lesson_id = (int) tutor_utils()->avalue_dot( 'lesson_id', tutor_sanitize_data($_POST) );
|
121 |
-
$topic_id = (int)
|
122 |
|
123 |
if ( ! tutils()->can_user_manage( 'topic', $topic_id ) ) {
|
124 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
@@ -155,10 +155,10 @@ class Lesson extends Tutor_Base {
|
|
155 |
|
156 |
global $wpdb;
|
157 |
|
158 |
-
$lesson_id = (int)
|
159 |
-
$topic_id = (int)
|
160 |
$course_id = tutor_utils()->get_course_id_by( 'topic', $topic_id );
|
161 |
-
$_lesson_thumbnail_id = (int)
|
162 |
|
163 |
if ( ! tutils()->can_user_manage( 'topic', $topic_id ) ) {
|
164 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
@@ -214,7 +214,7 @@ class Lesson extends Tutor_Base {
|
|
214 |
public function tutor_delete_lesson_by_id() {
|
215 |
tutils()->checking_nonce();
|
216 |
|
217 |
-
$lesson_id = (int)
|
218 |
|
219 |
if ( ! tutils()->can_user_manage( 'lesson', $lesson_id ) ) {
|
220 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
@@ -310,7 +310,7 @@ class Lesson extends Tutor_Base {
|
|
310 |
die( __( 'Please Sign-In', 'tutor' ) );
|
311 |
}
|
312 |
|
313 |
-
$lesson_id = (int)
|
314 |
|
315 |
do_action( 'tutor_lesson_completed_before', $lesson_id );
|
316 |
/**
|
@@ -327,7 +327,7 @@ class Lesson extends Tutor_Base {
|
|
327 |
public function tutor_render_lesson_content() {
|
328 |
tutils()->checking_nonce();
|
329 |
|
330 |
-
$lesson_id = (int)
|
331 |
|
332 |
$ancestors = get_post_ancestors( $lesson_id );
|
333 |
$course_id = ! empty( $ancestors ) ? array_pop( $ancestors ) : $lesson_id;
|
78 |
public function save_lesson_meta( $post_ID ) {
|
79 |
// Course
|
80 |
if ( isset( $_POST['selected_course'] ) ) {
|
81 |
+
$course_id = (int) $_POST['selected_course'];
|
82 |
if ( $course_id ) {
|
83 |
update_post_meta( $post_ID, '_tutor_course_id_for_lesson', $course_id );
|
84 |
}
|
89 |
if ( $video_source === '-1' ) {
|
90 |
delete_post_meta( $post_ID, '_video' );
|
91 |
} elseif ( $video_source ) {
|
92 |
+
$video = (array) tutor_utils()->array_get( 'video', $_POST, array() );
|
93 |
update_post_meta( $post_ID, '_video', $video );
|
94 |
}
|
95 |
|
118 |
tutils()->checking_nonce();
|
119 |
|
120 |
$lesson_id = (int) tutor_utils()->avalue_dot( 'lesson_id', tutor_sanitize_data($_POST) );
|
121 |
+
$topic_id = (int) $_POST['topic_id'];
|
122 |
|
123 |
if ( ! tutils()->can_user_manage( 'topic', $topic_id ) ) {
|
124 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
155 |
|
156 |
global $wpdb;
|
157 |
|
158 |
+
$lesson_id = (int) tutor_utils()->avalue_dot( 'lesson_id', $_POST );
|
159 |
+
$topic_id = (int) tutor_utils()->avalue_dot( 'current_topic_id', $_POST );
|
160 |
$course_id = tutor_utils()->get_course_id_by( 'topic', $topic_id );
|
161 |
+
$_lesson_thumbnail_id = (int) tutor_utils()->avalue_dot( '_lesson_thumbnail_id', $_POST );
|
162 |
|
163 |
if ( ! tutils()->can_user_manage( 'topic', $topic_id ) ) {
|
164 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
214 |
public function tutor_delete_lesson_by_id() {
|
215 |
tutils()->checking_nonce();
|
216 |
|
217 |
+
$lesson_id = (int) tutor_utils()->avalue_dot( 'lesson_id', $_POST );
|
218 |
|
219 |
if ( ! tutils()->can_user_manage( 'lesson', $lesson_id ) ) {
|
220 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
310 |
die( __( 'Please Sign-In', 'tutor' ) );
|
311 |
}
|
312 |
|
313 |
+
$lesson_id = (int) $_POST['lesson_id'];
|
314 |
|
315 |
do_action( 'tutor_lesson_completed_before', $lesson_id );
|
316 |
/**
|
327 |
public function tutor_render_lesson_content() {
|
328 |
tutils()->checking_nonce();
|
329 |
|
330 |
+
$lesson_id = (int) tutor_utils()->avalue_dot( 'lesson_id', $_POST );
|
331 |
|
332 |
$ancestors = get_post_ancestors( $lesson_id );
|
333 |
$course_id = ! empty( $ancestors ) ? array_pop( $ancestors ) : $lesson_id;
|
classes/Options.php
CHANGED
@@ -105,7 +105,8 @@ class Options {
|
|
105 |
'external_url' => __('External URL', 'tutor'),
|
106 |
'youtube' => __('Youtube', 'tutor'),
|
107 |
'vimeo' => __('Vimeo', 'tutor'),
|
108 |
-
'embedded' => __('Embedded', 'tutor')
|
|
|
109 |
);
|
110 |
|
111 |
$course_filters = array(
|
105 |
'external_url' => __('External URL', 'tutor'),
|
106 |
'youtube' => __('Youtube', 'tutor'),
|
107 |
'vimeo' => __('Vimeo', 'tutor'),
|
108 |
+
'embedded' => __('Embedded', 'tutor'),
|
109 |
+
'shortcode' => __('Shortcode', 'tutor')
|
110 |
);
|
111 |
|
112 |
$course_filters = array(
|
classes/Q_and_A.php
CHANGED
@@ -24,7 +24,7 @@ class Q_and_A {
|
|
24 |
|
25 |
$answer = wp_kses_post($_POST['answer']);
|
26 |
if (!empty($answer)) {
|
27 |
-
$question_id = (int)
|
28 |
$question = tutor_utils()->get_qa_question($question_id);
|
29 |
|
30 |
$user_id = get_current_user_id();
|
24 |
|
25 |
$answer = wp_kses_post($_POST['answer']);
|
26 |
if (!empty($answer)) {
|
27 |
+
$question_id = (int) $_POST['question_id'];
|
28 |
$question = tutor_utils()->get_qa_question($question_id);
|
29 |
|
30 |
$user_id = get_current_user_id();
|
classes/Quiz.php
CHANGED
@@ -176,7 +176,7 @@ class Quiz {
|
|
176 |
$user_id = get_current_user_id();
|
177 |
$user = get_userdata( $user_id );
|
178 |
|
179 |
-
$quiz_id = (int)
|
180 |
|
181 |
$quiz = get_post( $quiz_id );
|
182 |
$course = tutor_utils()->get_course_by_quiz( $quiz_id );
|
@@ -283,7 +283,7 @@ class Quiz {
|
|
283 |
public static function tutor_quiz_attemp_submit() {
|
284 |
tutor_utils()->checking_nonce();
|
285 |
|
286 |
-
$attempt_id = (int)
|
287 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
288 |
$course_id = tutor_utils()->get_course_by_quiz( $attempt->quiz_id )->ID;
|
289 |
|
@@ -491,7 +491,7 @@ class Quiz {
|
|
491 |
|
492 |
global $wpdb;
|
493 |
|
494 |
-
$quiz_id = (int)
|
495 |
$attempt = tutor_utils()->is_started_quiz( $quiz_id );
|
496 |
$attempt_id = $attempt->attempt_id;
|
497 |
|
@@ -517,7 +517,7 @@ class Quiz {
|
|
517 |
|
518 |
global $wpdb;
|
519 |
|
520 |
-
$quiz_id = (int)
|
521 |
|
522 |
// if(!tutils()->can_user_manage('quiz', $quiz_id)) {
|
523 |
// wp_send_json_error( array('message'=>__('Access Denied', 'tutor')) );
|
@@ -552,8 +552,8 @@ class Quiz {
|
|
552 |
|
553 |
global $wpdb;
|
554 |
|
555 |
-
$attempt_id = (int)
|
556 |
-
$attempt_answer_id = (int)
|
557 |
$mark_as = sanitize_text_field( $_GET['mark_as'] );
|
558 |
|
559 |
if ( ! tutils()->can_user_manage( 'attempt', $attempt_id ) || ! tutils()->can_user_manage( 'attempt_answer', $attempt_answer_id ) ) {
|
@@ -673,15 +673,15 @@ class Quiz {
|
|
673 |
|
674 |
ob_start();
|
675 |
?>
|
676 |
-
<div id="tutor-quiz-<?php echo esc_attr( $quiz_id ); ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo $quiz_id; ?>">
|
677 |
<div class="tutor-lesson-top">
|
678 |
<i class="tutor-icon-move"></i>
|
679 |
-
<a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo $quiz_id; ?>" data-topic-id="<?php echo $topic_id; ?>">
|
680 |
<i class=" tutor-icon-doubt"></i>[<?php _e( 'QUIZ', 'tutor' ); ?>]
|
681 |
<?php echo stripslashes( $quiz_title ); ?>
|
682 |
</a>
|
683 |
<?php do_action( 'tutor_course_builder_before_quiz_btn_action', $quiz_id ); ?>
|
684 |
-
<a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo $quiz_id; ?>"><i class="tutor-icon-garbage"></i></a>
|
685 |
</div>
|
686 |
</div>
|
687 |
<?php
|
@@ -700,7 +700,7 @@ class Quiz {
|
|
700 |
|
701 |
global $wpdb;
|
702 |
|
703 |
-
$quiz_id = (int)
|
704 |
$post = get_post( $quiz_id );
|
705 |
|
706 |
if ( ! tutils()->can_user_manage( 'quiz', $quiz_id ) ) {
|
@@ -847,7 +847,7 @@ class Quiz {
|
|
847 |
|
848 |
global $wpdb;
|
849 |
|
850 |
-
$question_data =
|
851 |
|
852 |
foreach ( $question_data as $question_id => $question ) {
|
853 |
|
@@ -948,7 +948,7 @@ class Quiz {
|
|
948 |
public function tutor_quiz_edit_question_answer() {
|
949 |
tutils()->checking_nonce();
|
950 |
|
951 |
-
$answer_id = (int)
|
952 |
|
953 |
if ( ! tutils()->can_user_manage( 'quiz_answer', $answer_id ) ) {
|
954 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
@@ -1076,7 +1076,7 @@ class Quiz {
|
|
1076 |
|
1077 |
global $wpdb;
|
1078 |
|
1079 |
-
$answer_id = (int)
|
1080 |
|
1081 |
if ( ! tutils()->can_user_manage( 'quiz_answer', $answer_id ) ) {
|
1082 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
@@ -1166,13 +1166,13 @@ class Quiz {
|
|
1166 |
if ( $question_type === 'true_false' || $question_type === 'single_choice' ) {
|
1167 |
?>
|
1168 |
<span class="tutor-quiz-answers-mark-correct-wrap">
|
1169 |
-
<input type="radio" name="mark_as_correct[<?php echo $answer->belongs_question_id; ?>]" value="<?php echo $answer->answer_id; ?>" title="<?php _e( 'Mark as correct', 'tutor' ); ?>" <?php checked( 1, $answer->is_correct ); ?> >
|
1170 |
</span>
|
1171 |
<?php
|
1172 |
} elseif ( $question_type === 'multiple_choice' ) {
|
1173 |
?>
|
1174 |
<span class="tutor-quiz-answers-mark-correct-wrap">
|
1175 |
-
<input type="checkbox" name="mark_as_correct[<?php echo $answer->belongs_question_id; ?>]" value="<?php echo $answer->answer_id; ?>" title="<?php _e( 'Mark as correct', 'tutor' ); ?>" <?php checked( 1, $answer->is_correct ); ?> >
|
1176 |
</span>
|
1177 |
<?php
|
1178 |
}
|
@@ -1319,7 +1319,7 @@ class Quiz {
|
|
1319 |
|
1320 |
tutils()->checking_nonce();
|
1321 |
|
1322 |
-
$quiz_id = (int)
|
1323 |
|
1324 |
if ( ! tutils()->has_enrolled_content_access( 'quiz', $quiz_id ) ) {
|
1325 |
wp_send_json_error( array( 'message' => __( 'Access Denied.', 'tutor' ) ) );
|
176 |
$user_id = get_current_user_id();
|
177 |
$user = get_userdata( $user_id );
|
178 |
|
179 |
+
$quiz_id = (int) $_POST['quiz_id'];
|
180 |
|
181 |
$quiz = get_post( $quiz_id );
|
182 |
$course = tutor_utils()->get_course_by_quiz( $quiz_id );
|
283 |
public static function tutor_quiz_attemp_submit() {
|
284 |
tutor_utils()->checking_nonce();
|
285 |
|
286 |
+
$attempt_id = (int) tutor_utils()->avalue_dot( 'attempt_id', $_POST );
|
287 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
288 |
$course_id = tutor_utils()->get_course_by_quiz( $attempt->quiz_id )->ID;
|
289 |
|
491 |
|
492 |
global $wpdb;
|
493 |
|
494 |
+
$quiz_id = (int) $_POST['quiz_id'];
|
495 |
$attempt = tutor_utils()->is_started_quiz( $quiz_id );
|
496 |
$attempt_id = $attempt->attempt_id;
|
497 |
|
517 |
|
518 |
global $wpdb;
|
519 |
|
520 |
+
$quiz_id = (int) $_POST['quiz_id'];
|
521 |
|
522 |
// if(!tutils()->can_user_manage('quiz', $quiz_id)) {
|
523 |
// wp_send_json_error( array('message'=>__('Access Denied', 'tutor')) );
|
552 |
|
553 |
global $wpdb;
|
554 |
|
555 |
+
$attempt_id = (int) $_GET['attempt_id'];
|
556 |
+
$attempt_answer_id = (int) $_GET['attempt_answer_id'];
|
557 |
$mark_as = sanitize_text_field( $_GET['mark_as'] );
|
558 |
|
559 |
if ( ! tutils()->can_user_manage( 'attempt', $attempt_id ) || ! tutils()->can_user_manage( 'attempt_answer', $attempt_answer_id ) ) {
|
673 |
|
674 |
ob_start();
|
675 |
?>
|
676 |
+
<div id="tutor-quiz-<?php echo esc_attr( $quiz_id ); ?>" class="course-content-item tutor-quiz tutor-quiz-<?php echo esc_attr( $quiz_id ); ?>">
|
677 |
<div class="tutor-lesson-top">
|
678 |
<i class="tutor-icon-move"></i>
|
679 |
+
<a href="javascript:;" class="open-tutor-quiz-modal" data-quiz-id="<?php echo esc_attr( $quiz_id ); ?>" data-topic-id="<?php echo esc_attr( $topic_id ); ?>">
|
680 |
<i class=" tutor-icon-doubt"></i>[<?php _e( 'QUIZ', 'tutor' ); ?>]
|
681 |
<?php echo stripslashes( $quiz_title ); ?>
|
682 |
</a>
|
683 |
<?php do_action( 'tutor_course_builder_before_quiz_btn_action', $quiz_id ); ?>
|
684 |
+
<a href="javascript:;" class="tutor-delete-quiz-btn" data-quiz-id="<?php echo esc_attr( $quiz_id ); ?>"><i class="tutor-icon-garbage"></i></a>
|
685 |
</div>
|
686 |
</div>
|
687 |
<?php
|
700 |
|
701 |
global $wpdb;
|
702 |
|
703 |
+
$quiz_id = (int) $_POST['quiz_id'];
|
704 |
$post = get_post( $quiz_id );
|
705 |
|
706 |
if ( ! tutils()->can_user_manage( 'quiz', $quiz_id ) ) {
|
847 |
|
848 |
global $wpdb;
|
849 |
|
850 |
+
$question_data = $_POST['tutor_quiz_question'];
|
851 |
|
852 |
foreach ( $question_data as $question_id => $question ) {
|
853 |
|
948 |
public function tutor_quiz_edit_question_answer() {
|
949 |
tutils()->checking_nonce();
|
950 |
|
951 |
+
$answer_id = (int) $_POST['answer_id'];
|
952 |
|
953 |
if ( ! tutils()->can_user_manage( 'quiz_answer', $answer_id ) ) {
|
954 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
1076 |
|
1077 |
global $wpdb;
|
1078 |
|
1079 |
+
$answer_id = (int) $_POST['tutor_quiz_answer_id'];
|
1080 |
|
1081 |
if ( ! tutils()->can_user_manage( 'quiz_answer', $answer_id ) ) {
|
1082 |
wp_send_json_error( array( 'message' => __( 'Access Denied', 'tutor' ) ) );
|
1166 |
if ( $question_type === 'true_false' || $question_type === 'single_choice' ) {
|
1167 |
?>
|
1168 |
<span class="tutor-quiz-answers-mark-correct-wrap">
|
1169 |
+
<input type="radio" name="mark_as_correct[<?php echo esc_attr( $answer->belongs_question_id ); ?>]" value="<?php echo esc_attr( $answer->answer_id ); ?>" title="<?php _e( 'Mark as correct', 'tutor' ); ?>" <?php checked( 1, $answer->is_correct ); ?> >
|
1170 |
</span>
|
1171 |
<?php
|
1172 |
} elseif ( $question_type === 'multiple_choice' ) {
|
1173 |
?>
|
1174 |
<span class="tutor-quiz-answers-mark-correct-wrap">
|
1175 |
+
<input type="checkbox" name="mark_as_correct[<?php echo esc_attr( $answer->belongs_question_id ); ?>]" value="<?php echo esc_attr( $answer->answer_id ); ?>" title="<?php _e( 'Mark as correct', 'tutor' ); ?>" <?php checked( 1, $answer->is_correct ); ?> >
|
1176 |
</span>
|
1177 |
<?php
|
1178 |
}
|
1319 |
|
1320 |
tutils()->checking_nonce();
|
1321 |
|
1322 |
+
$quiz_id = (int) tutor_utils()->avalue_dot( 'quiz_id', $_POST );
|
1323 |
|
1324 |
if ( ! tutils()->has_enrolled_content_access( 'quiz', $quiz_id ) ) {
|
1325 |
wp_send_json_error( array( 'message' => __( 'Access Denied.', 'tutor' ) ) );
|
classes/Quiz_Attempts_List.php
CHANGED
@@ -38,7 +38,7 @@ class Quiz_Attempts_List extends \Tutor_List_Table {
|
|
38 |
function column_student( $item ) {
|
39 |
$actions = array();
|
40 |
|
41 |
-
$actions['answer'] = sprintf( '<a href="?page=%s&sub_page=%s&attempt_id=%s">' . __( 'Review', 'tutor' ) . '</a>', $_REQUEST['page'], 'view_attempt', $item->attempt_id );
|
42 |
// $actions['delete'] = sprintf('<a href="?page=%s&action=%s&attempt_id=%s">Delete</a>',$_REQUEST['page'],'delete',$item->attempt_id);
|
43 |
|
44 |
$quiz_title = '<p><strong>' . $item->display_name . '</strong></p>';
|
38 |
function column_student( $item ) {
|
39 |
$actions = array();
|
40 |
|
41 |
+
$actions['answer'] = sprintf( '<a href="?page=%s&sub_page=%s&attempt_id=%s">' . __( 'Review', 'tutor' ) . '</a>', sanitize_text_field( $_REQUEST['page'] ), 'view_attempt', $item->attempt_id );
|
42 |
// $actions['delete'] = sprintf('<a href="?page=%s&action=%s&attempt_id=%s">Delete</a>',$_REQUEST['page'],'delete',$item->attempt_id);
|
43 |
|
44 |
$quiz_title = '<p><strong>' . $item->display_name . '</strong></p>';
|
classes/Shortcode.php
CHANGED
@@ -162,7 +162,7 @@ class Shortcode {
|
|
162 |
|
163 |
private function prepare_instructor_list($current_page, $atts, $cat_ids = array(), $keyword = '') {
|
164 |
|
165 |
-
$limit = (int)
|
166 |
$page = $current_page - 1;
|
167 |
|
168 |
$instructors = tutor_utils()->get_instructors($limit*$page, $limit, $keyword, '', '', '', 'approved', $cat_ids);
|
@@ -243,7 +243,7 @@ class Shortcode {
|
|
243 |
tutor_utils()->checking_nonce();
|
244 |
|
245 |
$attributes = (array)tutils()->array_get('attributes', tutor_sanitize_data($_POST), array());
|
246 |
-
$current_page = (int)
|
247 |
$keyword = (string)sanitize_text_field(tutils()->array_get('keyword', $_POST, ''));
|
248 |
|
249 |
$category = (array)tutils()->array_get('category', tutor_sanitize_data($_POST), array());
|
162 |
|
163 |
private function prepare_instructor_list($current_page, $atts, $cat_ids = array(), $keyword = '') {
|
164 |
|
165 |
+
$limit = (int) tutils()->array_get('count', $atts, 9);
|
166 |
$page = $current_page - 1;
|
167 |
|
168 |
$instructors = tutor_utils()->get_instructors($limit*$page, $limit, $keyword, '', '', '', 'approved', $cat_ids);
|
243 |
tutor_utils()->checking_nonce();
|
244 |
|
245 |
$attributes = (array)tutils()->array_get('attributes', tutor_sanitize_data($_POST), array());
|
246 |
+
$current_page = (int) tutils()->array_get('current_page', $attributes, 1);
|
247 |
$keyword = (string)sanitize_text_field(tutils()->array_get('keyword', $_POST, ''));
|
248 |
|
249 |
$category = (array)tutils()->array_get('category', tutor_sanitize_data($_POST), array());
|
classes/Tutor_List_Table.php
CHANGED
@@ -397,7 +397,7 @@ class Tutor_List_Table {
|
|
397 |
}
|
398 |
|
399 |
$content = str_replace( 'OPTIONS_PLACEHOLDER', $options, $markup );
|
400 |
-
echo $content;
|
401 |
}
|
402 |
|
403 |
/**
|
@@ -421,7 +421,7 @@ class Tutor_List_Table {
|
|
421 |
$options .= '<option value="' . $order . '" ' . selected( $selected, $order, false ) . '> ' . __( $order, 'tutor' ) . ' </option>';
|
422 |
}
|
423 |
$content = str_replace( 'OPTION_PLACEHOLDER', $options, $markup );
|
424 |
-
echo $content;
|
425 |
}
|
426 |
/**
|
427 |
* @since 1.8.0
|
@@ -440,7 +440,7 @@ class Tutor_List_Table {
|
|
440 |
<i class="tutor-icon-calendar"></i>
|
441 |
</div>
|
442 |
';
|
443 |
-
echo $markup;
|
444 |
}
|
445 |
|
446 |
/**
|
@@ -599,7 +599,7 @@ class Tutor_List_Table {
|
|
599 |
|
600 |
$out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
|
601 |
|
602 |
-
return $out;
|
603 |
|
604 |
}
|
605 |
|
@@ -965,7 +965,7 @@ class Tutor_List_Table {
|
|
965 |
}
|
966 |
$this->_pagination = '<div class="tablenav-pages' . $page_class . '">' . $output . '</div>';
|
967 |
|
968 |
-
echo $this->_pagination;
|
969 |
}
|
970 |
|
971 |
/**
|
397 |
}
|
398 |
|
399 |
$content = str_replace( 'OPTIONS_PLACEHOLDER', $options, $markup );
|
400 |
+
echo $content;
|
401 |
}
|
402 |
|
403 |
/**
|
421 |
$options .= '<option value="' . $order . '" ' . selected( $selected, $order, false ) . '> ' . __( $order, 'tutor' ) . ' </option>';
|
422 |
}
|
423 |
$content = str_replace( 'OPTION_PLACEHOLDER', $options, $markup );
|
424 |
+
echo $content;
|
425 |
}
|
426 |
/**
|
427 |
* @since 1.8.0
|
440 |
<i class="tutor-icon-calendar"></i>
|
441 |
</div>
|
442 |
';
|
443 |
+
echo $markup;
|
444 |
}
|
445 |
|
446 |
/**
|
599 |
|
600 |
$out .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
|
601 |
|
602 |
+
return $out;
|
603 |
|
604 |
}
|
605 |
|
965 |
}
|
966 |
$this->_pagination = '<div class="tablenav-pages' . $page_class . '">' . $output . '</div>';
|
967 |
|
968 |
+
echo $this->_pagination;
|
969 |
}
|
970 |
|
971 |
/**
|
classes/Tutor_Setup.php
CHANGED
@@ -350,7 +350,7 @@ if ( ! defined( 'ABSPATH' ) )
|
|
350 |
$i++;
|
351 |
}
|
352 |
|
353 |
-
echo $html;
|
354 |
}
|
355 |
|
356 |
|
350 |
$i++;
|
351 |
}
|
352 |
|
353 |
+
echo tutor_kses_html( $html );
|
354 |
}
|
355 |
|
356 |
|
classes/Utils.php
CHANGED
@@ -1628,7 +1628,7 @@ class Utils {
|
|
1628 |
}
|
1629 |
|
1630 |
if ( $echo ) {
|
1631 |
-
echo $tutor_lesson_type_icon;
|
1632 |
}
|
1633 |
|
1634 |
return $tutor_lesson_type_icon;
|
@@ -1746,7 +1746,8 @@ class Utils {
|
|
1746 |
! empty( $video['source_external_url'] ) ||
|
1747 |
! empty( $video['source_youtube'] ) ||
|
1748 |
! empty( $video['source_vimeo'] ) ||
|
1749 |
-
! empty( $video['source_embedded'] )
|
|
|
1750 |
|
1751 |
return $not_empty ? $video : false;
|
1752 |
}
|
@@ -3262,7 +3263,7 @@ class Utils {
|
|
3262 |
$output .= '</div>';
|
3263 |
|
3264 |
if ( $echo ) {
|
3265 |
-
echo $output;
|
3266 |
}
|
3267 |
|
3268 |
return $output;
|
1628 |
}
|
1629 |
|
1630 |
if ( $echo ) {
|
1631 |
+
echo tutor_kses_html( $tutor_lesson_type_icon );
|
1632 |
}
|
1633 |
|
1634 |
return $tutor_lesson_type_icon;
|
1746 |
! empty( $video['source_external_url'] ) ||
|
1747 |
! empty( $video['source_youtube'] ) ||
|
1748 |
! empty( $video['source_vimeo'] ) ||
|
1749 |
+
! empty( $video['source_embedded'] ) ||
|
1750 |
+
! empty( $video['source_shortcode'] );
|
1751 |
|
1752 |
return $not_empty ? $video : false;
|
1753 |
}
|
3263 |
$output .= '</div>';
|
3264 |
|
3265 |
if ( $echo ) {
|
3266 |
+
echo tutor_kses_html( $output );
|
3267 |
}
|
3268 |
|
3269 |
return $output;
|
classes/Video_Stream.php
CHANGED
@@ -121,7 +121,7 @@ class Video_Stream {
|
|
121 |
}
|
122 |
// $data = fread($this->stream, $bytesToRead);
|
123 |
$data = @stream_get_contents( $this->stream, $bytesToRead, $i );
|
124 |
-
echo $data;
|
125 |
flush();
|
126 |
$i += $bytesToRead;
|
127 |
}
|
121 |
}
|
122 |
// $data = fread($this->stream, $bytesToRead);
|
123 |
$data = @stream_get_contents( $this->stream, $bytesToRead, $i );
|
124 |
+
echo $data;
|
125 |
flush();
|
126 |
$i += $bytesToRead;
|
127 |
}
|
classes/Withdraw_Requests_List.php
CHANGED
@@ -138,7 +138,7 @@ class Withdraw_Requests_List extends \Tutor_List_Table {
|
|
138 |
$should_withdraw_delete = apply_filters( 'tutor_should_withdraw_delete', true );
|
139 |
|
140 |
if ( $should_withdraw_delete ) {
|
141 |
-
$withdraw_id = (int)
|
142 |
|
143 |
do_action( 'tutor_before_delete_withdraw', $withdraw_id );
|
144 |
|
@@ -156,7 +156,7 @@ class Withdraw_Requests_List extends \Tutor_List_Table {
|
|
156 |
* Reject Withdraw
|
157 |
*/
|
158 |
if ( 'approved' === $this->current_action() ) {
|
159 |
-
$withdraw_id = (int)
|
160 |
$withdraw = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}tutor_withdraws WHERE withdraw_id = %d ", $withdraw_id ) );
|
161 |
if ( ! $withdraw || $withdraw->status === 'approved' ) {
|
162 |
return;
|
@@ -182,7 +182,7 @@ class Withdraw_Requests_List extends \Tutor_List_Table {
|
|
182 |
* Rejected
|
183 |
*/
|
184 |
if ( 'rejected' === $this->current_action() ) {
|
185 |
-
$withdraw_id = (int)
|
186 |
$withdraw = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}tutor_withdraws WHERE withdraw_id = %d ", $withdraw_id ) );
|
187 |
if ( ! $withdraw || $withdraw->status === 'rejected' ) {
|
188 |
return;
|
138 |
$should_withdraw_delete = apply_filters( 'tutor_should_withdraw_delete', true );
|
139 |
|
140 |
if ( $should_withdraw_delete ) {
|
141 |
+
$withdraw_id = (int) $_GET['withdraw_id'];
|
142 |
|
143 |
do_action( 'tutor_before_delete_withdraw', $withdraw_id );
|
144 |
|
156 |
* Reject Withdraw
|
157 |
*/
|
158 |
if ( 'approved' === $this->current_action() ) {
|
159 |
+
$withdraw_id = (int) $_GET['withdraw_id'];
|
160 |
$withdraw = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}tutor_withdraws WHERE withdraw_id = %d ", $withdraw_id ) );
|
161 |
if ( ! $withdraw || $withdraw->status === 'approved' ) {
|
162 |
return;
|
182 |
* Rejected
|
183 |
*/
|
184 |
if ( 'rejected' === $this->current_action() ) {
|
185 |
+
$withdraw_id = (int) $_GET['withdraw_id'];
|
186 |
$withdraw = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}tutor_withdraws WHERE withdraw_id = %d ", $withdraw_id ) );
|
187 |
if ( ! $withdraw || $withdraw->status === 'rejected' ) {
|
188 |
return;
|
classes/WooCommerce.php
CHANGED
@@ -144,7 +144,7 @@ class WooCommerce extends Tutor_Base {
|
|
144 |
ob_start();
|
145 |
?>
|
146 |
<div class="price">
|
147 |
-
<?php echo $product->get_price_html();
|
148 |
</div>
|
149 |
<?php
|
150 |
return ob_get_clean();
|
@@ -185,7 +185,7 @@ class WooCommerce extends Tutor_Base {
|
|
185 |
* Save course meta for attaching product
|
186 |
*/
|
187 |
public function save_course_meta( $post_ID ) {
|
188 |
-
$product_id = (int)
|
189 |
|
190 |
if ( $product_id === -1 ) {
|
191 |
delete_post_meta( $post_ID, '_tutor_course_product_id' );
|
144 |
ob_start();
|
145 |
?>
|
146 |
<div class="price">
|
147 |
+
<?php echo $product->get_price_html(); ?>
|
148 |
</div>
|
149 |
<?php
|
150 |
return ob_get_clean();
|
185 |
* Save course meta for attaching product
|
186 |
*/
|
187 |
public function save_course_meta( $post_ID ) {
|
188 |
+
$product_id = (int) tutor_utils()->avalue_dot( '_tutor_course_product_id', $_POST, 0 );
|
189 |
|
190 |
if ( $product_id === -1 ) {
|
191 |
delete_post_meta( $post_ID, '_tutor_course_product_id' );
|
includes/tutor-general-functions.php
CHANGED
@@ -422,14 +422,14 @@ if ( ! function_exists( 'course_builder_section_wrap' ) ) {
|
|
422 |
<h3><i class="tutor-icon-down"></i> <span><?php echo $title; ?></span></h3>
|
423 |
</div>
|
424 |
<div class="tutor-course-builder-section-content">
|
425 |
-
<?php echo $content;
|
426 |
</div>
|
427 |
</div>
|
428 |
<?php
|
429 |
$html = ob_get_clean();
|
430 |
|
431 |
if ( $echo ) {
|
432 |
-
echo $html;
|
433 |
} else {
|
434 |
return $html;
|
435 |
}
|
@@ -581,7 +581,7 @@ if ( ! function_exists( 'tutor_alert' ) ) {
|
|
581 |
$html = '<div class="tutor-alert tutor-alert-' . $type . '">' . $msg . '</div>';
|
582 |
|
583 |
if ( $echo ) {
|
584 |
-
echo $html;
|
585 |
}
|
586 |
return $html;
|
587 |
}
|
@@ -686,7 +686,7 @@ if ( ! function_exists( 'tutor_action_field' ) ) {
|
|
686 |
}
|
687 |
|
688 |
if ( $echo ) {
|
689 |
-
echo $output;
|
690 |
} else {
|
691 |
return $output;
|
692 |
}
|
@@ -796,4 +796,44 @@ if ( ! function_exists( 'tutor_get_formated_date' ) ) {
|
|
796 |
}
|
797 |
}
|
798 |
|
|
|
|
|
|
|
|
|
799 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
<h3><i class="tutor-icon-down"></i> <span><?php echo $title; ?></span></h3>
|
423 |
</div>
|
424 |
<div class="tutor-course-builder-section-content">
|
425 |
+
<?php echo $content; ?>
|
426 |
</div>
|
427 |
</div>
|
428 |
<?php
|
429 |
$html = ob_get_clean();
|
430 |
|
431 |
if ( $echo ) {
|
432 |
+
echo tutor_kses_html( $html );
|
433 |
} else {
|
434 |
return $html;
|
435 |
}
|
581 |
$html = '<div class="tutor-alert tutor-alert-' . $type . '">' . $msg . '</div>';
|
582 |
|
583 |
if ( $echo ) {
|
584 |
+
echo tutor_kses_html( $html );
|
585 |
}
|
586 |
return $html;
|
587 |
}
|
686 |
}
|
687 |
|
688 |
if ( $echo ) {
|
689 |
+
echo tutor_kses_html( $output );
|
690 |
} else {
|
691 |
return $output;
|
692 |
}
|
796 |
}
|
797 |
}
|
798 |
|
799 |
+
if(!function_exists('tutor_kses_allowed_html')) {
|
800 |
+
function tutor_kses_allowed_html($allowed_tags, $context) {
|
801 |
+
$tags = array('input', 'style', 'script', 'select', 'form', 'option', 'optgroup', 'iframe', 'bdi');
|
802 |
+
$atts = array('min', 'max', 'maxlength', 'type', 'method', 'enctype', 'action', 'selected', 'class', 'id', 'disabled', 'checked', 'readonly', 'name', 'aria-*', 'style', 'role', 'placeholder', 'value', 'data-*', 'src', 'width', 'height', 'frameborder', 'allow', 'title');
|
803 |
|
804 |
+
foreach($tags as $tag) {
|
805 |
+
$tag_attrs = array();
|
806 |
+
|
807 |
+
foreach($atts as $att) {
|
808 |
+
$tag_attrs[$att] = true;
|
809 |
+
}
|
810 |
+
|
811 |
+
$allowed_tags[$tag] = $tag_attrs;
|
812 |
+
}
|
813 |
+
|
814 |
+
return $allowed_tags;
|
815 |
+
}
|
816 |
+
}
|
817 |
+
|
818 |
+
if(!function_exists('tutor_kses_allowed_css')) {
|
819 |
+
function tutor_kses_allowed_css( $styles ) {
|
820 |
+
$styles[] = 'display';
|
821 |
+
return $styles;
|
822 |
+
}
|
823 |
+
}
|
824 |
+
|
825 |
+
if(!function_exists('tutor_kses_html')) {
|
826 |
+
function tutor_kses_html( $content ) {
|
827 |
+
add_filter( 'wp_kses_allowed_html', 'tutor_kses_allowed_html', 10, 2 );
|
828 |
+
add_filter( 'safe_style_css', 'tutor_kses_allowed_css' );
|
829 |
+
|
830 |
+
$content = preg_replace('/<!--(.|\s)*?-->/', '', $content);
|
831 |
+
$content = wp_kses_post( $content );
|
832 |
+
$content = str_replace('&', '&', $content);
|
833 |
+
|
834 |
+
remove_filter( 'safe_style_css', 'tutor_kses_allowed_css' );
|
835 |
+
remove_filter( 'wp_kses_allowed_html', 'tutor_kses_allowed_html' );
|
836 |
+
|
837 |
+
return $content;
|
838 |
+
}
|
839 |
+
}
|
includes/tutor-template-functions.php
CHANGED
@@ -176,7 +176,7 @@ if ( ! function_exists( 'tutor_course_loop_start' ) ) {
|
|
176 |
$output = apply_filters( 'tutor_course_loop_start', ob_get_clean() );
|
177 |
|
178 |
if ( $echo ) {
|
179 |
-
echo $output;
|
180 |
}
|
181 |
return $output;
|
182 |
}
|
@@ -189,7 +189,7 @@ if ( ! function_exists( 'tutor_course_loop_end' ) ) {
|
|
189 |
|
190 |
$output = apply_filters( 'tutor_course_loop_end', ob_get_clean() );
|
191 |
if ( $echo ) {
|
192 |
-
echo $output;
|
193 |
}
|
194 |
|
195 |
return $output;
|
@@ -203,7 +203,7 @@ if ( ! function_exists( 'tutor_course_archive_pagination' ) ) {
|
|
203 |
|
204 |
$output = apply_filters( 'tutor_course_archive_pagination', ob_get_clean() );
|
205 |
if ( $echo ) {
|
206 |
-
echo $output;
|
207 |
}
|
208 |
|
209 |
return $output;
|
@@ -215,7 +215,7 @@ function tutor_course_loop_before_content() {
|
|
215 |
tutor_load_template( 'loop.loop-before-content' );
|
216 |
|
217 |
$output = apply_filters( 'tutor_course_loop_before_content', ob_get_clean() );
|
218 |
-
echo $output;
|
219 |
}
|
220 |
|
221 |
function tutor_course_loop_after_content() {
|
@@ -223,7 +223,7 @@ function tutor_course_loop_after_content() {
|
|
223 |
tutor_load_template( 'loop.loop-after-content' );
|
224 |
|
225 |
$output = apply_filters( 'tutor_course_loop_after_content', ob_get_clean() );
|
226 |
-
echo $output;
|
227 |
}
|
228 |
|
229 |
if ( ! function_exists( 'tutor_course_loop_title' ) ) {
|
@@ -232,7 +232,7 @@ if ( ! function_exists( 'tutor_course_loop_title' ) ) {
|
|
232 |
tutor_load_template( 'loop.title' );
|
233 |
$output = apply_filters( 'tutor_course_loop_title', ob_get_clean() );
|
234 |
|
235 |
-
echo $output;
|
236 |
}
|
237 |
}
|
238 |
|
@@ -243,7 +243,7 @@ if ( ! function_exists( 'tutor_course_loop_header' ) ) {
|
|
243 |
tutor_load_template( 'loop.header' );
|
244 |
$output = apply_filters( 'tutor_course_loop_header', ob_get_clean() );
|
245 |
|
246 |
-
echo $output;
|
247 |
}
|
248 |
}
|
249 |
|
@@ -253,7 +253,7 @@ if ( ! function_exists( 'tutor_course_loop_footer' ) ) {
|
|
253 |
tutor_load_template( 'loop.footer' );
|
254 |
$output = apply_filters( 'tutor_course_loop_footer', ob_get_clean() );
|
255 |
|
256 |
-
echo $output;
|
257 |
}
|
258 |
}
|
259 |
|
@@ -266,7 +266,7 @@ if ( ! function_exists( 'tutor_course_loop_start_content_wrap' ) ) {
|
|
266 |
tutor_load_template( 'loop.start_content_wrap' );
|
267 |
$output = apply_filters( 'tutor_course_loop_start_content_wrap', ob_get_clean() );
|
268 |
|
269 |
-
echo $output;
|
270 |
}
|
271 |
}
|
272 |
|
@@ -276,7 +276,7 @@ if ( ! function_exists( 'tutor_course_loop_end_content_wrap' ) ) {
|
|
276 |
tutor_load_template( 'loop.end_content_wrap' );
|
277 |
$output = apply_filters( 'tutor_course_loop_end_content_wrap', ob_get_clean() );
|
278 |
|
279 |
-
echo $output;
|
280 |
}
|
281 |
}
|
282 |
|
@@ -287,7 +287,7 @@ if ( ! function_exists( 'tutor_course_loop_thumbnail' ) ) {
|
|
287 |
$output = apply_filters( 'tutor_course_loop_thumbnail', ob_get_clean() );
|
288 |
|
289 |
if ( $echo ) {
|
290 |
-
echo $output;
|
291 |
} else {
|
292 |
return $output;
|
293 |
}
|
@@ -377,7 +377,7 @@ if ( ! function_exists( 'tutor_course_archive_filter_bar' ) ) {
|
|
377 |
tutor_load_template( 'global.course-archive-filter-bar' );
|
378 |
$output = apply_filters( 'tutor_course_archive_filter_bar', ob_get_clean() );
|
379 |
|
380 |
-
echo $output;
|
381 |
}
|
382 |
}
|
383 |
|
@@ -436,7 +436,7 @@ if ( ! function_exists( 'get_tutor_course_thumbnail' ) ) {
|
|
436 |
$html = sprintf( '<img alt="%s" src="' . $placeHolderUrl . '" />', __( 'Placeholder', 'tutor' ) );
|
437 |
}
|
438 |
|
439 |
-
echo $html;
|
440 |
}
|
441 |
}
|
442 |
/**
|
@@ -464,7 +464,7 @@ if ( ! function_exists( 'tutor_course_loop_meta' ) ) {
|
|
464 |
tutor_load_template( 'loop.meta' );
|
465 |
$output = apply_filters( 'tutor_course_loop_meta', ob_get_clean() );
|
466 |
|
467 |
-
echo $output;
|
468 |
}
|
469 |
}
|
470 |
|
@@ -480,7 +480,7 @@ if ( ! function_exists( 'tutor_course_loop_author' ) ) {
|
|
480 |
tutor_load_template( 'loop.course-author' );
|
481 |
$output = apply_filters( 'tutor_course_loop_author', ob_get_clean() );
|
482 |
|
483 |
-
echo $output;
|
484 |
}
|
485 |
}
|
486 |
|
@@ -528,7 +528,7 @@ if ( ! function_exists( 'tutor_course_loop_rating' ) ) {
|
|
528 |
tutor_load_template( 'loop.rating' );
|
529 |
$output = apply_filters( 'tutor_course_loop_rating', ob_get_clean() );
|
530 |
|
531 |
-
echo $output;
|
532 |
}
|
533 |
}
|
534 |
|
@@ -552,7 +552,7 @@ if ( ! function_exists( 'tutor_course_loop_add_to_cart' ) ) {
|
|
552 |
$output = apply_filters( 'tutor_course_loop_add_to_cart_link', ob_get_clean() );
|
553 |
|
554 |
if ( $echo ) {
|
555 |
-
echo $output;
|
556 |
}
|
557 |
return $output;
|
558 |
}
|
@@ -564,7 +564,7 @@ if ( ! function_exists( 'tutor_course_price' ) ) {
|
|
564 |
tutor_load_template( 'single.course.wc-price-html' );
|
565 |
$output = apply_filters( 'tutor_course_price', ob_get_clean() );
|
566 |
|
567 |
-
echo $output;
|
568 |
}
|
569 |
}
|
570 |
|
@@ -667,7 +667,7 @@ if ( ! function_exists( 'tutor_course_benefits_html' ) ) {
|
|
667 |
$output = apply_filters( 'tutor_course/single/benefits_html', ob_get_clean() );
|
668 |
|
669 |
if ( $echo ) {
|
670 |
-
echo $output;
|
671 |
}
|
672 |
return $output;
|
673 |
}
|
@@ -690,7 +690,7 @@ if ( ! function_exists( 'tutor_course_topics' ) ) {
|
|
690 |
wp_reset_postdata();
|
691 |
|
692 |
if ( $echo ) {
|
693 |
-
echo $output;
|
694 |
}
|
695 |
|
696 |
return $output;
|
@@ -739,7 +739,7 @@ if ( ! function_exists( 'tutor_course_requirements_html' ) ) {
|
|
739 |
$output = apply_filters( 'tutor_course/single/requirements_html', ob_get_clean() );
|
740 |
|
741 |
if ( $echo ) {
|
742 |
-
echo $output;
|
743 |
}
|
744 |
return $output;
|
745 |
}
|
@@ -788,7 +788,7 @@ if ( ! function_exists( 'tutor_course_target_audience_html' ) ) {
|
|
788 |
$output = apply_filters( 'tutor_course/single/audience_html', ob_get_clean() );
|
789 |
|
790 |
if ( $echo ) {
|
791 |
-
echo $output;
|
792 |
}
|
793 |
return $output;
|
794 |
}
|
@@ -819,7 +819,7 @@ if ( ! function_exists( 'tutor_course_material_includes_html' ) ) {
|
|
819 |
$output = apply_filters( 'tutor_course/single/material_includes', ob_get_clean() );
|
820 |
|
821 |
if ( $echo ) {
|
822 |
-
echo $output;
|
823 |
}
|
824 |
return $output;
|
825 |
}
|
@@ -840,7 +840,7 @@ if ( ! function_exists( 'tutor_course_instructors_html' ) ) {
|
|
840 |
$output = apply_filters( 'tutor_course/single/instructors_html', ob_get_clean() );
|
841 |
|
842 |
if ( $echo ) {
|
843 |
-
echo $output;
|
844 |
}
|
845 |
return $output;
|
846 |
}
|
@@ -853,7 +853,7 @@ if ( ! function_exists( 'tutor_course_target_reviews_html' ) ) {
|
|
853 |
$output = apply_filters( 'tutor_course/single/reviews_html', ob_get_clean() );
|
854 |
|
855 |
if ( $echo ) {
|
856 |
-
echo $output;
|
857 |
}
|
858 |
return $output;
|
859 |
}
|
@@ -866,7 +866,7 @@ if ( ! function_exists( 'tutor_course_target_review_form_html' ) ) {
|
|
866 |
$output = apply_filters( 'tutor_review_disabled_text', '' );
|
867 |
|
868 |
if ( $echo ) {
|
869 |
-
echo $output;
|
870 |
}
|
871 |
return $output;
|
872 |
}
|
@@ -876,7 +876,7 @@ if ( ! function_exists( 'tutor_course_target_review_form_html' ) ) {
|
|
876 |
$output = apply_filters( 'tutor_course/single/reviews_form', ob_get_clean() );
|
877 |
|
878 |
if ( $echo ) {
|
879 |
-
echo $output;
|
880 |
}
|
881 |
return $output;
|
882 |
}
|
@@ -898,7 +898,7 @@ if ( ! function_exists( 'tutor_course_content' ) ) {
|
|
898 |
$output = apply_filters( 'tutor_course/single/content', ob_get_clean() );
|
899 |
|
900 |
if ( $echo ) {
|
901 |
-
echo $output;
|
902 |
}
|
903 |
|
904 |
return $output;
|
@@ -936,7 +936,7 @@ if ( ! function_exists( 'tutor_course_lead_info' ) ) {
|
|
936 |
$output = apply_filters( 'tutor_course/single/lead_info', ob_get_clean() );
|
937 |
|
938 |
if ( $echo ) {
|
939 |
-
echo $output;
|
940 |
}
|
941 |
return $output;
|
942 |
}
|
@@ -972,7 +972,7 @@ if ( ! function_exists( 'tutor_course_enrolled_lead_info' ) ) {
|
|
972 |
$output = apply_filters( 'tutor_course/single/enrolled/lead_info', ob_get_clean() );
|
973 |
|
974 |
if ( $echo ) {
|
975 |
-
echo $output;
|
976 |
}
|
977 |
|
978 |
return $output;
|
@@ -1044,7 +1044,7 @@ if ( ! function_exists( 'tutor_course_enroll_box' ) ) {
|
|
1044 |
}
|
1045 |
|
1046 |
if ( $echo ) {
|
1047 |
-
echo $output;
|
1048 |
}
|
1049 |
|
1050 |
return $output;
|
@@ -1079,7 +1079,7 @@ function tutor_single_course_add_to_cart( $echo = true ) {
|
|
1079 |
}
|
1080 |
|
1081 |
if ( $echo ) {
|
1082 |
-
echo $output;
|
1083 |
}
|
1084 |
|
1085 |
return $output;
|
@@ -1118,7 +1118,7 @@ if ( ! function_exists( 'tutor_course_enrolled_nav' ) ) {
|
|
1118 |
$output = apply_filters( 'tutor_course/single/enrolled/nav', ob_get_clean() );
|
1119 |
|
1120 |
if ( $echo ) {
|
1121 |
-
echo $output;
|
1122 |
}
|
1123 |
return $output;
|
1124 |
}
|
@@ -1131,7 +1131,7 @@ if ( ! function_exists( 'tutor_course_video' ) ) {
|
|
1131 |
$output = apply_filters( 'tutor_course/single/video', ob_get_clean() );
|
1132 |
|
1133 |
if ( $echo ) {
|
1134 |
-
echo $output;
|
1135 |
}
|
1136 |
return $output;
|
1137 |
}
|
@@ -1144,7 +1144,7 @@ if ( ! function_exists( 'tutor_lesson_video' ) ) {
|
|
1144 |
$output = apply_filters( 'tutor_lesson/single/video', ob_get_clean() );
|
1145 |
|
1146 |
if ( $echo ) {
|
1147 |
-
echo $output;
|
1148 |
}
|
1149 |
return $output;
|
1150 |
}
|
@@ -1167,7 +1167,7 @@ if ( ! function_exists( 'get_tutor_posts_attachments' ) ) {
|
|
1167 |
$output = apply_filters( 'tutor_lesson/single/attachments', ob_get_clean() );
|
1168 |
|
1169 |
if ( $echo ) {
|
1170 |
-
echo $output;
|
1171 |
}
|
1172 |
return $output;
|
1173 |
}
|
@@ -1189,7 +1189,7 @@ if ( ! function_exists( 'tutor_lessons_sidebar' ) ) {
|
|
1189 |
$output = apply_filters( 'tutor_lesson/single/lesson_sidebar', ob_get_clean() );
|
1190 |
|
1191 |
if ( $echo ) {
|
1192 |
-
echo $output;
|
1193 |
}
|
1194 |
|
1195 |
return $output;
|
@@ -1211,7 +1211,7 @@ if ( ! function_exists( 'tutor_lesson_content' ) ) {
|
|
1211 |
$output = apply_filters( 'tutor_lesson/single/content', ob_get_clean() );
|
1212 |
|
1213 |
if ( $echo ) {
|
1214 |
-
echo $output;
|
1215 |
}
|
1216 |
|
1217 |
return $output;
|
@@ -1225,7 +1225,7 @@ if ( ! function_exists( 'tutor_lesson_mark_complete_html' ) ) {
|
|
1225 |
$output = apply_filters( 'tutor_lesson/single/complete_form', ob_get_clean() );
|
1226 |
|
1227 |
if ( $echo ) {
|
1228 |
-
echo $output;
|
1229 |
}
|
1230 |
|
1231 |
return $output;
|
@@ -1239,7 +1239,7 @@ if ( ! function_exists( 'tutor_course_mark_complete_html' ) ) {
|
|
1239 |
$output = apply_filters( 'tutor_course/single/complete_form', ob_get_clean() );
|
1240 |
|
1241 |
if ( $echo ) {
|
1242 |
-
echo $output;
|
1243 |
}
|
1244 |
|
1245 |
return $output;
|
@@ -1264,7 +1264,7 @@ if ( ! function_exists( 'tutor_course_completing_progress_bar' ) ) {
|
|
1264 |
$output = apply_filters( 'tutor_course/single/completing-progress-bar', ob_get_clean() );
|
1265 |
|
1266 |
if ( $echo ) {
|
1267 |
-
echo $output;
|
1268 |
}
|
1269 |
|
1270 |
return $output;
|
@@ -1277,7 +1277,7 @@ function tutor_course_question_and_answer( $echo = true ) {
|
|
1277 |
$output = apply_filters( 'tutor_course/single/question_and_answer', ob_get_clean() );
|
1278 |
|
1279 |
if ( $echo ) {
|
1280 |
-
echo $output;
|
1281 |
}
|
1282 |
|
1283 |
return $output;
|
@@ -1290,7 +1290,7 @@ function tutor_course_announcements( $echo = true ) {
|
|
1290 |
$output = apply_filters( 'tutor_course/single/announcements', ob_get_clean() );
|
1291 |
|
1292 |
if ( $echo ) {
|
1293 |
-
echo $output;
|
1294 |
}
|
1295 |
|
1296 |
return $output;
|
@@ -1302,7 +1302,7 @@ function tutor_single_quiz_top( $echo = true ) {
|
|
1302 |
$output = apply_filters( 'tutor_single_quiz/top', ob_get_clean() );
|
1303 |
|
1304 |
if ( $echo ) {
|
1305 |
-
echo $output;
|
1306 |
}
|
1307 |
return $output;
|
1308 |
}
|
@@ -1331,7 +1331,7 @@ function tutor_single_quiz_content( $echo = true ) {
|
|
1331 |
$output = apply_filters( 'tutor_single_quiz/content', ob_get_clean() );
|
1332 |
|
1333 |
if ( $echo ) {
|
1334 |
-
echo $output;
|
1335 |
}
|
1336 |
return $output;
|
1337 |
}
|
@@ -1343,7 +1343,7 @@ function tutor_single_quiz_no_course_belongs( $echo = true ) {
|
|
1343 |
$output = apply_filters( 'tutor_single_quiz/no_course_belongs', ob_get_clean() );
|
1344 |
|
1345 |
if ( $echo ) {
|
1346 |
-
echo $output;
|
1347 |
}
|
1348 |
return $output;
|
1349 |
}
|
@@ -1355,7 +1355,7 @@ function single_quiz_contents( $echo = true ) {
|
|
1355 |
$output = apply_filters( 'tutor_single_quiz/single_quiz_contents', ob_get_clean() );
|
1356 |
|
1357 |
if ( $echo ) {
|
1358 |
-
echo $output;
|
1359 |
}
|
1360 |
return $output;
|
1361 |
}
|
@@ -1454,7 +1454,7 @@ if ( ! function_exists( 'tutor_course_tags_html' ) ) {
|
|
1454 |
$output = apply_filters( 'tutor_course/single/tags_html', ob_get_clean() );
|
1455 |
|
1456 |
if ( $echo ) {
|
1457 |
-
echo $output;
|
1458 |
}
|
1459 |
|
1460 |
return $output;
|
@@ -1476,7 +1476,7 @@ if ( ! function_exists( 'tutor_lesson_sidebar_question_and_answer' ) ) {
|
|
1476 |
$output = apply_filters( 'tutor_lesson/single/sidebar_question_and_answer', ob_get_clean() );
|
1477 |
|
1478 |
if ( $echo ) {
|
1479 |
-
echo $output;
|
1480 |
}
|
1481 |
|
1482 |
return $output;
|
@@ -1505,7 +1505,7 @@ if ( ! function_exists( 'tutor_social_share' ) ) {
|
|
1505 |
|
1506 |
if ( $echo && $output != '' ) {
|
1507 |
echo '<span>' . __( 'Share:', 'tutor' ) . '</span>';
|
1508 |
-
echo $output;
|
1509 |
}
|
1510 |
|
1511 |
return $output;
|
@@ -1529,7 +1529,7 @@ if ( ! function_exists( 'tutor_assignment_content' ) ) {
|
|
1529 |
$output = apply_filters( 'tutor_assignment/single/content', ob_get_clean() );
|
1530 |
|
1531 |
if ( $echo ) {
|
1532 |
-
echo $output;
|
1533 |
}
|
1534 |
|
1535 |
return $output;
|
@@ -1588,31 +1588,12 @@ function tutor_next_previous_pagination( $course_content_id = 0, $echo = true )
|
|
1588 |
$output = apply_filters( 'tutor/single/next_previous_pagination', ob_get_clean() );
|
1589 |
|
1590 |
if ( $echo ) {
|
1591 |
-
echo $output;
|
1592 |
}
|
1593 |
|
1594 |
return $output;
|
1595 |
}
|
1596 |
|
1597 |
-
|
1598 |
-
/**
|
1599 |
-
* Required login form in archive page
|
1600 |
-
*
|
1601 |
-
* @param bool $echo
|
1602 |
-
* @since v 1.5.5
|
1603 |
-
*
|
1604 |
-
* @todo, it will be remove from 2.0.0
|
1605 |
-
*/
|
1606 |
-
function tutor_archive_course_add_to_cart( $echo = true ) {
|
1607 |
-
_deprecated_function( __FUNCTION__, '1.5.8' );
|
1608 |
-
|
1609 |
-
$output = '';
|
1610 |
-
if ( $echo ) {
|
1611 |
-
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
1612 |
-
}
|
1613 |
-
return $output;
|
1614 |
-
}
|
1615 |
-
|
1616 |
/**
|
1617 |
* @param bool $echo
|
1618 |
* @return string
|
@@ -1633,7 +1614,7 @@ if ( ! function_exists( 'tutor_login_form_popup' ) ) {
|
|
1633 |
$output = apply_filters( 'tutor_login_form_popup_html', $output );
|
1634 |
|
1635 |
if ( $echo ) {
|
1636 |
-
echo $output;
|
1637 |
}
|
1638 |
return $output;
|
1639 |
}
|
176 |
$output = apply_filters( 'tutor_course_loop_start', ob_get_clean() );
|
177 |
|
178 |
if ( $echo ) {
|
179 |
+
echo tutor_kses_html( $output );
|
180 |
}
|
181 |
return $output;
|
182 |
}
|
189 |
|
190 |
$output = apply_filters( 'tutor_course_loop_end', ob_get_clean() );
|
191 |
if ( $echo ) {
|
192 |
+
echo tutor_kses_html( $output );
|
193 |
}
|
194 |
|
195 |
return $output;
|
203 |
|
204 |
$output = apply_filters( 'tutor_course_archive_pagination', ob_get_clean() );
|
205 |
if ( $echo ) {
|
206 |
+
echo tutor_kses_html( $output );
|
207 |
}
|
208 |
|
209 |
return $output;
|
215 |
tutor_load_template( 'loop.loop-before-content' );
|
216 |
|
217 |
$output = apply_filters( 'tutor_course_loop_before_content', ob_get_clean() );
|
218 |
+
echo tutor_kses_html( $output );
|
219 |
}
|
220 |
|
221 |
function tutor_course_loop_after_content() {
|
223 |
tutor_load_template( 'loop.loop-after-content' );
|
224 |
|
225 |
$output = apply_filters( 'tutor_course_loop_after_content', ob_get_clean() );
|
226 |
+
echo tutor_kses_html( $output );
|
227 |
}
|
228 |
|
229 |
if ( ! function_exists( 'tutor_course_loop_title' ) ) {
|
232 |
tutor_load_template( 'loop.title' );
|
233 |
$output = apply_filters( 'tutor_course_loop_title', ob_get_clean() );
|
234 |
|
235 |
+
echo tutor_kses_html( $output );
|
236 |
}
|
237 |
}
|
238 |
|
243 |
tutor_load_template( 'loop.header' );
|
244 |
$output = apply_filters( 'tutor_course_loop_header', ob_get_clean() );
|
245 |
|
246 |
+
echo tutor_kses_html( $output );
|
247 |
}
|
248 |
}
|
249 |
|
253 |
tutor_load_template( 'loop.footer' );
|
254 |
$output = apply_filters( 'tutor_course_loop_footer', ob_get_clean() );
|
255 |
|
256 |
+
echo tutor_kses_html( $output );
|
257 |
}
|
258 |
}
|
259 |
|
266 |
tutor_load_template( 'loop.start_content_wrap' );
|
267 |
$output = apply_filters( 'tutor_course_loop_start_content_wrap', ob_get_clean() );
|
268 |
|
269 |
+
echo tutor_kses_html( $output );
|
270 |
}
|
271 |
}
|
272 |
|
276 |
tutor_load_template( 'loop.end_content_wrap' );
|
277 |
$output = apply_filters( 'tutor_course_loop_end_content_wrap', ob_get_clean() );
|
278 |
|
279 |
+
echo tutor_kses_html( $output );
|
280 |
}
|
281 |
}
|
282 |
|
287 |
$output = apply_filters( 'tutor_course_loop_thumbnail', ob_get_clean() );
|
288 |
|
289 |
if ( $echo ) {
|
290 |
+
echo tutor_kses_html( $output );
|
291 |
} else {
|
292 |
return $output;
|
293 |
}
|
377 |
tutor_load_template( 'global.course-archive-filter-bar' );
|
378 |
$output = apply_filters( 'tutor_course_archive_filter_bar', ob_get_clean() );
|
379 |
|
380 |
+
echo $output;
|
381 |
}
|
382 |
}
|
383 |
|
436 |
$html = sprintf( '<img alt="%s" src="' . $placeHolderUrl . '" />', __( 'Placeholder', 'tutor' ) );
|
437 |
}
|
438 |
|
439 |
+
echo tutor_kses_html( $html );
|
440 |
}
|
441 |
}
|
442 |
/**
|
464 |
tutor_load_template( 'loop.meta' );
|
465 |
$output = apply_filters( 'tutor_course_loop_meta', ob_get_clean() );
|
466 |
|
467 |
+
echo tutor_kses_html( $output );
|
468 |
}
|
469 |
}
|
470 |
|
480 |
tutor_load_template( 'loop.course-author' );
|
481 |
$output = apply_filters( 'tutor_course_loop_author', ob_get_clean() );
|
482 |
|
483 |
+
echo $output;
|
484 |
}
|
485 |
}
|
486 |
|
528 |
tutor_load_template( 'loop.rating' );
|
529 |
$output = apply_filters( 'tutor_course_loop_rating', ob_get_clean() );
|
530 |
|
531 |
+
echo tutor_kses_html( $output );
|
532 |
}
|
533 |
}
|
534 |
|
552 |
$output = apply_filters( 'tutor_course_loop_add_to_cart_link', ob_get_clean() );
|
553 |
|
554 |
if ( $echo ) {
|
555 |
+
echo wp_kses_post($output);
|
556 |
}
|
557 |
return $output;
|
558 |
}
|
564 |
tutor_load_template( 'single.course.wc-price-html' );
|
565 |
$output = apply_filters( 'tutor_course_price', ob_get_clean() );
|
566 |
|
567 |
+
echo $output;
|
568 |
}
|
569 |
}
|
570 |
|
667 |
$output = apply_filters( 'tutor_course/single/benefits_html', ob_get_clean() );
|
668 |
|
669 |
if ( $echo ) {
|
670 |
+
echo wp_kses_post($output);
|
671 |
}
|
672 |
return $output;
|
673 |
}
|
690 |
wp_reset_postdata();
|
691 |
|
692 |
if ( $echo ) {
|
693 |
+
echo tutor_kses_html( $output );
|
694 |
}
|
695 |
|
696 |
return $output;
|
739 |
$output = apply_filters( 'tutor_course/single/requirements_html', ob_get_clean() );
|
740 |
|
741 |
if ( $echo ) {
|
742 |
+
echo tutor_kses_html( $output );
|
743 |
}
|
744 |
return $output;
|
745 |
}
|
788 |
$output = apply_filters( 'tutor_course/single/audience_html', ob_get_clean() );
|
789 |
|
790 |
if ( $echo ) {
|
791 |
+
echo tutor_kses_html( $output );
|
792 |
}
|
793 |
return $output;
|
794 |
}
|
819 |
$output = apply_filters( 'tutor_course/single/material_includes', ob_get_clean() );
|
820 |
|
821 |
if ( $echo ) {
|
822 |
+
echo tutor_kses_html( $output );
|
823 |
}
|
824 |
return $output;
|
825 |
}
|
840 |
$output = apply_filters( 'tutor_course/single/instructors_html', ob_get_clean() );
|
841 |
|
842 |
if ( $echo ) {
|
843 |
+
echo tutor_kses_html( $output );
|
844 |
}
|
845 |
return $output;
|
846 |
}
|
853 |
$output = apply_filters( 'tutor_course/single/reviews_html', ob_get_clean() );
|
854 |
|
855 |
if ( $echo ) {
|
856 |
+
echo tutor_kses_html( $output );
|
857 |
}
|
858 |
return $output;
|
859 |
}
|
866 |
$output = apply_filters( 'tutor_review_disabled_text', '' );
|
867 |
|
868 |
if ( $echo ) {
|
869 |
+
echo tutor_kses_html( $output );
|
870 |
}
|
871 |
return $output;
|
872 |
}
|
876 |
$output = apply_filters( 'tutor_course/single/reviews_form', ob_get_clean() );
|
877 |
|
878 |
if ( $echo ) {
|
879 |
+
echo tutor_kses_html( $output );
|
880 |
}
|
881 |
return $output;
|
882 |
}
|
898 |
$output = apply_filters( 'tutor_course/single/content', ob_get_clean() );
|
899 |
|
900 |
if ( $echo ) {
|
901 |
+
echo tutor_kses_html( $output );
|
902 |
}
|
903 |
|
904 |
return $output;
|
936 |
$output = apply_filters( 'tutor_course/single/lead_info', ob_get_clean() );
|
937 |
|
938 |
if ( $echo ) {
|
939 |
+
echo tutor_kses_html( $output );
|
940 |
}
|
941 |
return $output;
|
942 |
}
|
972 |
$output = apply_filters( 'tutor_course/single/enrolled/lead_info', ob_get_clean() );
|
973 |
|
974 |
if ( $echo ) {
|
975 |
+
echo tutor_kses_html( $output );
|
976 |
}
|
977 |
|
978 |
return $output;
|
1044 |
}
|
1045 |
|
1046 |
if ( $echo ) {
|
1047 |
+
echo $output;
|
1048 |
}
|
1049 |
|
1050 |
return $output;
|
1079 |
}
|
1080 |
|
1081 |
if ( $echo ) {
|
1082 |
+
echo $output;
|
1083 |
}
|
1084 |
|
1085 |
return $output;
|
1118 |
$output = apply_filters( 'tutor_course/single/enrolled/nav', ob_get_clean() );
|
1119 |
|
1120 |
if ( $echo ) {
|
1121 |
+
echo $output;
|
1122 |
}
|
1123 |
return $output;
|
1124 |
}
|
1131 |
$output = apply_filters( 'tutor_course/single/video', ob_get_clean() );
|
1132 |
|
1133 |
if ( $echo ) {
|
1134 |
+
echo $output;
|
1135 |
}
|
1136 |
return $output;
|
1137 |
}
|
1144 |
$output = apply_filters( 'tutor_lesson/single/video', ob_get_clean() );
|
1145 |
|
1146 |
if ( $echo ) {
|
1147 |
+
echo tutor_kses_html( $output );
|
1148 |
}
|
1149 |
return $output;
|
1150 |
}
|
1167 |
$output = apply_filters( 'tutor_lesson/single/attachments', ob_get_clean() );
|
1168 |
|
1169 |
if ( $echo ) {
|
1170 |
+
echo tutor_kses_html( $output );
|
1171 |
}
|
1172 |
return $output;
|
1173 |
}
|
1189 |
$output = apply_filters( 'tutor_lesson/single/lesson_sidebar', ob_get_clean() );
|
1190 |
|
1191 |
if ( $echo ) {
|
1192 |
+
echo tutor_kses_html( $output );
|
1193 |
}
|
1194 |
|
1195 |
return $output;
|
1211 |
$output = apply_filters( 'tutor_lesson/single/content', ob_get_clean() );
|
1212 |
|
1213 |
if ( $echo ) {
|
1214 |
+
echo $output;
|
1215 |
}
|
1216 |
|
1217 |
return $output;
|
1225 |
$output = apply_filters( 'tutor_lesson/single/complete_form', ob_get_clean() );
|
1226 |
|
1227 |
if ( $echo ) {
|
1228 |
+
echo tutor_kses_html( $output );
|
1229 |
}
|
1230 |
|
1231 |
return $output;
|
1239 |
$output = apply_filters( 'tutor_course/single/complete_form', ob_get_clean() );
|
1240 |
|
1241 |
if ( $echo ) {
|
1242 |
+
echo tutor_kses_html( $output );
|
1243 |
}
|
1244 |
|
1245 |
return $output;
|
1264 |
$output = apply_filters( 'tutor_course/single/completing-progress-bar', ob_get_clean() );
|
1265 |
|
1266 |
if ( $echo ) {
|
1267 |
+
echo tutor_kses_html( $output );
|
1268 |
}
|
1269 |
|
1270 |
return $output;
|
1277 |
$output = apply_filters( 'tutor_course/single/question_and_answer', ob_get_clean() );
|
1278 |
|
1279 |
if ( $echo ) {
|
1280 |
+
echo $output;
|
1281 |
}
|
1282 |
|
1283 |
return $output;
|
1290 |
$output = apply_filters( 'tutor_course/single/announcements', ob_get_clean() );
|
1291 |
|
1292 |
if ( $echo ) {
|
1293 |
+
echo $output;
|
1294 |
}
|
1295 |
|
1296 |
return $output;
|
1302 |
$output = apply_filters( 'tutor_single_quiz/top', ob_get_clean() );
|
1303 |
|
1304 |
if ( $echo ) {
|
1305 |
+
echo $output;
|
1306 |
}
|
1307 |
return $output;
|
1308 |
}
|
1331 |
$output = apply_filters( 'tutor_single_quiz/content', ob_get_clean() );
|
1332 |
|
1333 |
if ( $echo ) {
|
1334 |
+
echo $output;
|
1335 |
}
|
1336 |
return $output;
|
1337 |
}
|
1343 |
$output = apply_filters( 'tutor_single_quiz/no_course_belongs', ob_get_clean() );
|
1344 |
|
1345 |
if ( $echo ) {
|
1346 |
+
echo $output;
|
1347 |
}
|
1348 |
return $output;
|
1349 |
}
|
1355 |
$output = apply_filters( 'tutor_single_quiz/single_quiz_contents', ob_get_clean() );
|
1356 |
|
1357 |
if ( $echo ) {
|
1358 |
+
echo $output;
|
1359 |
}
|
1360 |
return $output;
|
1361 |
}
|
1454 |
$output = apply_filters( 'tutor_course/single/tags_html', ob_get_clean() );
|
1455 |
|
1456 |
if ( $echo ) {
|
1457 |
+
echo tutor_kses_html( $output );
|
1458 |
}
|
1459 |
|
1460 |
return $output;
|
1476 |
$output = apply_filters( 'tutor_lesson/single/sidebar_question_and_answer', ob_get_clean() );
|
1477 |
|
1478 |
if ( $echo ) {
|
1479 |
+
echo tutor_kses_html( $output );
|
1480 |
}
|
1481 |
|
1482 |
return $output;
|
1505 |
|
1506 |
if ( $echo && $output != '' ) {
|
1507 |
echo '<span>' . __( 'Share:', 'tutor' ) . '</span>';
|
1508 |
+
echo tutor_kses_html( $output );
|
1509 |
}
|
1510 |
|
1511 |
return $output;
|
1529 |
$output = apply_filters( 'tutor_assignment/single/content', ob_get_clean() );
|
1530 |
|
1531 |
if ( $echo ) {
|
1532 |
+
echo tutor_kses_html( $output );
|
1533 |
}
|
1534 |
|
1535 |
return $output;
|
1588 |
$output = apply_filters( 'tutor/single/next_previous_pagination', ob_get_clean() );
|
1589 |
|
1590 |
if ( $echo ) {
|
1591 |
+
echo tutor_kses_html( $output );
|
1592 |
}
|
1593 |
|
1594 |
return $output;
|
1595 |
}
|
1596 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1597 |
/**
|
1598 |
* @param bool $echo
|
1599 |
* @return string
|
1614 |
$output = apply_filters( 'tutor_login_form_popup_html', $output );
|
1615 |
|
1616 |
if ( $echo ) {
|
1617 |
+
echo tutor_kses_html( $output );
|
1618 |
}
|
1619 |
return $output;
|
1620 |
}
|
languages/tutor.pot
CHANGED
@@ -125,15 +125,15 @@ msgstr ""
|
|
125 |
msgid "Tags"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: classes/Admin.php:60, classes/Admin.php:60, classes/Course.php:
|
129 |
msgid "Students"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: classes/Admin.php:63, classes/Admin.php:63, classes/Course.php:
|
133 |
msgid "Instructors"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: classes/Admin.php:66, classes/Admin.php:66, classes/Utils.php:1333, classes/Utils.php:
|
137 |
msgid "Announcements"
|
138 |
msgstr ""
|
139 |
|
@@ -145,7 +145,7 @@ msgstr ""
|
|
145 |
msgid "Q & A "
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: classes/Admin.php:70, classes/Admin.php:70, classes/Utils.php:
|
149 |
msgid "Quiz Attempts"
|
150 |
msgstr ""
|
151 |
|
@@ -157,7 +157,7 @@ msgstr ""
|
|
157 |
msgid "Add-ons"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: classes/Admin.php:80, classes/Admin.php:80, classes/Admin.php:453, classes/Utils.php:
|
161 |
msgid "Settings"
|
162 |
msgstr ""
|
163 |
|
@@ -177,7 +177,7 @@ msgstr ""
|
|
177 |
msgid "Tutor Pages"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: classes/Admin.php:139, classes/Instructors_List.php:130, templates/dashboard/dashboard.php:
|
181 |
msgid "Status"
|
182 |
msgstr ""
|
183 |
|
@@ -201,7 +201,7 @@ msgstr ""
|
|
201 |
msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: classes/Ajax.php:66, classes/Ajax.php:119, classes/Ajax.php:206, classes/Ajax.php:270, classes/Ajax.php:349, classes/Ajax.php:392, classes/Ajax.php:413, classes/Ajax.php:526, classes/Ajax.php:598, classes/Course.php:
|
205 |
msgid "Access Denied"
|
206 |
msgstr ""
|
207 |
|
@@ -281,87 +281,87 @@ msgstr ""
|
|
281 |
msgid "Fully booked"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: classes/Course.php:
|
285 |
msgid "Course Builder"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: classes/Course.php:
|
289 |
msgid "Additional Data"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: classes/Course.php:
|
293 |
msgid "Video"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: classes/Course.php:
|
297 |
msgid "Tutor Settings"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: classes/Course.php:
|
301 |
msgid "Topic has been updated"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: classes/Course.php:
|
305 |
msgid "Lessons"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: classes/Course.php:
|
309 |
msgid "Price"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: classes/Course.php:
|
313 |
msgid "free"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: classes/Course.php:
|
317 |
msgid "Please Sign In first"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: classes/Course.php:
|
321 |
msgid "Please Sign-In"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: classes/Course.php:
|
325 |
msgid "No instructor available or you have already added maximum instructors"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: classes/Course.php:
|
329 |
msgid "To add unlimited multiple instructors in your course, get %1$sTutor LMS Pro%2$s"
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: classes/Course.php:
|
333 |
msgid "complete all lessons to mark this course as complete"
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: classes/Course.php:
|
337 |
msgid "You have to pass %s quizzes to complete this course."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: classes/Course.php:
|
341 |
msgid "Make This Course Public"
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: classes/Course.php:
|
345 |
msgid "No enrollment required."
|
346 |
msgstr ""
|
347 |
|
348 |
-
#: classes/Course.php:
|
349 |
msgid "Disable Q&A"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: classes/Course.php:
|
353 |
msgid "Invalid Course ID or Access Denied."
|
354 |
msgstr ""
|
355 |
|
356 |
-
#: classes/Course_Settings_Tabs.php:32, classes/Options.php:
|
357 |
msgid "Course Settings"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: classes/Course_Settings_Tabs.php:38, classes/Options.php:
|
361 |
msgid "General"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: classes/Course_Settings_Tabs.php:39, classes/Options.php:
|
365 |
msgid "General Settings"
|
366 |
msgstr ""
|
367 |
|
@@ -369,7 +369,7 @@ msgstr ""
|
|
369 |
msgid "Maximum Students"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: classes/Course_Settings_Tabs.php:46, classes/Options.php:
|
373 |
msgid "Enable"
|
374 |
msgstr ""
|
375 |
|
@@ -409,7 +409,7 @@ msgstr ""
|
|
409 |
msgid "Place comma (,) separated courses ids which you like to exclude from the query"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: classes/Course_Widget.php:140, classes/Options.php:
|
413 |
msgid "Category"
|
414 |
msgstr ""
|
415 |
|
@@ -637,7 +637,7 @@ msgstr ""
|
|
637 |
msgid "Couldn't create lesson."
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: classes/Lesson.php:273, classes/Options.php:
|
641 |
msgid "Course"
|
642 |
msgstr ""
|
643 |
|
@@ -678,739 +678,743 @@ msgstr ""
|
|
678 |
msgid "Embedded"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: classes/Options.php:
|
|
|
|
|
|
|
|
|
682 |
msgid "Keyword Search"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: classes/Options.php:
|
686 |
msgid "Tag"
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: classes/Options.php:
|
690 |
msgid "Difficulty Level"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: classes/Options.php:
|
694 |
msgid "Price Type"
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: classes/Options.php:
|
698 |
msgid "Dashboard Page"
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: classes/Options.php:
|
702 |
msgid "This page will be used for student and instructor dashboard"
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: classes/Options.php:
|
706 |
msgid "Public Profile"
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: classes/Options.php:
|
710 |
msgid "Enable this to make a profile publicly visible"
|
711 |
msgstr ""
|
712 |
|
713 |
-
#: classes/Options.php:
|
714 |
msgid "Profile Completion"
|
715 |
msgstr ""
|
716 |
|
717 |
-
#: classes/Options.php:
|
718 |
msgid "Enabling this feature will show a notification bar to students and instructors to complete their profile information"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: classes/Options.php:
|
722 |
msgid "Tutor Native Login"
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: classes/Options.php:
|
726 |
msgid "Disable"
|
727 |
msgstr ""
|
728 |
|
729 |
-
#: classes/Options.php:
|
730 |
msgid "Disable to use the default WordPress login page"
|
731 |
msgstr ""
|
732 |
|
733 |
-
#: classes/Options.php:
|
734 |
msgid "Course Visibility"
|
735 |
msgstr ""
|
736 |
|
737 |
-
#: classes/Options.php:
|
738 |
msgid "Logged in only"
|
739 |
msgstr ""
|
740 |
|
741 |
-
#: classes/Options.php:
|
742 |
msgid "Students must be logged in to view course"
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: classes/Options.php:
|
746 |
msgid "Erase upon uninstallation"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: classes/Options.php:
|
750 |
msgid "Delete all data during uninstallation"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: classes/Options.php:
|
754 |
msgid "Spotlight mode"
|
755 |
msgstr ""
|
756 |
|
757 |
-
#: classes/Options.php:
|
758 |
msgid "This will hide the header and the footer and enable spotlight (full screen) mode when students view lessons."
|
759 |
msgstr ""
|
760 |
|
761 |
-
#: classes/Options.php:
|
762 |
msgid "YouTube Player"
|
763 |
msgstr ""
|
764 |
|
765 |
-
#: classes/Options.php:
|
766 |
msgid "Disable this option to use Tutor LMS video player."
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: classes/Options.php:
|
770 |
msgid "Vimeo Player"
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: classes/Options.php:
|
774 |
msgid "Pagination"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: classes/Options.php:
|
778 |
msgid "Number of items you would like displayed \"per page\" in the pagination"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: classes/Options.php:
|
782 |
msgid "Maintenance Mode"
|
783 |
msgstr ""
|
784 |
|
785 |
-
#: classes/Options.php:
|
786 |
msgid "Enabling the maintenance mode allows you to display a custom message on the frontend. During this time, visitors can not access the site content. But the wp-admin dashboard will remain accessible."
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: classes/Options.php:
|
790 |
msgid "Frontend Admin Bar"
|
791 |
msgstr ""
|
792 |
|
793 |
-
#: classes/Options.php:
|
794 |
msgid "Hide"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: classes/Options.php:
|
798 |
msgid "Hide admin bar option allow you to hide WordPress admin bar entirely from the frontend. It will still show to administrator roles user"
|
799 |
msgstr ""
|
800 |
|
801 |
-
#: classes/Options.php:
|
802 |
msgid "Error message for wrong login credentials"
|
803 |
msgstr ""
|
804 |
|
805 |
-
#: classes/Options.php:
|
806 |
msgid "Login error message displayed when the user puts wrong login credentials."
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: classes/Options.php:
|
810 |
msgid "Gutenberg Editor"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: classes/Options.php:
|
814 |
msgid "Use Gutenberg editor on course description area."
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: classes/Options.php:
|
818 |
msgid "Enable / Disable"
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: classes/Options.php:
|
822 |
msgid "Hide course products from shop page"
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: classes/Options.php:
|
826 |
msgid "Enabling this feature will remove course products from the shop page."
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: classes/Options.php:
|
830 |
msgid "Course Content Access"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: classes/Options.php:
|
834 |
msgid "Allow instructors and admins to view the course content without enrolling"
|
835 |
msgstr ""
|
836 |
|
837 |
-
#: classes/Options.php:
|
838 |
msgid "Auto redirect to courses"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: classes/Options.php:
|
842 |
msgid "When a user's WooCommerce order is auto-completed, they will be redirected to enrolled courses"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: classes/Options.php:
|
846 |
msgid "Course Completion Process"
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: classes/Options.php:
|
850 |
msgid "Flexible"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: classes/Options.php:
|
854 |
msgid "Strict Mode"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: classes/Options.php:
|
858 |
msgid "Students can complete courses anytime in the Flexible mode. In the Strict mode, students have to complete, pass all the lessons and quizzes (if any) to mark a course as complete."
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: classes/Options.php:
|
862 |
msgid "Course Retake"
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: classes/Options.php:
|
866 |
msgid "Enabling this feature will allow students to reset course progress and start over."
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: classes/Options.php:
|
870 |
msgid "Archive"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: classes/Options.php:
|
874 |
msgid "Course Archive Settings"
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: classes/Options.php:
|
878 |
msgid "Course Archive Page"
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: classes/Options.php:
|
882 |
msgid "This page will be used to list all the published courses."
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: classes/Options.php:
|
886 |
msgid "Column Per Row"
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: classes/Options.php:
|
890 |
msgid "Define how many column you want to use to display courses."
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: classes/Options.php:
|
894 |
msgid "Courses Per Page"
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: classes/Options.php:
|
898 |
msgid "Define how many courses you want to show per page"
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: classes/Options.php:
|
902 |
msgid "Course Filter"
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: classes/Options.php:
|
906 |
msgid "Show sorting and filtering options on course archive page"
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: classes/Options.php:
|
910 |
msgid "Preferred Course Filters"
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: classes/Options.php:
|
914 |
msgid "Choose preferred filter options you'd like to show in course archive page."
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: classes/Options.php:
|
918 |
msgid "Course Display Settings"
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: classes/Options.php:
|
922 |
msgid "Display Instructor Info"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: classes/Options.php:
|
926 |
msgid "Show instructor bio on each page"
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: classes/Options.php:
|
930 |
msgid "Question and Answer"
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: classes/Options.php:
|
934 |
msgid "Enabling this feature will add a Q&A section on every course."
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: classes/Options.php:
|
938 |
msgid "Course Author"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: classes/Options.php:
|
942 |
msgid "Disabling this feature will be removed course author name from the course page."
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: classes/Options.php:
|
946 |
msgid "Course Level"
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: classes/Options.php:
|
950 |
msgid "Disabling this feature will be removed course level from the course page."
|
951 |
msgstr ""
|
952 |
|
953 |
-
#: classes/Options.php:
|
954 |
msgid "Course Share"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: classes/Options.php:
|
958 |
msgid "Disabling this feature will be removed course share option from the course page."
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: classes/Options.php:
|
962 |
msgid "Course Duration"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: classes/Options.php:
|
966 |
msgid "Disabling this feature will be removed course duration from the course page."
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: classes/Options.php:
|
970 |
msgid "Course Total Enrolled"
|
971 |
msgstr ""
|
972 |
|
973 |
-
#: classes/Options.php:
|
974 |
msgid "Disabling this feature will be removed course total enrolled from the course page."
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: classes/Options.php:
|
978 |
msgid "Course Update Date"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: classes/Options.php:
|
982 |
msgid "Disabling this feature will be removed course update date from the course page."
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: classes/Options.php:
|
986 |
msgid "Course Progress Bar"
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: classes/Options.php:
|
990 |
msgid "Disabling this feature will be removed completing progress bar from the course page."
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: classes/Options.php:
|
994 |
msgid "Course Material"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: classes/Options.php:
|
998 |
msgid "Disabling this feature will be removed course material from the course page."
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: classes/Options.php:
|
1002 |
msgid "Course About"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: classes/Options.php:
|
1006 |
msgid "Disabling this feature will be removed course about from the course page."
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: classes/Options.php:
|
1010 |
msgid "Course Description"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
-
#: classes/Options.php:
|
1014 |
msgid "Disabling this feature will be removed course description from the course page."
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: classes/Options.php:
|
1018 |
msgid "Course Benefits"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: classes/Options.php:
|
1022 |
msgid "Disabling this feature will be removed course benefits from the course page."
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: classes/Options.php:
|
1026 |
msgid "Course Requirements"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: classes/Options.php:
|
1030 |
msgid "Disabling this feature will be removed course requirements from the course page."
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: classes/Options.php:
|
1034 |
msgid "Course Target Audience"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: classes/Options.php:
|
1038 |
msgid "Disabling this feature will be removed course target audience from the course page."
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: classes/Options.php:
|
1042 |
msgid "Course Announcements"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: classes/Options.php:
|
1046 |
msgid "Disabling this feature will be removed course announcements from the course page."
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: classes/Options.php:
|
1050 |
msgid "Course Review"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#: classes/Options.php:
|
1054 |
msgid "Disabling this feature will be removed course review system from the course page."
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: classes/Options.php:
|
1058 |
msgid "Preferred Video Source"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: classes/Options.php:
|
1062 |
msgid "Choose video sources you'd like to support. Unchecking all will not disable video feature."
|
1063 |
msgstr ""
|
1064 |
|
1065 |
-
#: classes/Options.php:
|
1066 |
msgid "Default Video Source"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: classes/Options.php:
|
1070 |
msgid "Choose video source to be selected by default."
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: classes/Options.php:
|
1074 |
msgid "Lesson Settings"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: classes/Options.php:
|
1078 |
msgid "Lesson settings will be here"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: classes/Options.php:
|
1082 |
msgid "Classic Editor"
|
1083 |
msgstr ""
|
1084 |
|
1085 |
-
#: classes/Options.php:
|
1086 |
msgid "Enable classic editor to get full support of any editor/page builder."
|
1087 |
msgstr ""
|
1088 |
|
1089 |
-
#: classes/Options.php:
|
1090 |
msgid "Automatically load next course content."
|
1091 |
msgstr ""
|
1092 |
|
1093 |
-
#: classes/Options.php:
|
1094 |
msgid "Enabling this feature will be load next course content automatically after finishing current video."
|
1095 |
msgstr ""
|
1096 |
|
1097 |
-
#: classes/Options.php:
|
1098 |
msgid "Lesson Permalink Base"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
-
#: classes/Options.php:
|
1102 |
msgid "Youtube API Key"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: classes/Options.php:
|
1106 |
msgid "Quiz"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
-
#: classes/Options.php:
|
1110 |
msgid "The values you set here define the default values that are used in the settings form when you create a new quiz."
|
1111 |
msgstr ""
|
1112 |
|
1113 |
-
#: classes/Options.php:
|
1114 |
msgid "Time Limit"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
-
#: classes/Options.php:
|
1118 |
msgid "0 means unlimited time."
|
1119 |
msgstr ""
|
1120 |
|
1121 |
-
#: classes/Options.php:
|
1122 |
msgid "Weeks"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: classes/Options.php:
|
1126 |
msgid "Days"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: classes/Options.php:
|
1130 |
msgid "Hours"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: classes/Options.php:
|
1134 |
msgid "Minutes"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: classes/Options.php:
|
1138 |
msgid "Seconds"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: classes/Options.php:
|
1142 |
msgid "When time expires"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: classes/Options.php:
|
1146 |
msgid "The current quiz answers are submitted automatically."
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: classes/Options.php:
|
1150 |
msgid "The current quiz answers are submitted by students."
|
1151 |
msgstr ""
|
1152 |
|
1153 |
-
#: classes/Options.php:
|
1154 |
msgid "Attempts must be submitted before time expires, otherwise they will not be counted"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
-
#: classes/Options.php:
|
1158 |
msgid "Choose which action to follow when the quiz time expires."
|
1159 |
msgstr ""
|
1160 |
|
1161 |
-
#: classes/Options.php:
|
1162 |
msgid "Attempts allowed"
|
1163 |
msgstr ""
|
1164 |
|
1165 |
-
#: classes/Options.php:
|
1166 |
msgid "The highest number of attempts students are allowed to take for a quiz. 0 means unlimited attempts."
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: classes/Options.php:
|
1170 |
msgid "Show Previous button"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: classes/Options.php:
|
1174 |
msgid "Choose whether to show or hide previous button for single question."
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: classes/Options.php:
|
1178 |
msgid "Final grade calculation"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
-
#: classes/Options.php:
|
1182 |
msgid "Highest Grade"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: classes/Options.php:
|
1186 |
msgid "Average Grade"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: classes/Options.php:
|
1190 |
msgid "First Attempt"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: classes/Options.php:
|
1194 |
msgid "Last Attempt"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: classes/Options.php:
|
1198 |
msgid "When multiple attempts are allowed, which method should be used to calculate a student's final grade for the quiz."
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: classes/Options.php:
|
1202 |
msgid "Instructor Profile Settings"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: classes/Options.php:
|
1206 |
msgid "Enable Disable Option to on/off notification on various event"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
-
#: classes/Options.php:
|
1210 |
msgid "Course Marketplace"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: classes/Options.php:
|
1214 |
msgid "Allow multiple instructors to upload their courses."
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: classes/Options.php:
|
1218 |
msgid "Instructor Registration Page"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: classes/Options.php:
|
1222 |
msgid "This page will be used to sign up new instructors."
|
1223 |
msgstr ""
|
1224 |
|
1225 |
-
#: classes/Options.php:
|
1226 |
msgid "Allow publishing course"
|
1227 |
msgstr ""
|
1228 |
|
1229 |
-
#: classes/Options.php:
|
1230 |
msgid "Enable instructors to publish course directly. <strong>Do not select</strong> if admins want to review courses before publishing."
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: classes/Options.php:
|
1234 |
msgid "Become Instructor Button"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: classes/Options.php:
|
1238 |
msgid "Uncheck this option to hide the button from student dashboard."
|
1239 |
msgstr ""
|
1240 |
|
1241 |
-
#: classes/Options.php:
|
1242 |
msgid "Student Profile settings"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
-
#: classes/Options.php:
|
1246 |
msgid "Student Registration Page"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
-
#: classes/Options.php:
|
1250 |
msgid "Choose the page for student registration page"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
-
#: classes/Options.php:
|
1254 |
msgid "Show reviews on profile"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
-
#: classes/Options.php:
|
1258 |
msgid "Enabling this will show the reviews written by each student on their profile"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
-
#: classes/Options.php:
|
1262 |
msgid "Show completed courses"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
-
#: classes/Options.php:
|
1266 |
msgid "Completed courses will be shown on student profiles. <br/> For example, you can see this link-"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
-
#: classes/Options.php:
|
1270 |
msgid "Earning"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
-
#: classes/Options.php:
|
1274 |
msgid "Earning and commission allocation"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
-
#: classes/Options.php:
|
1278 |
msgid "If disabled, the Admin will receive 100% of the earning"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
-
#: classes/Options.php:
|
1282 |
msgid "Admin Commission Percentage"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
-
#: classes/Options.php:
|
1286 |
msgid "Define the commission of the Admin from each sale.(after deducting fees)"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
-
#: classes/Options.php:
|
1290 |
msgid "Instructor Commission Percentage"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
-
#: classes/Options.php:
|
1294 |
msgid "Define the commission for instructors from each sale.(after deducting fees)"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
-
#: classes/Options.php:
|
1298 |
msgid "Fee Deduction"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
-
#: classes/Options.php:
|
1302 |
msgid "Fees are charged from the entire sales amount. The remaining amount will be divided among admin and instructors."
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: classes/Options.php:
|
1306 |
msgid "Fee Name"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: classes/Options.php:
|
1310 |
msgid "Fee Amount"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
-
#: classes/Options.php:
|
1314 |
msgid "Select Fees Type"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: classes/Options.php:
|
1318 |
msgid "Percent"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#: classes/Options.php:
|
1322 |
msgid "Fixed"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
-
#: classes/Options.php:
|
1326 |
msgid "Show Statement Per Page"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#: classes/Options.php:
|
1330 |
msgid "Define the number of statements to show."
|
1331 |
msgstr ""
|
1332 |
|
1333 |
-
#: classes/Options.php:
|
1334 |
msgid "Withdrawal"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
-
#: classes/Options.php:
|
1338 |
msgid "Withdrawal Settings"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
-
#: classes/Options.php:
|
1342 |
msgid "Minimum Withdraw Amount"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
-
#: classes/Options.php:
|
1346 |
msgid "Instructors should earn equal or above this amount to make a withdraw request."
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: classes/Options.php:
|
1350 |
msgid "Withdraw Methods"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: classes/Options.php:
|
1354 |
msgid "Set withdraw settings"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
-
#: classes/Options.php:
|
1358 |
msgid "Style"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
-
#: classes/Options.php:
|
1362 |
msgid "Color Style"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: classes/Options.php:
|
1366 |
msgid "Primary Color"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: classes/Options.php:
|
1370 |
msgid "Primary Hover Color"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: classes/Options.php:
|
1374 |
msgid "Text color"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: classes/Options.php:
|
1378 |
msgid "Light color"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: classes/Options.php:
|
1382 |
msgid "Button Primary Color"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: classes/Options.php:
|
1386 |
msgid "Button Danger Color"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: classes/Options.php:
|
1390 |
msgid "Button Success Color"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: classes/Options.php:
|
1394 |
msgid "Button Warning Color"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: classes/Options.php:
|
1398 |
msgid "Monetization"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: classes/Options.php:
|
1402 |
msgid "You can monetize your LMS website by selling courses in a various way."
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: classes/Options.php:
|
1406 |
msgid "Monetize Option"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: classes/Options.php:
|
1410 |
msgid "Disable Monetization"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: classes/Options.php:
|
1414 |
msgid "Select a monetization option to generate revenue by selling courses. Supports: WooCommerce, Easy Digital Downloads, Paid Memberships Pro"
|
1415 |
msgstr ""
|
1416 |
|
@@ -1824,7 +1828,7 @@ msgstr ""
|
|
1824 |
msgid "Answer"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
-
#: classes/Question_Answers_List.php:76, classes/Quiz.php:824, templates/dashboard/question-answer.php:25, views/pages/view_attempt.php:
|
1828 |
msgid "Question"
|
1829 |
msgstr ""
|
1830 |
|
@@ -1864,7 +1868,7 @@ msgstr ""
|
|
1864 |
msgid "Make sure you’re saving the answers in the right order. Students will have to match this order exactly."
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: classes/Quiz.php:1175, classes/Quiz.php:1169, views/modal/question_form.php:164, views/modal/question_form.php:158, views/pages/view_attempt.php:
|
1868 |
msgid "Mark as correct"
|
1869 |
msgstr ""
|
1870 |
|
@@ -1964,7 +1968,7 @@ msgstr ""
|
|
1964 |
msgid "Setup Wizard"
|
1965 |
msgstr ""
|
1966 |
|
1967 |
-
#: classes/Tutor.php:519, classes/Utils.php:
|
1968 |
msgid "Dashboard"
|
1969 |
msgstr ""
|
1970 |
|
@@ -2060,7 +2064,7 @@ msgstr ""
|
|
2060 |
msgid "weeks"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: classes/Tutor_Setup.php:275, classes/Tutor_Setup.php:564, classes/Utils.php:
|
2064 |
msgid "Instructor"
|
2065 |
msgstr ""
|
2066 |
|
@@ -2376,183 +2380,183 @@ msgstr ""
|
|
2376 |
msgid "Q&A"
|
2377 |
msgstr ""
|
2378 |
|
2379 |
-
#: classes/Utils.php:
|
2380 |
msgid "Course Enrolled"
|
2381 |
msgstr ""
|
2382 |
|
2383 |
-
#: classes/Utils.php:
|
2384 |
msgid "My Profile"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
-
#: classes/Utils.php:
|
2388 |
msgid "Enrolled Courses"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
-
#: classes/Utils.php:
|
2392 |
msgid "Wishlist"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
-
#: classes/Utils.php:
|
2396 |
msgid "Reviews"
|
2397 |
msgstr ""
|
2398 |
|
2399 |
-
#: classes/Utils.php:
|
2400 |
msgid "My Quiz Attempts"
|
2401 |
msgstr ""
|
2402 |
|
2403 |
-
#: classes/Utils.php:
|
2404 |
msgid "Purchase History"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
-
#: classes/Utils.php:
|
2408 |
msgid "Create Course"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
-
#: classes/Utils.php:
|
2412 |
msgid "My Courses"
|
2413 |
msgstr ""
|
2414 |
|
2415 |
-
#: classes/Utils.php:
|
2416 |
msgid "Withdrawals"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
-
#: classes/Utils.php:
|
2420 |
msgid "Question & Answer"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
-
#: classes/Utils.php:
|
2424 |
msgid "Logout"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
-
#: classes/Utils.php:
|
2428 |
msgid "Retrieve Password"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
-
#: classes/Utils.php:
|
2432 |
msgid "Pending"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
-
#: classes/Utils.php:
|
2436 |
msgid "Approved"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
-
#: classes/Utils.php:
|
2440 |
msgid "Blocked"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
-
#: classes/Utils.php:
|
2444 |
msgid "True/False"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
-
#: classes/Utils.php:
|
2448 |
msgid "Single Choice"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#: classes/Utils.php:
|
2452 |
msgid "Multiple Choice"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#: classes/Utils.php:
|
2456 |
msgid "Open Ended/Essay"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
-
#: classes/Utils.php:
|
2460 |
msgid "Fill In The Blanks"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
-
#: classes/Utils.php:
|
2464 |
msgid "Short Answer"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
-
#: classes/Utils.php:
|
2468 |
msgid "Matching"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
-
#: classes/Utils.php:
|
2472 |
msgid "Image Matching"
|
2473 |
msgstr ""
|
2474 |
|
2475 |
-
#: classes/Utils.php:
|
2476 |
msgid "Image Answering"
|
2477 |
msgstr ""
|
2478 |
|
2479 |
-
#: classes/Utils.php:
|
2480 |
msgid "Ordering"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
-
#: classes/Utils.php:
|
2484 |
msgid "All Levels"
|
2485 |
msgstr ""
|
2486 |
|
2487 |
-
#: classes/Utils.php:
|
2488 |
msgid "Beginner"
|
2489 |
msgstr ""
|
2490 |
|
2491 |
-
#: classes/Utils.php:
|
2492 |
msgid "Intermediate"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
-
#: classes/Utils.php:
|
2496 |
msgid "Expert"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
-
#: classes/Utils.php:
|
2500 |
msgid "Courses Taken"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
-
#: classes/Utils.php:
|
2504 |
msgid "Enrolled Course"
|
2505 |
msgstr ""
|
2506 |
|
2507 |
-
#: classes/Utils.php:
|
2508 |
msgid "Reviews Written"
|
2509 |
msgstr ""
|
2510 |
|
2511 |
-
#: classes/Utils.php:
|
2512 |
msgid "Website URL"
|
2513 |
msgstr ""
|
2514 |
|
2515 |
-
#: classes/Utils.php:
|
2516 |
msgid "Github URL"
|
2517 |
msgstr ""
|
2518 |
|
2519 |
-
#: classes/Utils.php:
|
2520 |
msgid "Facebook URL"
|
2521 |
msgstr ""
|
2522 |
|
2523 |
-
#: classes/Utils.php:
|
2524 |
msgid "Twitter URL"
|
2525 |
msgstr ""
|
2526 |
|
2527 |
-
#: classes/Utils.php:
|
2528 |
msgid "Linkedin URL"
|
2529 |
msgstr ""
|
2530 |
|
2531 |
-
#: classes/Utils.php:
|
2532 |
msgid "Not Taken"
|
2533 |
msgstr ""
|
2534 |
|
2535 |
-
#: classes/Utils.php:
|
2536 |
msgid "In Progress"
|
2537 |
msgstr ""
|
2538 |
|
2539 |
-
#: classes/Utils.php:
|
2540 |
msgid "Completed"
|
2541 |
msgstr ""
|
2542 |
|
2543 |
-
#: classes/Utils.php:
|
2544 |
msgid "First Name"
|
2545 |
msgstr ""
|
2546 |
|
2547 |
-
#: classes/Utils.php:
|
2548 |
msgid "Last Name"
|
2549 |
msgstr ""
|
2550 |
|
2551 |
-
#: classes/Utils.php:
|
2552 |
msgid "Profile Photo"
|
2553 |
msgstr ""
|
2554 |
|
2555 |
-
#: classes/Utils.php:
|
2556 |
msgid "Withdraw Method"
|
2557 |
msgstr ""
|
2558 |
|
@@ -2929,7 +2933,7 @@ msgstr ""
|
|
2929 |
msgid "Lesson List"
|
2930 |
msgstr ""
|
2931 |
|
2932 |
-
#: templates/single-preview-lesson.php:
|
2933 |
msgid "Go to Course Home"
|
2934 |
msgstr ""
|
2935 |
|
@@ -3009,7 +3013,7 @@ msgstr ""
|
|
3009 |
msgid "No assignment available"
|
3010 |
msgstr ""
|
3011 |
|
3012 |
-
#: templates/dashboard/assignments.php:74, templates/dashboard/dashboard.php:
|
3013 |
msgid "Course Name"
|
3014 |
msgstr ""
|
3015 |
|
@@ -3089,7 +3093,7 @@ msgstr ""
|
|
3089 |
msgid "Important Guideline: %1$s 700x430 pixels %2$s %3$s File Support: %1$s jpg, .jpeg,. gif, or .png %2$s no text on the image."
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: templates/dashboard/create-course.php:238, views/metabox/video-metabox.php:
|
3093 |
msgid "Upload Image"
|
3094 |
msgstr ""
|
3095 |
|
@@ -3157,11 +3161,11 @@ msgstr ""
|
|
3157 |
msgid "Total Earnings"
|
3158 |
msgstr ""
|
3159 |
|
3160 |
-
#: templates/dashboard/dashboard.php:
|
3161 |
msgid "Most Popular Courses"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
-
#: templates/dashboard/dashboard.php:
|
3165 |
msgid "Enrolled"
|
3166 |
msgstr ""
|
3167 |
|
@@ -3653,15 +3657,15 @@ msgstr ""
|
|
3653 |
msgid "Total Course Duration"
|
3654 |
msgstr ""
|
3655 |
|
3656 |
-
#: views/metabox/course-additional-data.php:26, views/metabox/video-metabox.php:
|
3657 |
msgid "HH"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
-
#: views/metabox/course-additional-data.php:30, views/metabox/video-metabox.php:
|
3661 |
msgid "MM"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
-
#: views/metabox/course-additional-data.php:35, views/metabox/video-metabox.php:
|
3665 |
msgid "SS"
|
3666 |
msgstr ""
|
3667 |
|
@@ -3807,35 +3811,39 @@ msgstr ""
|
|
3807 |
msgid "Upload"
|
3808 |
msgstr ""
|
3809 |
|
3810 |
-
#: views/metabox/video-metabox.php:
|
|
|
|
|
|
|
|
|
3811 |
msgid "Video Source"
|
3812 |
msgstr ""
|
3813 |
|
3814 |
-
#: views/metabox/video-metabox.php:
|
3815 |
msgid "Course Intro Video"
|
3816 |
msgstr ""
|
3817 |
|
3818 |
-
#: views/metabox/video-metabox.php:
|
3819 |
msgid "Select Video Source"
|
3820 |
msgstr ""
|
3821 |
|
3822 |
-
#: views/metabox/video-metabox.php:
|
3823 |
msgid "Select your preferred video type."
|
3824 |
msgstr ""
|
3825 |
|
3826 |
-
#: views/metabox/video-metabox.php:
|
3827 |
msgid "Upload Video"
|
3828 |
msgstr ""
|
3829 |
|
3830 |
-
#: views/metabox/video-metabox.php:
|
3831 |
msgid "Media ID"
|
3832 |
msgstr ""
|
3833 |
|
3834 |
-
#: views/metabox/video-metabox.php:
|
3835 |
msgid "Video Poster"
|
3836 |
msgstr ""
|
3837 |
|
3838 |
-
#: views/metabox/video-metabox.php:
|
3839 |
msgid "Thumb Size: 700x430 pixels. File Support: jpg, jpeg, or png"
|
3840 |
msgstr ""
|
3841 |
|
@@ -3843,19 +3851,19 @@ msgstr ""
|
|
3843 |
msgid "External Video URL"
|
3844 |
msgstr ""
|
3845 |
|
3846 |
-
#: views/metabox/video-metabox.php:
|
3847 |
msgid "YouTube Video URL"
|
3848 |
msgstr ""
|
3849 |
|
3850 |
-
#: views/metabox/video-metabox.php:
|
3851 |
msgid "Vimeo Video URL"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
-
#: views/metabox/video-metabox.php:
|
3855 |
msgid "Place your embedded code here"
|
3856 |
msgstr ""
|
3857 |
|
3858 |
-
#: views/metabox/video-metabox.php:
|
3859 |
msgid "Video playback time"
|
3860 |
msgstr ""
|
3861 |
|
@@ -4279,7 +4287,7 @@ msgstr ""
|
|
4279 |
msgid "Update Announcement"
|
4280 |
msgstr ""
|
4281 |
|
4282 |
-
#: views/pages/announcements.php:328, views/pages/view_attempt.php:
|
4283 |
msgid "Update"
|
4284 |
msgstr ""
|
4285 |
|
@@ -4355,63 +4363,63 @@ msgstr ""
|
|
4355 |
msgid "Quiz Time"
|
4356 |
msgstr ""
|
4357 |
|
4358 |
-
#: views/pages/view_attempt.php:
|
4359 |
msgid "Reminder:"
|
4360 |
msgstr ""
|
4361 |
|
4362 |
-
#: views/pages/view_attempt.php:
|
4363 |
msgid "Please review answers for question no. %s"
|
4364 |
msgstr ""
|
4365 |
|
4366 |
-
#: views/pages/view_attempt.php:
|
4367 |
msgid "Manually reviewed at: "
|
4368 |
msgstr ""
|
4369 |
|
4370 |
-
#: views/pages/view_attempt.php:
|
4371 |
msgid "Quiz Overview"
|
4372 |
msgstr ""
|
4373 |
|
4374 |
-
#: views/pages/view_attempt.php:
|
4375 |
msgid "Type"
|
4376 |
msgstr ""
|
4377 |
|
4378 |
-
#: views/pages/view_attempt.php:
|
4379 |
msgid "No."
|
4380 |
msgstr ""
|
4381 |
|
4382 |
-
#: views/pages/view_attempt.php:
|
4383 |
msgid "Given Answers"
|
4384 |
msgstr ""
|
4385 |
|
4386 |
-
#: views/pages/view_attempt.php:
|
4387 |
msgid "Correct/Incorrect"
|
4388 |
msgstr ""
|
4389 |
|
4390 |
-
#: views/pages/view_attempt.php:
|
4391 |
msgid "Manual Review"
|
4392 |
msgstr ""
|
4393 |
|
4394 |
-
#: views/pages/view_attempt.php:
|
4395 |
msgid "Incorrect"
|
4396 |
msgstr ""
|
4397 |
|
4398 |
-
#: views/pages/view_attempt.php:
|
4399 |
msgid "Correct"
|
4400 |
msgstr ""
|
4401 |
|
4402 |
-
#: views/pages/view_attempt.php:
|
4403 |
msgid "Review Required"
|
4404 |
msgstr ""
|
4405 |
|
4406 |
-
#: views/pages/view_attempt.php:
|
4407 |
msgid "Mark as In correct"
|
4408 |
msgstr ""
|
4409 |
|
4410 |
-
#: views/pages/view_attempt.php:
|
4411 |
msgid "Instructor Feedback"
|
4412 |
msgstr ""
|
4413 |
|
4414 |
-
#: views/pages/view_attempt.php:
|
4415 |
msgid "Updated"
|
4416 |
msgstr ""
|
4417 |
|
125 |
msgid "Tags"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: classes/Admin.php:60, classes/Admin.php:60, classes/Course.php:494, classes/Options.php:595, classes/Quiz_Attempts_List.php:117, templates/student-public-profile.php:103, views/pages/students.php:8
|
129 |
msgid "Students"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: classes/Admin.php:63, classes/Admin.php:63, classes/Course.php:194, classes/Course.php:263, classes/Options.php:556, views/pages/instructors.php:29
|
133 |
msgid "Instructors"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: classes/Admin.php:66, classes/Admin.php:66, classes/Utils.php:1333, classes/Utils.php:2583, templates/dashboard/announcements.php:124, views/pages/announcements.php:105, views/pages/announcements.php:115
|
137 |
msgid "Announcements"
|
138 |
msgstr ""
|
139 |
|
145 |
msgid "Q & A "
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: classes/Admin.php:70, classes/Admin.php:70, classes/Utils.php:2591, templates/dashboard/quiz-attempts.php:19, views/pages/quiz_attempts.php:29
|
149 |
msgid "Quiz Attempts"
|
150 |
msgstr ""
|
151 |
|
157 |
msgid "Add-ons"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: classes/Admin.php:80, classes/Admin.php:80, classes/Admin.php:453, classes/Utils.php:2615, templates/dashboard/settings.php:8, views/modal/add_quiz.php:22, views/modal/edit_quiz.php:35, templates/dashboard/notifications/profile-completion.php:14, templates/dashboard/settings/education.php:7, templates/dashboard/settings/skill.php:8
|
161 |
msgid "Settings"
|
162 |
msgstr ""
|
163 |
|
177 |
msgid "Tutor Pages"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: classes/Admin.php:139, classes/Instructors_List.php:130, templates/dashboard/dashboard.php:94, templates/dashboard/purchase_history.php:23, templates/dashboard/withdraw.php:185, views/pages/view_attempt.php:59, views/pages/tools/tutor_pages.php:11
|
181 |
msgid "Status"
|
182 |
msgstr ""
|
183 |
|
201 |
msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: classes/Ajax.php:66, classes/Ajax.php:119, classes/Ajax.php:206, classes/Ajax.php:270, classes/Ajax.php:349, classes/Ajax.php:392, classes/Ajax.php:413, classes/Ajax.php:526, classes/Ajax.php:598, classes/Course.php:434, classes/Course.php:469, classes/Course.php:712, classes/Course.php:764, classes/Course.php:801, classes/Course.php:821, classes/Instructor.php:250, classes/Lesson.php:124, classes/Lesson.php:164, classes/Lesson.php:220, classes/Quiz.php:148, classes/Quiz.php:560, classes/Quiz.php:652, classes/Quiz.php:707, classes/Quiz.php:750, classes/Quiz.php:792, classes/Quiz.php:815, classes/Quiz.php:910, classes/Quiz.php:933, classes/Quiz.php:954, classes/Quiz.php:1082, classes/Quiz.php:1127, classes/Quiz.php:1208, classes/Quiz.php:1268, classes/Quiz.php:1293, classes/Q_and_A.php:71
|
205 |
msgid "Access Denied"
|
206 |
msgstr ""
|
207 |
|
281 |
msgid "Fully booked"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: classes/Course.php:190, classes/Course.php:262
|
285 |
msgid "Course Builder"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: classes/Course.php:191, classes/Course.php:264
|
289 |
msgid "Additional Data"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: classes/Course.php:192, classes/Course.php:261
|
293 |
msgid "Video"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: classes/Course.php:202, classes/Course.php:1366, views/options/options_generator.php:2
|
297 |
msgid "Tutor Settings"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: classes/Course.php:479
|
301 |
msgid "Topic has been updated"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: classes/Course.php:493, classes/Options.php:449, classes/Post_types.php:172, templates/single/course/course-topics.php:39
|
305 |
msgid "Lessons"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: classes/Course.php:495, templates/course-filter/filters.php:74, templates/dashboard/earning/statement.php:29
|
309 |
msgid "Price"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: classes/Course.php:524
|
313 |
msgid "free"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: classes/Course.php:574
|
317 |
msgid "Please Sign In first"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: classes/Course.php:622, classes/Lesson.php:310
|
321 |
msgid "Please Sign-In"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: classes/Course.php:747
|
325 |
msgid "No instructor available or you have already added maximum instructors"
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: classes/Course.php:751
|
329 |
msgid "To add unlimited multiple instructors in your course, get %1$sTutor LMS Pro%2$s"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: classes/Course.php:1196
|
333 |
msgid "complete all lessons to mark this course as complete"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: classes/Course.php:1233
|
337 |
msgid "You have to pass %s quizzes to complete this course."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: classes/Course.php:1345
|
341 |
msgid "Make This Course Public"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: classes/Course.php:1347
|
345 |
msgid "No enrollment required."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: classes/Course.php:1355
|
349 |
msgid "Disable Q&A"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: classes/Course.php:1415
|
353 |
msgid "Invalid Course ID or Access Denied."
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: classes/Course_Settings_Tabs.php:32, classes/Options.php:225, classes/Tutor_Setup.php:400, views/metabox/course/settings-tabs.php:13
|
357 |
msgid "Course Settings"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: classes/Course_Settings_Tabs.php:38, classes/Options.php:122, classes/Options.php:125, classes/Options.php:224, classes/Tutor_Setup.php:561, classes/WooCommerce.php:294
|
361 |
msgid "General"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: classes/Course_Settings_Tabs.php:39, classes/Options.php:126, classes/Tutor_Setup.php:361
|
365 |
msgid "General Settings"
|
366 |
msgstr ""
|
367 |
|
369 |
msgid "Maximum Students"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: classes/Course_Settings_Tabs.php:46, classes/Options.php:138, classes/Options.php:145, classes/Options.php:165, classes/Options.php:172, classes/Options.php:179, classes/Options.php:186, classes/Options.php:199, classes/Options.php:230, classes/Options.php:248, classes/Options.php:265, classes/Options.php:298, classes/Options.php:316, classes/Options.php:322, classes/Options.php:458, classes/Options.php:565, classes/Options.php:579, classes/Options.php:586, classes/Options.php:611, classes/Options.php:618, classes/Options.php:636, classes/Options.php:660, classes/User.php:193
|
373 |
msgid "Enable"
|
374 |
msgstr ""
|
375 |
|
409 |
msgid "Place comma (,) separated courses ids which you like to exclude from the query"
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: classes/Course_Widget.php:140, classes/Options.php:114, templates/course-filter/filters.php:33
|
413 |
msgid "Category"
|
414 |
msgstr ""
|
415 |
|
637 |
msgid "Couldn't create lesson."
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: classes/Lesson.php:273, classes/Options.php:221, classes/Question_Answers_List.php:78, classes/Quiz_Attempts_List.php:119, classes/Tutor_Setup.php:562, templates/student-public-profile.php:98, templates/dashboard/assignments.php:95, templates/dashboard/question-answer.php:27, templates/shortcode/tutor-instructor.php:27, views/pages/view_attempt.php:73, templates/dashboard/announcements/details.php:19, templates/dashboard/assignments/review.php:44, templates/dashboard/assignments/submitted.php:30, templates/dashboard/earning/statement.php:12, templates/single/quiz/top.php:27
|
641 |
msgid "Course"
|
642 |
msgstr ""
|
643 |
|
678 |
msgid "Embedded"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: classes/Options.php:109, views/metabox/video-metabox.php:143
|
682 |
+
msgid "Shortcode"
|
683 |
+
msgstr ""
|
684 |
+
|
685 |
+
#: classes/Options.php:113
|
686 |
msgid "Keyword Search"
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: classes/Options.php:115, templates/course-filter/filters.php:42
|
690 |
msgid "Tag"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: classes/Options.php:116, views/metabox/course-level-metabox.php:10
|
694 |
msgid "Difficulty Level"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: classes/Options.php:117
|
698 |
msgid "Price Type"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: classes/Options.php:130, classes/Utils.php:7186
|
702 |
msgid "Dashboard Page"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: classes/Options.php:133
|
706 |
msgid "This page will be used for student and instructor dashboard"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: classes/Options.php:137, classes/Tutor_Setup.php:371
|
710 |
msgid "Public Profile"
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: classes/Options.php:140
|
714 |
msgid "Enable this to make a profile publicly visible"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: classes/Options.php:144
|
718 |
msgid "Profile Completion"
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: classes/Options.php:147
|
722 |
msgid "Enabling this feature will show a notification bar to students and instructors to complete their profile information"
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: classes/Options.php:151
|
726 |
msgid "Tutor Native Login"
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: classes/Options.php:152, classes/Options.php:329, classes/Options.php:336, classes/Options.php:343, classes/Options.php:350, classes/Options.php:357, classes/Options.php:364, classes/Options.php:371, classes/Options.php:378, classes/Options.php:385, classes/Options.php:392, classes/Options.php:399, classes/Options.php:406, classes/Options.php:413, classes/Options.php:420, classes/Options.php:427, classes/Options.php:534
|
730 |
msgid "Disable"
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: classes/Options.php:154
|
734 |
msgid "Disable to use the default WordPress login page"
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: classes/Options.php:158
|
738 |
msgid "Course Visibility"
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: classes/Options.php:159
|
742 |
msgid "Logged in only"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: classes/Options.php:160
|
746 |
msgid "Students must be logged in to view course"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: classes/Options.php:164
|
750 |
msgid "Erase upon uninstallation"
|
751 |
msgstr ""
|
752 |
|
753 |
+
#: classes/Options.php:166
|
754 |
msgid "Delete all data during uninstallation"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: classes/Options.php:171
|
758 |
msgid "Spotlight mode"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: classes/Options.php:174
|
762 |
msgid "This will hide the header and the footer and enable spotlight (full screen) mode when students view lessons."
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: classes/Options.php:178, classes/Tutor_Setup.php:381
|
766 |
msgid "YouTube Player"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: classes/Options.php:181, classes/Options.php:188
|
770 |
msgid "Disable this option to use Tutor LMS video player."
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: classes/Options.php:185, classes/Tutor_Setup.php:386
|
774 |
msgid "Vimeo Player"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: classes/Options.php:192
|
778 |
msgid "Pagination"
|
779 |
msgstr ""
|
780 |
|
781 |
+
#: classes/Options.php:194
|
782 |
msgid "Number of items you would like displayed \"per page\" in the pagination"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: classes/Options.php:198
|
786 |
msgid "Maintenance Mode"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: classes/Options.php:201
|
790 |
msgid "Enabling the maintenance mode allows you to display a custom message on the frontend. During this time, visitors can not access the site content. But the wp-admin dashboard will remain accessible."
|
791 |
msgstr ""
|
792 |
|
793 |
+
#: classes/Options.php:205
|
794 |
msgid "Frontend Admin Bar"
|
795 |
msgstr ""
|
796 |
|
797 |
+
#: classes/Options.php:206
|
798 |
msgid "Hide"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: classes/Options.php:208
|
802 |
msgid "Hide admin bar option allow you to hide WordPress admin bar entirely from the frontend. It will still show to administrator roles user"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: classes/Options.php:212
|
806 |
msgid "Error message for wrong login credentials"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: classes/Options.php:214
|
810 |
msgid "Login error message displayed when the user puts wrong login credentials."
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: classes/Options.php:229
|
814 |
msgid "Gutenberg Editor"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: classes/Options.php:231
|
818 |
msgid "Use Gutenberg editor on course description area."
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: classes/Options.php:235, classes/Options.php:241, classes/Options.php:310, classes/Options.php:463, classes/WooCommerce.php:306
|
822 |
msgid "Enable / Disable"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: classes/Options.php:236
|
826 |
msgid "Hide course products from shop page"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: classes/Options.php:237
|
830 |
msgid "Enabling this feature will remove course products from the shop page."
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: classes/Options.php:242
|
834 |
msgid "Course Content Access"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: classes/Options.php:243
|
838 |
msgid "Allow instructors and admins to view the course content without enrolling"
|
839 |
msgstr ""
|
840 |
|
841 |
+
#: classes/Options.php:247
|
842 |
msgid "Auto redirect to courses"
|
843 |
msgstr ""
|
844 |
|
845 |
+
#: classes/Options.php:249
|
846 |
msgid "When a user's WooCommerce order is auto-completed, they will be redirected to enrolled courses"
|
847 |
msgstr ""
|
848 |
|
849 |
+
#: classes/Options.php:253
|
850 |
msgid "Course Completion Process"
|
851 |
msgstr ""
|
852 |
|
853 |
+
#: classes/Options.php:257
|
854 |
msgid "Flexible"
|
855 |
msgstr ""
|
856 |
|
857 |
+
#: classes/Options.php:258
|
858 |
msgid "Strict Mode"
|
859 |
msgstr ""
|
860 |
|
861 |
+
#: classes/Options.php:260
|
862 |
msgid "Students can complete courses anytime in the Flexible mode. In the Strict mode, students have to complete, pass all the lessons and quizzes (if any) to mark a course as complete."
|
863 |
msgstr ""
|
864 |
|
865 |
+
#: classes/Options.php:264
|
866 |
msgid "Course Retake"
|
867 |
msgstr ""
|
868 |
|
869 |
+
#: classes/Options.php:266
|
870 |
msgid "Enabling this feature will allow students to reset course progress and start over."
|
871 |
msgstr ""
|
872 |
|
873 |
+
#: classes/Options.php:271
|
874 |
msgid "Archive"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: classes/Options.php:272
|
878 |
msgid "Course Archive Settings"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: classes/Options.php:276
|
882 |
msgid "Course Archive Page"
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: classes/Options.php:279
|
886 |
msgid "This page will be used to list all the published courses."
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: classes/Options.php:283
|
890 |
msgid "Column Per Row"
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: classes/Options.php:286
|
894 |
msgid "Define how many column you want to use to display courses."
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: classes/Options.php:290, classes/Tutor_Setup.php:419
|
898 |
msgid "Courses Per Page"
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: classes/Options.php:293
|
902 |
msgid "Define how many courses you want to show per page"
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: classes/Options.php:297
|
906 |
msgid "Course Filter"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: classes/Options.php:299
|
910 |
msgid "Show sorting and filtering options on course archive page"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: classes/Options.php:303
|
914 |
msgid "Preferred Course Filters"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: classes/Options.php:305
|
918 |
msgid "Choose preferred filter options you'd like to show in course archive page."
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: classes/Options.php:311
|
922 |
msgid "Course Display Settings"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: classes/Options.php:315
|
926 |
msgid "Display Instructor Info"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: classes/Options.php:317
|
930 |
msgid "Show instructor bio on each page"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: classes/Options.php:321
|
934 |
msgid "Question and Answer"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: classes/Options.php:324
|
938 |
msgid "Enabling this feature will add a Q&A section on every course."
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: classes/Options.php:328
|
942 |
msgid "Course Author"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: classes/Options.php:331
|
946 |
msgid "Disabling this feature will be removed course author name from the course page."
|
947 |
msgstr ""
|
948 |
|
949 |
+
#: classes/Options.php:335
|
950 |
msgid "Course Level"
|
951 |
msgstr ""
|
952 |
|
953 |
+
#: classes/Options.php:338
|
954 |
msgid "Disabling this feature will be removed course level from the course page."
|
955 |
msgstr ""
|
956 |
|
957 |
+
#: classes/Options.php:342
|
958 |
msgid "Course Share"
|
959 |
msgstr ""
|
960 |
|
961 |
+
#: classes/Options.php:345
|
962 |
msgid "Disabling this feature will be removed course share option from the course page."
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: classes/Options.php:349
|
966 |
msgid "Course Duration"
|
967 |
msgstr ""
|
968 |
|
969 |
+
#: classes/Options.php:352
|
970 |
msgid "Disabling this feature will be removed course duration from the course page."
|
971 |
msgstr ""
|
972 |
|
973 |
+
#: classes/Options.php:356
|
974 |
msgid "Course Total Enrolled"
|
975 |
msgstr ""
|
976 |
|
977 |
+
#: classes/Options.php:359
|
978 |
msgid "Disabling this feature will be removed course total enrolled from the course page."
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: classes/Options.php:363
|
982 |
msgid "Course Update Date"
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: classes/Options.php:366
|
986 |
msgid "Disabling this feature will be removed course update date from the course page."
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: classes/Options.php:370
|
990 |
msgid "Course Progress Bar"
|
991 |
msgstr ""
|
992 |
|
993 |
+
#: classes/Options.php:373
|
994 |
msgid "Disabling this feature will be removed completing progress bar from the course page."
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: classes/Options.php:377
|
998 |
msgid "Course Material"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: classes/Options.php:380
|
1002 |
msgid "Disabling this feature will be removed course material from the course page."
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: classes/Options.php:384
|
1006 |
msgid "Course About"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
+
#: classes/Options.php:387
|
1010 |
msgid "Disabling this feature will be removed course about from the course page."
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: classes/Options.php:391
|
1014 |
msgid "Course Description"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: classes/Options.php:394
|
1018 |
msgid "Disabling this feature will be removed course description from the course page."
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: classes/Options.php:398
|
1022 |
msgid "Course Benefits"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: classes/Options.php:401
|
1026 |
msgid "Disabling this feature will be removed course benefits from the course page."
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: classes/Options.php:405
|
1030 |
msgid "Course Requirements"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: classes/Options.php:408
|
1034 |
msgid "Disabling this feature will be removed course requirements from the course page."
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: classes/Options.php:412
|
1038 |
msgid "Course Target Audience"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: classes/Options.php:415
|
1042 |
msgid "Disabling this feature will be removed course target audience from the course page."
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: classes/Options.php:419
|
1046 |
msgid "Course Announcements"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: classes/Options.php:422
|
1050 |
msgid "Disabling this feature will be removed course announcements from the course page."
|
1051 |
msgstr ""
|
1052 |
|
1053 |
+
#: classes/Options.php:426
|
1054 |
msgid "Course Review"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
+
#: classes/Options.php:429
|
1058 |
msgid "Disabling this feature will be removed course review system from the course page."
|
1059 |
msgstr ""
|
1060 |
|
1061 |
+
#: classes/Options.php:433
|
1062 |
msgid "Preferred Video Source"
|
1063 |
msgstr ""
|
1064 |
|
1065 |
+
#: classes/Options.php:435
|
1066 |
msgid "Choose video sources you'd like to support. Unchecking all will not disable video feature."
|
1067 |
msgstr ""
|
1068 |
|
1069 |
+
#: classes/Options.php:439
|
1070 |
msgid "Default Video Source"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
+
#: classes/Options.php:442
|
1074 |
msgid "Choose video source to be selected by default."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
+
#: classes/Options.php:452
|
1078 |
msgid "Lesson Settings"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
+
#: classes/Options.php:453
|
1082 |
msgid "Lesson settings will be here"
|
1083 |
msgstr ""
|
1084 |
|
1085 |
+
#: classes/Options.php:457, views/modal/edit-lesson.php:12
|
1086 |
msgid "Classic Editor"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
+
#: classes/Options.php:459
|
1090 |
msgid "Enable classic editor to get full support of any editor/page builder."
|
1091 |
msgstr ""
|
1092 |
|
1093 |
+
#: classes/Options.php:464
|
1094 |
msgid "Automatically load next course content."
|
1095 |
msgstr ""
|
1096 |
|
1097 |
+
#: classes/Options.php:465
|
1098 |
msgid "Enabling this feature will be load next course content automatically after finishing current video."
|
1099 |
msgstr ""
|
1100 |
|
1101 |
+
#: classes/Options.php:469
|
1102 |
msgid "Lesson Permalink Base"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: classes/Options.php:475
|
1106 |
msgid "Youtube API Key"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: classes/Options.php:484, classes/Options.php:487, classes/Quiz_Attempts_List.php:118, classes/Tutor_Setup.php:563, views/metabox/course-contents.php:174, views/metabox/course-topics.php:68, views/pages/view_attempt.php:39, templates/single/quiz/top.php:24
|
1110 |
msgid "Quiz"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: classes/Options.php:488
|
1114 |
msgid "The values you set here define the default values that are used in the settings form when you create a new quiz."
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: classes/Options.php:492, classes/Tutor_Setup.php:432, views/modal/edit_quiz.php:151
|
1118 |
msgid "Time Limit"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: classes/Options.php:493
|
1122 |
msgid "0 means unlimited time."
|
1123 |
msgstr ""
|
1124 |
|
1125 |
+
#: classes/Options.php:504, views/modal/edit_quiz.php:163
|
1126 |
msgid "Weeks"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
+
#: classes/Options.php:505, views/modal/edit_quiz.php:162
|
1130 |
msgid "Days"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
+
#: classes/Options.php:506, views/modal/edit_quiz.php:161
|
1134 |
msgid "Hours"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
+
#: classes/Options.php:507, views/modal/edit_quiz.php:160
|
1138 |
msgid "Minutes"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: classes/Options.php:508, views/modal/edit_quiz.php:159
|
1142 |
msgid "Seconds"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
+
#: classes/Options.php:515
|
1146 |
msgid "When time expires"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: classes/Options.php:519, classes/Tutor_Setup.php:439
|
1150 |
msgid "The current quiz answers are submitted automatically."
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: classes/Options.php:520, classes/Tutor_Setup.php:440
|
1154 |
msgid "The current quiz answers are submitted by students."
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: classes/Options.php:521, classes/Tutor_Setup.php:441
|
1158 |
msgid "Attempts must be submitted before time expires, otherwise they will not be counted"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
+
#: classes/Options.php:523
|
1162 |
msgid "Choose which action to follow when the quiz time expires."
|
1163 |
msgstr ""
|
1164 |
|
1165 |
+
#: classes/Options.php:527
|
1166 |
msgid "Attempts allowed"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: classes/Options.php:529
|
1170 |
msgid "The highest number of attempts students are allowed to take for a quiz. 0 means unlimited attempts."
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: classes/Options.php:533
|
1174 |
msgid "Show Previous button"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: classes/Options.php:536
|
1178 |
msgid "Choose whether to show or hide previous button for single question."
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: classes/Options.php:540
|
1182 |
msgid "Final grade calculation"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: classes/Options.php:544, classes/Tutor_Setup.php:455
|
1186 |
msgid "Highest Grade"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: classes/Options.php:545, classes/Tutor_Setup.php:460
|
1190 |
msgid "Average Grade"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: classes/Options.php:546, classes/Tutor_Setup.php:465
|
1194 |
msgid "First Attempt"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: classes/Options.php:547, classes/Tutor_Setup.php:470
|
1198 |
msgid "Last Attempt"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: classes/Options.php:549
|
1202 |
msgid "When multiple attempts are allowed, which method should be used to calculate a student's final grade for the quiz."
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: classes/Options.php:559
|
1206 |
msgid "Instructor Profile Settings"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: classes/Options.php:560, classes/Options.php:599, classes/Options.php:631
|
1210 |
msgid "Enable Disable Option to on/off notification on various event"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: classes/Options.php:564
|
1214 |
msgid "Course Marketplace"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: classes/Options.php:567
|
1218 |
msgid "Allow multiple instructors to upload their courses."
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: classes/Options.php:571, classes/Utils.php:7187
|
1222 |
msgid "Instructor Registration Page"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: classes/Options.php:574
|
1226 |
msgid "This page will be used to sign up new instructors."
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: classes/Options.php:578
|
1230 |
msgid "Allow publishing course"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: classes/Options.php:581
|
1234 |
msgid "Enable instructors to publish course directly. <strong>Do not select</strong> if admins want to review courses before publishing."
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: classes/Options.php:585
|
1238 |
msgid "Become Instructor Button"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: classes/Options.php:588
|
1242 |
msgid "Uncheck this option to hide the button from student dashboard."
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: classes/Options.php:598
|
1246 |
msgid "Student Profile settings"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: classes/Options.php:603, classes/Utils.php:7188
|
1250 |
msgid "Student Registration Page"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
+
#: classes/Options.php:606
|
1254 |
msgid "Choose the page for student registration page"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: classes/Options.php:610
|
1258 |
msgid "Show reviews on profile"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: classes/Options.php:613
|
1262 |
msgid "Enabling this will show the reviews written by each student on their profile"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: classes/Options.php:617
|
1266 |
msgid "Show completed courses"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
+
#: classes/Options.php:620
|
1270 |
msgid "Completed courses will be shown on student profiles. <br/> For example, you can see this link-"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
+
#: classes/Options.php:627, classes/Options.php:635, classes/Tutor_Setup.php:491, templates/dashboard/earning.php:123, templates/dashboard/earning/chart-body.php:17, templates/dashboard/earning/statement.php:13, templates/dashboard/earning/statements.php:131
|
1274 |
msgid "Earning"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: classes/Options.php:630
|
1278 |
msgid "Earning and commission allocation"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
+
#: classes/Options.php:638
|
1282 |
msgid "If disabled, the Admin will receive 100% of the earning"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: classes/Options.php:642
|
1286 |
msgid "Admin Commission Percentage"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: classes/Options.php:644
|
1290 |
msgid "Define the commission of the Admin from each sale.(after deducting fees)"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: classes/Options.php:648
|
1294 |
msgid "Instructor Commission Percentage"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: classes/Options.php:650
|
1298 |
msgid "Define the commission for instructors from each sale.(after deducting fees)"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: classes/Options.php:654
|
1302 |
msgid "Fee Deduction"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: classes/Options.php:655
|
1306 |
msgid "Fees are charged from the entire sales amount. The remaining amount will be divided among admin and instructors."
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: classes/Options.php:665
|
1310 |
msgid "Fee Name"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: classes/Options.php:670
|
1314 |
msgid "Fee Amount"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: classes/Options.php:678
|
1318 |
msgid "Select Fees Type"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: classes/Options.php:679
|
1322 |
msgid "Percent"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: classes/Options.php:680
|
1326 |
msgid "Fixed"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: classes/Options.php:688
|
1330 |
msgid "Show Statement Per Page"
|
1331 |
msgstr ""
|
1332 |
|
1333 |
+
#: classes/Options.php:690
|
1334 |
msgid "Define the number of statements to show."
|
1335 |
msgstr ""
|
1336 |
|
1337 |
+
#: classes/Options.php:697, templates/dashboard/withdraw.php:42
|
1338 |
msgid "Withdrawal"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: classes/Options.php:700
|
1342 |
msgid "Withdrawal Settings"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
+
#: classes/Options.php:704
|
1346 |
msgid "Minimum Withdraw Amount"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: classes/Options.php:706
|
1350 |
msgid "Instructors should earn equal or above this amount to make a withdraw request."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: classes/Options.php:712
|
1354 |
msgid "Withdraw Methods"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: classes/Options.php:713
|
1358 |
msgid "Set withdraw settings"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: classes/Options.php:719
|
1362 |
msgid "Style"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: classes/Options.php:722
|
1366 |
msgid "Color Style"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
+
#: classes/Options.php:726
|
1370 |
msgid "Primary Color"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: classes/Options.php:731
|
1374 |
msgid "Primary Hover Color"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: classes/Options.php:736
|
1378 |
msgid "Text color"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: classes/Options.php:741
|
1382 |
msgid "Light color"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: classes/Options.php:748
|
1386 |
msgid "Button Primary Color"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: classes/Options.php:754
|
1390 |
msgid "Button Danger Color"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: classes/Options.php:759
|
1394 |
msgid "Button Success Color"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: classes/Options.php:764
|
1398 |
msgid "Button Warning Color"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: classes/Options.php:774, classes/Options.php:777
|
1402 |
msgid "Monetization"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: classes/Options.php:778
|
1406 |
msgid "You can monetize your LMS website by selling courses in a various way."
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: classes/Options.php:783
|
1410 |
msgid "Monetize Option"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: classes/Options.php:787
|
1414 |
msgid "Disable Monetization"
|
1415 |
msgstr ""
|
1416 |
|
1417 |
+
#: classes/Options.php:789
|
1418 |
msgid "Select a monetization option to generate revenue by selling courses. Supports: WooCommerce, Easy Digital Downloads, Paid Memberships Pro"
|
1419 |
msgstr ""
|
1420 |
|
1828 |
msgid "Answer"
|
1829 |
msgstr ""
|
1830 |
|
1831 |
+
#: classes/Question_Answers_List.php:76, classes/Quiz.php:824, templates/dashboard/question-answer.php:25, views/pages/view_attempt.php:185, templates/dashboard/my-quiz-attempts/attempts-details.php:215, templates/dashboard/quiz-attempts/quiz-reviews.php:232
|
1832 |
msgid "Question"
|
1833 |
msgstr ""
|
1834 |
|
1868 |
msgid "Make sure you’re saving the answers in the right order. Students will have to match this order exactly."
|
1869 |
msgstr ""
|
1870 |
|
1871 |
+
#: classes/Quiz.php:1175, classes/Quiz.php:1169, views/modal/question_form.php:164, views/modal/question_form.php:158, views/pages/view_attempt.php:328, templates/dashboard/quiz-attempts/quiz-reviews.php:404
|
1872 |
msgid "Mark as correct"
|
1873 |
msgstr ""
|
1874 |
|
1968 |
msgid "Setup Wizard"
|
1969 |
msgstr ""
|
1970 |
|
1971 |
+
#: classes/Tutor.php:519, classes/Utils.php:2555, templates/dashboard/dashboard.php:9
|
1972 |
msgid "Dashboard"
|
1973 |
msgstr ""
|
1974 |
|
2064 |
msgid "weeks"
|
2065 |
msgstr ""
|
2066 |
|
2067 |
+
#: classes/Tutor_Setup.php:275, classes/Tutor_Setup.php:564, classes/Utils.php:2569
|
2068 |
msgid "Instructor"
|
2069 |
msgstr ""
|
2070 |
|
2380 |
msgid "Q&A"
|
2381 |
msgstr ""
|
2382 |
|
2383 |
+
#: classes/Utils.php:2224, templates/student-public-profile.php:115
|
2384 |
msgid "Course Enrolled"
|
2385 |
msgstr ""
|
2386 |
|
2387 |
+
#: classes/Utils.php:2556, templates/dashboard/my-profile.php:21
|
2388 |
msgid "My Profile"
|
2389 |
msgstr ""
|
2390 |
|
2391 |
+
#: classes/Utils.php:2557, templates/dashboard/dashboard.php:36, templates/dashboard/enrolled-courses.php:9
|
2392 |
msgid "Enrolled Courses"
|
2393 |
msgstr ""
|
2394 |
|
2395 |
+
#: classes/Utils.php:2558, templates/dashboard/wishlist.php:10
|
2396 |
msgid "Wishlist"
|
2397 |
msgstr ""
|
2398 |
|
2399 |
+
#: classes/Utils.php:2559
|
2400 |
msgid "Reviews"
|
2401 |
msgstr ""
|
2402 |
|
2403 |
+
#: classes/Utils.php:2560, templates/dashboard/my-quiz-attempts.php:25
|
2404 |
msgid "My Quiz Attempts"
|
2405 |
msgstr ""
|
2406 |
|
2407 |
+
#: classes/Utils.php:2561, templates/dashboard/purchase_history.php:9
|
2408 |
msgid "Purchase History"
|
2409 |
msgstr ""
|
2410 |
|
2411 |
+
#: classes/Utils.php:2574
|
2412 |
msgid "Create Course"
|
2413 |
msgstr ""
|
2414 |
|
2415 |
+
#: classes/Utils.php:2579, templates/dashboard/my-courses.php:9
|
2416 |
msgid "My Courses"
|
2417 |
msgstr ""
|
2418 |
|
2419 |
+
#: classes/Utils.php:2587
|
2420 |
msgid "Withdrawals"
|
2421 |
msgstr ""
|
2422 |
|
2423 |
+
#: classes/Utils.php:2595, templates/dashboard/question-answer.php:10, views/pages/question_answer.php:18
|
2424 |
msgid "Question & Answer"
|
2425 |
msgstr ""
|
2426 |
|
2427 |
+
#: classes/Utils.php:2616
|
2428 |
msgid "Logout"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
+
#: classes/Utils.php:2631
|
2432 |
msgid "Retrieve Password"
|
2433 |
msgstr ""
|
2434 |
|
2435 |
+
#: classes/Utils.php:2740, templates/dashboard/dashboard.php:27
|
2436 |
msgid "Pending"
|
2437 |
msgstr ""
|
2438 |
|
2439 |
+
#: classes/Utils.php:2741
|
2440 |
msgid "Approved"
|
2441 |
msgstr ""
|
2442 |
|
2443 |
+
#: classes/Utils.php:2742
|
2444 |
msgid "Blocked"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: classes/Utils.php:4446
|
2448 |
msgid "True/False"
|
2449 |
msgstr ""
|
2450 |
|
2451 |
+
#: classes/Utils.php:4451
|
2452 |
msgid "Single Choice"
|
2453 |
msgstr ""
|
2454 |
|
2455 |
+
#: classes/Utils.php:4456
|
2456 |
msgid "Multiple Choice"
|
2457 |
msgstr ""
|
2458 |
|
2459 |
+
#: classes/Utils.php:4461
|
2460 |
msgid "Open Ended/Essay"
|
2461 |
msgstr ""
|
2462 |
|
2463 |
+
#: classes/Utils.php:4466
|
2464 |
msgid "Fill In The Blanks"
|
2465 |
msgstr ""
|
2466 |
|
2467 |
+
#: classes/Utils.php:4471
|
2468 |
msgid "Short Answer"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
+
#: classes/Utils.php:4476
|
2472 |
msgid "Matching"
|
2473 |
msgstr ""
|
2474 |
|
2475 |
+
#: classes/Utils.php:4481
|
2476 |
msgid "Image Matching"
|
2477 |
msgstr ""
|
2478 |
|
2479 |
+
#: classes/Utils.php:4486
|
2480 |
msgid "Image Answering"
|
2481 |
msgstr ""
|
2482 |
|
2483 |
+
#: classes/Utils.php:4491
|
2484 |
msgid "Ordering"
|
2485 |
msgstr ""
|
2486 |
|
2487 |
+
#: classes/Utils.php:5375
|
2488 |
msgid "All Levels"
|
2489 |
msgstr ""
|
2490 |
|
2491 |
+
#: classes/Utils.php:5376, templates/course-filter/filters.php:4
|
2492 |
msgid "Beginner"
|
2493 |
msgstr ""
|
2494 |
|
2495 |
+
#: classes/Utils.php:5377, templates/course-filter/filters.php:5
|
2496 |
msgid "Intermediate"
|
2497 |
msgstr ""
|
2498 |
|
2499 |
+
#: classes/Utils.php:5378, templates/course-filter/filters.php:6
|
2500 |
msgid "Expert"
|
2501 |
msgstr ""
|
2502 |
|
2503 |
+
#: classes/Utils.php:5402
|
2504 |
msgid "Courses Taken"
|
2505 |
msgstr ""
|
2506 |
|
2507 |
+
#: classes/Utils.php:5409
|
2508 |
msgid "Enrolled Course"
|
2509 |
msgstr ""
|
2510 |
|
2511 |
+
#: classes/Utils.php:5413
|
2512 |
msgid "Reviews Written"
|
2513 |
msgstr ""
|
2514 |
|
2515 |
+
#: classes/Utils.php:5720
|
2516 |
msgid "Website URL"
|
2517 |
msgstr ""
|
2518 |
|
2519 |
+
#: classes/Utils.php:5725
|
2520 |
msgid "Github URL"
|
2521 |
msgstr ""
|
2522 |
|
2523 |
+
#: classes/Utils.php:5730
|
2524 |
msgid "Facebook URL"
|
2525 |
msgstr ""
|
2526 |
|
2527 |
+
#: classes/Utils.php:5735
|
2528 |
msgid "Twitter URL"
|
2529 |
msgstr ""
|
2530 |
|
2531 |
+
#: classes/Utils.php:5740
|
2532 |
msgid "Linkedin URL"
|
2533 |
msgstr ""
|
2534 |
|
2535 |
+
#: classes/Utils.php:7149
|
2536 |
msgid "Not Taken"
|
2537 |
msgstr ""
|
2538 |
|
2539 |
+
#: classes/Utils.php:7147
|
2540 |
msgid "In Progress"
|
2541 |
msgstr ""
|
2542 |
|
2543 |
+
#: classes/Utils.php:7143
|
2544 |
msgid "Completed"
|
2545 |
msgstr ""
|
2546 |
|
2547 |
+
#: classes/Utils.php:7336, templates/dashboard/my-profile.php:34, templates/dashboard/registration.php:49, templates/dashboard/registration.php:52, views/pages/add_new_instructor.php:29, views/pages/add_new_instructor.php:35, templates/dashboard/instructor/registration.php:51, templates/dashboard/instructor/registration.php:54, templates/dashboard/settings/profile.php:96, templates/dashboard/settings/profile.php:98
|
2548 |
msgid "First Name"
|
2549 |
msgstr ""
|
2550 |
|
2551 |
+
#: classes/Utils.php:7337, templates/dashboard/my-profile.php:44, templates/dashboard/registration.php:59, templates/dashboard/registration.php:62, views/pages/add_new_instructor.php:43, views/pages/add_new_instructor.php:49, templates/dashboard/instructor/registration.php:61, templates/dashboard/instructor/registration.php:64, templates/dashboard/settings/profile.php:105, templates/dashboard/settings/profile.php:107
|
2552 |
msgid "Last Name"
|
2553 |
msgstr ""
|
2554 |
|
2555 |
+
#: classes/Utils.php:7338, views/metabox/user-profile-fields.php:37
|
2556 |
msgid "Profile Photo"
|
2557 |
msgstr ""
|
2558 |
|
2559 |
+
#: classes/Utils.php:7339
|
2560 |
msgid "Withdraw Method"
|
2561 |
msgstr ""
|
2562 |
|
2933 |
msgid "Lesson List"
|
2934 |
msgstr ""
|
2935 |
|
2936 |
+
#: templates/single-preview-lesson.php:186, templates/single-quiz.php:35, templates/single/assignment/content.php:32, templates/single/lesson/content.php:35, templates/single/quiz/single_quiz_contents.php:14
|
2937 |
msgid "Go to Course Home"
|
2938 |
msgstr ""
|
2939 |
|
3013 |
msgid "No assignment available"
|
3014 |
msgstr ""
|
3015 |
|
3016 |
+
#: templates/dashboard/assignments.php:74, templates/dashboard/dashboard.php:92
|
3017 |
msgid "Course Name"
|
3018 |
msgstr ""
|
3019 |
|
3093 |
msgid "Important Guideline: %1$s 700x430 pixels %2$s %3$s File Support: %1$s jpg, .jpeg,. gif, or .png %2$s no text on the image."
|
3094 |
msgstr ""
|
3095 |
|
3096 |
+
#: templates/dashboard/create-course.php:238, views/metabox/video-metabox.php:129, views/modal/question_answer_edit_form.php:217, views/modal/question_answer_edit_form.php:180, views/modal/question_answer_edit_form.php:127, views/modal/question_answer_edit_form.php:34, views/modal/question_answer_form.php:235, views/modal/question_answer_form.php:205, views/modal/question_answer_form.php:160, views/modal/question_answer_form.php:49
|
3097 |
msgid "Upload Image"
|
3098 |
msgstr ""
|
3099 |
|
3161 |
msgid "Total Earnings"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
+
#: templates/dashboard/dashboard.php:88
|
3165 |
msgid "Most Popular Courses"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
+
#: templates/dashboard/dashboard.php:93
|
3169 |
msgid "Enrolled"
|
3170 |
msgstr ""
|
3171 |
|
3657 |
msgid "Total Course Duration"
|
3658 |
msgstr ""
|
3659 |
|
3660 |
+
#: views/metabox/course-additional-data.php:26, views/metabox/video-metabox.php:173
|
3661 |
msgid "HH"
|
3662 |
msgstr ""
|
3663 |
|
3664 |
+
#: views/metabox/course-additional-data.php:30, views/metabox/video-metabox.php:178
|
3665 |
msgid "MM"
|
3666 |
msgstr ""
|
3667 |
|
3668 |
+
#: views/metabox/course-additional-data.php:35, views/metabox/video-metabox.php:183
|
3669 |
msgid "SS"
|
3670 |
msgstr ""
|
3671 |
|
3811 |
msgid "Upload"
|
3812 |
msgstr ""
|
3813 |
|
3814 |
+
#: views/metabox/video-metabox.php:41
|
3815 |
+
msgid "[/] Shortcode"
|
3816 |
+
msgstr ""
|
3817 |
+
|
3818 |
+
#: views/metabox/video-metabox.php:61
|
3819 |
msgid "Video Source"
|
3820 |
msgstr ""
|
3821 |
|
3822 |
+
#: views/metabox/video-metabox.php:59
|
3823 |
msgid "Course Intro Video"
|
3824 |
msgstr ""
|
3825 |
|
3826 |
+
#: views/metabox/video-metabox.php:70
|
3827 |
msgid "Select Video Source"
|
3828 |
msgstr ""
|
3829 |
|
3830 |
+
#: views/metabox/video-metabox.php:83
|
3831 |
msgid "Select your preferred video type."
|
3832 |
msgstr ""
|
3833 |
|
3834 |
+
#: views/metabox/video-metabox.php:96
|
3835 |
msgid "Upload Video"
|
3836 |
msgstr ""
|
3837 |
|
3838 |
+
#: views/metabox/video-metabox.php:98
|
3839 |
msgid "Media ID"
|
3840 |
msgstr ""
|
3841 |
|
3842 |
+
#: views/metabox/video-metabox.php:120
|
3843 |
msgid "Video Poster"
|
3844 |
msgstr ""
|
3845 |
|
3846 |
+
#: views/metabox/video-metabox.php:121
|
3847 |
msgid "Thumb Size: 700x430 pixels. File Support: jpg, jpeg, or png"
|
3848 |
msgstr ""
|
3849 |
|
3851 |
msgid "External Video URL"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
+
#: views/metabox/video-metabox.php:147
|
3855 |
msgid "YouTube Video URL"
|
3856 |
msgstr ""
|
3857 |
|
3858 |
+
#: views/metabox/video-metabox.php:151
|
3859 |
msgid "Vimeo Video URL"
|
3860 |
msgstr ""
|
3861 |
|
3862 |
+
#: views/metabox/video-metabox.php:155
|
3863 |
msgid "Place your embedded code here"
|
3864 |
msgstr ""
|
3865 |
|
3866 |
+
#: views/metabox/video-metabox.php:166
|
3867 |
msgid "Video playback time"
|
3868 |
msgstr ""
|
3869 |
|
4287 |
msgid "Update Announcement"
|
4288 |
msgstr ""
|
4289 |
|
4290 |
+
#: views/pages/announcements.php:328, views/pages/view_attempt.php:351, templates/dashboard/announcements/update.php:51, templates/dashboard/quiz-attempts/quiz-reviews.php:424
|
4291 |
msgid "Update"
|
4292 |
msgstr ""
|
4293 |
|
4363 |
msgid "Quiz Time"
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: views/pages/view_attempt.php:153, templates/dashboard/quiz-attempts/quiz-reviews.php:198
|
4367 |
msgid "Reminder:"
|
4368 |
msgstr ""
|
4369 |
|
4370 |
+
#: views/pages/view_attempt.php:153, templates/dashboard/quiz-attempts/quiz-reviews.php:198
|
4371 |
msgid "Please review answers for question no. %s"
|
4372 |
msgstr ""
|
4373 |
|
4374 |
+
#: views/pages/view_attempt.php:162, templates/dashboard/quiz-attempts/quiz-reviews.php:209
|
4375 |
msgid "Manually reviewed at: "
|
4376 |
msgstr ""
|
4377 |
|
4378 |
+
#: views/pages/view_attempt.php:178, templates/dashboard/my-quiz-attempts/attempts-details.php:208, templates/dashboard/quiz-attempts/quiz-reviews.php:225
|
4379 |
msgid "Quiz Overview"
|
4380 |
msgstr ""
|
4381 |
|
4382 |
+
#: views/pages/view_attempt.php:183, templates/dashboard/earning/statement.php:53, templates/dashboard/earning/statement.php:60, templates/dashboard/earning/statements.php:181, templates/dashboard/earning/statements.php:188, templates/dashboard/my-quiz-attempts/attempts-details.php:214, templates/dashboard/quiz-attempts/quiz-reviews.php:231
|
4383 |
msgid "Type"
|
4384 |
msgstr ""
|
4385 |
|
4386 |
+
#: views/pages/view_attempt.php:184, templates/dashboard/my-quiz-attempts/attempts-details.php:213, templates/dashboard/quiz-attempts/quiz-reviews.php:230
|
4387 |
msgid "No."
|
4388 |
msgstr ""
|
4389 |
|
4390 |
+
#: views/pages/view_attempt.php:186, templates/dashboard/my-quiz-attempts/attempts-details.php:216, templates/dashboard/quiz-attempts/quiz-reviews.php:233
|
4391 |
msgid "Given Answers"
|
4392 |
msgstr ""
|
4393 |
|
4394 |
+
#: views/pages/view_attempt.php:187, templates/dashboard/my-quiz-attempts/attempts-details.php:218, templates/dashboard/quiz-attempts/quiz-reviews.php:235
|
4395 |
msgid "Correct/Incorrect"
|
4396 |
msgstr ""
|
4397 |
|
4398 |
+
#: views/pages/view_attempt.php:188, templates/dashboard/quiz-attempts/quiz-reviews.php:236
|
4399 |
msgid "Manual Review"
|
4400 |
msgstr ""
|
4401 |
|
4402 |
+
#: views/pages/view_attempt.php:317, views/pages/view_attempt.php:312, templates/dashboard/my-quiz-attempts/attempts-details.php:124, templates/dashboard/my-quiz-attempts/attempts-details.php:389, templates/dashboard/my-quiz-attempts/attempts-details.php:384, templates/dashboard/quiz-attempts/quiz-reviews.php:110, templates/dashboard/quiz-attempts/quiz-reviews.php:397, templates/dashboard/quiz-attempts/quiz-reviews.php:392
|
4403 |
msgid "Incorrect"
|
4404 |
msgstr ""
|
4405 |
|
4406 |
+
#: views/pages/view_attempt.php:314, views/pages/view_attempt.php:303, templates/dashboard/my-quiz-attempts/attempts-details.php:123, templates/dashboard/my-quiz-attempts/attempts-details.php:380, templates/dashboard/quiz-attempts/quiz-reviews.php:109, templates/dashboard/quiz-attempts/quiz-reviews.php:388
|
4407 |
msgid "Correct"
|
4408 |
msgstr ""
|
4409 |
|
4410 |
+
#: views/pages/view_attempt.php:309, templates/dashboard/my-quiz-attempts/attempts-details.php:386, templates/dashboard/quiz-attempts/quiz-reviews.php:394
|
4411 |
msgid "Review Required"
|
4412 |
msgstr ""
|
4413 |
|
4414 |
+
#: views/pages/view_attempt.php:329, templates/dashboard/quiz-attempts/quiz-reviews.php:405
|
4415 |
msgid "Mark as In correct"
|
4416 |
msgstr ""
|
4417 |
|
4418 |
+
#: views/pages/view_attempt.php:347, templates/dashboard/my-quiz-attempts/attempts-details.php:190, templates/dashboard/quiz-attempts/quiz-reviews.php:176, templates/dashboard/quiz-attempts/quiz-reviews.php:420
|
4419 |
msgid "Instructor Feedback"
|
4420 |
msgstr ""
|
4421 |
|
4422 |
+
#: views/pages/view_attempt.php:351, templates/dashboard/quiz-attempts/quiz-reviews.php:424
|
4423 |
msgid "Updated"
|
4424 |
msgstr ""
|
4425 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: lms, course, elearning, education, learning management system
|
|
5 |
Requires at least: 5.3
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 7.0
|
8 |
-
Stable tag: 1.9.
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -241,9 +241,21 @@ Tutor enables you to use any third party plugins without facing any compatibilit
|
|
241 |
|
242 |
== Changelog ==
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
= 1.9.13 - January 10, 2022 =
|
245 |
|
246 |
-
Update:
|
|
|
|
|
247 |
|
248 |
= 1.9.12 - December 14, 2021 =
|
249 |
|
5 |
Requires at least: 5.3
|
6 |
Tested up to: 5.8
|
7 |
Requires PHP: 7.0
|
8 |
+
Stable tag: 1.9.14
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
241 |
|
242 |
== Changelog ==
|
243 |
|
244 |
+
= 1.9.14 - January 20, 2022 =
|
245 |
+
|
246 |
+
New: Now you can add Videos using a Shortcode
|
247 |
+
Fix: Issue of HTML codes disappearing after saving a Quiz
|
248 |
+
Fix: Issue regarding video not working using Embedded code
|
249 |
+
Fix: Presto Player Shortcode wasn't saving in the video source
|
250 |
+
Update: Better user input field sanitization ensure SQL Injection
|
251 |
+
Update: Better security of HTML output of user-provided input
|
252 |
+
Update: XSS vulnerability protection is made stronger
|
253 |
+
|
254 |
= 1.9.13 - January 10, 2022 =
|
255 |
|
256 |
+
Update: User Input field sanitization is made stronger to ensure SQL Injection
|
257 |
+
Update: HTML output of user provided input is more secure now
|
258 |
+
Update: XSS vulnerability protection is made stronger than before
|
259 |
|
260 |
= 1.9.12 - December 14, 2021 =
|
261 |
|
templates/dashboard.php
CHANGED
@@ -111,7 +111,7 @@ do_action( 'tutor_dashboard/before/wrap' );
|
|
111 |
'</b>'.
|
112 |
'</span>';
|
113 |
} elseif ( $rejected_on || $instructor_status !== 'blocked' ) {
|
114 |
-
echo $become_button;
|
115 |
}
|
116 |
?>
|
117 |
</div>
|
111 |
'</b>'.
|
112 |
'</span>';
|
113 |
} elseif ( $rejected_on || $instructor_status !== 'blocked' ) {
|
114 |
+
echo $become_button;
|
115 |
}
|
116 |
?>
|
117 |
</div>
|
templates/dashboard/announcements/create.php
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
<select class="ignore-nice-select" name="tutor_announcement_course" id="" required>
|
22 |
<?php if ( $courses ) : ?>
|
23 |
<?php foreach ( $courses as $course ) : ?>
|
24 |
-
<option value="<?php echo $course->ID; ?>">
|
25 |
<?php echo esc_html( $course->post_title ); ?>
|
26 |
</option>
|
27 |
<?php endforeach; ?>
|
21 |
<select class="ignore-nice-select" name="tutor_announcement_course" id="" required>
|
22 |
<?php if ( $courses ) : ?>
|
23 |
<?php foreach ( $courses as $course ) : ?>
|
24 |
+
<option value="<?php echo esc_attr( $course->ID ); ?>">
|
25 |
<?php echo esc_html( $course->post_title ); ?>
|
26 |
</option>
|
27 |
<?php endforeach; ?>
|
templates/dashboard/announcements/update.php
CHANGED
@@ -22,7 +22,7 @@
|
|
22 |
<select class="ignore-nice-select" name="tutor_announcement_course" id="tutor-announcement-course-id" required>
|
23 |
<?php if ( $courses ) : ?>
|
24 |
<?php foreach ( $courses as $course ) : ?>
|
25 |
-
<option value="<?php echo $course->ID; ?>">
|
26 |
<?php echo esc_html( $course->post_title ); ?>
|
27 |
</option>
|
28 |
<?php endforeach; ?>
|
22 |
<select class="ignore-nice-select" name="tutor_announcement_course" id="tutor-announcement-course-id" required>
|
23 |
<?php if ( $courses ) : ?>
|
24 |
<?php foreach ( $courses as $course ) : ?>
|
25 |
+
<option value="<?php echo esc_attr( $course->ID ); ?>">
|
26 |
<?php echo esc_html( $course->post_title ); ?>
|
27 |
</option>
|
28 |
<?php endforeach; ?>
|
templates/dashboard/assignments/review.php
CHANGED
@@ -11,8 +11,8 @@
|
|
11 |
* @version 1.4.3
|
12 |
*/
|
13 |
|
14 |
-
$assignment_id = (int)
|
15 |
-
$assignment_submitted_id = (int)
|
16 |
$submitted_url = tutor_utils()->get_tutor_dashboard_page_permalink( 'assignments/submitted' );
|
17 |
|
18 |
if ( ! $assignment_submitted_id ) {
|
@@ -93,13 +93,13 @@ if ( $submitted_assignment ) {
|
|
93 |
<form action="" method="post" class="tutor-form-submit-through-ajax" data-toast_success_message="<?php esc_attr_e( 'Assignment evaluated', 'tutor' ); ?>">
|
94 |
<?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce ); ?>
|
95 |
<input type="hidden" value="tutor_evaluate_assignment_submission" name="tutor_action"/>
|
96 |
-
<input type="hidden" value="<?php echo $assignment_submitted_id; ?>" name="assignment_submitted_id"/>
|
97 |
<div class="tutor-assignment-evaluate-row">
|
98 |
<div class="tutor-option-field-label">
|
99 |
<label for=""><?php esc_html_e( 'Your Points', 'tutor' ); ?></label>
|
100 |
</div>
|
101 |
<div class="tutor-option-field input-mark">
|
102 |
-
<input type="number" name="evaluate_assignment[assignment_mark]" value="<?php echo $given_mark ? $given_mark : 0; ?>">
|
103 |
<p class="desc"><?php echo wp_sprintf( __( 'Evaluate this assignment out of %s', 'tutor' ), '<code>' . $max_mark . '</code>' ); ?></p>
|
104 |
</div>
|
105 |
</div>
|
11 |
* @version 1.4.3
|
12 |
*/
|
13 |
|
14 |
+
$assignment_id = (int) tutor_utils()->array_get( 'assignment', $_GET );
|
15 |
+
$assignment_submitted_id = (int) tutor_utils()->array_get( 'view_assignment', $_GET );
|
16 |
$submitted_url = tutor_utils()->get_tutor_dashboard_page_permalink( 'assignments/submitted' );
|
17 |
|
18 |
if ( ! $assignment_submitted_id ) {
|
93 |
<form action="" method="post" class="tutor-form-submit-through-ajax" data-toast_success_message="<?php esc_attr_e( 'Assignment evaluated', 'tutor' ); ?>">
|
94 |
<?php wp_nonce_field( tutor()->nonce_action, tutor()->nonce ); ?>
|
95 |
<input type="hidden" value="tutor_evaluate_assignment_submission" name="tutor_action"/>
|
96 |
+
<input type="hidden" value="<?php echo esc_attr( $assignment_submitted_id ); ?>" name="assignment_submitted_id"/>
|
97 |
<div class="tutor-assignment-evaluate-row">
|
98 |
<div class="tutor-option-field-label">
|
99 |
<label for=""><?php esc_html_e( 'Your Points', 'tutor' ); ?></label>
|
100 |
</div>
|
101 |
<div class="tutor-option-field input-mark">
|
102 |
+
<input type="number" name="evaluate_assignment[assignment_mark]" value="<?php echo $given_mark ? esc_attr( $given_mark ) : 0; ?>">
|
103 |
<p class="desc"><?php echo wp_sprintf( __( 'Evaluate this assignment out of %s', 'tutor' ), '<code>' . $max_mark . '</code>' ); ?></p>
|
104 |
</div>
|
105 |
</div>
|
templates/dashboard/create-course.php
CHANGED
@@ -58,7 +58,7 @@ if ( ! tutor_utils()->can_user_edit_course( get_current_user_id(), $course_id )
|
|
58 |
</div>
|
59 |
<div class="tutor-col-auto">
|
60 |
<div class="tutor-dashboard-builder-header-right">
|
61 |
-
<a href="<?php esc_url( get_the_permalink( $course_id ) ); ?>" target="_blank"><i class="tutor-icon-glasses"></i><?php _e( 'Preview', 'tutor' ); ?></a>
|
62 |
<?php
|
63 |
if ( $can_publish_course ) {
|
64 |
?>
|
@@ -91,18 +91,18 @@ if ( ! tutor_utils()->can_user_edit_course( get_current_user_id(), $course_id )
|
|
91 |
$expires = get_user_meta( $user_id, 'tutor_frontend_course_message_expires', true );
|
92 |
$message = get_user_meta( $user_id, 'tutor_frontend_course_action_message', true );
|
93 |
|
94 |
-
|
95 |
-
|
96 |
<div class="tutor-alert tutor-alert-info">
|
97 |
<?php echo esc_html( $message ); ?>
|
98 |
</div>
|
99 |
<?php
|
100 |
-
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
?>
|
107 |
<!--alert message end -->
|
108 |
<?php do_action( 'tutor/dashboard_course_builder_form_field_before' ); ?>
|
58 |
</div>
|
59 |
<div class="tutor-col-auto">
|
60 |
<div class="tutor-dashboard-builder-header-right">
|
61 |
+
<a href="<?php echo esc_url( get_the_permalink( $course_id ) ); ?>" target="_blank"><i class="tutor-icon-glasses"></i><?php _e( 'Preview', 'tutor' ); ?></a>
|
62 |
<?php
|
63 |
if ( $can_publish_course ) {
|
64 |
?>
|
91 |
$expires = get_user_meta( $user_id, 'tutor_frontend_course_message_expires', true );
|
92 |
$message = get_user_meta( $user_id, 'tutor_frontend_course_action_message', true );
|
93 |
|
94 |
+
if ( $message && $expires && $expires > time() ) {
|
95 |
+
?>
|
96 |
<div class="tutor-alert tutor-alert-info">
|
97 |
<?php echo esc_html( $message ); ?>
|
98 |
</div>
|
99 |
<?php
|
100 |
+
}
|
101 |
|
102 |
+
if ( $message || $expires ) {
|
103 |
+
delete_user_meta( $user_id, 'tutor_frontend_course_message_expires' );
|
104 |
+
delete_user_meta( $user_id, 'tutor_frontend_course_action_message' );
|
105 |
+
}
|
106 |
?>
|
107 |
<!--alert message end -->
|
108 |
<?php do_action( 'tutor/dashboard_course_builder_form_field_before' ); ?>
|
templates/dashboard/dashboard.php
CHANGED
@@ -34,19 +34,19 @@
|
|
34 |
<div class="tutor-dashboard-info-card">
|
35 |
<p>
|
36 |
<span><?php _e( 'Enrolled Courses', 'tutor' ); ?></span>
|
37 |
-
<span class="tutor-dashboard-info-val"><?php echo $enrolled_course_count; ?></span>
|
38 |
</p>
|
39 |
</div>
|
40 |
<div class="tutor-dashboard-info-card">
|
41 |
<p>
|
42 |
<span><?php _e( 'Active Courses', 'tutor' ); ?></span>
|
43 |
-
<span class="tutor-dashboard-info-val"><?php echo $active_course_count; ?></span>
|
44 |
</p>
|
45 |
</div>
|
46 |
<div class="tutor-dashboard-info-card">
|
47 |
<p>
|
48 |
<span><?php _e( 'Completed Courses', 'tutor' ); ?></span>
|
49 |
-
<span class="tutor-dashboard-info-val"><?php echo $completed_course_count; ?></span>
|
50 |
</p>
|
51 |
</div>
|
52 |
|
@@ -57,7 +57,7 @@
|
|
57 |
<p>
|
58 |
<span><?php _e( 'Total Students', 'tutor' ); ?></span>
|
59 |
<span class="tutor-dashboard-info-val">
|
60 |
-
<?php echo $total_students; ?>
|
61 |
</span>
|
62 |
</p>
|
63 |
</div>
|
@@ -70,7 +70,9 @@
|
|
70 |
<div class="tutor-dashboard-info-card">
|
71 |
<p>
|
72 |
<span><?php _e( 'Total Earnings', 'tutor' ); ?></span>
|
73 |
-
<span class="tutor-dashboard-info-val"
|
|
|
|
|
74 |
</p>
|
75 |
</div>
|
76 |
<?php
|
34 |
<div class="tutor-dashboard-info-card">
|
35 |
<p>
|
36 |
<span><?php _e( 'Enrolled Courses', 'tutor' ); ?></span>
|
37 |
+
<span class="tutor-dashboard-info-val"><?php echo esc_html( $enrolled_course_count ); ?></span>
|
38 |
</p>
|
39 |
</div>
|
40 |
<div class="tutor-dashboard-info-card">
|
41 |
<p>
|
42 |
<span><?php _e( 'Active Courses', 'tutor' ); ?></span>
|
43 |
+
<span class="tutor-dashboard-info-val"><?php echo esc_html( $active_course_count ); ?></span>
|
44 |
</p>
|
45 |
</div>
|
46 |
<div class="tutor-dashboard-info-card">
|
47 |
<p>
|
48 |
<span><?php _e( 'Completed Courses', 'tutor' ); ?></span>
|
49 |
+
<span class="tutor-dashboard-info-val"><?php echo esc_html( $completed_course_count ); ?></span>
|
50 |
</p>
|
51 |
</div>
|
52 |
|
57 |
<p>
|
58 |
<span><?php _e( 'Total Students', 'tutor' ); ?></span>
|
59 |
<span class="tutor-dashboard-info-val">
|
60 |
+
<?php echo esc_html( $total_students ); ?>
|
61 |
</span>
|
62 |
</p>
|
63 |
</div>
|
70 |
<div class="tutor-dashboard-info-card">
|
71 |
<p>
|
72 |
<span><?php _e( 'Total Earnings', 'tutor' ); ?></span>
|
73 |
+
<span class="tutor-dashboard-info-val">
|
74 |
+
<?php echo tutor_kses_html( tutor_utils()->tutor_price( $earning_sum->instructor_amount ) ); ?>
|
75 |
+
</span>
|
76 |
</p>
|
77 |
</div>
|
78 |
<?php
|
templates/dashboard/my-profile.php
CHANGED
@@ -35,7 +35,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
35 |
</div>
|
36 |
<div class="content">
|
37 |
<p>
|
38 |
-
<?php echo $fname ? $fname : '________'; ?>
|
39 |
</p>
|
40 |
</div>
|
41 |
</div>
|
@@ -45,7 +45,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
45 |
</div>
|
46 |
<div class="content">
|
47 |
<p>
|
48 |
-
<?php echo $lname ? $lname : '________'; ?>
|
49 |
</p>
|
50 |
</div>
|
51 |
</div>
|
@@ -54,7 +54,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
54 |
<span><?php _e( 'Username', 'tutor' ); ?></span>
|
55 |
</div>
|
56 |
<div class="content">
|
57 |
-
<p><?php echo $uname; ?> </p>
|
58 |
</div>
|
59 |
</div>
|
60 |
<div class="tutor-dashboard-profile-item">
|
@@ -62,7 +62,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
62 |
<span><?php _e( 'Email', 'tutor' ); ?></span>
|
63 |
</div>
|
64 |
<div class="content">
|
65 |
-
<p><?php echo $email; ?> </p>
|
66 |
</div>
|
67 |
</div>
|
68 |
<div class="tutor-dashboard-profile-item">
|
@@ -70,7 +70,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
70 |
<span><?php _e( 'Phone Number', 'tutor' ); ?></span>
|
71 |
</div>
|
72 |
<div class="content">
|
73 |
-
<p><?php echo $phone ?
|
74 |
</div>
|
75 |
</div>
|
76 |
|
@@ -79,7 +79,7 @@ $bio = nl2br( strip_tags( get_user_meta( $uid, '_tutor_profile
|
|
79 |
<span><?php _e( 'Bio', 'tutor' ); ?></span>
|
80 |
</div>
|
81 |
<div class="content">
|
82 |
-
<p><?php echo $bio ? $bio : '________'; ?> </p>
|
83 |
</div>
|
84 |
</div>
|
85 |
|
35 |
</div>
|
36 |
<div class="content">
|
37 |
<p>
|
38 |
+
<?php echo $fname ? esc_html( $fname ) : '________'; ?>
|
39 |
</p>
|
40 |
</div>
|
41 |
</div>
|
45 |
</div>
|
46 |
<div class="content">
|
47 |
<p>
|
48 |
+
<?php echo $lname ? esc_html( $lname ) : '________'; ?>
|
49 |
</p>
|
50 |
</div>
|
51 |
</div>
|
54 |
<span><?php _e( 'Username', 'tutor' ); ?></span>
|
55 |
</div>
|
56 |
<div class="content">
|
57 |
+
<p><?php echo esc_html( $uname ); ?> </p>
|
58 |
</div>
|
59 |
</div>
|
60 |
<div class="tutor-dashboard-profile-item">
|
62 |
<span><?php _e( 'Email', 'tutor' ); ?></span>
|
63 |
</div>
|
64 |
<div class="content">
|
65 |
+
<p><?php echo esc_html( $email ); ?> </p>
|
66 |
</div>
|
67 |
</div>
|
68 |
<div class="tutor-dashboard-profile-item">
|
70 |
<span><?php _e( 'Phone Number', 'tutor' ); ?></span>
|
71 |
</div>
|
72 |
<div class="content">
|
73 |
+
<p><?php echo $phone ? esc_html( $phone ) : '________'; ?> </p>
|
74 |
</div>
|
75 |
</div>
|
76 |
|
79 |
<span><?php _e( 'Bio', 'tutor' ); ?></span>
|
80 |
</div>
|
81 |
<div class="content">
|
82 |
+
<p><?php echo $bio ? esc_html( $bio ) : '________'; ?> </p>
|
83 |
</div>
|
84 |
</div>
|
85 |
|
templates/dashboard/my-quiz-attempts/attempts-details.php
CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
-
$attempt_id = (int)
|
20 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
21 |
|
22 |
if ( ! $attempt ) {
|
16 |
exit;
|
17 |
}
|
18 |
|
19 |
+
$attempt_id = (int) $_GET['attempt_id'];
|
20 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
21 |
|
22 |
if ( ! $attempt ) {
|
templates/dashboard/purchase_history.php
CHANGED
@@ -47,7 +47,7 @@ if ( tutils()->count( $orders ) ) {
|
|
47 |
}
|
48 |
?>
|
49 |
</td>
|
50 |
-
<td><?php echo $price;
|
51 |
<td><?php echo $status; ?></td>
|
52 |
|
53 |
<td>
|
47 |
}
|
48 |
?>
|
49 |
</td>
|
50 |
+
<td><?php echo $price; ?></td>
|
51 |
<td><?php echo $status; ?></td>
|
52 |
|
53 |
<td>
|
templates/dashboard/quiz-attempts/quiz-reviews.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
?>
|
15 |
|
16 |
<?php
|
17 |
-
$attempt_id = (int)
|
18 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
19 |
|
20 |
if ( ! $attempt ) {
|
14 |
?>
|
15 |
|
16 |
<?php
|
17 |
+
$attempt_id = (int) $_GET['attempt_id'];
|
18 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
19 |
|
20 |
if ( ! $attempt ) {
|
templates/shortcode/instructor-filter.php
CHANGED
@@ -75,7 +75,7 @@ foreach ( $categories as $category ) {
|
|
75 |
</div>
|
76 |
</div>
|
77 |
<div class="filter-result-container">
|
78 |
-
<?php echo $content;
|
79 |
</div>
|
80 |
</div>
|
81 |
</div>
|
75 |
</div>
|
76 |
</div>
|
77 |
<div class="filter-result-container">
|
78 |
+
<?php echo $content; ?>
|
79 |
</div>
|
80 |
</div>
|
81 |
</div>
|
templates/single-preview-lesson.php
CHANGED
@@ -84,7 +84,7 @@ $enable_spotlight_mode = tutor_utils()->get_option( 'enable_spotlight_mode' );
|
|
84 |
$topic_summery = get_the_content();
|
85 |
?>
|
86 |
|
87 |
-
<div class="tutor-topics-in-single-lesson tutor-topics-<?php echo $topic_id; ?>">
|
88 |
<div class="tutor-topics-title <?php echo $topic_summery ? 'has-summery' : ''; ?>">
|
89 |
<h3>
|
90 |
<?php
|
@@ -162,35 +162,22 @@ $enable_spotlight_mode = tutor_utils()->get_option( 'enable_spotlight_mode' );
|
|
162 |
}
|
163 |
?>
|
164 |
</div>
|
165 |
-
|
166 |
</div>
|
167 |
-
|
168 |
</div>
|
169 |
|
170 |
<?php do_action( 'tutor_lesson/single/after/lesson_sidebar' ); ?>
|
171 |
-
|
172 |
-
|
173 |
<!-- END: Sidebar -->
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
</div>
|
179 |
<div id="tutor-single-entry-content" class="tutor-lesson-content tutor-single-entry-content tutor-single-entry-content-<?php the_ID(); ?>">
|
180 |
-
|
181 |
-
<?php // tutor_lesson_content(); ?>
|
182 |
-
|
183 |
<?php
|
|
|
|
|
|
|
|
|
184 |
|
185 |
-
|
186 |
-
$jsonData['post_id'] = get_the_ID();
|
187 |
-
$jsonData['best_watch_time'] = 0;
|
188 |
-
$jsonData['autoload_next_course_content'] = (bool) get_tutor_option( 'autoload_next_course_content' );
|
189 |
-
|
190 |
?>
|
191 |
|
192 |
-
<?php do_action( 'tutor_lesson/single/before/content' ); ?>
|
193 |
-
|
194 |
<div class="tutor-single-page-top-bar">
|
195 |
<div class="tutor-topbar-item tutor-hide-sidebar-bar">
|
196 |
<a href="javascript:;" class="tutor-lesson-sidebar-hide-bar"><i class="tutor-icon-angle-left"></i> </a>
|
@@ -207,22 +194,17 @@ $enable_spotlight_mode = tutor_utils()->get_option( 'enable_spotlight_mode' );
|
|
207 |
</div>
|
208 |
</div>
|
209 |
|
210 |
-
|
211 |
<div class="tutor-lesson-content-area">
|
212 |
<input type="hidden" id="tutor_video_tracking_information" value="<?php echo esc_attr( json_encode( $jsonData ) ); ?>">
|
213 |
-
<?php
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
217 |
</div>
|
218 |
|
219 |
<?php do_action( 'tutor_lesson/single/after/content' ); ?>
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
</div>
|
227 |
</div>
|
228 |
<?php
|
84 |
$topic_summery = get_the_content();
|
85 |
?>
|
86 |
|
87 |
+
<div class="tutor-topics-in-single-lesson tutor-topics-<?php echo esc_attr( $topic_id ) ; ?>">
|
88 |
<div class="tutor-topics-title <?php echo $topic_summery ? 'has-summery' : ''; ?>">
|
89 |
<h3>
|
90 |
<?php
|
162 |
}
|
163 |
?>
|
164 |
</div>
|
|
|
165 |
</div>
|
|
|
166 |
</div>
|
167 |
|
168 |
<?php do_action( 'tutor_lesson/single/after/lesson_sidebar' ); ?>
|
|
|
|
|
169 |
<!-- END: Sidebar -->
|
|
|
|
|
|
|
|
|
170 |
</div>
|
171 |
<div id="tutor-single-entry-content" class="tutor-lesson-content tutor-single-entry-content tutor-single-entry-content-<?php the_ID(); ?>">
|
|
|
|
|
|
|
172 |
<?php
|
173 |
+
$jsonData = array();
|
174 |
+
$jsonData['post_id'] = get_the_ID();
|
175 |
+
$jsonData['best_watch_time'] = 0;
|
176 |
+
$jsonData['autoload_next_course_content'] = (bool) get_tutor_option( 'autoload_next_course_content' );
|
177 |
|
178 |
+
do_action( 'tutor_lesson/single/before/content' );
|
|
|
|
|
|
|
|
|
179 |
?>
|
180 |
|
|
|
|
|
181 |
<div class="tutor-single-page-top-bar">
|
182 |
<div class="tutor-topbar-item tutor-hide-sidebar-bar">
|
183 |
<a href="javascript:;" class="tutor-lesson-sidebar-hide-bar"><i class="tutor-icon-angle-left"></i> </a>
|
194 |
</div>
|
195 |
</div>
|
196 |
|
|
|
197 |
<div class="tutor-lesson-content-area">
|
198 |
<input type="hidden" id="tutor_video_tracking_information" value="<?php echo esc_attr( json_encode( $jsonData ) ); ?>">
|
199 |
+
<?php
|
200 |
+
tutor_lesson_video();
|
201 |
+
the_content();
|
202 |
+
get_tutor_posts_attachments();
|
203 |
+
tutor_next_previous_pagination();
|
204 |
+
?>
|
205 |
</div>
|
206 |
|
207 |
<?php do_action( 'tutor_lesson/single/after/content' ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
</div>
|
209 |
</div>
|
210 |
<?php
|
templates/single/course/review-form.php
CHANGED
@@ -43,7 +43,7 @@ $rating = $isLoggedIn ? tutor_utils()->get_course_rating_by_user() : '';
|
|
43 |
ob_start();
|
44 |
tutor_load_template( 'single.course.login' );
|
45 |
$output = apply_filters( 'tutor_course/global/login', ob_get_clean() );
|
46 |
-
echo $output;
|
47 |
}
|
48 |
?>
|
49 |
</div>
|
43 |
ob_start();
|
44 |
tutor_load_template( 'single.course.login' );
|
45 |
$output = apply_filters( 'tutor_course/global/login', ob_get_clean() );
|
46 |
+
echo $output;
|
47 |
}
|
48 |
?>
|
49 |
</div>
|
templates/single/next-previous-pagination.php
CHANGED
@@ -16,13 +16,17 @@
|
|
16 |
<?php
|
17 |
if ( $previous_id ) {
|
18 |
?>
|
19 |
-
|
|
|
|
|
20 |
<?php
|
21 |
}
|
22 |
|
23 |
if ( $next_id ) {
|
24 |
?>
|
25 |
-
|
|
|
|
|
26 |
<?php
|
27 |
}
|
28 |
?>
|
16 |
<?php
|
17 |
if ( $previous_id ) {
|
18 |
?>
|
19 |
+
<a class="tutor-previous-link tutor-previous-link-<?php echo esc_attr( $previous_id ); ?>" href="<?php echo esc_url( get_the_permalink( $previous_id ) ); ?>">
|
20 |
+
← <?php _e( 'Previous' ); ?>
|
21 |
+
</a>
|
22 |
<?php
|
23 |
}
|
24 |
|
25 |
if ( $next_id ) {
|
26 |
?>
|
27 |
+
<a class="tutor-next-link tutor-next-link-<?php echo esc_attr( $next_id ); ?>" href="<?php echo esc_url( get_the_permalink( $next_id ) ); ?>">
|
28 |
+
<?php _e( 'Next' ); ?> →
|
29 |
+
</a>
|
30 |
<?php
|
31 |
}
|
32 |
?>
|
templates/single/video/shortcode.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Display Video HTML5
|
5 |
+
*
|
6 |
+
* @since v.1.0.0
|
7 |
+
* @author themeum
|
8 |
+
* @url https://themeum.com
|
9 |
+
*
|
10 |
+
* @package TutorLMS/Templates
|
11 |
+
* @version 1.4.3
|
12 |
+
*/
|
13 |
+
|
14 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
+
|
18 |
+
$video_info = tutor_utils()->get_video_info();
|
19 |
+
|
20 |
+
do_action( 'tutor_lesson/single/before/video/shortcode' );
|
21 |
+
?>
|
22 |
+
<div class="tutor-single-lesson-segment tutor-lesson-video-wrap">
|
23 |
+
<div class="tutor-video-shortcode-wrap">
|
24 |
+
<?php echo do_shortcode( tutor_utils()->array_get( 'source_shortcode', $video_info ) ) ; ?>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
<?php
|
28 |
+
do_action( 'tutor_lesson/single/after/video/shortcode' ); ?>
|
templates/student-public-profile.php
CHANGED
@@ -81,9 +81,9 @@ foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
|
81 |
|
82 |
<div class="profile-name">
|
83 |
<div class="profile-rating-media content-for-mobile">
|
84 |
-
<?php echo $rating_content;
|
85 |
<div class="tutor-social-container content-for-desktop">
|
86 |
-
<?php echo $social_media;
|
87 |
</div>
|
88 |
</div>
|
89 |
|
@@ -94,12 +94,12 @@ foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
|
94 |
$student_count = tutor_utils()->get_total_students_by_instructor( $user_id );
|
95 |
?>
|
96 |
<span>
|
97 |
-
<span><?php echo $course_count;
|
98 |
<?php $course_count > 1 ? _e( 'Courses', 'tutor' ) : _e( 'Course', 'tutor' ); ?>
|
99 |
</span>
|
100 |
<span><span>•</span></span>
|
101 |
<span>
|
102 |
-
<span><?php echo $student_count;
|
103 |
<?php $student_count > 1 ? _e( 'Students', 'tutor' ) : _e( 'Student', 'tutor' ); ?>
|
104 |
</span>
|
105 |
<?php
|
@@ -111,7 +111,7 @@ foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
|
111 |
$complete_count = $complete_count ? count( $complete_count ) : 0;
|
112 |
?>
|
113 |
<span>
|
114 |
-
<span><?php echo $enrol_count;
|
115 |
<?php $enrol_count > 1 ? _e( 'Courses Enrolled', 'tutor' ) : _e( 'Course Enrolled', 'tutor' ); ?>
|
116 |
</span>
|
117 |
<span><span>•</span></span>
|
@@ -125,11 +125,11 @@ foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
|
125 |
</div>
|
126 |
|
127 |
<div class="tutor-social-container content-for-mobile">
|
128 |
-
<?php echo $social_media;
|
129 |
</div>
|
130 |
|
131 |
<div class="profile-rating-media content-for-desktop">
|
132 |
-
<?php echo $rating_content;
|
133 |
<div class="tutor-social-container content-for-desktop">
|
134 |
<?php
|
135 |
foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
81 |
|
82 |
<div class="profile-name">
|
83 |
<div class="profile-rating-media content-for-mobile">
|
84 |
+
<?php echo $rating_content; ?>
|
85 |
<div class="tutor-social-container content-for-desktop">
|
86 |
+
<?php echo $social_media; ?>
|
87 |
</div>
|
88 |
</div>
|
89 |
|
94 |
$student_count = tutor_utils()->get_total_students_by_instructor( $user_id );
|
95 |
?>
|
96 |
<span>
|
97 |
+
<span><?php echo $course_count; ?></span>
|
98 |
<?php $course_count > 1 ? _e( 'Courses', 'tutor' ) : _e( 'Course', 'tutor' ); ?>
|
99 |
</span>
|
100 |
<span><span>•</span></span>
|
101 |
<span>
|
102 |
+
<span><?php echo $student_count; ?></span>
|
103 |
<?php $student_count > 1 ? _e( 'Students', 'tutor' ) : _e( 'Student', 'tutor' ); ?>
|
104 |
</span>
|
105 |
<?php
|
111 |
$complete_count = $complete_count ? count( $complete_count ) : 0;
|
112 |
?>
|
113 |
<span>
|
114 |
+
<span><?php echo $enrol_count; ?></span>
|
115 |
<?php $enrol_count > 1 ? _e( 'Courses Enrolled', 'tutor' ) : _e( 'Course Enrolled', 'tutor' ); ?>
|
116 |
</span>
|
117 |
<span><span>•</span></span>
|
125 |
</div>
|
126 |
|
127 |
<div class="tutor-social-container content-for-mobile">
|
128 |
+
<?php echo $social_media; ?>
|
129 |
</div>
|
130 |
|
131 |
<div class="profile-rating-media content-for-desktop">
|
132 |
+
<?php echo $rating_content; ?>
|
133 |
<div class="tutor-social-container content-for-desktop">
|
134 |
<?php
|
135 |
foreach ( $tutor_user_social_icons as $key => $social_icon ) {
|
tutor.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Tutor LMS
|
|
4 |
Plugin URI: https://www.themeum.com/product/tutor-lms/
|
5 |
Description: Tutor is a complete solution for creating a Learning Management System in WordPress way. It can help you to create small to large scale online education site very conveniently. Power features like report, certificate, course preview, private file sharing make Tutor a robust plugin for any educational institutes.
|
6 |
Author: Themeum
|
7 |
-
Version: 1.9.
|
8 |
Author URI: https://themeum.com
|
9 |
Requires at least: 4.5
|
10 |
Tested up to: 5.8
|
@@ -17,7 +17,7 @@ if ( ! defined( 'ABSPATH' ) )
|
|
17 |
/**
|
18 |
* Defined the tutor main file
|
19 |
*/
|
20 |
-
define( 'TUTOR_VERSION', '1.9.
|
21 |
define( 'TUTOR_FILE', __FILE__ );
|
22 |
|
23 |
/**
|
4 |
Plugin URI: https://www.themeum.com/product/tutor-lms/
|
5 |
Description: Tutor is a complete solution for creating a Learning Management System in WordPress way. It can help you to create small to large scale online education site very conveniently. Power features like report, certificate, course preview, private file sharing make Tutor a robust plugin for any educational institutes.
|
6 |
Author: Themeum
|
7 |
+
Version: 1.9.14
|
8 |
Author URI: https://themeum.com
|
9 |
Requires at least: 4.5
|
10 |
Tested up to: 5.8
|
17 |
/**
|
18 |
* Defined the tutor main file
|
19 |
*/
|
20 |
+
define( 'TUTOR_VERSION', '1.9.14' );
|
21 |
define( 'TUTOR_FILE', __FILE__ );
|
22 |
|
23 |
/**
|
views/metabox/video-metabox.php
CHANGED
@@ -37,6 +37,10 @@ $video_sources = array(
|
|
37 |
'title' => __( 'Embedded', 'tutor' ),
|
38 |
'icon' => 'code',
|
39 |
),
|
|
|
|
|
|
|
|
|
40 |
);
|
41 |
|
42 |
$supported_sources = tutor_utils()->get_option( 'supported_video_sources', $video_sources );
|
@@ -132,23 +136,23 @@ $default_source = tutor_utils()->get_option( 'default_video_source', null );
|
|
132 |
</div>
|
133 |
|
134 |
<div class="video-metabox-source-item video_source_wrap_external_url" style="display: <?php echo $videoSource === 'external_url' ? 'block' : 'none'; ?>;">
|
135 |
-
<input type="text" name="video[source_external_url]" value="
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
"
|
140 |
</div>
|
141 |
|
142 |
<div class="video-metabox-source-item video_source_wrap_youtube" style="display: <?php echo $videoSource === 'youtube' ? 'block' : 'none'; ?>;">
|
143 |
<input type="text" name="video[source_youtube]" value="<?php echo tutor_utils()->avalue_dot( 'source_youtube', $video ); ?>" placeholder="<?php _e( 'YouTube Video URL', 'tutor' ); ?>" data-youtube_api_key="<?php echo tutils()->get_option( 'lesson_video_duration_youtube_api_key', '' ); ?>">
|
144 |
</div>
|
|
|
145 |
<div class="video-metabox-source-item video_source_wrap_vimeo" style="display: <?php echo $videoSource === 'vimeo' ? 'block' : 'none'; ?>;">
|
146 |
<input type="text" name="video[source_vimeo]" value="<?php echo tutor_utils()->avalue_dot( 'source_vimeo', $video ); ?>" placeholder="<?php _e( 'Vimeo Video URL', 'tutor' ); ?>">
|
147 |
</div>
|
|
|
148 |
<div class="video-metabox-source-item video_source_wrap_embedded" style="display: <?php echo $videoSource === 'embedded' ? 'block' : 'none'; ?>;">
|
149 |
-
<textarea name="video[source_embedded]" placeholder="<?php _e( 'Place your embedded code here', 'tutor' ); ?>"><?php
|
150 |
-
echo tutor_utils()->avalue_dot( 'source_embedded', $video );
|
151 |
-
?></textarea>
|
152 |
</div>
|
153 |
</div>
|
154 |
</div>
|
37 |
'title' => __( 'Embedded', 'tutor' ),
|
38 |
'icon' => 'code',
|
39 |
),
|
40 |
+
'shortcode' => array(
|
41 |
+
'title' => __( '[/] Shortcode', 'tutor' ),
|
42 |
+
'icon' => '',
|
43 |
+
),
|
44 |
);
|
45 |
|
46 |
$supported_sources = tutor_utils()->get_option( 'supported_video_sources', $video_sources );
|
136 |
</div>
|
137 |
|
138 |
<div class="video-metabox-source-item video_source_wrap_external_url" style="display: <?php echo $videoSource === 'external_url' ? 'block' : 'none'; ?>;">
|
139 |
+
<input type="text" name="video[source_external_url]" value="<?php echo tutor_utils()->avalue_dot( 'source_external_url', $video ); ?>" placeholder="<?php _e( 'External Video URL', 'tutor' ); ?>">
|
140 |
+
</div>
|
141 |
+
|
142 |
+
<div class="video-metabox-source-item video_source_wrap_shortcode" style="display: <?php echo $videoSource === 'shortcode' ? 'block' : 'none'; ?>;">
|
143 |
+
<input type="text" name="video[source_shortcode]" value="<?php echo tutor_utils()->avalue_dot( 'source_shortcode', $video ); ?>" placeholder="<?php _e( 'Shortcode', 'tutor' ); ?>">
|
144 |
</div>
|
145 |
|
146 |
<div class="video-metabox-source-item video_source_wrap_youtube" style="display: <?php echo $videoSource === 'youtube' ? 'block' : 'none'; ?>;">
|
147 |
<input type="text" name="video[source_youtube]" value="<?php echo tutor_utils()->avalue_dot( 'source_youtube', $video ); ?>" placeholder="<?php _e( 'YouTube Video URL', 'tutor' ); ?>" data-youtube_api_key="<?php echo tutils()->get_option( 'lesson_video_duration_youtube_api_key', '' ); ?>">
|
148 |
</div>
|
149 |
+
|
150 |
<div class="video-metabox-source-item video_source_wrap_vimeo" style="display: <?php echo $videoSource === 'vimeo' ? 'block' : 'none'; ?>;">
|
151 |
<input type="text" name="video[source_vimeo]" value="<?php echo tutor_utils()->avalue_dot( 'source_vimeo', $video ); ?>" placeholder="<?php _e( 'Vimeo Video URL', 'tutor' ); ?>">
|
152 |
</div>
|
153 |
+
|
154 |
<div class="video-metabox-source-item video_source_wrap_embedded" style="display: <?php echo $videoSource === 'embedded' ? 'block' : 'none'; ?>;">
|
155 |
+
<textarea name="video[source_embedded]" placeholder="<?php _e( 'Place your embedded code here', 'tutor' ); ?>"><?php echo tutor_utils()->avalue_dot( 'source_embedded', $video ); ?></textarea>
|
|
|
|
|
156 |
</div>
|
157 |
</div>
|
158 |
</div>
|
views/modal/question_answer_edit_form.php
CHANGED
@@ -25,7 +25,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
25 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
26 |
<div class="tutor-quiz-builder-row">
|
27 |
<div class="tutor-quiz-builder-col">
|
28 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
29 |
</div>
|
30 |
</div>
|
31 |
</div>
|
@@ -35,7 +35,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
35 |
<div class="tutor-quiz-builder-row">
|
36 |
<div class="tutor-quiz-builder-col">
|
37 |
<div class="tutor-media-upload-wrap">
|
38 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
39 |
<div class="tutor-media-preview">
|
40 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
41 |
<?php
|
@@ -59,19 +59,19 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
59 |
<div class="tutor-quiz-builder-row">
|
60 |
<div class="tutor-quiz-builder-col auto-width">
|
61 |
<label>
|
62 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text" <?php echo $answer_view_format ? checked( 'text', $answer_view_format ) : 'checked'; ?>>
|
63 |
<?php _e( 'Only text', 'tutor' ); ?>
|
64 |
</label>
|
65 |
</div>
|
66 |
<div class="tutor-quiz-builder-col auto-width">
|
67 |
<label>
|
68 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="image" <?php echo checked( 'image', $answer_view_format ); ?>>
|
69 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
70 |
</label>
|
71 |
</div>
|
72 |
<div class="tutor-quiz-builder-col auto-width">
|
73 |
<label>
|
74 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text_image" <?php echo checked( 'text_image', $answer_view_format ); ?> >
|
75 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
76 |
</label>
|
77 |
</div>
|
@@ -84,7 +84,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
84 |
<h4><?php _e( 'Question Title', 'tutor' ); ?></h4>
|
85 |
<div class="tutor-quiz-builder-row">
|
86 |
<div class="tutor-quiz-builder-col">
|
87 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
88 |
</div>
|
89 |
</div>
|
90 |
<p class="help">
|
@@ -96,7 +96,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
96 |
<h4><?php _e( 'Correct Answer(s)', 'tutor' ); ?></h4>
|
97 |
<div class="tutor-quiz-builder-row">
|
98 |
<div class="tutor-quiz-builder-col">
|
99 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_two_gap_match]" value="<?php echo esc_attr( $answer_two_gap_match ); ?>">
|
100 |
</div>
|
101 |
</div>
|
102 |
<p class="help"><?php _e( 'Separate multiple answer by pipe <b>( | )</b> , 1 answer per variable assigned in question', 'tutor' ); ?></p>
|
@@ -110,7 +110,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
110 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
111 |
<div class="tutor-quiz-builder-row">
|
112 |
<div class="tutor-quiz-builder-col">
|
113 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
114 |
</div>
|
115 |
</div>
|
116 |
</div>
|
@@ -118,7 +118,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
118 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
119 |
<div class="tutor-quiz-builder-row">
|
120 |
<div class="tutor-quiz-builder-col">
|
121 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][matched_answer_title]" value="<?php echo esc_attr( $answer_two_gap_match ); ?>"/>
|
122 |
</div>
|
123 |
</div>
|
124 |
</div>
|
@@ -128,7 +128,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
128 |
<div class="tutor-quiz-builder-row">
|
129 |
<div class="tutor-quiz-builder-col">
|
130 |
<div class="tutor-media-upload-wrap">
|
131 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>"/>
|
132 |
<div class="tutor-media-preview">
|
133 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
134 |
<?php
|
@@ -153,19 +153,19 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
153 |
<div class="tutor-quiz-builder-row">
|
154 |
<div class="tutor-quiz-builder-col auto-width">
|
155 |
<label>
|
156 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text" <?php echo $answer_view_format ? checked( 'text', $answer_view_format ) : 'checked'; ?>>
|
157 |
<?php _e( 'Only text', 'tutor' ); ?>
|
158 |
</label>
|
159 |
</div>
|
160 |
<div class="tutor-quiz-builder-col auto-width">
|
161 |
<label>
|
162 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="image" <?php echo checked( 'image', $answer_view_format ); ?> >
|
163 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
164 |
</label>
|
165 |
</div>
|
166 |
<div class="tutor-quiz-builder-col auto-width">
|
167 |
<label>
|
168 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text_image" <?php echo checked( 'text_image', $answer_view_format ); ?> >
|
169 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
170 |
</label>
|
171 |
</div>
|
@@ -181,7 +181,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
181 |
<div class="tutor-quiz-builder-row">
|
182 |
<div class="tutor-quiz-builder-col">
|
183 |
<div class="tutor-media-upload-wrap">
|
184 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
185 |
<div class="tutor-media-preview">
|
186 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
187 |
<?php
|
@@ -205,7 +205,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
205 |
<h4><?php _e( 'Image matched text', 'tutor' ); ?></h4>
|
206 |
<div class="tutor-quiz-builder-row">
|
207 |
<div class="tutor-quiz-builder-col">
|
208 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
209 |
</div>
|
210 |
</div>
|
211 |
</div> <!-- /.tutor-quiz-builder-group -->
|
@@ -218,7 +218,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
218 |
<div class="tutor-quiz-builder-row">
|
219 |
<div class="tutor-quiz-builder-col">
|
220 |
<div class="tutor-media-upload-wrap">
|
221 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
222 |
<div class="tutor-media-preview">
|
223 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
224 |
<?php
|
@@ -242,7 +242,7 @@ $answer_two_gap_match = ! empty( $old_answer->answer_two_gap_match ) ? stripslas
|
|
242 |
<h4><?php _e( 'Answer input value', 'tutor' ); ?></h4>
|
243 |
<div class="tutor-quiz-builder-row">
|
244 |
<div class="tutor-quiz-builder-col">
|
245 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
246 |
</div>
|
247 |
</div>
|
248 |
<p class="help"><?php _e( 'The answers that students enter should match with this text. Write in <strong>small caps</strong>', 'tutor' ); ?></p>
|
25 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
26 |
<div class="tutor-quiz-builder-row">
|
27 |
<div class="tutor-quiz-builder-col">
|
28 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
29 |
</div>
|
30 |
</div>
|
31 |
</div>
|
35 |
<div class="tutor-quiz-builder-row">
|
36 |
<div class="tutor-quiz-builder-col">
|
37 |
<div class="tutor-media-upload-wrap">
|
38 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
39 |
<div class="tutor-media-preview">
|
40 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
41 |
<?php
|
59 |
<div class="tutor-quiz-builder-row">
|
60 |
<div class="tutor-quiz-builder-col auto-width">
|
61 |
<label>
|
62 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text" <?php echo $answer_view_format ? checked( 'text', $answer_view_format ) : 'checked'; ?>>
|
63 |
<?php _e( 'Only text', 'tutor' ); ?>
|
64 |
</label>
|
65 |
</div>
|
66 |
<div class="tutor-quiz-builder-col auto-width">
|
67 |
<label>
|
68 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="image" <?php echo checked( 'image', $answer_view_format ); ?>>
|
69 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
70 |
</label>
|
71 |
</div>
|
72 |
<div class="tutor-quiz-builder-col auto-width">
|
73 |
<label>
|
74 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text_image" <?php echo checked( 'text_image', $answer_view_format ); ?> >
|
75 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
76 |
</label>
|
77 |
</div>
|
84 |
<h4><?php _e( 'Question Title', 'tutor' ); ?></h4>
|
85 |
<div class="tutor-quiz-builder-row">
|
86 |
<div class="tutor-quiz-builder-col">
|
87 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
88 |
</div>
|
89 |
</div>
|
90 |
<p class="help">
|
96 |
<h4><?php _e( 'Correct Answer(s)', 'tutor' ); ?></h4>
|
97 |
<div class="tutor-quiz-builder-row">
|
98 |
<div class="tutor-quiz-builder-col">
|
99 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_two_gap_match]" value="<?php echo esc_attr( $answer_two_gap_match ); ?>">
|
100 |
</div>
|
101 |
</div>
|
102 |
<p class="help"><?php _e( 'Separate multiple answer by pipe <b>( | )</b> , 1 answer per variable assigned in question', 'tutor' ); ?></p>
|
110 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
111 |
<div class="tutor-quiz-builder-row">
|
112 |
<div class="tutor-quiz-builder-col">
|
113 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
114 |
</div>
|
115 |
</div>
|
116 |
</div>
|
118 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
119 |
<div class="tutor-quiz-builder-row">
|
120 |
<div class="tutor-quiz-builder-col">
|
121 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][matched_answer_title]" value="<?php echo esc_attr( $answer_two_gap_match ); ?>"/>
|
122 |
</div>
|
123 |
</div>
|
124 |
</div>
|
128 |
<div class="tutor-quiz-builder-row">
|
129 |
<div class="tutor-quiz-builder-col">
|
130 |
<div class="tutor-media-upload-wrap">
|
131 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>"/>
|
132 |
<div class="tutor-media-preview">
|
133 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
134 |
<?php
|
153 |
<div class="tutor-quiz-builder-row">
|
154 |
<div class="tutor-quiz-builder-col auto-width">
|
155 |
<label>
|
156 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text" <?php echo $answer_view_format ? checked( 'text', $answer_view_format ) : 'checked'; ?>>
|
157 |
<?php _e( 'Only text', 'tutor' ); ?>
|
158 |
</label>
|
159 |
</div>
|
160 |
<div class="tutor-quiz-builder-col auto-width">
|
161 |
<label>
|
162 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="image" <?php echo checked( 'image', $answer_view_format ); ?> >
|
163 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
164 |
</label>
|
165 |
</div>
|
166 |
<div class="tutor-quiz-builder-col auto-width">
|
167 |
<label>
|
168 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text_image" <?php echo checked( 'text_image', $answer_view_format ); ?> >
|
169 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
170 |
</label>
|
171 |
</div>
|
181 |
<div class="tutor-quiz-builder-row">
|
182 |
<div class="tutor-quiz-builder-col">
|
183 |
<div class="tutor-media-upload-wrap">
|
184 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
185 |
<div class="tutor-media-preview">
|
186 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
187 |
<?php
|
205 |
<h4><?php _e( 'Image matched text', 'tutor' ); ?></h4>
|
206 |
<div class="tutor-quiz-builder-row">
|
207 |
<div class="tutor-quiz-builder-col">
|
208 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
209 |
</div>
|
210 |
</div>
|
211 |
</div> <!-- /.tutor-quiz-builder-group -->
|
218 |
<div class="tutor-quiz-builder-row">
|
219 |
<div class="tutor-quiz-builder-col">
|
220 |
<div class="tutor-media-upload-wrap">
|
221 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="<?php echo esc_attr( $image_id ); ?>">
|
222 |
<div class="tutor-media-preview">
|
223 |
<a href="javascript:;" class="tutor-media-upload-btn">
|
224 |
<?php
|
242 |
<h4><?php _e( 'Answer input value', 'tutor' ); ?></h4>
|
243 |
<div class="tutor-quiz-builder-row">
|
244 |
<div class="tutor-quiz-builder-col">
|
245 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="<?php echo esc_attr( $answer_title ); ?>">
|
246 |
</div>
|
247 |
</div>
|
248 |
<p class="help"><?php _e( 'The answers that students enter should match with this text. Write in <strong>small caps</strong>', 'tutor' ); ?></p>
|
views/modal/question_answer_form.php
CHANGED
@@ -18,11 +18,11 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
18 |
<div class="tutor-quiz-builder-row">
|
19 |
<div class="tutor-quiz-builder-col auto-width">
|
20 |
<label>
|
21 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][true_false]" value="true" checked="checked">
|
22 |
<?php _e( 'True', 'tutor' ); ?>
|
23 |
</label>
|
24 |
<label>
|
25 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][true_false]" value="false">
|
26 |
<?php _e( 'False', 'tutor' ); ?>
|
27 |
</label>
|
28 |
</div>
|
@@ -38,7 +38,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
38 |
<div class="tutor-quiz-builder-row">
|
39 |
<div class="tutor-quiz-builder-col">
|
40 |
<div class="quiz-modal-field-wrap">
|
41 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
42 |
</div>
|
43 |
</div>
|
44 |
</div>
|
@@ -50,7 +50,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
50 |
<div class="tutor-quiz-builder-row">
|
51 |
<div class="tutor-quiz-builder-col">
|
52 |
<div class="tutor-media-upload-wrap">
|
53 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="">
|
54 |
<div class="tutor-media-preview">
|
55 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
56 |
</div>
|
@@ -67,19 +67,19 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
67 |
<div class="tutor-quiz-builder-row">
|
68 |
<div class="tutor-quiz-builder-col auto-width">
|
69 |
<label>
|
70 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text" checked="checked">
|
71 |
<?php _e( 'Only text', 'tutor' ); ?>
|
72 |
</label>
|
73 |
</div>
|
74 |
<div class="tutor-quiz-builder-col auto-width">
|
75 |
<label>
|
76 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="image">
|
77 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
78 |
</label>
|
79 |
</div>
|
80 |
<div class="tutor-quiz-builder-col auto-width">
|
81 |
<label>
|
82 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text_image">
|
83 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
84 |
</label>
|
85 |
</div>
|
@@ -93,7 +93,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
93 |
<h4><?php _e( 'Question Title', 'tutor' ); ?></h4>
|
94 |
<div class="tutor-quiz-builder-row">
|
95 |
<div class="tutor-quiz-builder-col">
|
96 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
97 |
</div>
|
98 |
</div>
|
99 |
<p class="help"><?php _e( 'Please make sure to use the <strong>{dash}</strong> variable in your question title to show the blanks in your question. You can use multiple <strong>{dash}</strong> variables in one question.', 'tutor' ); ?></p>
|
@@ -103,7 +103,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
103 |
<h4><?php _e( 'Correct Answer(s)', 'tutor' ); ?></h4>
|
104 |
<div class="tutor-quiz-builder-row">
|
105 |
<div class="tutor-quiz-builder-col">
|
106 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_two_gap_match]" value="">
|
107 |
</div>
|
108 |
</div>
|
109 |
<p class="help"><?php _e( 'Separate multiple answers by a vertical bar <strong>|</strong>. 1 answer per <strong>{dash}</strong> variable is defined in the question. Example: Apple | Banana | Orange', 'tutor' ); ?></p>
|
@@ -118,7 +118,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
118 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
119 |
<div class="tutor-quiz-builder-row">
|
120 |
<div class="tutor-quiz-builder-col">
|
121 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
122 |
</div>
|
123 |
</div>
|
124 |
</div> <!-- /.tutor-quiz-builder-group -->
|
@@ -127,7 +127,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
127 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
128 |
<div class="tutor-quiz-builder-row">
|
129 |
<div class="tutor-quiz-builder-col">
|
130 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][matched_answer_title]" value="">
|
131 |
</div>
|
132 |
</div>
|
133 |
<p class="help"></p>
|
@@ -141,7 +141,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
141 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
142 |
<div class="tutor-quiz-builder-row">
|
143 |
<div class="tutor-quiz-builder-col">
|
144 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
145 |
</div>
|
146 |
</div>
|
147 |
<p class="help"></p>
|
@@ -150,7 +150,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
150 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
151 |
<div class="tutor-quiz-builder-row">
|
152 |
<div class="tutor-quiz-builder-col">
|
153 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][matched_answer_title]" value="">
|
154 |
</div>
|
155 |
</div>
|
156 |
<p class="help"></p>
|
@@ -161,7 +161,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
161 |
<div class="tutor-quiz-builder-row">
|
162 |
<div class="tutor-quiz-builder-col">
|
163 |
<div class="tutor-media-upload-wrap">
|
164 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="">
|
165 |
<div class="tutor-media-preview">
|
166 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
167 |
</div>
|
@@ -177,19 +177,19 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
177 |
<div class="tutor-quiz-builder-row">
|
178 |
<div class="tutor-quiz-builder-col auto-width">
|
179 |
<label>
|
180 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text" checked="checked">
|
181 |
<?php _e( 'Only text', 'tutor' ); ?>
|
182 |
</label>
|
183 |
</div>
|
184 |
<div class="tutor-quiz-builder-col auto-width">
|
185 |
<label>
|
186 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="image">
|
187 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
188 |
</label>
|
189 |
</div>
|
190 |
<div class="tutor-quiz-builder-col auto-width">
|
191 |
<label>
|
192 |
-
<input type="radio" name="quiz_answer[<?php echo $question_id; ?>][answer_view_format]" value="text_image">
|
193 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
194 |
</label>
|
195 |
</div>
|
@@ -206,7 +206,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
206 |
<div class="tutor-quiz-builder-row">
|
207 |
<div class="tutor-quiz-builder-col">
|
208 |
<div class="tutor-media-upload-wrap">
|
209 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="">
|
210 |
<div class="tutor-media-preview">
|
211 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
212 |
</div>
|
@@ -221,7 +221,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
221 |
<h4><?php _e( 'Image matched text', 'tutor' ); ?></h4>
|
222 |
<div class="tutor-quiz-builder-row">
|
223 |
<div class="tutor-quiz-builder-col">
|
224 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
225 |
</div>
|
226 |
</div>
|
227 |
</div> <!-- /.tutor-quiz-builder-group -->
|
@@ -236,7 +236,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
236 |
<div class="tutor-quiz-builder-row">
|
237 |
<div class="tutor-quiz-builder-col">
|
238 |
<div class="tutor-media-upload-wrap">
|
239 |
-
<input type="hidden" name="quiz_answer[<?php echo $question_id; ?>][image_id]" value="">
|
240 |
<div class="tutor-media-preview">
|
241 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
242 |
</div>
|
@@ -252,7 +252,7 @@ if ( $question_type === 'open_ended' || $question_type === 'short_answer' ) {
|
|
252 |
<h4><?php _e( 'Answer input value', 'tutor' ); ?></h4>
|
253 |
<div class="tutor-quiz-builder-row">
|
254 |
<div class="tutor-quiz-builder-col">
|
255 |
-
<input type="text" name="quiz_answer[<?php echo $question_id; ?>][answer_title]" value="">
|
256 |
</div>
|
257 |
</div>
|
258 |
<p class="help"><?php _e( 'The answers that students enter should match with this text. Write in <strong>small caps</strong>', 'tutor' ); ?></p>
|
18 |
<div class="tutor-quiz-builder-row">
|
19 |
<div class="tutor-quiz-builder-col auto-width">
|
20 |
<label>
|
21 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][true_false]" value="true" checked="checked">
|
22 |
<?php _e( 'True', 'tutor' ); ?>
|
23 |
</label>
|
24 |
<label>
|
25 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][true_false]" value="false">
|
26 |
<?php _e( 'False', 'tutor' ); ?>
|
27 |
</label>
|
28 |
</div>
|
38 |
<div class="tutor-quiz-builder-row">
|
39 |
<div class="tutor-quiz-builder-col">
|
40 |
<div class="quiz-modal-field-wrap">
|
41 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
42 |
</div>
|
43 |
</div>
|
44 |
</div>
|
50 |
<div class="tutor-quiz-builder-row">
|
51 |
<div class="tutor-quiz-builder-col">
|
52 |
<div class="tutor-media-upload-wrap">
|
53 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="">
|
54 |
<div class="tutor-media-preview">
|
55 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
56 |
</div>
|
67 |
<div class="tutor-quiz-builder-row">
|
68 |
<div class="tutor-quiz-builder-col auto-width">
|
69 |
<label>
|
70 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text" checked="checked">
|
71 |
<?php _e( 'Only text', 'tutor' ); ?>
|
72 |
</label>
|
73 |
</div>
|
74 |
<div class="tutor-quiz-builder-col auto-width">
|
75 |
<label>
|
76 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="image">
|
77 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
78 |
</label>
|
79 |
</div>
|
80 |
<div class="tutor-quiz-builder-col auto-width">
|
81 |
<label>
|
82 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text_image">
|
83 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
84 |
</label>
|
85 |
</div>
|
93 |
<h4><?php _e( 'Question Title', 'tutor' ); ?></h4>
|
94 |
<div class="tutor-quiz-builder-row">
|
95 |
<div class="tutor-quiz-builder-col">
|
96 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
97 |
</div>
|
98 |
</div>
|
99 |
<p class="help"><?php _e( 'Please make sure to use the <strong>{dash}</strong> variable in your question title to show the blanks in your question. You can use multiple <strong>{dash}</strong> variables in one question.', 'tutor' ); ?></p>
|
103 |
<h4><?php _e( 'Correct Answer(s)', 'tutor' ); ?></h4>
|
104 |
<div class="tutor-quiz-builder-row">
|
105 |
<div class="tutor-quiz-builder-col">
|
106 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_two_gap_match]" value="">
|
107 |
</div>
|
108 |
</div>
|
109 |
<p class="help"><?php _e( 'Separate multiple answers by a vertical bar <strong>|</strong>. 1 answer per <strong>{dash}</strong> variable is defined in the question. Example: Apple | Banana | Orange', 'tutor' ); ?></p>
|
118 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
119 |
<div class="tutor-quiz-builder-row">
|
120 |
<div class="tutor-quiz-builder-col">
|
121 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
122 |
</div>
|
123 |
</div>
|
124 |
</div> <!-- /.tutor-quiz-builder-group -->
|
127 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
128 |
<div class="tutor-quiz-builder-row">
|
129 |
<div class="tutor-quiz-builder-col">
|
130 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][matched_answer_title]" value="">
|
131 |
</div>
|
132 |
</div>
|
133 |
<p class="help"></p>
|
141 |
<h4><?php _e( 'Answer title', 'tutor' ); ?></h4>
|
142 |
<div class="tutor-quiz-builder-row">
|
143 |
<div class="tutor-quiz-builder-col">
|
144 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
145 |
</div>
|
146 |
</div>
|
147 |
<p class="help"></p>
|
150 |
<h4><?php _e( 'Matched Answer title', 'tutor' ); ?></h4>
|
151 |
<div class="tutor-quiz-builder-row">
|
152 |
<div class="tutor-quiz-builder-col">
|
153 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][matched_answer_title]" value="">
|
154 |
</div>
|
155 |
</div>
|
156 |
<p class="help"></p>
|
161 |
<div class="tutor-quiz-builder-row">
|
162 |
<div class="tutor-quiz-builder-col">
|
163 |
<div class="tutor-media-upload-wrap">
|
164 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="">
|
165 |
<div class="tutor-media-preview">
|
166 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
167 |
</div>
|
177 |
<div class="tutor-quiz-builder-row">
|
178 |
<div class="tutor-quiz-builder-col auto-width">
|
179 |
<label>
|
180 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text" checked="checked">
|
181 |
<?php _e( 'Only text', 'tutor' ); ?>
|
182 |
</label>
|
183 |
</div>
|
184 |
<div class="tutor-quiz-builder-col auto-width">
|
185 |
<label>
|
186 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="image">
|
187 |
<?php _e( 'Only Image', 'tutor' ); ?>
|
188 |
</label>
|
189 |
</div>
|
190 |
<div class="tutor-quiz-builder-col auto-width">
|
191 |
<label>
|
192 |
+
<input type="radio" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_view_format]" value="text_image">
|
193 |
<?php _e( 'Text & Image both', 'tutor' ); ?>
|
194 |
</label>
|
195 |
</div>
|
206 |
<div class="tutor-quiz-builder-row">
|
207 |
<div class="tutor-quiz-builder-col">
|
208 |
<div class="tutor-media-upload-wrap">
|
209 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="">
|
210 |
<div class="tutor-media-preview">
|
211 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
212 |
</div>
|
221 |
<h4><?php _e( 'Image matched text', 'tutor' ); ?></h4>
|
222 |
<div class="tutor-quiz-builder-row">
|
223 |
<div class="tutor-quiz-builder-col">
|
224 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
225 |
</div>
|
226 |
</div>
|
227 |
</div> <!-- /.tutor-quiz-builder-group -->
|
236 |
<div class="tutor-quiz-builder-row">
|
237 |
<div class="tutor-quiz-builder-col">
|
238 |
<div class="tutor-media-upload-wrap">
|
239 |
+
<input type="hidden" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][image_id]" value="">
|
240 |
<div class="tutor-media-preview">
|
241 |
<a href="javascript:;" class="tutor-media-upload-btn"><i class="tutor-icon-image1"></i></a>
|
242 |
</div>
|
252 |
<h4><?php _e( 'Answer input value', 'tutor' ); ?></h4>
|
253 |
<div class="tutor-quiz-builder-row">
|
254 |
<div class="tutor-quiz-builder-col">
|
255 |
+
<input type="text" name="quiz_answer[<?php echo esc_attr( $question_id ); ?>][answer_title]" value="">
|
256 |
</div>
|
257 |
</div>
|
258 |
<p class="help"><?php _e( 'The answers that students enter should match with this text. Write in <strong>small caps</strong>', 'tutor' ); ?></p>
|
views/modal/question_form.php
CHANGED
@@ -20,7 +20,7 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
20 |
<h4><?php _e( 'Write your question here', 'tutor' ); ?></h4>
|
21 |
<div class="tutor-quiz-builder-row">
|
22 |
<div class="tutor-quiz-builder-col">
|
23 |
-
<input type="text" name="tutor_quiz_question[<?php echo $question_id; ?>][question_title]" placeholder="<?php esc_attr_e( 'Type your question here', 'tutor' ); ?>" value="<?php echo htmlspecialchars( stripslashes( $question->question_title ) ); ?>">
|
24 |
</div>
|
25 |
</div>
|
26 |
</div>
|
@@ -33,7 +33,7 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
33 |
<div class="select-header">
|
34 |
<span class="lead-option"> <i class="tutor-icon-yes-no"></i> <?php _e( 'True or False', 'tutor' ); ?> </span>
|
35 |
<span class="select-dropdown"><i class="tutor-icon-light-down"></i> </span>
|
36 |
-
<input type="hidden" class="tutor_select_value_holder" name="tutor_quiz_question[<?php echo $question_id; ?>][question_type]" value="" >
|
37 |
</div>
|
38 |
|
39 |
<?php $question_types = tutor_utils()->get_question_types(); ?>
|
@@ -67,14 +67,14 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
67 |
<div class="tutor-quiz-builder-row">
|
68 |
<div class="tutor-quiz-builder-col auto-width">
|
69 |
<label class="btn-switch">
|
70 |
-
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo $question_id; ?>][answer_required]" <?php checked( '1', tutor_utils()->avalue_dot( 'answer_required', $settings ) ); ?> />
|
71 |
<div class="btn-slider btn-round"></div>
|
72 |
</label>
|
73 |
<span><?php _e( 'Answer Required', 'tutor' ); ?></span>
|
74 |
</div>
|
75 |
<div class="tutor-quiz-builder-col auto-width">
|
76 |
<label class="btn-switch">
|
77 |
-
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo $question_id; ?>][randomize_question]" <?php checked( '1', tutor_utils()->avalue_dot( 'randomize_question', $settings ) ); ?> />
|
78 |
<div class="btn-slider btn-round"></div>
|
79 |
</label>
|
80 |
<span><?php _e( 'Randomize', 'tutor' ); ?></span>
|
@@ -86,7 +86,7 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
86 |
<h4><?php _e( 'Point(s) for this answer', 'tutor' ); ?></h4>
|
87 |
<div class="tutor-quiz-builder-row">
|
88 |
<div class="tutor-quiz-builder-col">
|
89 |
-
<input type="text" name="tutor_quiz_question[<?php echo $question_id; ?>][question_mark]" placeholder="<?php esc_attr_e( 'set the mark ex. 10', 'tutor' ); ?>" value="<?php echo esc_attr( $question->question_mark ); ?>">
|
90 |
</div>
|
91 |
</div>
|
92 |
</div>
|
@@ -95,7 +95,7 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
95 |
<div class="tutor-quiz-builder-row">
|
96 |
<div class="tutor-quiz-builder-col auto-width">
|
97 |
<label class="btn-switch">
|
98 |
-
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo $question_id; ?>][show_question_mark]" <?php checked( '1', tutor_utils()->avalue_dot( 'show_question_mark', $settings ) ); ?> />
|
99 |
<div class="btn-slider btn-round"></div>
|
100 |
</label>
|
101 |
<span><?php _e( 'Display Points', 'tutor' ); ?></span>
|
@@ -107,7 +107,7 @@ $settings = maybe_unserialize( $question->question_settings );
|
|
107 |
<h4><?php _e( 'Description', 'tutor' ); ?> <span>(<?php _e( 'Optional', 'tutor' ); ?>)</span></h4>
|
108 |
<div class="tutor-quiz-builder-row">
|
109 |
<div class="tutor-quiz-builder-col">
|
110 |
-
<textarea name="tutor_quiz_question[<?php echo $question_id; ?>][question_description]"><?php echo esc_textarea( stripslashes( $question->question_description ) ); ?></textarea>
|
111 |
</div>
|
112 |
</div>
|
113 |
</div>
|
20 |
<h4><?php _e( 'Write your question here', 'tutor' ); ?></h4>
|
21 |
<div class="tutor-quiz-builder-row">
|
22 |
<div class="tutor-quiz-builder-col">
|
23 |
+
<input type="text" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][question_title]" placeholder="<?php esc_attr_e( 'Type your question here', 'tutor' ); ?>" value="<?php echo htmlspecialchars( stripslashes( $question->question_title ) ); ?>">
|
24 |
</div>
|
25 |
</div>
|
26 |
</div>
|
33 |
<div class="select-header">
|
34 |
<span class="lead-option"> <i class="tutor-icon-yes-no"></i> <?php _e( 'True or False', 'tutor' ); ?> </span>
|
35 |
<span class="select-dropdown"><i class="tutor-icon-light-down"></i> </span>
|
36 |
+
<input type="hidden" class="tutor_select_value_holder" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][question_type]" value="" >
|
37 |
</div>
|
38 |
|
39 |
<?php $question_types = tutor_utils()->get_question_types(); ?>
|
67 |
<div class="tutor-quiz-builder-row">
|
68 |
<div class="tutor-quiz-builder-col auto-width">
|
69 |
<label class="btn-switch">
|
70 |
+
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][answer_required]" <?php checked( '1', tutor_utils()->avalue_dot( 'answer_required', $settings ) ); ?> />
|
71 |
<div class="btn-slider btn-round"></div>
|
72 |
</label>
|
73 |
<span><?php _e( 'Answer Required', 'tutor' ); ?></span>
|
74 |
</div>
|
75 |
<div class="tutor-quiz-builder-col auto-width">
|
76 |
<label class="btn-switch">
|
77 |
+
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][randomize_question]" <?php checked( '1', tutor_utils()->avalue_dot( 'randomize_question', $settings ) ); ?> />
|
78 |
<div class="btn-slider btn-round"></div>
|
79 |
</label>
|
80 |
<span><?php _e( 'Randomize', 'tutor' ); ?></span>
|
86 |
<h4><?php _e( 'Point(s) for this answer', 'tutor' ); ?></h4>
|
87 |
<div class="tutor-quiz-builder-row">
|
88 |
<div class="tutor-quiz-builder-col">
|
89 |
+
<input type="text" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][question_mark]" placeholder="<?php esc_attr_e( 'set the mark ex. 10', 'tutor' ); ?>" value="<?php echo esc_attr( $question->question_mark ); ?>">
|
90 |
</div>
|
91 |
</div>
|
92 |
</div>
|
95 |
<div class="tutor-quiz-builder-row">
|
96 |
<div class="tutor-quiz-builder-col auto-width">
|
97 |
<label class="btn-switch">
|
98 |
+
<input type="checkbox" value="1" name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][show_question_mark]" <?php checked( '1', tutor_utils()->avalue_dot( 'show_question_mark', $settings ) ); ?> />
|
99 |
<div class="btn-slider btn-round"></div>
|
100 |
</label>
|
101 |
<span><?php _e( 'Display Points', 'tutor' ); ?></span>
|
107 |
<h4><?php _e( 'Description', 'tutor' ); ?> <span>(<?php _e( 'Optional', 'tutor' ); ?>)</span></h4>
|
108 |
<div class="tutor-quiz-builder-row">
|
109 |
<div class="tutor-quiz-builder-col">
|
110 |
+
<textarea name="tutor_quiz_question[<?php echo esc_attr( $question_id ); ?>][question_description]"><?php echo esc_textarea( stripslashes( $question->question_description ) ); ?></textarea>
|
111 |
</div>
|
112 |
</div>
|
113 |
</div>
|
views/pages/view_attempt.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
$attempt_id = (int)
|
3 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
4 |
|
5 |
if ( ! $attempt ) {
|
@@ -104,7 +104,7 @@ $user = get_userdata( $user_id );
|
|
104 |
$output .= __( $attempt->earned_marks . ' out of ' . $attempt->total_marks, 'tutor' );
|
105 |
$output .= '<span>, ' . $marks_earned_text . ' (' . $earned_percentage . '%)</span>';
|
106 |
}
|
107 |
-
echo $output;
|
108 |
?>
|
109 |
</h4>
|
110 |
</div>
|
@@ -132,49 +132,40 @@ $user = get_userdata( $user_id );
|
|
132 |
?>
|
133 |
</h4>
|
134 |
</div>
|
135 |
-
|
136 |
</div>
|
137 |
-
|
138 |
</div>
|
139 |
-
|
140 |
</div>
|
141 |
|
142 |
-
|
143 |
<div class="attempt-review-notice-wrap">
|
144 |
<?php
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
153 |
}
|
154 |
-
}
|
155 |
|
156 |
-
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
}
|
159 |
-
}
|
160 |
-
|
161 |
-
|
162 |
-
?>
|
163 |
-
|
164 |
-
<?php
|
165 |
-
if ( (bool) $attempt->is_manually_reviewed ) {
|
166 |
-
?>
|
167 |
-
<p class="attempt-review-at">
|
168 |
-
<span class="circle-arrow">↻ </span>
|
169 |
-
<strong>
|
170 |
-
<?php _e( 'Manually reviewed at: ', 'tutor' ); ?>
|
171 |
-
</strong>
|
172 |
-
<?php echo date_i18n( get_option( 'date_format' ), strtotime( $attempt->manually_reviewed_at ) ) . ' ' . date_i18n( get_option( 'time_format' ), strtotime( $attempt->manually_reviewed_at ) ); ?>
|
173 |
-
</p>
|
174 |
-
<?php
|
175 |
-
}
|
176 |
?>
|
177 |
-
|
178 |
</div>
|
179 |
|
180 |
<?php
|
1 |
<?php
|
2 |
+
$attempt_id = (int) $_GET['attempt_id'];
|
3 |
$attempt = tutor_utils()->get_attempt( $attempt_id );
|
4 |
|
5 |
if ( ! $attempt ) {
|
104 |
$output .= __( $attempt->earned_marks . ' out of ' . $attempt->total_marks, 'tutor' );
|
105 |
$output .= '<span>, ' . $marks_earned_text . ' (' . $earned_percentage . '%)</span>';
|
106 |
}
|
107 |
+
echo $output;
|
108 |
?>
|
109 |
</h4>
|
110 |
</div>
|
132 |
?>
|
133 |
</h4>
|
134 |
</div>
|
|
|
135 |
</div>
|
|
|
136 |
</div>
|
|
|
137 |
</div>
|
138 |
|
|
|
139 |
<div class="attempt-review-notice-wrap">
|
140 |
<?php
|
141 |
+
if ( is_array( $answers ) && count( $answers ) ) {
|
142 |
+
$question_no = 0;
|
143 |
+
$required_review = array();
|
144 |
+
|
145 |
+
foreach ( $answers as $answer ) {
|
146 |
+
$question_no++;
|
147 |
+
if ( $answer->question_type === 'open_ended' || $answer->question_type === 'short_answer' ) {
|
148 |
+
$required_review[] = $question_no;
|
149 |
+
}
|
150 |
}
|
|
|
151 |
|
152 |
+
if ( count( $required_review ) ) {
|
153 |
+
echo '<p class="attempt-review-notice"> <i class="tutor-icon-warning-2"></i> <strong>' . __( 'Reminder:', 'tutor' ) . ' </strong> ' . sprintf( __( 'Please review answers for question no. %s', 'tutor' ), implode( ', ', $required_review ) ) . '</p>';
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
if ( (bool) $attempt->is_manually_reviewed ) {
|
158 |
+
?>
|
159 |
+
<p class="attempt-review-at">
|
160 |
+
<span class="circle-arrow">↻ </span>
|
161 |
+
<strong>
|
162 |
+
<?php _e( 'Manually reviewed at: ', 'tutor' ); ?>
|
163 |
+
</strong>
|
164 |
+
<?php echo date_i18n( get_option( 'date_format' ), strtotime( $attempt->manually_reviewed_at ) ) . ' ' . date_i18n( get_option( 'time_format' ), strtotime( $attempt->manually_reviewed_at ) ); ?>
|
165 |
+
</p>
|
166 |
+
<?php
|
167 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
?>
|
|
|
169 |
</div>
|
170 |
|
171 |
<?php
|