tiny-slitaz annotate download.php @ rev 34

index.php: no more embedded filesystem
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Feb 28 18:38:34 2020 +0100 (2020-02-28)
parents cb1743f12df8
children
rev   line source
pascal@0 1 <?php
pascal@0 2
pascal@0 3 function download($file,$name='')
pascal@0 4 {
pascal@29 5 $files = explode(" ",$file);
pascal@29 6 $file = $files[0];
pascal@0 7 if ($name == '')
pascal@0 8 $name = basename($file);
pascal@0 9 if (isset($_POST['tmp_dir']))
pascal@0 10 $file = $_POST['tmp_dir'].$file;
pascal@0 11 $cmd = "cat ".$file;
pascal@0 12 $size = filesize($file);
pascal@0 13 header("Content-Type: application/octet-stream");
pascal@0 14 header("Content-Length: ".$size);
pascal@0 15 header("Content-Disposition: attachment; filename=".$name);
pascal@0 16 print `$cmd`;
pascal@0 17 exit;
pascal@0 18 }
pascal@0 19
pascal@0 20 if (isset($_POST['download'])) {
pascal@0 21 switch (substr($_POST['download'],0,6)) {
pascal@0 22 case "Kernel" : download("fs/boot/bzImage","kernel");
pascal@0 23 case "Rootfs" : download("rootfs.gz");
pascal@0 24 case "packag" : download("fs/etc/packages.conf");
pascal@0 25 case "Config" : shell_exec("sudo ./helper --mkcfg ".$_POST['tmp_dir']);
pascal@0 26 download("config_files.cpio.gz");
pascal@27 27 case "Floppy" : $n=substr($_POST['download'],6,1);
pascal@29 28 if ($n == " ") $n="1";
pascal@27 29 shell_exec("./helper --mkimg ".$_POST['tmp_dir']." ".
pascal@27 30 $_POST['fdsize']." ".$n);
pascal@27 31 download("floppy".$n.".img");
pascal@5 32 case "DOS/EX" : shell_exec("./helper --mkexe ".$_POST['tmp_dir']);
pascal@5 33 download("slitaz.exe");
pascal@0 34 case "ISO im" : shell_exec("sudo ./helper --mkiso ".$_POST['tmp_dir']);
pascal@0 35 download("slitaz.iso");
pascal@0 36 case "System" : download("fs/boot/System.map");
pascal@0 37 case "linux." : download("fs/boot/config","linux.config");
pascal@0 38 case "busybo" : download("fs/boot/config-busybox","busybox.config");
pascal@0 39 case "post_i" : download("post_install.log");
pascal@29 40 default : download("fs/boot/".strtolower($_POST['download']));
pascal@0 41 }
pascal@0 42 }
pascal@0 43 if (isset($_GET['dl'])) {
pascal@0 44 download(shell_exec("./helper --get-pkg ".$_GET['dl']." ".$_GET['tmp']));
pascal@0 45 }
pascal@0 46 ?>