with([ 'working_dir' => request('working_dir'), 'img' => $this->lfm->pretty(request('img')) ]); } /** * Crop the image (called via ajax). */ public function getCropimage($overWrite = true) { $image_name = request('img'); $image_path = $this->lfm->setName($image_name)->path('absolute'); $crop_path = $image_path; if (! $overWrite) { $fileParts = explode('.', $image_name); $fileParts[count($fileParts) - 2] = $fileParts[count($fileParts) - 2] . '_cropped_' . time(); $image_name = implode('.', $fileParts); $crop_path = $this->lfm->setName($image_name)->path('absolute'); } event(new ImageIsCropping($image_path)); $crop_info = request()->only('dataWidth', 'dataHeight', 'dataX', 'dataY'); // crop image $image = Image::make($image_path) ->crop(...array_values($crop_info)) ->save($crop_path); // make new thumbnail $this->lfm->makeThumbnail($image_name); $new_file = $this->lfm->pretty($image_name); $working_folder_id = $new_file->getModelParentFolderId(); $mimeType = $new_file->mimeType(); $extension = $new_file->extension(); $size = \File::size($crop_path); IQContentFile::create([ 'folder_id' => $working_folder_id, 'name' => $image_name, 'identifier' => $image_name, 'ext' => $extension, 'mine' => $mimeType, 'size' => $size / 1000, 'dimensions' => $image->width()."x".$image->height(), 'content' => '', ]); event(new ImageWasCropped($image_path)); } public function getNewCropimage() { $this->getCropimage(false); } }