diff options
author | Morris Jobke <hey@morrisjobke.de> | 2014-11-24 14:03:07 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2014-11-24 14:03:07 +0100 |
commit | 168fce0b182e69d1364e4432178a8131961d6583 (patch) | |
tree | ab0b80f1d3df45aeae25183dd00231f1a5d7a7c4 | |
parent | 1b17429c1db8885227436d9f367b930b953e49af (diff) | |
parent | d15f1882f91c4ab71c8a41f62f5277bff5fa4ea6 (diff) | |
download | nextcloud-server-168fce0b182e69d1364e4432178a8131961d6583.tar.gz nextcloud-server-168fce0b182e69d1364e4432178a8131961d6583.zip |
Merge pull request #12303 from owncloud/windows-unknown-command-command
Deduplicate findBinaryPath() and do not try "command -v" on windows
-rw-r--r-- | lib/private/helper.php | 17 | ||||
-rw-r--r-- | lib/private/preview/movies.php | 22 | ||||
-rw-r--r-- | settings/admin.php | 18 |
3 files changed, 21 insertions, 36 deletions
diff --git a/lib/private/helper.php b/lib/private/helper.php index 5b1d31bfc59..be448b8ff9b 100644 --- a/lib/private/helper.php +++ b/lib/private/helper.php @@ -873,6 +873,23 @@ class OC_Helper { } /** + * 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 * * @param string $path diff --git a/lib/private/preview/movies.php b/lib/private/preview/movies.php index 2a23c2141c1..d69266ceb33 100644 --- a/lib/private/preview/movies.php +++ b/lib/private/preview/movies.php @@ -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; diff --git a/settings/admin.php b/settings/admin.php index d1ed6e75f50..a669974891c 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -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; -} |