*
* @package automattic/jetpack
*/
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 array $atts array of user-supplied arguments.
*
* @return string HTML output.
*/
function ustream_shortcode( $atts ) {
if ( isset( $atts[0] ) ) {
return '';
}
$defaults = array(
'width' => 480,
'height' => 296,
'id' => 0,
'live' => 0,
'highlight' => 0,
'version' => 3,
'hwaccel' => 1,
);
$atts = array_map( 'intval', shortcode_atts( $defaults, $atts ) );
if ( 0 >= $atts['id'] ) {
return '';
}
if ( 0 >= $atts['height'] ) {
return '';
}
if ( 0 >= $atts['width'] ) {
return '';
}
if ( $atts['live'] ) {
$recorded = '';
} else {
$recorded = 'recorded/';
}
if ( ! $atts['live'] && ( 0 < $atts['highlight'] ) ) {
$highlight = sprintf( '/highlight/%d', esc_attr( $atts['highlight'] ) );
} else {
$highlight = '';
}
$url_base = sprintf(
'https://www.ustream.tv/embed/%s%d%s',
$recorded,
esc_attr( $atts['id'] ),
$highlight
);
$video_options = array(
'html5ui' => 1,
'v' => absint( $atts['version'] ),
);
if ( 0 < $atts['hwaccel'] ) {
$video_options['wmode'] = 'direct';
}
$url = add_query_arg(
$video_options,
$url_base
);
$output = sprintf(
'',
esc_url( $url ),
absint( $atts['width'] ),
absint( $atts['height'] )
);
return $output;
}
/**
* Parse shortcode arguments and render output for ustream's Social Stream.
*
* @since 4.5.0
*
* @param array $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 ) );
if ( 0 >= $atts['id'] ) {
return '';
}
if ( 0 >= $atts['height'] ) {
return '';
}
if ( 0 >= $atts['width'] ) {
return '';
}
$url = 'https://www.ustream.tv/socialstream/' . esc_attr( $atts['id'] );
return sprintf(
'',
esc_url( $url ),
absint( $atts['width'] ),
absint( $atts['height'] )
);
}