Setting tag plewww-5.2-4
[plewww.git] / planetlab / nodes / node_downloads.php
index c6148b2..15c3a82 100644 (file)
@@ -1,7 +1,5 @@
 <?php
 
-  // $Id$
-
   // cleaned up, keep only the actions related to downloading stuff
   // REQUIRED : node_id=node_id
   // (*) action='download-node-floppy' : 
   // (*) action='download-generic-usb':
   //                           : performs actual generic download
 
-// delivering node-dependant images requires larger memory limit
-// trial and error, based on the current sizes
-// generic-ISO 43980800 
-// generic-usb 44720128 
-// 256M OK
-// 128M OK
-// 96M OK
-// 88M KO
-// 80M KO
-// 64M KO
-// Bottom line is, looks like we need in the order of twice the file size
-// so let's play it safe
-// Thierry - for 4.2, we need a larger area, was 100 for 4.1
-ini_set("memory_limit","150M");
+ini_set("memory_limit","256M");
 
 // Require login
 require_once 'plc_login.php';
@@ -59,9 +44,11 @@ function deliver_and_unlink ($filename) {
   header ("Pragma: hack");
   header ("Cache-Control: public, must-revalidate");
 
-  // outputs the whole file contents
-  print (file_get_contents($filename));
-  
+  // turn off output buffering
+  ob_end_flush();
+  // outputs the whole file contents without copying it to memory
+  readfile($filename);
   // unlink the file
   if (! unlink ($filename) ) {
     // cannot unlink, but how can we notify this ?
@@ -241,9 +228,8 @@ for this node will generate <span class='bold'>a new node key</span>, and any
 formerly downloaded boot medium for that node will become <span class='bold'>outdated</span>.
 <br/>
 <br/>
-In order to create a configuration file for this node using this page,
-the interface settings must be up to date. Below is summary of these
-values. 
+Also please note that before you create a boot image for this node,
+the following data must be up to date, please review before downloading.
 </p>
 
 EOF;
@@ -258,7 +244,10 @@ EOF;
    $details->start();
 
    if( ! $interface ) {
+     print ("<center>");
      print (plc_warning("This node has no configured primary interface."));
+     print ("You can add one " . href(l_interface_add($node_id), "here "));
+     print ("</center>");
    } else {
      $details->tr(l_node_t($node_id,"Node details"),"center");
      $details->th_td("node_id",$node_id);