fix crash when renaming file
[phorkie.git] / src / phorkie / Repository.php
index 2683ad0964a10a96b56140cc09febd88d4159d03..013f017f8111e742f5bce7a2e6d00687601e28b5 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
      *
@@ -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') {