photo = $photo; } /** * Execute the job. * * @return void */ public function handle() { if (! $this->photo->remove) { Log::warning(sprintf('%s: NOT Deleting [%s] not marked for deletion',__METHOD__,$this->photo->file_path())); exit; } // Remove tags; if ($this->photo->Tags->count()) $this->photo->Tags()->detach(); // Remove People; if ($this->photo->People->count()) $this->photo->People()->detach(); // Make sure our parent is writable if (! is_writable(dirname($this->photo->file_path()))) Log::warning(sprintf('%s: NOT Deleting [%s] parent directory not writable',__METHOD__,$this->photo->file_path())); // Perform delete if (file_exists($this->photo->file_path())) unlink($this->photo->file_path()); Log::warning(sprintf('%s: Deleted [%s]',__METHOD__,$this->photo->file_path())); $this->photo->delete(); } }