X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/0b364fd72f994e6dff572a1606f3aa26e7690aa1..refs/pull/232/head:/app/Repos/EntityRepo.php diff --git a/app/Repos/EntityRepo.php b/app/Repos/EntityRepo.php index 012a64967..42b0b6b7b 100644 --- a/app/Repos/EntityRepo.php +++ b/app/Repos/EntityRepo.php @@ -6,6 +6,7 @@ use BookStack\Entity; use BookStack\Page; use BookStack\Services\PermissionService; use BookStack\User; +use Illuminate\Support\Collection; use Illuminate\Support\Facades\Log; class EntityRepo @@ -131,9 +132,8 @@ class EntityRepo */ public function getUserDraftPages($count = 20, $page = 0) { - $user = auth()->user(); return $this->page->where('draft', '=', true) - ->where('created_by', '=', $user->id) + ->where('created_by', '=', user()->id) ->orderBy('updated_at', 'desc') ->skip($count * $page)->take($count)->get(); } @@ -168,15 +168,16 @@ class EntityRepo * @param $termString * @return array */ - protected function prepareSearchTerms($termString) + public function prepareSearchTerms($termString) { $termString = $this->cleanSearchTermString($termString); - preg_match_all('/"(.*?)"/', $termString, $matches); + preg_match_all('/(".*?")/', $termString, $matches); + $terms = []; if (count($matches[1]) > 0) { - $terms = $matches[1]; + foreach ($matches[1] as $match) { + $terms[] = $match; + } $termString = trim(preg_replace('/"(.*?)"/', '', $termString)); - } else { - $terms = []; } if (!empty($termString)) $terms = array_merge($terms, explode(' ', $termString)); return $terms; @@ -259,6 +260,15 @@ class EntityRepo return $query; } + /** + * Alias method to update the book jointPermissions in the PermissionService. + * @param Collection $collection collection on entities + */ + public function buildJointPermissions(Collection $collection) + { + $this->permissionService->buildJointPermissionsForEntities($collection); + } + }