Catch Errors in order to display a message in more cases. We also catch Exceptions to maintain compat with php 5.

Add check for simplexml extension.
This commit is contained in:
teromene 2018-04-04 19:02:40 +01:00
parent df6da837dc
commit ac6847045c
2 changed files with 17 additions and 5 deletions

View file

@ -77,6 +77,9 @@ if(!extension_loaded('libxml'))
if(!extension_loaded('mbstring')) if(!extension_loaded('mbstring'))
die('"mbstring" extension not loaded. Please check "php.ini"'); die('"mbstring" extension not loaded. Please check "php.ini"');
if(!extension_loaded('simplexml'))
die('"simplexml" extension not loaded. Please check "php.ini"');
// configuration checks // configuration checks
if(ini_get('allow_url_fopen') !== "1") if(ini_get('allow_url_fopen') !== "1")
die('"allow_url_fopen" is not set to "1". Please check "php.ini'); die('"allow_url_fopen" is not set to "1". Please check "php.ini');
@ -199,6 +202,10 @@ try {
$bridge->setCache($cache); $bridge->setCache($cache);
$bridge->setCacheTimeout($cache_timeout); $bridge->setCacheTimeout($cache_timeout);
$bridge->setDatas($params); $bridge->setDatas($params);
} catch(Error $e) {
http_response_code($e->getCode());
header('Content-Type: text/html');
die(buildBridgeException($e, $bridge));
} catch(Exception $e) { } catch(Exception $e) {
http_response_code($e->getCode()); http_response_code($e->getCode());
header('Content-Type: text/html'); header('Content-Type: text/html');
@ -211,12 +218,17 @@ try {
$format->setItems($bridge->getItems()); $format->setItems($bridge->getItems());
$format->setExtraInfos($bridge->getExtraInfos()); $format->setExtraInfos($bridge->getExtraInfos());
$format->display(); $format->display();
} catch(Exception $e) { } catch(Error $e) {
http_response_code($e->getCode()); http_response_code($e->getCode());
header('Content-Type: text/html'); header('Content-Type: text/html');
die(buildTransformException($e, $bridge)); die(buildTransformException($e, $bridge));
} catch(Exception $e) {
http_response_code($e->getCode());
header('Content-Type: text/html');
die(buildBridgeException($e, $bridge));
} }
die; die;
} }
} catch(HttpException $e) { } catch(HttpException $e) {

View file

@ -54,7 +54,7 @@ function buildGitHubIssueQuery($title, $body, $labels = null, $maintainer = null
* provided parameter are invalid * provided parameter are invalid
*/ */
function buildBridgeException($e, $bridge){ function buildBridgeException($e, $bridge){
if(!($e instanceof \Exception) || !($bridge instanceof \BridgeInterface)) { if(( !($e instanceof \Exception) && !($e instanceof \Error)) || !($bridge instanceof \BridgeInterface)) {
return null; return null;
} }
@ -85,7 +85,7 @@ unable to receive or process the remote website's content!";
* provided parameter are invalid * provided parameter are invalid
*/ */
function buildTransformException($e, $bridge){ function buildTransformException($e, $bridge){
if(!($e instanceof \Exception) || !($bridge instanceof \BridgeInterface)) { if(( !($e instanceof \Exception) && !($e instanceof \Error)) || !($bridge instanceof \BridgeInterface)) {
return null; return null;
} }