From c93072ed8637d3686e071904f3247d2ddfc33ebe Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 13 Sep 2009 18:15:49 -0700 Subject: Avoid or suppress E_NOTICE and E_WARNING messages related to the checklibs checks. * notice on main installer form checking for $_GET['checklibs'] * notices when seeing which module checks to run * warnings when attempting to load include files --- install.php | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/install.php b/install.php index 39984aa08..30dd34496 100644 --- a/install.php +++ b/install.php @@ -189,9 +189,9 @@ function main() return; } - if( $_GET['checklibs'] ){ + if (isset($_GET['checklibs'])) { showLibs(); - }else{ + } else { if ($_SERVER['REQUEST_METHOD'] == 'POST') { handlePost(); } else { @@ -202,7 +202,7 @@ function main() function haveExternalLibrary($external_library) { - if(isset($external_library['include']) && ! include_once($external_library['include'])){ + if(isset($external_library['include']) && ! haveIncludeFile($external_library['include'])){ return false; } if(isset($external_library['check_function']) && ! function_exists($external_library['check_function'])){ @@ -214,6 +214,15 @@ function haveExternalLibrary($external_library) return true; } +// Attempt to include a PHP file and report if it worked, while +// suppressing the annoying warning messages on failure. +function haveIncludeFile($filename) { + $old = error_reporting(error_reporting() & ~E_WARNING); + $ok = include_once($filename); + error_reporting($old); + return $ok; +} + function checkPrereqs() { $pass = true; @@ -308,19 +317,19 @@ E_O_T; foreach($absent_libraries as $library) { echo '
  • '; - if($library['url']){ + if(isset($library['url'])){ echo ''.htmlentities($library['name']).''; }else{ echo htmlentities($library['name']); } echo ''; @@ -333,7 +342,7 @@ E_O_T; foreach($present_libraries as $library) { echo '
  • '; - if($library['url']){ + if(isset($library['url'])){ echo ''.htmlentities($library['name']).''; }else{ echo htmlentities($library['name']); -- cgit v1.2.3-54-g00ecf