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