PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.6.0
Tutor LMS – eLearning and online course solution v1.6.0
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 6 years ago Admin.php 6 years ago Ajax.php 6 years ago Assets.php 6 years ago Course.php 6 years ago Course_Settings_Tabs.php 6 years ago Course_Widget.php 6 years ago Dashboard.php 6 years ago Email.php 6 years ago FormHandler.php 6 years ago Frontend.php 6 years ago Gutenberg.php 6 years ago Instructor.php 6 years ago Instructors_List.php 6 years ago Lesson.php 6 years ago Options.php 6 years ago Post_types.php 6 years ago Q_and_A.php 6 years ago Question_Answers_List.php 6 years ago Quiz.php 6 years ago Quiz_Attempts_List.php 6 years ago RestAPI.php 6 years ago Rewrite_Rules.php 6 years ago Shortcode.php 6 years ago Student.php 6 years ago Students_List.php 6 years ago Taxonomies.php 6 years ago Template.php 6 years ago Theme_Compatibility.php 6 years ago Tools.php 6 years ago Tutor.php 6 years ago TutorEDD.php 6 years ago Tutor_Base.php 6 years ago Tutor_List_Table.php 6 years ago Tutor_Setup.php 6 years ago Upgrader.php 6 years ago User.php 6 years ago Utils.php 6 years ago Video_Stream.php 6 years ago Withdraw.php 6 years ago Withdraw_Requests_List.php 6 years ago WooCommerce.php 6 years ago
Assets.php
228 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 = 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 $localize_data['quiz_options'] = $quiz_options;
100 }
101
102 /**
103 * Enabling Sorting, draggable, droppable...
104 */
105 wp_enqueue_script('jquery-ui-sortable');
106 /**
107 * Tutor Icon
108 */
109 wp_enqueue_style('tutor-icon', tutor()->url.'assets/icons/css/tutor-icon.css', array(), tutor()->version);
110
111
112 //Plyr
113 wp_enqueue_style( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.css', array(), tutor()->version );
114 wp_enqueue_script( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.polyfilled.min.js', array( 'jquery' ), tutor()->version, true );
115
116 //Social Share
117 wp_enqueue_script( 'tutor-social-share', tutor()->url . 'assets/packages/SocialShare/SocialShare.min.js', array( 'jquery' ), tutor()->version, true );
118
119 //Including player assets if video exists
120 if (tutor_utils()->has_video_in_single()) {
121 $localize_data['post_id'] = get_the_ID();
122 $localize_data['best_watch_time'] = 0;
123
124 $best_watch_time = tutor_utils()->get_lesson_reading_info(get_the_ID(), 0, 'video_best_watched_time');
125 if ($best_watch_time > 0){
126 $localize_data['best_watch_time'] = $best_watch_time;
127 }
128 }
129
130 /**
131 * Chart Data
132 */
133 if ( ! empty($wp_query->query_vars['tutor_dashboard_page']) ) {
134 wp_enqueue_script('jquery-ui-slider');
135
136 wp_enqueue_style('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.css', array(), tutor()->version);
137 wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.full.min.js', array('jquery'), tutor()->version, true );
138
139 if ($wp_query->query_vars['tutor_dashboard_page'] === 'earning'){
140 wp_enqueue_script( 'tutor-front-chart-js', tutor()->url . 'assets/js/Chart.bundle.min.js', array(), tutor()->version );
141 wp_enqueue_script( 'jquery-ui-datepicker' );
142 }
143 }
144 //End: chart data
145
146 $localize_data = apply_filters('tutor_localize_data', $localize_data);
147 if (tutor_utils()->get_option('load_tutor_css')){
148 wp_enqueue_style('tutor-frontend', tutor()->url."assets/css/tutor-front{$suffix}.css", array(), tutor()->version);
149 }
150 if (tutor_utils()->get_option('load_tutor_js')) {
151 wp_enqueue_script( 'tutor-main', tutor()->url . 'assets/js/tutor.js', array( 'jquery' ), tutor()->version, true );
152 wp_enqueue_script( 'tutor-frontend', tutor()->url . 'assets/js/tutor-front.js', array( 'jquery' ), tutor()->version, true );
153 wp_localize_script('tutor-frontend', '_tutorobject', $localize_data);
154 }
155
156 /**
157 * Default Color
158 */
159 $tutor_css = ":root{";
160 $tutor_primary_color = tutor_utils()->get_option('tutor_primary_color');
161 $tutor_primary_hover_color = tutor_utils()->get_option('tutor_primary_hover_color');
162 $tutor_text_color = tutor_utils()->get_option('tutor_text_color');
163 $tutor_light_color = tutor_utils()->get_option('tutor_light_color');
164
165 if ($tutor_primary_color){
166 $tutor_css .= " --tutor-primary-color: {$tutor_primary_color};";
167 }
168 if ($tutor_primary_hover_color){
169 $tutor_css .= " --tutor-primary-hover-color: {$tutor_primary_hover_color};";
170 }
171 if ($tutor_text_color){
172 $tutor_css .= " --tutor-text-color: {$tutor_text_color};";
173 }
174 if ($tutor_light_color){
175 $tutor_css .= " --tutor-light-color: {$tutor_light_color};";
176 }
177
178 $tutor_css .= "}";
179 wp_add_inline_style( 'tutor-frontend', $tutor_css );
180 //END: Default Color
181
182 }
183
184 /**
185 * Add Tinymce button for placing shortcode
186 */
187 function tutor_add_mce_button() {
188 // check user permissions
189 if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
190 return;
191 }
192 // check if WYSIWYG is enabled
193 if ( 'true' == get_user_option( 'rich_editing' ) ) {
194 add_filter( 'mce_external_plugins', array($this, 'tutor_add_tinymce_js') );
195 add_filter( 'mce_buttons', array($this, 'tutor_register_mce_button') );
196 }
197 }
198 // Declare script for new button
199 function tutor_add_tinymce_js( $plugin_array ) {
200 $plugin_array['tutor_button'] = tutor()->url .'assets/js/mce-button.js';
201 return $plugin_array;
202 }
203 // Register new button in the editor
204 function tutor_register_mce_button( $buttons ) {
205 array_push( $buttons, 'tutor_button' );
206 return $buttons;
207 }
208
209 /**
210 * Output generator tag to aid debugging.
211 *
212 * @param string $gen Generator.
213 * @param string $type Type.
214 * @return string
215 */
216 function tutor_generator_tag( $gen, $type ) {
217 switch ( $type ) {
218 case 'html':
219 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '">';
220 break;
221 case 'xhtml':
222 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '" />';
223 break;
224 }
225 return $gen;
226 }
227
228 }