settingOra = $settingOra; $this->init(); } public function init() { $oraUpdate = Carbon::now(); if ($this->settingOra) { $this->logs['start'] = 'Inizio da ' . $this->settingOra->value . "\n
"; $this->logs['end'] = 'Fino a ' . $oraUpdate->toDateTimeString() . "\n
"; } else { $this->logs['start'] = 'Iniziato: ' . $oraUpdate->toDateTimeString() . "\n
"; } $this->logs['inserted'] = 'PRODOTTI INSERITI' . "\n
"; $this->logs['not_inserted'] = 'EVENTUALI PRODOTTI NON INSERITI' . "\n
"; $this->logs['updated'] = 'PRODOTTI AGGIORNATI' . "\n
"; $this->logs['server_issues'] = 'PRODOTTI NON INSERITI PER PROBLEMI SERVER' . "\n
"; $this->logs['pre_order'] = 'PRODOTTI IN PREVENDITA' . "\n
"; $this->logs['custom'] = ""; // for custom log messages } public function updateSettingOra($newOra) { $this->settingOra = $newOra; } public function setLogandSendEmail() { if (is_object($this->settingOra) && method_exists($this->settingOra, 'save')) { $ora_update = Carbon::now(); $this->settingOra->value = $ora_update->toDateTimeString(); $this->settingOra->save(); } else { // Gestisci il caso in cui $this->settingOra non è un oggetto o non ha il metodo save Log::warning('Impossibile eseguire il metodo save() su $this->settingOra, non è un oggetto o il metodo non esiste.'); } if ($this->aggiornato) { Log::channel('updateproducts')->notice($this->concatenateLogs()); Mail::raw($this->concatenateLogs(), function ($message) { if (!$this->settingOra) { $titolo = "Inserim. prodotto:"; } else { $titolo = "Inserim. nuovi prodotti"; } $message->to(Mylog::getEmail()); $message->subject(Mylog::getSubjectEmail($titolo)); }); } } public function addLog($type, $message) { if (isset($this->logs[$type])) { $this->logs[$type] .= $message . "\n
"; } } public function getLogs() { return $this->logs; } public function concatenateLogs() { return implode("", $this->logs); } public function setAggiornato($aggiornato) { $this->aggiornato = $aggiornato; } public function getAggiornato() { return $this->aggiornato; } }