Version Description
- March 22, 2021 =
New: Search assignments by Student Name New: Toast message added after evaluating assignments Fix: Disabling Content Drip email not working Fix: Announcement email sending limit issue fixed using queue Fix: Import quizzes not working for Windows users due to file type error Fix: Instructors profile photos were not saving in the WordPress admin panel
Download this release
Release Info
Developer | themeum |
Plugin | Tutor LMS – eLearning and online course solution |
Version | 1.8.6 |
Comparing to | |
See all releases |
Code changes from version 1.8.5 to 1.8.6
- assets/js/tutor-admin.js +1 -1
- assets/js/tutor.js +32 -0
- classes/Lesson.php +10 -2
- classes/Tutor.php +1 -0
- classes/Upgrader.php +38 -0
- classes/User.php +6 -0
- languages/tutor.pot +21 -13
- readme.txt +10 -1
- templates/dashboard/assignments/review.php +1 -1
- templates/single/lesson/content.php +0 -3
- templates/single/quiz/body.php +2 -1
- tutor.php +2 -2
- views/metabox/user-profile-fields.php +1 -1
- views/options/option_field.php +2 -0
assets/js/tutor-admin.js
CHANGED
@@ -590,7 +590,7 @@ jQuery(document).ready(function($){
|
|
590 |
frame.on( 'select', function() {
|
591 |
// Get media attachment details from the frame state
|
592 |
var attachment = frame.state().get('selection').first().toJSON();
|
593 |
-
$that.closest('.tutor-video-poster-wrap').find('.video-poster-img').html('<img src="'+attachment.url+'" alt="" />');
|
594 |
$that.closest('.tutor-video-poster-wrap').find('input').val(attachment.id);
|
595 |
});
|
596 |
// Finally, open the modal on click
|
590 |
frame.on( 'select', function() {
|
591 |
// Get media attachment details from the frame state
|
592 |
var attachment = frame.state().get('selection').first().toJSON();
|
593 |
+
$that.closest('.tutor-video-poster-wrap').find('.video-poster-img').html('<img src="'+attachment.sizes.thumbnail.url+'" alt="" />');
|
594 |
$that.closest('.tutor-video-poster-wrap').find('input').val(attachment.id);
|
595 |
});
|
596 |
// Finally, open the modal on click
|
assets/js/tutor.js
CHANGED
@@ -1531,6 +1531,38 @@ jQuery(document).ready(function($){
|
|
1531 |
$(this).addClass('show');
|
1532 |
});
|
1533 |
//announcement end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1534 |
/*
|
1535 |
* @since v.1.7.9
|
1536 |
* Send wp nonce to every ajax request
|
1531 |
$(this).addClass('show');
|
1532 |
});
|
1533 |
//announcement end
|
1534 |
+
|
1535 |
+
|
1536 |
+
/**
|
1537 |
+
* @since v.1.8.6
|
1538 |
+
* SUbmit form through ajax
|
1539 |
+
*/
|
1540 |
+
$('.tutor-form-submit-through-ajax').submit(function(e) {
|
1541 |
+
e.preventDefault();
|
1542 |
+
|
1543 |
+
var $that = $(this);
|
1544 |
+
var url = $(this).attr('action') || window.location.href;
|
1545 |
+
var type = $(this).attr('method') || 'GET';
|
1546 |
+
var data = $(this).serializeObject();
|
1547 |
+
|
1548 |
+
$that.find('button').addClass('tutor-updating-message');
|
1549 |
+
|
1550 |
+
$.ajax({
|
1551 |
+
url: url,
|
1552 |
+
type: type,
|
1553 |
+
data: data,
|
1554 |
+
success: function() {
|
1555 |
+
tutor_toast($that.data('toast_success'), $that.data('toast_success_message'), 'success');
|
1556 |
+
},
|
1557 |
+
error: function () {
|
1558 |
+
tutor_toast($that.data('toast_error'), $that.data('toast_error_message'), 'error');
|
1559 |
+
},
|
1560 |
+
complete: function () {
|
1561 |
+
$that.find('button').removeClass('tutor-updating-message');
|
1562 |
+
}
|
1563 |
+
});
|
1564 |
+
});
|
1565 |
+
|
1566 |
/*
|
1567 |
* @since v.1.7.9
|
1568 |
* Send wp nonce to every ajax request
|
classes/Lesson.php
CHANGED
@@ -327,8 +327,16 @@ class Lesson extends Tutor_Base {
|
|
327 |
|
328 |
// Course must be public or current user must be enrolled to access this lesson
|
329 |
if(get_post_meta($course_id, '_tutor_is_public_course', true)!=='yes' && !tutils()->is_enrolled($course_id)){
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
}
|
333 |
|
334 |
ob_start();
|
327 |
|
328 |
// Course must be public or current user must be enrolled to access this lesson
|
329 |
if(get_post_meta($course_id, '_tutor_is_public_course', true)!=='yes' && !tutils()->is_enrolled($course_id)){
|
330 |
+
|
331 |
+
$user = wp_get_current_user();
|
332 |
+
$is_admin = in_array('administrator', $user->roles);
|
333 |
+
|
334 |
+
$allowed = $is_admin ? true : tutor_utils()->is_instructor_of_this_course(get_current_user_id(), $course_id);
|
335 |
+
|
336 |
+
if( !$allowed ) {
|
337 |
+
http_response_code(400);
|
338 |
+
exit;
|
339 |
+
}
|
340 |
}
|
341 |
|
342 |
ob_start();
|
classes/Tutor.php
CHANGED
@@ -87,6 +87,7 @@ final class Tutor{
|
|
87 |
$wpdb->tutor_quiz_questions = $wpdb->prefix.'tutor_quiz_questions';
|
88 |
$wpdb->tutor_quiz_question_answers = $wpdb->prefix.'tutor_quiz_question_answers';
|
89 |
$wpdb->tutor_withdraws = $wpdb->prefix.'tutor_withdraws';
|
|
|
90 |
|
91 |
/**
|
92 |
* Changing default wp doing ajax return based on tutor ajax action
|
87 |
$wpdb->tutor_quiz_questions = $wpdb->prefix.'tutor_quiz_questions';
|
88 |
$wpdb->tutor_quiz_question_answers = $wpdb->prefix.'tutor_quiz_question_answers';
|
89 |
$wpdb->tutor_withdraws = $wpdb->prefix.'tutor_withdraws';
|
90 |
+
$wpdb->tutor_email_queue = $wpdb->prefix.'tutor_email_queue';
|
91 |
|
92 |
/**
|
93 |
* Changing default wp doing ajax return based on tutor ajax action
|
classes/Upgrader.php
CHANGED
@@ -19,6 +19,8 @@ class Upgrader {
|
|
19 |
*
|
20 |
*/
|
21 |
add_action('tutor_addon_before_enable_tutor-pro/addons/gradebook/gradebook.php', array($this, 'install_gradebook'));
|
|
|
|
|
22 |
}
|
23 |
|
24 |
public function init_upgrader(){
|
@@ -118,4 +120,40 @@ class Upgrader {
|
|
118 |
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
19 |
*
|
20 |
*/
|
21 |
add_action('tutor_addon_before_enable_tutor-pro/addons/gradebook/gradebook.php', array($this, 'install_gradebook'));
|
22 |
+
add_action('tutor_addon_before_enable_tutor-pro/addons/tutor-email/tutor-email.php', array($this, 'install_tutor_email_queue'));
|
23 |
+
add_action('upgrader_process_complete', array($this, 'init_email_table_deployment'), 10, 2);
|
24 |
}
|
25 |
|
26 |
public function init_upgrader(){
|
120 |
|
121 |
}
|
122 |
|
123 |
+
public function init_email_table_deployment($upgrader_object, $options ) {
|
124 |
+
|
125 |
+
if( is_object( $upgrader_object ) && is_array($upgrader_object->result) && isset($upgrader_object->result['destination_name']) && $upgrader_object->result['destination_name']=='tutor-pro' ) {
|
126 |
+
$addonConfig = tutor_utils()->get_addon_config('tutor-pro/addons/tutor-email/tutor-email.php');
|
127 |
+
$isEnable = (bool) tutor_utils()->avalue_dot('is_enable', $addonConfig);
|
128 |
+
|
129 |
+
$isEnable ? $this->install_tutor_email_queue() : 0;
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Installing email addon if Tutor Pro exists
|
135 |
+
*
|
136 |
+
* @since v.1.8.6
|
137 |
+
*/
|
138 |
+
public function install_tutor_email_queue() {
|
139 |
+
|
140 |
+
global $wpdb;
|
141 |
+
$exists_email_queue_table = $wpdb->query("SHOW TABLES LIKE '{$wpdb->tutor_email_queue}';");
|
142 |
+
$charset_collate = $wpdb->get_charset_collate();
|
143 |
+
|
144 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
145 |
+
|
146 |
+
if ( ! $exists_email_queue_table ) {
|
147 |
+
$table = "CREATE TABLE IF NOT EXISTS {$wpdb->tutor_email_queue} (
|
148 |
+
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
149 |
+
mail_to varchar(255) NOT NULL,
|
150 |
+
subject text NOT NULL,
|
151 |
+
message text NOT NULL,
|
152 |
+
headers text NOT NULL,
|
153 |
+
PRIMARY KEY (id)
|
154 |
+
) {$charset_collate};";
|
155 |
+
|
156 |
+
dbDelta( $table );
|
157 |
+
}
|
158 |
+
}
|
159 |
}
|
classes/User.php
CHANGED
@@ -107,11 +107,17 @@ class User {
|
|
107 |
}
|
108 |
|
109 |
public function profile_update($user_id){
|
|
|
|
|
|
|
|
|
110 |
$_tutor_profile_job_title = sanitize_text_field(tutor_utils()->avalue_dot('_tutor_profile_job_title', $_POST));
|
111 |
$_tutor_profile_bio = wp_kses_post(tutor_utils()->avalue_dot('_tutor_profile_bio', $_POST));
|
|
|
112 |
|
113 |
update_user_meta($user_id, '_tutor_profile_job_title', $_tutor_profile_job_title);
|
114 |
update_user_meta($user_id, '_tutor_profile_bio', $_tutor_profile_bio);
|
|
|
115 |
}
|
116 |
|
117 |
public function set_user_role($user_id, $role, $old_roles ){
|
107 |
}
|
108 |
|
109 |
public function profile_update($user_id){
|
110 |
+
if (tutils()->array_get('tutor_action', $_POST) === 'tutor_profile_edit' ){
|
111 |
+
return;
|
112 |
+
}
|
113 |
+
|
114 |
$_tutor_profile_job_title = sanitize_text_field(tutor_utils()->avalue_dot('_tutor_profile_job_title', $_POST));
|
115 |
$_tutor_profile_bio = wp_kses_post(tutor_utils()->avalue_dot('_tutor_profile_bio', $_POST));
|
116 |
+
$_tutor_profile_image = wp_kses_post(tutor_utils()->avalue_dot('_tutor_profile_photo', $_POST));
|
117 |
|
118 |
update_user_meta($user_id, '_tutor_profile_job_title', $_tutor_profile_job_title);
|
119 |
update_user_meta($user_id, '_tutor_profile_bio', $_tutor_profile_bio);
|
120 |
+
update_user_meta($user_id, '_tutor_profile_photo', $_tutor_profile_image);
|
121 |
}
|
122 |
|
123 |
public function set_user_role($user_id, $role, $old_roles ){
|
languages/tutor.pot
CHANGED
@@ -13,7 +13,7 @@ msgstr ""
|
|
13 |
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
|
16 |
-
#: tutor.php:52, classes/Tutor.php:
|
17 |
msgid "Tutor Instructor"
|
18 |
msgstr ""
|
19 |
|
@@ -1902,15 +1902,15 @@ msgstr ""
|
|
1902 |
msgid "Setup Wizard"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
-
#: classes/Tutor.php:
|
1906 |
msgid "Dashboard"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
-
#: classes/Tutor.php:
|
1910 |
msgid "Student Registration"
|
1911 |
msgstr ""
|
1912 |
|
1913 |
-
#: classes/Tutor.php:
|
1914 |
msgid "Instructor Registration"
|
1915 |
msgstr ""
|
1916 |
|
@@ -2158,7 +2158,7 @@ msgstr ""
|
|
2158 |
msgid "Payment"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
-
#: classes/Tutor_Setup.php:560, templates/single/quiz/body.php:
|
2162 |
msgid "Finish"
|
2163 |
msgstr ""
|
2164 |
|
@@ -2765,7 +2765,7 @@ msgstr ""
|
|
2765 |
msgid "Lesson List"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: templates/single-preview-lesson.php:197, templates/single-quiz.php:35, templates/single/assignment/content.php:31, templates/single/lesson/content.php:
|
2769 |
msgid "Go to Course Home"
|
2770 |
msgstr ""
|
2771 |
|
@@ -3703,7 +3703,7 @@ msgstr ""
|
|
3703 |
msgid "Update Feature Image"
|
3704 |
msgstr ""
|
3705 |
|
3706 |
-
#: views/modal/edit-lesson.php:75, views/modal/edit_quiz.php:253, views/modal/edit_quiz.php:340, views/options/options_generator.php:5, views/pages/view_attempt.php:365
|
3707 |
msgid "Error"
|
3708 |
msgstr ""
|
3709 |
|
@@ -3711,7 +3711,7 @@ msgstr ""
|
|
3711 |
msgid "Action Failed"
|
3712 |
msgstr ""
|
3713 |
|
3714 |
-
#: views/modal/edit-lesson.php:75, views/modal/edit_quiz.php:253, views/modal/edit_quiz.php:340, views/options/options_generator.php:5, views/pages/view_attempt.php:365
|
3715 |
msgid "Success"
|
3716 |
msgstr ""
|
3717 |
|
@@ -4219,6 +4219,14 @@ msgstr ""
|
|
4219 |
msgid "Evaluation"
|
4220 |
msgstr ""
|
4221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4222 |
#: templates/dashboard/assignments/review.php:99
|
4223 |
msgid "Your Points"
|
4224 |
msgstr ""
|
@@ -4851,23 +4859,23 @@ msgstr ""
|
|
4851 |
msgid "Submit My Question"
|
4852 |
msgstr ""
|
4853 |
|
4854 |
-
#: templates/single/quiz/body.php:
|
4855 |
msgid "Start Quiz"
|
4856 |
msgstr ""
|
4857 |
|
4858 |
-
#: templates/single/quiz/body.php:
|
4859 |
msgid "Marks : "
|
4860 |
msgstr ""
|
4861 |
|
4862 |
-
#: templates/single/quiz/body.php:
|
4863 |
msgid "characters remaining"
|
4864 |
msgstr ""
|
4865 |
|
4866 |
-
#: templates/single/quiz/body.php:
|
4867 |
msgid "Submit Quiz"
|
4868 |
msgstr ""
|
4869 |
|
4870 |
-
#: templates/single/quiz/body.php:
|
4871 |
msgid "Answer & Next Question"
|
4872 |
msgstr ""
|
4873 |
|
13 |
"X-Poedit-SourceCharset: UTF-8\n"
|
14 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
|
16 |
+
#: tutor.php:52, classes/Tutor.php:426
|
17 |
msgid "Tutor Instructor"
|
18 |
msgstr ""
|
19 |
|
1902 |
msgid "Setup Wizard"
|
1903 |
msgstr ""
|
1904 |
|
1905 |
+
#: classes/Tutor.php:521, classes/Utils.php:2438, templates/dashboard/dashboard.php:9
|
1906 |
msgid "Dashboard"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
+
#: classes/Tutor.php:530
|
1910 |
msgid "Student Registration"
|
1911 |
msgstr ""
|
1912 |
|
1913 |
+
#: classes/Tutor.php:539
|
1914 |
msgid "Instructor Registration"
|
1915 |
msgstr ""
|
1916 |
|
2158 |
msgid "Payment"
|
2159 |
msgstr ""
|
2160 |
|
2161 |
+
#: classes/Tutor_Setup.php:560, templates/single/quiz/body.php:409
|
2162 |
msgid "Finish"
|
2163 |
msgstr ""
|
2164 |
|
2765 |
msgid "Lesson List"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: templates/single-preview-lesson.php:197, templates/single-quiz.php:35, templates/single/assignment/content.php:31, templates/single/lesson/content.php:34, templates/single/quiz/single_quiz_contents.php:14
|
2769 |
msgid "Go to Course Home"
|
2770 |
msgstr ""
|
2771 |
|
3703 |
msgid "Update Feature Image"
|
3704 |
msgstr ""
|
3705 |
|
3706 |
+
#: views/modal/edit-lesson.php:75, views/modal/edit_quiz.php:253, views/modal/edit_quiz.php:340, views/options/options_generator.php:5, views/pages/view_attempt.php:365, templates/dashboard/assignments/review.php:93
|
3707 |
msgid "Error"
|
3708 |
msgstr ""
|
3709 |
|
3711 |
msgid "Action Failed"
|
3712 |
msgstr ""
|
3713 |
|
3714 |
+
#: views/modal/edit-lesson.php:75, views/modal/edit_quiz.php:253, views/modal/edit_quiz.php:340, views/options/options_generator.php:5, views/pages/view_attempt.php:365, templates/dashboard/assignments/review.php:93
|
3715 |
msgid "Success"
|
3716 |
msgstr ""
|
3717 |
|
4219 |
msgid "Evaluation"
|
4220 |
msgstr ""
|
4221 |
|
4222 |
+
#: templates/dashboard/assignments/review.php:93
|
4223 |
+
msgid "Assignment evaluated"
|
4224 |
+
msgstr ""
|
4225 |
+
|
4226 |
+
#: templates/dashboard/assignments/review.php:93
|
4227 |
+
msgid "Request Error"
|
4228 |
+
msgstr ""
|
4229 |
+
|
4230 |
#: templates/dashboard/assignments/review.php:99
|
4231 |
msgid "Your Points"
|
4232 |
msgstr ""
|
4859 |
msgid "Submit My Question"
|
4860 |
msgstr ""
|
4861 |
|
4862 |
+
#: templates/single/quiz/body.php:428
|
4863 |
msgid "Start Quiz"
|
4864 |
msgstr ""
|
4865 |
|
4866 |
+
#: templates/single/quiz/body.php:123
|
4867 |
msgid "Marks : "
|
4868 |
msgstr ""
|
4869 |
|
4870 |
+
#: templates/single/quiz/body.php:307, templates/single/quiz/body.php:316
|
4871 |
msgid "characters remaining"
|
4872 |
msgstr ""
|
4873 |
|
4874 |
+
#: templates/single/quiz/body.php:372, templates/single/quiz/body.php:389
|
4875 |
msgid "Submit Quiz"
|
4876 |
msgstr ""
|
4877 |
|
4878 |
+
#: templates/single/quiz/body.php:363
|
4879 |
msgid "Answer & Next Question"
|
4880 |
msgstr ""
|
4881 |
|
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.7
|
7 |
Requires PHP: 7.0
|
8 |
-
Stable tag: 1.8.
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -241,6 +241,15 @@ Tutor enables you to use any third party plugins without facing any compatibilit
|
|
241 |
|
242 |
== Changelog ==
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
= 1.8.5 - March 12, 2021 =
|
245 |
|
246 |
Update: "Start Meeting" button will be disabled for expired meetings
|
5 |
Requires at least: 5.3
|
6 |
Tested up to: 5.7
|
7 |
Requires PHP: 7.0
|
8 |
+
Stable tag: 1.8.6
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
241 |
|
242 |
== Changelog ==
|
243 |
|
244 |
+
= 1.8.6 - March 22, 2021 =
|
245 |
+
|
246 |
+
New: Search assignments by Student Name
|
247 |
+
New: Toast message added after evaluating assignments
|
248 |
+
Fix: Disabling Content Drip email not working
|
249 |
+
Fix: Announcement email sending limit issue fixed using queue
|
250 |
+
Fix: Import quizzes not working for Windows users due to file type error
|
251 |
+
Fix: Instructors profile photos were not saving in the WordPress admin panel
|
252 |
+
|
253 |
= 1.8.5 - March 12, 2021 =
|
254 |
|
255 |
Update: "Start Meeting" button will be disabled for expired meetings
|
templates/dashboard/assignments/review.php
CHANGED
@@ -90,7 +90,7 @@ if ( $submitted_assignment){
|
|
90 |
|
91 |
<div class="tutor-dashboard-assignment-review">
|
92 |
<h3><?php _e('Evaluation', 'tutor'); ?></h3>
|
93 |
-
<form action="" method="post">
|
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"/>
|
90 |
|
91 |
<div class="tutor-dashboard-assignment-review">
|
92 |
<h3><?php _e('Evaluation', 'tutor'); ?></h3>
|
93 |
+
<form action="" method="post" class="tutor-form-submit-through-ajax" data-toast_success="<?php _e('Success', 'tutor'); ?>" data-toast_success_message="<?php _e('Assignment evaluated', 'tutor'); ?>" data-toast_error="<?php _e('Error', 'tutor'); ?>" data-toast_error_message="<?php _e('Request Error', '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"/>
|
templates/single/lesson/content.php
CHANGED
@@ -13,8 +13,6 @@
|
|
13 |
if ( ! defined( 'ABSPATH' ) )
|
14 |
exit;
|
15 |
|
16 |
-
do_action('tutor_lesson/single/before/content');
|
17 |
-
|
18 |
$jsonData = array();
|
19 |
$jsonData['post_id'] = get_the_ID();
|
20 |
$jsonData['best_watch_time'] = 0;
|
@@ -26,7 +24,6 @@ if ($best_watch_time > 0){
|
|
26 |
}
|
27 |
?>
|
28 |
|
29 |
-
|
30 |
<?php do_action('tutor_lesson/single/before/content'); ?>
|
31 |
|
32 |
<div class="tutor-single-page-top-bar">
|
13 |
if ( ! defined( 'ABSPATH' ) )
|
14 |
exit;
|
15 |
|
|
|
|
|
16 |
$jsonData = array();
|
17 |
$jsonData['post_id'] = get_the_ID();
|
18 |
$jsonData['best_watch_time'] = 0;
|
24 |
}
|
25 |
?>
|
26 |
|
|
|
27 |
<?php do_action('tutor_lesson/single/before/content'); ?>
|
28 |
|
29 |
<div class="tutor-single-page-top-bar">
|
templates/single/quiz/body.php
CHANGED
@@ -31,7 +31,8 @@ $attempt_remaining = $attempts_allowed - $attempted_count;
|
|
31 |
$quiz_attempt_info['date_time_now'] = date("Y-m-d H:i:s", tutor_time());
|
32 |
|
33 |
$time_limit_seconds = tutor_utils()->avalue_dot('time_limit.time_limit_seconds', $quiz_attempt_info);
|
34 |
-
$question_layout_view = tutor_utils()->
|
|
|
35 |
|
36 |
$hide_quiz_time_display = (bool) tutor_utils()->avalue_dot('hide_quiz_time_display', $quiz_attempt_info);
|
37 |
$hide_question_number_overview = (bool) tutor_utils()->avalue_dot('hide_question_number_overview', $quiz_attempt_info);
|
31 |
$quiz_attempt_info['date_time_now'] = date("Y-m-d H:i:s", tutor_time());
|
32 |
|
33 |
$time_limit_seconds = tutor_utils()->avalue_dot('time_limit.time_limit_seconds', $quiz_attempt_info);
|
34 |
+
$question_layout_view = tutor_utils()->get_quiz_option($quiz_id, 'question_layout_view');
|
35 |
+
!$question_layout_view ? $question_layout_view = 'single_question' : 0;
|
36 |
|
37 |
$hide_quiz_time_display = (bool) tutor_utils()->avalue_dot('hide_quiz_time_display', $quiz_attempt_info);
|
38 |
$hide_question_number_overview = (bool) tutor_utils()->avalue_dot('hide_question_number_overview', $quiz_attempt_info);
|
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.8.
|
8 |
Author URI: https://themeum.com
|
9 |
Requires at least: 4.5
|
10 |
Tested up to: 5.7
|
@@ -17,7 +17,7 @@ if ( ! defined( 'ABSPATH' ) )
|
|
17 |
/**
|
18 |
* Defined the tutor main file
|
19 |
*/
|
20 |
-
define( 'TUTOR_VERSION', '1.8.
|
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.8.6
|
8 |
Author URI: https://themeum.com
|
9 |
Requires at least: 4.5
|
10 |
Tested up to: 5.7
|
17 |
/**
|
18 |
* Defined the tutor main file
|
19 |
*/
|
20 |
+
define( 'TUTOR_VERSION', '1.8.6' );
|
21 |
define( 'TUTOR_FILE', __FILE__ );
|
22 |
|
23 |
/**
|
views/metabox/user-profile-fields.php
CHANGED
@@ -45,7 +45,7 @@ wp_enqueue_media();
|
|
45 |
}
|
46 |
?>
|
47 |
</p>
|
48 |
-
<input type="hidden" name="
|
49 |
<button type="button" class="tutor_video_poster_upload_btn button button-primary"><?php _e('Upload', 'tutor'); ?></button>
|
50 |
</div>
|
51 |
|
45 |
}
|
46 |
?>
|
47 |
</p>
|
48 |
+
<input type="hidden" name="_tutor_profile_photo" value="<?php echo $user_profile_photo; ?>">
|
49 |
<button type="button" class="tutor_video_poster_upload_btn button button-primary"><?php _e('Upload', 'tutor'); ?></button>
|
50 |
</div>
|
51 |
|
views/options/option_field.php
CHANGED
@@ -15,6 +15,8 @@
|
|
15 |
if (isset($field['desc'])){
|
16 |
echo "<p class='desc'>{$field['desc']}</p>";
|
17 |
}
|
|
|
|
|
18 |
?>
|
19 |
</div>
|
20 |
</div>
|
15 |
if (isset($field['desc'])){
|
16 |
echo "<p class='desc'>{$field['desc']}</p>";
|
17 |
}
|
18 |
+
|
19 |
+
do_action( 'tutor_options_after_field_'.$field['field_key'] );
|
20 |
?>
|
21 |
</div>
|
22 |
</div>
|