From 3702a09af160f2ee3a550bd46b45226c849a2527 Mon Sep 17 00:00:00 2001 From: aoneil Date: Wed, 12 Sep 2007 00:02:14 +0000 Subject: [PATCH] If posix module is not enabled, just show a warning git-svn-id: svn://svn.silverstripe.com/silverstripe/open/phpinstaller/trunk@41577 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- install.php | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/install.php b/install.php index a299f04..6cd36f2 100644 --- a/install.php +++ b/install.php @@ -300,18 +300,23 @@ class InstallRequirements { function requireWriteable($filename, $testDetails) { $this->testing($testDetails); $filename = $this->getBaseDir() . $filename; - - if(!is_writeable($filename)) { - $user = posix_getpwuid(posix_geteuid()); - $groups = posix_getgroups(); - foreach($groups as $group) { - $groupInfo = posix_getgrgid($group); - $groupList[] = $groupInfo['name']; - } - $groupList = "'" . implode("', '", $groupList) . "'"; - - $testDetails[2] .= "User '$user[name]' needs to write be able to write to this file:\n$filename"; - $this->error($testDetails); + + if(function_exists('posix_getgroups')) { + if(!is_writeable($filename)) { + $user = posix_getpwuid(posix_geteuid()); + $groups = posix_getgroups(); + foreach($groups as $group) { + $groupInfo = posix_getgrgid($group); + $groupList[] = $groupInfo['name']; + } + $groupList = "'" . implode("', '", $groupList) . "'"; + + $testDetails[2] .= "User '$user[name]' needs to write be able to write to this file:\n$filename"; + $this->error($testDetails); + } + } else { + $testDetails[2] .= "Unable to detect whether I can write to files. Please ensure $filename is writable."; + $this->warning($testDetails); } }