department_id!=null) { $users = User::where('department_id', $sharedFile->department->id)->pluck('id')->toArray(); $files = SharedFile::where('shared_by', auth()->user()->id)->where('path_to_root', 'LIKE', '%;'. $sharedFile->file_id .';%') ->where(function($q) use($sharedFile, $users){ $q->orWhere('department_id', $sharedFile->department_id) ->orWhereIn('user_id', $users); })->get(); foreach($files as $file) { $file->delete(); } } else if($sharedFile->user_id!=null) { $files = SharedFile::where('shared_by', auth()->user()->id)->where('user_id', $sharedFile->user_id)->where('path_to_root', 'LIKE', '%;'. $sharedFile->file_id .';%')->get(); foreach($files as $file) { $file->delete(); } } if(($sharedFile->permission == 1) && SharedFile::where('file_id', $sharedFile->file_id)->where('user_id', $sharedFile->user_id)->where('department_id', $sharedFile->department_id)->where('permission', 2)->exist()) $sharedFile->delete(); else if($sharedFile->permission == 2) if(SharedFile::where('file_id', $sharedFile->file_id)->where('user_id', $sharedFile->user_id)->where('department_id', $sharedFile->department_id)->where('permission', 1)->exist()) SharedFile::where('file_id', $sharedFile->file_id)->where('user_id', $sharedFile->user_id)->where('department_id', $sharedFile->department_id)->where('permission', 1)->delete(); if($sharedFile->path_to_root == "") { $sharedFile->show_home = 1; $sharedFile->saveWithoutEvents(); } else { $found=false; $shares = SharedFile::where('department_id', $sharedFile->department_id)->where('user_id', $sharedFile->user_id)->where('file_id', $sharedFile->file_id)->get(['id', 'show_home']); foreach($shares as $share) { if(preg_match("/;".$share->file_id.";/", $sharedFile->path_to_root)) $found=true; } if($found == false) { $sharedFile->show_home = 1; $sharedFile->saveWithoutEvents(); } } } /** * Handle the shared file "updated" event. * * @param \App\SharedFile $sharedFile * @return void */ public function updated(SharedFile $sharedFile) { // } /** * Handle the shared file "deleted" event. * * @param \App\SharedFile $sharedFile * @return void */ public function deleted(SharedFile $sharedFile) { // } /** * Handle the shared file "restored" event. * * @param \App\SharedFile $sharedFile * @return void */ public function restored(SharedFile $sharedFile) { // } /** * Handle the shared file "force deleted" event. * * @param \App\SharedFile $sharedFile * @return void */ public function forceDeleted(SharedFile $sharedFile) { // } }