except(['_token', '_method']) as $key => $value) { if (!empty($key)) { if (is_array($value)) { $value = json_encode($value); } // Nếu key là smtp -> kiểm tra và mã hoá password nếu có if ($key === 'smtp') { $decoded = is_array($value) ? $value : json_decode($value, true); if (isset($decoded['password']) && !empty($decoded['password'])) { $decoded['password'] = SignRSA::EncryptFunc($decoded['password']); } $value = json_encode($decoded); } $this->settingRepository->updateOrCreateByKey($key, [ 'key' => $key, 'value' => $value ]); } } DB::commit(); } catch (Exception $error) { DB::rollBack(); return back()->withErrors($error->getMessage()); } return back()->with('success', 'Updated Successfully'); } }