FV Flowplayer Video Player - Version 7.2.3.727

Version Description

  • 2018/10/03 =

  • HLS - improving quality labels (M, SD and HD)

  • Lightbox - fixing full screen sizing issue when using Chrome on Windows

  • Subtitles - fixing language codes for Hebrew, Indonesian and Javanese

  • Check template function - adding warning for websites which strip the query string versions

  • Fixing Admin JavaScript warning

Download this release

Release Info

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

Code changes from version 7.2.2.727 to 7.2.3.727

controller/backend.php CHANGED
@@ -132,7 +132,7 @@ function fv_wp_flowplayer_check_template() {
132
$errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Please follow our instructions <a href="https://foliovision.com/player/installation#html5js">here</a>.';
133
}
134
135
- $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.', 'fv-wordpress-flowplayer');
136
137
$response['body'] = preg_replace( 'lt;!--[\s\S]+?-->#x27;, '', $response['body'] ); // handle HTML comments
138
@@ -149,6 +149,8 @@ function fv_wp_flowplayer_check_template() {
149
} else if( $check == 1 ) {
150
$ok[] = __('FV Flowplayer script found: ', 'fv-wordpress-flowplayer') . "<code>$flowplayer_script</code>!";
151
$fv_flowplayer_pos = strpos( $response['body'], $flowplayer_script );
152
}
153
}
154
} else if( count($flowplayer_scripts[1]) < 1 ) {
132
$errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Please follow our instructions <a href="https://foliovision.com/player/installation#html5js">here</a>.';
133
}
134
135
+ $ok[] = __('We also recommend you to open any of your videos on your site and see if you get a red warning message about JavaScript not working.', 'fv-wordpress-flowplayer');
136
137
$response['body'] = preg_replace( 'lt;!--[\s\S]+?-->#x27;, '', $response['body'] ); // handle HTML comments
138
149
} else if( $check == 1 ) {
150
$ok[] = __('FV Flowplayer script found: ', 'fv-wordpress-flowplayer') . "<code>$flowplayer_script</code>!";
151
$fv_flowplayer_pos = strpos( $response['body'], $flowplayer_script );
152
+ } else if( $check == 0 ) {
153
+ $errors[] = "<p>It appears there are <strong>stripping the query string versions</strong> as <code>$flowplayer_script</code> appears without the plugin version number.</p><p>Some site speed analysis tools recommend doing so, but it means you loose control over what version of plugin files is cached (in users' browsers and on CDN). That way users hang on to the old plugin files and might experience visual or functional issues with FV Player (and any other plugin).</p><p>You can read all the details in our article: <a href='https://foliovision.com/2017/06/wordpress-cdn-best-practices' target='_blank'>How to use WordPress with CDN<a>.</p>";
154
}
155
}
156
} else if( count($flowplayer_scripts[1]) < 1 ) {
css/fancybox.css CHANGED
@@ -15,8 +15,8 @@ body.compensate-for-scrollbar{overflow:hidden;-ms-overflow-style:none}.fancybox-
15
16
/* Make sure FV Player respects fancybox fullscreen mode */
17
.fancybox-is-fullscreen .flowplayer {
18
- max-width: 9999px !important;
19
- max-height: 9999px !important;
20
}
21
.fancybox-is-fullscreen .flowplayer .fp-fullscreen:before {
22
content: "\e016"; }
@@ -26,7 +26,7 @@ body.compensate-for-scrollbar{overflow:hidden;-ms-overflow-style:none}.fancybox-
26
content: "\e116"; }
27
.fancybox-is-fullscreen .flowplayer.fp-edgy.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-minimal .fp-fullscreen:before {
28
content: "\e316"; }
29
-
30
.fv-player-fancybox-play-icon {
31
position: absolute;
32
left: 0;
15
16
/* Make sure FV Player respects fancybox fullscreen mode */
17
.fancybox-is-fullscreen .flowplayer {
18
+ max-width: 99% !important;
19
+ max-height: 99% !important;
20
}
21
.fancybox-is-fullscreen .flowplayer .fp-fullscreen:before {
22
content: "\e016"; }
26
content: "\e116"; }
27
.fancybox-is-fullscreen .flowplayer.fp-edgy.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-minimal .fp-fullscreen:before {
28
content: "\e316"; }
29
+
30
.fv-player-fancybox-play-icon {
31
position: absolute;
32
left: 0;
css/flowplayer.css CHANGED
@@ -428,9 +428,7 @@
428
top: 0;
429
}
430
.fp-chromecast {
431
- position: absolute;
432
- right: 80px;
433
- top: 0;
434
}
435
.flowplayer .fp-header .fp-unload {
436
display: none; }
@@ -1218,22 +1216,6 @@
1218
to { opacity: 1 }
1219
}
1220
1221
- /*this might be needed some day:
1222
-
1223
- @-moz-keyframes fade-in {
1224
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1225
- to { opacity: 1; filter: alpha(opacity=100); }
1226
- }
1227
- @-webkit-keyframes fade-in {
1228
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1229
- to { opacity: 1; filter: alpha(opacity=100); }
1230
- }
1231
- @keyframes fade-in {
1232
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1233
- to { opacity: 1; filter: alpha(opacity=100); }
1234
- }
1235
- */
1236
-
1237
/* Other playlist styles */
1238
.fp-playlist-external a,.entry-content .fp-playlist-external a {position:relative;text-decoration:none;border-bottom:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
1239
.fp-playlist-external a:focus,.entry-content .fp-playlist-external a:focus {outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
@@ -1438,8 +1420,21 @@ p.fp-caption { text-align: center;max-width: 100%; }
1438
}
1439
1440
1441
- /* Video checker, todo: check! */
1442
- .fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; /*color: #fff;*/ }
1443
.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; }
1444
1445
article .entry-content .fvfp_admin_error p { line-height: 18px }
428
top: 0;
429
}
430
.fp-chromecast {
431
+ float: right;
432
}
433
.flowplayer .fp-header .fp-unload {
434
display: none; }
1216
to { opacity: 1 }
1217
}
1218
1219
/* Other playlist styles */
1220
.fp-playlist-external a,.entry-content .fp-playlist-external a {position:relative;text-decoration:none;border-bottom:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
1221
.fp-playlist-external a:focus,.entry-content .fp-playlist-external a:focus {outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
1420
}
1421
1422
1423
+ .fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; color: #fff; }
1424
+ .fvfp_admin_error h4 { color: #fff }
1425
+ .fvfp_admin_error a { color: #f00 }
1426
+ @-moz-keyframes fade-in {
1427
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1428
+ to { opacity: 1; filter: alpha(opacity=100); }
1429
+ }
1430
+ @-webkit-keyframes fade-in {
1431
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1432
+ to { opacity: 1; filter: alpha(opacity=100); }
1433
+ }
1434
+ @keyframes fade-in {
1435
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1436
+ to { opacity: 1; filter: alpha(opacity=100); }
1437
+ }
1438
.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; }
1439
1440
article .entry-content .fvfp_admin_error p { line-height: 18px }
flowplayer.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: FV Player
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
6
- Version: 7.2.2.727
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -26,7 +26,7 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
*/
28
29
- $fv_wp_flowplayer_ver = '7.2.2.727';
30
$fv_wp_flowplayer_core_ver = '7.2.7.1';
31
32
include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
3
Plugin Name: FV Player
4
Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
6
+ Version: 7.2.3.727
7
Author URI: http://foliovision.com/
8
License: GPL-3.0
9
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
along with this program. If not, see <http://www.gnu.org/licenses/>.
27
*/
28
29
+ $fv_wp_flowplayer_ver = '7.2.3.727';
30
$fv_wp_flowplayer_core_ver = '7.2.7.1';
31
32
include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
flowplayer/fv-flowplayer.min.js CHANGED
@@ -637,7 +637,7 @@ function fv_player_load() {
637
var api = root.data('flowplayer');
638
if( api ) return;
639
640
- root.flowplayer( { clip: fv_player_videos_parse(root.attr('data-item'), root) }); // todo: IE6-8
641
} );
642
643
// Playlist - new style
@@ -786,7 +786,7 @@ flowplayer( function(api,root) {
786
api.conf.loop = true;
787
}
788
789
- jQuery('.fvfp_admin_error', root).remove(); // v6: admin error removal?
790
791
root.find('.fp-logo, .fp-header').click( function(e) {
792
if (e.target !== this) return;
@@ -799,7 +799,7 @@ flowplayer( function(api,root) {
799
root.addClass('no-brand');
800
});
801
802
- api.bind("ready", function (e, api, video) {
803
setTimeout( function () {
804
jQuery('.fvp-share-bar',root).show();
805
@@ -827,6 +827,13 @@ flowplayer( function(api,root) {
827
jQuery(document).on('contextmenu', '.flowplayer', function(e) {
828
e.preventDefault();
829
});
830
831
});
832
@@ -1682,7 +1689,7 @@ if( typeof(flowplayer) != "undefined" ) { // stop lightbox from playing if it's
1682
1683
if( flowplayer.support.android && flowplayer.support.android.samsung && parseInt(flowplayer.support.browser.version) < 66 ) { // Samsung Browser is just old version of Google Chrome!
1684
api.on('error', function(e,api,error) {
1685
- fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser);
1686
});
1687
}
1688
@@ -2117,14 +2124,22 @@ flowplayer( function(api,root) {
2117
var stream_info = bitrates[api.engine.dash.getQualityFor('video')];
2118
if( stream_info.qualityIndex != last_quality ) {
2119
last_quality = stream_info.qualityIndex;
2120
- quality_label(stream_info.qualityIndex,stream_info.height);
2121
}
2122
if( search.match(/dash_debug/) ) quality_debug(stream_info.width,stream_info.height,stream_info.bitrate);
2123
2124
} else if( api.engine.engineName == 'hlsjs-lite' ) {
2125
if( hlsjs.currentLevel != last_quality ) {
2126
last_quality = hlsjs.currentLevel;
2127
- quality_label( hlsjs.currentLevel, hlsjs.levels[hlsjs.currentLevel].height );
2128
}
2129
2130
if( search.match(/hls_debug/) ) {
@@ -2135,12 +2150,12 @@ flowplayer( function(api,root) {
2135
}
2136
}
2137
2138
- function quality_label(index,height) {
2139
root.find('a[data-quality]').removeClass('is-current');
2140
root.find('a[data-quality='+index+']').addClass('is-current');
2141
var label = 'M';
2142
- if( height >= 400 ) label = 'SD';
2143
- if( height >= 720 ) label = 'HD';
2144
if( height >= 1400 ) label = '4K';
2145
root.find('.fp-qsel').html(label);
2146
}
637
var api = root.data('flowplayer');
638
if( api ) return;
639
640
+ root.flowplayer( { clip: fv_player_videos_parse(root.attr('data-item'), root) });
641
} );
642
643
// Playlist - new style
786
api.conf.loop = true;
787
}
788
789
+ jQuery('.fvfp_admin_error', root).remove();
790
791
root.find('.fp-logo, .fp-header').click( function(e) {
792
if (e.target !== this) return;
799
root.addClass('no-brand');
800
});
801
802
+ api.bind("ready", function (e, api, video) {
803
setTimeout( function () {
804
jQuery('.fvp-share-bar',root).show();
805
827
jQuery(document).on('contextmenu', '.flowplayer', function(e) {
828
e.preventDefault();
829
});
830
+
831
+ api.bind("ready fullscreen fullscreen-exit", function (e, api, video) {
832
+ jQuery('.fp-chromecast').insertAfter('.fp-fullscreen');
833
+ setTimeout( function() {
834
+ jQuery('.fp-chromecast').insertAfter('.fp-fullscreen');
835
+ },0);
836
+ });
837
838
});
839
1689
1690
if( flowplayer.support.android && flowplayer.support.android.samsung && parseInt(flowplayer.support.browser.version) < 66 ) { // Samsung Browser is just old version of Google Chrome!
1691
api.on('error', function(e,api,error) {
1692
+ fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser,'warning_samsungbrowser');
1693
});
1694
}
1695
2124
var stream_info = bitrates[api.engine.dash.getQualityFor('video')];
2125
if( stream_info.qualityIndex != last_quality ) {
2126
last_quality = stream_info.qualityIndex;
2127
+ var low = 100000;
2128
+ for( var i in bitrates ) {
2129
+ if( bitrates[i].height < low ) low = bitrates[i].height;
2130
+ }
2131
+ quality_label(stream_info.qualityIndex,stream_info.height,low);
2132
}
2133
if( search.match(/dash_debug/) ) quality_debug(stream_info.width,stream_info.height,stream_info.bitrate);
2134
2135
} else if( api.engine.engineName == 'hlsjs-lite' ) {
2136
if( hlsjs.currentLevel != last_quality ) {
2137
last_quality = hlsjs.currentLevel;
2138
+ var low = 100000;
2139
+ for( var i in hlsjs.levels ) {
2140
+ if( hlsjs.levels[i].height < low ) low = hlsjs.levels[i].height;
2141
+ }
2142
+ quality_label( hlsjs.currentLevel, hlsjs.levels[hlsjs.currentLevel].height, low );
2143
}
2144
2145
if( search.match(/hls_debug/) ) {
2150
}
2151
}
2152
2153
+ function quality_label(index,height,low) {
2154
root.find('a[data-quality]').removeClass('is-current');
2155
root.find('a[data-quality='+index+']').addClass('is-current');
2156
var label = 'M';
2157
+ if( height >= 360 && low < height ) label = 'SD';
2158
+ if( height > 540 ) label = 'HD';
2159
if( height >= 1400 ) label = '4K';
2160
root.find('.fp-qsel').html(label);
2161
}
js/fancybox.js CHANGED
@@ -57,6 +57,7 @@ function fv_fancybox_check_size() {
57
$player = jQuery('.fancybox-slide--current .flowplayer:visible'),
58
player_height = $player.outerHeight(),
59
$caption = jQuery('.fancybox-caption'),
60
$toolbar = jQuery('.fancybox-toolbar'),
61
$fs_button = $player.find('.fp-fullscreen');
62
@@ -78,12 +79,17 @@ function fv_fancybox_check_size() {
78
.css('max-width', (height/$player.data('ratio'))+'px');
79
80
81
- // hide caption if it would cover the player
82
if ($caption.length) {
83
if ( $caption.position().top - 5 < $player.position().top + player_height ) $caption.hide();
84
else $caption.show();
85
}
86
87
// hide FV Player fullscreen button if it would be covered.
88
if ($toolbar.length) {
89
if ( $player.position().top < $toolbar.position().top + $toolbar.height() ) $fs_button.hide();
57
$player = jQuery('.fancybox-slide--current .flowplayer:visible'),
58
player_height = $player.outerHeight(),
59
$caption = jQuery('.fancybox-caption'),
60
+ $infobar = jQuery('.fancybox-infobar'),
61
$toolbar = jQuery('.fancybox-toolbar'),
62
$fs_button = $player.find('.fp-fullscreen');
63
79
.css('max-width', (height/$player.data('ratio'))+'px');
80
81
82
+ // hide caption and infobar if it would cover the player
83
if ($caption.length) {
84
if ( $caption.position().top - 5 < $player.position().top + player_height ) $caption.hide();
85
else $caption.show();
86
}
87
88
+ if ($infobar.length) {
89
+ if ( $infobar.position().top+$infobar.height() > $player.position().top && $infobar.position().left+$infobar.width() > $player.position().left ) $infobar.hide();
90
+ else $infobar.show();
91
+ }
92
+
93
// hide FV Player fullscreen button if it would be covered.
94
if ($toolbar.length) {
95
if ( $player.position().top < $toolbar.position().top + $toolbar.height() ) $fs_button.hide();
js/shortcode-editor.js CHANGED
@@ -611,6 +611,12 @@ function fv_flowplayer_language_add( sInput, sLang ,iTabIndex ) {
611
}
612
613
if ( sLang ) {
614
jQuery('.fv-fp-subtitle:last select.fv_wp_flowplayer_field_subtitles_lang' , oTab).val(sLang);
615
}
616
611
}
612
613
if ( sLang ) {
614
+ if( sLang == 'iw' ) sLang = 'he';
615
+ if( sLang == 'in' ) sLang = 'id';
616
+ if( sLang == 'jw' ) sLang = 'jv';
617
+ if( sLang == 'mo' ) sLang = 'ro';
618
+ if( sLang == 'sh' ) sLang = 'sr';
619
+
620
jQuery('.fv-fp-subtitle:last select.fv_wp_flowplayer_field_subtitles_lang' , oTab).val(sLang);
621
}
622
models/flowplayer-frontend.php CHANGED
@@ -552,8 +552,8 @@ class flowplayer_frontend extends flowplayer
552
553
if( flowplayer::is_special_editor() ) {
554
$this->ret['html'] .= '<div class="fp-ui"></div>';
555
- } else if( current_user_can('manage_options') && !isset($playlist_items_external_html) ) {
556
- $this->ret['html'] .= '<div id="wpfp_'.$this->hash.'_admin_error" class="fvfp_admin_error"><div class="fvfp_admin_error_content"><h4>Admin JavaScript warning:</h4><p>I\'m sorry, your JavaScript appears to be broken. Please use "Check template" in plugin settings, read our <a href="https://foliovision.com/player/installation#fixing-broken-javascript" target="_blank">troubleshooting guide</a>, <a href="https://foliovision.com/troubleshooting-javascript-errors" target="_blank">troubleshooting guide for programmers</a> or <a href="http://foliovision.com/wordpress/pro-install" target="_blank">order our pro support</a> and we will get it fixed for you.</p></div></div>';
557
}
558
559
$this->ret['html'] .= apply_filters( 'fv_flowplayer_inner_html', null, $this );
552
553
if( flowplayer::is_special_editor() ) {
554
$this->ret['html'] .= '<div class="fp-ui"></div>';
555
+ } else if( current_user_can('manage_options') ) {
556
+ $this->ret['html'] .= '<div id="wpfp_'.$this->hash.'_admin_error" class="fvfp_admin_error"><div class="fvfp_admin_error_content"><h4>Admin JavaScript warning:</h4><p>I\'m sorry, your JavaScript appears to be broken. Please use "Check template" in plugin settings, read our <a href="https://foliovision.com/player/installation#fixing-broken-javascript" target="_blank">troubleshooting guide</a>, <a href="https://foliovision.com/troubleshooting-javascript-errors" target="_blank">troubleshooting guide for programmers</a> or <a href="https://foliovision.com/pro-support" target="_blank">order our pro support</a> and we will get it fixed for you.</p></div></div>';
557
}
558
559
$this->ret['html'] .= apply_filters( 'fv_flowplayer_inner_html', null, $this );
models/flowplayer.php CHANGED
@@ -1496,24 +1496,23 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1496
'GN' => 'Guarani',
1497
'GU' => 'Gujarati',
1498
'HA' => 'Hausa',
1499
- 'IW' => 'Hebrew',
1500
'HI' => 'Hindi',
1501
'HU' => 'Hungarian',
1502
'IS' => 'Icelandic',
1503
- 'IN' => 'Indonesian',
1504
'IA' => 'Interlingua',
1505
'IE' => 'Interlingue',
1506
'IK' => 'Inupiak',
1507
'GA' => 'Irish',
1508
'IT' => 'Italian',
1509
'JA' => 'Japanese',
1510
- 'JW' => 'Javanese',
1511
'KN' => 'Kannada',
1512
'KS' => 'Kashmiri',
1513
'KK' => 'Kazakh',
1514
'RW' => 'Kinyarwanda',
1515
- 'KY' => 'Kirghiz',
1516
- 'RN' => 'Kirundi',
1517
'KO' => 'Korean',
1518
'KU' => 'Kurdish',
1519
'LO' => 'Laothian',
@@ -1527,8 +1526,7 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1527
'ML' => 'Malayalam',
1528
'MT' => 'Maltese',
1529
'MI' => 'Maori',
1530
- 'MR' => 'Marathi',
1531
- 'MO' => 'Moldavian',
1532
'MN' => 'Mongolian',
1533
'NA' => 'Nauru',
1534
'NE' => 'Nepali',
@@ -1544,12 +1542,12 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1544
'QU' => 'Quechua',
1545
'RM' => 'Rhaeto-Romance',
1546
'RO' => 'Romanian',
1547
'RU' => 'Russian',
1548
'SM' => 'Samoan',
1549
'SG' => 'Sangro',
1550
'SA' => 'Sanskrit',
1551
- 'SR' => 'Serbian',
1552
- 'SH' => 'Serbo-Croatian',
1553
'ST' => 'Sesotho',
1554
'TN' => 'Setswana',
1555
'SN' => 'Shona',
1496
'GN' => 'Guarani',
1497
'GU' => 'Gujarati',
1498
'HA' => 'Hausa',
1499
+ 'HE' => 'Hebrew',
1500
'HI' => 'Hindi',
1501
'HU' => 'Hungarian',
1502
'IS' => 'Icelandic',
1503
+ 'ID' => 'Indonesian',
1504
'IA' => 'Interlingua',
1505
'IE' => 'Interlingue',
1506
'IK' => 'Inupiak',
1507
'GA' => 'Irish',
1508
'IT' => 'Italian',
1509
'JA' => 'Japanese',
1510
+ 'JV' => 'Javanese',
1511
'KN' => 'Kannada',
1512
'KS' => 'Kashmiri',
1513
'KK' => 'Kazakh',
1514
'RW' => 'Kinyarwanda',
1515
+ 'KY' => 'Kirghiz',
1516
'KO' => 'Korean',
1517
'KU' => 'Kurdish',
1518
'LO' => 'Laothian',
1526
'ML' => 'Malayalam',
1527
'MT' => 'Maltese',
1528
'MI' => 'Maori',
1529
+ 'MR' => 'Marathi',
1530
'MN' => 'Mongolian',
1531
'NA' => 'Nauru',
1532
'NE' => 'Nepali',
1542
'QU' => 'Quechua',
1543
'RM' => 'Rhaeto-Romance',
1544
'RO' => 'Romanian',
1545
+ 'RN' => 'Rundi',
1546
'RU' => 'Russian',
1547
'SM' => 'Samoan',
1548
'SG' => 'Sangro',
1549
'SA' => 'Sanskrit',
1550
+ 'SR' => 'Serbian',
1551
'ST' => 'Sesotho',
1552
'TN' => 'Setswana',
1553
'SN' => 'Shona',
models/subtitles.php CHANGED
@@ -18,6 +18,12 @@ class FV_Player_Subtitles {
18
$aOutput = array();
19
20
foreach( $aSubtitles AS $key => $subtitles ) {
21
$objSubtitle = new stdClass;
22
if( $key == 'subtitles' ) {
23
$aLang = explode('-', get_bloginfo('language'));
18
$aOutput = array();
19
20
foreach( $aSubtitles AS $key => $subtitles ) {
21
+ if( $key == 'iw' ) $key = 'he';
22
+ if( $key == 'in' ) $key = 'id';
23
+ if( $key == 'jw' ) $key = 'jv';
24
+ if( $key == 'mo' ) $key = 'ro';
25
+ if( $key == 'sh' ) $key = 'sr';
26
+
27
$objSubtitle = new stdClass;
28
if( $key == 'subtitles' ) {
29
$aLang = explode('-', get_bloginfo('language'));
readme.txt CHANGED
@@ -357,6 +357,14 @@ Thank you for being part of the HMTL 5 mobile video revolution!
357
358
== Changelog ==
359
360
= 7.2.2.727 - 2018/09/28 =
361
362
* Amazon S3 - fixing issues caused by Flash version of signed URL
357
358
== Changelog ==
359
360
+ = 7.2.3.727 - 2018/10/03 =
361
+
362
+ * HLS - improving quality labels (M, SD and HD)
363
+ * Lightbox - fixing full screen sizing issue when using Chrome on Windows
364
+ * Subtitles - fixing language codes for Hebrew, Indonesian and Javanese
365
+ * Check template function - adding warning for websites which strip the query string versions
366
+ * Fixing Admin JavaScript warning
367
+
368
= 7.2.2.727 - 2018/09/28 =
369
370
* Amazon S3 - fixing issues caused by Flash version of signed URL