fix: normalize telephone data for JSON
This commit is contained in:
parent
09a1c6715f
commit
008ca712ff
@ -33,6 +33,7 @@ class RequestsController extends BaseController
|
||||
$row['COLLECTIONDATE'] = date('Y-m-d H:i', strtotime($row['COLLECTIONDATE']));
|
||||
$row['ODR_DDATE'] = date('Y-m-d H:i', strtotime($row['ODR_DDATE']));
|
||||
$row['REQDATE'] = date('Y-m-d H:i', strtotime($row['REQDATE']));
|
||||
$this->normalizeTelephoneFields($row);
|
||||
}
|
||||
$data['data'] = $rows;
|
||||
return $this->response->setJSON($data);
|
||||
@ -135,6 +136,28 @@ class RequestsController extends BaseController
|
||||
return $this->response->setJSON($data);
|
||||
}
|
||||
|
||||
private function normalizeTelephoneFields(array &$row): void
|
||||
{
|
||||
foreach (['TELEPHON', 'TELEPHONE'] as $field) {
|
||||
if (isset($row[$field]) && is_string($row[$field])) {
|
||||
$row[$field] = $this->ensureUtf8($row[$field]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function ensureUtf8(string $value): string
|
||||
{
|
||||
if (mb_check_encoding($value, 'UTF-8')) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
$encoding = mb_detect_encoding($value, ['UTF-8', 'CP1252', 'ISO-8859-1'], true);
|
||||
|
||||
return $encoding
|
||||
? mb_convert_encoding($value, 'UTF-8', $encoding)
|
||||
: mb_convert_encoding($value, 'UTF-8', 'CP1252');
|
||||
}
|
||||
|
||||
public function setEngLanguage($accessnumber)
|
||||
{
|
||||
$userid = session('userid');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user