rev |
line source |
pankso@157
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
pankso@157
|
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
pankso@157
|
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
pankso@157
|
4 <head>
|
pankso@157
|
5 <title>SliTaz Mirror</title>
|
pankso@157
|
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
pankso@157
|
7 <meta name="description" content="slitaz mirror server" />
|
pankso@157
|
8 <meta name="robots" content="index, nofollow" />
|
pankso@157
|
9 <meta name="author" content="SliTaz Contributors" />
|
pankso@183
|
10 <link rel="shortcut icon" href="/static/favicon.ico" />
|
pankso@183
|
11 <link rel="stylesheet" type="text/css" href="/static/slitaz.css" />
|
pankso@157
|
12 <style type="text/css">
|
pankso@184
|
13 h2 img { padding-right: 4px; }
|
pankso@157
|
14 </style>
|
pankso@157
|
15 </head>
|
pankso@157
|
16 <body>
|
pankso@157
|
17
|
pankso@157
|
18 <!-- Header -->
|
pankso@157
|
19 <div id="header">
|
pankso@157
|
20 <div id="logo"></div>
|
pankso@157
|
21 <div id="network">
|
pankso@157
|
22 <a href="http://www.slitaz.org/">
|
pankso@184
|
23 <img src="/static/home.png" alt=" [ Home ] " /></a>
|
pankso@157
|
24 <a href="http://scn.slitaz.org/">Community</a>
|
pankso@184
|
25 <a href="http://doc.slitaz.org/">Doc</a>
|
pankso@184
|
26 <a href="http://forum.slitaz.org/">Forum</a>
|
pankso@201
|
27 <a href="http://slitaz.pro/">Pro</a>
|
pankso@184
|
28 <a href="http://slitaz.spreadshirt.net/">Shop</a>
|
pankso@184
|
29 <a href="http://bugs.slitaz.org">Bugs</a>
|
pascal@343
|
30 <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
|
pankso@184
|
31 <a href="http://cook.slitaz.org/">Cook</a>
|
pankso@157
|
32 </div>
|
pankso@157
|
33 <h1><a href="http://<?php echo $_SERVER["HTTP_HOST"]; ?>/">SliTaz
|
pankso@157
|
34 <?php $host=preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]); echo $host; ?></a></h1>
|
pankso@157
|
35 </div>
|
pankso@157
|
36
|
pankso@157
|
37 <!-- Block -->
|
pankso@157
|
38 <div id="block">
|
pankso@157
|
39 <!-- Navigation -->
|
pankso@157
|
40 <div id="block_nav">
|
pankso@183
|
41 <h4><img src="images/server.png" alt="[ Server ]" />Project servers</h4>
|
pankso@157
|
42 <ul>
|
pankso@183
|
43 <li><a href="http://tank.slitaz.org/">Tank server</a></li>
|
pankso@183
|
44 <li><a href="http://pangolin.slitaz.org/">Pangolin server</a></li>
|
pankso@183
|
45 <li><a href="http://chub.slitaz.org/">Chub server</a></li>
|
pankso@157
|
46 </ul>
|
pankso@157
|
47 </div>
|
pankso@157
|
48 <!-- Information/image -->
|
pankso@157
|
49 <div id="block_info">
|
pankso@157
|
50 <h4>Codename: <?php echo $host; ?></h4>
|
pankso@157
|
51 <p>
|
pankso@157
|
52 This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz
|
pascal@361
|
53 (stable) in an UML virtual machine provided by
|
pankso@157
|
54 <a href="http://www.ads-lu.com/">Allied Data Sys. (ADS)</a>.
|
pankso@157
|
55 </p>
|
pankso@157
|
56 <p>
|
pascal@361
|
57 Mirror CPU is a <?php system("( sed '/cpuinfo=/!d;" .
|
pascal@361
|
58 "s/.*cpuinfo=\\([^ ]*\).*/: \\1/;s/_/ /g' /proc/cmdline ; grep '^model name' /proc/cpuinfo) | sed -e 's/.*Intel(R) //;" .
|
pascal@361
|
59 "s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //;q' |" .
|
pankso@157
|
60 " awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
|
pankso@157
|
61 "if (n == 4) printf \"quad \"; print s }' ")?> -
|
pankso@157
|
62 <?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
|
pankso@157
|
63 "n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
|
pankso@157
|
64 "printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> - Located in France next to
|
pankso@157
|
65 Roubaix. This page has real time statistics provided by PHP
|
pankso@157
|
66 <code>system()</code> Mirror is also monitored by RRDtool which provides
|
pankso@157
|
67 <a href="graphs.php">graphical stats</a>.
|
pankso@157
|
68 </p>
|
pankso@157
|
69 </div>
|
pankso@157
|
70 </div>
|
pankso@157
|
71
|
pankso@157
|
72 <!-- Content -->
|
pankso@157
|
73 <div id="content">
|
pankso@157
|
74
|
pankso@157
|
75 <h2><a href="graphs.php"><img
|
pankso@157
|
76 title="Mirror RRDtool graphs" alt="graphs"
|
pankso@183
|
77 src="images/monitor.png" /></a>System stats</h2>
|
pankso@157
|
78
|
pankso@157
|
79 <h4>Uptime</h4>
|
pankso@157
|
80
|
pankso@183
|
81 <pre class="box">
|
pankso@157
|
82 <?php
|
pankso@157
|
83 system("uptime | sed 's/^\s*//'");
|
pankso@157
|
84 ?>
|
pankso@157
|
85 </pre>
|
pankso@157
|
86
|
pankso@157
|
87 <h4>Disk usage</h4>
|
pankso@157
|
88
|
pankso@183
|
89 <pre class="box">
|
pankso@157
|
90 <?php
|
pascal@581
|
91 system("[ -d /sys/block ] && [ -x /usr/sbin/smartctl ] && { cd /sys/block ; for i in [hs]d? ; do echo -n \$i ; /usr/sbin/smartctl -a /dev/\$i 2> /dev/null | sed '/Power_On_Hours/{s/.*Pow/: Pow/;s/ours.*-/ours/;p};/offline/!d;q'; echo; done; }");
|
pankso@157
|
92 system("df -h | sed '/^rootfs/d' | grep '\(^/dev\|Filesystem\)'");
|
pankso@157
|
93 ?>
|
pankso@157
|
94 </pre>
|
pankso@157
|
95
|
pankso@157
|
96 <h4>Network</h4>
|
pankso@183
|
97 <pre class="box">
|
pankso@157
|
98 <?php
|
pankso@157
|
99 system("ifconfig eth0 | awk '{ if (/X packet/ || /X byte/) print }' | sed 's/^\s*//'");
|
pankso@157
|
100 ?>
|
pankso@157
|
101 </pre>
|
pankso@157
|
102
|
pankso@157
|
103
|
pankso@157
|
104 <?php if (isset($_GET["all"])) { ?>
|
pankso@157
|
105 <h4>Logins</h4>
|
pankso@183
|
106 <pre class="box">
|
pankso@157
|
107 <?php
|
pankso@157
|
108 system("last");
|
pankso@157
|
109 ?>
|
pankso@157
|
110 </pre>
|
pankso@157
|
111
|
pankso@157
|
112 <h4>Processes</h4>
|
pankso@183
|
113 <pre class="box">
|
pankso@157
|
114 <?php
|
pankso@157
|
115 system("top -n1 -b");
|
pankso@157
|
116 ?>
|
pankso@157
|
117 </pre>
|
pankso@157
|
118 <?php } ?>
|
pankso@157
|
119
|
pankso@157
|
120 <a name="vhosts"></a>
|
pankso@184
|
121 <h2><img title="Mirror Virtual hosts" alt="vhosts"
|
pankso@184
|
122 src="/static/network.png" />Virtual hosts</h2>
|
pankso@157
|
123
|
pankso@157
|
124 <ul>
|
pascal@577
|
125 <li><a href="http://mirror1.slitaz.org/">mirror1.slitaz.org</a> - SliTaz Mirror.
|
pascal@577
|
126 (<a href="http://mirror1.slitaz.org/stats">stats</a>)</li>
|
pankso@157
|
127 <li><a href="http://scn.slitaz.org/">scn.slitaz.org</a> - SliTaz Community Network.
|
pascal@577
|
128 (<a href="http://mirror1.slitaz.org/awstats.pl?config=scn.slitaz.org">stats</a>)</li>
|
pankso@157
|
129 <li><a href="http://pizza.slitaz.org/">pizza.slitaz.org</a> - SliTaz Flavor builder.
|
pascal@577
|
130 (<a href="http://mirror1.slitaz.org/awstats.pl?config=pizza.mirror1.slitaz.org">stats</a>)</li>
|
pankso@157
|
131 <li><a href="http://tiny.slitaz.org/">tiny.slitaz.org</a> - Tiny SliTaz builder.
|
pascal@577
|
132 (<a href="http://mirror1.slitaz.org/awstats.pl?config=tiny.slitaz.org">stats</a>)</li>
|
pankso@157
|
133 <li><a href="https://ajaxterm.slitaz.org/">ajaxterm.slitaz.org</a> - Slitaz Web Console.
|
pascal@577
|
134 (<a href="http://mirror1.slitaz.org/awstats.pl?config=ajaxterm.slitaz.org">stats</a>)</li>
|
pankso@157
|
135 </ul>
|
pankso@157
|
136
|
pankso@157
|
137 <a name="replicas"></a>
|
pascal@577
|
138 <h2><a href="http://mirror1.slitaz.org/awstats.pl?config=replicas.mirror1.slitaz.org">
|
pankso@184
|
139 <img title="Tank replicas" alt="replicas"
|
pankso@184
|
140 src="/static/network.png" /></a>Tank replicas</h2>
|
pankso@157
|
141
|
pankso@157
|
142 <ul>
|
pascal@577
|
143 <li><a href="http://mirror1.slitaz.org/www/">www.slitaz.org</a> - SliTaz Website.
|
pankso@183
|
144 (<a href="http://www.slitaz.org/">main</a>)</li>
|
pascal@577
|
145 <li><a href="http://mirror1.slitaz.org/doc/">doc.slitaz.org</a> - Documentation.
|
pankso@183
|
146 (<a href="http://doc.slitaz.org/">main</a>)</li>
|
pascal@577
|
147 <li><a href="http://mirror1.slitaz.org/pkgs/">pkgs.slitaz.org</a> - Packages Web interface.
|
pankso@183
|
148 (<a href="http://pkgs.slitaz.org/">main</a>)</li>
|
pascal@577
|
149 <li><a href="http://mirror1.slitaz.org/hg/?sort=lastchange">hg.slitaz.org</a> - Mercurial repositories (read only).
|
pascal@343
|
150 (<a href="http://hg.slitaz.org/?sort=lastchange">main</a>
|
pankso@183
|
151 <a href="http://hg.tuxfamily.org/mercurialroot/slitaz/">tuxfamily</a>)</li>
|
pascal@577
|
152 <li><a href="http://mirror1.slitaz.org/webboot/">boot.slitaz.org</a> - gPXE Web boot.
|
pankso@183
|
153 (<a href="http://boot.slitaz.org/">main</a>)</li>
|
pankso@157
|
154 </ul>
|
pankso@157
|
155
|
pankso@157
|
156 <a name="boot"></a>
|
pankso@184
|
157 <h2><a href="http://doc.slitaz.org/en:guides:pxe#web-booting">
|
pankso@183
|
158 <img title="Web boot" src="/static/network.png"
|
pankso@184
|
159 alt="web boot" /></a>Web boot services</h2>
|
pankso@157
|
160 The SliTaz mirror provides a <b>tftp</b> access and a
|
pankso@157
|
161 <a href="/pxe">pxe</a> tree. Simply add to your DHCP server configuration file:
|
pankso@157
|
162 <ul>
|
pankso@157
|
163 <li>for <b>udhcpd</b><!-- siaddr? sname? tftp? -->
|
pankso@157
|
164 <pre>
|
pankso@157
|
165 siaddr mirror.slitaz.org
|
pankso@157
|
166 boot_file gpxe.pxe</pre>
|
pankso@157
|
167 </li>
|
pankso@157
|
168 <li>for <b>dhcpd</b>
|
pankso@157
|
169 <pre>
|
pankso@157
|
170 next-server "mirror.slitaz.org"
|
pankso@157
|
171 filemane "gpxe.pxe"</pre>
|
pankso@157
|
172 </li>
|
pankso@157
|
173 <li>for <b>dnsmasq</b>
|
pankso@157
|
174 <pre>
|
pankso@157
|
175 dhcp-boot=gpxe.pxe,mirror.slitaz.org</pre>
|
pankso@157
|
176 </li>
|
pankso@157
|
177 </ul>
|
pankso@157
|
178
|
pankso@157
|
179 <a name="mirrors"></a>
|
pascal@577
|
180 <h2><a href="http://mirror1.slitaz.org/awstats.pl?config=rsync">
|
pankso@183
|
181 <img title="Secondary mirrors" src="/static/network.png"
|
pankso@184
|
182 alt="mirrors" /></a>Mirrors</h2>
|
pascal@577
|
183 Most mirrors are updated using the url: <b>rsync://mirror1.slitaz.org/slitaz/</b>
|
pascal@577
|
184 (<a href="http://mirror1.slitaz.org/awstats.pl?config=rsync">stats</a>)
|
pankso@157
|
185 <pre>
|
pascal@577
|
186 rsync -azH --delete rsync://mirror1.slitaz.org/slitaz/ /local/slitaz/mirror/ </pre>
|
pankso@157
|
187 New mirrors should be announced on the
|
pankso@157
|
188 <a href="http://www.slitaz.org/en/mailing-list.html">mailing list</a>.
|
pankso@157
|
189 <ul>
|
pankso@157
|
190 <?php
|
pankso@157
|
191 $output_url_file="";
|
pankso@157
|
192 $output_url_handler;
|
pankso@157
|
193 $mirrors_url_file="/tmp/mirrors";
|
pankso@157
|
194
|
pankso@157
|
195 function test_url($link, $proto)
|
pankso@157
|
196 {
|
pankso@157
|
197 global $output_url_file;
|
pankso@157
|
198 global $mirrors_url_file;
|
pankso@157
|
199 global $output_url_handler;
|
pankso@157
|
200
|
pankso@157
|
201 if ($output_url_file != "") {
|
pankso@157
|
202 switch($proto) {
|
pankso@157
|
203 case "http" :
|
pankso@157
|
204 case "ftp" :
|
pankso@157
|
205 $cmd = "busybox wget -s $link/README" ;
|
pankso@157
|
206 break;
|
pankso@157
|
207 case "rsync" :
|
pankso@157
|
208 $cmd = "rsync $link > /dev/null 2>&1" ;
|
pankso@157
|
209 break;
|
pankso@157
|
210 default :
|
pankso@157
|
211 return FALSE;
|
pankso@157
|
212 }
|
pankso@157
|
213 if (shell_exec("$cmd && echo -n OK") == "OK") {
|
pankso@157
|
214 fwrite($output_url_handler,$link."\n");
|
pankso@157
|
215 return TRUE;
|
pankso@157
|
216 }
|
pankso@157
|
217 return FALSE;
|
pankso@157
|
218 }
|
pankso@157
|
219 return shell_exec("grep -qs ^$link$ $mirrors_url_file && echo -n OK") == "OK";
|
pankso@157
|
220 }
|
pankso@157
|
221
|
pankso@157
|
222 if (! file_exists($mirrors_url_file)) {
|
pankso@157
|
223 $output_url_file = tempnam('/tmp','mkmirrors');
|
pankso@157
|
224 $output_url_handler = fopen($output_url_file, "w");
|
pascal@577
|
225 fwrite($output_url_handler,"http://mirror1.slitaz.org/\n");
|
pascal@577
|
226 fwrite($output_url_handler,"rsync://mirror1.slitaz.org/\n");
|
pankso@157
|
227 }
|
pankso@157
|
228
|
pankso@157
|
229 # Flags icons from http://www.famfamfam.com/lab/icons/flags/famfamfam_flag_icons.zip
|
pankso@157
|
230 foreach (array(
|
pankso@157
|
231 array( "flag" => "ch",
|
pankso@157
|
232 "http" => "http://mirror.switch.ch/ftp/mirror/slitaz/",
|
pankso@157
|
233 "ftp" => "ftp://mirror.switch.ch/mirror/slitaz/"),
|
pankso@157
|
234 array( "flag" => "us",
|
pankso@157
|
235 "http" => "http://www.gtlib.gatech.edu/pub/slitaz/",
|
pankso@157
|
236 "ftp" => "ftp://ftp.gtlib.gatech.edu/pub/slitaz/",
|
pankso@157
|
237 "rsync" => "rsync://www.gtlib.gatech.edu/slitaz/"),
|
pankso@157
|
238 array( "flag" => "fr",
|
pankso@157
|
239 "http" => "http://download.tuxfamily.org/slitaz/",
|
pankso@157
|
240 "ftp" => "ftp://download.tuxfamily.org/slitaz/",
|
pankso@157
|
241 "rsync" => "rsync://download.tuxfamily.org/pub/slitaz/"),
|
pankso@157
|
242 array( "flag" => "fr",
|
pankso@157
|
243 "http" => "http://www.linuxembarque.com/slitaz/mirror/"),
|
pascal@361
|
244 // array( "flag" => "cn",
|
pascal@361
|
245 // "http" => "http://mirror.lupaworld.com/slitaz/"),
|
pankso@157
|
246 array( "flag" => "cn",
|
pankso@157
|
247 "http" => "http://ks.lupaworld.com/slitaz/"),
|
pankso@157
|
248 array( "flag" => "br",
|
pankso@157
|
249 "http" => "http://slitaz.c3sl.ufpr.br/",
|
pankso@157
|
250 "ftp" => "ftp://slitaz.c3sl.ufpr.br/slitaz/",
|
pankso@157
|
251 "rsync" => "rsync://slitaz.c3sl.ufpr.br/slitaz/"),
|
pankso@157
|
252 array( "flag" => "it",
|
pankso@157
|
253 "http" => "http://slitaz.mirror.garr.it/mirrors/slitaz/",
|
pankso@157
|
254 "ftp" => "ftp://slitaz.mirror.garr.it/mirrors/slitaz/",
|
pankso@157
|
255 "rsync" => "rsync://slitaz.mirror.garr.it/mirrors/slitaz/"),
|
pankso@157
|
256 array( "flag" => "si",
|
pankso@157
|
257 "http" => "http://mirror.drustvo-dns.si/slitaz/"),
|
pascal@361
|
258 // array( "flag" => "si",
|
pascal@361
|
259 // "ftp" => "ftp://ftp.pina.si/slitaz/"),
|
pankso@157
|
260 array( "flag" => "us",
|
pankso@157
|
261 "http" => "http://distro.ibiblio.org/pub/linux/distributions/slitaz/",
|
pankso@157
|
262 "ftp" => "ftp://distro.ibiblio.org/pub/linux/distributions/slitaz/"),
|
pankso@157
|
263 array( "flag" => "nl",
|
pankso@157
|
264 "http" => "http://ftp.vim.org/ftp/os/Linux/distr/slitaz/",
|
pankso@157
|
265 "ftp" => "ftp://ftp.vim.org/mirror/os/Linux/distr/slitaz/"),
|
pankso@157
|
266 array( "flag" => "nl",
|
pankso@157
|
267 "http" => "http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/",
|
pankso@157
|
268 "ftp" => "ftp://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/"),
|
pankso@157
|
269 array( "flag" => "ch",
|
pankso@157
|
270 "http" => "http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/",
|
pankso@157
|
271 "ftp" => "ftp://ftp.ch.xemacs.org//pool/2/mirror/slitaz/"),
|
pankso@157
|
272 array( "flag" => "de",
|
pankso@157
|
273 "http" => "http://ftp.uni-stuttgart.de/slitaz/",
|
pankso@157
|
274 "ftp" => "ftp://ftp.uni-stuttgart.de/slitaz/"),
|
pankso@157
|
275 array( "flag" => "au",
|
pankso@157
|
276 "http" => "http://mirror.iprimus.com/slitaz/"),
|
pankso@157
|
277 array( "flag" => "au",
|
pankso@157
|
278 "http" => "http://mirror01.ipgn.com.au/slitaz/"),
|
pankso@157
|
279 array( "flag" => "us",
|
pankso@157
|
280 "http" => "http://mirror.clarkson.edu/slitaz/",
|
pankso@157
|
281 "rsync" => "rsync://mirror.clarkson.edu/slitaz/")) as $mirror) {
|
pankso@183
|
282 $flag = "images/flags/".$mirror["flag"].".png";
|
pankso@157
|
283 $head = TRUE;
|
pankso@157
|
284 foreach(array("http", "ftp", "rsync") as $proto) {
|
pankso@157
|
285 if (!isset($mirror[$proto])) continue;
|
pankso@157
|
286 $link = $mirror[$proto];
|
pankso@157
|
287 if (!test_url($link, $proto)) continue;
|
pankso@157
|
288 $serveur = parse_url($link, PHP_URL_HOST);
|
pankso@157
|
289 if ($head) echo <<<EOT
|
pankso@157
|
290 <li><a href="http://en.utrace.de/?query=$serveur">
|
pankso@157
|
291 <img title="map" src="$flag" alt="map" /></a>
|
pankso@157
|
292 <a href="$link">$link</a>
|
pankso@157
|
293 EOT;
|
pankso@157
|
294 else echo <<<EOT
|
pankso@157
|
295 or <a href="$link">$proto</a>
|
pankso@157
|
296 EOT;
|
pankso@157
|
297 $head = FALSE;
|
pankso@157
|
298 }
|
pankso@157
|
299 if ($head) continue;
|
pankso@157
|
300 echo " </li>\n";
|
pankso@157
|
301 }
|
pankso@157
|
302
|
pankso@157
|
303 if ($output_url_file != "") {
|
pankso@157
|
304 fclose($output_url_handler);
|
pankso@157
|
305 rename($output_url_file, $mirrors_url_file);
|
pankso@157
|
306 chmod($mirrors_url_file, 0644);
|
pankso@157
|
307 }
|
pankso@157
|
308
|
pankso@157
|
309 ?>
|
pankso@157
|
310 </ul>
|
pankso@157
|
311
|
pankso@157
|
312 <a name="builds"></a>
|
pankso@183
|
313 <h3><img title="Daily builds" src="images/iso.png" alt="builds"
|
pankso@157
|
314 width="25" height="25" />
|
pankso@157
|
315 Daily builds</h3>
|
pankso@157
|
316
|
pankso@157
|
317 <?php
|
pankso@157
|
318 function display_log($file,$anchor,$url)
|
pankso@157
|
319 {
|
pankso@157
|
320 echo '<a name="'.$anchor.'"></a>';
|
pankso@157
|
321 echo "<h4><a href=\"$url\">";
|
pankso@157
|
322 system("stat -c '%y %n' ".$file." | sed 's/.000000000//;s|/var/log/\(.*\).log|\\1.iso|'");
|
pankso@157
|
323 echo "</a></h4>";
|
pankso@157
|
324 echo "<pre>";
|
pankso@157
|
325 $sed_script="s/.\[[0-9][^mG]*.//g";
|
pankso@157
|
326 $sed_script.=";:a;s/^\(.\{1,68\}\)\(\[ [A-Za-z]* \]\)/\\1 \\2/;ta";
|
pankso@157
|
327 $sed_script.=";s#\[ OK \]#[ <span style=\"color:green\">OK</span> ]#";
|
pankso@157
|
328 $sed_script.=";s#\[ Failed \]#[ <span style=\"color:red\">Failed</span> ]#";
|
pankso@157
|
329 system("sed '".$sed_script."' < $file");
|
pankso@157
|
330 echo "</pre>";
|
pankso@157
|
331 }
|
pankso@157
|
332
|
pascal@361
|
333 display_log("/var/log/packages-stable.log", "buildstable", "/iso/stable/packages-4.0.iso");
|
pankso@157
|
334 display_log("/var/log/packages-cooking.log","buildcooking","/iso/cooking/packages-cooking.iso");
|
pankso@157
|
335 ?>
|
pankso@157
|
336
|
pankso@157
|
337 <!-- End of content -->
|
pankso@157
|
338 </div>
|
pankso@157
|
339
|
pankso@183
|
340 <!-- Footer -->
|
pascal@358
|
341
|
pascal@568
|
342 <script type="text/javascript">
|
pascal@568
|
343 function QRCodePNG(str, obj) {
|
pascal@568
|
344 try {
|
pascal@570
|
345 obj.height = obj.width += 300;
|
pascal@568
|
346 return QRCode.generatePNG(str, {ecclevel: 'H'});
|
pascal@568
|
347 }
|
pascal@568
|
348 catch (any) {
|
pascal@568
|
349 var element = document.createElement("script");
|
pascal@568
|
350 element.src = "/static/qrcode.js";
|
pascal@568
|
351 element.type ="text/javascript";
|
pascal@568
|
352 element.onload = function() {
|
pascal@568
|
353 obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
|
pascal@568
|
354 };
|
pascal@568
|
355 document.body.appendChild(element);
|
pascal@568
|
356 }
|
pascal@568
|
357 }
|
pascal@568
|
358 </script>
|
pascal@358
|
359
|
pankso@183
|
360 <div id="footer">
|
pankso@183
|
361 Copyright © <span class="year"></span>
|
pankso@183
|
362 <a href="http://www.slitaz.org/">SliTaz</a> - Network:
|
pankso@183
|
363 <a href="http://scn.slitaz.org/">Community</a>
|
pankso@183
|
364 <a href="http://doc.slitaz.org/">Doc</a>
|
pankso@183
|
365 <a href="http://forum.slitaz.org/">Forum</a>
|
pankso@183
|
366 <a href="http://pkgs.slitaz.org/">Packages</a>
|
pankso@183
|
367 <a href="http://boot.slitaz.org/">Boot</a>
|
pankso@183
|
368 <a href="http://bugs.slitaz.org">Bugs</a>
|
pascal@361
|
369 <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
|
pankso@183
|
370 <p>
|
pascal@568
|
371 <img src="/static/qr.png" alt="SliTaz @" onmouseover="this.title = location.href"
|
pascal@568
|
372 onclick="this.src = QRCodePNG(location.href, this)" />
|
pankso@183
|
373 <a href="http://twitter.com/slitaz">Twitter</a>
|
pankso@183
|
374 <a href="http://www.facebook.com/slitaz">Facebook</a>
|
pankso@183
|
375 <a href="http://distrowatch.com/slitaz">Distrowatch</a>
|
pankso@183
|
376 <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
|
pankso@183
|
377 <a href="http://flattr.com/profile/slitaz">Flattr</a>
|
pankso@183
|
378 </p>
|
pascal@348
|
379 <p>
|
pascal@348
|
380 <a href="http://validator.w3.org/check?uri=referer">
|
pascal@348
|
381 <img src="/static/xhtml10.png"
|
pascal@348
|
382 alt="Valid XHTML 1.0" title="Code valid. XHTML 1.0"
|
pascal@348
|
383 style="width: 80px; height: 15px;" /></a>
|
pascal@348
|
384 </p>
|
pankso@157
|
385 </div>
|
pankso@157
|
386
|
pankso@157
|
387 </body>
|
pankso@157
|
388 </html>
|