rev |
line source |
pascal@265
|
1 <?php
|
pascal@265
|
2
|
pascal@265
|
3 $fdsz=80*18*1024;
|
pascal@265
|
4 $cpiopad=512;
|
pascal@265
|
5 function download($name, $size, $cmd)
|
pascal@265
|
6 {
|
pascal@265
|
7 header("Content-Type: application/octet-stream");
|
pascal@265
|
8 header("Content-Length: ".$size);
|
pascal@265
|
9 header("Content-Disposition: attachment; filename=".$name);
|
pascal@265
|
10 echo `$cmd 2> /dev/null`;
|
pascal@265
|
11 exit;
|
pascal@265
|
12 }
|
pascal@265
|
13
|
pascal@265
|
14 function my_filesize($path) // 2G+ file support
|
pascal@265
|
15 {
|
pascal@265
|
16 return rtrim(shell_exec("stat -c %s '".$path."'"));
|
pascal@265
|
17 }
|
pascal@265
|
18
|
pascal@265
|
19 if (isset($_GET['iso']))
|
pascal@265
|
20 $_POST['iso'] = $_GET['iso'];
|
pascal@265
|
21
|
pascal@265
|
22 if (isset($_GET['file']))
|
pascal@265
|
23 {
|
pascal@265
|
24 $max = floor((my_filesize("../".$_GET["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz);
|
pascal@265
|
25 $cmd = "cd ../".dirname($_GET['iso'])."; ls ".
|
pascal@265
|
26 basename($_GET['iso'],".iso").".*".
|
pascal@265
|
27 " | cpio -o -H newc | cat - /dev/zero ";
|
pascal@265
|
28 if ($_GET['file'] == "md5sum") {
|
pascal@265
|
29 $cmd .= "| for i in \$(seq 1 $max); do dd bs=$fdsz ".
|
pascal@265
|
30 "count=1 2> /dev/null | md5sum | ".
|
pascal@265
|
31 "sed \"s/-\\\$/\$(printf 'fdiso%02d.img' \$i)/\"; done";
|
pascal@265
|
32 download("md5sum", 46 * $max, $cmd);
|
pascal@265
|
33 }
|
pascal@265
|
34 else {
|
pascal@265
|
35 $cmd .= "| dd bs=".$fdsz." count=1 skip=".($_GET['file'] - 1)." ";
|
pascal@265
|
36 download(sprintf("fdiso%02d.img",$_GET['file']), $fdsz, $cmd);
|
pascal@265
|
37 }
|
pascal@265
|
38 }
|
pascal@265
|
39 ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
pascal@265
|
40 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
pascal@265
|
41 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
pascal@265
|
42 <head>
|
pascal@265
|
43 <title>SliTaz Boot Floppies</title>
|
pascal@265
|
44 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
pascal@265
|
45 <meta name="description" content="slitaz boot floppies" />
|
pascal@265
|
46 <meta name="robots" content="index, nofollow" />
|
pascal@265
|
47 <meta name="author" content="SliTaz Contributors" />
|
pascal@366
|
48 <link rel="shortcut icon" href="static/favicon.ico" />
|
pascal@366
|
49 <link rel="stylesheet" type="text/css" href="static/slitaz.css" />
|
pascal@265
|
50 <style type="text/css">
|
pascal@366
|
51 table {
|
pascal@366
|
52 background-color: inherit;
|
pascal@366
|
53 margin: 10px 0px 0px 0px;
|
pascal@366
|
54 }
|
pascal@265
|
55 #copy {
|
pascal@265
|
56 text-align: center;
|
pascal@265
|
57 }
|
pascal@265
|
58
|
pascal@265
|
59 #bottom {
|
pascal@265
|
60 text-align: center;
|
pascal@265
|
61 }
|
pascal@265
|
62
|
pascal@265
|
63 </style>
|
pascal@265
|
64 </head>
|
pascal@265
|
65 <body bgcolor="#ffffff">
|
pascal@265
|
66 <!-- Header -->
|
pascal@265
|
67 <div id="header">
|
pascal@265
|
68 <a name="top"></a>
|
pascal@265
|
69 <div id="logo"></div>
|
pascal@265
|
70 <div id="network">
|
pascal@265
|
71 <a href="http://www.slitaz.org/">
|
pascal@366
|
72 <img src="static/home.png" alt="[ home ]" /></a>
|
pascal@366
|
73 <a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a>
|
pascal@366
|
74 <a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a>
|
pascal@366
|
75 <a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a>
|
pascal@265
|
76 <a href="builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a>
|
pascal@265
|
77 </div>
|
pascal@265
|
78 <h1><a href="http://www.slitaz.org/">Boot floppies</a></h1>
|
pascal@265
|
79 </div>
|
pascal@265
|
80
|
pascal@265
|
81 <!-- Block -->
|
pascal@265
|
82 <div id="block">
|
pascal@265
|
83 <!-- Navigation -->
|
pascal@265
|
84 <div id="block_nav">
|
pascal@265
|
85 <h4><img src="pics/floppy.png" alt="@" />Download 1.44Mb images for <?php $dir = explode('/',$_POST["iso"]); echo $dir[1]; ?></h4>
|
pascal@265
|
86 <table width="100%">
|
pascal@265
|
87 <?php
|
pascal@265
|
88 $max = floor((my_filesize("../".$_POST["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz);
|
pascal@265
|
89 for ($i = 1; $i <= $max ; $i++) {
|
pascal@366
|
90 if ($i % 6 == 1) echo "<tr>\n";
|
pascal@366
|
91 echo " <td> <a href=\"download.php?file=$i&iso=".
|
pascal@265
|
92 urlencode($_POST["iso"])."\">fdiso".sprintf("%02d",$i);
|
pascal@366
|
93 echo "</a> </td>\n";
|
pascal@366
|
94 if ($i % 6 == 0) echo "</tr>\n";
|
pascal@265
|
95 }
|
pascal@366
|
96 if ($max % 6 != 0) {
|
pascal@366
|
97 while ($max % 6 != 5) { echo "<td></td>"; $max++; }
|
pascal@265
|
98 }
|
pascal@265
|
99 else echo "<tr>\n";
|
pascal@265
|
100 echo " <td><a href=\"download.php?file=md5sum&iso=".
|
pascal@366
|
101 urlencode($_POST["iso"])."\">md5</a></td>\n</tr>";
|
pascal@265
|
102 ?>
|
pascal@265
|
103 </table>
|
pascal@265
|
104 </div>
|
pascal@265
|
105 <!-- Information/image -->
|
pascal@265
|
106 <div id="block_info">
|
pascal@265
|
107 <h4>Available boot floppies</h4>
|
pascal@265
|
108 <ul>
|
pascal@366
|
109 <?php
|
pascal@366
|
110 for ($i = 1; file_exists("index-$i.0.html") ; $i++);
|
pascal@366
|
111 while (--$i > 0) {
|
pascal@366
|
112 echo " <li><a href=\"index-$i.0.html\">SliTaz $i.0</a>";
|
pascal@366
|
113 if (file_exists("index-loram-".$i.".0.html"))
|
pascal@366
|
114 echo " - <a href=\"index-loram-$i.0.html\">loram</a>";
|
pascal@366
|
115 echo "</li>\n";
|
pascal@366
|
116 }
|
pascal@366
|
117 ?>
|
pascal@265
|
118 </ul>
|
pascal@265
|
119 </div>
|
pascal@265
|
120 </div>
|
pascal@265
|
121
|
pascal@265
|
122 <!-- Content top. -->
|
pascal@265
|
123 <div id="content_top">
|
pascal@265
|
124 <div class="top_left"></div>
|
pascal@265
|
125 <div class="top_right"></div>
|
pascal@265
|
126 </div>
|
pascal@265
|
127
|
pascal@265
|
128 <!-- Content -->
|
pascal@265
|
129 <div id="content">
|
pascal@265
|
130
|
pascal@265
|
131 <h2>ISO image floppy set</h2>
|
pascal@265
|
132
|
pascal@265
|
133 <p>
|
pascal@265
|
134 You can restore the <a href="../<?php echo $_POST['iso'].
|
pascal@265
|
135 '">'.basename($_POST['iso']); ?></a> ISO image on your hard disk using :
|
pascal@265
|
136 </p>
|
pascal@265
|
137 <pre>
|
pascal@265
|
138 # dd if=/dev/fd0 of=fdiso01.img
|
pascal@265
|
139 # dd if=/dev/fd0 of=fdiso02.img
|
pascal@265
|
140 # ...
|
pascal@265
|
141 # cat fdiso*.img | cpio -i
|
pascal@265
|
142 </pre>
|
pascal@265
|
143
|
pascal@265
|
144 <!-- End of content with round corner -->
|
pascal@265
|
145 </div>
|
pascal@265
|
146 <div id="content_bottom">
|
pascal@265
|
147 <div class="bottom_left"></div>
|
pascal@265
|
148 <div class="bottom_right"></div>
|
pascal@265
|
149 </div>
|
pascal@265
|
150
|
pascal@265
|
151 <!-- Start of footer and copy notice -->
|
pascal@265
|
152 <div id="copy">
|
pascal@265
|
153 <p>
|
pascal@265
|
154 Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
|
pascal@265
|
155 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
|
pascal@265
|
156 </p>
|
pascal@265
|
157 <!-- End of copy -->
|
pascal@265
|
158 </div>
|
pascal@265
|
159
|
pascal@265
|
160 <!-- Bottom and logo's -->
|
pascal@265
|
161 <div id="bottom">
|
pascal@265
|
162 <p>
|
pascal@265
|
163 <a href="http://validator.w3.org/check?uri=referer"><img src="../css/pics/website/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a>
|
pascal@265
|
164 </p>
|
pascal@265
|
165 </div>
|
pascal@265
|
166
|
pascal@265
|
167 </body>
|
pascal@265
|
168 </html>
|