Commit 168fce0b authored by Morris Jobke's avatar Morris Jobke
Browse files

Merge pull request #12303 from owncloud/windows-unknown-command-command

Deduplicate findBinaryPath() and do not try "command -v" on windows
parents 1b17429c d15f1882
......@@ -872,6 +872,23 @@ class OC_Helper {
return true;
}
/**
* Try to find a program
* Note: currently windows is not supported
*
* @param string $program
* @return null|string
*/
public static function findBinaryPath($program) {
if (!\OC_Util::runningOnWindows() && self::is_function_enabled('exec')) {
exec('command -v ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode);
if ($returnCode === 0 && count($output) > 0) {
return escapeshellcmd($output[0]);
}
}
return null;
}
/**
* Calculate the disc space for the given path
*
......
......@@ -8,28 +8,12 @@
*/
namespace OC\Preview;
function findBinaryPath($program) {
exec('command -v ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode);
if ($returnCode === 0 && count($output) > 0) {
return escapeshellcmd($output[0]);
}
return null;
}
// movie preview is currently not supported on Windows
if (!\OC_Util::runningOnWindows()) {
$isExecEnabled = \OC_Helper::is_function_enabled('exec');
$ffmpegBinary = null;
$avconvBinary = null;
if ($isExecEnabled) {
$avconvBinary = findBinaryPath('avconv');
if (!$avconvBinary) {
$ffmpegBinary = findBinaryPath('ffmpeg');
}
}
$avconvBinary = \OC_Helper::findBinaryPath('avconv');
$ffmpegBinary = ($avconvBinary) ? null : \OC_Helper::findBinaryPath('ffmpeg');
if($isExecEnabled && ( $avconvBinary || $ffmpegBinary )) {
if ($avconvBinary || $ffmpegBinary) {
class Movie extends Provider {
public static $avconvBinary;
......
......@@ -17,7 +17,7 @@ $config = \OC::$server->getConfig();
$appConfig = \OC::$server->getAppConfig();
// Should we display sendmail as an option?
$template->assign('sendmail_is_available', (bool)findBinaryPath('sendmail'));
$template->assign('sendmail_is_available', (bool) \OC_Helper::findBinaryPath('sendmail'));
$template->assign('loglevel', $config->getSystemValue("loglevel", 2));
$template->assign('mail_domain', $config->getSystemValue("mail_domain", ''));
......@@ -115,19 +115,3 @@ $formsAndMore[] = array('anchor' => 'log-section', 'section-name' => $l->t('Log'
$template->assign('forms', $formsAndMore);
$template->printPage();
/**
* Try to find a program
*
* @param string $program
* @return null|string
*/
function findBinaryPath($program) {
if (OC_Helper::is_function_enabled('exec')) {
exec('command -v ' . escapeshellarg($program) . ' 2> /dev/null', $output, $returnCode);
if ($returnCode === 0 && count($output) > 0) {
return escapeshellcmd($output[0]);
}
}
return null;
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment