From 1ce5b78a6b8e7dd81776e46aae55decf9ac5c34e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 22 Jun 2020 01:02:17 +0200 Subject: [PATCH] Fix error message not reported --- htdocs/core/boxes/box_external_rss.php | 6 ++++-- htdocs/core/class/rssparser.class.php | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php index 93ac43d6c22..7672c47880d 100644 --- a/htdocs/core/boxes/box_external_rss.php +++ b/htdocs/core/boxes/box_external_rss.php @@ -101,7 +101,9 @@ class box_external_rss extends ModeleBoxes if ($result < 0 || !empty($rssparser->error)) { // Show warning - $title .= " ".img_error($langs->trans("FailedToRefreshDataInfoNotUpToDate", ($rssparser->getLastFetchDate() ?dol_print_date($rssparser->getLastFetchDate(), "dayhourtext") : $langs->trans("Unknown")))); + $errormessage = $langs->trans("FailedToRefreshDataInfoNotUpToDate", ($rssparser->getLastFetchDate() ? dol_print_date($rssparser->getLastFetchDate(), "dayhourtext") : $langs->trans("Unknown"))); + if ($rssparser->error) $errormessage .= " - ".$rssparser->error; + $title .= " ".img_error($errormessage); $this->info_box_head = array('text' => $title, 'limit' => 0); } else @@ -109,7 +111,7 @@ class box_external_rss extends ModeleBoxes $this->info_box_head = array( 'text' => $title, 'sublink' => $link, - 'subtext'=>$langs->trans("LastRefreshDate").': '.($rssparser->getLastFetchDate() ?dol_print_date($rssparser->getLastFetchDate(), "dayhourtext") : $langs->trans("Unknown")), + 'subtext'=>$langs->trans("LastRefreshDate").': '.($rssparser->getLastFetchDate() ? dol_print_date($rssparser->getLastFetchDate(), "dayhourtext") : $langs->trans("Unknown")), 'subpicto'=>'globe', 'target'=>'_blank', ); diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php index dd02bf365c1..4ad70ac1f78 100644 --- a/htdocs/core/class/rssparser.class.php +++ b/htdocs/core/class/rssparser.class.php @@ -261,9 +261,15 @@ class RssParser } else { + if (! function_exists('xml_parser_create')) { + $this->error = 'Function xml_parser_create are not supported by your PHP'; + return -1; + } + $xmlparser = xml_parser_create(''); if (!is_resource($xmlparser)) { - $this->error = "ErrorFailedToCreateParser"; return -1; + $this->error = "ErrorFailedToCreateParser"; + return -1; } xml_set_object($xmlparser, $this);