BookStack\Repos\PageRepo::searchForImage PHP Method

searchForImage() public method

Search for image usage.
public searchForImage ( $imageString ) : mixed
$imageString
return mixed
    public function searchForImage($imageString)
    {
        $pages = $this->pageQuery()->where('html', 'like', '%' . $imageString . '%')->get();
        foreach ($pages as $page) {
            $page->url = $page->getUrl();
            $page->html = '';
            $page->text = '';
        }
        return count($pages) > 0 ? $pages : false;
    }

Usage Example

 /**
  * Deletes an image and all thumbnail/image files
  * @param PageRepo $pageRepo
  * @param Request $request
  * @param int $id
  * @return \Illuminate\Http\JsonResponse
  */
 public function destroy(PageRepo $pageRepo, Request $request, $id)
 {
     $image = $this->imageRepo->getById($id);
     $this->checkOwnablePermission('image-delete', $image);
     // Check if this image is used on any pages
     $isForced = $request->has('force') && $request->get('force') === 'true' || $request->get('force') === true;
     if (!$isForced) {
         $pageSearch = $pageRepo->searchForImage($image->url);
         if ($pageSearch !== false) {
             return response()->json($pageSearch, 400);
         }
     }
     $this->imageRepo->destroyImage($image);
     return response()->json('Image Deleted');
 }