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