1 | #!/bin/bash |
1 | #!/bin/bash |
2 | |
2 | |
3 | # cfupdate - convert a crossfire maps hierarchy to html |
3 | # cfupdate - convert a crossfire maps hierarchy to html |
4 | # Copyright (C) 2005 Marc Lehmann <gvpe@schmorp.de> |
4 | # Copyright (C) 2005,2007 Marc Lehmann <cfmaps@schmorp.de> |
5 | # |
5 | # |
6 | # CFUPDATE is free software; you can redistribute it and/or modify |
6 | # CFUPDATE is free software; you can redistribute it and/or modify |
7 | # it under the terms of the GNU General Public License as published by |
7 | # it under the terms of the GNU General Public License as published by |
8 | # the Free Software Foundation; either version 2 of the License, or |
8 | # the Free Software Foundation; either version 2 of the License, or |
9 | # (at your option) any later version. |
9 | # (at your option) any later version. |
… | |
… | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | # GNU General Public License for more details. |
14 | # GNU General Public License for more details. |
15 | # |
15 | # |
16 | # You should have received a copy of the GNU General Public License |
16 | # You should have received a copy of the GNU General Public License |
17 | # along with gvpe; if not, write to the Free Software |
17 | # along with cfmaps; if not, write to the Free Software |
18 | # Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
18 | # Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
|
19 | |
|
|
20 | VERSION=1.112 |
19 | |
21 | |
20 | umask 022 |
22 | umask 022 |
21 | |
23 | |
22 | PATH=/root/src/crossfire:$PATH |
24 | SRC=/root/src/cfmaps |
|
|
25 | PATH="$SRC:$PATH" |
23 | BASE=/var/www/cfmaps.schmorp.de |
26 | BASE="/var/www/cfmaps.schmorp.de" |
24 | export CROSSFIRE_LIBDIR=$BASE/lib |
27 | export CROSSFIRE_LIBDIR="$BASE"/lib |
25 | |
28 | |
26 | cd "$BASE" || exit 69 |
29 | cd "$BASE" || exit 69 |
27 | |
30 | |
28 | VERSION=1.01 |
31 | cvs -Q -z3 update -AdP | grep -v ^\\? |
29 | |
32 | |
30 | cvs -Q -z3 update -AdP | grep -v ^\\? |
33 | #wget -qm --no-check-certificate https://cat2.dynu.ca/cat2/mlab-devel.tar.gz |
|
|
34 | #if [ cat2.dynu.ca/cat2/mlab-devel.tar.gz -nt cat2.dynu.ca/cat2/mlab-devel.tar.gz~ ]; then |
|
|
35 | # tar xzpf cat2.dynu.ca/cat2/mlab-devel.tar.gz |
|
|
36 | # chown -R root.root mlab-devel |
|
|
37 | # chmod -R u=rwX,go=rX mlab-devel |
|
|
38 | # ln -f cat2.dynu.ca/cat2/mlab-devel.tar.gz cat2.dynu.ca/cat2/mlab-devel.tar.gz~ |
|
|
39 | #fi |
31 | |
40 | |
32 | rm -f .cfmap2html |
41 | rm -f .cfmap2html |
33 | |
42 | |
|
|
43 | chmod 644 "$SRC"/*.css |
|
|
44 | cp "$SRC"/*.css . |
|
|
45 | chmod 755 "$SRC"/cfmapidx |
|
|
46 | cp "$SRC"/cfmapidx . |
|
|
47 | |
34 | find . -name CVS -prune -o -type d -printf "%P/\n" | while read dir; do |
48 | find . "(" -name CVS -o -path ./a ")" -prune -o -type d -printf "%P/\n" | while read dir; do |
35 | ( |
49 | ( |
36 | export dir |
50 | export dir |
37 | cd "./$dir" || exit 68 |
51 | cd "./$dir" || exit 68 |
38 | { |
52 | { |
39 | echo "<html><head><title>Crossfire Maps Directory \"$dir\"</title></head><body><h1>Crossfire Maps Directory \"$dir\"</h1><ul>" >&7 |
53 | cat >&7 <<-EOF |
|
|
54 | <?xml version='1.0' encoding='utf-8'?> |
|
|
55 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
|
|
56 | <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'> |
|
|
57 | <head> |
|
|
58 | <title>Crossfire Maps Directory "$dir"</title> |
|
|
59 | <link rel='stylesheet' type='text/css' media='all' href='/common.css'/> |
|
|
60 | </head> |
|
|
61 | <body> |
|
|
62 | <p>Keyword Search Over All Maps</p> |
|
|
63 | <p><form action='/search'> |
|
|
64 | <input type='text' name='k'/> |
|
|
65 | <input type='submit'/> |
|
|
66 | </form></p> |
|
|
67 | <h1>Crossfire Maps Directory "$dir"</h1><ul> |
40 | echo "<li><a href='..'><parent></a></li></ul><h2>This Directory</h2><ul>" >&7 |
68 | <li><a href='..'><parent></a></li></ul><h2>This Directory</h2><ul> |
|
|
69 | EOF |
41 | for file in *; do |
70 | for file in *; do |
42 | if [ -f "$file" ]; then |
71 | if [ -f "$file" ]; then |
43 | case "$file" in |
72 | case "$file" in |
44 | *.pst | *.jpg | *.png | *.html | *.html.gz | *~ ) |
73 | cfmapidx | *.pst | *.jpg | *.png | *.html | *.html.gz | *.xhtml | *.xhtml.gz | *.css | *~ ) |
45 | ;; |
74 | ;; |
46 | * ) |
75 | * ) |
47 | if head -5 "$file" | grep -q "^arch map"; then |
76 | if head -5 "$file" | grep -q "^arch map"; then |
48 | echo "<li><a href='$file.html'>$file</a> [map]</li>" >&7 |
77 | echo >&7 "<li><a href='${file%.map}.xhtml'>${file%.map}</a> [map]</li>" |
49 | DIR="${dir#/}" |
78 | DIR="${dir#/}" |
50 | echo "$DIR$file" >>$BASE/.cfmap2html |
79 | echo "$DIR$file" >>$BASE/.cfmap2html |
51 | else |
80 | else |
52 | echo "<li><a href='$file'>$file</a> [file]</li>" >&7 |
81 | echo >&7 "<li><a href='$file'>$file</a> [file]</li>" |
53 | fi |
82 | fi |
54 | ;; |
83 | ;; |
55 | esac |
84 | esac |
56 | elif [ -d "$file" ]; then |
85 | elif [ -d "$file" ]; then |
57 | case "$file" in |
86 | case "$file" in |
58 | CVS ) |
87 | CVS ) |
59 | ;; |
88 | ;; |
60 | * ) |
89 | * ) |
61 | echo "<li><a href='$file/'>$file/</a> [dir]</li>" >&7 |
90 | echo >&7 "<li><a href='$file/'>$file/</a> [dir]</li>" |
62 | ;; |
91 | ;; |
63 | esac |
92 | esac |
64 | fi |
93 | fi |
65 | done |
94 | done |
66 | echo "</ul>" >&7 |
95 | echo >&7 "</ul>" |
67 | cat <<EOF >&7 |
96 | cat >&7 <<-EOF |
68 | <h2>Bookmarks</h2> |
97 | <h2>Bookmarks</h2> |
69 | <ul> |
98 | <ul> |
70 | <li><a href="/world/">Worldmap</a></li> |
99 | <li><a href="/world/">Worldmap</a></li> |
71 | <li><a href="/world/world_105_115.html">Scorn</a></li> |
100 | <li><a href="/world/world_105_115.xhtml">Scorn</a></li> |
72 | <li><a href="/world/world_102_108.html">Santo Dominion</a></li> |
101 | <li><a href="/world/world_102_108.xhtml">Santo Dominion</a></li> |
73 | <li><a href="/world/world_107_123.html">Brest</a></li> |
102 | <li><a href="/world/world_107_123.xhtml">Brest</a></li> |
74 | <li><a href="/world/world_109_126.html">Lake Country</a></li> |
103 | <li><a href="/world/world_109_126.xhtml">Lake Country</a></li> |
75 | <li><a href="/world/world_122_117.html">Navar</a></li> |
104 | <li><a href="/world/world_122_117.xhtml">Navar</a></li> |
76 | <li><a href="/world/world_116_102.html">Darcap</a></li> |
105 | <li><a href="/world/world_116_102.xhtml">Darcap</a></li> |
77 | <li><a href="/world/world_128_109.html">Wolfsburg</a></li> |
106 | <li><a href="/world/world_128_109.xhtml">Wolfsburg</a></li> |
78 | <li><a href="/world/world_128_101.html">Azumauindo</a></li> |
107 | <li><a href="/world/world_128_101.xhtml">Azumauindo</a></li> |
79 | </ul> |
108 | </ul> |
80 | <hr /> |
109 | <p class="footer">created by <a href='http://software.schmorp.de/pkg/cfmaps'>cfupdate</a> version $VERSION</p> |
81 | <p style='font-size: 8pt;'>created by <b>update</b> version $VERSION</p> |
|
|
82 | EOF |
110 | EOF |
83 | echo "</body></html>" >&7 |
111 | echo >&7 "</body></html>" |
84 | } 7>index.html |
112 | } 7>index.xhtml~ |
|
|
113 | |
|
|
114 | if [ "$DIR" = "world/" -o "$DIR" = "world-overlay/" ]; then |
|
|
115 | rm index.xhtml~ |
|
|
116 | else |
|
|
117 | mv index.xhtml~ index.xhtml |
|
|
118 | fi |
|
|
119 | #gzip -7f index.xhtml |
85 | ) |
120 | ) |
86 | done |
121 | done |
87 | |
122 | |
88 | <.cfmap2html xargs cfmap2html |
123 | <.cfmap2html xargs -l50 cfmap2html |
|
|
124 | <.cfmap2html xargs cfmapidx -a |
|
|
125 | mv .index.dat~ .index.dat |
|
|
126 | |
89 | rm -f .cfmap2html |
127 | #rm -f .cfmap2html |
90 | |
128 | |
91 | cfarch2html |
129 | cfarch2html |
92 | cfworldmap |
130 | cfworldmap world |
|
|
131 | cfworldmap world-overlay |
93 | |
132 | |
94 | chown -R root.root . |
133 | chown -R root.root . |
95 | chmod -R u=rwX,go=rX . |
134 | chmod -R u=rwX,go=rX . |
96 | |
135 | |