Initial refactor for removing deprecated mb_convert_encoding()
This commit is contained in:
parent
3590e89c05
commit
ee7b2d52c5
|
|
@ -54,6 +54,8 @@ use App\Events\PurchaseOrder\PurchaseOrderWasEmailed;
|
||||||
* @property string|null $terms
|
* @property string|null $terms
|
||||||
* @property string|null $tax_name1
|
* @property string|null $tax_name1
|
||||||
* @property float $tax_rate1
|
* @property float $tax_rate1
|
||||||
|
* @property bool $has_tasks
|
||||||
|
* @property bool $has_expenses
|
||||||
* @property string|null $tax_name2
|
* @property string|null $tax_name2
|
||||||
* @property float $tax_rate2
|
* @property float $tax_rate2
|
||||||
* @property string|null $tax_name3
|
* @property string|null $tax_name3
|
||||||
|
|
|
||||||
|
|
@ -411,8 +411,6 @@ class TemplateService
|
||||||
|
|
||||||
@$this->document->loadHTML('<?xml encoding="UTF-8">'.$html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
@$this->document->loadHTML('<?xml encoding="UTF-8">'.$html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
||||||
|
|
||||||
// @$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
|
|
||||||
|
|
||||||
$this->save();
|
$this->save();
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
@ -448,16 +446,34 @@ class TemplateService
|
||||||
$html .= $this->template->design->body;
|
$html .= $this->template->design->body;
|
||||||
$html .= $this->template->design->footer;
|
$html .= $this->template->design->footer;
|
||||||
|
|
||||||
@$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
|
@$this->document->loadHTML($this->convertHtmlToEntities($html));
|
||||||
|
|
||||||
|
// @$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert HTML string to HTML entities (replacement for deprecated mb_convert_encoding)
|
||||||
|
* Maintains exact same functionality as mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')
|
||||||
|
*
|
||||||
|
* @param string $html
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function convertHtmlToEntities(string $html): string
|
||||||
|
{
|
||||||
|
// Encode all non-ASCII characters (code points 0x80 and above) as numeric HTML entities
|
||||||
|
// This matches the exact behavior of mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')
|
||||||
|
return mb_encode_numericentity($html, [0x80, 0x10FFFF, 0, 0xFFFF], 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
public function setRawTemplate(string $template): self
|
public function setRawTemplate(string $template): self
|
||||||
{
|
{
|
||||||
|
@$this->document->loadHTML($this->convertHtmlToEntities($template));
|
||||||
|
|
||||||
@$this->document->loadHTML(mb_convert_encoding($template, 'HTML-ENTITIES', 'UTF-8'));
|
// @$this->document->loadHTML(mb_convert_encoding($template, 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
||||||
|
|
@ -477,7 +493,8 @@ class TemplateService
|
||||||
$html .= $partials['design']['body'];
|
$html .= $partials['design']['body'];
|
||||||
$html .= $partials['design']['footer'];
|
$html .= $partials['design']['footer'];
|
||||||
|
|
||||||
@$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
|
@$this->document->loadHTML($this->convertHtmlToEntities($html));
|
||||||
|
// @$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
||||||
|
|
@ -1207,7 +1224,6 @@ class TemplateService
|
||||||
|
|
||||||
return collect($purchase_orders)->map(function ($purchase_order) {
|
return collect($purchase_orders)->map(function ($purchase_order) {
|
||||||
|
|
||||||
/** @var PurchaseOrder $purchase_order */
|
|
||||||
return [
|
return [
|
||||||
'vendor' => $purchase_order->vendor ? [
|
'vendor' => $purchase_order->vendor ? [
|
||||||
'name' => $purchase_order->vendor->present()->name(),
|
'name' => $purchase_order->vendor->present()->name(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue