getMergedSettings() : $settings; $elements['signature'] = $_settings->email_signature; $elements['settings'] = $_settings; $elements['whitelabel'] = $client->company->account->isPaid() ? true : false; $elements['company'] = $client->company; return $elements; } /** * A centralised method to format the custom fields content. * * @param mixed|null $custom_fields * @param mixed $field * @param mixed $value * @param \App\Models\Client|null $client * * @return null|string */ public function formatCustomFieldValue($custom_fields, $field, $value, Client $client = null): ?string { $custom_field = ''; if ($custom_fields && property_exists($custom_fields, $field)) { $custom_field = $custom_fields->{$field}; $custom_field_parts = explode('|', $custom_field); if (count($custom_field_parts) >= 2) { $custom_field = $custom_field_parts[1]; } } switch ($custom_field) { case 'date': return is_null($client) ? $value : $this->translateDate($value, $client->date_format(), $client->locale()); break; case 'switch': return trim($value) == 'yes' ? ctrans('texts.yes') : ctrans('texts.no'); break; default: return is_null($value) ? '' : $value; break; } } /** * A centralised method to make custom field. * @param mixed|null $custom_fields * @param mixed $field * * @return string */ public function makeCustomField($custom_fields, $field): string { if ($custom_fields && property_exists($custom_fields, $field)) { $custom_field = $custom_fields->{$field}; $custom_field_parts = explode('|', $custom_field); return $custom_field_parts[0]; } return ''; } }