/[suikacvs]/markup/html/html5/spec-ja/edit.cgi
Suika

Contents of /markup/html/html5/spec-ja/edit.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (show annotations) (download)
Mon Oct 27 05:00:33 2008 UTC (16 years ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.12: +5 -0 lines
License terms added

1 #!/usr/bin/perl
2 use strict;
3 use CGI::Carp qw(fatalsToBrowser);
4
5 my $data_dir_name = q[data/];
6
7 my $path = $ENV{PATH_INFO};
8
9 sub htescape ($) {
10 my $s = shift;
11 $s =~ s/&/&/g;
12 $s =~ s/</&lt;/g;
13 $s =~ s/"/&quot;/g;
14 return $s;
15 } # htescape
16
17 if ($path =~ m[^/(_?[0-9a-z-]+)$]) {
18 my $name = $1;
19 my $file_name = $data_dir_name . $name . '.dat';
20 if (-f $file_name) {
21 if ($ENV{REQUEST_METHOD} eq 'GET') {
22 my $data;
23 {
24 open my $file, '<:utf8', $file_name or die "$0: $file_name: $!";
25 local $/ = undef;
26 $data = <$file>;
27 }
28
29 print qq[Content-Type: text/html; charset=utf-8
30
31 <!DOCTYPE HTML>
32 <html lang=en>
33 <head>
34 <title>Edit &mdash; @{[htescape ($name)]}</title>
35 <style>
36 textarea {
37 width: 95%;
38 height: 40em;
39 }
40 </style>
41 <link rel=license href="./#license">
42 <link rel=history href="../data/@{[htescape ($name)]}.dat,cvslog">
43 <body>
44 <h1>Edit &mdash; @{[htescape ($name)]}</h1>
45 <form action accept-charset=utf-8 method=post>
46 <p><textarea name=data lang>@{[htescape ($data)]}</textarea>
47 <p><input type=submit value=Save>
48 <strong>Important</strong>: See <a href="./#license" rel=license>license</a>.
49 </form>
50 ];
51 exit;
52 } elsif ($ENV{REQUEST_METHOD} eq 'POST') {
53 eval q{ use CGI qw(param) };
54 my $data = param ('data');
55 open my $file, '>', $file_name or die "$0: $file_name: $!";
56 print $file $data;
57 close $file;
58 my $user = $ENV{REMOTE_USER};
59 $user =~ s/[^0-9A-Za-z_-]/_/g;
60 (system "cvs commit -m \"by remote user \'$user\'\" data > /dev/null") == 0 or die "$0: $?";
61
62 print q[Status: 204 Saved; No Content];
63 exit;
64 } else {
65 print q[Status: 405 Method Not Allowed
66 Content-Type: text/plain ; charset=us-ascii
67 Allow: GET, POST
68
69 405];
70 exit;
71 }
72 }
73 } elsif ($path eq '/') {
74 opendir my $data_dir, $data_dir_name or die "$0: $data_dir_name: $!";
75 print q[Content-Type: text/html; charset=utf-8
76
77 <!DOCTYPE HTML>
78 <html lang=en>
79 <title>English-Japanese Data Files</title>
80 <link rel=history href="../data/,cvslog">
81 <link rel=license href="#license">
82 <link rel=stylesheet href="/www/style/html/xhtml">
83 <h1>English-Japanese Data Files</h1>
84
85 <section id=tools>
86 <h2>Tools</h2>
87
88 <ul>
89 <li><a href="../words">English-Japanese word mapping table</a>
90 <li id=find><a href="../find" rel=search>Find</a>
91 <!--<li><a href="para/add">Add paragraph</a>-->
92 </ul>
93 </section>
94
95 <section id=status>
96 <h2>Status of translation</h2>
97
98 <p>See <a href="../status.png">progress graph</a>.
99 </section>
100
101 <div class=section id=v1-files>
102 <h2>Old data files</h2>
103
104 <p><em>These files are obsolete and no longer used, except for
105 <code>_mapping</code>, which is the data file for the
106 English-Japanese mapping table.</em>
107
108 <ul>];
109 for (sort {$a cmp $b} grep {/\.dat$/} readdir $data_dir) {
110 my $name = $_;
111 $name =~ s/\.dat$//;
112 print qq[<li><a href="@{[htescape ($name)]}"><code class=file>@{[htescape ($name)]}</code></a></li>];
113 }
114 print q[</ul>
115 </div>
116
117 <section id=license>
118 <h2>License of data files</h2>
119
120 <p><strong>Texts from HTML5 and Web Workers specs</strong>:
121 <blockquote cite="http://whatwg.org/html5">
122 <p class=copyright>&copy; Copyright 2004-2008 Apple Computer, Inc.,
123 Mozilla Foundation, and Opera Software ASA.</p>
124
125 <p class=copyright>You are granted a license to use, reproduce and create
126 derivative works of this document.</p>
127 </blockquote>
128
129 <!--<p><strong>Texts from XBL 2.0 spec</strong>:
130 <blockquote cite="http://www.mozilla.org/projects/xbl/xbl2.html">
131 <p class=copyright>Portions of this content are &copy; 1998&#8211;2006 by
132 individual mozilla.org contributors; content available under a Creative
133 Commons license. (<a
134 href="http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>)</p>
135 </blockquote>-->
136
137 <p><strong>For contributors</strong>: You have to agree that your
138 contributions are licensed under the terms quoted above.
139 </section>
140 ];
141 exit;
142 }
143
144 print q[Content-Type: text/plain ; charset=us-ascii
145 Status: 404 Not Found
146
147 404];
148
149 ## Author: Wakaba <w@suika.fam.cx>.
150 ## License: Copyright 2008 Wakaba. You are granted a license to use,
151 ## reproduce and create derivative works of this script.
152 ## $Date: 2008/10/27 04:52:39 $

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24