do not try to delete if file does not exist
[phorkie.git] / src / phorkie / File.php
index c86e5e0cb29045c66b087fcb42094b622fbdda38..db773df070a936ad793f49fc1fdb3c341549c08c 100644 (file)
@@ -64,8 +64,7 @@ class File
             //quick hack until https://pear.php.net/bugs/bug.php?id=19385 is fixed
             $cmd = new GitCommandBinary($this->repo->getVc());
             $cmd->setSubCommand('show');
-            return //$this->repo->getVc()->getCommand('show')
-                $cmd
+            return $cmd
                 ->addArgument($this->repo->hash . ':' . $this->path)
                 ->execute();
         }
@@ -96,10 +95,10 @@ class File
     /**
      * Get a link to the file
      *
-     * @param string $type Link type. Supported are:
-     *                     - "raw"
-     *                     - "tool"
-     * @param string $option
+     * @param string $type   Link type. Supported are:
+     *                       - "raw"
+     *                       - "tool"
+     * @param string $option Additional option, e.g. tool name
      *
      * @return string
      */
@@ -113,11 +112,16 @@ class File
                     . '/' . $this->getFilename();
             }
         } else if ($type == 'tool') {
-            return '/' . $this->repo->id . '/tool/' . $option . '/' . $this->getFilename();
+            return '/' . $this->repo->id
+                . '/tool/' . $option
+                . '/' . $this->getFilename();
         }
         throw new Exception('Unknown type');
     }
 
+    /**
+     * @return string Mime type of file
+     */
     public function getMimeType()
     {
         $ext = $this->getExt();
@@ -148,6 +152,13 @@ class File
     public function isText()
     {
         $ext = $this->getExt();
+        if ($ext == '') {
+            //no file extension? then consider the size
+            $size = filesize($this->getFullPath());
+            //files <= 4kiB are considered to be text
+            return $size <= 4096;
+        }
+
         if (!isset($GLOBALS['phorkie']['languages'][$ext]['mime'])) {
             return false;
         }
@@ -158,4 +169,4 @@ class File
     }
 }
 
-?>
\ No newline at end of file
+?>