Fix PHP Warning: Invalid UTF-8 sequence in argument for json_encode() (#4336)

Use rcube_output::json_serialize() instead of json_encode()
This commit is contained in:
Aleksander Machniak 2016-03-09 17:07:52 +01:00
parent 3ec61b99be
commit 7a26dc8d9f

View file

@ -1721,7 +1721,7 @@ class calendar extends rcube_plugin
foreach ($events as $event) { foreach ($events as $event) {
$json[] = $this->_client_event($event, $addcss); $json[] = $this->_client_event($event, $addcss);
} }
return json_encode($json); return rcube_output::json_serialize($json);
} }
/** /**
@ -2243,7 +2243,7 @@ class calendar extends rcube_plugin
// let this information be cached for 5min // let this information be cached for 5min
$this->rc->output->future_expire_header(300); $this->rc->output->future_expire_header(300);
echo json_encode(array( echo rcube_output::json_serialize(array(
'email' => $email, 'email' => $email,
'start' => $dts->format('c'), 'start' => $dts->format('c'),
'end' => $dte->format('c'), 'end' => $dte->format('c'),
@ -2311,12 +2311,12 @@ class calendar extends rcube_plugin
$this->ui->calendar_list(); # set env['calendars'] $this->ui->calendar_list(); # set env['calendars']
echo $this->api->output->parse('calendar.eventedit', false, false); echo $this->api->output->parse('calendar.eventedit', false, false);
echo html::tag('script', array('type' => 'text/javascript'), echo html::tag('script', array('type' => 'text/javascript'),
"rcmail.set_env('calendars', " . json_encode($this->api->output->env['calendars']) . ");\n". "rcmail.set_env('calendars', " . rcube_output::json_serialize($this->api->output->env['calendars']) . ");\n".
"rcmail.set_env('deleteicon', '" . $this->api->output->env['deleteicon'] . "');\n". "rcmail.set_env('deleteicon', '" . $this->api->output->env['deleteicon'] . "');\n".
"rcmail.set_env('cancelicon', '" . $this->api->output->env['cancelicon'] . "');\n". "rcmail.set_env('cancelicon', '" . $this->api->output->env['cancelicon'] . "');\n".
"rcmail.set_env('loadingicon', '" . $this->api->output->env['loadingicon'] . "');\n". "rcmail.set_env('loadingicon', '" . $this->api->output->env['loadingicon'] . "');\n".
"rcmail.gui_object('attachmentlist', '" . $this->ui->attachmentlist_id . "');\n". "rcmail.gui_object('attachmentlist', '" . $this->ui->attachmentlist_id . "');\n".
"rcmail.add_label(" . json_encode($texts) . ");\n" "rcmail.add_label(" . rcube_output::json_serialize($texts) . ");\n"
); );
exit; exit;
} }