Fix curly brace when accessing character inside string
[phorkie.git] / src / phorkie / Repository.php
index 2683ad0964a10a96b56140cc09febd88d4159d03..fab32a192a66e80407fa41cf515131ff80035168 100644 (file)
@@ -96,7 +96,6 @@ class Repository
 
     public function loadHash()
     {
-        return;
         if ($this->hash !== null) {
             return;
         }
@@ -114,6 +113,12 @@ class Repository
         $this->hash = $output;
     }
 
+    public function reloadHash()
+    {
+        $this->hash = null;
+        return $this->loadHash();
+    }
+
     /**
      * Populates $this->message
      *
@@ -138,7 +143,7 @@ class Repository
 
     public function getVc()
     {
-        return new \VersionControl_Git($this->gitDir);
+        return new \VersionControl_Git($this->workDir);
     }
 
     /**
@@ -205,7 +210,7 @@ class Repository
             ->execute();
         $files = explode("\n", trim($output));
         foreach ($files as &$file) {
-            if ($file{0} == '"') {
+            if ($file[0] == '"') {
                 $file = $this->decodeFileName($file);
             }
         }
@@ -310,6 +315,7 @@ class Repository
      *                        - "delete"
      *                        - "delete-confirm"
      *                        - "display"
+     *                        - "embed"
      *                        - "fork"
      *                        - "revision"
      * @param string  $option Additional link option, e.g. revision number
@@ -321,6 +327,9 @@ class Repository
     {
         if ($type == 'edit') {
             $link = $this->id . '/edit';
+            if ($option !== null) {
+                $link .= '/' . urlencode($option);
+            }
         } else if ($type == 'display') {
             $link = $this->id;
         } else if ($type == 'fork') {
@@ -331,6 +340,16 @@ class Repository
             $link = $this->id . '/delete';
         } else if ($type == 'delete-confirm') {
             $link = $this->id . '/delete/confirm';
+        } else if ($type == 'embed') {
+            $link = $this->id . '/embed';
+        } else if ($type == 'oembed-json') {
+            $link = 'oembed.php?format=json&url='
+                . urlencode($this->getLink('display', null, true));
+        } else if ($type == 'oembed-xml') {
+            $link = 'oembed.php?format=xml&url='
+                . urlencode($this->getLink('display', null, true));
+        } else if ($type == 'remotefork') {
+            return 'web+fork:' . $this->getLink('display', null, true);
         } else if ($type == 'revision') {
             $link = $this->id . '/rev/' . $option;
         } else if ($type == 'linkback') {