line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package HTML::WidgetValidator::Widget::FlickrBadge;
|
2
|
1
|
|
|
1
|
|
5
|
use base qw(HTML::WidgetValidator::Widget);
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
76
|
|
3
|
1
|
|
|
1
|
|
5
|
use warnings;
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
24
|
|
4
|
1
|
|
|
1
|
|
4
|
use strict;
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
544
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
__PACKAGE__->name('Flickr Bagde');
|
7
|
|
|
|
|
|
|
__PACKAGE__->url('http://www.flickr.com/badge.gne');
|
8
|
|
|
|
|
|
|
__PACKAGE__->models([
|
9
|
|
|
|
|
|
|
[
|
10
|
|
|
|
|
|
|
{ type => 'start', name=>'style',
|
11
|
|
|
|
|
|
|
attr => {
|
12
|
|
|
|
|
|
|
type => 'text/css',
|
13
|
|
|
|
|
|
|
},
|
14
|
|
|
|
|
|
|
},
|
15
|
|
|
|
|
|
|
{ type => 'text',
|
16
|
|
|
|
|
|
|
text => qr{\s*(?:(?:\.zg_div\s+\{margin:\d+px\s+\d+px\s+\d+px\s+\d+px;\s+width:\d+px;\}\s*)|(?:\.zg_div_inner\s+\{(?:border:\s*solid\s+\d+px\s+#[0-9A-Fa-f]{6};)?\s*(?:background\-color:\s*#[0-9A-Fa-f]{6};)?\s*color:\s*\#[0-9A-Fa-f]{6};\s+text\-align:\s*center;\s+font\-family:[0-9A-Za-z\,\s]+;\s+font\-size:\s*\d+px;\}\s*)|(?:\.zg_div\s+a,\s+\.zg_div\s+a:hover,\s+\.zg_div\s+a:visited\s+\{color:#[0-9A-Fa-f]{6};\s+background:\s*inherit\s+\!important;\s+text-decoration:\s*none\s+\!important;\}\s*))+},},
|
17
|
|
|
|
|
|
|
{ type => 'end', name=>'style' }
|
18
|
|
|
|
|
|
|
],
|
19
|
|
|
|
|
|
|
[
|
20
|
|
|
|
|
|
|
{ type => 'start', name=>'script',
|
21
|
|
|
|
|
|
|
attr => {
|
22
|
|
|
|
|
|
|
type => 'text/javascript',
|
23
|
|
|
|
|
|
|
},},
|
24
|
|
|
|
|
|
|
{ type => 'text',
|
25
|
|
|
|
|
|
|
text => qr{\s*\s*zg_insert_badge\s+=\s+function\(\)\s+\{\s+var\s+zg_bg_color\s+=\s+'[0-9A-Fa-f]{6}';\s+var\s+zgi_url\s+=\s+'http:\/\/www\.flickr\.com\/apps\/badge\/badge_iframe\.gne\?zg_bg_color='\+zg_bg_color\+'(?:&zg_person_id=[^'&\?<>]+)?(?:&zg_tags=[^<>&]+&zg_tag_mode=[a-z]+)?(?:&zg_set_id=\d+&zg_context=in%2Fset\-\d+%2F)?&?';\s+document\.write\(' |
26
|
|
|
|
|
|
|
{ type => 'end', name=>'script' },
|
27
|
|
|
|
|
|
|
],
|
28
|
|
|
|
|
|
|
[
|
29
|
|
|
|
|
|
|
{ type => 'start', name=>'script',
|
30
|
|
|
|
|
|
|
attr => {
|
31
|
|
|
|
|
|
|
type => 'text/javascript',
|
32
|
|
|
|
|
|
|
},},
|
33
|
|
|
|
|
|
|
{ type => 'text',text => qr{\s*zg_insert_badge\(\);\s*},},
|
34
|
|
|
|
|
|
|
{ type => 'end', name=>'script' },
|
35
|
|
|
|
|
|
|
],
|
36
|
|
|
|
|
|
|
[
|
37
|
|
|
|
|
|
|
{ type => 'start', name=>'script',
|
38
|
|
|
|
|
|
|
attr => {
|
39
|
|
|
|
|
|
|
type => 'text/javascript',
|
40
|
|
|
|
|
|
|
},},
|
41
|
|
|
|
|
|
|
{ type => 'text', text => qr{\s*if\s*\(document\.getElementById\)\s*document\.getElementById\('zg_whatdiv'\)\.style\.display\s*=\s*'none';\s*} ,},
|
42
|
|
|
|
|
|
|
{ type => 'end', name=>'script' },
|
43
|
|
|
|
|
|
|
],
|
44
|
|
|
|
|
|
|
]);
|
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
1;
|
47
|
|
|
|
|
|
|
__END__
|