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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download)
Sat Feb 14 10:50:58 2004 UTC (20 years, 8 months ago) by wakaba
Branch: MAIN
Branch point for: paragraph-200404
Changes since 1.3: +6 -1 lines
New downgrade option

1 #?SuikaWikiConfig/2.0
2
3 Plugin:
4 @Name: Downgrade
5 @Description:
6 @@@: WikiView output partial downgrade for old clients
7 @@lang:en
8 @License: %%GPL%%
9 @Author:
10 @@Name:
11 @@@@: Wakaba
12 @@@lang:ja
13 @@@script:Latn
14 @@Mail[list]: w@suika.fam.cx
15 @Date.RCS: $Date: 2004/02/08 08:44:00 $
16 @RequiredModule[list]:
17 @RequiredPlugin[list]:
18
19 PluginConst:
20 @NS_XHTML1:
21 http://www.w3.org/1999/xhtml
22
23 Function:
24 @Name: set_downgrade_flags
25 @Description:
26 @@@: Setting value to downgrade flags ($wiki->{var}->{client}->{downgrade})
27 @@lang:en
28 @Main:
29 my (undef, $wiki) = @_;
30 my $flag = $wiki->{var}->{client}->{downgrade} ||= {};
31 my $ua_name = $wiki->{var}->{client}->{user_agent_name};
32
33 ## Gecko Mozilla
34 if ($ua_name =~m#\bGecko/([0-9]+)#) {
35 my $geckover = $1;
36 $flag->{media_type_no_rdf_plus_xml} = 1;
37 $flag->{http_no_see_other} = 1 if $geckover > 20030331;
38 $flag->{html_no_table_abbr} = 1;
39
40 ## Opera
41 } elsif ($ua_name =~ m#\bOpera/([0-9]\.[0-9]+)#) {
42 ## At least Opera/6 does not supports:
43 $flag->{http_refresh_no_quoted_url} = 1;
44 $flag->{http_regresh_no_semicolon_in_uri} = 1;
45
46 ## Classic Mozilla
47 } elsif ($ua_name =~ m#^Mozilla/([0-4]\.[0-9]+)#) {
48 my $mozver = 0+$1;
49 $flag->{html_no_pi} = 1;
50 $flag->{html_no_id} = 1;
51 $flag->{html_no_table_abbr} = 1;
52 $flag->{media_type_no_xml} = 1;
53 $flag->{html_no_latin1} = 1 if $mozver < 3;
54 ## ISSUE: Is NN3 support latin-1 character on Japanese Windoze?
55 $flag->{charset_name_with_x} = 1 if $mozver < 3;
56 $flag->{http_refresh_no_semicolon_in_uri} = 1;
57 if ($mozver >= 4) {
58 $flag->{ua_netscape4} = 1;
59 $flag->{stylesheet_non_standard} = 1;
60 $flag->{html_link_no_media} = 1;
61 } elsif ($mozver < 1) {
62 $flag->{http_no_see_other} = 1;
63 $flag->{media_type_no_parameter} = 1;
64 $flag->{stylesheet_no_css} = 1;
65 } else {
66 $flag->{stylesheet_no_css} = 1;
67 }
68
69 ## IE
70 if ($ua_name =~ /\bMSIE ([2-9]\.[0-9]+)/) {
71 my $iever = 0+$1;
72 if ($iever >= 6) {
73 $flag->{media_type_no_xml} = 0;
74 $flag->{media_type_no_plus_xml} = 1;
75 $flag->{ua_winie60} = 1;
76 } elsif ($iever >= 5) {
77 $flag->{media_type_no_xml} = 0;
78 $flag->{media_type_no_plus_xml} = 1;
79 if ($iever >= 5.5) {
80 $flag->{ua_winie55} = 1;
81 } else {
82 $flag->{ua_winie50} = 1;
83 }
84 } elsif ($iever >= 4) {
85 $flag->{ua_winie40} = 1;
86 } elsif ($iever >= 3) {
87 $flag->{html_no_latin1} = 1;
88 ## ISSUE: Is WinIE4 support latin-1 character on Japanese Windoze?
89 $flag->{ua_winie30} = 1;
90 } else { # WinIE 2
91 $flag->{html_no_div} = 1;
92 $flag->{stylesheet_no_css} = 1;
93 $flag->{http_refresh_no_quoted_url} = 1;
94 }
95 $flag->{media_type_no_app_js} = 1;
96 $flag->{html_no_table_abbr} = 1;
97 $flag->{stylesheet_non_standard} = 1 if $iever >= 3;
98 $flag->{ua_netscape4} = 0;
99 }
100 ## WinIE 1.0
101 } elsif ($ua_name =~ m#^Microsoft Internet Explorer\b#) {
102 $flag->{html_no_id} = 1;
103 $flag->{html_no_div} = 1;
104 $flag->{html_no_table_abbr} = 1;
105 $flag->{http_no_see_other} = 1;
106 $flag->{stylesheet_no_css} = 1;
107 } elsif ($ua_name =~ /^Infomosaic\b/) {
108 $flag->{media_type_no_parameter} = 1;
109 $flag->{html_no_id} = 1;
110 $flag->{html_no_div} = 1;
111 $flag->{html_no_table_abbr} = 1;
112 $flag->{stylesheet_no_css} = 1;
113 }

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24