/[pub]/suikawiki/script/misc/plugins/view/Downgrade.pm
Suika

Contents of /suikawiki/script/misc/plugins/view/Downgrade.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.2.1 - (hide annotations) (download)
Sun May 16 23:53:45 2010 UTC (15 years, 2 months ago) by hero
Branch: helowiki-2005
Changes since 1.1: +3 -4 lines
current .pm

1 wakaba 1.1 use strict;
2     package SuikaWiki::Plugin::Registry;
3    
4    
5     our %Info;
6     $Info{q#Downgrade#}->{Name} = q#Downgrade#;
7 hero 1.1.2.1 $Info{q#Downgrade#}->{q#Version#} = q#2005.0121.1414#;
8 wakaba 1.1 $Info{q#Downgrade#}->{q#InterfaceVersion#} = q#2.9.1#;
9     $Info{q#Downgrade#}->{q#mkpluginVersion#} = q#2.1.21#;
10 hero 1.1.2.1 $Info{q#Downgrade#}->{q#module_name#} = q#SuikaWiki::Plugin::plugin::Downgrade1050021141414JtW7#;
11 wakaba 1.1 $Info{q#Downgrade#}->{q#Date.RCS#} = q#$Date: 2004/06/03 06:38:48 $#;
12     $Info{q#Downgrade#}->{Description} = [[q#WikiView output partial downgrade for old clients#, q#en#, q##]];
13     $Info{q#Downgrade#}->{License} = [[q#%%Perl%%#, q##, q##]];
14     $Info{q#Downgrade#}->{Author} = [[[[q#Wakaba#, q#ja#, q#Latn#]], [[q#w@suika.fam.cx#]], [q##]]];
15    
16 hero 1.1.2.1 package SuikaWiki::Plugin::plugin::Downgrade1050021141414JtW7;
17 wakaba 1.1
18    
19     sub set_downgrade_flags {
20    
21     #line 1 "(WikiPlugin module source Downgrade.wp2, block Function[Name='set_downgrade_flags']/Main)"
22     my (undef, $wiki) = @_;
23     my $flag = $wiki->{var}->{client}->{downgrade} ||= {};
24     my $ua_name = $wiki->{var}->{client}->{user_agent_name};
25     if ($ua_name =~m#\bGecko/([0-9]+)#) {
26     my $geckover = $1;
27     $flag->{media_type_no_rdf_plus_xml} = 1;
28     $flag->{http_no_see_other} = 1 if $geckover > 20030331;
29     $flag->{html_no_table_abbr} = 1;
30     } elsif ($ua_name =~ m#\bOpera/([0-9]\.[0-9]+)#) {
31     $flag->{http_refresh_no_quoted_url} = 1;
32     $flag->{http_regresh_no_semicolon_in_uri} = 1;
33     } elsif ($ua_name =~ m#^Mozilla/([0-4]\.[0-9]+)#) {
34     my $mozver = 0+$1;
35     $flag->{html_no_pi} = 1;
36     $flag->{html_no_id} = 1;
37     $flag->{html_no_table_abbr} = 1;
38     $flag->{media_type_no_xml} = 1;
39     $flag->{html_no_latin1} = 1 if $mozver < 3;
40     $flag->{charset_name_with_x} = 1 if $mozver < 3;
41     $flag->{http_refresh_no_semicolon_in_uri} = 1;
42     if ($mozver >= 4) {
43     $flag->{ua_netscape4} = 1;
44     $flag->{stylesheet_non_standard} = 1;
45     $flag->{html_link_no_media} = 1;
46     } elsif ($mozver < 1) {
47     $flag->{http_no_see_other} = 1;
48     $flag->{media_type_no_parameter} = 1;
49     $flag->{stylesheet_no_css} = 1;
50     } else {
51     $flag->{stylesheet_no_css} = 1;
52     }
53     if ($ua_name =~ /\bMSIE ([2-9]\.[0-9]+)/) {
54     my $iever = 0+$1;
55     if ($iever >= 6) {
56     $flag->{media_type_no_xml} = 0;
57     $flag->{media_type_no_plus_xml} = 1;
58     $flag->{ua_winie60} = 1;
59     } elsif ($iever >= 5) {
60     $flag->{media_type_no_xml} = 0;
61     $flag->{media_type_no_plus_xml} = 1;
62     if ($iever >= 5.5) {
63     $flag->{ua_winie55} = 1;
64     } else {
65     $flag->{ua_winie50} = 1;
66     }
67     } elsif ($iever >= 4) {
68     $flag->{ua_winie40} = 1;
69     } elsif ($iever >= 3) {
70     $flag->{html_no_latin1} = 1;
71     $flag->{ua_winie30} = 1;
72     } else { # WinIE 2
73     $flag->{html_no_div} = 1;
74     $flag->{stylesheet_no_css} = 1;
75     $flag->{http_refresh_no_quoted_url} = 1;
76     }
77     $flag->{media_type_no_app_js} = 1;
78     $flag->{html_no_table_abbr} = 1;
79     $flag->{stylesheet_non_standard} = 1 if $iever >= 3;
80     $flag->{ua_netscape4} = 0;
81     }
82     } elsif ($ua_name =~ m#^Microsoft Internet Explorer\b#) {
83     $flag->{html_no_id} = 1;
84     $flag->{html_no_div} = 1;
85     $flag->{html_no_table_abbr} = 1;
86     $flag->{http_no_see_other} = 1;
87     $flag->{stylesheet_no_css} = 1;
88     } elsif ($ua_name =~ /^Infomosaic\b/) {
89     $flag->{media_type_no_parameter} = 1;
90     $flag->{html_no_id} = 1;
91     $flag->{html_no_div} = 1;
92     $flag->{html_no_table_abbr} = 1;
93     $flag->{stylesheet_no_css} = 1;
94     }
95     if ($ua_name =~ /[Bb][Oo][Tt]/) {
96     $flag->{is_robot} = 1;
97     }
98     }
99    
100     #line 1 "(WikiPlugin module Downgrade, chunk 1)"
101    
102     package SuikaWiki::Plugin::Registry;
103    
104     $Info{q#Downgrade#}->{provide} = {};
105    
106     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24