]> BookStack Code Mirror - bookstack/commitdiff
Set /app PHP code to PSR-2 standard
authorDan Brown <redacted>
Sun, 28 Jan 2018 16:58:52 +0000 (16:58 +0000)
committerDan Brown <redacted>
Sun, 28 Jan 2018 16:58:52 +0000 (16:58 +0000)
Also adde draw.io to attribution list.

Closes #649

80 files changed:
app/Activity.php
app/Attachment.php
app/Book.php
app/Chapter.php
app/Console/Commands/DeleteUsers.php
app/Entity.php
app/EntityPermission.php
app/Exceptions/AuthException.php
app/Exceptions/ConfirmationEmailException.php
app/Exceptions/FileUploadException.php
app/Exceptions/Handler.php
app/Exceptions/ImageUploadException.php
app/Exceptions/LdapException.php
app/Exceptions/NotFoundException.php
app/Exceptions/NotifyException.php
app/Exceptions/PermissionsException.php
app/Exceptions/PrettyException.php
app/Exceptions/SocialDriverNotConfigured.php
app/Exceptions/SocialSignInException.php
app/Exceptions/UserRegistrationException.php
app/Http/Controllers/Auth/ForgotPasswordController.php
app/Http/Controllers/Auth/LoginController.php
app/Http/Controllers/Auth/RegisterController.php
app/Http/Controllers/Auth/ResetPasswordController.php
app/Http/Controllers/BookController.php
app/Http/Controllers/ChapterController.php
app/Http/Controllers/Controller.php
app/Http/Controllers/HomeController.php
app/Http/Controllers/ImageController.php
app/Http/Controllers/PageController.php
app/Http/Controllers/PermissionController.php
app/Http/Controllers/SearchController.php
app/Http/Controllers/SettingController.php
app/Http/Controllers/TagController.php
app/Http/Controllers/UserController.php
app/Http/Middleware/Localization.php
app/Model.php
app/Notifications/ConfirmEmail.php
app/Ownable.php
app/Page.php
app/PageRevision.php
app/Providers/AppServiceProvider.php
app/Providers/AuthServiceProvider.php
app/Providers/CustomFacadeProvider.php
app/Providers/LdapUserProvider.php
app/Providers/PaginationServiceProvider.php
app/Repos/CommentRepo.php
app/Repos/EntityRepo.php
app/Repos/ImageRepo.php
app/Repos/PermissionsRepo.php
app/Repos/TagRepo.php
app/Repos/UserRepo.php
app/Role.php
app/RolePermission.php
app/SearchTerm.php
app/Services/ActivityService.php
app/Services/AttachmentService.php
app/Services/EmailConfirmationService.php
app/Services/ExportService.php
app/Services/Facades/Activity.php
app/Services/Facades/Images.php
app/Services/Facades/Setting.php
app/Services/Facades/Views.php
app/Services/ImageService.php
app/Services/Ldap.php
app/Services/LdapService.php
app/Services/PermissionService.php
app/Services/SearchService.php
app/Services/SettingService.php
app/Services/SocialAuthService.php
app/Services/UploadService.php
app/Services/ViewService.php
app/SocialAccount.php
app/Tag.php
app/User.php
app/helpers.php
composer.json
composer.lock
phpcs.xml [new file with mode: 0644]
readme.md

index af386700afe2ab3d7081d12018bff8acca5c3bc0..c01da1f6c897c4cf34d3f4a7d7594a5eab0f191c 100644 (file)
@@ -16,7 +16,9 @@ class Activity extends Model
      */
     public function entity()
     {
-        if ($this->entity_type === '') $this->entity_type = null;
+        if ($this->entity_type === '') {
+            $this->entity_type = null;
+        }
         return $this->morphTo('entity');
     }
 
@@ -43,8 +45,8 @@ class Activity extends Model
      * @param $activityB
      * @return bool
      */
-    public function isSimilarTo($activityB) {
+    public function isSimilarTo($activityB)
+    {
         return [$this->key, $this->entity_type, $this->entity_id] === [$activityB->key, $activityB->entity_type, $activityB->entity_id];
     }
-
 }
index fe291bec25d0f76c7a73f2f60505da6f570f1598..55344cd7d4d47c26b85d486843ce5d1c6791252e 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class Attachment extends Ownable
 {
     protected $fillable = ['name', 'order'];
@@ -11,7 +10,9 @@ class Attachment extends Ownable
      */
     public function getFileName()
     {
-        if (str_contains($this->name, '.')) return $this->name;
+        if (str_contains($this->name, '.')) {
+            return $this->name;
+        }
         return $this->name . '.' . $this->extension;
     }
 
@@ -32,5 +33,4 @@ class Attachment extends Ownable
     {
         return baseUrl('/attachments/' . $this->id);
     }
-
 }
index 3fb87b4c519a11804815532932edf59c25093a6f..457a4c928ac5b6f08bdea84f1e13cace325fe338 100644 (file)
@@ -27,7 +27,9 @@ class Book extends Entity
     public function getBookCover($width = 440, $height = 250)
     {
         $default = baseUrl('/book_default_cover.png');
-        if (!$this->image_id) return $default;
+        if (!$this->image_id) {
+            return $default;
+        }
 
         try {
             $cover = $this->cover ? baseUrl($this->cover->getThumb($width, $height, false)) : $default;
@@ -91,5 +93,4 @@ class Book extends Entity
     {
         return "'BookStack\\\\Book' as entity_type, id, id as entity_id, slug, name, {$this->textField} as text,'' as html, '0' as book_id, '0' as priority, '0' as chapter_id, '0' as draft, created_by, updated_by, updated_at, created_at";
     }
-
 }
index b08cb913a425808fdd25ba5d7c16b4711f79d906..6dab9dc47c2dda2588d5d38f83a33169d70006a4 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class Chapter extends Entity
 {
     protected $fillable = ['name', 'description', 'priority', 'book_id'];
@@ -59,5 +58,4 @@ class Chapter extends Entity
     {
         return "'BookStack\\\\Chapter' as entity_type, id, id as entity_id, slug, name, {$this->textField} as text, '' as html, book_id, priority, '0' as chapter_id, '0' as draft, created_by, updated_by, updated_at, created_at";
     }
-
 }
index 8829d39923a58b4911de1fde0d57ccfd65adabc7..6dba83e1379a38198e34dce14ccf4734647ab235 100644 (file)
@@ -6,7 +6,8 @@ use BookStack\User;
 use BookStack\Repos\UserRepo;
 use Illuminate\Console\Command;
 
-class DeleteUsers extends Command{
+class DeleteUsers extends Command
+{
 
     /**
      * The name and signature of the console command.
@@ -37,14 +38,11 @@ class DeleteUsers extends Command{
     {
         $confirm = $this->ask('This will delete all users from the system that are not "admin" or system users. Are you sure you want to continue? (Type "yes" to continue)');
         $numDeleted = 0;
-        if (strtolower(trim($confirm)) === 'yes')
-        {
+        if (strtolower(trim($confirm)) === 'yes') {
             $totalUsers = $this->user->count();
             $users = $this->user->where('system_name', '=', null)->with('roles')->get();
-            foreach ($users as $user)
-            {
-                if ($user->hasSystemRole('admin'))
-                {
+            foreach ($users as $user) {
+                if ($user->hasSystemRole('admin')) {
                     // don't delete users with "admin" role
                     continue;
                 }
@@ -52,11 +50,8 @@ class DeleteUsers extends Command{
                 ++$numDeleted;
             }
             $this->info("Deleted $numDeleted of $totalUsers total users.");
-        }
-        else
-        {
+        } else {
             $this->info('Exiting...');
         }
     }
-
 }
index df8e4d38b241e9928ca951697b6da392744a39e2..1ea4e8dac57cc56e8b978b11ca94f7850d914142 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 use Illuminate\Database\Eloquent\Relations\MorphMany;
 
 class Entity extends Ownable
@@ -28,7 +27,9 @@ class Entity extends Ownable
     {
         $matches = [get_class($this), $this->id] === [get_class($entity), $entity->id];
 
-        if ($matches) return true;
+        if ($matches) {
+            return true;
+        }
 
         if (($entity->isA('chapter') || $entity->isA('page')) && $this->isA('book')) {
             return $entity->book_id === $this->id;
@@ -159,7 +160,9 @@ class Entity extends Ownable
      */
     public function getShortName($length = 25)
     {
-        if (strlen($this->name) <= $length) return $this->name;
+        if (strlen($this->name) <= $length) {
+            return $this->name;
+        }
         return substr($this->name, 0, $length - 3) . '...';
     }
 
@@ -176,13 +179,18 @@ class Entity extends Ownable
      * Return a generalised, common raw query that can be 'unioned' across entities.
      * @return string
      */
-    public function entityRawQuery(){return '';}
+    public function entityRawQuery()
+    {
+        return '';
+    }
 
     /**
      * Get the url of this entity
      * @param $path
      * @return string
      */
-    public function getUrl($path){return '/';}
-
+    public function getUrl($path)
+    {
+        return '/';
+    }
 }
index eaf0a8951f7e66d605ad42f7349de591a0fb49cb..0f49e07f54fe69d228243d5048d44d5f019639a0 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class EntityPermission extends Model
 {
 
index c20bb62a00587c9eb7692134356ff421f2ed1321..2ab7d4616e5efe8a2b9f95e71334b7a363fb9f00 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class AuthException extends PrettyException
+{
 
-class AuthException extends PrettyException {}
\ No newline at end of file
+}
index 8736422c4e6cdee47ad439a16fa0b9ca2a487381..71407b3c0f1fe95167f2b272e266ae13c46840af 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class ConfirmationEmailException extends NotifyException
+{
 
-class ConfirmationEmailException extends NotifyException {}
\ No newline at end of file
+}
index af976072a19aa8ff0b6626d869961f2912beb75f..f5f0971f2aadf42517724e2c5bc4bf67639eb7d0 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class FileUploadException extends PrettyException
+{
 
-class FileUploadException extends PrettyException {}
\ No newline at end of file
+}
index a979072e23822f5fcc54b633696ef4115a86c5bf..4f6e690bc3b10bf9f42b28b79aa803a2a3b2fa4a 100644 (file)
@@ -95,9 +95,12 @@ class Handler extends ExceptionHandler
      * @param $type
      * @return bool
      */
-    protected function isExceptionType(Exception $e, $type) {
+    protected function isExceptionType(Exception $e, $type)
+    {
         do {
-            if (is_a($e, $type)) return true;
+            if (is_a($e, $type)) {
+                return true;
+            }
         } while ($e = $e->getPrevious());
         return false;
     }
@@ -107,7 +110,8 @@ class Handler extends ExceptionHandler
      * @param Exception $e
      * @return string
      */
-    protected function getOriginalMessage(Exception $e) {
+    protected function getOriginalMessage(Exception $e)
+    {
         do {
             $message = $e->getMessage();
         } while ($e = $e->getPrevious());
index 6f4c73037052f304f47ab857d243f29347b2ee16..c64dddaa2b16356f42eeb4d2c0b8d2cb181c4f47 100644 (file)
@@ -1,3 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
-class ImageUploadException extends PrettyException {}
\ No newline at end of file
+class ImageUploadException extends PrettyException
+{
+
+}
index 405520166a643a845ff76d9b9d3c75af98656999..f95e991d3c5bec2f350d1e6cb0c3cc8bf0dd0fb9 100644 (file)
@@ -1,3 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
-class LdapException extends PrettyException {}
\ No newline at end of file
+class LdapException extends PrettyException
+{
+
+}
index 3c027dc449263a4e535c3cde09e4fcd45058abf4..af85ee4c9a2ffe3768748758946cdade32dc29b5 100644 (file)
@@ -1,7 +1,7 @@
 <?php namespace BookStack\Exceptions;
 
-
-class NotFoundException extends PrettyException {
+class NotFoundException extends PrettyException
+{
 
     /**
      * NotFoundException constructor.
@@ -11,4 +11,4 @@ class NotFoundException extends PrettyException {
     {
         parent::__construct($message, 404);
     }
-}
\ No newline at end of file
+}
index 113100b6be1002d28e041421454c9521c4223359..df96b5d12d204c660fc06b36bbe7cd2bf7baaeaf 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Exceptions;
 
-
 class NotifyException extends \Exception
 {
 
@@ -18,4 +17,4 @@ class NotifyException extends \Exception
         $this->redirectLocation = $redirectLocation;
         parent::__construct();
     }
-}
\ No newline at end of file
+}
index ae4c676d67812d6544c2234a3463c1521fcf0e78..e2a8c53b4bcd927ff912495c16f013162866dc1b 100644 (file)
@@ -1,6 +1,8 @@
 <?php namespace BookStack\Exceptions;
 
-
 use Exception;
 
-class PermissionsException extends Exception {}
\ No newline at end of file
+class PermissionsException extends Exception
+{
+
+}
index 889252006f4cdb349f88103793035d4fc551f28d..7fad7df45812e1fc2e75881e50af063b07c23ff5 100644 (file)
@@ -1,3 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
-class PrettyException extends \Exception {}
\ No newline at end of file
+class PrettyException extends \Exception
+{
+
+}
index 20a26c4c9036f30d7a2c5d29dc37540fca2259f4..1a5984c12df7b8a2967a455109e94433370314fb 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class SocialDriverNotConfigured extends PrettyException
+{
 
-class SocialDriverNotConfigured extends PrettyException {}
\ No newline at end of file
+}
index fa78ca85fbd556c9f4d0b53745e4a057ab425d69..734b46e5f501537d964de82c1e634087ceeea02a 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class SocialSignInException extends NotifyException
+{
 
-class SocialSignInException extends NotifyException {}
\ No newline at end of file
+}
index 13a5ec1c31aaf9834cd7e11889047675e181d54b..953abb96db2caac51abfa8298619033f28eccb78 100644 (file)
@@ -1,4 +1,6 @@
 <?php namespace BookStack\Exceptions;
 
+class UserRegistrationException extends NotifyException
+{
 
-class UserRegistrationException extends NotifyException {}
\ No newline at end of file
+}
index d1fbddc509593e347e8a5b789d2792c2d2abd071..a0cbae9c611bffeb421e64788ebca7651ef2f65e 100644 (file)
@@ -64,5 +64,4 @@ class ForgotPasswordController extends Controller
             ['email' => trans($response)]
         );
     }
-
-}
\ No newline at end of file
+}
index 3617652c2b6e0cbb4bc5695127128fde3dfd223b..106b905244229bf2fdf96f4d637bd2e6748be1a2 100644 (file)
@@ -70,7 +70,9 @@ class LoginController extends Controller
     protected function authenticated(Request $request, Authenticatable $user)
     {
         // Explicitly log them out for now if they do no exist.
-        if (!$user->exists) auth()->logout($user);
+        if (!$user->exists) {
+            auth()->logout($user);
+        }
 
         if (!$user->exists && $user->email === null && !$request->filled('email')) {
             $request->flash();
@@ -83,7 +85,6 @@ class LoginController extends Controller
         }
 
         if (!$user->exists) {
-
             // Check for users with same email already
             $alreadyUser = $user->newQuery()->where('email', '=', $user->email)->count() > 0;
             if ($alreadyUser) {
@@ -130,4 +131,4 @@ class LoginController extends Controller
         session()->put('social-callback', 'login');
         return $this->socialAuthService->startLogIn($socialDriver);
     }
-}
\ No newline at end of file
+}
index 5a7a5e971b5fcc86a0fcecd5ec4e2b4fec5820cf..d3c1efb680564713d9e48e03524c209661e782d4 100644 (file)
@@ -113,7 +113,8 @@ class RegisterController extends Controller
 
         if ($validator->fails()) {
             $this->throwValidationException(
-                $request, $validator
+                $request,
+                $validator
             );
         }
 
@@ -272,8 +273,12 @@ class RegisterController extends Controller
         }
 
         $action = session()->pull('social-callback');
-        if ($action == 'login') return $this->socialAuthService->handleLoginCallback($socialDriver);
-        if ($action == 'register') return $this->socialRegisterCallback($socialDriver);
+        if ($action == 'login') {
+            return $this->socialAuthService->handleLoginCallback($socialDriver);
+        }
+        if ($action == 'register') {
+            return $this->socialRegisterCallback($socialDriver);
+        }
         return redirect()->back();
     }
 
@@ -308,5 +313,4 @@ class RegisterController extends Controller
         ];
         return $this->registerUser($userData, $socialAccount);
     }
-
-}
\ No newline at end of file
+}
index eb678503d80828e7a7e700e42f2f335d252a20f4..56f1cf026f0727af67bc51d785c012bd6b74daa7 100644 (file)
@@ -46,4 +46,4 @@ class ResetPasswordController extends Controller
         return redirect($this->redirectPath())
             ->with('status', trans($response));
     }
-}
\ No newline at end of file
+}
index f1645bb4b1606537b45a58d065787d874fe8ee63..7a98bd49ec1b67119c7aa151c0cb874964505a94 100644 (file)
@@ -109,7 +109,7 @@ class BookController extends Controller
     {
         $book = $this->entityRepo->getBySlug('book', $slug);
         $this->checkOwnablePermission('book-update', $book);
-        $this->setPageTitle(trans('entities.books_edit_named',['bookName'=>$book->getShortName()]));
+        $this->setPageTitle(trans('entities.books_edit_named', ['bookName'=>$book->getShortName()]));
         return view('books/edit', ['book' => $book, 'current' => $book]);
     }
 
@@ -194,7 +194,7 @@ class BookController extends Controller
         $bookIdsInvolved = collect([$book->id]);
 
         // Load models into map
-        $sortMap->each(function($mapItem) use ($bookIdsInvolved) {
+        $sortMap->each(function ($mapItem) use ($bookIdsInvolved) {
             $mapItem->type = ($mapItem->type === 'page' ? 'page' : 'chapter');
             $mapItem->model = $this->entityRepo->getById($mapItem->type, $mapItem->id);
             // Store source and target books
@@ -210,12 +210,12 @@ class BookController extends Controller
             $this->showPermissionError();
         }
         // Check permissions of involved books
-        $booksInvolved->each(function(Book $book) {
+        $booksInvolved->each(function (Book $book) {
              $this->checkOwnablePermission('book-update', $book);
         });
 
         // Perform the sort
-        $sortMap->each(function($mapItem) {
+        $sortMap->each(function ($mapItem) {
             $model = $mapItem->model;
 
             $priorityChanged = intval($model->priority) !== intval($mapItem->sort);
@@ -236,7 +236,7 @@ class BookController extends Controller
         });
 
         // Rebuild permissions and add activity for involved books.
-        $booksInvolved->each(function(Book $book) {
+        $booksInvolved->each(function (Book $book) {
             $this->entityRepo->buildJointPermissionsForBook($book);
             Activity::add($book, 'book_sort', $book->id);
         });
index ceeb2a3ef8ba50b8837355f03981e67a4447d6b8..a4e0b64091efafc3fe22f1e034f4acb24d07786b 100644 (file)
@@ -159,7 +159,8 @@ class ChapterController extends Controller
      * @return mixed
      * @throws \BookStack\Exceptions\NotFoundException
      */
-    public function showMove($bookSlug, $chapterSlug) {
+    public function showMove($bookSlug, $chapterSlug)
+    {
         $chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug);
         $this->setPageTitle(trans('entities.chapters_move_named', ['chapterName' => $chapter->getShortName()]));
         $this->checkOwnablePermission('chapter-update', $chapter);
@@ -177,7 +178,8 @@ class ChapterController extends Controller
      * @return mixed
      * @throws \BookStack\Exceptions\NotFoundException
      */
-    public function move($bookSlug, $chapterSlug, Request $request) {
+    public function move($bookSlug, $chapterSlug, Request $request)
+    {
         $chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug);
         $this->checkOwnablePermission('chapter-update', $chapter);
 
index 733d5416b774b8bbd7e02935c790d85fd0e4d098..a51ff5d77f9cc305575677f8557fc52056dfd862 100644 (file)
@@ -51,7 +51,9 @@ abstract class Controller extends BaseController
      */
     protected function preventAccessForDemoUsers()
     {
-        if (config('app.env') === 'demo') $this->showPermissionError();
+        if (config('app.env') === 'demo') {
+            $this->showPermissionError();
+        }
     }
 
     /**
@@ -100,7 +102,9 @@ abstract class Controller extends BaseController
      */
     protected function checkOwnablePermission($permission, Ownable $ownable)
     {
-        if (userCan($permission, $ownable)) return true;
+        if (userCan($permission, $ownable)) {
+            return true;
+        }
         return $this->showPermissionError();
     }
 
@@ -113,7 +117,9 @@ abstract class Controller extends BaseController
     protected function checkPermissionOr($permissionName, $callback)
     {
         $callbackResult = $callback();
-        if ($callbackResult === false) $this->checkPermission($permissionName);
+        if ($callbackResult === false) {
+            $this->checkPermission($permissionName);
+        }
         return true;
     }
 
@@ -145,5 +151,4 @@ abstract class Controller extends BaseController
             ->withInput($request->input())
             ->withErrors($errors, $this->errorBag());
     }
-
 }
index 164becd4dc9a04ebf68af822899251b6b0f1f4c8..b2620588f2eb5714ee7ef1f3ec1960ad8278849b 100644 (file)
@@ -56,7 +56,8 @@ class HomeController extends Controller
      * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
      * @throws \Exception
      */
-    public function getTranslations() {
+    public function getTranslations()
+    {
         $locale = app()->getLocale();
         $cacheKey = 'GLOBAL_TRANSLATIONS_' . $locale;
         if (cache()->has($cacheKey) && config('app.env') !== 'development') {
@@ -95,5 +96,4 @@ class HomeController extends Controller
     {
         return view('partials/custom-head-content');
     }
-
 }
index e675bff0c5b52bbaef6e13db509f287ddfb31a63..a61f447eb5ea883749c81ca541a6e34018441971 100644 (file)
@@ -63,14 +63,14 @@ class ImageController extends Controller
      * @param Request $request
      * @return mixed
      */
-    public function searchByType($type, $page = 0, Request $request)
+    public function searchByType(Request $request, $type, $page = 0)
     {
         $this->validate($request, [
             'term' => 'required|string'
         ]);
 
         $searchTerm = $request->get('term');
-        $imgData = $this->imageRepo->searchPaginatedByType($type, $page, 24, $searchTerm);
+        $imgData = $this->imageRepo->searchPaginatedByType($type, $searchTerm, $page, 24);
         return response()->json($imgData);
     }
 
@@ -92,17 +92,19 @@ class ImageController extends Controller
      * @param Request $request
      * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\JsonResponse|\Symfony\Component\HttpFoundation\Response
      */
-    public function getGalleryFiltered($filter, $page = 0, Request $request)
+    public function getGalleryFiltered(Request $request, $filter, $page = 0)
     {
         $this->validate($request, [
             'page_id' => 'required|integer'
         ]);
 
         $validFilters = collect(['page', 'book']);
-        if (!$validFilters->contains($filter)) return response('Invalid filter', 500);
+        if (!$validFilters->contains($filter)) {
+            return response('Invalid filter', 500);
+        }
 
         $pageId = $request->get('page_id');
-        $imgData = $this->imageRepo->getGalleryFiltered($page, 24, strtolower($filter), $pageId);
+        $imgData = $this->imageRepo->getGalleryFiltered(strtolower($filter), $pageId, $page, 24);
 
         return response()->json($imgData);
     }
@@ -265,6 +267,4 @@ class ImageController extends Controller
         $this->imageRepo->destroyImage($image);
         return response()->json(trans('components.images_deleted'));
     }
-
-
 }
index 9dc7d6401f97c07cd8915f802371ebc9bf395021..17bce7eba87232cd7111d28de8be13e945767fdd 100644 (file)
@@ -153,7 +153,9 @@ class PageController extends Controller
             $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
         } catch (NotFoundException $e) {
             $page = $this->entityRepo->getPageByOldSlug($pageSlug, $bookSlug);
-            if ($page === null) throw $e;
+            if ($page === null) {
+                throw $e;
+            }
             return redirect($page->getUrl());
         }
 
@@ -220,7 +222,9 @@ class PageController extends Controller
             $warnings [] = $this->entityRepo->getUserPageDraftMessage($draft);
         }
 
-        if (count($warnings) > 0) session()->flash('warning', implode("\n", $warnings));
+        if (count($warnings) > 0) {
+            session()->flash('warning', implode("\n", $warnings));
+        }
 
         $draftsEnabled = $this->signedIn;
         return view('pages/edit', [
@@ -604,5 +608,4 @@ class PageController extends Controller
         session()->flash('success', trans('entities.pages_permissions_success'));
         return redirect($page->getUrl());
     }
-
 }
index cd064e7e80675e47188d0b02644926f94cfb8769..c4c7fe9726b24acf052b0f12098f32cb0200708d 100644 (file)
@@ -67,7 +67,9 @@ class PermissionController extends Controller
     {
         $this->checkPermission('user-roles-manage');
         $role = $this->permissionsRepo->getRoleById($id);
-        if ($role->hidden) throw new PermissionsException(trans('errors.role_cannot_be_edited'));
+        if ($role->hidden) {
+            throw new PermissionsException(trans('errors.role_cannot_be_edited'));
+        }
         return view('settings/roles/edit', ['role' => $role]);
     }
 
index 0faeb0decfe35cb500013bd6756a1b12dd42af5e..0827eeb7196624fb77e0800cbdcc15c76979ec7d 100644 (file)
@@ -104,7 +104,4 @@ class SearchController extends Controller
 
         return view('search/entity-ajax-list', ['entities' => $entities]);
     }
-
 }
-
-
index 70a12631a2929d43424149208a79350697caaa4b..e0e351458b0440cb8b2716073058f3d62ad06c66 100644 (file)
@@ -33,7 +33,9 @@ class SettingController extends Controller
 
         // Cycles through posted settings and update them
         foreach ($request->all() as $name => $value) {
-            if (strpos($name, 'setting-') !== 0) continue;
+            if (strpos($name, 'setting-') !== 0) {
+                continue;
+            }
             $key = str_replace('setting-', '', trim($name));
             Setting::put($key, $value);
         }
@@ -41,5 +43,4 @@ class SettingController extends Controller
         session()->flash('success', trans('settings.settings_save_success'));
         return redirect('/settings');
     }
-
 }
index 5cf7a0f8ffd8a092a4013a3e69ed4d862ab6828a..815d9e8d5c87936d168baf406be87772a6fc3ba1 100644 (file)
@@ -54,5 +54,4 @@ class TagController extends Controller
         $suggestions = $this->tagRepo->getValueSuggestions($searchTerm, $tagName);
         return response()->json($suggestions);
     }
-
 }
index 2fe22f1e107f99e7ced4cbbff5dd344dd24444ba..7aa7b31d23cbba64418c52a47d91351e0e1c6679 100644 (file)
@@ -102,7 +102,6 @@ class UserController extends Controller
             } catch (Exception $e) {
                 \Log::error('Failed to save user gravatar image');
             }
-
         }
 
         return redirect('/settings/users');
@@ -256,7 +255,8 @@ class UserController extends Controller
      * @param Request $request
      * @return \Illuminate\Http\RedirectResponse
      */
-    public function switchBookView($id, Request $request) {
+    public function switchBookView($id, Request $request)
+    {
         $this->checkPermissionOr('users-manage', function () use ($id) {
             return $this->currentUser->id == $id;
         });
@@ -271,5 +271,4 @@ class UserController extends Controller
 
         return redirect()->back(302, [], "/settings/users/$id");
     }
-
 }
index 14c87c377f630367019096641a564a28b77768ae..466c1442b92eca75c6fa692564ed163c16a00fca 100644 (file)
@@ -19,7 +19,9 @@ class Localization
             $locale = $defaultLang;
             $availableLocales = config('app.locales');
             foreach ($request->getLanguages() as $lang) {
-                if (!in_array($lang, $availableLocales)) continue;
+                if (!in_array($lang, $availableLocales)) {
+                    continue;
+                }
                 $locale = $lang;
                 break;
             }
index 9ec2b7362790919ee393c25f2d7e0656d255e894..498bacb2055fcb4296b69a44f1e75eb3c61b9e11 100644 (file)
@@ -15,5 +15,4 @@ class Model extends EloquentModel
     {
         return parent::getAttributeFromArray($key);
     }
-
-}
\ No newline at end of file
+}
index 27ac89c329c3f09e8d784b047267e1b3b1afda44..858b12166be9411ed28fe047c739b304f9da9152 100644 (file)
@@ -49,5 +49,4 @@ class ConfirmEmail extends Notification implements ShouldQueue
                     ->line(trans('auth.email_confirm_text'))
                     ->action(trans('auth.email_confirm_action'), baseUrl('/register/confirm/' . $this->token));
     }
-
 }
index f2cfe801b8a98e6e13349479c5834d16919be488..fe58e05ed4843121cea591b36d8028ca44460206 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 abstract class Ownable extends Model
 {
     /**
@@ -29,5 +28,4 @@ abstract class Ownable extends Model
     {
         return strtolower(array_slice(explode('\\', static::class), -1, 1)[0]);
     }
-
-}
\ No newline at end of file
+}
index c9823e7e4ccfcb65dce71328f28fa0f4f04d40a3..e169a1959a98ace6a2f6007bcec2f8feb63744ea 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class Page extends Entity
 {
     protected $fillable = ['name', 'html', 'priority', 'markdown'];
@@ -101,8 +100,8 @@ class Page extends Entity
      * @return string
      */
     public function entityRawQuery($withContent = false)
-    {   $htmlQuery = $withContent ? 'html' : "'' as html";
+    {
+        $htmlQuery = $withContent ? 'html' : "'' as html";
         return "'BookStack\\\\Page' as entity_type, id, id as entity_id, slug, name, {$this->textField} as text, {$htmlQuery}, book_id, priority, chapter_id, draft, created_by, updated_by, updated_at, created_at";
     }
-
 }
index 0a9764729dded7bca21748e581605fba61887565..ffcc4f9d25b26ec81eb6fc89db62b4393666e0a6 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class PageRevision extends Model
 {
     protected $fillable = ['name', 'html', 'text', 'markdown', 'summary'];
@@ -31,7 +30,9 @@ class PageRevision extends Model
     public function getUrl($path = null)
     {
         $url = $this->page->getUrl() . '/revisions/' . $this->id;
-        if ($path) return $url . '/' . trim($path, '/');
+        if ($path) {
+            return $url . '/' . trim($path, '/');
+        }
         return $url;
     }
 
@@ -58,5 +59,4 @@ class PageRevision extends Model
     {
         return $type === 'revision';
     }
-
 }
index ef3ee6c48c790438fc6dc42c77332f6638ecfad1..b06b2f3a25b992322b8172e110f0ecd3ef447cab 100644 (file)
@@ -15,12 +15,12 @@ class AppServiceProvider extends ServiceProvider
     public function boot()
     {
         // Custom validation methods
-        Validator::extend('is_image', function($attribute, $value, $parameters, $validator) {
+        Validator::extend('is_image', function ($attribute, $value, $parameters, $validator) {
             $imageMimes = ['image/png', 'image/bmp', 'image/gif', 'image/jpeg', 'image/jpg', 'image/tiff', 'image/webp'];
             return in_array($value->getMimeType(), $imageMimes);
         });
 
-        \Blade::directive('icon', function($expression) {
+        \Blade::directive('icon', function ($expression) {
             return "<?php echo icon($expression); ?>";
         });
 
@@ -35,7 +35,7 @@ class AppServiceProvider extends ServiceProvider
      */
     public function register()
     {
-        $this->app->singleton(SettingService::class, function($app) {
+        $this->app->singleton(SettingService::class, function ($app) {
             return new SettingService($app->make(Setting::class), $app->make('Illuminate\Contracts\Cache\Repository'));
         });
     }
index 509b86182aae6394a2953ecc5c8c100c516aa9a1..d1fac56e677ff968896b6ce60df441da91b13c91 100644 (file)
@@ -25,7 +25,7 @@ class AuthServiceProvider extends ServiceProvider
      */
     public function register()
     {
-        Auth::provider('ldap', function($app, array $config) {
+        Auth::provider('ldap', function ($app, array $config) {
             return new LdapUserProvider($config['model'], $app[LdapService::class]);
         });
     }
index b2c7acf5e303cb391347ffa3b54d5e59c1164c8c..a97512e8c3fe0ab796b965e996b7296c49911442 100644 (file)
@@ -34,28 +34,28 @@ class CustomFacadeProvider extends ServiceProvider
      */
     public function register()
     {
-        $this->app->bind('activity', function() {
+        $this->app->bind('activity', function () {
             return new ActivityService(
                 $this->app->make(Activity::class),
                 $this->app->make(PermissionService::class)
             );
         });
 
-        $this->app->bind('views', function() {
+        $this->app->bind('views', function () {
             return new ViewService(
                 $this->app->make(View::class),
                 $this->app->make(PermissionService::class)
             );
         });
 
-        $this->app->bind('setting', function() {
+        $this->app->bind('setting', function () {
             return new SettingService(
                 $this->app->make(Setting::class),
                 $this->app->make(Repository::class)
             );
         });
 
-        $this->app->bind('images', function() {
+        $this->app->bind('images', function () {
             return new ImageService(
                 $this->app->make(ImageManager::class),
                 $this->app->make(Factory::class),
index a15257aecd96f933f84ff1bfd1981cfbbe3b7e67..1dc789c3b3bc513c770e514eaf7fbdef42f0b2bb 100644 (file)
@@ -2,7 +2,6 @@
 
 namespace BookStack\Providers;
 
-
 use BookStack\Role;
 use BookStack\Services\LdapService;
 use BookStack\User;
@@ -102,7 +101,9 @@ class LdapUserProvider implements UserProvider
     {
         // Get user via LDAP
         $userDetails = $this->ldapService->getUserDetails($credentials['username']);
-        if ($userDetails === null) return null;
+        if ($userDetails === null) {
+            return null;
+        }
 
         // Search current user base by looking up a uid
         $model = $this->createModel();
@@ -110,7 +111,9 @@ class LdapUserProvider implements UserProvider
             ->where('external_auth_id', $userDetails['uid'])
             ->first();
 
-        if ($currentUser !== null) return $currentUser;
+        if ($currentUser !== null) {
+            return $currentUser;
+        }
 
         $model->name = $userDetails['name'];
         $model->external_auth_id = $userDetails['uid'];
index ec41267a4ba24f99b45be4fe8d984ed112c0bdd7..3a695c5e3dd285c327b74cbdca521e4522ae30b0 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Providers;
 
-
 use Illuminate\Pagination\PaginationServiceProvider as IlluminatePaginationServiceProvider;
 use Illuminate\Pagination\Paginator;
 
@@ -32,4 +31,4 @@ class PaginationServiceProvider extends IlluminatePaginationServiceProvider
             return 1;
         });
     }
-}
\ No newline at end of file
+}
index d8c57bdb32a5b10793b1c7d8bbaab09dbe1a7b47..7f89e7f8dfb3011eabbf60aca05c8fd5b5c3451d 100644 (file)
@@ -7,7 +7,8 @@ use BookStack\Entity;
  * Class CommentRepo
  * @package BookStack\Repos
  */
-class CommentRepo {
+class CommentRepo
+{
 
     /**
      * @var Comment $comment
@@ -39,7 +40,7 @@ class CommentRepo {
      * @param array $data
      * @return Comment
      */
-    public function create (Entity $entity, $data = [])
+    public function create(Entity $entity, $data = [])
     {
         $userId = user()->id;
         $comment = $this->comment->newInstance($data);
@@ -81,7 +82,9 @@ class CommentRepo {
     protected function getNextLocalId(Entity $entity)
     {
         $comments = $entity->comments(false)->orderBy('local_id', 'desc')->first();
-        if ($comments === null) return 1;
+        if ($comments === null) {
+            return 1;
+        }
         return $comments->local_id + 1;
     }
-}
\ No newline at end of file
+}
index 2c92e1907228548dc2d2f89209e27608fa8fb71f..64f7a0810b24a7a04cb4de18f835bffacd1f0d74 100644 (file)
@@ -77,11 +77,15 @@ class EntityRepo
      * @param SearchService $searchService
      */
     public function __construct(
-        Book $book, Chapter $chapter, Page $page, PageRevision $pageRevision,
-        ViewService $viewService, PermissionService $permissionService,
-        TagRepo $tagRepo, SearchService $searchService
-    )
-    {
+        Book $book,
+        Chapter $chapter,
+        Page $page,
+        PageRevision $pageRevision,
+        ViewService $viewService,
+        PermissionService $permissionService,
+        TagRepo $tagRepo,
+        SearchService $searchService
+    ) {
         $this->book = $book;
         $this->chapter = $chapter;
         $this->page = $page;
@@ -163,14 +167,16 @@ class EntityRepo
         $q = $this->entityQuery($type)->where('slug', '=', $slug);
 
         if (strtolower($type) === 'chapter' || strtolower($type) === 'page') {
-            $q = $q->where('book_id', '=', function($query) use ($bookSlug) {
+            $q = $q->where('book_id', '=', function ($query) use ($bookSlug) {
                 $query->select('id')
                     ->from($this->book->getTable())
                     ->where('slug', '=', $bookSlug)->limit(1);
             });
         }
         $entity = $q->first();
-        if ($entity === null) throw new NotFoundException(trans('errors.' . strtolower($type) . '_not_found'));
+        if ($entity === null) {
+            throw new NotFoundException(trans('errors.' . strtolower($type) . '_not_found'));
+        }
         return $entity;
     }
 
@@ -205,7 +211,9 @@ class EntityRepo
     public function getAll($type, $count = 20, $permission = 'view')
     {
         $q = $this->entityQuery($type, false, $permission)->orderBy('name', 'asc');
-        if ($count !== false) $q = $q->take($count);
+        if ($count !== false) {
+            $q = $q->take($count);
+        }
         return $q->get();
     }
 
@@ -232,7 +240,9 @@ class EntityRepo
     {
         $query = $this->permissionService->enforceEntityRestrictions($type, $this->getEntity($type))
             ->orderBy('created_at', 'desc');
-        if (strtolower($type) === 'page') $query = $query->where('draft', '=', false);
+        if (strtolower($type) === 'page') {
+            $query = $query->where('draft', '=', false);
+        }
         if ($additionalQuery !== false && is_callable($additionalQuery)) {
             $additionalQuery($query);
         }
@@ -251,7 +261,9 @@ class EntityRepo
     {
         $query = $this->permissionService->enforceEntityRestrictions($type, $this->getEntity($type))
             ->orderBy('updated_at', 'desc');
-        if (strtolower($type) === 'page') $query = $query->where('draft', '=', false);
+        if (strtolower($type) === 'page') {
+            $query = $query->where('draft', '=', false);
+        }
         if ($additionalQuery !== false && is_callable($additionalQuery)) {
             $additionalQuery($query);
         }
@@ -348,12 +360,16 @@ class EntityRepo
                 $parents[$key] = $entities[$index];
                 $parents[$key]->setAttribute('pages', collect());
             }
-            if ($entities[$index]->chapter_id === 0 || $entities[$index]->chapter_id === '0') $tree[] = $entities[$index];
+            if ($entities[$index]->chapter_id === 0 || $entities[$index]->chapter_id === '0') {
+                $tree[] = $entities[$index];
+            }
             $entities[$index]->book = $book;
         }
 
         foreach ($entities as $entity) {
-            if ($entity->chapter_id === 0 || $entity->chapter_id === '0') continue;
+            if ($entity->chapter_id === 0 || $entity->chapter_id === '0') {
+                continue;
+            }
             $parentKey = 'BookStack\\Chapter:' . $entity->chapter_id;
             if (!isset($parents[$parentKey])) {
                 $tree[] = $entity;
@@ -432,7 +448,9 @@ class EntityRepo
         if (strtolower($type) === 'page' || strtolower($type) === 'chapter') {
             $query = $query->where('book_id', '=', $bookId);
         }
-        if ($currentId) $query = $query->where('id', '!=', $currentId);
+        if ($currentId) {
+            $query = $query->where('id', '!=', $currentId);
+        }
         return $query->count() > 0;
     }
 
@@ -559,7 +577,9 @@ class EntityRepo
         $slug = preg_replace('/[\+\/\\\?\@\}\{\.\,\=\[\]\#\&\!\*\'\;\:\$\%]/', '', mb_strtolower($name));
         $slug = preg_replace('/\s{2,}/', ' ', $slug);
         $slug = str_replace(' ', '-', $slug);
-        if ($slug === "") $slug = substr(md5(rand(1, 500)), 0, 5);
+        if ($slug === "") {
+            $slug = substr(md5(rand(1, 500)), 0, 5);
+        }
         return $slug;
     }
 
@@ -600,7 +620,9 @@ class EntityRepo
     public function savePageRevision(Page $page, $summary = null)
     {
         $revision = $this->pageRevision->newInstance($page->toArray());
-        if (setting('app-editor') !== 'markdown') $revision->markdown = '';
+        if (setting('app-editor') !== 'markdown') {
+            $revision->markdown = '';
+        }
         $revision->page_id = $page->id;
         $revision->slug = $page->slug;
         $revision->book_slug = $page->book->slug;
@@ -628,7 +650,9 @@ class EntityRepo
      */
     protected function formatHtml($htmlText)
     {
-        if ($htmlText == '') return $htmlText;
+        if ($htmlText == '') {
+            return $htmlText;
+        }
         libxml_use_internal_errors(true);
         $doc = new DOMDocument();
         $doc->loadHTML(mb_convert_encoding($htmlText, 'HTML-ENTITIES', 'UTF-8'));
@@ -642,7 +666,9 @@ class EntityRepo
 
         foreach ($childNodes as $index => $childNode) {
             /** @var \DOMElement $childNode */
-            if (get_class($childNode) !== 'DOMElement') continue;
+            if (get_class($childNode) !== 'DOMElement') {
+                continue;
+            }
 
             // Overwrite id if not a BookStack custom id
             if ($childNode->hasAttribute('id')) {
@@ -689,13 +715,17 @@ class EntityRepo
         $content = $page->html;
         $matches = [];
         preg_match_all("/{{@\s?([0-9].*?)}}/", $content, $matches);
-        if (count($matches[0]) === 0) return $content;
+        if (count($matches[0]) === 0) {
+            return $content;
+        }
 
         $topLevelTags = ['table', 'ul', 'ol'];
         foreach ($matches[1] as $index => $includeId) {
             $splitInclude = explode('#', $includeId, 2);
             $pageId = intval($splitInclude[0]);
-            if (is_nan($pageId)) continue;
+            if (is_nan($pageId)) {
+                continue;
+            }
 
             $matchedPage = $this->getById('page', $pageId, false, $ignorePermissions);
             if ($matchedPage === null) {
@@ -755,7 +785,9 @@ class EntityRepo
         $page->updated_by = user()->id;
         $page->draft = true;
 
-        if ($chapter) $page->chapter_id = $chapter->id;
+        if ($chapter) {
+            $page->chapter_id = $chapter->id;
+        }
 
         $book->pages()->save($page);
         $page = $this->page->find($page->id);
@@ -786,14 +818,18 @@ class EntityRepo
      */
     public function getPageNav($pageContent)
     {
-        if ($pageContent == '') return [];
+        if ($pageContent == '') {
+            return [];
+        }
         libxml_use_internal_errors(true);
         $doc = new DOMDocument();
         $doc->loadHTML(mb_convert_encoding($pageContent, 'HTML-ENTITIES', 'UTF-8'));
         $xPath = new DOMXPath($doc);
         $headers = $xPath->query("//h1|//h2|//h3|//h4|//h5|//h6");
 
-        if (is_null($headers)) return [];
+        if (is_null($headers)) {
+            return [];
+        }
 
         $tree = collect([]);
         foreach ($headers as $header) {
@@ -809,7 +845,7 @@ class EntityRepo
         // Normalise headers if only smaller headers have been used
         if (count($tree) > 0) {
             $minLevel = $tree->pluck('level')->min();
-            $tree = $tree->map(function($header) use ($minLevel) {
+            $tree = $tree->map(function ($header) use ($minLevel) {
                 $header['level'] -= ($minLevel - 2);
                 return $header;
             });
@@ -845,7 +881,9 @@ class EntityRepo
         $page->fill($input);
         $page->html = $this->formatHtml($input['html']);
         $page->text = $this->pageToPlainText($page);
-        if (setting('app-editor') !== 'markdown') $page->markdown = '';
+        if (setting('app-editor') !== 'markdown') {
+            $page->markdown = '';
+        }
         $page->updated_by = $userId;
         $page->revision_count++;
         $page->save();
@@ -907,7 +945,9 @@ class EntityRepo
     public function getUserPageDraftMessage(PageRevision $draft)
     {
         $message = trans('entities.pages_editing_draft_notification', ['timeDiff' => $draft->updated_at->diffForHumans()]);
-        if ($draft->page->updated_at->timestamp <= $draft->updated_at->timestamp) return $message;
+        if ($draft->page->updated_at->timestamp <= $draft->updated_at->timestamp) {
+            return $message;
+        }
         return $message . "\n" . trans('entities.pages_draft_edited_notification');
     }
 
@@ -1003,7 +1043,9 @@ class EntityRepo
         }
 
         $draft->fill($data);
-        if (setting('app-editor') !== 'markdown') $draft->markdown = '';
+        if (setting('app-editor') !== 'markdown') {
+            $draft->markdown = '';
+        }
 
         $draft->save();
         return $draft;
@@ -1110,17 +1152,4 @@ class EntityRepo
 
         $page->delete();
     }
-
 }
-
-
-
-
-
-
-
-
-
-
-
-
index 0c15a4310062446e47a37f869e6777ddf97790c2..ec2fda1d36fd443e09bbe50264f55d39b9bec700 100644 (file)
@@ -92,7 +92,7 @@ class ImageRepo
      * @param string $searchTerm
      * @return array
      */
-    public function searchPaginatedByType($type, $page = 0, $pageSize = 24, $searchTerm)
+    public function searchPaginatedByType($type, $searchTerm, $page = 0, $pageSize = 24)
     {
         $images = $this->image->where('type', '=', strtolower($type))->where('name', 'LIKE', '%' . $searchTerm . '%');
         return $this->returnPaginated($images, $page, $pageSize);
@@ -101,13 +101,13 @@ class ImageRepo
     /**
      * Get gallery images with a particular filter criteria such as
      * being within the current book or page.
-     * @param int $pagination
-     * @param int $pageSize
      * @param $filter
      * @param $pageId
+     * @param int $pageNum
+     * @param int $pageSize
      * @return array
      */
-    public function getGalleryFiltered($pagination = 0, $pageSize = 24, $filter, $pageId)
+    public function getGalleryFiltered($filter, $pageId, $pageNum = 0, $pageSize = 24)
     {
         $images = $this->image->where('type', '=', 'gallery');
 
@@ -120,7 +120,7 @@ class ImageRepo
             $images = $images->whereIn('uploaded_to', $validPageIds);
         }
 
-        return $this->returnPaginated($images, $pagination, $pageSize);
+        return $this->returnPaginated($images, $pageNum, $pageSize);
     }
 
     /**
@@ -254,5 +254,4 @@ class ImageRepo
         $validTypes = ['drawing', 'gallery', 'cover', 'system', 'user'];
         return in_array($type, $validTypes);
     }
-
-}
\ No newline at end of file
+}
index aa58d1718cc6bd22775c08d31fabd862159e4731..6f7ea1dc8f4284b950aa63cf2c0f2cf85ddd15eb 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Repos;
 
-
 use BookStack\Exceptions\PermissionsException;
 use BookStack\RolePermission;
 use BookStack\Role;
@@ -149,5 +148,4 @@ class PermissionsRepo
         $this->permissionService->deleteJointPermissionsForRole($role);
         $role->delete();
     }
-
-}
\ No newline at end of file
+}
index 5edd6df3c175cfd511f385d5de1aa031e106712e..ab1805ab3a8b9d1ef329174a125a3d72892a3fcb 100644 (file)
@@ -52,7 +52,9 @@ class TagRepo
     public function getForEntity($entityType, $entityId)
     {
         $entity = $this->getEntity($entityType, $entityId);
-        if ($entity === null) return collect();
+        if ($entity === null) {
+            return collect();
+        }
 
         return $entity->tags;
     }
@@ -95,7 +97,9 @@ class TagRepo
             $query = $query->orderBy('count', 'desc')->take(50);
         }
 
-        if ($tagName !== false) $query = $query->where('name', '=', $tagName);
+        if ($tagName !== false) {
+            $query = $query->where('name', '=', $tagName);
+        }
 
         $query = $this->permissionService->filterRestrictedEntityRelations($query, 'tags', 'entity_id', 'entity_type');
         return $query->get(['value'])->pluck('value');
@@ -112,7 +116,9 @@ class TagRepo
         $entity->tags()->delete();
         $newTags = [];
         foreach ($tags as $tag) {
-            if (trim($tag['name']) === '') continue;
+            if (trim($tag['name']) === '') {
+                continue;
+            }
             $newTags[] = $this->newInstanceFromInput($tag);
         }
 
@@ -132,5 +138,4 @@ class TagRepo
         $values = ['name' => $name, 'value' => $value];
         return $this->tag->newInstance($values);
     }
-
-}
\ No newline at end of file
+}
index e21568d63efb4823c528289f4fac3a87a01ef2f9..d329c307c81c5e4f1e422370c114292ac5a0cd90 100644 (file)
@@ -60,13 +60,13 @@ class UserRepo
      * @param $sortData
      * @return \Illuminate\Database\Eloquent\Builder|static
      */
-    public function getAllUsersPaginatedAndSorted($count = 20, $sortData)
+    public function getAllUsersPaginatedAndSorted($count, $sortData)
     {
         $query = $this->user->with('roles', 'avatar')->orderBy($sortData['sort'], $sortData['order']);
 
         if ($sortData['search']) {
             $term = '%' . $sortData['search'] . '%';
-            $query->where(function($query) use ($term) {
+            $query->where(function ($query) use ($term) {
                 $query->where('name', 'like', $term)
                     ->orWhere('email', 'like', $term);
             });
@@ -107,7 +107,9 @@ class UserRepo
     public function attachDefaultRole($user)
     {
         $roleId = setting('registration-role');
-        if ($roleId === false) $roleId = $this->role->first()->id;
+        if ($roleId === false) {
+            $roleId = $this->role->first()->id;
+        }
         $user->attachRoleId($roleId);
     }
 
@@ -118,10 +120,14 @@ class UserRepo
      */
     public function isOnlyAdmin(User $user)
     {
-        if (!$user->hasSystemRole('admin')) return false;
+        if (!$user->hasSystemRole('admin')) {
+            return false;
+        }
 
         $adminRole = $this->role->getSystemRole('admin');
-        if ($adminRole->users->count() > 1) return false;
+        if ($adminRole->users->count() > 1) {
+            return false;
+        }
         return true;
     }
 
@@ -222,5 +228,4 @@ class UserRepo
     {
         return $this->role->where('system_name', '!=', 'admin')->get();
     }
-
-}
\ No newline at end of file
+}
index bf9685ee25d597f35edb3403f82a31d33c220651..e86854e791051a6f8ca2470562437ef4d0b18fbb 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class Role extends Model
 {
 
@@ -40,7 +39,9 @@ class Role extends Model
     {
         $permissions = $this->getRelationValue('permissions');
         foreach ($permissions as $permission) {
-            if ($permission->getRawAttribute('name') === $permissionName) return true;
+            if ($permission->getRawAttribute('name') === $permissionName) {
+                return true;
+            }
         }
         return false;
     }
@@ -91,5 +92,4 @@ class Role extends Model
     {
         return static::where('hidden', '=', false)->orderBy('name')->get();
     }
-
 }
index ded6f6394fb7466043d3f62997d3bf2c4b199286..366c16749f13d79801f040bc006e7084bff3f71d 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class RolePermission extends Model
 {
     /**
@@ -8,7 +7,7 @@ class RolePermission extends Model
      */
     public function roles()
     {
-        return $this->belongsToMany(Role::class, 'permission_role','permission_id', 'role_id');
+        return $this->belongsToMany(Role::class, 'permission_role', 'permission_id', 'role_id');
     }
 
     /**
index 50df34021f7e5b74f1df7d981bdc2cf1ba65d7c0..ee6c72190cbb254108d5c5aa6f8dbc879b2e80c4 100644 (file)
@@ -14,5 +14,4 @@ class SearchTerm extends Model
     {
         return $this->morphTo('entity');
     }
-
 }
index 2368ba10aebd73a936ad39684be86d2a8e65241c..3fc7e7ee0bbf443354aa3079ecf46bdc759a9032 100644 (file)
@@ -170,5 +170,4 @@ class ActivityService
             Session::flash('success', $message);
         }
     }
-
-}
\ No newline at end of file
+}
index 9403b86ed266dbb6ad80da5170ce0e6ae9f360ae..381e44749258ff4ef060d97d9580be18517262f6 100644 (file)
@@ -14,7 +14,9 @@ class AttachmentService extends UploadService
      */
     protected function getStorage()
     {
-        if ($this->storageInstance !== null) return $this->storageInstance;
+        if ($this->storageInstance !== null) {
+            return $this->storageInstance;
+        }
 
         $storageType = config('filesystems.default');
 
@@ -205,5 +207,4 @@ class AttachmentService extends UploadService
 
         return $attachmentPath;
     }
-
-}
\ No newline at end of file
+}
index 8eb52708c9f567bbfafa57be73d7709b2c65a238..9ee69ef1a4e3434335109f295f396c28241606a5 100644 (file)
@@ -108,6 +108,4 @@ class EmailConfirmationService
         }
         return $token;
     }
-
-
-}
\ No newline at end of file
+}
index 1e4e99428ba1c6427efed0f9fdc396a57d5bf1fd..ada2261e454455a6a4f81d2e8896bf619caf9210 100644 (file)
@@ -42,7 +42,7 @@ class ExportService
     public function chapterToContainedHtml(Chapter $chapter)
     {
         $pages = $this->entityRepo->getChapterChildren($chapter);
-        $pages->each(function($page) {
+        $pages->each(function ($page) {
             $page->html = $this->entityRepo->renderPage($page);
         });
         $html = view('chapters/export', [
@@ -89,7 +89,7 @@ class ExportService
     public function chapterToPdf(Chapter $chapter)
     {
         $pages = $this->entityRepo->getChapterChildren($chapter);
-        $pages->each(function($page) {
+        $pages->each(function ($page) {
             $page->html = $this->entityRepo->renderPage($page);
         });
         $html = view('chapters/export', [
@@ -163,7 +163,9 @@ class ExportService
                     $pathString = public_path(trim($relString, '/'));
                 }
 
-                if ($isLocal && !file_exists($pathString)) continue;
+                if ($isLocal && !file_exists($pathString)) {
+                    continue;
+                }
                 try {
                     if ($isLocal) {
                         $imageContent = file_get_contents($pathString);
@@ -173,7 +175,9 @@ class ExportService
                         $imageContent = curl_exec($ch);
                         $err = curl_error($ch);
                         curl_close($ch);
-                        if ($err) throw new \Exception("Image fetch failed, Received error: " . $err);
+                        if ($err) {
+                            throw new \Exception("Image fetch failed, Received error: " . $err);
+                        }
                     }
                     $imageEncoded = 'data:image/' . pathinfo($pathString, PATHINFO_EXTENSION) . ';base64,' . base64_encode($imageContent);
                     $newImageString = str_replace($srcString, $imageEncoded, $oldImgString);
@@ -257,17 +261,4 @@ class ExportService
         }
         return $text;
     }
-
 }
-
-
-
-
-
-
-
-
-
-
-
-
index ea04cfc475eaf917d9608a40056f63b1a2530a8c..d24e39dbac3d47d5a9536e7c6f58fa4f2895ab98 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Services\Facades;
 
-
 use Illuminate\Support\Facades\Facade;
 
 class Activity extends Facade
@@ -10,5 +9,8 @@ class Activity extends Facade
      *
      * @return string
      */
-    protected static function getFacadeAccessor() { return 'activity'; }
-}
\ No newline at end of file
+    protected static function getFacadeAccessor()
+    {
+        return 'activity';
+    }
+}
index 219f069a01ea1bf0a353b102092908314e3537ec..ff455287c4cc0112c639fc457143d87cb1deefbf 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Services\Facades;
 
-
 use Illuminate\Support\Facades\Facade;
 
 class Images extends Facade
@@ -10,5 +9,8 @@ class Images extends Facade
      *
      * @return string
      */
-    protected static function getFacadeAccessor() { return 'images'; }
-}
\ No newline at end of file
+    protected static function getFacadeAccessor()
+    {
+        return 'images';
+    }
+}
index 02165300420f8bf9af49c32c8e2a4f8d3466c27f..ec6e484dae33659b2094c372d649dc557a29d0de 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Services\Facades;
 
-
 use Illuminate\Support\Facades\Facade;
 
 class Setting extends Facade
@@ -10,5 +9,8 @@ class Setting extends Facade
      *
      * @return string
      */
-    protected static function getFacadeAccessor() { return 'setting'; }
-}
\ No newline at end of file
+    protected static function getFacadeAccessor()
+    {
+        return 'setting';
+    }
+}
index 484ee8145f5c6b40c1d467a2e7d4f9a939581f5b..f990bc171149053b95cedb82ac86ddbedb857f1a 100644 (file)
@@ -9,5 +9,8 @@ class Views extends Facade
      *
      * @return string
      */
-    protected static function getFacadeAccessor() { return 'views'; }
-}
\ No newline at end of file
+    protected static function getFacadeAccessor()
+    {
+        return 'views';
+    }
+}
index f87e980dfec03419bee55d82dbdb238efb6bf467..9755ea3072b0baa652e8d381c55e7dc2264b9635 100644 (file)
@@ -102,7 +102,9 @@ class ImageService extends UploadService
     {
         $imageName = $imageName ? $imageName : basename($url);
         $imageData = file_get_contents($url);
-        if($imageData === false) throw new \Exception(trans('errors.cannot_get_image_from_url', ['url' => $url]));
+        if ($imageData === false) {
+            throw new \Exception(trans('errors.cannot_get_image_from_url', ['url' => $url]));
+        }
         return $this->saveNew($imageName, $imageData, $type);
     }
 
@@ -121,7 +123,9 @@ class ImageService extends UploadService
         $secureUploads = setting('app-secure-images');
         $imageName = str_replace(' ', '-', $imageName);
 
-        if ($secureUploads) $imageName = str_random(16) . '-' . $imageName;
+        if ($secureUploads) {
+            $imageName = str_random(16) . '-' . $imageName;
+        }
 
         $imagePath = '/uploads/images/' . $type . '/' . Date('Y-m-M') . '/';
 
@@ -255,9 +259,13 @@ class ImageService extends UploadService
 
         // Cleanup of empty folders
         foreach ($storage->directories($imageFolder) as $directory) {
-            if ($this->isFolderEmpty($directory)) $storage->deleteDirectory($directory);
+            if ($this->isFolderEmpty($directory)) {
+                $storage->deleteDirectory($directory);
+            }
+        }
+        if ($this->isFolderEmpty($imageFolder)) {
+            $storage->deleteDirectory($imageFolder);
         }
-        if ($this->isFolderEmpty($imageFolder)) $storage->deleteDirectory($imageFolder);
 
         $image->delete();
         return true;
@@ -308,6 +316,4 @@ class ImageService extends UploadService
         $basePath = ($this->storageUrl == false) ? baseUrl('/') : $this->storageUrl;
         return rtrim($basePath, '/') . $filePath;
     }
-
-
 }
index 9c3bec3270af2f4321d155f7a980fca9a7d12839..29270daf5620d169a096fda4516525923e3dde9d 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Services;
 
-
 /**
  * Class Ldap
  * An object-orientated thin abstraction wrapper for common PHP LDAP functions.
@@ -93,5 +92,4 @@ class Ldap
     {
         return ldap_bind($ldapConnection, $bindRdn, $bindPassword);
     }
-
 }
index 598efc19dd68828fab45da38304509056f215189..3eb2f2830e69bec68ea1a21630ad71ee0a4d0959 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack\Services;
 
-
 use BookStack\Exceptions\LdapException;
 use Illuminate\Contracts\Auth\Authenticatable;
 
@@ -45,7 +44,9 @@ class LdapService
         $followReferrals = $this->config['follow_referrals'] ? 1 : 0;
         $this->ldap->setOption($ldapConnection, LDAP_OPT_REFERRALS, $followReferrals);
         $users = $this->ldap->searchAndGetEntries($ldapConnection, $baseDn, $userFilter, ['cn', 'uid', 'dn', $emailAttr]);
-        if ($users['count'] === 0) return null;
+        if ($users['count'] === 0) {
+            return null;
+        }
 
         $user = $users[0];
         return [
@@ -66,8 +67,12 @@ class LdapService
     public function validateUserCredentials(Authenticatable $user, $username, $password)
     {
         $ldapUser = $this->getUserDetails($username);
-        if ($ldapUser === null) return false;
-        if ($ldapUser['uid'] !== $user->external_auth_id) return false;
+        if ($ldapUser === null) {
+            return false;
+        }
+        if ($ldapUser['uid'] !== $user->external_auth_id) {
+            return false;
+        }
 
         $ldapConnection = $this->getConnection();
         try {
@@ -97,7 +102,9 @@ class LdapService
             $ldapBind = $this->ldap->bind($connection, $ldapDn, $ldapPass);
         }
 
-        if (!$ldapBind) throw new LdapException(($isAnonymous ? trans('errors.ldap_fail_anonymous') : trans('errors.ldap_fail_authed')));
+        if (!$ldapBind) {
+            throw new LdapException(($isAnonymous ? trans('errors.ldap_fail_anonymous') : trans('errors.ldap_fail_authed')));
+        }
     }
 
     /**
@@ -108,7 +115,9 @@ class LdapService
      */
     protected function getConnection()
     {
-        if ($this->ldapConnection !== null) return $this->ldapConnection;
+        if ($this->ldapConnection !== null) {
+            return $this->ldapConnection;
+        }
 
         // Check LDAP extension in installed
         if (!function_exists('ldap_connect') && config('app.env') !== 'testing') {
@@ -118,7 +127,9 @@ class LdapService
         // Get port from server string and protocol if specified.
         $ldapServer = explode(':', $this->config['server']);
         $hasProtocol = preg_match('/^ldaps{0,1}\:\/\//', $this->config['server']) === 1;
-        if (!$hasProtocol) array_unshift($ldapServer, '');
+        if (!$hasProtocol) {
+            array_unshift($ldapServer, '');
+        }
         $hostName = $ldapServer[0] . ($hasProtocol?':':'') . $ldapServer[1];
         $defaultPort = $ldapServer[0] === 'ldaps' ? 636 : 389;
         $ldapConnection = $this->ldap->connect($hostName, count($ldapServer) > 2 ? intval($ldapServer[2]) : $defaultPort);
@@ -151,5 +162,4 @@ class LdapService
         }
         return strtr($filterString, $newAttrs);
     }
-
-}
\ No newline at end of file
+}
index 4f8b4e0f9d0fe2b1003b89fa4e7483730b4b9b88..331ed06c87e10e8e96fb098f63a0fd714eb4ce9e 100644 (file)
@@ -88,7 +88,9 @@ class PermissionService
         }
 
         $book = $this->book->find($bookId);
-        if ($book === null) $book = false;
+        if ($book === null) {
+            $book = false;
+        }
         if (isset($this->entityCache['books'])) {
             $this->entityCache['books']->put($bookId, $book);
         }
@@ -108,7 +110,9 @@ class PermissionService
         }
 
         $chapter = $this->chapter->find($chapterId);
-        if ($chapter === null) $chapter = false;
+        if ($chapter === null) {
+            $chapter = false;
+        }
         if (isset($this->entityCache['chapters'])) {
             $this->entityCache['chapters']->put($chapterId, $chapter);
         }
@@ -122,7 +126,9 @@ class PermissionService
      */
     protected function getRoles()
     {
-        if ($this->userRoles !== false) return $this->userRoles;
+        if ($this->userRoles !== false) {
+            return $this->userRoles;
+        }
 
         $roles = [];
 
@@ -161,9 +167,9 @@ class PermissionService
      */
     protected function bookFetchQuery()
     {
-        return $this->book->newQuery()->select(['id', 'restricted', 'created_by'])->with(['chapters' => function($query) {
+        return $this->book->newQuery()->select(['id', 'restricted', 'created_by'])->with(['chapters' => function ($query) {
             $query->select(['id', 'restricted', 'created_by', 'book_id']);
-        }, 'pages'  => function($query) {
+        }, 'pages'  => function ($query) {
             $query->select(['id', 'restricted', 'created_by', 'book_id', 'chapter_id']);
         }]);
     }
@@ -174,7 +180,8 @@ class PermissionService
      * @param array $roles
      * @param bool $deleteOld
      */
-    protected function buildJointPermissionsForBooks($books, $roles, $deleteOld = false) {
+    protected function buildJointPermissionsForBooks($books, $roles, $deleteOld = false)
+    {
         $entities = clone $books;
 
         /** @var Book $book */
@@ -187,7 +194,9 @@ class PermissionService
             }
         }
 
-        if ($deleteOld) $this->deleteManyJointPermissionsForEntities($entities->all());
+        if ($deleteOld) {
+            $this->deleteManyJointPermissionsForEntities($entities->all());
+        }
         $this->createManyJointPermissions($entities, $roles);
     }
 
@@ -261,7 +270,7 @@ class PermissionService
      */
     protected function deleteManyJointPermissionsForRoles($roles)
     {
-        $roleIds = array_map(function($role) {
+        $roleIds = array_map(function ($role) {
             return $role->id;
         }, $roles);
         $this->jointPermission->newQuery()->whereIn('role_id', $roleIds)->delete();
@@ -282,21 +291,22 @@ class PermissionService
      */
     protected function deleteManyJointPermissionsForEntities($entities)
     {
-        if (count($entities) === 0) return;
+        if (count($entities) === 0) {
+            return;
+        }
 
-        $this->db->transaction(function() use ($entities) {
+        $this->db->transaction(function () use ($entities) {
 
             foreach (array_chunk($entities, 1000) as $entityChunk) {
                 $query = $this->db->table('joint_permissions');
                 foreach ($entityChunk as $entity) {
-                    $query->orWhere(function(QueryBuilder $query) use ($entity) {
+                    $query->orWhere(function (QueryBuilder $query) use ($entity) {
                         $query->where('entity_id', '=', $entity->id)
                             ->where('entity_type', '=', $entity->getMorphClass());
                     });
                 }
                 $query->delete();
             }
-
         });
     }
 
@@ -315,7 +325,7 @@ class PermissionService
         $permissionFetch = $this->entityPermission->newQuery();
         foreach ($entities as $entity) {
             $entityRestrictedMap[$entity->getMorphClass() . ':' . $entity->id] = boolval($entity->getRawAttribute('restricted'));
-            $permissionFetch->orWhere(function($query) use ($entity) {
+            $permissionFetch->orWhere(function ($query) use ($entity) {
                 $query->where('restrictable_id', '=', $entity->id)->where('restrictable_type', '=', $entity->getMorphClass());
             });
         }
@@ -346,7 +356,7 @@ class PermissionService
             }
         }
 
-        $this->db->transaction(function() use ($jointPermissions) {
+        $this->db->transaction(function () use ($jointPermissions) {
             foreach (array_chunk($jointPermissions, 1000) as $jointPermissionChunk) {
                 $this->db->table('joint_permissions')->insert($jointPermissionChunk);
             }
@@ -362,8 +372,12 @@ class PermissionService
     protected function getActions(Entity $entity)
     {
         $baseActions = ['view', 'update', 'delete'];
-        if ($entity->isA('chapter') || $entity->isA('book')) $baseActions[] = 'page-create';
-        if ($entity->isA('book')) $baseActions[] = 'chapter-create';
+        if ($entity->isA('chapter') || $entity->isA('book')) {
+            $baseActions[] = 'page-create';
+        }
+        if ($entity->isA('book')) {
+            $baseActions[] = 'chapter-create';
+        }
         return $baseActions;
     }
 
@@ -412,7 +426,10 @@ class PermissionService
             }
         }
 
-        return $this->createJointPermissionDataArray($entity, $role, $action,
+        return $this->createJointPermissionDataArray(
+            $entity,
+            $role,
+            $action,
             ($hasExplicitAccessToParents || ($roleHasPermission && $hasPermissiveAccessToParents)),
             ($hasExplicitAccessToParents || ($roleHasPermissionOwn && $hasPermissiveAccessToParents))
         );
@@ -426,7 +443,8 @@ class PermissionService
      * @param $action
      * @return bool
      */
-    protected function mapHasActiveRestriction($entityMap, Entity $entity, Role $role, $action) {
+    protected function mapHasActiveRestriction($entityMap, Entity $entity, Role $role, $action)
+    {
         $key = $entity->getMorphClass() . ':' . $entity->getRawAttribute('id') . ':' . $role->getRawAttribute('id') . ':' . $action;
         return isset($entityMap[$key]) ? $entityMap[$key] : false;
     }
@@ -545,11 +563,12 @@ class PermissionService
      * @param bool $fetchPageContent
      * @return QueryBuilder
      */
-    public function bookChildrenQuery($book_id, $filterDrafts = false, $fetchPageContent = false) {
-        $pageSelect = $this->db->table('pages')->selectRaw($this->page->entityRawQuery($fetchPageContent))->where('book_id', '=', $book_id)->where(function($query) use ($filterDrafts) {
+    public function bookChildrenQuery($book_id, $filterDrafts = false, $fetchPageContent = false)
+    {
+        $pageSelect = $this->db->table('pages')->selectRaw($this->page->entityRawQuery($fetchPageContent))->where('book_id', '=', $book_id)->where(function ($query) use ($filterDrafts) {
             $query->where('draft', '=', 0);
             if (!$filterDrafts) {
-                $query->orWhere(function($query) {
+                $query->orWhere(function ($query) {
                     $query->where('draft', '=', 1)->where('created_by', '=', $this->currentUser()->id);
                 });
             }
@@ -562,8 +581,8 @@ class PermissionService
             $whereQuery = $this->db->table('joint_permissions as jp')->selectRaw('COUNT(*)')
                 ->whereRaw('jp.entity_id=U.id')->whereRaw('jp.entity_type=U.entity_type')
                 ->where('jp.action', '=', 'view')->whereIn('jp.role_id', $this->getRoles())
-                ->where(function($query) {
-                    $query->where('jp.has_permission', '=', 1)->orWhere(function($query) {
+                ->where(function ($query) {
+                    $query->where('jp.has_permission', '=', 1)->orWhere(function ($query) {
                         $query->where('jp.has_permission_own', '=', 1)->where('jp.created_by', '=', $this->currentUser()->id);
                     });
                 });
@@ -715,5 +734,4 @@ class PermissionService
         $this->userRoles = false;
         $this->isAdminUser = null;
     }
-
-}
\ No newline at end of file
+}
index a8784ded15dba077adcd98f960dc70a587372f24..6786c5cf498707a8691cc7292b632cf909f800fd 100644 (file)
@@ -83,7 +83,9 @@ class SearchService
         $total = 0;
 
         foreach ($entityTypesToSearch as $entityType) {
-            if (!in_array($entityType, $entityTypes)) continue;
+            if (!in_array($entityType, $entityTypes)) {
+                continue;
+            }
             $search = $this->searchEntityTable($terms, $entityType, $page, $count);
             $total += $this->searchEntityTable($terms, $entityType, $page, $count, true);
             $results = $results->merge($search);
@@ -111,7 +113,9 @@ class SearchService
 
         $results = collect();
         foreach ($entityTypesToSearch as $entityType) {
-            if (!in_array($entityType, $entityTypes)) continue;
+            if (!in_array($entityType, $entityTypes)) {
+                continue;
+            }
             $search = $this->buildEntitySearchQuery($terms, $entityType)->where('book_id', '=', $bookId)->take(20)->get();
             $results = $results->merge($search);
         }
@@ -143,7 +147,9 @@ class SearchService
     public function searchEntityTable($terms, $entityType = 'page', $page = 1, $count = 20, $getCount = false)
     {
         $query = $this->buildEntitySearchQuery($terms, $entityType);
-        if ($getCount) return $query->count();
+        if ($getCount) {
+            return $query->count();
+        }
 
         $query = $query->skip(($page-1) * $count)->take($count);
         return $query->get();
@@ -164,12 +170,12 @@ class SearchService
         if (count($terms['search']) > 0) {
             $subQuery = $this->db->table('search_terms')->select('entity_id', 'entity_type', \DB::raw('SUM(score) as score'));
             $subQuery->where('entity_type', '=', 'BookStack\\' . ucfirst($entityType));
-            $subQuery->where(function(Builder $query) use ($terms) {
+            $subQuery->where(function (Builder $query) use ($terms) {
                 foreach ($terms['search'] as $inputTerm) {
                     $query->orWhere('term', 'like', $inputTerm .'%');
                 }
             })->groupBy('entity_type', 'entity_id');
-            $entitySelect->join(\DB::raw('(' . $subQuery->toSql() . ') as s'), function(JoinClause $join) {
+            $entitySelect->join(\DB::raw('(' . $subQuery->toSql() . ') as s'), function (JoinClause $join) {
                 $join->on('id', '=', 'entity_id');
             })->selectRaw($entity->getTable().'.*, s.score')->orderBy('score', 'desc');
             $entitySelect->mergeBindings($subQuery);
@@ -177,7 +183,7 @@ class SearchService
 
         // Handle exact term matching
         if (count($terms['exact']) > 0) {
-            $entitySelect->where(function(\Illuminate\Database\Eloquent\Builder $query) use ($terms, $entity) {
+            $entitySelect->where(function (\Illuminate\Database\Eloquent\Builder $query) use ($terms, $entity) {
                 foreach ($terms['exact'] as $inputTerm) {
                     $query->where(function (\Illuminate\Database\Eloquent\Builder $query) use ($inputTerm, $entity) {
                         $query->where('name', 'like', '%'.$inputTerm .'%')
@@ -195,7 +201,9 @@ class SearchService
         // Handle filters
         foreach ($terms['filters'] as $filterTerm => $filterValue) {
             $functionName = camel_case('filter_' . $filterTerm);
-            if (method_exists($this, $functionName)) $this->$functionName($entitySelect, $entity, $filterValue);
+            if (method_exists($this, $functionName)) {
+                $this->$functionName($entitySelect, $entity, $filterValue);
+            }
         }
 
         return $this->permissionService->enforceEntityRestrictions($entityType, $entitySelect, 'view');
@@ -234,7 +242,9 @@ class SearchService
 
         // Parse standard terms
         foreach (explode(' ', trim($searchString)) as $searchTerm) {
-            if ($searchTerm !== '') $terms['search'][] = $searchTerm;
+            if ($searchTerm !== '') {
+                $terms['search'][] = $searchTerm;
+            }
         }
 
         // Split filter values out
@@ -267,15 +277,18 @@ class SearchService
      * @param string $tagTerm
      * @return mixed
      */
-    protected function applyTagSearch(\Illuminate\Database\Eloquent\Builder $query, $tagTerm) {
+    protected function applyTagSearch(\Illuminate\Database\Eloquent\Builder $query, $tagTerm)
+    {
         preg_match("/^(.*?)((".$this->getRegexEscapedOperators().")(.*?))?$/", $tagTerm, $tagSplit);
-        $query->whereHas('tags', function(\Illuminate\Database\Eloquent\Builder $query) use ($tagSplit) {
+        $query->whereHas('tags', function (\Illuminate\Database\Eloquent\Builder $query) use ($tagSplit) {
             $tagName = $tagSplit[1];
             $tagOperator = count($tagSplit) > 2 ? $tagSplit[3] : '';
             $tagValue = count($tagSplit) > 3 ? $tagSplit[4] : '';
             $validOperator = in_array($tagOperator, $this->queryOperators);
             if (!empty($tagOperator) && !empty($tagValue) && $validOperator) {
-                if (!empty($tagName)) $query->where('name', '=', $tagName);
+                if (!empty($tagName)) {
+                    $query->where('name', '=', $tagName);
+                }
                 if (is_numeric($tagValue) && $tagOperator !== 'like') {
                     // We have to do a raw sql query for this since otherwise PDO will quote the value and MySQL will
                     // search the value as a string which prevents being able to do number-based operations
@@ -323,7 +336,8 @@ class SearchService
      * Index multiple Entities at once
      * @param Entity[] $entities
      */
-    protected function indexEntities($entities) {
+    protected function indexEntities($entities)
+    {
         $terms = [];
         foreach ($entities as $entity) {
             $nameTerms = $this->generateTermArrayFromText($entity->name, 5);
@@ -386,7 +400,9 @@ class SearchService
         $token = strtok($text, $splitChars);
 
         while ($token !== false) {
-            if (!isset($tokenMap[$token])) $tokenMap[$token] = 0;
+            if (!isset($tokenMap[$token])) {
+                $tokenMap[$token] = 0;
+            }
             $tokenMap[$token]++;
             $token = strtok($splitChars);
         }
@@ -410,43 +426,63 @@ class SearchService
 
     protected function filterUpdatedAfter(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        try { $date = date_create($input);
-        } catch (\Exception $e) {return;}
+        try {
+            $date = date_create($input);
+        } catch (\Exception $e) {
+            return;
+        }
         $query->where('updated_at', '>=', $date);
     }
 
     protected function filterUpdatedBefore(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        try { $date = date_create($input);
-        } catch (\Exception $e) {return;}
+        try {
+            $date = date_create($input);
+        } catch (\Exception $e) {
+            return;
+        }
         $query->where('updated_at', '<', $date);
     }
 
     protected function filterCreatedAfter(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        try { $date = date_create($input);
-        } catch (\Exception $e) {return;}
+        try {
+            $date = date_create($input);
+        } catch (\Exception $e) {
+            return;
+        }
         $query->where('created_at', '>=', $date);
     }
 
     protected function filterCreatedBefore(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        try { $date = date_create($input);
-        } catch (\Exception $e) {return;}
+        try {
+            $date = date_create($input);
+        } catch (\Exception $e) {
+            return;
+        }
         $query->where('created_at', '<', $date);
     }
 
     protected function filterCreatedBy(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        if (!is_numeric($input) && $input !== 'me') return;
-        if ($input === 'me') $input = user()->id;
+        if (!is_numeric($input) && $input !== 'me') {
+            return;
+        }
+        if ($input === 'me') {
+            $input = user()->id;
+        }
         $query->where('created_by', '=', $input);
     }
 
     protected function filterUpdatedBy(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        if (!is_numeric($input) && $input !== 'me') return;
-        if ($input === 'me') $input = user()->id;
+        if (!is_numeric($input) && $input !== 'me') {
+            return;
+        }
+        if ($input === 'me') {
+            $input = user()->id;
+        }
         $query->where('updated_by', '=', $input);
     }
 
@@ -455,7 +491,10 @@ class SearchService
         $query->where('name', 'like', '%' .$input. '%');
     }
 
-    protected function filterInTitle(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input) {$this->filterInName($query, $model, $input);}
+    protected function filterInTitle(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
+    {
+        $this->filterInName($query, $model, $input);
+    }
 
     protected function filterInBody(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
@@ -469,14 +508,14 @@ class SearchService
 
     protected function filterViewedByMe(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        $query->whereHas('views', function($query) {
+        $query->whereHas('views', function ($query) {
             $query->where('user_id', '=', user()->id);
         });
     }
 
     protected function filterNotViewedByMe(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
-        $query->whereDoesntHave('views', function($query) {
+        $query->whereDoesntHave('views', function ($query) {
             $query->where('user_id', '=', user()->id);
         });
     }
@@ -484,7 +523,9 @@ class SearchService
     protected function filterSortBy(\Illuminate\Database\Eloquent\Builder $query, Entity $model, $input)
     {
         $functionName = camel_case('sort_by_' . $input);
-        if (method_exists($this, $functionName)) $this->$functionName($query, $model);
+        if (method_exists($this, $functionName)) {
+            $this->$functionName($query, $model);
+        }
     }
 
 
@@ -500,4 +541,4 @@ class SearchService
 
         $query->join($commentQuery, $model->getTable() . '.id', '=', 'comments.entity_id')->orderBy('last_commented', 'desc');
     }
-}
\ No newline at end of file
+}
index ce87f5a4b8da2d9962a857a26d9f71427ed19838..7ec3ef93aee582afb74f6faadf997b0cff199c9d 100644 (file)
@@ -40,8 +40,12 @@ class SettingService
      */
     public function get($key, $default = false)
     {
-        if ($default === false) $default = config('setting-defaults.' . $key, false);
-        if (isset($this->localCache[$key])) return $this->localCache[$key];
+        if ($default === false) {
+            $default = config('setting-defaults.' . $key, false);
+        }
+        if (isset($this->localCache[$key])) {
+            return $this->localCache[$key];
+        }
 
         $value = $this->getValueFromStore($key, $default);
         $formatted = $this->formatValue($value, $default);
@@ -72,12 +76,16 @@ class SettingService
     {
         // Check for an overriding value
         $overrideValue = $this->getOverrideValue($key);
-        if ($overrideValue !== null) return $overrideValue;
+        if ($overrideValue !== null) {
+            return $overrideValue;
+        }
 
         // Check the cache
         $cacheKey = $this->cachePrefix . $key;
         $cacheVal = $this->cache->get($cacheKey, null);
-        if ($cacheVal !== null) return $cacheVal;
+        if ($cacheVal !== null) {
+            return $cacheVal;
+        }
 
         // Check the database
         $settingObject = $this->getSettingObjectByKey($key);
@@ -112,11 +120,17 @@ class SettingService
     protected function formatValue($value, $default)
     {
         // Change string booleans to actual booleans
-        if ($value === 'true') $value = true;
-        if ($value === 'false') $value = false;
+        if ($value === 'true') {
+            $value = true;
+        }
+        if ($value === 'false') {
+            $value = false;
+        }
 
         // Set to default if empty
-        if ($value === '') $value = $default;
+        if ($value === '') {
+            $value = $default;
+        }
         return $value;
     }
 
@@ -225,8 +239,9 @@ class SettingService
      */
     protected function getOverrideValue($key)
     {
-        if ($key === 'registration-enabled' && config('auth.method') === 'ldap') return false;
+        if ($key === 'registration-enabled' && config('auth.method') === 'ldap') {
+            return false;
+        }
         return null;
     }
-
-}
\ No newline at end of file
+}
index d5246453997eac985ea944bfc65fffbfb22ba572..30f7eed0e3dab57a485db4e2b6cd52fcc1d6a964 100644 (file)
@@ -150,8 +150,12 @@ class SocialAuthService
     {
         $driver = trim(strtolower($socialDriver));
 
-        if (!in_array($driver, $this->validSocialDrivers)) abort(404, trans('errors.social_driver_not_found'));
-        if (!$this->checkDriverConfigured($driver)) throw new SocialDriverNotConfigured(trans('errors.social_driver_not_configured', ['socialAccount' => title_case($socialDriver)]));
+        if (!in_array($driver, $this->validSocialDrivers)) {
+            abort(404, trans('errors.social_driver_not_found'));
+        }
+        if (!$this->checkDriverConfigured($driver)) {
+            throw new SocialDriverNotConfigured(trans('errors.social_driver_not_configured', ['socialAccount' => title_case($socialDriver)]));
+        }
 
         return $driver;
     }
@@ -220,5 +224,4 @@ class SocialAuthService
         session()->flash('success', trans('settings.users_social_disconnected', ['socialAccount' => title_case($socialDriver)]));
         return redirect(user()->getEditUrl());
     }
-
-}
\ No newline at end of file
+}
index 028e78bea998ee763e373cef12b5b894d353c0f4..cd05675599dc1c4696d262022d961671d0067975 100644 (file)
@@ -32,7 +32,9 @@ class UploadService
      */
     protected function getStorage()
     {
-        if ($this->storageInstance !== null) return $this->storageInstance;
+        if ($this->storageInstance !== null) {
+            return $this->storageInstance;
+        }
 
         $storageType = config('filesystems.default');
         $this->storageInstance = $this->fileSystem->disk($storageType);
@@ -60,4 +62,4 @@ class UploadService
     {
         return strtolower(config('filesystems.default')) === 'local';
     }
-}
\ No newline at end of file
+}
index 770a9e39ffef3387ba10efc975b8749e662e5a5c..ddcf2eb7eff42e13d2c9bff56444dbe645679213 100644 (file)
@@ -27,7 +27,9 @@ class ViewService
     public function add(Entity $entity)
     {
         $user = user();
-        if ($user === null || $user->isDefault()) return 0;
+        if ($user === null || $user->isDefault()) {
+            return 0;
+        }
         $view = $entity->views()->where('user_id', '=', $user->id)->first();
         // Add view if model exists
         if ($view) {
@@ -77,12 +79,16 @@ class ViewService
     public function getUserRecentlyViewed($count = 10, $page = 0, $filterModel = false)
     {
         $user = user();
-        if ($user === null || $user->isDefault()) return collect();
+        if ($user === null || $user->isDefault()) {
+            return collect();
+        }
 
         $query = $this->permissionService
             ->filterRestrictedEntityRelations($this->view, 'views', 'viewable_id', 'viewable_type');
 
-        if ($filterModel) $query = $query->where('viewable_type', '=', get_class($filterModel));
+        if ($filterModel) {
+            $query = $query->where('viewable_type', '=', get_class($filterModel));
+        }
         $query = $query->where('user_id', '=', $user->id);
 
         $viewables = $query->with('viewable')->orderBy('updated_at', 'desc')
@@ -97,5 +103,4 @@ class ViewService
     {
         $this->view->truncate();
     }
-
-}
\ No newline at end of file
+}
index e7c9b4cc5fb7c05b90d8c7f08ce7eee4fd5ac86d..fdba6a04fda2bc90ef439b68384457cf585d4b8b 100644 (file)
@@ -1,6 +1,5 @@
 <?php namespace BookStack;
 
-
 class SocialAccount extends Model
 {
 
index 2eeb0b1f99115aef4ddb104aa41b99821bdd5436..51f622c38f4d4b3245d1bd81e7ae3230943776df 100644 (file)
@@ -16,4 +16,4 @@ class Tag extends Model
     {
         return $this->morphTo('entity');
     }
-}
\ No newline at end of file
+}
index fd6879ba007dc1d551b7385c6a93c043aebc98db..d1e9b38a775e5c2e292bd56a5049fabae9823706 100644 (file)
@@ -60,7 +60,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
      */
     public function roles()
     {
-        if ($this->id === 0) return ;
+        if ($this->id === 0) {
+            return ;
+        }
         return $this->belongsToMany(Role::class);
     }
 
@@ -91,9 +93,11 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
      */
     public function permissions($cache = true)
     {
-        if(isset($this->permissions) && $cache) return $this->permissions;
+        if (isset($this->permissions) && $cache) {
+            return $this->permissions;
+        }
         $this->load('roles.permissions');
-        $permissions = $this->roles->map(function($role) {
+        $permissions = $this->roles->map(function ($role) {
             return $role->permissions;
         })->flatten()->unique();
         $this->permissions = $permissions;
@@ -107,7 +111,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
      */
     public function can($permissionName)
     {
-        if ($this->email === 'guest') return false;
+        if ($this->email === 'guest') {
+            return false;
+        }
         return $this->permissions()->pluck('name')->contains($permissionName);
     }
 
@@ -162,7 +168,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
     {
         $default = baseUrl('/user_avatar.png');
         $imageId = $this->image_id;
-        if ($imageId === 0 || $imageId === '0' || $imageId === null) return $default;
+        if ($imageId === 0 || $imageId === '0' || $imageId === null) {
+            return $default;
+        }
 
         try {
             $avatar = $this->avatar ? baseUrl($this->avatar->getThumb($size, $size, false)) : $default;
@@ -206,10 +214,14 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
      */
     public function getShortName($chars = 8)
     {
-        if (strlen($this->name) <= $chars) return $this->name;
+        if (strlen($this->name) <= $chars) {
+            return $this->name;
+        }
 
         $splitName = explode(' ', $this->name);
-        if (strlen($splitName[0]) <= $chars) return $splitName[0];
+        if (strlen($splitName[0]) <= $chars) {
+            return $splitName[0];
+        }
 
         return '';
     }
index 153f1e49fcc0a572dd5463e38c9cc4bc572c9332..daa747e7125a433d1c4571e2a5025cd63ac61d8f 100644 (file)
@@ -74,7 +74,9 @@ function userCan($permission, Ownable $ownable = null)
 function setting($key = null, $default = false)
 {
     $settingService = resolve(\BookStack\Services\SettingService::class);
-    if (is_null($key)) return $settingService;
+    if (is_null($key)) {
+        return $settingService;
+    }
     return $settingService->get($key, $default);
 }
 
@@ -87,7 +89,9 @@ function setting($key = null, $default = false)
 function baseUrl($path, $forceAppDomain = false)
 {
     $isFullUrl = strpos($path, 'http') === 0;
-    if ($isFullUrl && !$forceAppDomain) return $path;
+    if ($isFullUrl && !$forceAppDomain) {
+        return $path;
+    }
     $path = trim($path, '/');
 
     // Remove non-specified domain if forced and we have a domain
@@ -126,7 +130,8 @@ function redirect($to = null, $status = 302, $headers = [], $secure = null)
     return app('redirect')->to($to, $status, $headers, $secure);
 }
 
-function icon($name, $attrs = []) {
+function icon($name, $attrs = [])
+{
     $iconPath = resource_path('assets/icons/' . $name . '.svg');
     $attrString = ' ';
     foreach ($attrs as $attrName => $attr) {
@@ -159,11 +164,15 @@ function sortUrl($path, $data, $overrideData = [])
 
     foreach ($queryData as $name => $value) {
         $trimmedVal = trim($value);
-        if ($trimmedVal === '') continue;
+        if ($trimmedVal === '') {
+            continue;
+        }
         $queryStringSections[] = urlencode($name) . '=' . urlencode($trimmedVal);
     }
 
-    if (count($queryStringSections) === 0) return $path;
+    if (count($queryStringSections) === 0) {
+        return $path;
+    }
 
     return baseUrl($path . '?' . implode('&', $queryStringSections));
-}
\ No newline at end of file
+}
index 5b9802f5299e54e5d96e6d88ef26dad5c9c98a11..2750b7cb3b26bb5822b29a057785081e888ed17d 100644 (file)
@@ -29,7 +29,8 @@
         "symfony/dom-crawler": "3.1.*",
         "laravel/browser-kit-testing": "^2.0",
         "barryvdh/laravel-ide-helper": "^2.4.1",
-        "barryvdh/laravel-debugbar": "^3.1.0"
+        "barryvdh/laravel-debugbar": "^3.1.0",
+        "squizlabs/php_codesniffer": "^3.2"
     },
     "autoload": {
         "classmap": [
index 057e6007a12353df6ff1d13a28c19c6391ce04b1..9db080babd79fd9b80cf21ba516c7209f337564c 100644 (file)
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "7d60f09393b99551e9ffdb6622ed7ade",
+    "content-hash": "8ad5cb7acc1115a77404d1be899984ac",
     "packages": [
         {
             "name": "aws/aws-sdk-php",
             "homepage": "https://github.com/sebastianbergmann/version",
             "time": "2016-10-03T07:35:21+00:00"
         },
+        {
+            "name": "squizlabs/php_codesniffer",
+            "version": "3.2.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+                "reference": "d7c00c3000ac0ce79c96fcbfef86b49a71158cd1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d7c00c3000ac0ce79c96fcbfef86b49a71158cd1",
+                "reference": "d7c00c3000ac0ce79c96fcbfef86b49a71158cd1",
+                "shasum": ""
+            },
+            "require": {
+                "ext-simplexml": "*",
+                "ext-tokenizer": "*",
+                "ext-xmlwriter": "*",
+                "php": ">=5.4.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0"
+            },
+            "bin": [
+                "bin/phpcs",
+                "bin/phpcbf"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.x-dev"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Greg Sherwood",
+                    "role": "lead"
+                }
+            ],
+            "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+            "homepage": "http://www.squizlabs.com/php-codesniffer",
+            "keywords": [
+                "phpcs",
+                "standards"
+            ],
+            "time": "2017-12-19T21:44:46+00:00"
+        },
         {
             "name": "symfony/class-loader",
             "version": "v3.3.6",
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644 (file)
index 0000000..009791f
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<ruleset name="PHP_CodeSniffer">
+    <description>The coding standard for BookStack.</description>
+    <file>app</file>
+    <exclude-pattern>*/migrations/*</exclude-pattern>
+    <arg value="np"/>
+    <rule ref="PSR2"/>
+</ruleset>
\ No newline at end of file
index 77f1e88054372c96b7b079885ddfd2ef9dcba73f..97438d4bf13dd75e6894293f282e191e1ada354f 100644 (file)
--- a/readme.md
+++ b/readme.md
@@ -72,7 +72,11 @@ Some strings have colon-prefixed variables in such as `:userName`. Leave these v
 
 Feel free to create issues to request new features or to report bugs and problems. Just please follow the template given when creating the issue.
 
-### Pull Request
+### Standards
+
+PHP code within BookStack is generally to [PSR-2](http://www.php-fig.org/psr/psr-2/) standards. From the BookStack root folder you can run `./vendor/bin/phpcs` to check code is formatted correctly and `./vendor/bin/phpcbf` to auto-fix non-PSR-2 code.
+
+### Pull Requests
 
 Pull requests are very welcome. If the scope of your pull request is large it may be best to open the pull request early or create an issue for it to discuss how it will fit in to the project and plan out the merge.
 
@@ -111,3 +115,4 @@ These are the great open-source projects used to help build BookStack:
     * [Snappy (WKHTML2PDF)](https://github.com/barryvdh/laravel-snappy)
     * [Laravel IDE helper](https://github.com/barryvdh/laravel-ide-helper)
 * [WKHTMLtoPDF](http://wkhtmltopdf.org/index.html)
+* [Draw.io](https://github.com/jgraph/drawio)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.