line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package HTML::WidgetValidator::Widget::Twitter;
|
2
|
1
|
|
|
1
|
|
4
|
use base qw(HTML::WidgetValidator::Widget);
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
54
|
|
3
|
1
|
|
|
1
|
|
5
|
use warnings;
|
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
18
|
|
4
|
1
|
|
|
1
|
|
5
|
use strict;
|
|
1
|
|
|
|
|
7
|
|
|
1
|
|
|
|
|
20
|
|
5
|
1
|
|
|
1
|
|
4
|
use Carp;
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
395
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
__PACKAGE__->name('Twitter');
|
8
|
|
|
|
|
|
|
__PACKAGE__->url('http://twitter.com/badges');
|
9
|
|
|
|
|
|
|
__PACKAGE__->models([
|
10
|
|
|
|
|
|
|
[ { type => 'start', name => 'embed',
|
11
|
|
|
|
|
|
|
attr => {
|
12
|
|
|
|
|
|
|
src => 'http://static.twitter.com/flash/twitter_timeline_badge.swf',
|
13
|
|
|
|
|
|
|
flashvars => qr{user_id=\d+&color1=0x[0-9A-Fa-f]{6}&color2=0x[0-9A-Fa-f]{6}&textColor1=0x[0-9A-Fa-f]{6}&textColor2=0x[0-9A-Fa-f]{6}&backgroundColor=0x[0-9A-Fa-f]{6}&textSize=\d+},
|
14
|
|
|
|
|
|
|
quality => 'high',
|
15
|
|
|
|
|
|
|
width => qr{\d{1,3}},
|
16
|
|
|
|
|
|
|
height => qr{\d{1,3}},
|
17
|
|
|
|
|
|
|
name => 'twitter_timeline_badge',
|
18
|
|
|
|
|
|
|
align => 'middle',
|
19
|
|
|
|
|
|
|
allowscriptaccess => 'always',
|
20
|
|
|
|
|
|
|
type => 'application/x-shockwave-flash',
|
21
|
|
|
|
|
|
|
pluginspage => 'http://www.adobe.com/go/getflashplayer',
|
22
|
|
|
|
|
|
|
}},
|
23
|
|
|
|
|
|
|
{ type => 'end', name=>'embed'} ],
|
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
[ { type => 'start', name => 'embed',
|
26
|
|
|
|
|
|
|
attr => {
|
27
|
|
|
|
|
|
|
src => 'http://twitter.com/flash/twitter_badge.swf',
|
28
|
|
|
|
|
|
|
flashvars => qr{color1=\d+&type=[a-z]+&id=\d+},
|
29
|
|
|
|
|
|
|
quality => 'high',
|
30
|
|
|
|
|
|
|
width => qr{\d{1,3}},
|
31
|
|
|
|
|
|
|
height => qr{\d{1,3}},
|
32
|
|
|
|
|
|
|
name => 'twitter_badge',
|
33
|
|
|
|
|
|
|
align => 'middle',
|
34
|
|
|
|
|
|
|
allowscriptaccess => 'always',
|
35
|
|
|
|
|
|
|
wmode => 'transparent',
|
36
|
|
|
|
|
|
|
type => 'application/x-shockwave-flash',
|
37
|
|
|
|
|
|
|
pluginspage => 'http://www.macromedia.com/go/getflashplayer',
|
38
|
|
|
|
|
|
|
}},
|
39
|
|
|
|
|
|
|
{ type => 'end', name=>'embed'} ],
|
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
[ { type => 'start', name => 'script',
|
42
|
|
|
|
|
|
|
attr => {
|
43
|
|
|
|
|
|
|
type => 'text/javascript',
|
44
|
|
|
|
|
|
|
src => 'http://twitter.com/javascripts/blogger.js',
|
45
|
|
|
|
|
|
|
}},
|
46
|
|
|
|
|
|
|
{ type => 'end', name=>'script' } ],
|
47
|
|
|
|
|
|
|
[ { type => 'start', name => 'script',
|
48
|
|
|
|
|
|
|
attr => {
|
49
|
|
|
|
|
|
|
type => 'text/javascript',
|
50
|
|
|
|
|
|
|
src => qr{http://twitter\.com/statuses/user_timeline/[0-9A-Za-z\-_]+\.json\?callback=twitterCallback2&count=\d+},
|
51
|
|
|
|
|
|
|
}},
|
52
|
|
|
|
|
|
|
{ type => 'end', name=>'script' } ],
|
53
|
|
|
|
|
|
|
|
54
|
|
|
|
|
|
|
[ { type => 'start', name => 'script',
|
55
|
|
|
|
|
|
|
attr => {
|
56
|
|
|
|
|
|
|
text => 'text/javascript',
|
57
|
|
|
|
|
|
|
src => qr{http://twitter\.com/statuses/user_timeline/[0-9A-Za-z\-_]+\.json\?callback=twitterCallback2&count=\d+},
|
58
|
|
|
|
|
|
|
}},
|
59
|
|
|
|
|
|
|
{ type => 'end', name=>'script' } ],
|
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
]);
|
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
1;
|
65
|
|
|
|
|
|
|
__END__
|