forked from Automattic/jetpack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathustream.php
More file actions
127 lines (104 loc) · 3.19 KB
/
ustream.php
File metadata and controls
127 lines (104 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/**
* ustream.tv shortcode
*
* Example:
* [ustream id=1524 live=1]
* [ustreamsocial id=12980237 width="500"]
*
* Embed code example, from http://www.ustream.tv/leolaporte
* <iframe src="http://www.ustream.tv/embed/recorded/1524?v=3&wmode=direct" width="480" height="296" scrolling="no" frameborder="0" style="border: 0 none transparent;"></iframe>
*/
add_shortcode( 'ustream', 'ustream_shortcode' );
add_shortcode( 'ustreamsocial', 'ustreamsocial_shortcode' );
/**
* Parse shortcode arguments and render output for ustream single video.
*
* @since 4.5.0
*
* @param $atts array of user-supplied arguments.
*
* @return string HTML output.
*/
function ustream_shortcode( $atts ) {
if ( isset( $atts[0] ) ) {
return '<!-- ustream error: bad parameters -->';
}
$defaults = array(
'width' => 480,
'height' => 296,
'id' => 0,
'live' => 0,
'highlight' => 0,
'version' => 3,
'hwaccel' => 1,
);
$atts = array_map( 'intval', shortcode_atts( $defaults, $atts ) );
$ustream_id = $atts['id'];
$width = $atts['width'];
$height = $atts['height'];
$live = $atts['live'];
$highlight = $atts['highlight'];
$version = $atts['version'];
$hwaccel = $atts['hwaccel'];
$version = 'v=' . esc_attr( $version );
if ( 0 >= $ustream_id ) {
return '<!-- ustream error: bad video ID -->';
}
if ( 0 >= $height ) {
return '<!-- ustream error: height invalid -->';
}
if ( 0 >= $width ) {
return '<!-- ustream error: width invalid -->';
}
if ( $live ) {
$recorded = '';
} else {
$recorded = 'recorded/';
}
if ( ! $live && ( 0 < $highlight ) ) {
$highlight = "/highlight/$highlight";
} else {
$highlight = '';
}
if ( 0 < $hwaccel ) {
$wmode = '&wmode=direct';
} else {
$wmode = '';
}
$url = 'http://www.ustream.tv/embed/' . $recorded . esc_attr( $ustream_id ) . $highlight . '?' . $version . $wmode;
$url = set_url_scheme( $url );
$output = '<iframe src="' . esc_url( $url ) . '" width="' . esc_attr( $width ) . '" height="' . esc_attr( $height ) . '" scrolling="no" style="border: 0 none transparent;"></iframe>';
return $output;
}
/**
* Parse shortcode arguments and render output for ustream's Social Stream.
*
* @since 4.5.0
*
* @param $atts array of user-supplied arguments.
*
* @return string HTML output.
*/
function ustreamsocial_shortcode( $atts ) {
$defaults = array(
'id' => 0,
'height' => 420,
'width' => 320,
);
$atts = array_map( 'intval', shortcode_atts( $defaults, $atts ) );
$ustream_id = $atts['id'];
$width = $atts['width'];
$height = $atts['height'];
if ( 0 >= $ustream_id ) {
return '<!-- ustreamsocial error: bad social stream ID -->';
}
if ( 0 >= $height ) {
return '<!-- ustreamsocial error: height invalid -->';
}
if ( 0 >= $width ) {
return '<!-- ustreamsocial error: width invalid -->';
}
$url = set_url_scheme( "http://www.ustream.tv/socialstream/$ustream_id" );
return '<iframe id="SocialStream" class="" name="SocialStream" width="' . esc_attr( $width ) . '" height="' . esc_attr( $height ) . '" scrolling="no" allowtransparency="true" src="' . esc_url( $url ) . '" style="visibility: visible; margin-top: 0; margin-bottom: 0; border: 0;"></iframe>';
}