line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package HTML::WidgetValidator::Widget::Ustream; |
2
|
1
|
|
|
1
|
|
3
|
use base qw(HTML::WidgetValidator::Widget); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
57
|
|
3
|
1
|
|
|
1
|
|
4
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
34
|
|
4
|
1
|
|
|
1
|
|
4
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
212
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
__PACKAGE__->name('Ustream'); |
7
|
|
|
|
|
|
|
__PACKAGE__->url('http://ustream.tv/mybroadcasts'); |
8
|
|
|
|
|
|
|
__PACKAGE__->models([ |
9
|
|
|
|
|
|
|
[ |
10
|
|
|
|
|
|
|
{ type => 'start', name => 'embed', |
11
|
|
|
|
|
|
|
attr => { |
12
|
|
|
|
|
|
|
width => qr{\d{2,3}}, |
13
|
|
|
|
|
|
|
height => qr{\d{2,3}}, |
14
|
|
|
|
|
|
|
flashvars => 'autoplay=false', |
15
|
|
|
|
|
|
|
src => qr{http://(?:www\.)?ustream[.]tv/[a-zA-Z0-9,.]+[.]usc}, |
16
|
|
|
|
|
|
|
type => 'application/x-shockwave-flash', |
17
|
|
|
|
|
|
|
wmode => 'transparent', |
18
|
|
|
|
|
|
|
} |
19
|
|
|
|
|
|
|
}, |
20
|
|
|
|
|
|
|
{ type => 'end', name=>'embed' }, |
21
|
|
|
|
|
|
|
], |
22
|
|
|
|
|
|
|
[ |
23
|
|
|
|
|
|
|
{ type => 'start', name => 'embed', |
24
|
|
|
|
|
|
|
attr => { |
25
|
|
|
|
|
|
|
width => qr{\d+}, |
26
|
|
|
|
|
|
|
height => qr{\d+}, |
27
|
|
|
|
|
|
|
type => 'application/x-shockwave-flash', |
28
|
|
|
|
|
|
|
flashvars => qr{channel=#.+}, |
29
|
|
|
|
|
|
|
pluginspage => 'http://www.adobe.com/go/getflashplayer', |
30
|
|
|
|
|
|
|
src => qr{http://(?:www\.)?ustream[.]tv/IrcClient[.]swf}, |
31
|
|
|
|
|
|
|
} |
32
|
|
|
|
|
|
|
}, |
33
|
|
|
|
|
|
|
{ type => 'end', name=>'embed' }, |
34
|
|
|
|
|
|
|
], |
35
|
|
|
|
|
|
|
]); |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
1; |
38
|
|
|
|
|
|
|
__END__ |