PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.3.9
Tutor LMS – eLearning and online course solution v1.3.9
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_Widget.php 6 years ago Dashboard.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.php 6 years ago Question_Answers_List.php 6 years ago Quiz.php 6 years ago Quiz_Attempts_List.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
211 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('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.js', array('jquery'), tutor()->version, true );
32 wp_enqueue_script( 'tutor-main', tutor()->url . 'assets/js/tutor.js', array( 'jquery' ), tutor()->version, true );
33 wp_enqueue_script('tutor-admin', tutor()->url.'assets/js/tutor-admin.js', array('jquery', 'wp-color-picker'), tutor()->version, true );
34
35 $tutor_localize_data = array();
36 if ( ! empty($_GET['taxonomy']) && ( $_GET['taxonomy'] === 'course-category' || $_GET['taxonomy'] === 'course-tag') ){
37 $tutor_localize_data['open_tutor_admin_menu'] = true;
38 }
39
40 wp_localize_script('tutor-admin', 'tutor_data', $tutor_localize_data);
41 }
42
43 /**
44 * Load frontend scripts
45 */
46 public function frontend_scripts(){
47 global $post, $wp_query;
48
49 $is_script_debug = tutor_utils()->is_script_debug();
50 $suffix = $is_script_debug ? '' : '.min';
51
52 /**
53 * We checked wp_enqueue_editor() in condition because it conflicting with Divi Builder
54 * condition @since v.1.3.3
55 */
56
57 if (is_single()){
58 wp_enqueue_editor();
59 }
60
61 /**
62 * Initializing quicktags script to use in wp_editor();
63 */
64 wp_enqueue_script( 'quicktags');
65
66 $tutor_dashboard_page_id = (int) tutor_utils()->get_option('tutor_dashboard_page_id');
67 if ($tutor_dashboard_page_id === get_the_ID()){
68 wp_enqueue_media();
69 }
70
71 $options = tutor_utils()->get_option();
72 $localize_data = array(
73 'ajaxurl' => admin_url('admin-ajax.php'),
74 'nonce_key' => tutor()->nonce,
75 tutor()->nonce => wp_create_nonce( tutor()->nonce_action ),
76 'options' => $options,
77 'placeholder_img_src' => tutor_placeholder_img_src(),
78 );
79
80 if ( ! empty($post->post_type) && $post->post_type === 'tutor_quiz'){
81 $quiz_options = tutor_utils()->get_quiz_option($post->ID);
82 $localize_data['quiz_options'] = $quiz_options;
83 }
84
85 /**
86 * Enabling Sorting, draggable, droppable...
87 */
88 wp_enqueue_script('jquery-ui-sortable');
89 /**
90 * Tutor Icon
91 */
92 wp_enqueue_style('tutor-icon', tutor()->url.'assets/icons/css/tutor-icon.css', array(), tutor()->version);
93
94
95 //Plyr
96 wp_enqueue_style( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.css', array(), tutor()->version );
97 wp_enqueue_script( 'tutor-plyr', tutor()->url . 'assets/packages/plyr/plyr.polyfilled.min.js', array( 'jquery' ), tutor()->version, true );
98
99 //Social Share
100 wp_enqueue_script( 'tutor-social-share', tutor()->url . 'assets/packages/SocialShare/SocialShare.min.js', array( 'jquery' ), tutor()->version, true );
101
102 //Including player assets if video exists
103 if (tutor_utils()->has_video_in_single()) {
104 $localize_data['post_id'] = get_the_ID();
105 $localize_data['best_watch_time'] = 0;
106
107 $best_watch_time = tutor_utils()->get_lesson_reading_info(get_the_ID(), 0, 'video_best_watched_time');
108 if ($best_watch_time > 0){
109 $localize_data['best_watch_time'] = $best_watch_time;
110 }
111 }
112
113 /**
114 * Chart Data
115 */
116 if ( ! empty($wp_query->query_vars['tutor_dashboard_page']) ) {
117 wp_enqueue_script('jquery-ui-slider');
118
119 wp_enqueue_style('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.css', array(), tutor()->version);
120 wp_enqueue_script('tutor-select2', tutor()->url.'assets/packages/select2/select2.min.js', array('jquery'), tutor()->version, true );
121
122 if ($wp_query->query_vars['tutor_dashboard_page'] === 'earning'){
123 wp_enqueue_script( 'tutor-front-chart-js', tutor()->url . 'assets/js/Chart.bundle.min.js', array(), tutor()->version );
124 wp_enqueue_script( 'jquery-ui-datepicker' );
125 }
126 }
127 //End: chart data
128
129 $localize_data = apply_filters('tutor_localize_data', $localize_data);
130 if (tutor_utils()->get_option('load_tutor_css')){
131 wp_enqueue_style('tutor-frontend', tutor()->url."assets/css/tutor-front{$suffix}.css", array(), tutor()->version);
132 }
133 if (tutor_utils()->get_option('load_tutor_js')) {
134 wp_enqueue_script( 'tutor-main', tutor()->url . 'assets/js/tutor.js', array( 'jquery' ), tutor()->version, true );
135 wp_enqueue_script( 'tutor-frontend', tutor()->url . 'assets/js/tutor-front.js', array( 'jquery' ), tutor()->version, true );
136 wp_localize_script('tutor-frontend', '_tutorobject', $localize_data);
137 }
138
139 /**
140 * Default Color
141 */
142 $tutor_css = ":root{";
143 $tutor_primary_color = tutor_utils()->get_option('tutor_primary_color');
144 $tutor_primary_hover_color = tutor_utils()->get_option('tutor_primary_hover_color');
145 $tutor_text_color = tutor_utils()->get_option('tutor_text_color');
146 $tutor_light_color = tutor_utils()->get_option('tutor_light_color');
147
148 if ($tutor_primary_color){
149 $tutor_css .= " --tutor-primary-color: {$tutor_primary_color};";
150 }
151 if ($tutor_primary_hover_color){
152 $tutor_css .= " --tutor-primary-hover-color: {$tutor_primary_hover_color};";
153 }
154 if ($tutor_text_color){
155 $tutor_css .= " --tutor-text-color: {$tutor_text_color};";
156 }
157 if ($tutor_light_color){
158 $tutor_css .= " --tutor-light-color: {$tutor_light_color};";
159 }
160
161 $tutor_css .= "}";
162 wp_add_inline_style( 'tutor-frontend', $tutor_css );
163 //END: Default Color
164
165 }
166
167 /**
168 * Add Tinymce button for placing shortcode
169 */
170 function tutor_add_mce_button() {
171 // check user permissions
172 if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
173 return;
174 }
175 // check if WYSIWYG is enabled
176 if ( 'true' == get_user_option( 'rich_editing' ) ) {
177 add_filter( 'mce_external_plugins', array($this, 'tutor_add_tinymce_js') );
178 add_filter( 'mce_buttons', array($this, 'tutor_register_mce_button') );
179 }
180 }
181 // Declare script for new button
182 function tutor_add_tinymce_js( $plugin_array ) {
183 $plugin_array['tutor_button'] = tutor()->url .'assets/js/mce-button.js';
184 return $plugin_array;
185 }
186 // Register new button in the editor
187 function tutor_register_mce_button( $buttons ) {
188 array_push( $buttons, 'tutor_button' );
189 return $buttons;
190 }
191
192 /**
193 * Output generator tag to aid debugging.
194 *
195 * @param string $gen Generator.
196 * @param string $type Type.
197 * @return string
198 */
199 function tutor_generator_tag( $gen, $type ) {
200 switch ( $type ) {
201 case 'html':
202 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '">';
203 break;
204 case 'xhtml':
205 $gen .= "\n" . '<meta name="generator" content="TutorLMS ' . esc_attr( TUTOR_VERSION ) . '" />';
206 break;
207 }
208 return $gen;
209 }
210
211 }