mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Ensure line items as cast to arrays for twig templates
This commit is contained in:
parent
5d50b77dcc
commit
716bd6669e
@ -167,14 +167,11 @@ class ImportController extends Controller
|
||||
private function convertEncoding($data)
|
||||
{
|
||||
|
||||
$enc = mb_detect_encoding($data, mb_list_encodings(), true);
|
||||
// $enc = mb_detect_encoding($data, mb_list_encodings(), true);
|
||||
|
||||
nlog("env");
|
||||
nlog($enc);
|
||||
|
||||
if($enc !== false) {
|
||||
$data = mb_convert_encoding($data, "UTF-8", $enc);
|
||||
}
|
||||
// if($enc !== false) {
|
||||
// $data = mb_convert_encoding($data, "UTF-8", $enc);
|
||||
// }
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
@ -937,4 +937,44 @@ class BaseImport
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function convertData(array $data): array
|
||||
{
|
||||
|
||||
// List of encodings to check against
|
||||
$encodings = [
|
||||
'UTF-8',
|
||||
'ISO-8859-1', // Latin-1
|
||||
'ISO-8859-2', // Latin-2
|
||||
'WINDOWS-1252', // CP1252
|
||||
'SHIFT-JIS',
|
||||
'EUC-JP',
|
||||
'GB2312',
|
||||
'GBK',
|
||||
'BIG5',
|
||||
'ISO-2022-JP',
|
||||
'KOI8-R',
|
||||
'KOI8-U',
|
||||
'WINDOWS-1251', // CP1251
|
||||
'UTF-16',
|
||||
'UTF-32',
|
||||
'ASCII'
|
||||
];
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
// Only process strings
|
||||
if (is_string($value)) {
|
||||
// Detect the encoding of the string
|
||||
$detectedEncoding = mb_detect_encoding($value, $encodings, true);
|
||||
|
||||
// If encoding is detected and it's not UTF-8, convert it to UTF-8
|
||||
if ($detectedEncoding && $detectedEncoding !== 'UTF-8') {
|
||||
$array[$key] = mb_convert_encoding($value, 'UTF-8', $detectedEncoding);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -77,8 +77,6 @@ class NinjaMailerJob implements ShouldQueue
|
||||
/*Set the correct database*/
|
||||
MultiDB::setDb($this->nmo->company->db);
|
||||
|
||||
nlog("nn");
|
||||
|
||||
/* Serializing models from other jobs wipes the primary key */
|
||||
$this->company = Company::query()->where('company_key', $this->nmo->company->company_key)->first();
|
||||
|
||||
|
@ -605,7 +605,7 @@ class TemplateService
|
||||
$item->tax_amount = Number::formatMoney($item->tax_amount_raw, $client_or_vendor);
|
||||
$item->product_cost = Number::formatMoney($item->product_cost_raw, $client_or_vendor);
|
||||
|
||||
return $item;
|
||||
return (array)$item;
|
||||
|
||||
})->toArray();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user