]> BookStack Code Mirror - bookstack/blobdiff - app/Repos/EntityRepo.php
Added migration file.
[bookstack] / app / Repos / EntityRepo.php
index d87c40f9b12cca06c74fbe81b5133e84c6a7c517..a682e696bae5d1c4e633d649ef260433480e8426 100644 (file)
@@ -137,10 +137,15 @@ class EntityRepo
      * @param string $type
      * @param integer $id
      * @param bool $allowDrafts
+     * @param bool $ignorePermissions
      * @return Entity
      */
-    public function getById($type, $id, $allowDrafts = false)
+    public function getById($type, $id, $allowDrafts = false, $ignorePermissions = false)
     {
+        if ($ignorePermissions) {
+            $entity = $this->getEntity($type);
+            return $entity->newQuery()->find($id);
+        }
         return $this->entityQuery($type, $allowDrafts)->find($id);
     }
 
@@ -671,9 +676,10 @@ class EntityRepo
     /**
      * Render the page for viewing, Parsing and performing features such as page transclusion.
      * @param Page $page
+     * @param bool $ignorePermissions
      * @return mixed|string
      */
-    public function renderPage(Page $page)
+    public function renderPage(Page $page, $ignorePermissions = false)
     {
         $content = $page->html;
         $matches = [];
@@ -685,7 +691,7 @@ class EntityRepo
             $pageId = intval($splitInclude[0]);
             if (is_nan($pageId)) continue;
 
-            $page = $this->getById('page', $pageId);
+            $page = $this->getById('page', $pageId, false, $ignorePermissions);
             if ($page === null) {
                 $content = str_replace($matches[0][$index], '', $content);
                 continue;
@@ -710,6 +716,7 @@ class EntityRepo
             $content = str_replace($matches[0][$index], trim($innerContent), $content);
         }
 
+        $page->renderedHTML = $content;
         return $content;
     }