|
|
@@ -505,20 +505,7 @@ class OC_Helper { |
|
|
|
if (self::is_function_enabled('exec')) { |
|
|
|
$exeSniffer = new ExecutableFinder(); |
|
|
|
// Returns null if nothing is found |
|
|
|
$result = $exeSniffer->find($program); |
|
|
|
if (empty($result)) { |
|
|
|
$paths = getenv('PATH'); |
|
|
|
if (empty($paths)) { |
|
|
|
$paths = '/usr/local/bin /usr/bin /opt/bin /bin'; |
|
|
|
} else { |
|
|
|
$paths = str_replace(':',' ',getenv('PATH')); |
|
|
|
} |
|
|
|
$command = 'find ' . $paths . ' -name ' . escapeshellarg($program) . ' 2> /dev/null'; |
|
|
|
exec($command, $output, $returnCode); |
|
|
|
if (count($output) > 0) { |
|
|
|
$result = escapeshellcmd($output[0]); |
|
|
|
} |
|
|
|
} |
|
|
|
$result = $exeSniffer->find($program, null, ['/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/opt/bin']); |
|
|
|
} |
|
|
|
// store the value for 5 minutes |
|
|
|
$memcache->set($program, $result, 300); |