FV Flowplayer Video Player - Version 2.3.12

Version Description

  • 2015/02/13 =

  • Feature - player position setting - lets you change the default centering to left align with no text wrapping

  • Feature - RSS - improving player appearance

  • Bugfix - FV Flowplayer preview in admin screen conflict with WP Media Library fixed

Download this release

Release Info

Developer FolioVision
Plugin Icon 128x128 FV Flowplayer Video Player
Version 2.3.12
Comparing to
See all releases

Code changes from version 2.2.9 to 2.3.12

controller/backend.php CHANGED
@@ -17,36 +17,23 @@
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
- include_once(dirname( __FILE__ ) . '/../models/flowplayer.php');
21
- include_once(dirname( __FILE__ ) . '/../models/flowplayer-backend.php');
22
-
23
- /**
24
- * Create the flowplayer_backend object
25
- */
26
- $fv_fp = new flowplayer_backend();
27
-
28
- /**
29
- * WP Hooks
30
- */
31
add_action('wp_ajax_fv_wp_flowplayer_support_mail', 'fv_wp_flowplayer_support_mail');
32
add_action('wp_ajax_fv_wp_flowplayer_activate_extension', 'fv_wp_flowplayer_activate_extension');
33
add_action('wp_ajax_fv_wp_flowplayer_check_template', 'fv_wp_flowplayer_check_template');
34
add_action('wp_ajax_fv_wp_flowplayer_check_files', 'fv_wp_flowplayer_check_files');
35
36
- add_action('admin_head', 'flowplayer_head');
37
add_action('admin_menu', 'flowplayer_admin');
38
add_action('media_buttons', 'flowplayer_add_media_button', 30);
39
40
41
add_action('admin_init', 'fv_wp_flowplayer_admin_init');
42
add_action( 'wp_ajax_fv_foliopress_ajax_pointers', 'fv_wp_flowplayer_pointers_ajax' );
43
- add_action('media_upload_fvplayer_video', 'fv_wp_flowplayer_media_upload');
44
- add_action('media_upload_fvplayer_video_1', 'fv_wp_flowplayer_media_upload');
45
- add_action('media_upload_fvplayer_video_2', 'fv_wp_flowplayer_media_upload');
46
- add_action('media_upload_fvplayer_mobile', 'fv_wp_flowplayer_media_upload');
47
- add_action('media_upload_fvplayer_splash', 'fv_wp_flowplayer_media_upload');
48
- add_action('media_upload_fvplayer_logo', 'fv_wp_flowplayer_media_upload');
49
- add_action('media_upload_fvplayer_subtitles', 'fv_wp_flowplayer_media_upload');
50
51
52
add_action( 'admin_enqueue_scripts', 'fv_wp_flowplayer_admin_enqueue_scripts' );
@@ -54,51 +41,17 @@ add_action( 'edit_form_after_editor', 'fv_wp_flowplayer_edit_form_after_editor'
54
55
add_action( 'after_plugin_row', 'fv_wp_flowplayer_after_plugin_row', 10, 3 );
56
57
- add_action( 'save_post', 'fv_wp_flowplayer_save_post', 9999 );
58
59
add_filter( 'get_user_option_closedpostboxes_fv_flowplayer_settings', 'fv_wp_flowplayer_closed_meta_boxes' );
60
61
62
- //loading a video and splash image
63
- if(
64
- isset($_REQUEST['_wp_http_referer']) &&
65
- (
66
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_video') ||
67
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_video_1') ||
68
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_video_2') ||
69
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_mobile') ||
70
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_splash') ||
71
- strpos($_REQUEST['_wp_http_referer'],'type=fvplayer_subtitles')
72
- )
73
- ) {
74
- add_filter('media_send_to_editor','fv_wp_flowplayer_media_send_to_editor', 10, 3);
75
- //disable inserting the image to the editor
76
- add_filter('image_send_to_editor', 'fv_wp_flowplayer_image_send_to_editor', 10);
77
- }
78
- else {
79
- //loading a logo
80
- if(isset($_POST['_wp_http_referer']) && (strpos($_POST['_wp_http_referer'],'type=fvplayer_logo'))) {
81
- add_filter('media_send_to_editor','fp_media_send_to_settings', 10, 3);
82
- }
83
- }
84
-
85
- if(
86
- !empty($_GET['post_id']) &&
87
- (
88
- $_GET['type'] == 'fvplayer_video' ||
89
- $_GET['type'] == 'fvplayer_video_1' ||
90
- $_GET['type'] == 'fvplayer_video_2' ||
91
- $_GET['type'] == 'fvplayer_mobile' ||
92
- $_GET['type'] == 'fvplayer_splash' ||
93
- $_GET['type'] == 'fvplayer_subtitles'
94
- )
95
- ) {
96
- add_action( 'post-html-upload-ui', 'fv_wp_flowplayer_image_media_upload_html_bypass', 100 );
97
- }
98
-
99
add_action('the_content', 'flowplayer_content_remove_commas');
100
add_filter('admin_print_scripts', 'flowplayer_print_scripts');
101
add_action('admin_print_styles', 'flowplayer_print_styles');
102
//conversion script via AJAX
103
add_action('wp_ajax_flowplayer_conversion_script', 'flowplayer_conversion_script');
104
add_action('admin_notices', 'fv_wp_flowplayer_admin_notice');
@@ -114,216 +67,56 @@ function flowplayer_deactivate() {
114
delete_transient( 'fv_flowplayer_license' );
115
}
116
delete_option( 'fv_flowplayer_extension_install' );
117
}
118
119
120
- function flowplayer_content_remove_commas($content) {
121
- preg_match('/.*popup=\'(.*?)\'.*/', $content, $matches);
122
- $content_new = preg_replace('/\,/', '',$content);
123
- if (isset($matches[1]))
124
- $content_new = preg_replace('/popup=\'(.*?)\'/', 'popup=\''.$matches[1].'\'',$content_new);
125
- return $content_new;
126
- }
127
-
128
-
129
- /**
130
- * END WP Hooks
131
- */
132
-
133
-
134
- function fv_wp_flowplayer_media_send_to_editor($html, $attachment_id, $attachment) {
135
-
136
- $video_types = array('flv','mov','avi','mpeg','mpg','asf','qt','wmv','mp4','m4v','mp3','webm','ogv');
137
- $splash_types = array('jpg','jpeg','gif','png', 'bmp','jpe');
138
- $subtitles_types = array('txt','vtt');
139
-
140
- if (isset($attachment_id)) {
141
- $attachment_url = wp_get_attachment_url($attachment_id);
142
- $path_parts = pathinfo($attachment_url);
143
- if (strpos($_POST['_wp_http_referer'],'type=fvplayer_splash')) {
144
- setcookie("selected_image",$attachment_url);
145
- $selected_attachment = array('url'=>$attachment_url,'id'=>$attachment_id);
146
- }
147
- else
148
- if (strpos($_POST['_wp_http_referer'],'type=fvplayer_video_1')) {
149
- setcookie("selected_video1",$attachment_url);
150
- $selected_attachment = array('id'=>'src1', 'url'=>$attachment_url);
151
- }
152
- else
153
- if (strpos($_POST['_wp_http_referer'],'type=fvplayer_video_2')) {
154
- setcookie("selected_video2",$attachment_url);
155
- $selected_attachment = array('id'=>'src2', 'url'=>$attachment_url);
156
- }
157
- else
158
- if (strpos($_POST['_wp_http_referer'],'type=fvplayer_mobile')) {
159
- setcookie("selected_mobile",$attachment_url);
160
- $selected_attachment = array('id'=>'mobile', 'url'=>$attachment_url);
161
- }
162
- else
163
- if (strpos($_POST['_wp_http_referer'],'type=fvplayer_subtitles')) {
164
- setcookie("selected_subtitles",$attachment_url);
165
- $selected_attachment = array('id'=>'subtitles', 'url'=>$attachment_url);
166
- }
167
- else {
168
- setcookie("selected_video",$attachment_url);
169
- $selected_attachment = array('id'=>'src', 'url'=>$attachment_url);
170
- }
171
- }
172
-
173
- if (isset($selected_attachment['url'])) {
174
- $path_parts = pathinfo($selected_attachment['url']);
175
- if (in_array($path_parts['extension'], $video_types)) {
176
- if ($selected_attachment['id'] == 'src1') {
177
- $uploaded_video1 = $selected_attachment['url'];
178
- }
179
- else
180
- if ($selected_attachment['id'] == 'src2') {
181
- $uploaded_video2 = $selected_attachment['url'];
182
- }
183
- else
184
- if ($selected_attachment['id'] == 'mobile') {
185
- $uploaded_mobile = $selected_attachment['url'];
186
- }
187
- else {
188
- $uploaded_video = $selected_attachment['url'];
189
- }
190
- }
191
- if( in_array($path_parts['extension'], $splash_types) ) {
192
- $uploaded_image = $selected_attachment['url'];
193
- }
194
- else if( in_array($path_parts['extension'], $subtitles_types) ) {
195
- $uploaded_subtitles = $selected_attachment['url'];
196
- }
197
- }
198
-
199
- $document_root = ( isset($_SERVER['SUBDOMAIN_DOCUMENT_ROOT']) && strlen(trim($_SERVER['SUBDOMAIN_DOCUMENT_ROOT'])) > 0 ) ? $_SERVER['SUBDOMAIN_DOCUMENT_ROOT'] : $_SERVER['DOCUMENT_ROOT'];
200
-
201
- if (isset($uploaded_video)) {
202
- $serv = $_SERVER['SERVER_NAME'];
203
- $pattern = '/'.$serv.'(.*)/';
204
- preg_match($pattern, $uploaded_video, $matches);
205
-
206
- // Initialize getID3 engine
207
- if ( ! class_exists( 'getID3' ) ) {
208
- require( ABSPATH . WPINC . '/ID3/getid3.php' );
209
- }
210
- $getID3 = new getID3;
211
- if (empty($matches)) {
212
- $ThisFileInfo = $getID3->analyze(realpath($document_root . $uploaded_video));
213
- }
214
- else {
215
- $ThisFileInfo = $getID3->analyze(realpath($document_root . $matches[1]));
216
- }
217
- if (isset($ThisFileInfo['error'])) $file_error = "Could not read video details, please fill the width and height manually.";
218
- //getid3_lib::CopyTagsToComments($ThisFileInfo);
219
- $file_time = $ThisFileInfo['playtime_string']; // playtime in minutes:seconds, formatted string
220
- $file_width = $ThisFileInfo['video']['resolution_x'];
221
- $file_height = $ThisFileInfo['video']['resolution_y'];
222
- $file_size = $ThisFileInfo['filesize'];
223
- $file_size = round($file_size/(1024*1024),2);
224
- }
225
- if (!empty($uploaded_video)) {
226
- ?>
227
- <script type='text/javascript'>
228
- window.parent.document.getElementById('fv_wp_flowplayer_field_src').value = "<?php echo esc_attr($uploaded_video) ?>";
229
- <?php if (!empty($uploaded_video) && !isset($ThisFileInfo['error'])) { ?>
230
- window.parent.document.getElementById('fv_wp_flowplayer_field_width').value = "<?php echo esc_attr(ceil($file_width)) ?>";
231
- window.parent.document.getElementById('fv_wp_flowplayer_field_height').value = "<?php echo esc_attr(ceil($file_height)) ?>";
232
- window.parent.document.getElementById('fv_wp_flowplayer_file_info').style.display = "table-row";
233
- window.parent.document.getElementById('fv_wp_flowplayer_file_duration').innerHTML = "<?php echo esc_attr($file_time) ?>";
234
- window.parent.document.getElementById('fv_wp_flowplayer_file_size').innerHTML = "<?php echo esc_attr($file_size) ?>";
235
- <?php } ?>
236
- window.parent.tb_remove();
237
- </script>
238
- <?php
239
- }
240
- else
241
- if (!empty($uploaded_image)) {
242
- ?>
243
- <script type='text/javascript'>
244
- window.parent.document.getElementById('fv_wp_flowplayer_field_splash').value = "<?php echo esc_attr($uploaded_image) ?>";
245
- </script>
246
- <?php
247
- $conf = get_option( 'fvwpflowplayer' );
248
- $post_thumbnail = false;
249
250
- if( isset($conf["postthumbnail"]) ) {
251
- $post_thumbnail = $conf["postthumbnail"];
252
- }
253
- if ( $post_thumbnail == 'true' && current_theme_supports( 'post-thumbnails') && isset($selected_attachment['id']) ) {
254
- $post_id = (int)$_GET['post_id'];
255
- update_post_meta( $post_id, '_thumbnail_id', $selected_attachment['id'] );
256
- }
257
- }
258
- else
259
- if (!empty($uploaded_video1)) {
260
- ?>
261
- <script type='text/javascript'>
262
- window.parent.document.getElementById('fv_wp_flowplayer_field_src_1').value = "<?php echo esc_attr($uploaded_video1) ?>";
263
- </script>
264
- <?php
265
- }
266
- else
267
- if (!empty($uploaded_video2)) {
268
- ?>
269
- <script type='text/javascript'>
270
- window.parent.document.getElementById('fv_wp_flowplayer_field_src_2').value = "<?php echo esc_attr($uploaded_video2) ?>";
271
- </script>
272
- <?php
273
- }
274
- else
275
- if (!empty($uploaded_mobile)) {
276
- ?>
277
- <script type='text/javascript'>
278
- window.parent.document.getElementById('fv_wp_flowplayer_field_mobile').value = "<?php echo esc_attr($uploaded_mobile) ?>";
279
- </script>
280
- <?php
281
}
282
- else
283
- if( !empty($uploaded_subtitles) ) {
284
- ?>
285
- <script type='text/javascript'>
286
- window.parent.document.getElementById('fv_wp_flowplayer_field_subtitles').value = "<?php echo esc_attr($uploaded_subtitles) ?>";
287
- </script>
288
- <?php
289
- }
290
- }
291
-
292
293
- function fv_wp_flowplayer_image_send_to_editor() {
294
- return '';
295
}
296
297
298
- function fv_wp_flowplayer_image_media_upload_html_bypass() {
299
- ?>
300
- <p class="upload-html-bypass hide-if-no-js">
301
- <?php _e('<strong>FV Wordpress Flowplayer Warning:</strong> Plese use <a href="#">the multi-file uploader</a>. Otherwise you will have to select the file in the Media Library.'); ?>
302
- </p>
303
- <?php
304
}
305
306
307
- function fp_media_send_to_settings($html, $attachment_id, $attachment) {
308
- if(isset($_POST['_wp_http_referer']) && (strpos($_POST['_wp_http_referer'],'type=fvplayer_logo'))) {
309
- $logo_types = array('jpg','jpeg','gif','png', 'bmp','jpe');
310
-
311
- if (isset($attachment_id)) {
312
- $attachment_url = wp_get_attachment_url($attachment_id);
313
- $path_parts = pathinfo($attachment_url);
314
- if (in_array($path_parts['extension'], $logo_types)) {
315
- $selected_attachment = $attachment_url;
316
- }
317
- }
318
?>
319
- <script type="text/javascript">
320
- window.parent.document.getElementById("logo").value = '<?php echo $selected_attachment ?>';
321
- window.parent.tb_remove();
322
</script>
323
<?php
324
- }
325
}
326
327
328
/**
329
* Administrator environment function.
@@ -339,6 +132,7 @@ function flowplayer_admin () {
339
'flowplayer_page'
340
);
341
}
342
}
343
344
@@ -472,10 +266,13 @@ function fv_wp_flowplayer_admin_enqueue_scripts( $page ) {
472
if( $page !== 'post.php' && $page !== 'post-new.php' ) {
473
return;
474
}
475
- wp_register_script('fvwpflowplayer-domwindow', flowplayer::get_plugin_url().'/js/jquery.colorbox-min.js',array('jquery') );
476
- wp_enqueue_script('fvwpflowplayer-domwindow');
477
478
- wp_register_script('fvwpflowplayer-shortcode-editor', flowplayer::get_plugin_url().'/js/shortcode-editor.js',array('jquery') );
479
wp_enqueue_script('fvwpflowplayer-shortcode-editor');
480
481
wp_register_style('fvwpflowplayer-domwindow-css', flowplayer::get_plugin_url().'/css/colorbox.css','','1.0','screen');
@@ -627,7 +424,7 @@ function fv_wp_flowplayer_license_check( $aArgs ) {
627
);
628
$resp = wp_remote_post( 'http://foliovision.com/?fv_remote=true', $args );
629
630
- if( isset($resp['body']) && $resp['body'] && $data = json_decode( preg_replace( '~[\s\S]*?<FVFLOWPLAYER>(.*?)</FVFLOWPLAYER>[\s\S]*?~', '$1', $resp['body'] ) ) ) {
631
return $data;
632
} else {
633
return false;
@@ -649,6 +446,10 @@ function fv_wp_flowplayer_media_upload() {
649
650
651
function fv_wp_flowplayer_after_plugin_row( $arg) {
652
$args = func_get_args();
653
654
if( $args[1]['Name'] == 'FV Wordpress Flowplayer' ) {
@@ -658,7 +459,7 @@ function fv_wp_flowplayer_after_plugin_row( $arg) {
658
<tr class="plugin-update-tr fv-wordpress-flowplayer-tr">
659
<td class="plugin-update colspanchange" colspan="3">
660
<div class="update-message">
661
- <a href="http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer/download">All Licenses 20% Off</a> - Easter sale!
662
</div>
663
</td>
664
</tr>
@@ -666,272 +467,7 @@ function fv_wp_flowplayer_after_plugin_row( $arg) {
666
endif;
667
}
668
}
669
-
670
-
671
- function fv_wp_flowplayer_check_headers( $headers, $remotefilename, $random, $args = false ) {
672
- global $fv_fp;
673
-
674
- $args = wp_parse_args( $args, array( 'talk_bad_mime' => 'Video served with a bad mime type' , 'wrap'=>'p' ) );
675
-
676
- $sOutput = '';
677
-
678
- $bFatal = false;
679
- if( $headers && $headers['response']['code'] == '404' ) {
680
- $video_errors[] = 'File not found (HTTP 404)!';
681
- $bFatal = true;
682
- } else if( $headers && $headers['response']['code'] == '403' ) {
683
- $video_errors[] = 'Access to video forbidden (HTTP 403)!';
684
- $bFatal = true;
685
- } else if( $headers && $headers['response']['code'] != '200' && $headers['response']['code'] != '206' ) {
686
- $video_errors[] = 'Can\'t check the video (HTTP '.$headers['response']['code'].')!';
687
- $bFatal = true;
688
- } else {
689
-
690
- if(
691
- ( !isset($headers['headers']['accept-ranges']) || $headers['headers']['accept-ranges'] != 'bytes' ) &&
692
- !isset($headers['headers']['content-range'])
693
- ) {
694
- $video_errors[] = 'Server does not support HTTP range requests! Please check <a href="http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer/faq#getting-error-about-range-requests">our FAQ</a>.';
695
- }
696
-
697
- if(
698
- ( stripos( $remotefilename, '.mp4' ) !== FALSE && $headers['headers']['content-type'] != 'video/mp4' ) ||
699
- ( stripos( $remotefilename, '.m4v' ) !== FALSE && $headers['headers']['content-type'] != 'video/x-m4v' ) ||
700
- ( stripos( $remotefilename, '.webm' ) !== FALSE && $headers['headers']['content-type'] != 'video/webm' ) ||
701
- ( stripos( $remotefilename, '.mov' ) !== FALSE && $headers['headers']['content-type'] != 'video/mp4' )
702
- ) {
703
- if( stripos( $remotefilename, '.mov' ) !== FALSE ) {
704
- $meta_note_addition = ' Firefox on Windows does not like MOV files with video/quicktime mime type.';
705
- } else if( stripos( $remotefilename, '.webm' ) !== FALSE ) {
706
- $meta_note_addition = ' Older Firefox versions don\'t like WEBM files with mime type other than video/webm.';
707
- } else {
708
- $meta_note_addition = ' Some web browsers may experience playback issues in HTML5 mode (Internet Explorer 9 - 10).';
709
- /*if( $fv_fp->conf['engine'] == 'default' ) {
710
- $meta_note_addition .= ' Currently you are using the "Default (mixed)" <a href="'.site_url().'/wp-admin/options-general.php?page=fvplayer">Preferred Flowplayer engine</a> setting, so IE will always use Flash and will play fine.';
711
- }*/
712
- }
713
-
714
- $fix = '<div class="fix-meta-'.$random.'" style="display: none; ">
715
- <p>If the video is hosted on Amazon S3:</p>
716
- <blockquote>Using your Amazon AWS Management Console, you can go though your videos and find file content type under the "Metadata" tab in an object\'s "Properties" pane and fix it to "video/mp4" for MP4, "video/x-m4v" for M4V files, "video/mp4" for MOV files and "video/webm" for WEBM files.</blockquote>
717
- <p>If the video is hosted on your server, put this into your .htaccess:</p>
718
- <pre>AddType video/mp4 .mp4
719
- AddType video/webm .webm
720
- AddType video/ogg .ogv
721
- AddType application/x-mpegurl .m3u8
722
- AddType video/x-m4v .m4v
723
- AddType video/mp4 .mov
724
- # hls transport stream segments:
725
- AddType video/mp2t .ts</pre>
726
- <p>If you are using Microsoft IIS, you need to use the IIS manager. Check our <a href="http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer/faq#video-doesnt-play-internet-explorer" target="_blank">FAQ</a> for more info.</p>
727
- </div>';
728
-
729
- $sOutput = ( $args['wrap'] ) ? '<'.$args['wrap'].'>' : '';
730
- $sOutput .= '<strong>Bad mime type</strong>: '.$args['talk_bad_mime'].' <tt>'.$headers['headers']['content-type'].'</tt>!'.$meta_note_addition.' (<a href="#" onclick="jQuery(\'.fix-meta-'.$random.'\').toggle(); return false">show fix</a>)';
731
- $sOutput .= ( $args['wrap'] ) ? '</'.$args['wrap'].'>' : '';
732
- $sOutput .= $fix;
733
- $video_errors[] = $sOutput;
734
- }
735
- }
736
-
737
- return array( $video_errors, (isset($headers['headers']['content-type'])) ? $headers['headers']['content-type'] : '', $bFatal );
738
- }
739
-
740
-
741
- // don't include body in our wp_remote_head requests. We have to use GET instead of HEAD because of Amazon
742
- function fv_wp_flowplayer_http_api_curl( $handle ) {
743
- curl_setopt( $handle, CURLOPT_NOBODY, true );
744
- }
745
-
746
-
747
- function fv_wp_flowplayer_http( $sURL, $args ) {
748
- global $fv_wp_flowplayer_ver;
749
-
750
- $args = wp_parse_args( $args, array( 'file' => false, 'size' => 2097152, 'quick_check' => false ) );
751
- extract($args);
752
-
753
- $iTimeout = ($quick_check) ? 10 : 20;
754
-
755
- $ch = curl_init();
756
- curl_setopt( $ch, CURLOPT_URL, $sURL );
757
- curl_setopt( $ch, CURLOPT_RANGE, '0-'.$size );
758
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
759
- if( !@ini_get('open_basedir') ) {
760
- @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
761
- }
762
- curl_setopt( $ch, CURLOPT_HEADER, true );
763
- curl_setopt( $ch, CURLOPT_VERBOSE, 1 );
764
- curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $iTimeout );
765
- curl_setopt( $ch, CURLOPT_TIMEOUT, $iTimeout );
766
- curl_setopt( $ch, CURLOPT_USERAGENT, 'FV Flowplayer video checker/'.$fv_wp_flowplayer_ver);
767
-
768
- $data = curl_exec($ch);
769
-
770
- $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
771
- $header = substr($data, 0, $header_size);
772
- $body = substr($data, $header_size);
773
-
774
- if( $file ) {
775
- file_put_contents( $file, $body);
776
- }
777
- $sError = ($ch == false) ? 'CURL Error: '.curl_error ( $ch) : false;
778
- if( curl_errno($ch) == 28 ) {
779
- $sError .= "Connection timeout, can't check the video.";
780
- } else if(!curl_errno($ch) ) {
781
- $aInfo = curl_getinfo($ch);
782
- if( $aInfo['total_time'] > $iTimeout*0.9 ) {
783
- $sError .= "Connection timeout, can't check the video.";
784
- }
785
- }
786
- curl_close($ch);
787
-
788
- return array( $header, $sError );
789
- }
790
-
791
792
- function fv_wp_flowplayer_check_mimetype( $URLs = false, $meta = false ) {
793
- add_action( 'http_api_curl', 'fv_wp_flowplayer_http_api_curl' );
794
-
795
- global $fv_wp_flowplayer_ver, $fv_fp;
796
-
797
- if( !empty($meta) ) {
798
- extract( $meta, EXTR_SKIP );
799
- }
800
-
801
- if( defined('DOING_AJAX') && DOING_AJAX && isset( $_POST['media'] ) && stripos( $_SERVER['HTTP_REFERER'], home_url() ) === 0 ) {
802
- $URLs = json_decode( stripslashes( trim($_POST['media']) ));
803
- }
804
-
805
- if( isset($URLs) ) {
806
- $all_sources = $URLs;
807
-
808
- foreach( $all_sources AS $source ) {
809
- if( preg_match( '!^rtmp://!', $source, $match ) ) {
810
- $found_rtmp = true;
811
- } else if( !isset($media) && !preg_match( '!\.(m3u8|m3u|avi)$!', $source) ) {
812
- $media = $source;
813
- }
814
- }
815
-
816
- //$random = rand( 0, 10000 );
817
- $random = (isset($_POST['hash'])) ? trim($_POST['hash']) : false;
818
-
819
- if( isset($media) ) {
820
- $remotefilename = $media;
821
- $remotefilename_encoded = flowplayer::get_encoded_url($remotefilename);
822
-
823
- if( $fv_fp->is_secure_amazon_s3($remotefilename_encoded) || 1>0 ) { // skip headers check for Amazon S3, as it's slow
824
- $headers = false;
825
- } else {
826
- $headers = wp_remote_head( trim( str_replace(' ', '%20', $remotefilename_encoded ) ), array( 'method' => 'GET', 'redirection' => 3 ) );
827
- }
828
-
829
- $bValidFile = true;
830
- if( is_wp_error($headers) ) {
831
- $video_errors[] = 'Error checking '.$media.'!<br />'.print_r($headers,true);
832
- } else {
833
- if( $headers ) {
834
- list( $aVideoErrors, $sContentType, $bFatal ) = fv_wp_flowplayer_check_headers( $headers, $remotefilename, $random );
835
- if( $bFatal ) {
836
- $bValidFile = false;
837
- }
838
- if( $aVideoErrors ) {
839
- $video_errors = array_merge( $video_errors, $aVideoErrors );
840
- }
841
- }
842
-
843
- if( function_exists('is_utf8') && is_utf8($remotefilename) ) {
844
- $video_errors[] = '<p><strong>UTF-8 error</strong>: Your file name is using non-latin characters, the file might not play in browsers using Flash for the video!</p>';
845
- }
846
-
847
- if( @ini_get('safe_mode') ) {
848
- $video_warnings[] = 'Detailed video check is not available with PHP Safe Mode On. Please contact your webhost support.';
849
- } else {
850
-
851
- if ( ! class_exists( 'getID3' ) ) {
852
- require( ABSPATH . WPINC . '/ID3/getid3.php' );
853
- }
854
- $getID3 = new getID3;
855
-
856
- if( !function_exists('curl_init') ) {
857
- $video_errors[] = 'cURL for PHP not found, please contact your server administrator.';
858
- } else {
859
- $message = '<p>Analysis of <a class="bluelink" target="_blank" href="'.esc_attr($remotefilename_encoded).'">'.$remotefilename_encoded.'</a></p>';
860
-
861
- // taken from: http://www.getid3.org/phpBB3/viewtopic.php?f=3&t=1141
862
- $upload_dir = wp_upload_dir();
863
- $localtempfilename = trailingslashit( $upload_dir['basedir'] ).'fv_flowlayer_tmp_'.md5(rand(1,999)).'_'.basename( substr($remotefilename_encoded,0,32) );
864
-
865
- $out = fopen( $localtempfilename,'wb' );
866
- if( $out ) {
867
- list( $header, $sHTTPError ) = fv_wp_flowplayer_http( $remotefilename_encoded, array( 'file' => $localtempfilename ) );
868
-
869
-
870
- if( $sHTTPError ) {
871
- $video_errors[] = $sHTTPError;
872
- $bValidFile = false;
873
- }
874
- fclose($out);
875
-
876
- if( !$headers ) {
877
- $headers = WP_Http::processHeaders( $header );
878
-
879
- list( $aVideoErrors, $sContentType, $bFatal ) = fv_wp_flowplayer_check_headers( $headers, $remotefilename, $random );
880
- if( $bFatal ) {
881
- $bValidFile = false;
882
- }
883
-
884
- if( $aVideoErrors ) {
885
- $video_errors = array_merge( $video_errors, $aVideoErrors );
886
- }
887
-
888
- if( isset($hearders['headers']['server']) && $hearders['headers']['server'] == 'AmazonS3' && $headers['response']['code'] == '403' ) {
889
- $error = new SimpleXMLElement($body);
890
-
891
- if( stripos( $error->Message, 'Request has expired' ) !== false ) {
892
- $video_errors[] = '<p><strong>Amazon S3</strong>: Your secure link is expired, there might be problem with your Amazon S3 plugin. Please test if the above URL opens in your browser.</p>';
893
- } else {
894
- $video_errors[] = '<p><strong>Amazon S3</strong>: '.$error->Message.'</p>';
895
- }
896
-
897
- }
898
- }
899
-
900
- if( $bValidFile ) {
901
- $ThisFileInfo = $getID3->analyze( $localtempfilename );
902
- }
903
- if( !@unlink($localtempfilename) ) {
904
- $video_errors[] = 'Can\'t remove temporary file for video analysis in <tt>'.$localtempfilename.'</tt>!';
905
- }
906
- } else {
907
- $video_errors[] = 'Can\'t create temporary file for video analysis in <tt>'.$localtempfilename.'</tt>!';
908
- }
909
- }
910
-
911
-
912
- /*
913
- Only check file length
914
- */
915
- if( isset($meta_action) && $meta_action == 'check_time' ) {
916
-
917
- if( isset($ThisFileInfo['playtime_seconds']) ) {
918
- $time = $ThisFileInfo['playtime_seconds'];
919
- }
920
- global $post;
921
- $fv_flowplayer_meta = get_post_meta( $post->ID, '_fv_flowplayer', true );
922
- $fv_flowplayer_meta = ($fv_flowplayer_meta) ? $fv_flowplayer_meta : array();
923
- $fv_flowplayer_meta[sanitize_title($meta_original)] = array('time' => $time);
924
- update_post_meta( $post->ID, '_fv_flowplayer', $fv_flowplayer_meta );
925
- return;
926
- }
927
-
928
- }
929
- } // end is_wp_error check
930
-
931
- } // end isset($media)
932
- }
933
- }
934
-
935
936
// enter script URL, return false if it's not version 5
937
function fv_wp_flowplayer_check_script_version( $url ) {
@@ -1039,12 +575,14 @@ function fv_wp_flowplayer_check_files() {
1039
if( stripos( $videos[0]['src'], '.mp4' ) === FALSE /*&& stripos( $videos[0]['src'], '.m4v' ) === FALSE*/ ) {
1040
continue;
1041
}
1042
1043
if( stripos( trim($videos[0]['src']), 'rtmp://' ) === false ) {
1044
- list( $header, $message_out ) = fv_wp_flowplayer_http( trim($videos[0]['src']), array( 'quick_check' => 'true', 'size' => 65536 ) );
1045
if( $header ) {
1046
$headers = WP_Http::processHeaders( $header );
1047
- list( $new_errors, $mime_type, $fatal ) = fv_wp_flowplayer_check_headers( $headers, trim($videos[0]['src']), rand(0,999), array( 'talk_bad_mime' => 'Server <code>'.$server.'</code> uses incorrect mime type for MP4 ', 'wrap' => false ) );
1048
if( $fatal ) {
1049
continue;
1050
}
@@ -1053,7 +591,7 @@ function fv_wp_flowplayer_check_files() {
1053
foreach( $videos AS $video ) {
1054
$sPostsLinks .= '<a href="'.home_url().'?p='.$video['post_id'].'">'.$video['post_id'].'</a> ';
1055
}
1056
- $errors[] = $new_errors.'(<a href="#" onclick="jQuery(\'#fv-flowplayer-warning-'.$count.'\').toggle(); return false">click to see a list of posts</a>) <div id="fv-flowplayer-warning-'.$count.'" style="display: none; ">'.$sPostsLinks.'</div>';
1057
$count++;
1058
continue;
1059
} else {
@@ -1105,7 +643,7 @@ function fv_wp_flowplayer_check_template() {
1105
}
1106
1107
if( stripos( $response['body'], '/html5.js') === FALSE && stripos( $response['body'], '/html5shiv.js') === FALSE ) {
1108
- $errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Get it <a href="https://code.google.com/p/html5shim/">here</a> and put it into your template.';
1109
}
1110
1111
$ok[] = 'Template checker has changed. Just open any of your videos on your site and see if you get a red warning message about JavaScript not working.';
@@ -1246,48 +784,6 @@ function fv_wp_flowplayer_support_mail_phpmailer_init( $phpmailer ) {
1246
}
1247
1248
1249
- function fv_wp_flowplayer_save_post( $id ) {
1250
- if( wp_is_post_revision($id) ) {
1251
- return true;
1252
- }
1253
-
1254
- global $fv_fp;
1255
- if( !isset($fv_fp->conf['amazon_bucket']) ) {
1256
- return;
1257
- }
1258
-
1259
- $videos = array();
1260
- $saved_post = get_post($id);
1261
- preg_match_all( '~\[(?:flowplayer|fvplayer).*?\]~', $saved_post->post_content, $matches );
1262
- if( isset($matches[0]) && count($matches[0]) ) {
1263
- foreach( $matches[0] AS $shortcode ) {
1264
- $process = false;
1265
- foreach( $fv_fp->conf['amazon_bucket'] AS $bucket ) {
1266
- if( strlen(trim($bucket)) > 0 && preg_match( '~[\'"](\S+?'.$bucket.'\S+?)[\'"]~', $shortcode, $process) ) {
1267
- $videos[] = $process[1];
1268
- break;
1269
- }
1270
- }
1271
- }
1272
- }
1273
-
1274
- if( count($videos) > 0 ) {
1275
- $videos = array_unique($videos);
1276
- foreach( $videos AS $video ) {
1277
- global $post;
1278
- if( $fv_flowplayer_meta = get_post_meta( $post->ID, '_fv_flowplayer', true ) ) {
1279
- if( isset($fv_flowplayer_meta[sanitize_title($video)]) ) {
1280
- continue;
1281
- }
1282
- }
1283
-
1284
- $video_secured = $fv_fp->get_amazon_secure($video, $fv_fp);
1285
- fv_wp_flowplayer_check_mimetype( array($video_secured), array( 'meta_action' => 'check_time', 'meta_original' => $video ) );
1286
- }
1287
- }
1288
- }
1289
-
1290
-
1291
function fv_wp_flowplayer_closed_meta_boxes( $closed ) {
1292
if ( false === $closed )
1293
$closed = array( 'fv_flowplayer_amazon_options', 'fv_flowplayer_interface_options', 'fv_flowplayer_default_options', 'fv_flowplayer_ads', 'fv_flowplayer_skin' );
@@ -1446,4 +942,23 @@ function fv_wp_flowplayer_activate_extension() {
1446
1447
echo "<FVFLOWPLAYER>".json_encode( array( 'message' => 'Success!', 'plugin' => $_POST['plugin'] ) )."</FVFLOWPLAYER>";
1448
die();
1449
}
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
add_action('wp_ajax_fv_wp_flowplayer_support_mail', 'fv_wp_flowplayer_support_mail');
21
add_action('wp_ajax_fv_wp_flowplayer_activate_extension', 'fv_wp_flowplayer_activate_extension');
22
add_action('wp_ajax_fv_wp_flowplayer_check_template', 'fv_wp_flowplayer_check_template');
23
add_action('wp_ajax_fv_wp_flowplayer_check_files', 'fv_wp_flowplayer_check_files');
24
25
+ add_action('admin_head', 'flowplayer_admin_head');
26
+ add_action('admin_footer', 'flowplayer_admin_footer');
27
+ add_action('admin_print_footer_scripts', 'flowplayer_admin_footer_wp_js_restore', 999999 );
28
+
29
add_action('admin_menu', 'flowplayer_admin');
30
add_action('media_buttons', 'flowplayer_add_media_button', 30);
31
+ add_action('media_upload_fvplayer_video', '__return_false'); // keep for compatibility!
32
33
34
add_action('admin_init', 'fv_wp_flowplayer_admin_init');
35
add_action( 'wp_ajax_fv_foliopress_ajax_pointers', 'fv_wp_flowplayer_pointers_ajax' );
36
+
37
38
39
add_action( 'admin_enqueue_scripts', 'fv_wp_flowplayer_admin_enqueue_scripts' );
41
42
add_action( 'after_plugin_row', 'fv_wp_flowplayer_after_plugin_row', 10, 3 );
43
44
+ add_action( 'save_post', 'fv_wp_flowplayer_save_post'/*, 9999*/ );
45
46
add_filter( 'get_user_option_closedpostboxes_fv_flowplayer_settings', 'fv_wp_flowplayer_closed_meta_boxes' );
47
48
49
add_action('the_content', 'flowplayer_content_remove_commas');
50
+
51
add_filter('admin_print_scripts', 'flowplayer_print_scripts');
52
add_action('admin_print_styles', 'flowplayer_print_styles');
53
+ add_action('admin_enqueue_scripts', 'fv_flowplayer_admin_scripts');
54
+
55
//conversion script via AJAX
56
add_action('wp_ajax_flowplayer_conversion_script', 'flowplayer_conversion_script');
57
add_action('admin_notices', 'fv_wp_flowplayer_admin_notice');
67
delete_transient( 'fv_flowplayer_license' );
68
}
69
delete_option( 'fv_flowplayer_extension_install' );
70
+ wp_clear_scheduled_hook('fv_flowplayer_checker_event');
71
}
72
73
74
+ function flowplayer_admin_head() {
75
+ include dirname( __FILE__ ) . '/../view/frontend-head.php';
76
77
+ if( !isset($_GET['page']) || $_GET['page'] != 'fvplayer' ) {
78
+ return;
79
}
80
81
+ global $fv_wp_flowplayer_ver;
82
+ ?>
83
+ <script type="text/javascript" src="<?php echo FV_FP_RELATIVE_PATH; ?>/js/jscolor/jscolor.js"></script>
84
+ <link rel="stylesheet" type="text/css" href="<?php echo flowplayer::get_plugin_url().'/css/license.css'; ?>?ver=<?php echo $fv_wp_flowplayer_ver; ?>" />
85
+
86
+ <script>
87
+ jQuery(window).on('unload', function(){
88
+ window.fv_flowplayer_wp = window.wp;
89
+ });
90
+ </script>
91
+ <?php
92
}
93
94
95
+ function flowplayer_admin_footer() {
96
+ if( !isset($_GET['page']) || $_GET['page'] != 'fvplayer' ) {
97
+ return;
98
+ }
99
+
100
+ flowplayer_prepare_scripts();
101
}
102
103
104
+ function flowplayer_admin_footer_wp_js_restore() {
105
+ if( !isset($_GET['page']) || $_GET['page'] != 'fvplayer' ) {
106
+ return;
107
+ }
108
+
109
?>
110
+ <script>
111
+ jQuery(window).on('unload', function(){
112
+ window.wp = window.fv_flowplayer_wp;
113
+ });
114
</script>
115
<?php
116
}
117
118
+
119
+
120
121
/**
122
* Administrator environment function.
132
'flowplayer_page'
133
);
134
}
135
+
136
}
137
138
266
if( $page !== 'post.php' && $page !== 'post-new.php' ) {
267
return;
268
}
269
270
+ global $fv_wp_flowplayer_ver;
271
+
272
+ wp_register_script('fvwpflowplayer-domwindow', flowplayer::get_plugin_url().'/js/jquery.colorbox-min.js',array('jquery'), $fv_wp_flowplayer_ver );
273
+ wp_enqueue_script('fvwpflowplayer-domwindow');
274
+
275
+ wp_register_script('fvwpflowplayer-shortcode-editor', flowplayer::get_plugin_url().'/js/shortcode-editor.js',array('jquery'), $fv_wp_flowplayer_ver );
276
wp_enqueue_script('fvwpflowplayer-shortcode-editor');
277
278
wp_register_style('fvwpflowplayer-domwindow-css', flowplayer::get_plugin_url().'/css/colorbox.css','','1.0','screen');
424
);
425
$resp = wp_remote_post( 'http://foliovision.com/?fv_remote=true', $args );
426
427
+ if( isset($resp['body']) && $resp['body'] && $data = json_decode( preg_replace( '~[\s\S]*?<FVFLOWPLAYER>(.*?)</FVFLOWPLAYER>[\s\S]*?~', '$1', $resp['body'] ) ) ) {
428
return $data;
429
} else {
430
return false;
446
447
448
function fv_wp_flowplayer_after_plugin_row( $arg) {
449
+ if( apply_filters('fv_player_skip_ads',false) ) {
450
+ return;
451
+ }
452
+
453
$args = func_get_args();
454
455
if( $args[1]['Name'] == 'FV Wordpress Flowplayer' ) {
459
<tr class="plugin-update-tr fv-wordpress-flowplayer-tr">
460
<td class="plugin-update colspanchange" colspan="3">
461
<div class="update-message">
462
+ <a href="http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer/download">All Licenses 20% Off</a> - Christmas sale!
463
</div>
464
</td>
465
</tr>
467
endif;
468
}
469
}
470
471
472
// enter script URL, return false if it's not version 5
473
function fv_wp_flowplayer_check_script_version( $url ) {
575
if( stripos( $videos[0]['src'], '.mp4' ) === FALSE /*&& stripos( $videos[0]['src'], '.m4v' ) === FALSE*/ ) {
576
continue;
577
}
578
+
579
+ global $FV_Player_Checker;
580
581
if( stripos( trim($videos[0]['src']), 'rtmp://' ) === false ) {
582
+ list( $header, $message_out ) = $FV_Player_Checker->http_request( trim($videos[0]['src']), array( 'quick_check' => 10, 'size' => 65536 ) );
583
if( $header ) {
584
$headers = WP_Http::processHeaders( $header );
585
+ list( $new_errors, $mime_type, $fatal ) = $FV_Player_Checker->check_headers( $headers, trim($videos[0]['src']), rand(0,999), array( 'talk_bad_mime' => 'Server <code>'.$server.'</code> uses incorrect mime type for MP4 ', 'wrap' => false ) );
586
if( $fatal ) {
587
continue;
588
}
591
foreach( $videos AS $video ) {
592
$sPostsLinks .= '<a href="'.home_url().'?p='.$video['post_id'].'">'.$video['post_id'].'</a> ';
593
}
594
+ $errors[] = implode( " ",$new_errors ).'(<a href="#" onclick="jQuery(\'#fv-flowplayer-warning-'.$count.'\').toggle(); return false">click to see a list of posts</a>) <div id="fv-flowplayer-warning-'.$count.'" style="display: none; ">'.$sPostsLinks.'</div>';
595
$count++;
596
continue;
597
} else {
643
}
644
645
if( stripos( $response['body'], '/html5.js') === FALSE && stripos( $response['body'], '/html5shiv.js') === FALSE ) {
646
+ $errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Read our instrutions <a href="https://foliovision.com/player/installation#html5js">here</a>.';
647
}
648
649
$ok[] = 'Template checker has changed. Just open any of your videos on your site and see if you get a red warning message about JavaScript not working.';
784
}
785
786
787
function fv_wp_flowplayer_closed_meta_boxes( $closed ) {
788
if ( false === $closed )
789
$closed = array( 'fv_flowplayer_amazon_options', 'fv_flowplayer_interface_options', 'fv_flowplayer_default_options', 'fv_flowplayer_ads', 'fv_flowplayer_skin' );
942
943
echo "<FVFLOWPLAYER>".json_encode( array( 'message' => 'Success!', 'plugin' => $_POST['plugin'] ) )."</FVFLOWPLAYER>";
944
die();
945
+ }
946
+
947
+ add_filter('plugin_action_links', 'fv_wp_flowplayer_plugin_action_links', 10, 2);
948
+
949
+ function fv_wp_flowplayer_plugin_action_links($links, $file) {
950
+ if( $file == 'fv-wordpress-flowplayer/flowplayer.php') {
951
+ $settings_link = '<a href="https://foliovision.com/pro-support" target="_blank">Premium Support</a>';
952
+ array_unshift($links, $settings_link);
953
+ $settings_link = '<a href="options-general.php?page=fvplayer">Settings</a>';
954
+ array_unshift($links, $settings_link);
955
+ }
956
+ return $links;
957
+ }
958
+
959
+
960
+ function fv_flowplayer_admin_scripts() {
961
+ if (isset($_GET['page']) && $_GET['page'] == 'fvplayer') {
962
+ wp_enqueue_media();
963
+ }
964
}
controller/frontend.php CHANGED
@@ -16,24 +16,26 @@
16
along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
- include_once(dirname( __FILE__ ) . '/../models/flowplayer.php');
20
- include_once(dirname( __FILE__ ) . '/../models/flowplayer-frontend.php');
21
-
22
- $fv_fp = new flowplayer_frontend();
23
-
24
//add_action('the_content', 'flowplayer_content_remove_commas');
25
add_action('wp_head', 'flowplayer_head');
26
add_action('wp_footer','flowplayer_prepare_scripts',9);
27
add_action('wp_footer','flowplayer_display_scripts',100);
28
- add_action('widget_text','flowplayer_content');
29
add_action('wp_enqueue_scripts', 'flowplayer_jquery');
30
31
32
function fv_flowplayer_remove_bad_scripts() {
33
- wp_deregister_script( 'flowplayer' );
34
}
35
add_action( 'wp_print_scripts', 'fv_flowplayer_remove_bad_scripts', 100 );
36
37
38
39
function flowplayer_content_remove_commas($content) {
@@ -266,23 +268,37 @@ function flowplayer_prepare_scripts() {
266
if( $fv_fp->load_mediaelement && !wp_script_is('wp-mediaelement') ) {
267
wp_enqueue_script( 'flowplayer-mediaelement', flowplayer::get_plugin_url().'/mediaelement/mediaelement-and-player.min.js', array('jquery'), $fv_wp_flowplayer_ver, true );
268
}
269
- wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', $fv_fp->aPlaylists );
270
- wp_localize_script( 'flowplayer', 'fv_fp_ajaxurl', site_url().'/wp-admin/admin-ajax.php' );
271
272
$aConf = array('embed' => array( 'library' => $sPluginUrl.'/flowplayer/fv-flowplayer.min.js', 'script' => $sPluginUrl.'/flowplayer/embed.min.js', 'skin' => $sPluginUrl.'/css/flowplayer.css', 'swf' => $sPluginUrl.'/flowplayer/flowplayer.swf?ver='.$fv_wp_flowplayer_ver ) );
273
if( $sCommercialKey ) $aConf['key'] = $sCommercialKey;
274
- if( !isset($fv_fp->conf['fixed_size']) || strcmp($fv_fp->conf['fixed_size'],'true') != 0 ) {
275
$aConf['safety_resize'] = true;
276
}
277
if( current_user_can('manage_options') && $fv_fp->conf['disable_videochecker'] != 'true' ) {
278
$aConf['video_checker_site'] = home_url();
279
}
280
if( $sLogo ) $aConf['logo'] = $sLogo;
281
wp_localize_script( 'flowplayer', 'fv_flowplayer_conf', $aConf );
282
if( current_user_can('manage_options') ) {
283
wp_localize_script( 'flowplayer', 'fv_flowplayer_admin_input', array(true) );
284
wp_localize_script( 'flowplayer', 'fv_flowplayer_admin_js_test', array(true) );
285
}
286
287
if( count($GLOBALS['fv_fp_scripts']) > 0 ) {
288
foreach( $GLOBALS['fv_fp_scripts'] AS $sKey => $aScripts ) {
@@ -312,15 +328,28 @@ function flowplayer($shortcode) {
312
313
314
/*
315
- Make sure our div won't be wrapped in any P tag.
316
*/
317
function fv_flowplayer_the_content( $c ) {
318
- $c = preg_replace( '!<p[^>]*?>(\[(?:fvplayer|flowplayer).*?\])</p>!', "\n".'$1'."\n", $c );
319
return $c;
320
}
321
add_filter( 'the_content', 'fv_flowplayer_the_content', 0 );
322
323
324
/*
325
Handle attachment pages which contain videos
326
*/
@@ -333,13 +362,37 @@ function fv_flowplayer_attachment_page_video( $c ) {
333
if( !$src = wp_get_attachment_url($post->ID) ) {
334
return $c;
335
}
336
-
337
$meta = get_post_meta( $post->ID, '_wp_attachment_metadata', true );
338
$size = (isset($meta['width']) && isset($meta['height']) && intval($meta['width'])>0 && intval($meta['height'])>0 ) ? ' width="'.intval($meta['width']).'" height="'.intval($meta['height']).'"' : false;
339
340
$shortcode = '[fvplayer src="'.$src.'"'.$size.']';
341
342
$c = preg_replace( '~<p class=.attachment.[\s\S]*?</p>~', $shortcode, $c );
343
return $c;
344
}
345
add_filter( 'prepend_attachment', 'fv_flowplayer_attachment_page_video' );
16
along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
//add_action('the_content', 'flowplayer_content_remove_commas');
20
add_action('wp_head', 'flowplayer_head');
21
add_action('wp_footer','flowplayer_prepare_scripts',9);
22
add_action('wp_footer','flowplayer_display_scripts',100);
23
+ add_action('widget_text','do_shortcode');
24
add_action('wp_enqueue_scripts', 'flowplayer_jquery');
25
26
+ add_filter( 'run_ngg_resource_manager', '__return_false' );
27
+
28
29
function fv_flowplayer_remove_bad_scripts() {
30
+ global $wp_scripts;
31
+ if( isset($wp_scripts->registered['flowplayer']) && isset($wp_scripts->registered['flowplayer']->src) && stripos($wp_scripts->registered['flowplayer']->src, 'fv-wordpress-flowplayer') === false ) {
32
+ wp_deregister_script( 'flowplayer' );
33
+ }
34
}
35
add_action( 'wp_print_scripts', 'fv_flowplayer_remove_bad_scripts', 100 );
36
37
+ add_filter( 'run_ngg_resource_manager', '__return_false' ); // Nextgen Gallery compatibility fix
38
+
39
40
41
function flowplayer_content_remove_commas($content) {
268
if( $fv_fp->load_mediaelement && !wp_script_is('wp-mediaelement') ) {
269
wp_enqueue_script( 'flowplayer-mediaelement', flowplayer::get_plugin_url().'/mediaelement/mediaelement-and-player.min.js', array('jquery'), $fv_wp_flowplayer_ver, true );
270
}
271
272
$aConf = array('embed' => array( 'library' => $sPluginUrl.'/flowplayer/fv-flowplayer.min.js', 'script' => $sPluginUrl.'/flowplayer/embed.min.js', 'skin' => $sPluginUrl.'/css/flowplayer.css', 'swf' => $sPluginUrl.'/flowplayer/flowplayer.swf?ver='.$fv_wp_flowplayer_ver ) );
273
if( $sCommercialKey ) $aConf['key'] = $sCommercialKey;
274
+ if( apply_filters( 'fv_flowplayer_safety_resize', true) && !isset($fv_fp->conf['fixed_size']) || strcmp($fv_fp->conf['fixed_size'],'true') != 0 ) {
275
$aConf['safety_resize'] = true;
276
}
277
+ if( isset($fv_fp->conf['cbox_compatibility']) && strcmp($fv_fp->conf['cbox_compatibility'],'true') == 0 ) {
278
+ $aConf['cbox_compatibility'] = true;
279
+ }
280
if( current_user_can('manage_options') && $fv_fp->conf['disable_videochecker'] != 'true' ) {
281
$aConf['video_checker_site'] = home_url();
282
}
283
if( $sLogo ) $aConf['logo'] = $sLogo;
284
+ $aConf['volume'] = floatval($fv_fp->conf['volume']);
285
+ if( $aConf['volume'] > 1 ) {
286
+ $aConf['volume'] = 1;
287
+ }
288
wp_localize_script( 'flowplayer', 'fv_flowplayer_conf', $aConf );
289
if( current_user_can('manage_options') ) {
290
wp_localize_script( 'flowplayer', 'fv_flowplayer_admin_input', array(true) );
291
wp_localize_script( 'flowplayer', 'fv_flowplayer_admin_js_test', array(true) );
292
}
293
+
294
+ wp_localize_script( 'flowplayer', 'fv_fp_ajaxurl', site_url().'/wp-admin/admin-ajax.php' );
295
+ wp_localize_script( 'flowplayer', 'fv_flowplayer_playlists', $fv_fp->aPlaylists );
296
+ if( count($fv_fp->aAds) > 0 ) {
297
+ wp_localize_script( 'flowplayer', 'fv_flowplayer_ad', $fv_fp->aAds );
298
+ }
299
+ if( count($fv_fp->aPopups) > 0 ) {
300
+ wp_localize_script( 'flowplayer', 'fv_flowplayer_popup', $fv_fp->aPopups );
301
+ }
302
303
if( count($GLOBALS['fv_fp_scripts']) > 0 ) {
304
foreach( $GLOBALS['fv_fp_scripts'] AS $sKey => $aScripts ) {
328
329
330
/*
331
+ Make sure our div won't be wrapped in any P tag and that html attributes don't break the shortcode
332
*/
333
function fv_flowplayer_the_content( $c ) {
334
+ $c = preg_replace( '!<p[^>]*?>(\[(?:fvplayer|flowplayer).*?[^\\\]\])</p>!', "\n".'$1'."\n", $c );
335
+ $c = preg_replace_callback( '!\[(?:fvplayer|flowplayer).*?[^\\\]\]!', 'fv_flowplayer_shortfcode_fix_attrs', $c );
336
return $c;
337
}
338
add_filter( 'the_content', 'fv_flowplayer_the_content', 0 );
339
340
341
+ function fv_flowplayer_shortfcode_fix_attrs( $aMatch ) {
342
+ $aMatch[0] = preg_replace_callback( '!(?:ad|popup)="(.*?[^\\\])"!', 'fv_flowplayer_shortfcode_fix_attr', $aMatch[0] );
343
+ return $aMatch[0];
344
+ }
345
+
346
+
347
+ function fv_flowplayer_shortfcode_fix_attr( $aMatch ) {
348
+ $aMatch[0] = str_replace( $aMatch[1], '<!--fv_flowplayer_base64_encoded-->'.base64_encode($aMatch[1]), $aMatch[0] );
349
+ return $aMatch[0];
350
+ }
351
+
352
+
353
/*
354
Handle attachment pages which contain videos
355
*/
362
if( !$src = wp_get_attachment_url($post->ID) ) {
363
return $c;
364
}
365
+
366
$meta = get_post_meta( $post->ID, '_wp_attachment_metadata', true );
367
$size = (isset($meta['width']) && isset($meta['height']) && intval($meta['width'])>0 && intval($meta['height'])>0 ) ? ' width="'.intval($meta['width']).'" height="'.intval($meta['height']).'"' : false;
368
369
$shortcode = '[fvplayer src="'.$src.'"'.$size.']';
370
371
$c = preg_replace( '~<p class=.attachment.[\s\S]*?</p>~', $shortcode, $c );
372
+ $c = preg_replace( '~<div[^>]*?class="[^"]*?wp-video[^"]*?"[^>]*?>[\s\S]*?<video.*?</video></div>~', $shortcode, $c );
373
+
374
return $c;
375
}
376
add_filter( 'prepend_attachment', 'fv_flowplayer_attachment_page_video' );
377
+
378
+
379
+ function fv_player_caption( $caption ) {
380
+ global $post, $authordata;
381
+ $caption = str_replace(
382
+ array(
383
+ '%post_title%',
384
+ '%post_date%',
385
+ '%post_author%',
386
+ '%post_author_name%'
387
+ ),
388
+ array(
389
+ get_the_title(),
390
+ get_the_date(),
391
+ sprintf( '<a href="%1$s" title="%2$s" rel="author">%3$s</a>', esc_url( get_author_posts_url( $authordata->ID, $authordata->user_nicename ) ), esc_attr( sprintf( __( 'Posts by %s' ), get_the_author() ) ), get_the_author() ),
392
+ get_the_author()
393
+ ),
394
+ $caption );
395
+ return $caption;
396
+ }
397
+ add_filter( 'fv_player_caption', 'fv_player_caption' );
398
+
controller/shortcodes.php CHANGED
@@ -24,6 +24,8 @@ add_shortcode('flowplayer','flowplayer_content_handle');
24
25
add_shortcode('fvplayer','flowplayer_content_handle');
26
27
function flowplayer_content_handle( $atts, $content = null, $tag ) {
28
global $fv_fp;
29
@@ -100,6 +102,7 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
100
'splashend' => '',
101
'popup' => '',
102
'controlbar' => '',
103
'redirect' => '',
104
'loop' => '',
105
'engine' => '',
@@ -113,10 +116,13 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
113
'rtmp' => '',
114
'rtmp_path' => '',
115
'playlist' => '',
116
'admin_warning' => '',
117
'live' => '',
118
'caption' => '',
119
- 'logo' => ''
120
), $atts ) );
121
122
if( $fv_fp->conf['parse_commas'] == 'true' && strcmp($tag,'flowplayer') == 0 ) {
@@ -130,6 +136,7 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
130
$arguments['splashend'] = preg_replace('/\,/', '', $splashend);
131
$arguments['popup'] = $popup;
132
$arguments['controlbar'] = preg_replace('/\,/', '', $controlbar);
133
$arguments['redirect'] = preg_replace('/\,/', '', $redirect);
134
$arguments['loop'] = preg_replace('/\,/', '', $loop);
135
$arguments['engine'] = preg_replace('/\,/', '', $engine);
@@ -143,12 +150,15 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
143
$arguments['rtmp'] = preg_replace('/\,/', '', $rtmp);
144
$arguments['rtmp_path'] = preg_replace('/\,/', '', $rtmp_path);
145
$arguments['playlist'] = $playlist;
146
$arguments['admin_warning'] = $admin_warning;
147
$arguments['live'] = $live;
148
$arguments['caption'] = $caption;
149
- $arguments['logo'] = $logo;
150
- $src = trim( preg_replace('/\,/', '', $src) );
151
- $arguments['src'] = $src;
152
} else {
153
$arguments = shortcode_atts( array(
154
'src' => '',
@@ -162,6 +172,7 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
162
'splashend' => '',
163
'popup' => '',
164
'controlbar' => '',
165
'redirect' => '',
166
'loop' => '',
167
'engine' => '',
@@ -175,18 +186,55 @@ function flowplayer_content_handle( $atts, $content = null, $tag ) {
175
'rtmp' => '',
176
'rtmp_path' => '',
177
'playlist' => '',
178
'admin_warning' => '',
179
'live' => '',
180
'caption' => '',
181
- 'logo' => ''
182
), $atts );
183
}
184
185
$arguments = apply_filters( 'fv_flowplayer_shortcode', $arguments, $fv_fp, $atts );
186
187
- if( $src != '' || ( ( ( strlen($fv_fp->conf['rtmp']) && $fv_fp->conf['rtmp'] != 'false' ) || strlen($arguments['rtmp'])) && strlen($arguments['rtmp_path']) ) ) {
188
// build new player
189
- $new_player = $fv_fp->build_min_player($src,$arguments);
190
if (!empty($new_player['script'])) {
191
$GLOBALS['fv_fp_scripts'] = $new_player['script'];
192
}
@@ -285,4 +333,13 @@ function fv_flowplayer_optimizepress_bridge( $input ) {
285
return $shortcode;
286
}
287
288
- ?>
24
25
add_shortcode('fvplayer','flowplayer_content_handle');
26
27
+ add_shortcode('fv_time','fv_player_time');
28
+
29
function flowplayer_content_handle( $atts, $content = null, $tag ) {
30
global $fv_fp;
31
102
'splashend' => '',
103
'popup' => '',
104
'controlbar' => '',
105
+ 'play_button' => '',
106
'redirect' => '',
107
'loop' => '',
108
'engine' => '',
116
'rtmp' => '',
117
'rtmp_path' => '',
118
'playlist' => '',
119
+ 'playlist_hide' => '',
120
'admin_warning' => '',
121
'live' => '',
122
'caption' => '',
123
+ 'logo' => '',
124
+ 'share' => '',
125
+ 'post' => '',
126
), $atts ) );
127
128
if( $fv_fp->conf['parse_commas'] == 'true' && strcmp($tag,'flowplayer') == 0 ) {
136
$arguments['splashend'] = preg_replace('/\,/', '', $splashend);
137
$arguments['popup'] = $popup;
138
$arguments['controlbar'] = preg_replace('/\,/', '', $controlbar);
139
+ $arguments['play_button'] = preg_replace('/\,/', '', $play_button);
140
$arguments['redirect'] = preg_replace('/\,/', '', $redirect);
141
$arguments['loop'] = preg_replace('/\,/', '', $loop);
142
$arguments['engine'] = preg_replace('/\,/', '', $engine);
150
$arguments['rtmp'] = preg_replace('/\,/', '', $rtmp);
151
$arguments['rtmp_path'] = preg_replace('/\,/', '', $rtmp_path);
152
$arguments['playlist'] = $playlist;
153
+ $arguments['playlist_hide'] = $playlist_hide;
154
$arguments['admin_warning'] = $admin_warning;
155
$arguments['live'] = $live;
156
$arguments['caption'] = $caption;
157
+ $arguments['logo'] = $logo;
158
+ $arguments['share'] = $share;
159
+ $arguments['post'] = $post;
160
+ $arguments['src'] = trim( preg_replace('/\,/', '', $src) );
161
+
162
} else {
163
$arguments = shortcode_atts( array(
164
'src' => '',
172
'splashend' => '',
173
'popup' => '',
174
'controlbar' => '',
175
+ 'play_button' => '',
176
'redirect' => '',
177
'loop' => '',
178
'engine' => '',
186
'rtmp' => '',
187
'rtmp_path' => '',
188
'playlist' => '',
189
+ 'playlist_hide' => '',
190
'admin_warning' => '',
191
'live' => '',
192
'caption' => '',
193
+ 'logo' => '',
194
+ 'share' => '',
195
+ 'post' => ''
196
), $atts );
197
}
198
199
+ if( ( !isset($arguments['src']) || strlen(trim($arguments['src'])) == 0 ) && isset($arguments['mobile']) && strlen(trim($arguments['mobile'])) ) {
200
+ $arguments['src'] = $arguments['mobile'];
201
+ unset($arguments['mobile']);
202
+ }
203
+
204
$arguments = apply_filters( 'fv_flowplayer_shortcode', $arguments, $fv_fp, $atts );
205
206
+ if( $post == 'this' ) {
207
+ $post = get_the_ID();
208
+ }
209
+
210
+ if( intval($post) > 0 ) {
211
+ $objVideoQuery = new WP_Query( array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_parent' => intval($post), 'post_mime_type' => 'video' ) );
212
+ if( $objVideoQuery->have_posts() ) {
213
+ $sHTML = '';
214
+ while( $objVideoQuery->have_posts() ) {
215
+ $objVideoQuery->the_post();
216
+ $aArgs = $arguments;
217
+ $aArgs['src'] = wp_get_attachment_url(get_the_ID());
218
+ if( $aSplash = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), 'large' ) ) {
219
+ $aArgs['splash'] = $aSplash[0];
220
+ }
221
+ if( strlen($aArgs['lightbox']) ) {
222
+ $aArgs['lightbox'] .= ';'.html_entity_decode(get_the_title());
223
+ }
224
+ if( strlen($aArgs['caption']) ) {
225
+ $aArgs['caption'] = apply_filters( 'fv_player_caption', $aArgs['caption'], false );
226
+ }
227
+
228
+ $new_player = $fv_fp->build_min_player( $aArgs['src'],$aArgs );
229
+ $sHTML .= $new_player['html'];
230
+ }
231
+
232
+ return $sHTML;
233
+ }
234
+
235
+ } else if( $arguments['src'] != '' || ( ( ( strlen($fv_fp->conf['rtmp']) && $fv_fp->conf['rtmp'] != 'false' ) || strlen($arguments['rtmp'])) && strlen($arguments['rtmp_path']) ) ) {
236
// build new player
237
+ $new_player = $fv_fp->build_min_player($arguments['src'],$arguments);
238
if (!empty($new_player['script'])) {
239
$GLOBALS['fv_fp_scripts'] = $new_player['script'];
240
}
333
return $shortcode;
334
}
335
336
+
337
+ function fv_player_time() {
338
+ global $post, $fv_fp;
339
+
340
+ if( $post->ID > 0 && isset($fv_fp->aCurArgs['src']) ) {
341
+ return flowplayer::get_duration( $post->ID, $fv_fp->aCurArgs['src'] );
342
+ } else {
343
+ return flowplayer::get_duration_post();
344
+ }
345
+ }
css/admin.css CHANGED
@@ -1,4 +1,4 @@
1
- #content .fv-wp-flowplayer-notice-small, .fv-wp-flowplayer-notice-small { color: <?php echo trim($this->conf['timeColor']); ?>; position: absolute; top: 1%; left: 1%; z-index: 2; }
2
#content .flowplayer.is-mouseout .fv-wp-flowplayer-notice-small, .flowplayer.is-mouseout .fv-wp-flowplayer-notice-small { top: 1%; -webkit-transition:top .15s .3s;-moz-transition:top .15s .3s;transition:top .15s .3s }
3
#content .flowplayer.is-mouseover.is-ready .fv-wp-flowplayer-notice-small, .flowplayer.is-mouseover.is-ready .fv-wp-flowplayer-notice-small { top: 32px }
4
#content .fv-wp-flowplayer-notice, .fv-wp-flowplayer-notice { color: black !important; background-color: #FFFFE0; border-color: #E6DB55; margin: -1%; padding: 0 0.6em; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; line-height: 15px; z-index: 100; width: 97%; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif }
@@ -8,10 +8,12 @@
8
.fv-wp-flowplayer-notice p tt { color: #000; }
9
.fv-wp-flowplayer-notice p tt.bluelink { color: #4189A7; }
10
11
#content .fv-wp-flowplayer-notice blockquote, #content .fv-wp-flowplayer-notice pre, .fv-wp-flowplayer-notice blockquote, .fv-wp-flowplayer-notice pre { padding: 5px; margin: 0; }
12
.fv-wp-flowplayer-notice textarea.wpfp_message_field { border: 1px solid #dedede; color: #8f8f8f; font-size: 12px; padding: 1%; }
13
.fv-wp-flowplayer-notice input[type="button"] { border: 1px solid #960c0c; color: #fff; border-radius: 4px; padding: 5px 8px; box-shadow: inset 0 0 1px #de3232; background: #ad1010; font-size: 12px; line-height: 18px; float: right; margin-bottom: 8px; }
14
- #content .fv-wp-flowplayer-notice a.techinfo, .fv-wp-flowplayer-notice a.techinfo { background-image:url(img/techinfo.png); color: gray; background-repeat: no-repeat; background-position: left center; display: inline-block; min-height: 18px; padding-left: 24px; margin-top: 5px; }
15
#content .fv-wp-flowplayer-notice.fv-wp-flowplayer-error, .fv-wp-flowplayer-notice.fv-wp-flowplayer-error { background-color: #FFEBE8; border-color: #CC0000; }
16
#content .fv-wp-flowplayer-notice.fv-wp-flowplayer-notice, .fv-wp-flowplayer-notice.fv-wp-flowplayer-notice { background-color: #EDEDED; border-color: #c0c0c0; box-shadow: 0 0 4px #ccc; }
17
.fv-wp-flowplayer-notice-small .fv_wp_flowplayer_notice_head { display: none; }
@@ -42,5 +44,5 @@
42
43
44
45
- .flowplayer-wrapper { min-width: 50%; display: inline-block; float: right;}
46
@media only screen and (max-width: 940px) {.flowplayer-wrapper { width: 100%; float: none;} .form-table2.flowplayer-settings {width: 100% !important;}}
1
+ #content .fv-wp-flowplayer-notice-small, .fv-wp-flowplayer-notice-small { position: absolute; top: 1%; left: 1%; z-index: 2; }
2
#content .flowplayer.is-mouseout .fv-wp-flowplayer-notice-small, .flowplayer.is-mouseout .fv-wp-flowplayer-notice-small { top: 1%; -webkit-transition:top .15s .3s;-moz-transition:top .15s .3s;transition:top .15s .3s }
3
#content .flowplayer.is-mouseover.is-ready .fv-wp-flowplayer-notice-small, .flowplayer.is-mouseover.is-ready .fv-wp-flowplayer-notice-small { top: 32px }
4
#content .fv-wp-flowplayer-notice, .fv-wp-flowplayer-notice { color: black !important; background-color: #FFFFE0; border-color: #E6DB55; margin: -1%; padding: 0 0.6em; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; line-height: 15px; z-index: 100; width: 97%; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif }
8
.fv-wp-flowplayer-notice p tt { color: #000; }
9
.fv-wp-flowplayer-notice p tt.bluelink { color: #4189A7; }
10
11
+ #content .fv-wp-flowplayer-notice a { color: #800 !important; }
12
+
13
#content .fv-wp-flowplayer-notice blockquote, #content .fv-wp-flowplayer-notice pre, .fv-wp-flowplayer-notice blockquote, .fv-wp-flowplayer-notice pre { padding: 5px; margin: 0; }
14
.fv-wp-flowplayer-notice textarea.wpfp_message_field { border: 1px solid #dedede; color: #8f8f8f; font-size: 12px; padding: 1%; }
15
.fv-wp-flowplayer-notice input[type="button"] { border: 1px solid #960c0c; color: #fff; border-radius: 4px; padding: 5px 8px; box-shadow: inset 0 0 1px #de3232; background: #ad1010; font-size: 12px; line-height: 18px; float: right; margin-bottom: 8px; }
16
+ #content .fv-wp-flowplayer-notice a.techinfo, .fv-wp-flowplayer-notice a.techinfo { background-image:url(img/techinfo.png); color: gray !important; background-repeat: no-repeat; background-position: left center; display: inline-block; min-height: 18px; padding-left: 24px; margin-top: 5px; }
17
#content .fv-wp-flowplayer-notice.fv-wp-flowplayer-error, .fv-wp-flowplayer-notice.fv-wp-flowplayer-error { background-color: #FFEBE8; border-color: #CC0000; }
18
#content .fv-wp-flowplayer-notice.fv-wp-flowplayer-notice, .fv-wp-flowplayer-notice.fv-wp-flowplayer-notice { background-color: #EDEDED; border-color: #c0c0c0; box-shadow: 0 0 4px #ccc; }
19
.fv-wp-flowplayer-notice-small .fv_wp_flowplayer_notice_head { display: none; }
44
45
46
47
+ .flowplayer-wrapper { width: 54%; display: inline-block; float: right;}
48
@media only screen and (max-width: 940px) {.flowplayer-wrapper { width: 100%; float: none;} .form-table2.flowplayer-settings {width: 100% !important;}}
css/colorbox.css CHANGED
@@ -5,8 +5,8 @@ ColorBox Core Style
5
The following rules are the styles that are consistant between themes.
6
Avoid changing this area to maintain compatability with future versions of ColorBox.
7
*/
8
- #colorbox, #cboxOverlay, #cboxWrapper, #colorbox.fv-flowplayer-shortcode-editor, #cboxOverlay.fv-flowplayer-shortcode-editor, #cboxWrapper.fv-flowplayer-shortcode-editor{position:absolute; top:0; left:0; z-index:100; overflow:hidden;}
9
- #cboxOverlay, #cboxOverlay.fv-flowplayer-shortcode-editor{position:fixed; width:100%; height:100%; z-index: 100}
10
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
11
#cboxContent{position:relative; overflow:hidden;}
12
#cboxLoadedContent{overflow:auto;}
5
The following rules are the styles that are consistant between themes.
6
Avoid changing this area to maintain compatability with future versions of ColorBox.
7
*/
8
+ #colorbox, #cboxOverlay, #cboxWrapper, #colorbox.fv-flowplayer-shortcode-editor, #cboxOverlay.fv-flowplayer-shortcode-editor, #cboxWrapper.fv-flowplayer-shortcode-editor{position:absolute; top:0; left:0; z-index:1001; overflow:hidden;}
9
+ #cboxOverlay, #cboxOverlay.fv-flowplayer-shortcode-editor{position:fixed; width:100%; height:100%; z-index: 1000}
10
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
11
#cboxContent{position:relative; overflow:hidden;}
12
#cboxLoadedContent{overflow:auto;}
css/flowplayer.css CHANGED
@@ -1,11 +1,11 @@
1
.flowplayer{position:relative;width:100%;background-size:contain;background-repeat:no-repeat;background-position:center center;display:inline-block; -webkit-backface-visibility: hidden }
2
.flowplayer *{font-weight:inherit;font-family:inherit;font-style:inherit;text-decoration:inherit;font-size:100%;padding:0;border:0;margin:0;list-style-type:none}
3
.flowplayer a:focus{outline:0}
4
- .flowplayer video{width:100%}
5
.flowplayer.is-ipad video{-webkit-transform:translateX(-2048px);}
6
.is-ready.flowplayer.is-ipad video{-webkit-transform:translateX(0)}
7
.flowplayer .fp-engine,.flowplayer .fp-ui,.flowplayer .fp-message{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:1}
8
- .flowplayer .fp-message{display:none;text-align:center;cursor:default;}
9
.flowplayer .fp-message h2{font-size:120%;margin-bottom:1em}
10
.flowplayer .fp-message p{color:#666;font-size:95%}
11
.flowplayer .fp-controls{position:absolute;bottom:0;width:100%;}
@@ -14,7 +14,7 @@
14
.is-mouseover.flowplayer .fp-controls{bottom:0}
15
.flowplayer .fp-waiting{/*display:none;*/margin:19% auto;text-align:center; height: 0; }
16
.flowplayer .fp-waiting *{-webkit-box-shadow:0 0 5px #333;-moz-box-shadow:0 0 5px #333;box-shadow:0 0 5px #333}
17
- .flowplayer .fp-waiting em{width:0em;height:0em;-webkit-border-radius:1em;-moz-border-radius:1em;border-radius:1em;background-color:rgba(255,255,255,0.8);display:inline-block; -webkit-animation:pulse .6s infinite;-moz-animation:pulse .6s infinite;animation:pulse .6s infinite;margin:.3em;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);}
18
.flowplayer .fp-waiting em:nth-child(1){-webkit-animation-delay:.3s;-moz-animation-delay:.3s;animation-delay:.3s}
19
.flowplayer .fp-waiting em:nth-child(2){-webkit-animation-delay:.45s;-moz-animation-delay:.45s;animation-delay:.45s}
20
.flowplayer .fp-waiting em:nth-child(3){-webkit-animation-delay:.6s;-moz-animation-delay:.6s;animation-delay:.6s}
@@ -39,24 +39,25 @@
39
.is-rtl.flowplayer .fp-fullscreen,.is-rtl.flowplayer .fp-unload,.is-rtl.flowplayer .fp-mute,.is-rtl.flowplayer .fp-embed,.is-rtl.flowplayer .fp-close,.is-rtl.flowplayer .fp-play{background-image:url(img/white_rtl.png)}
40
.color-light.flowplayer .fp-fullscreen,.color-light.flowplayer .fp-unload,.color-light.flowplayer .fp-mute,.color-light.flowplayer .fp-embed,.color-light.flowplayer .fp-close,.color-light.flowplayer .fp-play{background-image:url(img/black.png);}
41
.is-rtl.color-light.flowplayer .fp-fullscreen,.is-rtl.color-light.flowplayer .fp-unload,.is-rtl.color-light.flowplayer .fp-mute,.is-rtl.color-light.flowplayer .fp-embed,.is-rtl.color-light.flowplayer .fp-close,.is-rtl.color-light.flowplayer .fp-play{background-image:url(img/black_rtl.png)}
42
- @media (-webkit-min-device-pixel-ratio: 2){.color-light.flowplayer .fp-fullscreen,.color-light.flowplayer .fp-unload,.color-light.flowplayer .fp-mute,.color-light.flowplayer .fp-embed,.color-light.flowplayer .fp-close,.color-light.flowplayer .fp-play{background-image:url(img/black@x2.png)}
43
- .is-rtl.color-light.flowplayer .fp-fullscreen,.is-rtl.color-light.flowplayer .fp-unload,.is-rtl.color-light.flowplayer .fp-mute,.is-rtl.color-light.flowplayer .fp-embed,.is-rtl.color-light.flowplayer .fp-close,.is-rtl.color-light.flowplayer .fp-play{background-image:url(img/black_rtl@x2.png)}
44
- }@media (-webkit-min-device-pixel-ratio: 2){.flowplayer .fp-fullscreen,.flowplayer .fp-unload,.flowplayer .fp-mute,.flowplayer .fp-embed,.flowplayer .fp-close,.flowplayer .fp-play{background-image:url(img/white@x2.png)}
45
- .is-rtl.flowplayer .fp-fullscreen,.is-rtl.flowplayer .fp-unload,.is-rtl.flowplayer .fp-mute,.is-rtl.flowplayer .fp-embed,.is-rtl.flowplayer .fp-close,.is-rtl.flowplayer .fp-play{background-image:url(img/white_rtl@x2.png)}
46
- }.is-splash.flowplayer .fp-ui,.is-paused.flowplayer .fp-ui{background:url(img/play_white.png) center no-repeat;background-size:12%;}
47
.is-error.flowplayer .fp-ui{background:url(img/no_play_white.png) center no-repeat;background-size:12%;}
48
.is-rtl.is-splash.flowplayer .fp-ui,.is-rtl.is-paused.flowplayer .fp-ui{background:url(img/play_white_rtl.png) center no-repeat;background-size:12%}
49
- @media (-webkit-min-device-pixel-ratio: 2){.is-splash.flowplayer .fp-ui,.is-paused.flowplayer .fp-ui{background:url(img/play_white@x2.png) center no-repeat;background-size:12%}
50
- .is-error.flowplayer .fp-ui {background:url(img/no_play_white@x2.png) center no-repeat;background-size:12%}
51
- .is-rtl.is-splash.flowplayer .fp-ui,.is-rtl.is-paused.flowplayer .fp-ui{background:url(img/play_white_rtl@x2.png) center no-repeat;background-size:12%}
52
}.color-light.is-splash.flowplayer .fp-ui,.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black.png);}
53
.is-rtl.color-light.is-splash.flowplayer .fp-ui,.is-rtl.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black_rtl.png)}
54
- @media (-webkit-min-device-pixel-ratio: 2){.color-light.is-splash.flowplayer .fp-ui,.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black@x2.png);}
55
- .is-rtl.color-light.is-splash.flowplayer .fp-ui,.is-rtl.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black_rtl@x2.png)}
56
}.is-fullscreen.flowplayer .fp-ui{background-size:auto}
57
.is-seeking.flowplayer .fp-ui,.is-loading.flowplayer .fp-ui{background-image:none}
58
.flowplayer .fp-logo{position:absolute;top:auto;left:15px;bottom:30px;cursor:pointer;display:none;z-index:100;}
59
- .flowplayer .fp-logo img{width:100%; border-radius: 0; box-shadow: none;}
60
.is-embedded.flowplayer .fp-logo{display:block}
61
.fixed-controls.flowplayer .fp-logo{bottom:15px}
62
.flowplayer .fp-fullscreen,.flowplayer .fp-unload,.flowplayer .fp-close{position:absolute;top:5px;left:auto;right:5px;display:block;width:30px;height:21px;background-position:12px -197px;cursor:pointer;}
@@ -101,6 +102,7 @@
101
.is-rtl.play-button.no-time.flowplayer .fp-timeline,.is-rtl.play-button.aside-time.flowplayer .fp-timeline{margin-right:27px}
102
.flowplayer .fp-buffer,.flowplayer .fp-progress{position:absolute;top:0;left:auto;height:100%;cursor:col-resize}
103
.flowplayer .fp-buffer{-webkit-transition:width .25s linear;-moz-transition:width .25s linear;transition:width .25s linear}
104
.flowplayer.is-touch .fp-timeline{overflow:visible}
105
.flowplayer.is-touch .fp-progress{-webkit-transition:width .2s linear;-moz-transition:width .2s linear;transition:width .2s linear}
106
.flowplayer.is-touch .fp-timeline.is-dragging .fp-progress{-webkit-transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear;-moz-transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear;transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear}
@@ -149,18 +151,20 @@
149
.flowplayer.is-splash,.flowplayer.is-poster{cursor:pointer;}
150
.flowplayer.is-splash .fp-controls,.flowplayer.is-poster .fp-controls,.flowplayer.is-splash .fp-fullscreen,.flowplayer.is-poster .fp-fullscreen,.flowplayer.is-splash .fp-unload,.flowplayer.is-poster .fp-unload,.flowplayer.is-splash .fp-time,.flowplayer.is-poster .fp-time,.flowplayer.is-splash .fp-embed,.flowplayer.is-poster .fp-embed{display:none !important}
151
.flowplayer.is-poster .fp-engine{top:-9999em}
152
- .flowplayer.is-loading video.fp-engine{position:absolute;top:-9999em}
153
.flowplayer.is-loading .fp-waiting {height: 1em;}
154
.flowplayer.is-loading .fp-waiting em {width:1em;height:1em;}
155
.flowplayer.is-loading .fp-controls,.flowplayer.is-loading .fp-time{display:none}
156
.flowplayer.is-loading .fp-ui{background-position:-9999em}
157
.flowplayer.is-seeking .fp-waiting {height: 1em;}
158
.flowplayer.is-seeking .fp-waiting em {width:1em;height:1em;}
159
.flowplayer.is-fullscreen{position:fixed !important;top:0 !important;left:0 !important;border:0 !important;margin:0 !important;width:100% !important;height:100% !important;max-width:100% !important;max-height:100% !important;z-index:99999 !important;-webkit-box-shadow:0 !important;-moz-box-shadow:0 !important;box-shadow:0 !important;background-image:none !important;background-color:#000 !important;}
160
.is-rtl.flowplayer.is-fullscreen{left:auto !important;right:0 !important}
161
- .flowplayer.is-error {border:1px solid #909090;}
162
.flowplayer.is-error h2{font-weight:bold;font-size:large;margin-top:10%}
163
- .flowplayer.is-error .fp-message{display:block; background: rgba(255, 255, 255, 0.75) !important;}
164
.flowplayer.is-error object,.flowplayer.is-error video,.flowplayer.is-error .fp-controls,.flowplayer.is-error .fp-time,.flowplayer.is-error .fp-subtitle{display:none}
165
.flowplayer.is-ready.is-muted .fp-mute{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50)}
166
.flowplayer.is-mouseout .fp-controls{height:0;-webkit-transition:height .15s .3s;-moz-transition:height .15s .3s;transition:height .15s .3s}
@@ -175,6 +179,9 @@
175
.flowplayer.fixed-controls .fp-time em{bottom:-15px;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);}
176
.is-fullscreen.flowplayer.fixed-controls .fp-time em{bottom:5px}
177
.flowplayer.is-disabled .fp-progress{background-color:#999}
178
.flowplayer .fp-embed{position:absolute;top:5px;left:5px;display:block;width:25px;height:20px;background-position:3px -237px;}
179
.is-rtl.flowplayer .fp-embed{background-position:22px -237px;left:auto;right:5px}
180
@@ -226,23 +233,56 @@
226
.is-rtl.flowplayer .fvp-share-bar{left:auto;}
227
.flowplayer .fvp-share-bar textarea{width:400px;min-height:130px;font-family: "Lucida Console", Monaco, monospace; color:#777; white-space:nowrap; resize:none;overflow:hidden;border:0;outline:0;background-color:transparent;color:#ccc; border: 1px solid #888;}
228
.flowplayer.is-embedding .fp-embed,.flowplayer.is-embedding .fvp-share-bar{display:block;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
229
- .fvp-share-bar .fvp-sharing, #content .fvp-share-bar .fvp-sharing {
230
/*clear: both;
231
width: 102px;*/
232
min-height: 24px;
233
- margin: 7px auto;
234
- float:left;
235
- font-family:"Lucida Console", Monaco, monospace
236
}
237
.fvp-share-bar label {
238
- text-align: center;
239
}
240
-
241
.fvp-share-bar .fvp-sharing li {
242
float: left;
243
display: inline-block;
244
- margin: 0 5px;
245
- padding: 0;
246
}
247
248
.fvp-share-bar .fvp-sharing a {
@@ -278,7 +318,7 @@
278
#content .flowplayer .fvp-share-bar textarea, .flowplayer .fvp-share-bar textarea { padding: 3px; line-height: 1.4; white-space: pre-wrap; color: black !important; height: auto; min-height: 130px; width: 99%; font-size: 10px; background-color:rgba(255, 255, 255, 1); box-shadow: none; border-radius: 0; cursor: text; }
279
#content .flowplayer.is-ready .fvp-share-bar.visible .embed-code, .flowplayer.is-ready .fvp-share-bar.visible .embed-code { display: block; }
280
/*#content .flowplayer.is-ready .fp-embed-code.visible textarea, .flowplayer.is-ready .fp-embed-code.visible textarea { height: 140px; }*/
281
- a.embed-code-toggle { font-weight: bold; color: white; }
282
283
.flowplayer .fp-prev, .flowplayer .fp-next{/* next and prev buttons */position:absolute;top:44%;cursor:pointer;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;transition:opacity .5s;background:url("img/playlist-buttons.png");opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);height:20px;width:12px;}
284
.is-mouseover.is-ready.flowplayer .fp-prev,.is-mouseover.is-ready.flowplayer .fp-next{opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
@@ -348,8 +388,13 @@ a #add-format, a #add-rtmp {
348
349
.wpfp_custom_ad_content h1, .wpfp_custom_ad_content h2, .wpfp_custom_ad_content h3, .wpfp_custom_ad_content h4, .wpfp_custom_ad_content h5, .wpfp_custom_ad_content p { padding: 0 5px 2px 5px; margin: 0 5px 2px 5px; }
350
351
- .flowplayer.alignleft { margin-right: 10px; margin-bottom: 10px; }
352
- .flowplayer.alignright { margin-left: 10px; margin-bottom: 10px; }
353
354
/*
355
MediaElement.js
@@ -360,7 +405,28 @@ MediaElement.js
360
.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:solid 1px yellow;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}
361
362
.fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; /*color: #fff;*/ }
363
.fvfp_admin_error a { /*color: #fff;*/ text-decoration: underline; }
364
#content .fvfp_admin_error a { /*color: #fff;*/ text-decoration: underline; }
365
.fvfp_admin_error_content { /*background: #dd0000;*/ padding: 1% 5%; width: 65%; margin: 0 auto; -webkit-box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96); -moz-box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96); box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96);}
366
-
1
.flowplayer{position:relative;width:100%;background-size:contain;background-repeat:no-repeat;background-position:center center;display:inline-block; -webkit-backface-visibility: hidden }
2
.flowplayer *{font-weight:inherit;font-family:inherit;font-style:inherit;text-decoration:inherit;font-size:100%;padding:0;border:0;margin:0;list-style-type:none}
3
.flowplayer a:focus{outline:0}
4
+ .flowplayer video{width:100%; background: black;}
5
.flowplayer.is-ipad video{-webkit-transform:translateX(-2048px);}
6
.is-ready.flowplayer.is-ipad video{-webkit-transform:translateX(0)}
7
.flowplayer .fp-engine,.flowplayer .fp-ui,.flowplayer .fp-message{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:1}
8
+ .flowplayer .fp-message{display:none;text-align:center;padding-top:5%;cursor:default;}
9
.flowplayer .fp-message h2{font-size:120%;margin-bottom:1em}
10
.flowplayer .fp-message p{color:#666;font-size:95%}
11
.flowplayer .fp-controls{position:absolute;bottom:0;width:100%;}
14
.is-mouseover.flowplayer .fp-controls{bottom:0}
15
.flowplayer .fp-waiting{/*display:none;*/margin:19% auto;text-align:center; height: 0; }
16
.flowplayer .fp-waiting *{-webkit-box-shadow:0 0 5px #333;-moz-box-shadow:0 0 5px #333;box-shadow:0 0 5px #333}
17
+ .flowplayer .fp-waiting em{width:0em;height:0em;-webkit-border-radius:1em;-moz-border-radius:1em;border-radius:1em;background-color:rgba(255,255,255,0.8);display:inline-block;-webkit-animation:pulse .6s infinite;-moz-animation:pulse .6s infinite;animation:pulse .6s infinite;margin:.3em;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);}
18
.flowplayer .fp-waiting em:nth-child(1){-webkit-animation-delay:.3s;-moz-animation-delay:.3s;animation-delay:.3s}
19
.flowplayer .fp-waiting em:nth-child(2){-webkit-animation-delay:.45s;-moz-animation-delay:.45s;animation-delay:.45s}
20
.flowplayer .fp-waiting em:nth-child(3){-webkit-animation-delay:.6s;-moz-animation-delay:.6s;animation-delay:.6s}
39
.is-rtl.flowplayer .fp-fullscreen,.is-rtl.flowplayer .fp-unload,.is-rtl.flowplayer .fp-mute,.is-rtl.flowplayer .fp-embed,.is-rtl.flowplayer .fp-close,.is-rtl.flowplayer .fp-play{background-image:url(img/white_rtl.png)}
40
.color-light.flowplayer .fp-fullscreen,.color-light.flowplayer .fp-unload,.color-light.flowplayer .fp-mute,.color-light.flowplayer .fp-embed,.color-light.flowplayer .fp-close,.color-light.flowplayer .fp-play{background-image:url(img/black.png);}
41
.is-rtl.color-light.flowplayer .fp-fullscreen,.is-rtl.color-light.flowplayer .fp-unload,.is-rtl.color-light.flowplayer .fp-mute,.is-rtl.color-light.flowplayer .fp-embed,.is-rtl.color-light.flowplayer .fp-close,.is-rtl.color-light.flowplayer .fp-play{background-image:url(img/black_rtl.png)}
42
+ @media (-webkit-min-device-pixel-ratio: 2){.color-light.flowplayer .fp-fullscreen,.color-light.flowplayer .fp-unload,.color-light.flowplayer .fp-mute,.color-light.flowplayer .fp-embed,.color-light.flowplayer .fp-close,.color-light.flowplayer .fp-play{background-image:url(img/black-x2.png)}
43
+ .is-rtl.color-light.flowplayer .fp-fullscreen,.is-rtl.color-light.flowplayer .fp-unload,.is-rtl.color-light.flowplayer .fp-mute,.is-rtl.color-light.flowplayer .fp-embed,.is-rtl.color-light.flowplayer .fp-close,.is-rtl.color-light.flowplayer .fp-play{background-image:url(img/black_rtl-x2.png)}
44
+ }@media (-webkit-min-device-pixel-ratio: 2){.flowplayer .fp-fullscreen,.flowplayer .fp-unload,.flowplayer .fp-mute,.flowplayer .fp-embed,.flowplayer .fp-close,.flowplayer .fp-play{background-image:url(img/white-x2.png)}
45
+ .is-rtl.flowplayer .fp-fullscreen,.is-rtl.flowplayer .fp-unload,.is-rtl.flowplayer .fp-mute,.is-rtl.flowplayer .fp-embed,.is-rtl.flowplayer .fp-close,.is-rtl.flowplayer .fp-play{background-image:url(img/white_rtl-x2.png)}
46
+ }.flowplayer .fp-flash-disabled{background:#333;width:390px;margin:0 auto;position:absolute;bottom:0;color:#fff}
47
+ .is-splash.flowplayer .fp-ui,.is-paused.flowplayer .fp-ui{background:url(img/play_white.png) center no-repeat;background-size:12%;}
48
.is-error.flowplayer .fp-ui{background:url(img/no_play_white.png) center no-repeat;background-size:12%;}
49
.is-rtl.is-splash.flowplayer .fp-ui,.is-rtl.is-paused.flowplayer .fp-ui{background:url(img/play_white_rtl.png) center no-repeat;background-size:12%}
50
+ @media (-webkit-min-device-pixel-ratio: 2){.is-splash.flowplayer .fp-ui,.is-paused.flowplayer .fp-ui{background:url(img/play_white-x2.png) center no-repeat;background-size:12%}
51
+ .is-error.flowplayer .fp-ui {background:url(img/no_play_white-x2.png) center no-repeat;background-size:12%}
52
+ .is-rtl.is-splash.flowplayer .fp-ui,.is-rtl.is-paused.flowplayer .fp-ui{background:url(img/play_white_rtl-x2.png) center no-repeat;background-size:12%}
53
}.color-light.is-splash.flowplayer .fp-ui,.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black.png);}
54
.is-rtl.color-light.is-splash.flowplayer .fp-ui,.is-rtl.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black_rtl.png)}
55
+ @media (-webkit-min-device-pixel-ratio: 2){.color-light.is-splash.flowplayer .fp-ui,.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black-x2.png);}
56
+ .is-rtl.color-light.is-splash.flowplayer .fp-ui,.is-rtl.color-light.is-paused.flowplayer .fp-ui{background-image:url(img/play_black_rtl-x2.png)}
57
}.is-fullscreen.flowplayer .fp-ui{background-size:auto}
58
.is-seeking.flowplayer .fp-ui,.is-loading.flowplayer .fp-ui{background-image:none}
59
.flowplayer .fp-logo{position:absolute;top:auto;left:15px;bottom:30px;cursor:pointer;display:none;z-index:100;}
60
+ .flowplayer .fp-logo img{width:100%; border-radius: 0; box-shadow: none; border: 0; background: transparent; }
61
.is-embedded.flowplayer .fp-logo{display:block}
62
.fixed-controls.flowplayer .fp-logo{bottom:15px}
63
.flowplayer .fp-fullscreen,.flowplayer .fp-unload,.flowplayer .fp-close{position:absolute;top:5px;left:auto;right:5px;display:block;width:30px;height:21px;background-position:12px -197px;cursor:pointer;}
102
.is-rtl.play-button.no-time.flowplayer .fp-timeline,.is-rtl.play-button.aside-time.flowplayer .fp-timeline{margin-right:27px}
103
.flowplayer .fp-buffer,.flowplayer .fp-progress{position:absolute;top:0;left:auto;height:100%;cursor:col-resize}
104
.flowplayer .fp-buffer{-webkit-transition:width .25s linear;-moz-transition:width .25s linear;transition:width .25s linear}
105
+ .flowplayer .fp-timeline.no-animation .fp-buffer{-webkit-transition:none;-moz-transition:none;transition:none}
106
.flowplayer.is-touch .fp-timeline{overflow:visible}
107
.flowplayer.is-touch .fp-progress{-webkit-transition:width .2s linear;-moz-transition:width .2s linear;transition:width .2s linear}
108
.flowplayer.is-touch .fp-timeline.is-dragging .fp-progress{-webkit-transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear;-moz-transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear;transition:right .1s linear,border .1s linear,top .1s linear,left .1s linear}
151
.flowplayer.is-splash,.flowplayer.is-poster{cursor:pointer;}
152
.flowplayer.is-splash .fp-controls,.flowplayer.is-poster .fp-controls,.flowplayer.is-splash .fp-fullscreen,.flowplayer.is-poster .fp-fullscreen,.flowplayer.is-splash .fp-unload,.flowplayer.is-poster .fp-unload,.flowplayer.is-splash .fp-time,.flowplayer.is-poster .fp-time,.flowplayer.is-splash .fp-embed,.flowplayer.is-poster .fp-embed{display:none !important}
153
.flowplayer.is-poster .fp-engine{top:-9999em}
154
.flowplayer.is-loading .fp-waiting {height: 1em;}
155
.flowplayer.is-loading .fp-waiting em {width:1em;height:1em;}
156
.flowplayer.is-loading .fp-controls,.flowplayer.is-loading .fp-time{display:none}
157
.flowplayer.is-loading .fp-ui{background-position:-9999em}
158
+ .flowplayer.is-loading video.fp-engine{position:absolute;top:-9999em}
159
.flowplayer.is-seeking .fp-waiting {height: 1em;}
160
.flowplayer.is-seeking .fp-waiting em {width:1em;height:1em;}
161
+ .flowplayer.is-playing{background-image:none !important;background-color:#333;}
162
+ .flowplayer.is-playing.hls-fix.is-finished .fp-engine{position:absolute;top:-9999em}
163
.flowplayer.is-fullscreen{position:fixed !important;top:0 !important;left:0 !important;border:0 !important;margin:0 !important;width:100% !important;height:100% !important;max-width:100% !important;max-height:100% !important;z-index:99999 !important;-webkit-box-shadow:0 !important;-moz-box-shadow:0 !important;box-shadow:0 !important;background-image:none !important;background-color:#000 !important;}
164
.is-rtl.flowplayer.is-fullscreen{left:auto !important;right:0 !important}
165
+ .flowplayer.is-error{border:1px solid #909090;background:#fdfdfd !important;}
166
.flowplayer.is-error h2{font-weight:bold;font-size:large;margin-top:10%}
167
+ .flowplayer.is-error .fp-message{display:block}
168
.flowplayer.is-error object,.flowplayer.is-error video,.flowplayer.is-error .fp-controls,.flowplayer.is-error .fp-time,.flowplayer.is-error .fp-subtitle{display:none}
169
.flowplayer.is-ready.is-muted .fp-mute{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=50)}
170
.flowplayer.is-mouseout .fp-controls{height:0;-webkit-transition:height .15s .3s;-moz-transition:height .15s .3s;transition:height .15s .3s}
179
.flowplayer.fixed-controls .fp-time em{bottom:-15px;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);}
180
.is-fullscreen.flowplayer.fixed-controls .fp-time em{bottom:5px}
181
.flowplayer.is-disabled .fp-progress{background-color:#999}
182
+ .flowplayer.is-flash-disabled{background-color:#333;}
183
+ .flowplayer.is-flash-disabled object.fp-engine{z-index:100}
184
+ .flowplayer.is-flash-disabled .fp-flash-disabled{display:block;z-index:101}
185
.flowplayer .fp-embed{position:absolute;top:5px;left:5px;display:block;width:25px;height:20px;background-position:3px -237px;}
186
.is-rtl.flowplayer .fp-embed{background-position:22px -237px;left:auto;right:5px}
187
233
.is-rtl.flowplayer .fvp-share-bar{left:auto;}
234
.flowplayer .fvp-share-bar textarea{width:400px;min-height:130px;font-family: "Lucida Console", Monaco, monospace; color:#777; white-space:nowrap; resize:none;overflow:hidden;border:0;outline:0;background-color:transparent;color:#ccc; border: 1px solid #888;}
235
.flowplayer.is-embedding .fp-embed,.flowplayer.is-embedding .fvp-share-bar{display:block;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
236
+
237
+ /* style reset first */
238
+ .flowplayer .fvp-sharing ul {
239
+ list-style: none !important;
240
+ }
241
+ .fvp-share-bar ul,
242
+ .fvp-share-bar .fvp-sharing,
243
+ #content .fvp-share-bar .fvp-sharing {
244
/*clear: both;
245
width: 102px;*/
246
min-height: 24px;
247
+ margin: 7px auto !important;
248
+ padding: 0 !important;
249
+ float: left;
250
+ font-family: "Lucida Console", Monaco, monospace;
251
+ }
252
+ .fvp-share-bar {
253
+ line-height: 24px !important;
254
}
255
.fvp-share-bar label {
256
+ text-align: center !important;
257
+ }
258
+ .fvp-share-bar .fvp-sharing li a:before,
259
+ .fvp-share-bar .fvp-sharing li a:after,
260
+ .fvp-share-bar .fvp-sharing li:before,
261
+ .fvp-share-bar .fvp-sharing li:after {
262
+ content: "" !important;
263
+ display: none !important;
264
}
265
.fvp-share-bar .fvp-sharing li {
266
float: left;
267
display: inline-block;
268
+ margin: 0 5px !important;
269
+ padding: 0 !important;
270
+ border: none !important;
271
+ background: none !important;
272
+ }
273
+ #content .flowplayer a,
274
+ .flowplayer a,
275
+ .flowplayer a:hover,
276
+ .fvp-share-bar .fvp-sharing a {
277
+ color: #fff !important;
278
+ text-shadow: none !important;
279
+ -webkit-transition: none !important;
280
+ -moz-transition: none !important;
281
+ transition: none !important;
282
+ }
283
+
284
+ .flowplayer em {
285
+ font-style: normal !important;
286
}
287
288
.fvp-share-bar .fvp-sharing a {
318
#content .flowplayer .fvp-share-bar textarea, .flowplayer .fvp-share-bar textarea { padding: 3px; line-height: 1.4; white-space: pre-wrap; color: black !important; height: auto; min-height: 130px; width: 99%; font-size: 10px; background-color:rgba(255, 255, 255, 1); box-shadow: none; border-radius: 0; cursor: text; }
319
#content .flowplayer.is-ready .fvp-share-bar.visible .embed-code, .flowplayer.is-ready .fvp-share-bar.visible .embed-code { display: block; }
320
/*#content .flowplayer.is-ready .fp-embed-code.visible textarea, .flowplayer.is-ready .fp-embed-code.visible textarea { height: 140px; }*/
321
+ .fvp-share-bar a.embed-code-toggle { font-weight: bold; color: white; }
322
323
.flowplayer .fp-prev, .flowplayer .fp-next{/* next and prev buttons */position:absolute;top:44%;cursor:pointer;-webkit-transition:opacity .5s;-moz-transition:opacity .5s;transition:opacity .5s;background:url("img/playlist-buttons.png");opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);height:20px;width:12px;}
324
.is-mouseover.is-ready.flowplayer .fp-prev,.is-mouseover.is-ready.flowplayer .fp-next{opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100)}
388
389
.wpfp_custom_ad_content h1, .wpfp_custom_ad_content h2, .wpfp_custom_ad_content h3, .wpfp_custom_ad_content h4, .wpfp_custom_ad_content h5, .wpfp_custom_ad_content p { padding: 0 5px 2px 5px; margin: 0 5px 2px 5px; }
390
391
+ .flowplayer.alignleft { margin-left: 10px; margin-bottom: 10px; }
392
+ .flowplayer.alignright { margin-right: 10px; margin-bottom: 10px; }
393
+
394
+ .flowplayer.no-controlbar .fp-controls{display:none}
395
+ .flowplayer.no-controlbar .fp-time{display:none}
396
+
397
+ p.fp-caption { text-align: center; }
398
399
/*
400
MediaElement.js
405
.mejs-controls .mejs-button button{cursor:pointer;display:block;font-size:0;line-height:0;text-decoration:none;margin:7px 5px;padding:0;position:absolute;height:16px;width:16px;border:0;background:transparent url(controls.svg) no-repeat;}.no-svg .mejs-controls .mejs-button button{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:solid 1px yellow;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{color:#fff;font-size:11px;line-height:12px;display:block;float:left;margin:1px 2px 0 0;width:auto;}.mejs-controls .mejs-play button{background-position:0 0;}.mejs-controls .mejs-pause button{background-position:0 -16px;}.mejs-controls .mejs-stop button{background-position:-112px 0;}.mejs-controls div.mejs-time-rail{width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float{width:48px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current{width:44px;}.mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner{left:18px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mejs-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;background:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .mejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapters .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;padding:4px;z-index:100;cursor:pointer;}
406
407
.fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; /*color: #fff;*/ }
408
+
409
+ @-moz-keyframes fade-in {
410
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
411
+ to { opacity: 1; filter: alpha(opacity=100); }
412
+ }
413
+ @-webkit-keyframes fade-in {
414
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
415
+ to { opacity: 1; filter: alpha(opacity=100); }
416
+ }
417
+ @keyframes fade-in {
418
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
419
+ to { opacity: 1; filter: alpha(opacity=100); }
420
+ }
421
+ .fvfp_admin_error { -webkit-animation-name: fade-in; -moz-animation-name: fade-in; -o-animation-name: fade-in; animation-name: fade-in; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -o-animation-duration: 1s; animation-duration: 1s; -webkit-animation-delay: 5s; -moz-animation-delay: 5s;-o-animation-delay: 5s; animation-delay: 5s; -webkit-animation-fill-mode:both; -moz-animation-fill-mode:both; -o-animation-fill-mode:both; animation-fill-mode:both; }
422
+
423
+ article .entry-content .fvfp_admin_error p { line-height: 18px; }
424
.fvfp_admin_error a { /*color: #fff;*/ text-decoration: underline; }
425
#content .fvfp_admin_error a { /*color: #fff;*/ text-decoration: underline; }
426
.fvfp_admin_error_content { /*background: #dd0000;*/ padding: 1% 5%; width: 65%; margin: 0 auto; -webkit-box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96); -moz-box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96); box-shadow: 3px 3px 30px 0px rgba(50, 50, 50, 0.96);}
427
+ .flowplayer:hover .fvfp_admin_error { display: block }
428
+
429
+ .fvfp_duration { position: absolute; bottom: 0px; right: 1%; z-index: 2; text-align: center; color: #fff; display: none; }
430
+ .is-ready .fvfp_duration, .is-loading .fvfp_duration { display: none; }
431
+ .fp-playlist-external .dur { margin-left: 10px; display: none; }
432
+
css/img/black-x2.png ADDED
Binary file
css/img/black_rtl-x2.png ADDED
Binary file
css/img/flowplayer-2x.png ADDED
Binary file
css/img/flowplayer@2x.png ADDED
Binary file
css/img/no_play_white-x2.png ADDED
Binary file
css/img/play_black-x2.png ADDED
Binary file
css/img/play_black_rtl-x2.png ADDED
Binary file
css/img/play_white-x2.png ADDED
Binary file
css/img/play_white_rtl-x2.png ADDED
Binary file
css/img/playful_black-x2.png ADDED
Binary file
css/img/playful_black_rtl-x2.png ADDED
Binary file
css/img/playful_white-x2.png ADDED
Binary file
css/img/playful_white_rtl-x2.png ADDED
Binary file
css/img/white-x2.png ADDED
Binary file
css/img/white_rtl-x2.png ADDED
Binary file
css/license.css CHANGED
@@ -68,3 +68,28 @@ a.red-button {
68
padding-left: 30px; */
69
margin-bottom: 2px;
70
}
68
padding-left: 30px; */
69
margin-bottom: 2px;
70
}
71
+
72
+
73
+
74
+ #wpbody-content #wpfp_options #postbox-container-1 { width: 100% }
75
+ #wpfp_options .postbox h3 { cursor: default; }
76
+
77
+ #wpfp_options table { width: 100% }
78
+ #wpfp_options table td.first { width: 250px }
79
+ #wpfp_options #fv_flowplayer_integrations table td.first { width: 350px }
80
+ #wpfp_options table.flowplayer-settings { width: 46%; }
81
+
82
+ div.clear { clear: both }
83
+ div.column { float: left; width: 49% }
84
+ div.green { background-color: #e0ffe0; border-color: #88AA88; }
85
+ .amazon-s3-first .fv_fp_amazon_remove { display: none; }
86
+ .form-table2 td p { line-height: 20px; }
87
+ input[type=text] { width: 100%; }
88
+ #wpfp_options input.button-primary, #wpfp_options input.button { margin-top: 16px }
89
+ #wpfp_options input.button.no-margin { margin-top: 0px }
90
+ input.small { width: 80px }
91
+ td.second-column { margin-left: 20px }
92
+
93
+ span.new { color: #e00; font-weight: bold }
94
+
95
+ #fv_flowplayer_amazon_options label { float: right }
flowplayer.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: FV Wordpress Flowplayer
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Embed videos (MP4, WEBM, OGV, FLV) into posts or pages. Uses Flowplayer 5.
6
- Version: 2.2.9
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -24,27 +24,30 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.txt
24
25
You should have received a copy of the GNU General Public License
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
- */
28
29
- include( dirname( __FILE__ ) . '/includes/extra-functions.php' );
30
31
- if( is_admin() ) {
32
- /**
33
- * If administrator is logged, loads the controller for backend.
34
- */
35
36
include( dirname( __FILE__ ) . '/controller/backend.php' );
37
38
register_deactivation_hook( __FILE__, 'flowplayer_deactivate' );
39
40
- } else {
41
- /**
42
- * If administrator is not logged, loads the controller for frontend.
43
- */
44
- include( dirname( __FILE__ ) . '/controller/frontend.php' );
45
- require_once( dirname( __FILE__ ) . '/controller/shortcodes.php');
46
- }
47
-
48
49
- $fv_wp_flowplayer_ver = '2.2.9';
50
- $fv_wp_flowplayer_core_ver = '5.4.6';
3
Plugin Name: FV Wordpress Flowplayer
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Embed videos (MP4, WEBM, OGV, FLV) into posts or pages. Uses Flowplayer 5.
6
+ Version: 2.3.12
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
24
25
You should have received a copy of the GNU General Public License
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
+ */
28
29
+ $fv_wp_flowplayer_ver = '2.3.12';
30
+ $fv_wp_flowplayer_core_ver = '5.5.2';
31
32
+ include( dirname( __FILE__ ) . '/includes/extra-functions.php' );
33
+ if( file_exists( dirname( __FILE__ ) . '/includes/module.php' ) ) {
34
+ include( dirname( __FILE__ ) . '/includes/module.php' );
35
+ }
36
+
37
+ include( dirname( __FILE__ ) . '/models/checker.php' );
38
+ $FV_Player_Checker = new FV_Player_Checker();
39
40
+ include_once(dirname( __FILE__ ) . '/models/flowplayer.php');
41
+ include_once(dirname( __FILE__ ) . '/models/flowplayer-frontend.php');
42
+ $fv_fp = new flowplayer_frontend();
43
+
44
+ if( is_admin() ) {
45
include( dirname( __FILE__ ) . '/controller/backend.php' );
46
47
register_deactivation_hook( __FILE__, 'flowplayer_deactivate' );
48
49
+ }
50
+
51
+ include( dirname( __FILE__ ) . '/controller/frontend.php' );
52
+ require_once( dirname( __FILE__ ) . '/controller/shortcodes.php');
53
flowplayer/embed.min.js CHANGED
@@ -1,3 +1,3 @@
1
/*
2
- Flowplayer Embed 5.4.6 | flowplayer.org
3
- */!function(){function c(e,t,n){if(e)return n(e);if(window.fp5ecc[t])return window.fp5ecc[t].push(n);window.fp5ecc[t]=[n];var r=document.createElement("script");r.onload=r.onreadystatechange=function(){var e=r.readyState;if(e===undefined||/complete|loaded/.test(e)){var n=window.fp5ecc[t];for(var i=0;i<n.length;i++)n[i]()}},r.async=!0,r.src=t,i.insertBefore(r,i.firstChild)}function h(e){if(window.fp5ecssc[e])return;window.fp5ecssc[e]=!0;var t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,i.insertBefore(t,i.firstChild)}var e,t=document.getElementsByTagName("script"),n=document.createElement("div");for(var r=0;r<t.length;r++)if(t[r].innerHTML.indexOf("<video")!==-1){e=t[r],e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e);break}var i=document.getElementsByTagName("head")[0],s="//foliovision.com/flowplayer/5.4.6",o=e.getAttribute("data-library")||s+"/flowplayer.min.js",u=e.getAttribute("data-swf")||s+"/flowplayer.swf",a=e.getAttribute("data-skin")||s+"/flowplayer.css",f="//www.google-analytics.com/ga.js",l="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";window.fp5ecc=window.fp5ecc||{},window.fp5ecssc=window.fp5ecssc||{};var p=typeof jQuery!="undefined"?jQuery().jquery:"",d=p.split("."),v=typeof $!="undefined"&&jQuery!=$;c(Number(d[0])>=1&&Number(d[1])>=7,l,function(t){var r;!t&&v&&(r=jQuery.noConflict());var i=!t&&p!=="";c(typeof _gat!="undefined",f,function(){c(typeof flowplayer!="undefined",o,function(t){t||h(a),r=r||jQuery;var s=r(e),f=s.attr("src"),l=r(s.html().replace(/^[ \t\n\r]+/gm,"").replace(/[ \n\t\r]+#x2F;gm,""));r(n).replaceWith(l),l.find(":not(video, source)").remove(),l.flowplayer({swf:u,e:1}),l.data("flowplayer").conf.embed={library:o,swf:u,script:f},i&&r.noConflict(!0)})})})}();
1
/*
2
+ Flowplayer Embed 5.5.2 | flowplayer.org
3
+ */!function(){function c(e,t,n){if(e)return n(e);if(window.fp5ecc[t])return window.fp5ecc[t].push(n);window.fp5ecc[t]=[n];var r=document.createElement("script");r.onload=r.onreadystatechange=function(){var e=r.readyState;if(e===undefined||/complete|loaded/.test(e)){var n=window.fp5ecc[t];for(var i=0;i<n.length;i++)n[i]()}},r.async=!0,r.src=t,i.insertBefore(r,i.firstChild)}function h(e){if(window.fp5ecssc[e])return;window.fp5ecssc[e]=!0;var t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,i.insertBefore(t,i.firstChild)}var e,t=document.getElementsByTagName("script"),n=document.createElement("div");for(var r=0;r<t.length;r++)if(t[r].innerHTML.indexOf("<video")!==-1){e=t[r],e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e);break}var i=document.getElementsByTagName("head")[0],s="//foliovision.com/5.5.2/commercial",o=e.getAttribute("data-library")||s+"/flowplayer.min.js",u=e.getAttribute("data-swf")||s+"/flowplayer.swf",a=e.getAttribute("data-skin")||s+"/flowplayer.css",f="//www.google-analytics.com/ga.js",l="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";window.fp5ecc=window.fp5ecc||{},window.fp5ecssc=window.fp5ecssc||{};var p=typeof jQuery!="undefined"?jQuery().jquery:"",d=p.split("."),v=typeof $!="undefined"&&jQuery!=$;c(Number(d[0])>=1&&Number(d[1])>=7,l,function(t){var r;!t&&v&&(r=jQuery.noConflict());var i=!t&&p!=="";c(typeof _gat!="undefined",f,function(){c(typeof flowplayer!="undefined",o,function(t){t||h(a),r=r||jQuery;var s=r(e),f=s.attr("src"),l=r(s.html().replace(/^[ \t\n\r]+/gm,"").replace(/[ \n\t\r]+#x2F;gm,""));r(n).replaceWith(l),l.find(":not(video, source)").remove(),l.flowplayer({swf:u,e:1}),l.data("flowplayer").conf.embed={library:o,swf:u,script:f},i&&r.noConflict(!0)})})})}();
flowplayer/flowplayer.swf CHANGED
Binary file
flowplayer/fv-flowplayer.min.js CHANGED
@@ -1,15 +1,19 @@
1
/*!
2
3
- Flowplayer Unlimited v5.4.6 (2013-12-17) | flowplayer.org/license
4
5
- */!function(e){function u(t,n){var r="obj"+(""+Math.random()).slice(2,15),i='<object class="fp-engine" id="'+r+'" name="'+r+'" ';i+=e.browser.msie?'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">':' data="'+t+'" type="application/x-shockwave-flash">';var s={width:"100%",height:"100%",allowscriptaccess:"always",wmode:"transparent",quality:"high",flashvars:"",movie:t+(e.browser.msie?"?"+r:""),name:r};return e.each(n,function(e,t){s.flashvars+=e+"="+t+"&"}),e.each(s,function(e,t){i+='<param name="'+e+'" value="'+t+'"/>'}),i+="</object>",e(i)}function l(e,t){return t=t||100,Math.round(e*t)/t}function c(e){return/mpegurl/i.test(e)?"application/x-mpegurl":"video/"+e}function h(e){return/^(video|application)/.test(e)||(e=c(e)),!!a.canPlayType(e).replace("no","")}function p(t,n){var r=e.grep(t,function(e){return e.type===n});return r.length?r[0]:null}function g(e){var t=e.attr("src"),n=e.attr("type")||"",r=t.split(m)[1];return n=/mpegurl/.test(n)?"mpegurl":n.replace("video/",""),{src:t,suffix:r||n,type:n||r}}function y(t){var n=this,r=[];e("source",t).each(function(){r.push(g(e(this)))}),r.length||r.push(g(t)),n.initialSources=r,n.resolve=function(t){return t?(e.isArray(t)?t={sources:e.map(t,function(t){var n,r=e.extend({},t);return e.each(t,function(e,t){n=e}),r.type=n,r.src=t[n],delete r[n],r})}:typeof t=="string"&&(t={src:t,sources:[]},e.each(r,function(e,n){n.type!="flash"&&t.sources.push({type:n.type,src:t.src.replace(m,"."+n.suffix+"$2")})})),t):{sources:r}}}function b(e){return e=parseInt(e,10),e>=10?e:"0"+e}function w(e){e=e||0;var t=Math.floor(e/3600),n=Math.floor(e/60);return e-=n*60,t>=1?(n-=t*60,t+":"+b(n)+":"+b(e)):b(n)+":"+b(e)}!function(e){if(!e.browser){var t=e.browser={},n=navigator.userAgent.toLowerCase(),r=/(chrome)[ \/]([\w.]+)/.exec(n)||/(safari)[ \/]([\w.]+)/.exec(n)||/(webkit)[ \/]([\w.]+)/.exec(n)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(n)||/(msie) ([\w.]+)/.exec(n)||n.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(n)||[];r[1]&&(t[r[1]]=!0,t.version=r[2]||"0")}}(jQuery),e(function(){typeof e.fn.flowplayer=="function"&&e("video").parent(".flowplayer").flowplayer()});var t=[],n=[],r=window.navigator.userAgent;window.flowplayer=function(r){return e.isFunction(r)?n.push(r):typeof r=="number"||r===undefined?t[r||0]:e(r).data("flowplayer")},e(window).on("beforeunload",function(){e.each(t,function(t,n){n.conf.splash?n.unload():n.bind("error",function(){e(".flowplayer.is-error .fp-message").remove()})})});var i=!1;try{typeof window.localStorage=="object"&&(window.localStorage.flowplayerTestStorage="test",i=!0)}catch(s){}e.extend(flowplayer,{version:"5.4.6",engine:{},conf:{},support:{},defaults:{debug:!1,disabled:!1,engine:"html5",fullscreen:window==window.top,keyboard:!0,ratio:9/16,adaptiveRatio:!1,flashfit:!1,rtmp:0,splash:!1,live:!1,swf:"//releases.flowplayer.org/5.4.6/commercial/flowplayer.swf",speeds:[.25,.5,1,1.5,2],tooltip:!0,volume:i?localStorage.muted=="true"?0:isNaN(localStorage.volume)?1:localStorage.volume||1:1,errors:["","Video loading aborted","Network error","Video not properly encoded","Video file not found","Unsupported video","Skin not found","SWF file not found","Subtitles not found","Invalid RTMP URL","Unsupported video format. Try installing Adobe Flash."],errorUrls:["","","","","","","","","","","http://get.adobe.com/flashplayer/"],playlist:[]}});var o=1;e.fn.flowplayer=function(r,i){return typeof r=="string"&&(r={swf:r}),e.isFunction(r)&&(i=r,r={}),!r&&this.data("flowplayer")||this.each(function(){var s=e(this).addClass("is-loading"),u=e.extend({},flowplayer.defaults,flowplayer.conf,r,s.data()),a=e("video",s).addClass("fp-engine").removeAttr("controls"),f=a.length?new y(a):null,l={},c,h;if(u.playlist.length){var p=a.attr("preload"),d;a.length&&a.replaceWith(d=e("<p />")),a=e("<video />").addClass("fp-engine"),d?d.replaceWith(a):s.prepend(a),flowplayer.support.video&&a.attr("preload",p),typeof u.playlist[0]=="string"?a.attr("src",u.playlist[0]):e.each(u.playlist[0],function(t,n){for(var r in n)n.hasOwnProperty(r)&&a.append(e("<source />").attr({type:"video/"+r,src:n[r]}))}),f=new y(a)}var v=s.data("flowplayer");v&&v.unload(),s.data("fp-player_id",s.data("fp-player_id")||o++);try{l=window.localStorage||l}catch(m){}var g=this.currentStyle&&this.currentStyle.direction==="rtl"||window.getComputedStyle&&window.getComputedStyle(this,null).getPropertyValue("direction")==="rtl";g&&s.addClass("is-rtl");var b=v||{conf:u,currentSpeed:1,volumeLevel:typeof u.volume=="undefined"?l.volume*1:u.volume,video:{},disabled:!1,finished:!1,loading:!1,muted:l.muted=="true"||u.muted,paused:!1,playing:!1,ready:!1,splash:!1,rtl:g,load:function(t,n){if(b.error||b.loading||b.disabled)return;t=f.resolve(t),e.extend(t,h.pick(t.sources));if(t.src){var r=e.Event("load");s.trigger(r,[b,t,h]),r.isDefaultPrevented()?b.loading=!1:(h.load(t),e.isFunction(t)&&(n=t),n&&s.one("ready",n))}return b},pause:function(e){return b.ready&&!b.seeking&&!b.disabled&&!b.loading&&(h.pause(),b.one("pause",e)),b},resume:function(){return b.ready&&b.paused&&!b.disabled&&(h.resume(),b.finished&&(b.trigger("resume",[b]),b.finished=!1)),b},toggle:function(){return b.ready?b.paused?b.resume():b.pause():b.load()},seek:function(t,n){if(b.ready){if(typeof t=="boolean"){var r=b.video.duration*.1;t=b.video.time+(t?r:-r)}t=c=Math.min(Math.max(t,0),b.video.duration).toFixed(1);var i=e.Event("beforeseek");s.trigger(i,[b,t]),i.isDefaultPrevented()?(b.seeking=!1,s.toggleClass("is-seeking",b.seeking)):(h.seek(t),e.isFunction(n)&&s.one("seek",n))}return b},seekTo:function(e,t){var n=e===undefined?c:b.video.duration*.1*e;return b.seek(n,t)},mute:function(e){return e===undefined&&(e=!b.muted),l.muted=b.muted=e,l.volume=isNaN(l.volume)?u.volume:l.volume,b.volume(e?0:l.volume,!0),b.trigger("mute",e),b},volume:function(e,t){return b.ready&&(e=Math.min(Math.max(e,0),1),t||(l.volume=e),h.volume(e)),b},speed:function(t,n){return b.ready&&(typeof t=="boolean"&&(t=u.speeds[e.inArray(b.currentSpeed,u.speeds)+(t?1:-1)]||b.currentSpeed),h.speed(t),n&&s.one("speed",n)),b},stop:function(){return b.ready&&(b.pause(),b.seek(0,function(){s.trigger("stop")})),b},unload:function(){return s.hasClass("is-embedding")||(u.splash?(b.trigger("unload"),h.unload()):b.stop()),b},disable:function(e){return e===undefined&&(e=!b.disabled),e!=b.disabled&&(b.disabled=e,b.trigger("disable",e)),b}};b.conf=e.extend(b.conf,u),e.each(["bind","one","unbind"],function(e,t){b[t]=function(e,n){return s[t](e,n),b}}),b.trigger=function(e,t){return s.trigger(e,[b,t]),b},s.data("flowplayer")||s.bind("boot",function(){e.each(["autoplay","loop","preload","poster"],function(e,t){var n=a.attr(t);n!==undefined&&(u[t]=n?n:!0)});if(u.splash||s.hasClass("is-splash")||!flowplayer.support.firstframe)b.forcedSplash=!u.splash&&!s.hasClass("is-splash"),b.splash=u.splash=u.autoplay=!0,s.addClass("is-splash"),flowplayer.support.video&&a.attr("preload","none");if(u.live||s.hasClass("is-live"))b.live=u.live=!0,s.addClass("is-live");e.each(n,function(e){this(b,s)}),h=flowplayer.engine[u.engine],h&&(h=h(b,s)),h.pick(f.initialSources)?b.engine=u.engine:e.each(flowplayer.engine,function(e,t){if(e!=u.engine)return h=this(b,s),h.pick(f.initialSources)&&(b.engine=e),!1}),t.push(b);if(!b.engine)return b.trigger("error",{code:flowplayer.support.flashVideo?5:10});u.splash?b.unload():b.load(),u.disabled&&b.disable(),h.volume(b.volumeLevel),s.one("ready",i)}).bind("load",function(t,n,r){u.splash&&e(".flowplayer").filter(".is-ready, .is-loading").not(s).each(function(){var t=e(this).data("flowplayer");t.conf.splash&&t.unload()}),s.addClass("is-loading"),n.loading=!0}).bind("ready",function(e,t,n){function r(){s.removeClass("is-loading"),t.loading=!1}n.time=0,t.video=n,u.splash?s.one("progress",r):r(),t.muted?t.mute(!0):t.volume(t.volumeLevel)}).bind("unload",function(e){u.splash&&a.remove(),s.removeClass("is-loading"),b.loading=!1}).bind("ready unload",function(e){var t=e.type=="ready";s.toggleClass("is-splash",!t).toggleClass("is-ready",t),b.ready=t,b.splash=!t}).bind("progress",function(e,t,n){t.video.time=n}).bind("speed",function(e,t,n){t.currentSpeed=n}).bind("volume",function(e,t,n){t.volumeLevel=Math.round(n*100)/100,t.muted?n&&t.mute(!1):l.volume=n}).bind("beforeseek seek",function(e){b.seeking=e.type=="beforeseek",s.toggleClass("is-seeking",b.seeking)}).bind("ready pause resume unload finish stop",function(e,t,n){b.paused=/pause|finish|unload|stop/.test(e.type),e.type=="ready"&&(b.paused=u.preload=="none",n&&(b.paused=!n.duration||!u.autoplay&&u.preload!="none")),b.playing=!b.paused,s.toggleClass("is-paused",b.paused).toggleClass("is-playing",b.playing),b.load.ed||b.pause()}).bind("finish",function(e){b.finished=!0}).bind("error",function(){a.remove()}),s.trigger("boot",[b,s]).data("flowplayer",b)})},!function(){var t=function(e){var t=/Version\/(\d\.\d)/.exec(e);return t&&t.length>1?parseFloat(t[1],10):0},n=flowplayer.support,r=e.browser,i=e("<video loop autoplay preload/>")[0],s=r.msie,o=navigator.userAgent,u=/iPad|MeeGo/.test(o)&&!/CriOS/.test(o),a=/iPad/.test(o)&&/CriOS/.test(o),f=/iP(hone|od)/i.test(o)&&!/iPad/.test(o),l=/Android/.test(o)&&!/Firefox/.test(o),c=/Android/.test(o)&&/Firefox/.test(o),h=/Silk/.test(o),p=/IEMobile/.test(o),d=u?t(o):0,v=l?parseFloat(/Android\ (\d\.\d)/.exec(o)[1],10):0;e.extend(n,{subtitles:!!i.addTextTrack,fullscreen:!l&&(typeof document.webkitCancelFullScreen=="function"&&!/Mac OS X 10_5.+Version\/5\.0\.\d Safari/.test(o)||document.mozFullScreenEnabled||typeof document.exitFullscreen=="function"),inlineBlock:!(s&&r.version<8),touch:"ontouchstart"in window,dataload:!u&&!f&&!p,zeropreload:!s&&!l,volume:!u&&!l&&!f&&!h&&!a,cachedVideoTag:!u&&!f&&!a&&!p,firstframe:!f&&!u&&!l&&!h&&!a&&!p&&!c,inlineVideo:!f&&!p&&(!l||v>=3),hlsDuration:!r.safari||u||f||a,seekable:!u&&!a});try{var m=navigator.plugins["Shockwave Flash"],g=s?(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version"):m.description;!s&&!m[0].enabledPlugin?n.flashVideo=!1:(g=g.split(/\D+/),g.length&&!g[0]&&(g=g.slice(1)),n.flashVideo=g[0]>9||g[0]==9&&g[3]>=115)}catch(y){}try{n.video=!!i.canPlayType,n.video&&i.canPlayType("video/mp4")}catch(b){n.video=!1}n.animation=function(){var t=["","Webkit","Moz","O","ms","Khtml"],n=e("<p/>")[0];for(var r=0;r<t.length;r++)if(n.style[t[r]+"AnimationName"]!=="undefined")return!0}()}(),window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_savedUnloadHandler=__flash_unloadHandler=function(){}}),flowplayer.engine.flash=function(t,n){var r=t.conf,i=t.video,s,o,a,f={pick:function(t){if(flowplayer.support.flashVideo){var n=e.grep(t,function(e){return e.type=="flash"})[0];if(n)return n;for(var r=0,i;r<t.length;r++){i=t[r];if(/mp4|flv/.test(i.type))return i}}},load:function(i){function f(e){return e.replace(/&amp;/g,"%26").replace(/&/g,"%26").replace(/=/g,"%3D")}var l=e("video",n),c=f(i.src);is_absolute=/^https?:/.test(c);try{l.length>0&&flowplayer.support.video&&l[0].pause()}catch(h){}var p=function(){l.remove()},d=function(t){return e.grep(t,function(e){return!!l[0].canPlayType("video/"+e.type)}).length>0};flowplayer.support.video&&l.prop("autoplay")&&d(i.sources)?l.one("timeupdate",p):p(),!is_absolute&&!r.rtmp&&(c=e("<img/>").attr("src",c)[0].src);if(a)a.__play(c);else{s="fp"+(""+Math.random()).slice(3,15);var v={hostname:r.embedded?r.hostname:location.hostname,url:c,callback:"jQuery."+s};n.data("origin")&&(v.origin=n.data("origin")),is_absolute&&delete r.rtmp,e.each(["key","autoplay","preload","rtmp","loop","debug","preload","splash","bufferTime"],function(e,t){r[t]&&(v[t]=r[t])}),v.rtmp&&(v.rtmp=f(v.rtmp)),o=u(r.swf,v),o.prependTo(n),a=o[0],setTimeout(function(){try{if(!a.PercentLoaded())return n.trigger("error",[t,{code:7,url:r.swf}])}catch(e){}},5e3),setTimeout(function(){typeof a.PercentLoaded=="undefined"&&n.trigger("flashdisabled",[t])},1e3),e[s]=function(n,s){r.debug&&n!="status"&&console.log("--",n,s);var o=e.Event(n);switch(n){case"ready":s=e.extend(i,s);break;case"click":o.flash=!0;break;case"keydown":o.which=s;break;case"seek":i.time=s;break;case"status":t.trigger("progress",s.time),s.buffer<i.bytes&&!i.buffered?(i.buffer=s.buffer/i.bytes*i.duration,t.trigger("buffer",i.buffer)):i.buffered||(i.buffered=!0,t.trigger("buffered"))}n!="buffered"&&setTimeout(function(){t.trigger(o,s)},1)}}},speed:e.noop,unload:function(){a&&a.__unload&&a.__unload(),delete e[s],e("object",n).remove(),a=0}};e.each("pause,resume,seek,volume".split(","),function(e,r){f[r]=function(e){try{t.ready&&(r=="seek"&&t.video.time&&!t.paused&&t.trigger("beforeseek"),e===undefined?a["__"+r]():a["__"+r](e))}catch(i){if(typeof a["__"+r]=="undefined")return n.trigger("flashdisabled",[t]);throw i}}});var l=e(window);return t.bind("ready fullscreen fullscreen-exit",function(r){var i=n.height(),s=n.width();if(t.conf.flashfit||/full/.test(r.type)){var o=t.isFullscreen,u=o&&L,a=!flowplayer.support.inlineBlock,f=o?u?screen.width:l.width():s,c=o?u?screen.height:l.height():i,h=0,p=0,d=a?s:"",v=a?i:"",m,g;if(t.conf.flashfit||r.type==="fullscreen")m=t.video.width/t.video.height,g=t.video.height/t.video.width,v=Math.max(g*f),d=Math.max(m*c),v=v>c?d*g:v,v=Math.min(Math.round(v),c),d=d>f?v*m:d,d=Math.min(Math.round(d),f),p=Math.max(Math.round((c+p-v)/2),0),h=Math.max(Math.round((f+h-d)/2),0);e("object",n).css({width:d,height:v,marginTop:p,marginLeft:h})}}),f};var a=e("<video/>")[0],f={ended:"finish",pause:"pause",play:"resume",progress:"buffer",timeupdate:"progress",volumechange:"volume",ratechange:"speed",seeked:"seek",loadeddata:"ready",error:"error",dataunavailable:"error"},d,v=function(t){return d?d.attr({type:c(t.type),src:t.src}):d=e("<video/>",{src:t.src,type:c(t.type),"class":"fp-engine",autoplay:"autoplay",preload:"none","x-webkit-airplay":"allow"})};flowplayer.engine.html5=function(t,n){function m(r,s,u){if(r.listeners&&r.listeners.hasOwnProperty(n.data("fp-player_id")))return;(r.listeners||(r.listeners={}))[n.data("fp-player_id")]=!0,s.bind("error",function(n){try{if(n.originalEvent&&e(n.originalEvent.originalTarget).is("img"))return n.preventDefault();h(e(n.target).attr("type"))&&t.trigger("error",{code:4})}catch(r){}}),e.each(f,function(s,f){r.addEventListener(s,function(c){f=="progress"&&c.srcElement&&c.srcElement.readyState===0&&setTimeout(function(){t.video.duration||(f="error",t.trigger(f,{code:4}))},1e4),o.debug&&!/progress/.test(f)&&console.log(s,"->",f,c);if(!t.ready&&!/ready|error/.test(f)||!f||!e("video",n).length)return;var h=e.Event(f),p;switch(f){case"ready":p=e.extend(u,{duration:r.duration,width:r.videoWidth,height:r.videoHeight,url:r.currentSrc,src:r.currentSrc});try{p.seekable=r.seekable&&r.seekable.end(null)}catch(d){}a=a||setInterval(function(){try{p.buffer=r.buffered.end(null)}catch(e){}p.buffer&&(l(p.buffer,1e3)<l(p.duration,1e3)&&!p.buffered?t.trigger("buffer",c):p.buffered||(p.buffered=!0,t.trigger("buffer",c).trigger("buffered",c),clearInterval(a),a=0))},250);if(!o.live&&!p.duration&&!i.hlsDuration&&s==="loadeddata"){var v=function(){p.duration=r.duration;try{p.seekable=r.seekable&&r.seekable.end(null)}catch(e){}t.trigger(h,p),r.removeEventListener("durationchange",v)};r.addEventListener("durationchange",v);return}break;case"progress":case"seek":var m=t.video.duration;if(r.currentTime>0){p=Math.max(r.currentTime,0);break}if(f=="progress")return;case"speed":p=l(r.playbackRate);break;case"volume":p=l(r.volume);break;case"error":try{p=(c.srcElement||c.originalTarget).error}catch(g){return}}t.trigger(h,p)},!1)})}var r=e("video",n),i=flowplayer.support,s=e("track",r),o=t.conf,u,a,c;return u={pick:function(e){if(i.video){if(o.videoTypePreference){var t=p(e,o.videoTypePreference);if(t)return t}for(var n=0,r;n<e.length;n++)if(h(e[n].type))return e[n]}},load:function(u){if(o.splash&&!c)r=v(u).prependTo(n),i.inlineVideo||r.css({position:"absolute",top:"-9999em"}),s.length&&r.append(s.attr("default","")),o.loop&&r.attr("loop","loop"),c=r[0];else{c=r[0];var a=r.find("source");!c.src&&a.length&&(c.src=u.src,a.remove());if(t.video.src&&u.src!=t.video.src)r.attr("autoplay","autoplay"),c.src=u.src;else if(o.preload=="none"||!i.dataload)i.zeropreload?t.trigger("ready",u).trigger("pause").one("ready",function(){n.trigger("resume",[t])}):t.one("ready",function(){n.trigger("pause",[t])})}m(c,e("source",r).add(r),u),(o.preload!="none"||!i.zeropreload||!i.dataload)&&c.load(),o.splash&&c.load()},pause:function(){c.pause()},resume:function(){c.play()},speed:function(e){c.playbackRate=e},seek:function(e){try{var n=t.paused;c.currentTime=e,n&&c.pause()}catch(r){}},volume:function(e){c.volume=e},unload:function(){e("video.fp-engine",n).remove(),i.cachedVideoTag||(d=null),a=clearInterval(a),c=0}}};var m=/\.(\w{3,4})(\?.*)?#x2F;i;e.throttle=function(e,t){var n;return function(){n||(e.apply(this,arguments),n=1,setTimeout(function(){n=0},t))}},e.fn.slider2=function(t){var n=/iPad/.test(navigator.userAgent)&&!/CriOS/.test(navigator.userAgent);return this.each(function(){var r=e(this),i=e(document),s=r.children(":last"),o,u,a,f,l,c,h,p,d=!1,v=function(){u=r.offset(),a=r.width(),f=r.height(),c=l?f:a,p=b(h)},m=function(e){!o&&e!=w.value&&(!h||e<h)&&(r.trigger("slide",[e]),w.value=e)},g=function(e){var n=e.pageX;!n&&e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length&&(n=e.originalEvent.touches[0].pageX);var r=l?e.pageY-u.top:n-u.left;r=Math.max(0,Math.min(p||c,r));var i=r/c;return l&&(i=1-i),t&&(i=1-i),y(i,0,!0)},y=function(e,t){t===undefined&&(t=0),e>1&&(e=1);var r=Math.round(e*1e3)/10+"%";if(!h||e<=h)n||s.stop(),d?s.css("width",r):s.animate(l?{height:r}:{width:r},t,"linear");return e},b=function(e){return Math.max(0,Math.min(c,l?(1-e)*f:e*a))},w={max:function(e){h=e},disable:function(e){o=e},slide:function(e,t,n){v(),n&&m(e),y(e,t)},disableAnimation:function(e){d=e!==!1}};v(),r.data("api",w).bind("mousedown.sld touchstart",function(t){t.preventDefault();if(!o){var n=e.throttle(m,100);v(),w.dragging=!0,r.addClass("is-dragging"),m(g(t)),i.bind("mousemove.sld touchmove",function(e){e.preventDefault(),n(g(e))}).one("mouseup touchend",function(){w.dragging=!1,r.removeClass("is-dragging"),i.unbind("mousemove.sld touchmove")})}})})},flowplayer(function(t,n){function o(t){return e(".fp-"+t,n)}function T(t){if(n.css("width")==="0px"||n.css("height")==="0px"||t!==flowplayer.defaults.ratio)parseInt(v,10)||h.css("paddingTop",t*100+"%");i.inlineBlock||e("object",n).height(n.height())}function N(e){n.toggleClass("is-mouseover",e).toggleClass("is-mouseout",!e)}var r=t.conf,i=flowplayer.support,s;n.find(".fp-ratio,.fp-ui").remove(),n.addClass("flowplayer").append(' <div class="ratio"/> <div class="ui"> <div class="waiting"><em/><em/><em/></div> <a class="fullscreen"/> <a class="unload"/> <p class="speed"/> <div class="controls"> <a class="play"></a> <div class="timeline"> <div class="buffer"/> <div class="progress"/> </div> <div class="volume"> <a class="mute"></a> <div class="volumeslider"> <div class="volumelevel"/> </div> </div> </div> <div class="time"> <em class="elapsed">00:00</em> <em class="remaining"/> <em class="duration">00:00</em> </div> <div class="message"><h2/><p/></div> </div>'.replace(/class="/g,'class="fp-'));var u=o("progress"),a=o("buffer"),f=o("elapsed"),l=o("remaining"),c=o("waiting"),h=o("ratio"),p=o("speed"),d=o("duration"),v=h.css("paddingTop"),m=o("timeline").slider2(t.rtl),g=m.data("api"),y=o("volume"),b=o("fullscreen"),E=o("volumeslider").slider2(t.rtl),S=E.data("api"),x=n.is(".fixed-controls, .no-toggle");g.disableAnimation(n.hasClass("is-touch")),i.animation||c.html("<p>loading &hellip;</p>"),T(r.ratio);try{r.fullscreen||b.remove()}catch(C){b.remove()}t.bind("ready",function(){var e=t.video.duration;g.disable(t.disabled||!e),r.adaptiveRatio&&T(t.video.height/t.video.width),d.add(l).html(w(e)),e>=3600&&n.addClass("is-long")||n.removeClass("is-long"),S.slide(t.volumeLevel)}).bind("unload",function(){v||h.css("paddingTop","")}).bind("buffer",function(){var e=t.video,n=e.buffer/e.duration;!e.seekable&&i.seekable&&g.max(n),n<1?a.css("width",n*100+"%"):a.css({width:"100%"})}).bind("speed",function(e,t,n){p.text(n+"x").addClass("fp-hilite"),setTimeout(function(){p.removeClass("fp-hilite")},1e3)}).bind("buffered",function(){a.css({width:"100%"}),g.max(1)}).bind("progress",function(){var e=t.video.time,n=t.video.duration;g.dragging||g.slide(e/n,t.seeking?0:250),f.html(w(e)),l.html("-"+w(n-e))}).bind("finish resume seek",function(e){n.toggleClass("is-finished",e.type=="finish")}).bind("stop",function(){f.html(w(0)),g.slide(0,100)}).bind("finish",function(){f.html(w(t.video.duration)),g.slide(1,100),n.removeClass("is-seeking")}).bind("beforeseek",function(){u.stop()}).bind("volume",function(){S.slide(t.volumeLevel)}).bind("disable",function(){var e=t.disabled;g.disable(e),S.disable(e),n.toggleClass("is-disabled",t.disabled)}).bind("mute",function(e,t,r){n.toggleClass("is-muted",r)}).bind("error",function(t,i,s){n.removeClass("is-loading").addClass("is-error");if(s){s.message=r.errors[s.code],i.error=!0;var o=e(".fp-message",n);e("h2",o).text((i.engine||"html5")+": "+s.message),e("p",o).text(s.url||i.video.url||i.video.src||r.errorUrls[s.code]),n.unbind("mouseenter click").removeClass("is-mouseover")}}).bind("mouseenter mouseleave",function(e){if(x)return;var t=e.type=="mouseenter",r;N(t),t?(n.bind("pause.x mousemove.x volume.x",function(){N(!0),r=new Date}),s=setInterval(function(){new Date-r>2e3&&(N(!1),r=new Date)},100)):(n.unbind(".x"),clearInterval(s))}).bind("mouseleave",function(){(g.dragging||S.dragging)&&n.addClass("is-mouseover").removeClass("is-mouseout")}).bind("click.player",function(n){if(e(n.target).is(".fp-ui, .fp-engine")||n.flash)return n.preventDefault(),t.toggle()}).bind("contextmenu",function(t){t.preventDefault();var r=n.offset(),i=e(window),s=t.clientX-r.left,o=t.clientY-r.top+i.scrollTop(),u=n.find(".fp-context-menu").css({left:s+"px",top:o+"px",display:"block"}).on("click",function(e){e.stopPropagation()});e("html").on("click.outsidemenu",function(t){u.hide(),e("html").off("click.outsidemenu")})}).bind("flashdisabled",function(){n.addClass("is-flash-disabled").one("ready",function(){n.removeClass("is-flash-disabled").find(".fp-flash-disabled").remove()}).append('<div class="fp-flash-disabled">Adobe Flash is disabled for this page, click player area to enable.</div>')}),r.poster&&n.css("backgroundImage","url("+r.poster+")");var k=n.css("backgroundColor"),L=n.css("backgroundImage")!="none"||k&&k!="rgba(0, 0, 0, 0)"&&k!="transparent";L&&!r.splash&&!r.autoplay&&t.bind("ready stop",function(){n.addClass("is-poster").one("progress",function(){n.removeClass("is-poster")})}),!L&&t.forcedSplash&&n.css("backgroundColor","#555"),e(".fp-toggle, .fp-play",n).click(t.toggle),e.each(["mute","fullscreen","unload"],function(e,n){o(n).click(function(){t[n]()})}),m.bind("slide",function(e,n){t.seeking=!0,t.seek(n*t.video.duration)}),E.bind("slide",function(e,n){t.volume(n)}),o("time").click(function(t){e(this).toggleClass("is-inverted")}),N(x)});var E,S,x="is-help";e(document).bind("keydown.fp",function(t){var n=E,r=t.ctrlKey||t.metaKey||t.altKey,i=t.which,s=n&&n.conf;if(!n||!s.keyboard||n.disabled)return;if(e.inArray(i,[63,187,191])!=-1)return S.toggleClass(x),!1;if(i==27&&S.hasClass(x))return S.toggleClass(x),!1;if(!r&&n.ready){t.preventDefault();if(t.shiftKey){i==39?n.speed(!0):i==37&&n.speed(!1);return}if(i<58&&i>47)return n.seekTo(i-48);switch(i){case 38:case 75:n.volume(n.volumeLevel+.15);break;case 40:case 74:n.volume(n.volumeLevel-.15);break;case 39:case 76:n.seeking=!0,n.seek(!0);break;case 37:case 72:n.seeking=!0,n.seek(!1);break;case 190:n.seekTo();break;case 32:n.toggle();break;case 70:s.fullscreen&&n.fullscreen();break;case 77:n.mute();break;case 81:n.unload()}}}),flowplayer(function(t,n){if(!t.conf.keyboard)return;n.bind("mouseenter mouseleave",function(e){E=!t.disabled&&e.type=="mouseenter"?t:0,E&&(S=n)}),n.append(' <div class="fp-help"> <a class="fp-close"></a> <div class="fp-help-section fp-help-basics"> <p><em>space</em>play / pause</p> <p><em>q</em>unload | stop</p> <p><em>f</em>fullscreen</p> <p><em>shift</em> + <em>&#8592;</em><em>&#8594;</em>slower / faster <small>(latest Chrome and Safari)</small></p> </div> <div class="fp-help-section"> <p><em>&#8593;</em><em>&#8595;</em>volume</p> <p><em>m</em>mute</p> </div> <div class="fp-help-section"> <p><em>&#8592;</em><em>&#8594;</em>seek</p> <p><em>&nbsp;. </em>seek to previous </p><p><em>1</em><em>2</em>&hellip;<em>6</em> seek to 10%, 20%, &hellip;60% </p> </div> </div> '),t.conf.tooltip&&e(".fp-ui",n).attr("title","Hit ? for help").on("mouseout.tip",function(){e(this).removeAttr("title").off("mouseout.tip")}),e(".fp-close",n).click(function(){n.toggleClass(x)})});var T=e.browser.mozilla?"moz":"webkit",N="fullscreen",C="fullscreen-exit",k,L=flowplayer.support.fullscreen,A=typeof document.exitFullscreen=="function",O=navigator.userAgent.toLowerCase(),M=/(safari)[ \/]([\w.]+)/.exec(O)&&!/(chrome)[ \/]([\w.]+)/.exec(O);e(document).bind(A?"fullscreenchange":T+"fullscreenchange",function(t){var n=e(document.webkitCurrentFullScreenElement||document.mozFullScreenElement||document.fullscreenElement||t.target);n.length&&!k?k=n.trigger(N,[n]):(k.trigger(C,[k]),k=null)}),flowplayer(function(t,n){if(!t.conf.fullscreen)return;var r=e(window),i={index:0,pos:0,play:!1},s;t.isFullscreen=!1,t.fullscreen=function(o){if(t.disabled)return;return o===undefined&&(o=!t.isFullscreen),o&&(s=r.scrollTop()),(T=="webkit"||M)&&t.engine=="flash"&&(i.index=t.video.index,t.conf.rtmp&&e.extend(i,{pos:t.video.time,play:t.playing})),L?o?A?n[0].requestFullscreen():(n[0][T+"RequestFullScreen"](Element.ALLOW_KEYBOARD_INPUT),M&&!document.webkitCurrentFullScreenElement&&!document.mozFullScreenElement&&n[0][T+"RequestFullScreen"]()):A?document.exitFullscreen():document[T+"CancelFullScreen"]():t.trigger(o?N:C,[t]),t};var o;n.bind("mousedown.fs",function(){+(new Date)-o<150&&t.ready&&t.fullscreen(),o=+(new Date)}),t.bind(N,function(e){n.addClass("is-fullscreen"),t.isFullscreen=!0}).bind(C,function(e){var i;!L&&t.engine==="html5"&&(i=n.css("opacity")||"",n.css("opacity",0)),n.removeClass("is-fullscreen"),!L&&t.engine==="html5"&&setTimeout(function(){n.css("opacity",i)}),t.isFullscreen=!1,r.scrollTop(s)}).bind("ready",function(){if(i.index>0)t.play(i.index),i.index=0;else if(i.pos&&!isNaN(i.pos)){var n=function(){i.play||t.pause(),e.extend(i,{pos:0,play:!1})};t.conf.live?(t.resume(),n()):t.resume().seek(i.pos,n)}})}),flowplayer(function(t,n){function s(){return e(r.query,n)}function o(){return e(r.query+"."+i,n)}var r=e.extend({active:"is-active",advance:!0,query:".fp-playlist a"},t.conf),i=r.active;t.play=function(n){return n===undefined?t.resume():typeof n=="number"&&!t.conf.playlist[n]?t:(typeof n!="number"&&t.load.apply(null,arguments),t.unbind("resume.fromfirst"),t.video.index=n,t.load(typeof t.conf.playlist[n]=="string"?t.conf.playlist[n].toString():e.map(t.conf.playlist[n],function(t){return e.extend({},t)})),t)},t.next=function(e){e&&e.preventDefault();var n=t.video.index;return n!=-1&&(n=n===t.conf.playlist.length-1?0:n+1,t.play(n)),t},t.prev=function(e){e&&e.preventDefault();var n=t.video.index;return n!=-1&&(n=n===0?t.conf.playlist.length-1:n-1,t.play(n)),t},e(".fp-next",n).click(t.next),e(".fp-prev",n).click(t.prev),r.advance&&n.unbind("finish.pl").bind("finish.pl",function(e,t){var i=t.video.index+1;i<t.conf.playlist.length||r.loop?(i=i===t.conf.playlist.length?0:i,n.removeClass("is-finished"),setTimeout(function(){t.play(i)})):(n.addClass("is-playing"),t.conf.playlist.length>1&&t.one("resume.fromfirst",function(){return t.play(0),!1}))});var u=!1;if(t.conf.playlist.length){u=!0;var a=n.find(".fp-playlist");if(!a.length){a=e('<div class="fp-playlist"></div>');var f=e(".fp-next,.fp-prev",n);f.length?f.eq(0).before(a):e("video",n).after(a)}a.empty(),e.each(t.conf.playlist,function(t,n){var r;if(typeof n=="string")r=n;else for(var i in n[0])if(n[0].hasOwnProperty(i)){r=n[0][i];break}a.append(e("<a />").attr({href:r,"data-index":t}))})}if(s().length){u||(t.conf.playlist=[],s().each(function(){var n=e(this).attr("href");e(this).attr("data-index",t.conf.playlist.length),t.conf.playlist.push(n)})),n.on("click",r.query,function(n){n.preventDefault();var i=e(n.target).closest(r.query),s=Number(i.attr("data-index"));s!=-1&&t.play(s)});var l=s().filter("[data-cuepoints]").length;t.bind("load",function(r,s,u){var a=o().removeClass(i),f=a.attr("data-index"),c=u.index=t.video.index||0,h=e('a[data-index="'+c+'"]',n).addClass(i),p=c==t.conf.playlist.length-1;n.removeClass("video"+f).addClass("video"+c).toggleClass("last-video",p),u.index=s.video.index=c,u.is_last=s.video.is_last=p,l&&(t.cuepoints=h.data("cuepoints"))}).bind("unload.pl",function(){o().toggleClass(i)})}t.conf.playlist.length&&(t.conf.loop=!1)});var _=/ ?cue\d+ ?/;flowplayer(function(t,n){function i(e){n[0].className=n[0].className.replace(_," "),e>=0&&n.addClass("cue"+e)}var r=0;t.cuepoints=t.conf.cuepoints||[],t.bind("progress",function(e,s,o){if(r&&o-r<.015)return r=o;r=o;var u=t.cuepoints||[];for(var a=0,f;a<u.length;a++)f=u[a],isNaN(f)||(f={time:f}),f.time<0&&(f.time=t.video.duration+f.time),f.index=a,Math.abs(f.time-o)<.125*t.currentSpeed&&(i(a),n.trigger("cuepoint",[t,f]))}).bind("unload seek",i),t.conf.generate_cuepoints&&t.bind("load",function(){e(".fp-cuepoint",n).remove()}).bind("ready",function(){var r=t.cuepoints||[],i=t.video.duration,s=e(".fp-timeline",n).css("overflow","visible");e.each(r,function(n,r){var o=r.time||r;o<0&&(o=i+r);var u=e("<a/>").addClass("fp-cuepoint fp-cuepoint"+n).css("left",o/i*100+"%");u.appendTo(s).mousedown(function(){return t.seek(o),!1})})})}),flowplayer(function(t,n,r){function u(e){var t=e.split(":");return t.length==2&&t.unshift(0),t[0]*60*60+t[1]*60+parseFloat(t[2].replace(",","."))}var i=e("track",n),s=t.conf;if(flowplayer.support.subtitles){t.subtitles=i.length&&i[0].track;if(s.nativesubtitles&&s.engine=="html5")return}i.remove();var o=/^(([0-9]{2}:)?[0-9]{2}:[0-9]{2}[,.]{1}[0-9]{3}) --\> (([0-9]{2}:)?[0-9]{2}:[0-9]{2}[,.]{1}[0-9]{3})(.*)/;t.subtitles=[];var a=i.attr("src");if(!a)return;setTimeout(function(){e.get(a,function(n){for(var r=0,i=n.split("\n"),s=i.length,a={},f,l,c,h;r<s;r++){l=o.exec(i[r]);if(l){f=i[r-1],c="<p>"+i[++r]+"</p><br/>";while(e.trim(i[++r])&&r<i.length)c+="<p>"+i[r]+"</p><br/>";a={title:f,startTime:u(l[1]),endTime:u(l[2]||l[3]),text:c},h={time:a.startTime,subtitle:a},t.subtitles.push(a),t.cuepoints.push(h),t.cuepoints.push({time:a.endTime,subtitleEnd:f}),a.startTime===0&&t.trigger("cuepoint",h)}}}).fail(function(){return t.trigger("error",{code:8,url:a}),!1})});var f=e("<div class='fp-subtitle'/>").appendTo(n),l;t.bind("cuepoint",function(e,t,n){n.subtitle?(l=n.index,f.html(n.subtitle.text).addClass("fp-active")):n.subtitleEnd&&(f.removeClass("fp-active"),l=n.index)}).bind("seek",function(n,r,i){l&&t.cuepoints[l]&&t.cuepoints[l].time>i&&(f.removeClass("fp-active"),l=null),e.each(t.cuepoints||[],function(e,n){var r=n.subtitle;r&&l!=n.index?i>=n.time&&(!r.endTime||i<=r.endTime)&&t.trigger("cuepoint",n):n.subtitleEnd&&i>=n.time&&n.index==l+1&&t.trigger("cuepoint",n)})})}),flowplayer(function(t,n){var r=t.conf.analytics,i=0,s=0;if(r){typeof _gat=="undefined"&&e.getScript("//google-analytics.com/ga.js");function o(e){if(i&&typeof _gat!="undefined"){var s=_gat._getTracker(r),o=t.video;s._setAllowLinker(!0),s._trackEvent("Video / Seconds played",t.engine+"/"+o.type,n.attr("title")||o.src.split("/").slice(-1)[0].replace(m,""),Math.round(i/1e3)),i=0}}t.bind("load unload",o).bind("progress",function(){t.seeking||(i+=s?+(new Date)-s:0,s=+(new Date))}).bind("pause",function(){s=0}),e(window).unload(o)}});var D=/IEMobile/.test(r);(flowplayer.support.touch||D)&&flowplayer(function(t,n){var i=/Android/.test(r)&&!/Firefox/.test(r)&&!/Opera/.test(r),s=/Silk/.test(r),o=i?parseFloat(/Android\ (\d\.\d)/.exec(r)[1],10):0;if(i){t.conf.videoTypePreference="mp4";if(!/Chrome/.test(r)&&o<4){var u=t.load;t.load=function(e,n){var r=u.apply(t,arguments);return t.trigger("ready",[t,t.video]),r}}}flowplayer.support.volume||n.addClass("no-volume no-mute"),n.addClass("is-touch"),n.find(".fp-timeline").data("api").disableAnimation();var a=!1;n.bind("touchmove",function(){a=!0}).bind("touchend click",function(r){if(a){a=!1;return}if(t.playing&&!n.hasClass("is-mouseover"))
6
- return n.addClass("is-mouseover").removeClass("is-mouseout"),!1;t.paused&&n.hasClass("is-mouseout")&&!t.splash&&t.toggle(),t.paused&&D&&e("video.fp-engine",n)[0].play()}),t.conf.native_fullscreen&&typeof e("<video />")[0].webkitEnterFullScreen=="function"&&(t.fullscreen=function(){var t=e("video.fp-engine",n);t[0].webkitEnterFullScreen(),t.one("webkitendfullscreen",function(){t.prop("controls",!0).prop("controls",!1)})}),(i||s)&&t.bind("ready",function(){var r=e("video.fp-engine",n);r.one("canplay",function(){r[0].play()}),r[0].play(),t.bind("progress.dur",function(){var i=r[0].duration;i!==1&&(t.video.duration=i,e(".fp-duration",n).html(w(i)),t.unbind("progress.dur"))})})}),flowplayer(function(t,n){if(t.conf.embed===!1)return;var r=t.conf,i=e(".fp-ui",n),s=e("<a/>",{"class":"fp-embed",title:"Copy to your site"}).appendTo(i),o=e("<div/>",{"class":"fp-embed-code"}).append("<label>Copy and paste this HTML code into your webpage to embed.</label><textarea/>").appendTo(i),u=e("textarea",o);t.embedCode=function(){var i=t.video,s=i.width||n.width(),o=i.height||n.height(),u=e("<div/>",{"class":"flowplayer",css:{width:s,height:o}}),a=e("<video/>").appendTo(u);e.each(["origin","analytics","key","rtmp"],function(e,t){r[t]&&u.attr("data-"+t,r[t])}),r.logo&&u.attr("data-logo",e("<img />").attr("src",r.logo)[0].src),e.each(i.sources,function(t,n){var i=n.src;if(!/^https?:/.test(n.src)&&n.type!=="flash"||!r.rtmp)i=e("<img/>").attr("src",n.src)[0].src;a.append(e("<source/>",{type:"video/"+n.type,src:i}))});var f={src:"//foliovision.com/flowplayer/5.4.6/embed.min.js"};e.isPlainObject(r.embed)&&(f["data-swf"]=r.embed.swf,f["data-library"]=r.embed.library,f.src=r.embed.script||f.src,r.embed.skin&&(f["data-skin"]=r.embed.skin));var l=e("<foo/>",f).append(u);return e("<p/>").append(l).html().replace(/<(\/?)foo/g,"<$1script")},n.fptip(".fp-embed","is-embedding"),u.click(function(){this.select()}),s.click(function(){u.text(t.embedCode()),u[0].focus(),u[0].select()})}),e.fn.fptip=function(t,n){return this.each(function(){function i(){r.removeClass(n),e(document).unbind(".st")}var r=e(this);e(t||"a",this).click(function(t){t.preventDefault(),r.toggleClass(n),r.hasClass(n)&&e(document).bind("keydown.st",function(e){e.which==27&&i()}).bind("click.st",function(t){e(t.target).parents("."+n).length||i()})})})}}(jQuery),flowplayer(function(e,t){function n(e){var t=s("<a/>")[0];return t.href=e,t.hostname}function r(e){var t="ab.ca,ac.ac,ac.at,ac.be,ac.cn,ac.il,ac.in,ac.jp,ac.kr,ac.th,ac.uk,adm.br,adv.br,ah.cn,am.br,arq.br,art.br,arts.ro,asn.au,asso.fr,asso.mc,bc.ca,bio.br,biz.pl,biz.tr,bj.cn,br.com,cn.com,cng.br,cnt.br,co.ac,co.at,co.gl,co.id,co.il,co.in,co.jp,co.kr,co.mg,co.ms,co.nz,co.th,co.uk,co.ve,co.vi,co.za,com.ag,com.ai,com.ar,com.au,com.br,com.cn,com.cy,com.de,com.do,com.ec,com.es,com.fj,com.fr,com.gl,com.gt,com.hk,com.hr,com.hu,com.kg,com.ki,com.lc,com.mg,com.mm,com.ms,com.mt,com.mu,com.mx,com.my,com.nf,com.ng,com.ni,com.pa,com.ph,com.pl,com.pt,com.qa,com.ro,com.ru,com.sb,com.sc,com.sg,com.sv,com.tr,com.tw,com.ua,com.uy,com.ve,com.vn,cq.cn,de.com,de.org,ecn.br,edu.au,edu.cn,edu.hk,edu.mm,edu.my,edu.pt,edu.qa,edu.tr,eng.br,ernet.in,esp.br,etc.br,eti.br,eu.com,eu.int,eu.lv,firm.in,firm.ro,fm.br,fot.br,fst.br,g12.br,gb.com,gb.net,gd.cn,gen.in,go.jp,go.kr,go.th,gov.au,gov.az,gov.br,gov.cn,gov.il,gov.in,gov.mm,gov.my,gov.qa,gov.sg,gov.tr,gov.tw,gs.cn,gv.ac,gv.at,gx.cn,gz.cn,he.cn,hi.cn,hk.cn,hl.cn,hu.com,id.au,idv.tw,in.ua,ind.br,ind.in,inf.br,info.pl,info.ro,info.tr,info.ve,iwi.nz,jl.cn,jor.br,js.cn,k12.il,k12.tr,kr.com,lel.br,ln.cn,ltd.uk,maori.nz,mb.ca,me.uk,med.br,mi.th,mil.br,mo.cn,muni.il,nb.ca,ne.jp,ne.kr,net.ag,net.ai,net.au,net.br,net.cn,net.do,net.gl,net.hk,net.il,net.in,net.kg,net.ki,net.lc,net.mg,net.mm,net.mu,net.ni,net.nz,net.pl,net.ru,net.sb,net.sc,net.sg,net.th,net.tr,net.tw,net.uk,net.ve,nf.ca,nm.cn,nm.kr,no.com,nom.br,nom.ni,nom.ro,ns.ca,nt.ca,nt.ro,ntr.br,nx.cn,odo.br,off.ai,on.ca,or.ac,or.at,or.jp,or.kr,or.th,org.ag,org.ai,org.au,org.br,org.cn,org.do,org.es,org.gl,org.hk,org.in,org.kg,org.ki,org.lc,org.mg,org.mm,org.ms,org.nf,org.ni,org.nz,org.pl,org.ro,org.ru,org.sb,org.sc,org.sg,org.tr,org.tw,org.uk,org.ve,pe.ca,plc.uk,ppg.br,presse.fr,pro.br,psc.br,psi.br,qc.ca,qc.com,qh.cn,rec.br,rec.ro,res.in,sa.com,sc.cn,sch.ul,se.com,se.net,sh.cn,sk.ca,slg.br,sn.cn,store.ro,tj.cn,tm.fr,tm.mc,tm.ro,tmp.br,tur.br,tv.br,tv.tr,tw.cn,uk.com,uk.net,us.com,uy.com,vet.br,waw.pl,web.ve,www.ro,xj.cn,xz.cn,yk.ca,yn.cn,zj.cn,zlg.br".split(",");e=e.toLowerCase();var n=e.split("."),r=n.length;if(r<2)return e;var i=n.slice(-2).join(".");return r>=3&&s.inArray(i,t)>=0?n.slice(-3).join("."):i}function i(e,t){t!="localhost"&&!parseInt(t.split(".").slice(-1))&&(t=r(t));var n=0;for(var i=t.length-1;i>=0;i--)n+=t.charCodeAt(i)*28939532831;n=(""+n).substring(0,7);for(i=0;i<e.length;i++)if(n===e[i].substring(1,8))return 1}var s=jQuery,o=e.conf,u=o.swf.indexOf("flowplayer.org")&&o.e&&t.data("origin"),a=u?n(u):location.hostname,f=o.key;location.protocol=="file:"&&(a="localhost"),e.load.ed=1,o.hostname=a,o.origin=u||location.href,u&&t.addClass("is-embedded"),typeof f=="string"&&(f=f.split(/,\s*/));if(f&&typeof i=="function"&&i(f,a))o.logo&&t.append(s("<a>",{"class":"fp-logo",href:u}).append(s("<img/>",{src:o.logo})));else{var l=s("<a/>").attr("onclick","").appendTo(t),c=s(".fp-controls",t),h=s('<div class="fp-context-menu"><ul><li class="copyright">&copy; 2013</li><li><a href="http://flowplayer.org">About Flowplayer</a></li><li><a href="http://flowplayer.org/license">GPL based license</a></li></ul></div>').appendTo(t);e.bind("pause resume finish unload",function(e,n){var r=-1;n.video.src&&s.each([["org","flowplayer","drive"],["org","flowplayer","my"]],function(e,t){return r=n.video.src.indexOf("://"+t.reverse().join(".")),r===-1}),/pause|resume/.test(e.type)&&n.engine!="flash"&&r!=4&&r!=5?(l.show().css({position:"absolute",left:16,bottom:36,zIndex:99999,width:120,height:27,backgroundImage:"url("+[".png","fplogo","/",".com","foliovision","//"].reverse().join("")+")"}),n.load.ed=l.is(":visible")&&s.contains(t[0],h[0]),n.load.ed||n.pause()):l.hide()})}});
7
8
/*
9
FV Flowplayer additions!
10
*/
11
if( typeof(fv_flowplayer_conf) != "undefined" ) {
12
flowplayer.conf = fv_flowplayer_conf
13
}
14
15
if( typeof(fv_flowplayer_admin_input) != "undefined" && fv_flowplayer_admin_input ) {
@@ -87,16 +91,19 @@ function fv_wp_flowplayer_admin_support_mail( hash, button ) {
87
function fv_flowplayer_admin_message_parse_group(aInfo) {
88
var sOutput = '';
89
if( typeof(aInfo) != "undefined" && Object.keys(aInfo).length > 0 ) {
90
- sOutput += '<p>';
91
for( var j in aInfo ) {
92
if( j == parseInt(j) ){
93
sOutput += aInfo[j]+'<br />';
94
} else {
95
sOutput += j+': <tt>'+aInfo[j]+'</tt><br />';
96
}
97
}
98
- sOutput += '</p>';
99
- }
100
return sOutput;
101
}
102
@@ -154,16 +161,20 @@ function fv_flowplayer_admin_test_media( hash, media ) {
154
}
155
sCheckerInfo += fv_flowplayer_admin_message_parse_group(obj[i].info);
156
157
- if( typeof(obj[i].warnings) != "undefined" && Object.keys(obj[i].warnings).length > 0 && sResponseClass != 'vid-issues' ) {
158
- sResponseMsg = 'Video Warnings';
159
- sResponseClass = 'vid-warning';
160
- sCheckerInfo += fv_flowplayer_admin_message_parse_group(obj[i].warnings);
161
}
162
163
- if( typeof(obj[i].errors) != "undefined" && Object.keys(obj[i].errors).length > 0 ) {
164
sResponseMsg = 'Video Issues';
165
sResponseClass = 'vid-issues';
166
- sCheckerInfo += fv_flowplayer_admin_message_parse_group(obj[i].errors);
167
}
168
169
jQuery('#wpfp_notice_'+hash).find('.video-checker-result').addClass(sResponseClass).html(sResponseMsg);
@@ -183,15 +194,14 @@ function fv_flowplayer_admin_test_media( hash, media ) {
183
}
184
185
} ).error(function() {
186
- jQuery('#wpfp_notice_'+hash).html('<p>Admin: <abbr title="Check the PHP error log.">Check failed</abbr>.</p>');
187
});
188
}
189
190
- function fv_flowplayer_autoplay( hash ) {
191
- jQuery('#wpfp_'+hash).bind( 'ready', function() {
192
- jQuery('#wpfp_'+hash).flowplayer().play();
193
- });
194
- }
195
196
function fv_flowplayer_amazon_s3( hash, time ) {
197
jQuery('#wpfp_'+hash).bind('error', function (e,api, error) {
@@ -208,11 +218,9 @@ function fv_flowplayer_browser_chrome_fail( hash, sAttributes, sVideo, bAutobuff
208
jQuery('#wpfp_'+hash).bind('error', function (e,api, error) {
209
if( /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) && error != null && ( error.code == 3 || error.code == 4 || error.code == 5 ) ) {
210
api.unload();
211
- var html = jQuery('<div />').append(jQuery('#wpfp_'+hash+' .wpfp_custom_popup').clone()).html();
212
- html += jQuery('<div />').append(jQuery('#wpfp_'+hash+' .wpfp_custom_ad').clone()).html();
213
214
jQuery('#wpfp_'+hash).attr('id','bad_wpfp_'+hash);
215
- jQuery('#bad_wpfp_'+hash).after( '<div id="wpfp_'+hash+'" '+sAttributes+' data-engine="flash">'+html+'</div>' );
216
jQuery('#wpfp_'+hash).flowplayer({ playlist: [ [ {mp4: sVideo} ] ] });
217
// what about scripts?
218
if( bAutobuffer ) {
@@ -231,7 +239,7 @@ function fv_flowplayer_browser_chrome_mp4( hash ) {
231
var chrome_ver = parseInt(match[1], 10);
232
if(
233
( /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) && chrome_ver < 28 && navigator.appVersion.indexOf("Win")!=-1 ) ||
234
- ( /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) && chrome_ver < 27 && navigator.appVersion.indexOf("Linux")!=-1 )
235
) {
236
jQuery('#wpfp_'+hash).attr('data-engine','flash');
237
}
@@ -245,7 +253,7 @@ function fv_flowplayer_browser_ff_m4v( hash ) {
245
}
246
247
function fv_flowplayer_browser_ie( hash ) {
248
- if( (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) >= 9) || !!navigator.userAgent.match(/Trident.*rv[ :]*11\./) ) {
249
jQuery('#wpfp_'+hash).attr('data-engine','flash');
250
}
251
}
@@ -269,8 +277,13 @@ jQuery(document).ready( function() {
269
jQuery(this).find('.embed-code').hide();
270
} );
271
jQuery('.flowplayer .embed-code-toggle').click( function() {
272
- jQuery(this).parent().siblings('.embed-code').toggle();
273
- jQuery(this).parent().parent().toggleClass('visible');
274
return false;
275
} );
276
} );
@@ -326,7 +339,7 @@ function fv_flowplayer_safety_resize() {
326
var fv_flowplayer_safety_resize_init = false;
327
328
jQuery('.flowplayer').each( function() {
329
- if( jQuery(this).hasClass('lightboxed') ) return;
330
331
if( jQuery(this).width() < 30 || jQuery(this).height() < 20 ) {
332
fv_flowplayer_safety_resize_init = true
@@ -344,7 +357,7 @@ function fv_flowplayer_safety_resize() {
344
if( fv_flowplayer_safety_resize_init ) {
345
jQuery(window).resize(function() {
346
jQuery('.flowplayer').each( function() {
347
- if( jQuery(this).hasClass('lightboxed') ) return;
348
349
if( fv_flowplayer_safety_resize_arr[jQuery(this).attr('id')] ) {
350
jQuery(this).width( fv_flowplayer_safety_resize_arr[jQuery(this).attr('id')].width() );
@@ -384,9 +397,18 @@ jQuery(document).ready( function() {
384
}
385
}, 250 );
386
} );
387
} );
388
389
- jQuery( function() { if( typeof(flowplayer.conf) != "undefined" && typeof(flowplayer.conf.key) == "undefined" ) { jQuery('.flowplayer').unbind('contextmenu'); } } );
390
391
if( typeof(fv_flowplayer_playlists) != "undefined" ) {
392
for( var i in fv_flowplayer_playlists ) {
@@ -397,11 +419,7 @@ if( typeof(fv_flowplayer_playlists) != "undefined" ) {
397
var fv_fp_date = new Date();
398
var fv_fp_utime = fv_fp_date.getTime();
399
400
- if( typeof(fv_flowplayer_autoplay_array) != "undefined" ) {
401
- for( var i in fv_flowplayer_autoplay_array ) {
402
- fv_flowplayer_autoplay( i );
403
- }
404
- }
405
if( typeof(fv_flowplayer_browser_ff_m4v_array) != "undefined" ) {
406
for( var i in fv_flowplayer_browser_ff_m4v_array ) {
407
fv_flowplayer_browser_ff_m4v( i );
@@ -453,9 +471,138 @@ if( jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 9 ) {
453
jQuery('.flowplayer').bind("ready", function (e, api, video) {
454
setTimeout( function () {
455
jQuery('.fvp-share-bar',e.currentTarget).appendTo(jQuery('.fvp-share-bar',e.currentTarget).parent().find('.fp-ui'));
456
- jQuery('.fvp-share-bar',e.currentTarget).show();
457
- jQuery(e.currentTarget).find('.fp-embed').hide().click();
458
- jQuery(e.currentTarget).find('.embed-code textarea').val(jQuery(e.currentTarget).find('.fp-embed-code textarea').val());
459
}, 100 );
460
});
461
1
/*!
2
3
+ Flowplayer Unlimited v5.5.2 (2014-11-27) | flowplayer.org/license
4
+
5
+ */!function(e){function a(t,n,r){r=r||"transparent";var i="obj"+(""+Math.random()).slice(2,15),s='<object class="fp-engine" id="'+i+'" name="'+i+'" ';s+=e.browser.msie?'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">':' data="'+t+'" type="application/x-shockwave-flash">';var o={width:"100%",height:"100%",allowscriptaccess:"always",wmode:r,quality:"high",flashvars:"",movie:t+(e.browser.msie?"?"+i:""),name:i};return e.each(n,function(e,t){o.flashvars+=e+"="+t+"&"}),e.each(o,function(e,t){s+='<param name="'+e+'" value="'+t+'"/>'}),s+="</object>",e(s)}function c(e,t){return t=t||100,Math.round(e*t)/t}function h(e){return/mpegurl/i.test(e)?"application/x-mpegurl":"video/"+e}function p(e){return/^(video|application)/i.test(e)||(e=h(e)),!!f.canPlayType(e).replace("no","")}function d(t,n){var r=e.grep(t,function(e){return e.type===n});return r.length?r[0]:null}function b(e){var t=e.attr("src"),n=e.attr("type")||"",r=t.split(y)[1];return n=/mpegurl/i.test(n)?"mpegurl":n.replace("video/",""),{src:t,suffix:r||n,type:n||r}}function w(t){var n=this,r=[];e("source",t).each(function(){r.push(b(e(this)))}),r.length||r.push(b(t)),n.initialSources=r,n.resolve=function(t){return t?(e.isArray(t)?t={sources:e.map(t,function(t){var n,r=e.extend({},t);return e.each(t,function(e,t){n=e}),r.type=n,r.src=t[n],delete r[n],r})}:typeof t=="string"&&(t={src:t,sources:[]},e.each(r,function(e,n){n.type!="flash"&&t.sources.push({type:n.type,src:t.src.replace(y,"."+n.suffix+"$2")})})),t):{sources:r}}}function E(e){return e=parseInt(e,10),e>=10?e:"0"+e}function S(e){e=e||0;var t=Math.floor(e/3600),n=Math.floor(e/60);return e-=n*60,t>=1?(n-=t*60,t+":"+E(n)+":"+E(e)):E(n)+":"+E(e)}!function(e){if(!e.browser){var t=e.browser={},n=navigator.userAgent.toLowerCase(),r=/(chrome)[ \/]([\w.]+)/.exec(n)||/(safari)[ \/]([\w.]+)/.exec(n)||/(webkit)[ \/]([\w.]+)/.exec(n)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(n)||/(msie) ([\w.]+)/.exec(n)||n.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(n)||[];r[1]&&(t[r[1]]=!0,t.version=r[2]||"0")}}(jQuery),e(function(){typeof e.fn.flowplayer=="function"&&e("video").parent(".flowplayer").flowplayer()});var t=[],n=[],r=window.navigator.userAgent;window.flowplayer=function(r){return e.isFunction(r)?n.push(r):typeof r=="number"||r===undefined?t[r||0]:e(r).data("flowplayer")},e(window).on("beforeunload",function(){e.each(t,function(t,n){n.conf.splash?n.unload():n.bind("error",function(){e(".flowplayer.is-error .fp-message").remove()})})});var i=!1;try{typeof window.localStorage=="object"&&(window.localStorage.flowplayerTestStorage="test",i=!0)}catch(s){}var o=/Safari/.exec(navigator.userAgent)&&!/Chrome/.exec(navigator.userAgent);m=/(\d+\.\d+) Safari/.exec(navigator.userAgent),safariVersion=m?Number(m[1]):100,e.extend(flowplayer,{version:"5.5.2",engine:{},conf:{},support:{},defaults:{debug:!1,disabled:!1,engine:"html5",fullscreen:window==window.top,keyboard:!0,ratio:9/16,adaptiveRatio:!1,flashfit:!1,rtmp:0,splash:!1,live:!1,swf:"//releases.flowplayer.org/5.5.2/commercial/flowplayer.swf",speeds:[.25,.5,1,1.5,2],tooltip:!0,volume:i?localStorage.muted=="true"?0:isNaN(localStorage.volume)?1:localStorage.volume||1:1,errors:["","Video loading aborted","Network error","Video not properly encoded","Video file not found","Unsupported video","Skin not found","SWF file not found","Subtitles not found","Invalid RTMP URL","Unsupported video format. Try installing Adobe Flash."],errorUrls:["","","","","","","","","","","http://get.adobe.com/flashplayer/"],playlist:[],hlsFix:o&&safariVersion<8}});var u=1;e.fn.flowplayer=function(r,s){return typeof r=="string"&&(r={swf:r}),e.isFunction(r)&&(s=r,r={}),!r&&this.data("flowplayer")||this.each(function(){var o=e(this).addClass("is-loading"),a=e.extend({},flowplayer.defaults,flowplayer.conf,r,o.data()),f=e("video",o).addClass("fp-engine").removeAttr("controls"),l=f.length?new w(f):null,c={},h,p;if(a.playlist.length){var d=a.preload||f.attr("preload"),v;f.length&&f.replaceWith(v=e("<p />")),f=e("<video />").addClass("fp-engine"),v?v.replaceWith(f):o.prepend(f),flowplayer.support.video&&f.attr("preload",d),typeof a.playlist[0]=="string"?f.attr("src",a.playlist[0]):e.each(a.playlist[0],function(t,n){for(var r in n)n.hasOwnProperty(r)&&f.append(e("<source />").attr({type:"video/"+r,src:n[r]}))}),l=new w(f)}var m=o.data("flowplayer");m&&m.unload(),o.data("fp-player_id",o.data("fp-player_id")||u++);try{c=i?window.localStorage:c}catch(g){}var y=this.currentStyle&&this.currentStyle.direction==="rtl"||window.getComputedStyle&&window.getComputedStyle(this,null).getPropertyValue("direction")==="rtl";y&&o.addClass("is-rtl");var b=m||{conf:a,currentSpeed:1,volumeLevel:typeof a.volume=="undefined"?c.volume*1:a.volume,video:{},disabled:!1,finished:!1,loading:!1,muted:c.muted=="true"||a.muted,paused:!1,playing:!1,ready:!1,splash:!1,rtl:y,load:function(t,n){if(b.error||b.loading||b.disabled)return;t=l.resolve(t),e.extend(t,p.pick(t.sources));if(t.src){var r=e.Event("load");o.trigger(r,[b,t,p]),r.isDefaultPrevented()?b.loading=!1:(p.load(t),e.isFunction(t)&&(n=t),n&&o.one("ready",n))}return b},pause:function(e){return b.ready&&!b.seeking&&!b.disabled&&!b.loading&&(p.pause(),b.one("pause",e)),b},resume:function(){return b.ready&&b.paused&&!b.disabled&&(p.resume(),b.finished&&(b.trigger("resume",[b]),b.finished=!1)),b},toggle:function(){return b.ready?b.paused?b.resume():b.pause():b.load()},seek:function(t,n){if(b.ready&&!b.live){if(typeof t=="boolean"){var r=b.video.duration*.1;t=b.video.time+(t?r:-r)}t=h=Math.min(Math.max(t,0),b.video.duration).toFixed(1);var i=e.Event("beforeseek");o.trigger(i,[b,t]),i.isDefaultPrevented()?(b.seeking=!1,o.toggleClass("is-seeking",b.seeking)):(p.seek(t),e.isFunction(n)&&o.one("seek",n))}return b},seekTo:function(e,t){var n=e===undefined?h:b.video.duration*.1*e;return b.seek(n,t)},mute:function(e){return e===undefined&&(e=!b.muted),c.muted=b.muted=e,c.volume=isNaN(c.volume)?a.volume:c.volume,b.volume(e?0:c.volume,!0),b.trigger("mute",e),b},volume:function(e,t){return b.ready&&(e=Math.min(Math.max(e,0),1),t||(c.volume=e),p.volume(e)),b},speed:function(t,n){return b.ready&&(typeof t=="boolean"&&(t=a.speeds[e.inArray(b.currentSpeed,a.speeds)+(t?1:-1)]||b.currentSpeed),p.speed(t),n&&o.one("speed",n)),b},stop:function(){return b.ready&&(b.pause(),b.seek(0,function(){o.trigger("stop")})),b},unload:function(){return o.hasClass("is-embedding")||(a.splash?(b.trigger("unload"),p.unload()):b.stop()),b},disable:function(e){return e===undefined&&(e=!b.disabled),e!=b.disabled&&(b.disabled=e,b.trigger("disable",e)),b}};b.conf=e.extend(b.conf,a),e.each(["bind","one","unbind"],function(e,t){b[t]=function(e,n){return o[t](e,n),b}}),b.trigger=function(e,t){return o.trigger(e,[b,t]),b},o.data("flowplayer")||o.bind("boot",function(){e.each(["autoplay","loop","preload","poster"],function(e,t){var n=f.attr(t);n!==undefined&&(a[t]=n?n:!0)});if(a.splash||o.hasClass("is-splash")||!flowplayer.support.firstframe)b.forcedSplash=!a.splash&&!o.hasClass("is-splash"),b.splash=a.splash=a.autoplay=!0,o.addClass("is-splash"),flowplayer.support.video&&f.attr("preload","none");if(a.live||o.hasClass("is-live"))b.live=a.live=!0,o.addClass("is-live");e.each(n,function(e){this(b,o)}),p=flowplayer.engine[a.engine],p&&(p=p(b,o)),p.pick(l.initialSources)?b.engine=a.engine:e.each(flowplayer.engine,function(e,t){if(e!=a.engine){p=this(b,o);if(p.pick(l.initialSources))return b.engine=e,!1}}),t.push(b);if(!b.engine)return b.trigger("error",{code:flowplayer.support.flashVideo?5:10});a.splash?b.unload():b.load(),a.disabled&&b.disable(),p.volume(b.volumeLevel),o.one("ready",s)}).bind("load",function(t,n,r){a.splash&&e(".flowplayer").filter(".is-ready, .is-loading").not(o).each(function(){var t=e(this).data("flowplayer");t.conf.splash&&t.unload()}),o.addClass("is-loading"),n.loading=!0}).bind("ready",function(e,t,n){function r(){o.removeClass("is-loading"),t.loading=!1}n.time=0,t.video=n,a.splash?o.one("progress",r):r(),t.muted?t.mute(!0):t.volume(t.volumeLevel);var i=t.conf.hlsFix&&/mpegurl/i.exec(n.type);o.toggleClass("hls-fix",!!i)}).bind("unload",function(e){a.splash&&f.remove(),o.removeClass("is-loading"),b.loading=!1}).bind("ready unload",function(e){var t=e.type=="ready";o.toggleClass("is-splash",!t).toggleClass("is-ready",t),b.ready=t,b.splash=!t}).bind("progress",function(e,t,n){t.video.time=n}).bind("speed",function(e,t,n){t.currentSpeed=n}).bind("volume",function(e,t,n){t.volumeLevel=Math.round(n*100)/100,t.muted?n&&t.mute(!1):c.volume=n}).bind("beforeseek seek",function(e){b.seeking=e.type=="beforeseek",o.toggleClass("is-seeking",b.seeking)}).bind("ready pause resume unload finish stop",function(e,t,n){b.paused=/pause|finish|unload|stop/.test(e.type),e.type=="ready"&&(b.paused=a.preload=="none",n&&(b.paused=!n.duration||!a.autoplay&&a.preload!="none")),b.playing=!b.paused,o.toggleClass("is-paused",b.paused).toggleClass("is-playing",b.playing),b.load.ed||b.pause()}).bind("finish",function(e){b.finished=!0}).bind("error",function(){f.remove()}),o.trigger("boot",[b,o]).data("flowplayer",b)})},!function(){var t=function(e){var t=/Version\/(\d\.\d)/.exec(e);return t&&t.length>1?parseFloat(t[1],10):0},n=flowplayer.support,r=e.browser,i=e("<video loop autoplay preload/>")[0],s=navigator.userAgent,o=r.msie||/Trident\/7/.test(s),u=/iPad|MeeGo/.test(s)&&!/CriOS/.test(s),a=/iPad/.test(s)&&/CriOS/.test(s),f=/iP(hone|od)/i.test(s)&&!/iPad/.test(s),l=/Android/.test(s)&&!/Firefox/.test(s),c=/Android/.test(s)&&/Firefox/.test(s),h=/Silk/.test(s),p=/IEMobile/.test(s),d=p?parseFloat(/Windows\ Phone\ (\d+\.\d+)/.exec(s)[1],10):0,v=p?parseFloat(/IEMobile\/(\d+\.\d+)/.exec(s)[1],10):0,m=u?t(s):0,g=l?parseFloat(/Android\ (\d\.\d)/.exec(s)[1],10):0;e.extend(n,{subtitles:!!i.addTextTrack,fullscreen:typeof document.webkitCancelFullScreen=="function"&&!/Mac OS X 10_5.+Version\/5\.0\.\d Safari/.test(s)||document.mozFullScreenEnabled||typeof document.exitFullscreen=="function"||typeof document.msExitFullscreen=="function",inlineBlock:!(o&&r.version<8),touch:"ontouchstart"in window,dataload:!u&&!f&&!p,zeropreload:!o&&!l,volume:!u&&!l&&!f&&!h&&!a,cachedVideoTag:!u&&!f&&!a&&!p,firstframe:!f&&!u&&!l&&!h&&!a&&!p&&!c,inlineVideo:!f&&(!p||d>=8.1&&v>=11)&&(!l||g>=3),hlsDuration:!l&&(!r.safari||u||f||a),seekable:!u&&!a});try{var y=navigator.plugins["Shockwave Flash"],b=o?(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version"):y.description;!o&&!y[0].enabledPlugin?n.flashVideo=!1:(b=b.split(/\D+/),b.length&&!b[0]&&(b=b.slice(1)),n.flashVideo=b[0]>9||b[0]==9&&b[3]>=115)}catch(w){}try{n.video=!!i.canPlayType,n.video&&i.canPlayType("video/mp4")}catch(E){n.video=!1}n.animation=function(){var t=["","Webkit","Moz","O","ms","Khtml"],n=e("<p/>")[0];for(var r=0;r<t.length;r++)if(n.style[t[r]+"AnimationName"]!=="undefined")return!0}()}(),window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_savedUnloadHandler=__flash_unloadHandler=function(){}}),flowplayer.engine.flash=function(t,n){var r=t.conf,i=t.video,s,o,u,f=e(window),l=function(){if(C=="webkit"||D){var r=e("object param[name='flashvars']",n),i=(r.attr("value")||"").split("&");e.each(i,function(e,n){n=n.split("=");if(n[0]=="url"&&n[1]!=t.video.url)return i[e]="url="+t.video.url,r.attr({value:i.join("&")}),!1})}},c=function(r){var i=n.height(),s=n.width();if(t.conf.flashfit||/full/.test(r.type)){var o=t.isFullscreen,u=o&&O,a=!flowplayer.support.inlineBlock,l=o?u?screen.width:f.width():s,c=o?u?screen.height:f.height():i,h=0,p=0,d=a?s:"",v=a?i:"",m,g;if(t.conf.flashfit||r.type==="fullscreen")m=t.video.width/t.video.height,g=t.video.height/t.video.width,v=Math.max(g*l),d=Math.max(m*c),v=v>c?d*g:v,v=Math.min(Math.round(v),c),d=d>l?v*m:d,d=Math.min(Math.round(d),l),p=Math.max(Math.round((c+p-v)/2),0),h=Math.max(Math.round((l+h-d)/2),0);e("object",n).css({width:d,height:v,marginTop:p,marginLeft:h})}},h={pick:function(t){if(flowplayer.support.flashVideo){var n=e.grep(t,function(e){return e.type=="flash"})[0];if(n)return n;for(var r=0,i;r<t.length;r++){i=t[r];if(/mp4|flv/i.test(i.type))return i}}},load:function(i){function f(e){return e.replace(/&amp;/g,"%26").replace(/&/g,"%26").replace(/=/g,"%3D")}var h=e("video",n),p=f(i.src);is_absolute=/^https?:/.test(p);var d=function(){h.remove()},v=function(t){return e.grep(t,function(e){return!!h[0].canPlayType("video/"+e.type)}).length>0};flowplayer.support.video&&h.prop("autoplay")&&v(i.sources)?h.one("timeupdate",d):d(),!is_absolute&&!r.rtmp&&(p=e("<img/>").attr("src",p)[0].src);if(u)u.__play(p);else{t.bind("ready",l).bind("ready fullscreen fullscreen-exit",c),s="fp"+(""+Math.random()).slice(3,15);var m={hostname:r.embedded?r.hostname:location.hostname,url:p,callback:"jQuery."+s};n.data("origin")&&(m.origin=n.data("origin")),is_absolute&&delete r.rtmp,e.each(["key","autoplay","preload","rtmp","subscribe","live","loop","debug","splash","poster","rtmpt"],function(e,t){r.hasOwnProperty(t)&&(m[t]=r[t])}),r.bufferTime!==undefined&&(m.bufferTime=r.bufferTime),m.rtmp&&(m.rtmp=f(m.rtmp)),m.initialVolume=t.volumeLevel,o=a(r.swf,m,r.wmode),o.prependTo(n),u=o[0],setTimeout(function(){try{if(!u.PercentLoaded())return n.trigger("error",[t,{code:7,url:r.swf}])}catch(e){}},5e3),setTimeout(function(){typeof u.PercentLoaded=="undefined"&&n.trigger("flashdisabled",[t])},1e3),u.pollInterval=setInterval(function(){if(!u)return;var e=u.__status?u.__status():null;if(!e)return;t.trigger("progress",e.time),i.buffer=e.buffer/i.bytes*i.duration,t.trigger("buffer",i.buffer),!i.buffered&&e.time>0&&(i.buffered=!0,t.trigger("buffered"))},250),e[s]=function(n,s){r.debug&&console.log("--",n,s);var o=e.Event(n);switch(n){case"ready":s=e.extend(i,s);break;case"click":o.flash=!0;break;case"keydown":o.which=s;break;case"seek":i.time=s}n!="buffered"&&setTimeout(function(){t.trigger(o,s)},1)}}},speed:e.noop,unload:function(){u&&u.__unload&&u.__unload(),delete e[s],e("object",n).remove(),u=0,t.unbind("ready",l).unbind("ready fullscreen fullscreen-exit",c),clearInterval(u.pollInterval)}};return e.each("pause,resume,seek,volume".split(","),function(e,r){h[r]=function(e){try{t.ready&&(r=="seek"&&t.video.time&&!t.paused&&t.trigger("beforeseek"),e===undefined?u["__"+r]():u["__"+r](e))}catch(i){if(typeof u["__"+r]=="undefined")return n.trigger("flashdisabled",[t]);throw i}}}),h};var f=e("<video/>")[0],l={ended:"finish",pause:"pause",play:"resume",progress:"buffer",timeupdate:"progress",volumechange:"volume",ratechange:"speed",seeked:"seek",loadeddata:"ready",error:"error",dataunavailable:"error"},v,g=function(t){return v?v.attr({type:h(t.type),src:t.src}):v=e("<video/>",{src:t.src,type:h(t.type),"class":"fp-engine",autoplay:"autoplay",preload:"none","x-webkit-airplay":"allow"})};flowplayer.engine.html5=function(t,n){function m(r,s,u){if(r.listeners&&r.listeners.hasOwnProperty(n.data("fp-player_id")))return;(r.listeners||(r.listeners={}))[n.data("fp-player_id")]=!0,s.bind("error",function(n){try{if(n.originalEvent&&e(n.originalEvent.originalTarget).is("img"))return n.preventDefault();p(e(n.target).attr("type"))&&t.trigger("error",{code:4})}catch(r){}}),e.each(l,function(s,f){r.addEventListener(s,function(l){f=="progress"&&l.srcElement&&l.srcElement.readyState===0&&setTimeout(function(){!t.video.duration&&(!t.conf.live||t.video.type==="mpegurl"&&i.hlsDuration)&&(f="error",t.trigger(f,{code:4}))},1e4),o.debug&&!/progress/.test(f)&&console.log(s,"->",f,l);if(!t.ready&&!/ready|error/.test(f)||!f||!e("video",n).length)return;var h=e.Event(f),p,d;switch(f){case"ready":p=e.extend(u,{duration:r.duration,width:r.videoWidth,height:r.videoHeight,url:r.currentSrc,src:r.currentSrc});try{p.seekable=!o.live&&/mpegurl/i.test(u?u.type||"":"")&&r.duration||r.seekable&&r.seekable.end(null)}catch(v){}a=a||setInterval(function(){try{p.buffer=r.buffered.end(null)}catch(e){}p.buffer&&(c(p.buffer,1e3)<c(p.duration,1e3)&&!p.buffered?t.trigger("buffer",l):p.buffered||(p.buffered=!0,t.trigger("buffer",l).trigger("buffered",l),clearInterval(a),a=0))},250);if(!o.live&&!p.duration&&!i.hlsDuration&&s==="loadeddata"){var m=function(){p.duration=r.duration;try{p.seekable=r.seekable&&r.seekable.end(null)}catch(e){}t.trigger(h,p),r.removeEventListener("durationchange",m)};r.addEventListener("durationchange",m);return}break;case"progress":case"seek":var g=t.video.duration;if(r.currentTime>0||t.live){p=Math.max(r.currentTime,0);break}if(f=="progress")return;case"speed":p=c(r.playbackRate);break;case"volume":p=c(r.volume);break;case"error":try{p=(l.srcElement||l.originalTarget).error}catch(y){return}}t.trigger(h,p)},!1)})}var r=e("video",n),i=flowplayer.support,s=e("track",r),o=t.conf,u,a,f,h;return u={pick:function(e){if(i.video){if(o.videoTypePreference){var t=d(e,o.videoTypePreference);if(t)return t}for(var n=0,r;n<e.length;n++)if(p(e[n].type))return e[n]}},load:function(s){if(o.splash&&!f)r=g(s).prependTo(n),i.inlineVideo||r.css({position:"absolute",top:"-9999em"}),o.loop&&r.attr("loop","loop"),f=r[0],typeof h!="undefined"&&(f.volume=h);else{f=r[0];var u=r.find("source");!f.src&&u.length&&(f.src=s.src,u.remove());if(t.video.src&&s.src!=t.video.src)r.attr("autoplay","autoplay"),f.src=s.src;else if(o.preload=="none"||!i.dataload)i.zeropreload?t.trigger("ready",s).trigger("pause").one("ready",function(){n.trigger("resume",[t])}):t.one("ready",function(){n.trigger("pause",[t])})}m(f,e("source",r).add(r),s),(o.preload!="none"&&s.type!="mpegurl"||!i.zeropreload||!i.dataload)&&f.load(),o.splash&&f.load()},pause:function(){f.pause()},resume:function(){f.play()},speed:function(e){f.playbackRate=e},seek:function(e){try{var n=t.paused;f.currentTime=e,n&&f.pause()}catch(r){}},volume:function(e){h=e,f&&(f.volume=e)},unload:function(){e("video.fp-engine",n).remove(),i.cachedVideoTag||(v=null),a=clearInterval(a),f=0}}};var y=/\.(\w{3,4})(\?.*)?#x2F;i;e.throttle=function(e,t){var n;return function(){n||(e.apply(this,arguments),n=1,setTimeout(function(){n=0},t))}},e.fn.slider2=function(t){var n=/iPad/.test(navigator.userAgent)&&!/CriOS/.test(navigator.userAgent);return this.each(function(){var r=e(this),i=e(document),s=r.children(":last"),o,u,a,f,l,c,h,p,d=!1,v=function(){u=r.offset(),a=r.width(),f=r.height(),c=l?f:a,p=b(h)},m=function(e){!o&&e!=w.value&&(!h||e<h)&&(r.trigger("slide",[e]),w.value=e)},g=function(e){var n=e.pageX;!n&&e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length&&(n=e.originalEvent.touches[0].pageX);var r=l?e.pageY-u.top:n-u.left;r=Math.max(0,Math.min(p||c,r));var i=r/c;return l&&(i=1-i),t&&(i=1-i),y(i,0,!0)},y=function(e,t){t===undefined&&(t=0),e>1&&(e=1);var r=Math.round(e*1e3)/10+"%";if(!h||e<=h)!n&&!d&&s.stop(),d?s.css("width",r):s.animate(l?{height:r}:{width:r},t,"linear");return e},b=function(e){return Math.max(0,Math.min(c,l?(1-e)*f:e*a))},w={max:function(e){h=e},disable:function(e){o=e},slide:function(e,t,n){v(),n&&m(e),y(e,t)},disableAnimation:function(e,t){d=e!==!1,r.toggleClass("no-animation",!!t)}};v(),r.data("api",w).bind("mousedown.sld touchstart",function(t){t.preventDefault();if(!o){var n=e.throttle(m,100);v(),w.dragging=!0,r.addClass("is-dragging"),m(g(t)),i.bind("mousemove.sld touchmove",function(e){e.preventDefault(),n(g(e))}).one("mouseup touchend",function(){w.dragging=!1,r.removeClass("is-dragging"),i.unbind("mousemove.sld touchmove")})}})})},flowplayer(function(t,n){function o(t){return e(".fp-"+t,n)}function T(t){if(n.css("width")==="0px"||n.css("height")==="0px"||t!==flowplayer.defaults.ratio)parseInt(v,10)||h.css("paddingTop",t*100+"%");i.inlineBlock||e("object",n).height(n.height())}function N(e){n.toggleClass("is-mouseover",e).toggleClass("is-mouseout",!e)}var r=t.conf,i=flowplayer.support,s;n.find(".fp-ratio,.fp-ui").remove(),n.addClass("flowplayer").append(' <div class="ratio"/> <div class="ui"> <div class="waiting"><em/><em/><em/></div> <a class="fullscreen"/> <a class="unload"/> <p class="speed"/> <div class="controls"> <a class="play"></a> <div class="timeline"> <div class="buffer"/> <div class="progress"/> </div> <div class="volume"> <a class="mute"></a> <div class="volumeslider"> <div class="volumelevel"/> </div> </div> </div> <div class="time"> <em class="elapsed">00:00</em> <em class="remaining"/> <em class="duration">00:00</em> </div> <div class="message"><h2/><p/></div> </div>'.replace(/class="/g,'class="fp-'));var u=o("progress"),a=o("buffer"),f=o("elapsed"),l=o("remaining"),c=o("waiting"),h=o("ratio"),p=o("speed"),d=o("duration"),v=h.css("paddingTop"),m=o("timeline").slider2(t.rtl),g=m.data("api"),y=o("volume"),b=o("fullscreen"),w=o("volumeslider").slider2(t.rtl),E=w.data("api"),x=n.is(".fixed-controls, .no-toggle");g.disableAnimation(n.hasClass("is-touch")),i.animation||c.html("<p>loading &hellip;</p>"),T(r.ratio);try{r.fullscreen||b.remove()}catch(C){b.remove()}t.bind("ready",function(){var e=t.video.duration;g.disable(t.disabled||!e),r.adaptiveRatio&&T(t.video.height/t.video.width),d.add(l).html(S(e)),e>=3600&&n.addClass("is-long")||n.removeClass("is-long"),E.slide(t.volumeLevel),t.engine==="flash"&&g.disableAnimation(!0,!0)}).bind("unload",function(){v||h.css("paddingTop","")}).bind("buffer",function(){var e=t.video,n=e.buffer/e.duration;!e.seekable&&i.seekable&&g.max(n),n<1?a.css("width",n*100+"%"):a.css({width:"100%"})}).bind("speed",function(e,t,n){p.text(n+"x").addClass("fp-hilite"),setTimeout(function(){p.removeClass("fp-hilite")},1e3)}).bind("buffered",function(){a.css({width:"100%"}),g.max(1)}).bind("progress",function(){var e=t.video.time,n=t.video.duration;g.dragging||g.slide(e/n,t.seeking?0:250),f.html(S(e)),l.html("-"+S(n-e))}).bind("finish resume seek",function(e){n.toggleClass("is-finished",e.type=="finish")}).bind("stop",function(){f.html(S(0)),g.slide(0,100)}).bind("finish",function(){f.html(S(t.video.duration)),g.slide(1,100),n.removeClass("is-seeking")}).bind("beforeseek",function(){u.stop()}).bind("volume",function(){E.slide(t.volumeLevel)}).bind("disable",function(){var e=t.disabled;g.disable(e),E.disable(e),n.toggleClass("is-disabled",t.disabled)}).bind("mute",function(e,t,r){n.toggleClass("is-muted",r)}).bind("error",function(t,i,s){n.removeClass("is-loading").addClass("is-error");if(s){s.message=r.errors[s.code],i.error=!0;var o=e(".fp-message",n);e("h2",o).text((i.engine||"html5")+": "+s.message),e("p",o).text(s.url||i.video.url||i.video.src||r.errorUrls[s.code]),n.unbind("mouseenter click").removeClass("is-mouseover")}}).bind("mouseenter mouseleave",function(e){if(x)return;var t=e.type=="mouseenter",r;N(t),t?(n.bind("pause.x mousemove.x volume.x",function(){N(!0),r=new Date}),s=setInterval(function(){new Date-r>( flowplayer.support.touch ? 5e3 : 2e3 )&&(N(!1),r=new Date)},100)):(n.unbind(".x"),clearInterval(s))}).bind("mouseleave",function(){(g.dragging||E.dragging)&&n.addClass("is-mouseover").removeClass("is-mouseout")}).bind("click.player",function(n){if(e(n.target).is(".fp-ui, .fp-engine")||n.flash)return n.preventDefault(),t.toggle()}).bind("contextmenu",function(t){t.preventDefault();var r=n.offset(),i=e(window),s=t.clientX-r.left,o=t.clientY-r.top+i.scrollTop(),u=n.find(".fp-context-menu").css({left:s+"px",top:o+"px",display:"block"}).on("click",function(e){e.stopPropagation()});e("html").on("click.outsidemenu",function(t){u.hide(),e("html").off("click.outsidemenu")})}).bind("flashdisabled",function(){n.addClass("is-flash-disabled").one("ready",function(){n.removeClass("is-flash-disabled").find(".fp-flash-disabled").remove()}).append('<div class="fp-flash-disabled">Adobe Flash is disabled for this page, click player area to enable.</div>')}),r.poster&&n.css("backgroundImage","url("+r.poster+")");var k=n.css("backgroundColor"),L=n.css("backgroundImage")!="none"||k&&k!="rgba(0, 0, 0, 0)"&&k!="transparent";L&&!r.splash&&!r.autoplay&&t.bind("ready stop",function(){n.addClass("is-poster").one("progress",function(){n.removeClass("is-poster")})}),!L&&t.forcedSplash&&n.css("backgroundColor","#555"),e(".fp-toggle, .fp-play",n).click(t.toggle),e.each(["mute","fullscreen","unload"],function(e,n){o(n).click(function(){t[n]()})}),m.bind("slide",function(e,n){t.seeking=!0,t.seek(n*t.video.duration)}),w.bind("slide",function(e,n){t.volume(n)}),o("time").click(function(t){e(this).toggleClass("is-inverted")}),N(x)});var x,T,N="is-help";e(document).bind("keydown.fp",function(t){var n=x,r=t.ctrlKey||t.metaKey||t.altKey,i=t.which,s=n&&n.conf;if(!n||!s.keyboard||n.disabled)return;if(e.inArray(i,[63,187,191])!=-1)return T.toggleClass(N),!1;if(i==27&&T.hasClass(N))return T.toggleClass(N),!1;if(!r&&n.ready){t.preventDefault();if(t.shiftKey){i==39?n.speed(!0):i==37&&n.speed(!1);return}if(i<58&&i>47)return n.seekTo(i-48);switch(i){case 38:case 75:n.volume(n.volumeLevel+.15);break;case 40:case 74:n.volume(n.volumeLevel-.15);break;case 39:case 76:n.seeking=!0,n.seek(!0);break;case 37:case 72:n.seeking=!0,n.seek(!1);break;case 190:n.seekTo();break;case 32:n.toggle();break;case 70:s.fullscreen&&n.fullscreen();break;case 77:n.mute();break;case 81:n.unload()}}}),flowplayer(function(t,n){if(!t.conf.keyboard)return;n.bind("mouseenter mouseleave",function(e){x=!t.disabled&&e.type=="mouseenter"?t:0,x&&(T=n)});var r=flowplayer.support.video&&t.conf.engine!=="flash"&&!!e("<video/>")[0].playbackRate?"<p><em>shift</em> + <em>&#8592;</em><em>&#8594;</em>slower / faster</p>":"";n.append(' <div class="fp-help"> <a class="fp-close"></a> <div class="fp-help-section fp-help-basics"> <p><em>space</em>play / pause</p> <p><em>q</em>unload | stop</p> <p><em>f</em>fullscreen</p>'+r+' </div> <div class="fp-help-section"> <p><em>&#8593;</em><em>&#8595;</em>volume</p> <p><em>m</em>mute</p> </div> <div class="fp-help-section"> <p><em>&#8592;</em><em>&#8594;</em>seek</p> <p><em>&nbsp;. </em>seek to previous </p><p><em>1</em><em>2</em>&hellip; <em>6</em> seek to 10%, 20% &hellip; 60% </p> </div> </div> '),t.conf.tooltip&&e(".fp-ui",n).attr("title","Hit ? for help").on("mouseout.tip",function(){e(this).removeAttr("title").off("mouseout.tip")}),e(".fp-close",n).click(function(){n.toggleClass(N)})});var C=e.browser.mozilla?"moz":"webkit",k="fullscreen",L="fullscreen-exit",A,O=flowplayer.support.fullscreen,M=typeof document.exitFullscreen=="function",_=navigator.userAgent.toLowerCase(),D=/(safari)[ \/]([\w.]+)/.exec(_)&&!/(chrome)[ \/]([\w.]+)/.exec(_);e(document).bind("fullscreenchange webkitfullscreenchange mozfullscreenchange MSFullscreenChange",function(t){var n=e(document.webkitCurrentFullScreenElement||document.mozFullScreenElement||document.fullscreenElement||document.msFullscreenElement||t.target);n.length&&!A?A=n.trigger(k,[n]):(A.trigger(L,[A]),A=null)}),flowplayer(function(t,n){if(!t.conf.fullscreen)return;var r=e(window),i={apply:!1,pos:0,play:!1},s;t.isFullscreen=!1,t.fullscreen=function(o){if(t.disabled)return;o===undefined&&(o=!t.isFullscreen),o&&(s=r.scrollTop()),(C=="webkit"||D)&&t.engine=="flash"&&(i={apply:!0,pos:t.video.time,play:t.playing});if(O)if(o){var u=n[0];e.each(["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"],function(e,t){if(typeof u[t]=="function")return u[t](Element.ALLOW_KEYBOARD_INPUT),D&&!document.webkitCurrentFullScreenElement&&!document.mozFullScreenElement&&u[t](),!1})}else e.each(["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"],function(e,t){if(typeof document[t]=="function")return document[t](),!1});else t.trigger(o?k:L,[t]);return t};var o;n.bind("mousedown.fs",function(){+(new Date)-o<150&&t.ready&&t.fullscreen(),o=+(new Date)}),t.bind(k,function(e){n.addClass("is-fullscreen"),t.isFullscreen=!0}).bind(L,function(e){var i;!O&&t.engine==="html5"&&(i=n.css("opacity")||"",n.css("opacity",0)),n.removeClass("is-fullscreen"),!O&&t.engine==="html5"&&setTimeout(function(){n.css("opacity",i)}),t.isFullscreen=!1,r.scrollTop(s)}).bind("ready",function(){if(i.apply){var n=function(){!i.play&&!t.conf.live?t.pause():t.resume(),e.extend(i,{pos:0,play:!1})};t.conf.live?n():t.conf.rtmp&&i.pos&&!isNaN(i.pos)?(t.resume(),t.seek(i.pos,n)):n()}})}),flowplayer(function(t,n){function s(){return e(r.query,n)}function o(){return e(r.query+"."+i,n)}var r=e.extend({active:"is-active",advance:!0,query:".fp-playlist a"},t.conf),i=r.active;t.play=function(n){return n===undefined?t.resume():typeof n=="number"&&!t.conf.playlist[n]?t:(typeof n!="number"&&t.load.apply(null,arguments),t.unbind("resume.fromfirst"),t.video.index=n,t.load(typeof t.conf.playlist[n]=="string"?t.conf.playlist[n].toString():e.map(t.conf.playlist[n],function(t){return e.extend({},t)})),t)},t.next=function(e){e&&e.preventDefault();var n=t.video.index;return n!=-1&&(n=n===t.conf.playlist.length-1?0:n+1,t.play(n)),t},t.prev=function(e){e&&e.preventDefault();var n=t.video.index;return n!=-1&&(n=n===0?t.conf.playlist.length-1:n-1,t.play(n)),t},e(".fp-next",n).click(t.next),e(".fp-prev",n).click(t.prev),r.advance&&n.unbind("finish.pl").bind("finish.pl",function(e,t){var i=t.video.index>=0?t.video.index+1:undefined;i<t.conf.playlist.length||r.loop?(i=i===t.conf.playlist.length?0:i,n.removeClass("is-finished"),setTimeout(function(){t.play(i)})):(n.addClass("is-playing"),t.conf.playlist.length>1&&t.one("resume.fromfirst",function(){return t.play(0),!1}))});var u=!1;if(t.conf.playlist.length){u=!0;var a=n.find(".fp-playlist");if(!a.length){a=e('<div class="fp-playlist"></div>');var f=e(".fp-next,.fp-prev",n);f.length?f.eq(0).before(a):e("video",n).after(a)}a.empty(),e.each(t.conf.playlist,function(t,n){var r;if(typeof n=="string")r=n;else for(var i in n[0])if(n[0].hasOwnProperty(i)){r=n[0][i];break}a.append(e("<a />").attr({href:r,"data-index":t}))})}if(s().length){u||(t.conf.playlist=[],s().each(function(){var n=e(this).attr("href");e(this).attr("data-index",t.conf.playlist.length),t.conf.playlist.push(n)})),n.on("click",r.query,function(n){n.preventDefault();var i=e(n.target).closest(r.query),s=Number(i.attr("data-index"));s!=-1&&t.play(s)});var l=s().filter("[data-cuepoints]").length;t.bind("load",function(r,s,u){var a=o().removeClass(i),f=a.attr("data-index"),c=u.index=t.video.index||0,h=e('a[data-index="'+c+'"]',n).addClass(i),p=c==t.conf.playlist.length-1;n.removeClass("video"+f).addClass("video"+c).toggleClass("last-video",p),u.index=s.video.index=c,u.is_last=s.video.is_last=p,l&&(t.cuepoints=h.data("cuepoints"))}).bind("unload.pl",function(){o().toggleClass(i)})}t.conf.playlist.length&&(t.conf.loop=!1)});var P=/ ?cue\d+ ?/;flowplayer(function(t,n){function i(e){n[0].className=n[0].className.replace(P," "),e>=0&&n.addClass("cue"+e)}var r=0;t.cuepoints=t.conf.cuepoints||[],t.bind("progress",function(e,s,o){if(r&&o-r<.015)return r=o;r=o;var u=t.cuepoints||[];for(var a=0,f;a<u.length;a++)f=u[a],isNaN(f)||(f={time:f}),f.time<0&&(f.time=t.video.duration+f.time),f.index=a,Math.abs(f.time-o)<.125*t.currentSpeed&&(i(a),n.trigger("cuepoint",[t,f]))}).bind("unload seek",i),t.conf.generate_cuepoints&&t.bind("load",function(){e(".fp-cuepoint",n).remove()}).bind("ready",function(){var r=t.cuepoints||[],i=t.video.duration,s=e(".fp-timeline",n).css("overflow","visible");e.each(r,function(n,r){var o=r.time||r;o<0&&(o=i+r);var u=e("<a/>").addClass("fp-cuepoint fp-cuepoint"+n).css("left",o/i*100+"%");u.appendTo(s).mousedown(function(){return t.seek(o),!1})})})}),flowplayer(function(t,n,r){function a(e){var t=e.split(":");return t.length==2&&t.unshift(0),t[0]*60*60+t[1]*60+parseFloat(t[2].replace(",","."))}var i=e("track",n),s=t.conf;if(flowplayer.support.subtitles){t.subtitles=i.length&&i[0].track;if(s.nativesubtitles&&s.engine=="html5"){if(!t.subtitles)return;var o=function(t){var r=e("video",n)[0].textTracks;if(!r.length)return;r[0].mode=t};o("disabled"),t.one("ready",function(){t.conf.splash&&e("video.fp-engine",n).append(e("<track />").attr({kind:"subtitles",srclang:t.subtitles.language||"en",label:t.subtitles.language||"en",src:i.attr("src"),"default":"default"})),o("disabled"),o("showing")});return}}i.remove();var u=/^(([0-9]{2}:){1,2}[0-9]{2}[,.][0-9]{3}) --\> (([0-9]{2}:){1,2}[0-9]{2}[,.][0-9]{3})(.*)/;t.subtitles=[];var f=i.attr("src");if(!f)return;setTimeout(function(){e.get(f,function(n){for(var r=0,i=n.split("\n"),s=i.length,o={},f,l,c,h;r<s;r++){l=u.exec(i[r]);if(l){f=i[r-1],c="<p>"+i[++r]+"</p><br/>";while(e.trim(i[++r])&&r<i.length)c+="<p>"+i[r]+"</p><br/>";o={title:f,startTime:a(l[1]),endTime:a(l[3]),text:c},h={time:o.startTime,subtitle:o},t.subtitles.push(o),t.cuepoints.push(h),t.cuepoints
6
+ .push({time:o.endTime,subtitleEnd:f}),o.startTime===0&&t.trigger("cuepoint",h)}}}).fail(function(){return t.trigger("error",{code:8,url:f}),!1})});var l=e("<div class='fp-subtitle'/>").appendTo(n),c;t.bind("cuepoint",function(e,t,n){n.subtitle?(c=n.index,l.html(n.subtitle.text).addClass("fp-active")):n.subtitleEnd&&(l.removeClass("fp-active"),c=n.index)}).bind("seek",function(n,r,i){c&&t.cuepoints[c]&&t.cuepoints[c].time>i&&(l.removeClass("fp-active"),c=null),e.each(t.cuepoints||[],function(e,n){var r=n.subtitle;r&&c!=n.index?i>=n.time&&(!r.endTime||i<=r.endTime)&&t.trigger("cuepoint",n):n.subtitleEnd&&i>=n.time&&n.index==c+1&&t.trigger("cuepoint",n)})})}),flowplayer(function(t,n){var r=t.conf.analytics,i=0,s=0;if(r){typeof _gat=="undefined"&&e.getScript("//google-analytics.com/ga.js");function o(e){if(i&&typeof _gat!="undefined"){var s=_gat._getTracker(r),o=t.video;if( typeof s._setAllowLinker != 'undefined' ) {s._setAllowLinker(!0),s._trackEvent("Video / Seconds played",t.engine+"/"+o.type,n.attr("title")||o.src.split("/").slice(-1)[0].replace(y,""),Math.round(i/1e3))};i=0}}t.bind("load unload",o).bind("progress",function(){t.seeking||(i+=s?+(new Date)-s:0,s=+(new Date))}).bind("pause",function(){s=0}),e(window).unload(o)}});var H=/IEMobile/.test(r);(flowplayer.support.touch||H)&&flowplayer(function(t,n){var i=/Android/.test(r)&&!/Firefox/.test(r)&&!/Opera/.test(r),s=/Silk/.test(r),o=i?parseFloat(/Android\ (\d\.\d)/.exec(r)[1],10):0;if(i){if(!/Chrome/.test(r)&&o<4){var u=t.load;t.load=function(e,n){var r=u.apply(t,arguments);return t.trigger("ready",[t,t.video]),r}}var a,f=0,l=function(e){a=setInterval(function(){e.video.time=++f,e.trigger("progress",f)},1e3)};t.bind("ready pause unload",function(){a&&(clearInterval(a),a=null)}),t.bind("ready",function(){f=0}),t.bind("resume",function(e,n){if(!n.live)return;if(f)return l(n);t.one("progress",function(e,t,n){n===0&&l(t)})})}flowplayer.support.volume||n.addClass("no-volume no-mute"),n.addClass("is-touch"),n.find(".fp-timeline").data("api").disableAnimation();if(!flowplayer.support.inlineVideo||t.conf.native_f