| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * This function checks the free space for a given directory |
| | | * @param path check path |
| | | * @param limit min. free space in bytes |
| | | * @return bool - true when the the free space is above limit ohterwise false, opt. available disk-space |
| | | */ |
| | | |
| | | function check_free_space($path, $limit = 0, &$free_space = 0) { |
| | | $path = rtrim($path, '/'); |
| | | |
| | | /** |
| | | * Make sure that we have only existing directories in the path. |
| | | |
| | | * Given a file name instead of a directory, the behaviour of the disk_free_space |
| | | function is unspecified and may differ between operating systems and PHP versions. |
| | | */ |
| | | while(!is_dir($path) && $path != '/') $path = realpath(dirname($path)); |
| | | |
| | | $free_space = disk_free_space($out); |
| | | |
| | | if (!$free_space) { |
| | | $free_space = 0; |
| | | return false; |
| | | } |
| | | |
| | | if ($free_space >= $limit) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | function getapachemodules() { |
| | | global $app; |
| | | |
| | | $cmd = ''; |
| | | if(is_installed('apache2ctl')) $cmd = 'apache2ctl -t -D DUMP_MODULES'; |
| | | elseif(is_installed('apachectl')) $cmd = 'apachectl -t -D DUMP_MODULES'; |
| | | else { |
| | | $app->log("Could not check apache modules, apachectl not found.", LOGLEVEL_WARN); |
| | | return array(); |
| | | } |
| | | |
| | | exec($cmd . ' 2>/dev/null', $output, $return_var); |
| | | if($return_var != 0 || !$output[0]) { |
| | | $app->log("Could not check apache modules, apachectl did not return any data.", LOGLEVEL_WARN); |
| | | return array(); |
| | | } |
| | | |
| | | $modules = array(); |
| | | for($i = 0; $i < count($output); $i++) { |
| | | if(preg_match('/^\s*(\w+)\s+\((shared|static)\)\s*$/', $output[$i], $matches)) { |
| | | $modules[] = $matches[1]; |
| | | } |
| | | } |
| | | |
| | | return $modules; |
| | | } |
| | | } |
| | | |
| | | ?> |