rev |
line source |
slaxemulator@10
|
1 <?php
|
slaxemulator@10
|
2 function redirect()
|
slaxemulator@10
|
3 {
|
slaxemulator@10
|
4 ?>
|
slaxemulator@10
|
5 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
slaxemulator@10
|
6 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
slaxemulator@10
|
7 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
slaxemulator@10
|
8 <head>
|
slaxemulator@10
|
9 <title>SliTaz mirror redirection</title>
|
slaxemulator@10
|
10 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
slaxemulator@10
|
11 <meta name="description" content="slitaz mirror redirection" />
|
slaxemulator@10
|
12 <meta name="robots" content="index, nofollow" />
|
slaxemulator@10
|
13 <meta name="author" content="SliTaz Contributors" />
|
slaxemulator@10
|
14 <meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/">
|
slaxemulator@10
|
15 </head>
|
slaxemulator@10
|
16 <?php
|
slaxemulator@10
|
17 }
|
slaxemulator@10
|
18
|
slaxemulator@10
|
19 $VERSION = "0.2-slitaz";
|
slaxemulator@10
|
20
|
slaxemulator@10
|
21 /* Lighttpd Enhanced Directory Listing Script
|
slaxemulator@10
|
22 * ------------------------------------------
|
slaxemulator@10
|
23 * Authors: Evan Fosmark <me@evanfosmark.com>,
|
slaxemulator@10
|
24 * Pascal Bellard <pascal.bellard@slitaz.org>
|
slaxemulator@10
|
25 * Christophe Lincoln <pankso@slitaz.org>
|
slaxemulator@10
|
26 *
|
slaxemulator@10
|
27 *
|
slaxemulator@10
|
28 * GNU License Agreement
|
slaxemulator@10
|
29 * ---------------------
|
slaxemulator@10
|
30 * This program is free software; you can redistribute it and/or modify
|
slaxemulator@10
|
31 * it under the terms of the GNU General Public License as published by
|
slaxemulator@10
|
32 * the Free Software Foundation; either version 2 of the License, or
|
slaxemulator@10
|
33 * (at your option) any later version.
|
slaxemulator@10
|
34 *
|
slaxemulator@10
|
35 * This program is distributed in the hope that it will be useful,
|
slaxemulator@10
|
36 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
slaxemulator@10
|
37 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
slaxemulator@10
|
38 * GNU General Public License for more details.
|
slaxemulator@10
|
39 *
|
slaxemulator@10
|
40 * You should have received a copy of the GNU General Public License
|
slaxemulator@10
|
41 * along with this program; if not, write to the Free Software
|
slaxemulator@10
|
42 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
slaxemulator@10
|
43 *
|
slaxemulator@10
|
44 * http://www.gnu.org/licenses/gpl.txt
|
slaxemulator@10
|
45 */
|
slaxemulator@10
|
46
|
slaxemulator@10
|
47 // Get the path (cut out the query string from the request_uri)
|
slaxemulator@10
|
48 list($path) = explode('?', $_SERVER['REQUEST_URI']);
|
slaxemulator@10
|
49
|
slaxemulator@10
|
50
|
slaxemulator@10
|
51 // Get the path that we're supposed to show.
|
slaxemulator@10
|
52 $path = ltrim(rawurldecode($path), '/');
|
slaxemulator@10
|
53
|
slaxemulator@10
|
54
|
slaxemulator@10
|
55 if(strlen($path) == 0) {
|
slaxemulator@10
|
56 $path = "./";
|
slaxemulator@10
|
57 }
|
slaxemulator@10
|
58
|
slaxemulator@10
|
59
|
slaxemulator@10
|
60 // Can't call the script directly since REQUEST_URI won't be a directory
|
slaxemulator@10
|
61 if($_SERVER['PHP_SELF'] == '/'.$path) {
|
slaxemulator@10
|
62 redirect();
|
slaxemulator@10
|
63 // die("Unable to call " . $path . " directly.");
|
slaxemulator@10
|
64 }
|
slaxemulator@10
|
65
|
slaxemulator@10
|
66
|
slaxemulator@10
|
67 $vpath = ($path != "./")?$path:"";
|
slaxemulator@10
|
68 // Make sure it is valid.
|
slaxemulator@10
|
69 if(!is_dir($path)) {
|
slaxemulator@10
|
70 // die("<b>" . $path . "</b> is not a valid path.");
|
slaxemulator@10
|
71 $path = dirname($_SERVER["SCRIPT_FILENAME"]);
|
slaxemulator@10
|
72 list($vpath) = explode('?', $_SERVER['REQUEST_URI']);
|
slaxemulator@10
|
73 $vpath = ltrim(rawurldecode($vpath), '/');
|
slaxemulator@10
|
74 }
|
slaxemulator@10
|
75
|
slaxemulator@10
|
76
|
slaxemulator@10
|
77 //
|
slaxemulator@10
|
78 // This function returns the file size of a specified $file.
|
slaxemulator@10
|
79 //
|
slaxemulator@10
|
80 function format_bytes($size, $precision=1) {
|
slaxemulator@10
|
81 $sizes = array('Y', 'Z', 'E', 'P', 'T', 'G', 'M', 'K', '');
|
slaxemulator@10
|
82 $total = count($sizes);
|
slaxemulator@10
|
83
|
slaxemulator@10
|
84 while($total-- && $size > 1024) $size /= 1024;
|
slaxemulator@10
|
85 if ($sizes[$total] == '') {
|
slaxemulator@10
|
86 $size /= 1024;
|
slaxemulator@10
|
87 $total--;
|
slaxemulator@10
|
88 }
|
slaxemulator@10
|
89 return sprintf('%.'.$precision.'f', $size).$sizes[$total];
|
slaxemulator@10
|
90 }
|
slaxemulator@10
|
91
|
slaxemulator@10
|
92
|
slaxemulator@10
|
93 //
|
slaxemulator@10
|
94 // Get some variables from /etc/lighttpd/lighttpd.conf
|
slaxemulator@10
|
95 //
|
slaxemulator@10
|
96 $conf_lightty = file_get_contents("/etc/lighttpd/lighttpd.conf");
|
slaxemulator@10
|
97
|
slaxemulator@10
|
98 function get_conf($var,$start,$stop,$default='') {
|
slaxemulator@10
|
99 global $conf_lightty;
|
slaxemulator@10
|
100
|
slaxemulator@10
|
101 if (!preg_match('/'.$var.'/',$conf_lightty)) return $default;
|
slaxemulator@10
|
102 $filter = '/(.*\n)*'.$var.'\s*=\s*'.$start.'(([^'.$stop.']*\n*)*)'.$stop.'(.*\n)*/';
|
slaxemulator@10
|
103 return preg_replace($filter,'$2',$conf_lightty);
|
slaxemulator@10
|
104 }
|
slaxemulator@10
|
105
|
slaxemulator@10
|
106 $encoding = get_conf('dir-listing.encoding','"','"','ascii');
|
slaxemulator@10
|
107 $external_css = get_conf('dir-listing.external-css','"','"');
|
slaxemulator@10
|
108
|
slaxemulator@10
|
109 $show_hidden_files = false;
|
slaxemulator@10
|
110 if (get_conf('dir-listing.hide-dotfile','"','"','disable') == "disable") {
|
slaxemulator@10
|
111 $show_hidden_files = true;
|
slaxemulator@10
|
112 }
|
slaxemulator@10
|
113 // get_conf('dir-listing.exclude','\(','\)');
|
slaxemulator@10
|
114 // get_conf('dir-listing.set-footer','"','"');
|
slaxemulator@10
|
115
|
slaxemulator@10
|
116 $mime_types = array();
|
slaxemulator@10
|
117 foreach (explode(',',get_conf('mimetype.assign','\(','\)')) as $item) {
|
slaxemulator@10
|
118 $filter = '/\s*"(.*)"\s*=>\s*"(.*)".*/';
|
slaxemulator@10
|
119 $val = explode(',',preg_replace($filter,'$1,$2',$item));
|
slaxemulator@10
|
120 if (isset($val[1])) $mime_types[$val[0]] = $val[1];
|
slaxemulator@10
|
121 }
|
slaxemulator@10
|
122
|
slaxemulator@10
|
123 //
|
slaxemulator@10
|
124 // This function returns the mime type of $file.
|
slaxemulator@10
|
125 //
|
slaxemulator@10
|
126 function get_file_type($file) {
|
slaxemulator@10
|
127 global $mime_types;
|
slaxemulator@10
|
128
|
slaxemulator@10
|
129 $file = basename($file);
|
slaxemulator@10
|
130 $default_type = "application/octet-stream";
|
slaxemulator@10
|
131 if (isset($mime_types[$file])) {
|
slaxemulator@10
|
132 return $mime_types[$file];
|
slaxemulator@10
|
133 }
|
slaxemulator@10
|
134 $pos = strrpos($file, ".");
|
slaxemulator@10
|
135 if ($pos === false) {
|
slaxemulator@10
|
136 return $default_type;
|
slaxemulator@10
|
137 }
|
slaxemulator@10
|
138 //FIXME .tar.gz
|
slaxemulator@10
|
139 $ext = '.'.rtrim(substr($file, $pos+1), "~");
|
slaxemulator@10
|
140 if (isset($mime_types[$ext])) {
|
slaxemulator@10
|
141 return $mime_types[$ext];
|
slaxemulator@10
|
142 }
|
slaxemulator@10
|
143 return $default_type;
|
slaxemulator@10
|
144 }
|
slaxemulator@10
|
145
|
slaxemulator@10
|
146 //$slitaz_style = (dirname($_SERVER["PHP_SELF"]) == '/');
|
slaxemulator@10
|
147 $slitaz_style = ($_SERVER["SERVER_NAME"] == "mirror.slitaz.org");
|
slaxemulator@10
|
148 if ($slitaz_style) {
|
slaxemulator@10
|
149 $fvalue = "";
|
slaxemulator@10
|
150 if (isset($_GET[f])) $fvalue = 'value="'.$_GET[f].'"';
|
slaxemulator@10
|
151 print <<<EOT
|
slaxemulator@10
|
152 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
slaxemulator@10
|
153 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
slaxemulator@10
|
154 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
slaxemulator@10
|
155 <head>
|
slaxemulator@10
|
156 <title>Index of /$vpath</title>
|
slaxemulator@10
|
157 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
|
slaxemulator@10
|
158 <meta name="description" content=">Index of /$vpath" />
|
slaxemulator@10
|
159 <meta name="robots" content="index, nofollow" />
|
slaxemulator@10
|
160 <meta name="author" content="SliTaz Contributors" />
|
slaxemulator@10
|
161 <link rel="shortcut icon" href="/css/favicon.ico" />
|
slaxemulator@10
|
162 <link rel="stylesheet" type="text/css" href="/css/slitaz.css" />
|
slaxemulator@10
|
163 <style type='text/css'>
|
slaxemulator@10
|
164 div.list { background-color: white; padding-bottom: 14px;}
|
slaxemulator@10
|
165 table {width: 100% ;}
|
slaxemulator@10
|
166 th, td { font: 90% monospace; text-align: left;}
|
slaxemulator@10
|
167 th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
|
slaxemulator@10
|
168 td {padding-right: 14px;}
|
slaxemulator@10
|
169 td.s, th.s {text-align: right;}
|
slaxemulator@10
|
170 </style>
|
slaxemulator@10
|
171 </head>
|
slaxemulator@10
|
172 <body>
|
slaxemulator@10
|
173
|
slaxemulator@10
|
174 <!-- Header -->
|
slaxemulator@10
|
175 <div id="header">
|
slaxemulator@10
|
176 <a href="http://mirror.slitaz.org/"><img id="logo"
|
slaxemulator@10
|
177 src="/css/pics/website/logo.png"
|
slaxemulator@10
|
178 title="mirror.slitaz.org" alt="mirror.slitaz.org" /></a>
|
slaxemulator@10
|
179 <p id="titre">#!/Mirror/${vpath}</p>
|
slaxemulator@10
|
180 </div>
|
slaxemulator@10
|
181
|
slaxemulator@10
|
182 <!-- Content -->
|
slaxemulator@10
|
183 <div id="content-full">
|
slaxemulator@10
|
184
|
slaxemulator@10
|
185 <!-- Block begin -->
|
slaxemulator@10
|
186 <div class="block">
|
slaxemulator@10
|
187 <!-- Nav block begin -->
|
slaxemulator@10
|
188 <div id="block_nav">
|
slaxemulator@10
|
189 <h3><img src="/css/pics/website/users.png" alt="users.png" />Community</h3>
|
slaxemulator@10
|
190 <ul>
|
slaxemulator@10
|
191 <li><a href="http://pizza.slitaz.org/">Live Builder</a></li>
|
slaxemulator@10
|
192 <li><a href="http://boot.slitaz.org/">Web Boot</a></li>
|
slaxemulator@10
|
193 </ul>
|
slaxemulator@10
|
194 <h3>Search</h3>
|
slaxemulator@10
|
195 <form class="search" action="${_SERVER["REQUEST_URI"]}" method="get" >
|
slaxemulator@10
|
196 <p><input type="text" name="f" $fvalue /></p>
|
slaxemulator@10
|
197 </form>
|
slaxemulator@10
|
198 <!-- Nav block end -->
|
slaxemulator@10
|
199 </div>
|
slaxemulator@10
|
200 <!-- Top block begin -->
|
slaxemulator@10
|
201 <div id="block_top">
|
slaxemulator@10
|
202 <h1>About Mirror</h1>
|
slaxemulator@10
|
203 <p>Welcome to Open Source!
|
slaxemulator@10
|
204 EOT;
|
slaxemulator@10
|
205 if ($_SERVER["SERVER_NAME"] == "mirror.slitaz.org") print <<<EOT
|
slaxemulator@10
|
206 This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz
|
slaxemulator@10
|
207 (stable) in an lguest virtual machine provided by
|
slaxemulator@10
|
208 <a href="http://www.ads-lu.com/">ADS</a>.
|
slaxemulator@10
|
209 EOT;
|
slaxemulator@10
|
210 print <<<EOT
|
slaxemulator@10
|
211 </p>
|
slaxemulator@10
|
212 <p><img src="/css/pics/website/network.png"
|
slaxemulator@10
|
213 alt=".png" style="vertical-align:middle;"/>Mirrors:
|
slaxemulator@10
|
214 EOT;
|
slaxemulator@10
|
215 $mirrors = array();
|
slaxemulator@10
|
216 $fp = @fopen(dirname($_SERVER["SCRIPT_FILENAME"])."/mirrors","r");
|
slaxemulator@10
|
217 if ($fp) {
|
slaxemulator@10
|
218 while (($line = fgets($fp)) !== false) {
|
slaxemulator@10
|
219 $line = chop($line);
|
slaxemulator@10
|
220 $url = parse_url($line);
|
slaxemulator@10
|
221 if ($_SERVER["SERVER_NAME"] == $url['host']) continue;
|
slaxemulator@10
|
222 $host = explode('.',$url['host']);
|
slaxemulator@10
|
223 $mirrors[$host[count($host)-2].".".
|
slaxemulator@10
|
224 $host[count($host)-1]] = $line;
|
slaxemulator@10
|
225 }
|
slaxemulator@10
|
226 }
|
slaxemulator@10
|
227 fclose($fp);
|
slaxemulator@10
|
228 foreach($mirrors as $name => $url) {
|
slaxemulator@10
|
229 echo "<a href=\"$url$vpath\" title=\"$name mirror\">$name</a>\n";
|
slaxemulator@10
|
230 }
|
slaxemulator@10
|
231 print <<<EOT
|
slaxemulator@10
|
232 </p>
|
slaxemulator@10
|
233 <!-- Top block end -->
|
slaxemulator@10
|
234 </div>
|
slaxemulator@10
|
235 <!-- Block end -->
|
slaxemulator@10
|
236 </div>
|
slaxemulator@10
|
237
|
slaxemulator@10
|
238 EOT;
|
slaxemulator@10
|
239 }
|
slaxemulator@10
|
240 else {
|
slaxemulator@10
|
241
|
slaxemulator@10
|
242 // Print the heading stuff
|
slaxemulator@10
|
243 print "<?xml version='1.0' encoding='$encoding'?>
|
slaxemulator@10
|
244 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
|
slaxemulator@10
|
245 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
|
slaxemulator@10
|
246 <head>
|
slaxemulator@10
|
247 <title>Index of /" .$vpath. "</title>
|
slaxemulator@10
|
248 ";
|
slaxemulator@10
|
249 if ($external_css != '') {
|
slaxemulator@10
|
250 print " <link rel='stylesheet' type='text/css' href='".$external_css."' />
|
slaxemulator@10
|
251 ";
|
slaxemulator@10
|
252 }
|
slaxemulator@10
|
253 else {
|
slaxemulator@10
|
254 print " <style type='text/css'>
|
slaxemulator@10
|
255 a, a:active {text-decoration: none; color: blue;}
|
slaxemulator@10
|
256 a:visited {color: #48468F;}
|
slaxemulator@10
|
257 a:hover, a:focus {text-decoration: underline; color: red;}
|
slaxemulator@10
|
258 body {background-color: #F5F5F5;}
|
slaxemulator@10
|
259 h2 {margin-bottom: 12px;}
|
slaxemulator@10
|
260 table {margin-left: 12px;}
|
slaxemulator@10
|
261 th, td { font: 90% monospace; text-align: left;}
|
slaxemulator@10
|
262 th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
|
slaxemulator@10
|
263 td {padding-right: 14px;}
|
slaxemulator@10
|
264 td.s, th.s {text-align: right;}
|
slaxemulator@10
|
265 div.list { background-color: white; border-top: 1px solid #646464; border-bottom: 1px solid #646464; padding-top: 10px; padding-bottom: 14px;}
|
slaxemulator@10
|
266 div.foot { font: 90% monospace; color: #787878; padding-top: 4px;}
|
slaxemulator@10
|
267 </style>
|
slaxemulator@10
|
268 ";
|
slaxemulator@10
|
269 }
|
slaxemulator@10
|
270 print " </head>
|
slaxemulator@10
|
271 <boby>
|
slaxemulator@10
|
272 <h2>Index of /" . $vpath ."</h2>
|
slaxemulator@10
|
273 ";
|
slaxemulator@10
|
274 }
|
slaxemulator@10
|
275
|
slaxemulator@10
|
276 print " <div class='list'>
|
slaxemulator@10
|
277 <table summary='Directory Listing' cellpadding='0' cellspacing='0'>
|
slaxemulator@10
|
278 ";
|
slaxemulator@10
|
279
|
slaxemulator@10
|
280
|
slaxemulator@10
|
281
|
slaxemulator@10
|
282 // Get all of the folders and files.
|
slaxemulator@10
|
283 $folderlist = array();
|
slaxemulator@10
|
284 $filelist = array();
|
slaxemulator@10
|
285 if($handle = @opendir($path)) {
|
slaxemulator@10
|
286 while(($item = readdir($handle)) !== false) {
|
slaxemulator@10
|
287 if ($item == "index.php") continue;
|
slaxemulator@10
|
288 if ($item == "dir-generator.php") continue;
|
slaxemulator@10
|
289 if (isset($_GET['f'])) {
|
slaxemulator@10
|
290 $filter = $_GET['f'];
|
slaxemulator@10
|
291 if (substr($filter,0,1) != '/')
|
slaxemulator@10
|
292 $filter = '/'.$filter.'/i';
|
slaxemulator@10
|
293 if (!preg_match($filter,$item)) continue;
|
slaxemulator@10
|
294 }
|
slaxemulator@10
|
295 if(is_dir($path.'/'.$item) and $item != '.' and $item != '..') {
|
slaxemulator@10
|
296 $folderlist[] = array(
|
slaxemulator@10
|
297 'name' => $item,
|
slaxemulator@10
|
298 'size' => 0,
|
slaxemulator@10
|
299 'modtime'=> filemtime($path.'/'.$item),
|
slaxemulator@10
|
300 'file_type' => "Directory"
|
slaxemulator@10
|
301 );
|
slaxemulator@10
|
302 }
|
slaxemulator@10
|
303 elseif(is_file($path.'/'.$item)) {
|
slaxemulator@10
|
304 if(!$show_hidden_files) {
|
slaxemulator@10
|
305 if(substr($item, 0, 1) == "." or substr($item, -1) == "~") {
|
slaxemulator@10
|
306 continue;
|
slaxemulator@10
|
307 }
|
slaxemulator@10
|
308 }
|
slaxemulator@10
|
309 $filelist[] = array(
|
slaxemulator@10
|
310 'name'=> $item,
|
slaxemulator@10
|
311 'size'=> filesize($path.'/'.$item),
|
slaxemulator@10
|
312 'modtime'=> filemtime($path.'/'.$item),
|
slaxemulator@10
|
313 'file_type' => get_file_type($path.'/'.$item)
|
slaxemulator@10
|
314 );
|
slaxemulator@10
|
315 }
|
slaxemulator@10
|
316 }
|
slaxemulator@10
|
317 closedir($handle);
|
slaxemulator@10
|
318 }
|
slaxemulator@10
|
319
|
slaxemulator@10
|
320
|
slaxemulator@10
|
321 if(!isset($_GET['s'])) {
|
slaxemulator@10
|
322 $_GET['s'] = 'name';
|
slaxemulator@10
|
323 }
|
slaxemulator@10
|
324
|
slaxemulator@10
|
325 // Figure out what to sort files by
|
slaxemulator@10
|
326 $file_order_by = array();
|
slaxemulator@10
|
327 foreach ($filelist as $key=>$row) {
|
slaxemulator@10
|
328 $file_order_by[$key] = $row[$_GET['s']];
|
slaxemulator@10
|
329 }
|
slaxemulator@10
|
330
|
slaxemulator@10
|
331 // Figure out what to sort folders by
|
slaxemulator@10
|
332 $folder_order_by = array();
|
slaxemulator@10
|
333 foreach ($folderlist as $key=>$row) {
|
slaxemulator@10
|
334 $folder_order_by[$key] = $row[$_GET['s']];
|
slaxemulator@10
|
335 }
|
slaxemulator@10
|
336
|
slaxemulator@10
|
337 // Order the files and folders
|
slaxemulator@10
|
338 $sort_type = SORT_ASC;
|
slaxemulator@10
|
339 $order = "&o=d";
|
slaxemulator@10
|
340 if(isset($_GET['o'])) {
|
slaxemulator@10
|
341 $sort_type = SORT_DESC;
|
slaxemulator@10
|
342 $order = "";
|
slaxemulator@10
|
343 }
|
slaxemulator@10
|
344 array_multisort($folder_order_by, $sort_type, $folderlist);
|
slaxemulator@10
|
345 array_multisort($file_order_by, $sort_type, $filelist);
|
slaxemulator@10
|
346
|
slaxemulator@10
|
347
|
slaxemulator@10
|
348 // Show sort methods
|
slaxemulator@10
|
349 print "<thead><tr>";
|
slaxemulator@10
|
350
|
slaxemulator@10
|
351 $sort_methods = array();
|
slaxemulator@10
|
352 $sort_methods['name'] = "Name";
|
slaxemulator@10
|
353 $sort_methods['modtime'] = "Last Modified";
|
slaxemulator@10
|
354 $sort_methods['size'] = "Size";
|
slaxemulator@10
|
355 $sort_methods['file_type'] = "Type";
|
slaxemulator@10
|
356
|
slaxemulator@10
|
357 foreach($sort_methods as $key=>$item) {
|
slaxemulator@10
|
358 if ($_GET['s'] == $key) $key = "$key$order";
|
slaxemulator@10
|
359 print "<th class='n'><a href='?s=$key'>$item</a></th>";
|
slaxemulator@10
|
360 }
|
slaxemulator@10
|
361 print "</tr></thead>\n<tbody>\n";
|
slaxemulator@10
|
362
|
slaxemulator@10
|
363
|
slaxemulator@10
|
364
|
slaxemulator@10
|
365 // Parent directory link
|
slaxemulator@10
|
366 if($path != "./") {
|
slaxemulator@10
|
367 print "<tr><td class='n'><a href='..'>Parent Directory</a>/</td>";
|
slaxemulator@10
|
368 print "<td class='m'> </td>";
|
slaxemulator@10
|
369 print "<td class='s'>- </td>";
|
slaxemulator@10
|
370 print "<td class='t'>Directory</td></tr>\n";
|
slaxemulator@10
|
371 }
|
slaxemulator@10
|
372
|
slaxemulator@10
|
373
|
slaxemulator@10
|
374
|
slaxemulator@10
|
375 // Print folder information
|
slaxemulator@10
|
376 foreach($folderlist as $folder) {
|
slaxemulator@10
|
377 print "<tr><td class='n'><a href='" . addslashes($folder['name']). "'>" .htmlentities($folder['name']). "</a>/</td>";
|
slaxemulator@10
|
378 print "<td class='m'>" . date('Y-M-d H:m:s', $folder['modtime']) . "</td>";
|
slaxemulator@10
|
379 print "<td class='s'>- </td>";
|
slaxemulator@10
|
380 print "<td class='t'>" . $folder['file_type'] . "</td></tr>\n";
|
slaxemulator@10
|
381 }
|
slaxemulator@10
|
382
|
slaxemulator@10
|
383
|
slaxemulator@10
|
384 // Print file information
|
slaxemulator@10
|
385 foreach($filelist as $file) {
|
slaxemulator@10
|
386 print "<tr><td class='n'><a href='" . addslashes($file['name']). "'>" .htmlentities($file['name']). "</a></td>";
|
slaxemulator@10
|
387 print "<td class='m'>" . date('Y-M-d H:m:s', $file['modtime']) . "</td>";
|
slaxemulator@10
|
388 print "<td class='s'>" . format_bytes($file['size']) . "</td>";
|
slaxemulator@10
|
389 print "<td class='t'>" . $file['file_type'] . "</td></tr>\n";
|
slaxemulator@10
|
390 }
|
slaxemulator@10
|
391
|
slaxemulator@10
|
392 // Print ending stuff
|
slaxemulator@10
|
393 $soft = explode('/',$_SERVER["SERVER_SOFTWARE"]);
|
slaxemulator@10
|
394 $tag = get_conf('server.tag','"','"',$soft[0].' <'.$soft[1].'>');
|
slaxemulator@10
|
395 print "</tbody>
|
slaxemulator@10
|
396 </table>
|
slaxemulator@10
|
397 </div>";
|
slaxemulator@10
|
398 if ($slitaz_style) { ?>
|
slaxemulator@10
|
399
|
slaxemulator@10
|
400 <!-- End of content -->
|
slaxemulator@10
|
401 </div>
|
slaxemulator@10
|
402
|
slaxemulator@10
|
403 <!-- Footer -->
|
slaxemulator@10
|
404 <div id="footer">
|
slaxemulator@10
|
405 <div class="right_box">
|
slaxemulator@10
|
406 <h4>SliTaz Network</h4>
|
slaxemulator@10
|
407 <ul>
|
slaxemulator@10
|
408 <li><a href="http://www.slitaz.org/">Main Website</a></li>
|
slaxemulator@10
|
409 <li><a href="http://doc.slitaz.org/">Documentation</a></li>
|
slaxemulator@10
|
410 <li><a href="http://forum.slitaz.org/">Support Forum</a></li>
|
slaxemulator@10
|
411 <li><a href="http://scn.slitaz.org/">Community Network</a></li>
|
slaxemulator@10
|
412 <li><a href="http://pkgs.slitaz.org/">Packages</a></li>
|
slaxemulator@10
|
413 <li><a href="http://labs.slitaz.org/">Laboratories</a></li>
|
slaxemulator@10
|
414 </ul>
|
slaxemulator@10
|
415 </div>
|
slaxemulator@10
|
416 <h4>SliTaz Website</h4>
|
slaxemulator@10
|
417 <ul>
|
slaxemulator@10
|
418 <li><a href="#header">Top of the page</a></li>
|
slaxemulator@10
|
419 <li>Copyright © <span class="year"></span>
|
slaxemulator@10
|
420 <a href="http://www.slitaz.org/">SliTaz</a></li>
|
slaxemulator@10
|
421 <li><a href="about/">About the project</a></li>
|
slaxemulator@10
|
422 <li><a href="netmap.php">Network Map</a></li>
|
slaxemulator@10
|
423 <li>Page modified the <?php echo date('r'); ?></li>
|
slaxemulator@10
|
424 <li><a href="http://validator.w3.org/check?uri=referer"><img
|
slaxemulator@10
|
425 src="pics/website/xhtml10.png" alt="Valid XHTML 1.0"
|
slaxemulator@10
|
426 title="Code validé XHTML 1.0"
|
slaxemulator@10
|
427 style="width: 80px; height: 15px; vertical-align: middle;" /></a></li>
|
slaxemulator@10
|
428 </ul>
|
slaxemulator@10
|
429 </div>
|
slaxemulator@10
|
430
|
slaxemulator@10
|
431 <?php }
|
slaxemulator@10
|
432 else print "
|
slaxemulator@10
|
433 <form action='".$_SERVER["REQUEST_URI"]."' method='get'>
|
slaxemulator@10
|
434 <div class='foot'>".$tag."
|
slaxemulator@10
|
435 <input type='text' name='f'/>
|
slaxemulator@10
|
436 <!-- <input type='submit' value='Filter' /> -->
|
slaxemulator@10
|
437 </div>
|
slaxemulator@10
|
438 </form>
|
slaxemulator@10
|
439 ";
|
slaxemulator@10
|
440 print "</body>
|
slaxemulator@10
|
441 </html>";
|
slaxemulator@10
|
442 ?>
|