PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 1.9.14
Tutor LMS – eLearning and online course solution v1.9.14
4.0.1 4.0.0 3.9.15 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 / views / metabox / video-metabox.php
tutor / views / metabox Last commit date
course 4 years ago course-add-edd-product-metabox.php 4 years ago course-add-product-metabox.php 4 years ago course-additional-data.php 4 years ago course-contents.php 4 years ago course-level-metabox.php 4 years ago course-topics.php 4 years ago instructors-metabox.php 4 years ago lesson-attachments-metabox.php 4 years ago lesson-metabox.php 4 years ago user-profile-fields.php 4 years ago video-metabox.php 4 years ago
video-metabox.php
192 lines
1 <?php
2 /**
3 * Don't change it, it's supporting modal in other place
4 * if get_the_ID() empty, then it's means we are passing $post variable from another place
5 */
6 if ( get_the_ID() ) {
7 global $post;
8 }
9
10 $video = maybe_unserialize( get_post_meta( $post->ID, '_video', true ) );
11
12 $videoSource = tutor_utils()->avalue_dot( 'source', $video );
13 $runtimeHours = tutor_utils()->avalue_dot( 'runtime.hours', $video );
14 $runtimeMinutes = tutor_utils()->avalue_dot( 'runtime.minutes', $video );
15 $runtimeSeconds = tutor_utils()->avalue_dot( 'runtime.seconds', $video );
16 $sourceVideoID = tutor_utils()->avalue_dot( 'source_video_id', $video );
17 $poster = tutor_utils()->avalue_dot( 'poster', $video );
18
19 $video_sources = array(
20 'html5' => array(
21 'title' => __( 'HTML 5 (mp4)', 'tutor' ),
22 'icon' => 'html5',
23 ),
24 'external_url' => array(
25 'title' => __( 'External URL', 'tutor' ),
26 'icon' => 'link',
27 ),
28 'youtube' => array(
29 'title' => __( 'Youtube', 'tutor' ),
30 'icon' => 'youtube',
31 ),
32 'vimeo' => array(
33 'title' => __( 'Vimeo', 'tutor' ),
34 'icon' => 'vimeo',
35 ),
36 'embedded' => array(
37 'title' => __( 'Embedded', 'tutor' ),
38 'icon' => 'code',
39 ),
40 'shortcode' => array(
41 'title' => __( '[/] Shortcode', 'tutor' ),
42 'icon' => '',
43 ),
44 );
45
46 $supported_sources = tutor_utils()->get_option( 'supported_video_sources', $video_sources );
47 $supported_sources = array_keys( $supported_sources );
48
49 $default_source = tutor_utils()->get_option( 'default_video_source', null );
50 ( ! $videoSource && $default_source && in_array( $default_source, $supported_sources ) ) ? $videoSource = $default_source : 0;
51
52 ?>
53
54 <div class="tutor-option-field-row">
55 <div class="tutor-option-field-label">
56 <label for="">
57 <?php
58 if ( $post->post_type === tutor()->course_post_type ) {
59 _e( 'Course Intro Video', 'tutor' );
60 } else {
61 _e( 'Video Source', 'tutor' );
62 }
63 ?>
64 </label>
65 </div>
66
67 <div class="tutor-option-field tutor-video-upload-wrap">
68
69 <select name="video[source]" class="tutor_lesson_video_source videosource_select2">
70 <option value="-1"><?php _e( 'Select Video Source', 'tutor' ); ?></option>
71 <?php
72 foreach ( $video_sources as $value => $source ) {
73 if ( in_array( $value, $supported_sources ) ) {
74 echo '<option value="' . $value . '" ' . selected( $value, $videoSource ) . ' data-icon="' . $source['icon'] . '" >' .
75 $source['title'] .
76 '</option>';
77 }
78 }
79 ?>
80 </select>
81
82 <p class="desc">
83 <?php esc_html_e( 'Select your preferred video type.', 'tutor' ); ?>
84 </p>
85
86 <div class="video-metabox-source-input-wrap" style="display: <?php echo ! $videoSource ? 'none' : 'block'; ?>;">
87
88 <div class="video-metabox-source-item video_source_wrap_html5" style="display: <?php echo $videoSource === 'html5' ? 'block' : 'none'; ?>;">
89
90 <div class="video-metabox-source-html5-upload">
91 <p class="video-upload-icon"><i class="tutor-icon-upload"></i></p>
92 <p><strong><?php _e( 'Upload Your Video' ); ?></strong></p>
93 <p><?php _e( 'File Format: ' ); ?> .mp4</p>
94
95 <div class="video_source_upload_wrap_html5">
96 <a href="javascript:;" class="video_upload_btn tutor-button bordered-button"><?php _e( 'Upload Video', 'tutor' ); ?></a>
97 <input type="hidden" class="input_source_video_id" name="video[source_video_id]" value="<?php echo esc_attr( $sourceVideoID ); ?>" >
98 <p style="display: <?php echo $sourceVideoID ? 'block' : 'none'; ?>;"><?php _e( 'Media ID', 'tutor' ); ?>: <span class="video_media_id"><?php echo esc_html( $sourceVideoID ); ?></span></p>
99 </div>
100
101 </div>
102
103 <div class="video-metabox-source-html5-poster">
104 <div class="tutor-form-field tutor-form-field-course-thumbnail tutor-thumbnail-wrap">
105 <div class="tutor-row tutor-align-items-center">
106 <div class="tutor-col">
107 <div class="builder-course-thumbnail-img-src html5-video-poster">
108 <?php
109 $builder_course_img_src = tutor()->url . 'assets/images/placeholder-course.jpg';
110 $poster_url = $builder_course_img_src;
111 if ( $poster ) {
112 $poster_url = wp_get_attachment_image_url( $poster );
113 }
114 ?>
115 <img src="<?php echo esc_url( $poster_url ); ?>" class="thumbnail-img" data-placeholder-src="<?php echo esc_url( $builder_course_img_src ); ?>">
116 <a href="javascript:;" class="tutor-course-thumbnail-delete-btn" style="display:<?php echo $poster ? 'block' : 'none'; ?>;">
117 <i class="tutor-icon-line-cross"></i>
118 </a>
119 <div class="tutor-builder-course-video-poster-text">
120 <h5><?php _e( 'Video Poster', 'tutor' ); ?></h5>
121 <span><?php _e( 'Thumb Size: 700x430 pixels. File Support: jpg, jpeg, or png', 'tutor' ); ?></span>
122 </div>
123 </div>
124 </div>
125 <div class="tutor-col-auto">
126 <div class="builder-course-thumbnail-upload-wrap">
127 <input type="hidden" id="tutor_course_thumbnail_id" name="video[poster]" value="<?php echo esc_attr( $poster ); ?>">
128 <a href="javascript:;" class="tutor-course-thumbnail-upload-btn tutor-button bordered-button button-transparent">
129 <i class="tutor-icon-photo-add"></i> <?php _e( 'Upload Image', 'tutor' ); ?>
130 </a>
131 </div>
132 </div>
133 </div>
134 </div>
135 </div>
136 </div>
137
138 <div class="video-metabox-source-item video_source_wrap_external_url" style="display: <?php echo $videoSource === 'external_url' ? 'block' : 'none'; ?>;">
139 <input type="text" name="video[source_external_url]" value="<?php echo tutor_utils()->avalue_dot( 'source_external_url', $video ); ?>" placeholder="<?php _e( 'External Video URL', 'tutor' ); ?>">
140 </div>
141
142 <div class="video-metabox-source-item video_source_wrap_shortcode" style="display: <?php echo $videoSource === 'shortcode' ? 'block' : 'none'; ?>;">
143 <input type="text" name="video[source_shortcode]" value="<?php echo tutor_utils()->avalue_dot( 'source_shortcode', $video ); ?>" placeholder="<?php _e( 'Shortcode', 'tutor' ); ?>">
144 </div>
145
146 <div class="video-metabox-source-item video_source_wrap_youtube" style="display: <?php echo $videoSource === 'youtube' ? 'block' : 'none'; ?>;">
147 <input type="text" name="video[source_youtube]" value="<?php echo tutor_utils()->avalue_dot( 'source_youtube', $video ); ?>" placeholder="<?php _e( 'YouTube Video URL', 'tutor' ); ?>" data-youtube_api_key="<?php echo tutils()->get_option( 'lesson_video_duration_youtube_api_key', '' ); ?>">
148 </div>
149
150 <div class="video-metabox-source-item video_source_wrap_vimeo" style="display: <?php echo $videoSource === 'vimeo' ? 'block' : 'none'; ?>;">
151 <input type="text" name="video[source_vimeo]" value="<?php echo tutor_utils()->avalue_dot( 'source_vimeo', $video ); ?>" placeholder="<?php _e( 'Vimeo Video URL', 'tutor' ); ?>">
152 </div>
153
154 <div class="video-metabox-source-item video_source_wrap_embedded" style="display: <?php echo $videoSource === 'embedded' ? 'block' : 'none'; ?>;">
155 <textarea name="video[source_embedded]" placeholder="<?php _e( 'Place your embedded code here', 'tutor' ); ?>"><?php echo tutor_utils()->avalue_dot( 'source_embedded', $video ); ?></textarea>
156 </div>
157 </div>
158 </div>
159 </div>
160
161 <?php
162 if ( $post->post_type !== tutor()->course_post_type ) {
163 ?>
164 <div class="tutor-option-field-row tutor-option-field-video-duration">
165 <div class="tutor-option-field-label">
166 <label for=""><?php _e( 'Video playback time', 'tutor' ); ?></label>
167 </div>
168 <div class="tutor-option-field">
169 <div class="tutor-option-gorup-fields-wrap">
170 <div class="tutor-lesson-video-runtime">
171 <div class="tutor-option-group-field">
172 <input type="number" value="<?php echo esc_attr( $runtimeHours ? $runtimeHours : '00' ); ?>" name="video[runtime][hours]">
173 <p class="desc"><?php _e( 'HH', 'tutor' ); ?></p>
174 </div>
175
176 <div class="tutor-option-group-field">
177 <input type="number" class="tutor-number-validation" data-min="0" data-max="59" value="<?php echo esc_attr( $runtimeMinutes ? $runtimeMinutes : '00' ); ?>" name="video[runtime][minutes]">
178 <p class="desc"><?php _e( 'MM', 'tutor' ); ?></p>
179 </div>
180
181 <div class="tutor-option-group-field">
182 <input type="number" class="tutor-number-validation" data-min="0" data-max="59" value="<?php echo esc_attr( $runtimeSeconds ? $runtimeSeconds : '00' ); ?>" name="video[runtime][seconds]">
183 <p class="desc"><?php _e( 'SS', 'tutor' ); ?></p>
184 </div>
185 </div>
186 </div>
187 </div>
188 </div>
189 <?php
190 }
191 ?>
192