PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.6.6
Tutor LMS – eLearning and online course solution v1.6.6
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / classes / Assets.php
tutor / classes Last commit date
Addons.php 5 years ago Admin.php 5 years ago Ajax.php 5 years ago Assets.php 5 years ago Course.php 5 years ago Course_Settings_Tabs.php 5 years ago Course_Widget.php 5 years ago Dashboard.php 5 years ago Email.php 5 years ago FormHandler.php 5 years ago Frontend.php 5 years ago Gutenberg.php 5 years ago Instructor.php 5 years ago Instructors_List.php 5 years ago Lesson.php 5 years ago Options.php 5 years ago Post_types.php 5 years ago Q_and_A.php 5 years ago Question_Answers_List.php 5 years ago Quiz.php 5 years ago Quiz_Attempts_List.php 5 years ago RestAPI.php 5 years ago Rewrite_Rules.php 5 years ago Shortcode.php 5 years ago Student.php 5 years ago Students_List.php 5 years ago Taxonomies.php 5 years ago Template.php 5 years ago Theme_Compatibility.php 5 years ago Tools.php 5 years ago Tutor.php 5 years ago TutorEDD.php 5 years ago Tutor_Base.php 5 years ago Tutor_List_Table.php 5 years ago Tutor_Setup.php 5 years ago Upgrader.php 5 years ago User.php 5 years ago Utils.php 5 years ago Video_Stream.php 5 years ago Withdraw.php 5 years ago Withdraw_Requests_List.php 5 years ago WooCommerce.php 5 years ago
Assets.php
235 lines
1 <?php
2 namespace TUTOR;
3
4 if ( ! defined( 'ABSPATH' ) )
5 exit;
6
7 class Assets{
8
9 public function __construct() {
10 add_action('admin_enqueue_scripts', array($this, 'admin_scripts'));
11 add_action('wp_enqueue_scripts', array($this, 'frontend_scripts'));
12 add_action( 'admin_head', array($this, 'tutor_add_mce_button'));
13 add_filter( 'get_the_generator_html', array($this, 'tutor_generator_tag'), 10, 2 );
14 add_filter( 'get_the_generator_xhtml', array($this, 'tutor_generator_tag'), 10, 2 );
15 }
16
17 public function admin_scripts(){
18 wp_enqueue_style('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.css', array(), tutor()->version);
19 wp_enqueue_style('tutor-admin', tutor()->url.'assets/css/tutor-admin.css', array(), tutor()->version);
20 wp_enqueue_style('tutor-icon', tutor()->url.'assets/icons/css/tutor-icon.css', array(), tutor()->version);
21
22 /**
23 * Scripts
24 */
25 wp_enqueue_media();
26
27 wp_enqueue_script( 'wp-color-picker' );
28 wp_enqueue_style( 'wp-color-picker' );
29
30 wp_enqueue_script('jquery-ui-slider');
31 wp_enqueue_script('jquery-ui-datepicker');
32
33 wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.full.min.js', array('jquery'), tutor()->version, true );
34 wp_enqueue_script( 'tutor-main', tutor()->url . 'assets/js/tutor.js', array( 'jquery' ), tutor()->version, true );
35 wp_enqueue_script('tutor-admin', tutor()->url.'assets/js/tutor-admin.js', array('jquery', 'wp-color-picker'), tutor()->version, true );
36
37 $tutor_localize_data = array(
38 'delete_confirm_text' => __('Are you sure? it can not be undone.', 'tutor'),
39
40 'nonce_key' => tutor()->nonce,
41 tutor()->nonce => wp_create_nonce( tutor()->nonce_action ),
42 );
43 if ( ! empty($_GET['taxonomy']) && ( $_GET['taxonomy'] === 'course-category' || $_GET['taxonomy'] === 'course-tag') ){
44 $tutor_localize_data['open_tutor_admin_menu'] = true;
45 }
46
47 wp_localize_script('tutor-admin', 'tutor_data', $tutor_localize_data);
48 }
49
50 /**
51 * Load frontend scripts
52 */
53 public function frontend_scripts(){
54 global $post, $wp_query;
55
56 $is_script_debug = tutor_utils()->is_script_debug();
57 $suffix = $is_script_debug ? '' : '.min';
58
59 /**
60 * We checked wp_enqueue_editor() in condition because it conflicting with Divi Builder
61 * condition @since v.1.3.3
62 */
63
64 if (is_single()){
65 wp_enqueue_editor();
66 }
67
68 /**
69 * Initializing quicktags script to use in wp_editor();
70 */
71 wp_enqueue_script( 'quicktags');
72
73 $tutor_dashboard_page_id = (int) tutor_utils()->get_option('tutor_dashboard_page_id');
74 if ($tutor_dashboard_page_id === get_the_ID()){
75 wp_enqueue_media();
76 }
77
78 //$options = tutor_utils()->get_option();
79 $localize_data = array(
80 'ajaxurl' => admin_url('admin-ajax.php'),
81 'nonce_key' => tutor()->nonce,
82 tutor()->nonce => wp_create_nonce( tutor()->nonce_action ),
83 //'options' => $options,
84 'placeholder_img_src' => tutor_placeholder_img_src(),
85 'enable_lesson_classic_editor' => get_tutor_option('enable_lesson_classic_editor'),
86
87 'text' => array(
88 'assignment_text_validation_msg' => __('Assignment answer can not be empty', 'tutor'),
89 ),
90 );
91
92 if ( ! empty($post->post_type) && $post->post_type === 'tutor_quiz'){
93 $single_quiz_options = (array) tutor_utils()->get_quiz_option($post->ID);
94 $saved_quiz_options = array(
95 'quiz_when_time_expires' => tutils()->get_option('quiz_when_time_expires'),
96 );
97
98 $quiz_options = array_merge($single_quiz_options, $saved_quiz_options);
99
100 $previous_attempts = tutor_utils()->quiz_attempts();
101
102 if ($previous_attempts && count($previous_attempts)) {
103 $quiz_options['quiz_auto_start'] = 0;
104 }
105
106 $localize_data['quiz_options'] = $quiz_options;
107 }
108
109 /**
110 * Enabling Sorting, draggable, droppable...
111 */
112 wp_enqueue_script('jquery-ui-sortable');
113 /**
114 * Tutor Icon
115 */
116 wp_enqueue_style('tutor-icon', tutor()->url.'assets/icons/css/tutor-icon.css', array(), tutor()->version);
117
118
119 //Plyr
120 wp_enqueue_style( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.css', array(), tutor()->version );
121 wp_enqueue_script( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.polyfilled.min.js', array( 'jquery' ), tutor()->version, true );
122
123 //Social Share
124 wp_enqueue_script( 'tutor-social-share', tutor()->url . 'assets/packages/SocialShare/SocialShare.min.js', array( 'jquery' ), tutor()->version, true );
125
126 //Including player assets if video exists
127 if (tutor_utils()->has_video_in_single()) {
128 $localize_data['post_id'] = get_the_ID();
129 $localize_data['best_watch_time'] = 0;
130
131 $best_watch_time = tutor_utils()->get_lesson_reading_info(get_the_ID(), 0, 'video_best_watched_time');
132 if ($best_watch_time > 0){
133 $localize_data['best_watch_time'] = $best_watch_time;
134 }
135 }
136
137 /**
138 * Chart Data
139 */
140 if ( ! empty($wp_query->query_vars['tutor_dashboard_page']) ) {
141 wp_enqueue_script('jquery-ui-slider');
142
143 wp_enqueue_style('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.css', array(), tutor()->version);
144 wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.full.min.js', array('jquery'), tutor()->version, true );
145
146 if ($wp_query->query_vars['tutor_dashboard_page'] === 'earning'){
147 wp_enqueue_script( 'tutor-front-chart-js', tutor()->url . 'assets/js/Chart.bundle.min.js', array(), tutor()->version );
148 wp_enqueue_script( 'jquery-ui-datepicker' );
149 }
150 }
151 //End: chart data
152
153 $localize_data = apply_filters('tutor_localize_data', $localize_data);
154 if (tutor_utils()->get_option('load_tutor_css')){
155 wp_enqueue_style('tutor-frontend', tutor()->url."assets/css/tutor-front{$suffix}.css", array(), tutor()->version);
156 }
157 if (tutor_utils()->get_option('load_tutor_js')) {
158 wp_enqueue_script( 'tutor-main', tutor()->url . 'assets/js/tutor.js', array( 'jquery' ), tutor()->version, true );
159 wp_enqueue_script( 'tutor-frontend', tutor()->url . 'assets/js/tutor-front.js', array( 'jquery' ), tutor()->version, true );
160 wp_localize_script('tutor-frontend', '_tutorobject', $localize_data);
161 }
162
163 /**
164 * Default Color
165 */
166 $tutor_css = ":root{";
167 $tutor_primary_color = tutor_utils()->get_option('tutor_primary_color');
168 $tutor_primary_hover_color = tutor_utils()->get_option('tutor_primary_hover_color');
169 $tutor_text_color = tutor_utils()->get_option('tutor_text_color');
170 $tutor_light_color = tutor_utils()->get_option('tutor_light_color');
171
172 if ($tutor_primary_color){
173 $tutor_css .= " --tutor-primary-color: {$tutor_primary_color};";
174 }
175 if ($tutor_primary_hover_color){
176 $tutor_css .= " --tutor-primary-hover-color: {$tutor_primary_hover_color};";
177 }
178 if ($tutor_text_color){
179 $tutor_css .= " --tutor-text-color: {$tutor_text_color};";
180 }
181 if ($tutor_light_color){
182 $tutor_css .= " --tutor-light-color: {$tutor_light_color};";
183 }
184
185 $tutor_css .= "}";
186 wp_add_inline_style( 'tutor-frontend', $tutor_css );
187 //END: Default Color
188
189 }
190
191 /**
192 * Add Tinymce button for placing shortcode
193 */
194 function tutor_add_mce_button() {
195 // check user permissions
196 if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
197 return;
198 }
199 // check if WYSIWYG is enabled
200 if ( 'true' == get_user_option( 'rich_editing' ) ) {
201 add_filter( 'mce_external_plugins', array($this, 'tutor_add_tinymce_js') );
202 add_filter( 'mce_buttons', array($this, 'tutor_register_mce_button') );
203 }
204 }
205 // Declare script for new button
206 function tutor_add_tinymce_js( $plugin_array ) {
207 $plugin_array['tutor_button'] = tutor()->url .'assets/js/mce-button.js';
208 return $plugin_array;
209 }
210 // Register new button in the editor
211 function tutor_register_mce_button( $buttons ) {
212 array_push( $buttons, 'tutor_button' );
213 return $buttons;
214 }
215
216 /**
217 * Output generator tag to aid debugging.
218 *
219 * @param string $gen Generator.
220 * @param string $type Type.
221 * @return string
222 */
223 function tutor_generator_tag( $gen, $type ) {
224 switch ( $type ) {
225 case 'html':
226 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '">';
227 break;
228 case 'xhtml':
229 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '" />';
230 break;
231 }
232 return $gen;
233 }
234
235 }