fix delete on exit
[Pman.Base] / Pman.php
index f449844..06b707e 100644 (file)
--- a/Pman.php
+++ b/Pman.php
@@ -357,11 +357,14 @@ class Pman extends HTML_FlexyFramework_Page
             header("Content-type: text/javascript");
         }
         if (function_exists("json_encode")) {
-            return json_encode($v);
+            $ret=  json_encode($v);
+            if ($ret !== false) {
+                return $ret;
+            }
         }
         require_once 'Services/JSON.php';
         $js = new Services_JSON();
-        echo $js->encodeUnsafe($v);
+        return $js->encodeUnsafe($v);
         
         
         
@@ -386,29 +389,34 @@ class Pman extends HTML_FlexyFramework_Page
         }
     }
     
-    
+    static $deleteOnExit = false;
     /**
      * generate a tempory file with an extension (dont forget to delete it)
      */
     
-    function tempName($ext, $deleteOnExit=false)
+    function deleteOnExitAdd($name)
     {
-        if ($deleteOnExit && self::$deleteOnExit === false) {
+        if (self::$deleteOnExit === false) {
             register_shutdown_function(array('Pman','deleteOnExit'));
             self::$deleteOnExit  = array();
         }
+        self::$deleteOnExit[] = $name;
+    }
+    
+    function tempName($ext, $deleteOnExit=false)
+    {
+        
         $x = tempnam(ini_get('session.save_path'), HTML_FlexyFramework::get()->appNameShort.'TMP');
         unlink($x);
         $ret = $x .'.'. $ext;
         if ($deleteOnExit) {
-            self::$deleteOnExit[] = $ret;
+            $this->deleteOnExitAdd($ret);
         }
         return $ret;
     
     }
    
-    static $deleteOnExit = false;
-    static function deleteOnExit()
+     static function deleteOnExit()
     {
         
         foreach(self::$deleteOnExit as $fn) {
@@ -661,6 +669,7 @@ class Pman extends HTML_FlexyFramework_Page
             }
             file_put_contents($fn, $ret);
         }
+        
         echo $ret;
         exit;
     }