Deduplicate function by moving it to the OC_Helper

This commit is contained in:
Joas Schilling 2014-11-20 12:37:59 +01:00
parent e32968cfce
commit 64421d76fd
3 changed files with 20 additions and 27 deletions

View File

@ -872,6 +872,23 @@ class OC_Helper {
return true; 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 * Calculate the disc space for the given path
* *

View File

@ -8,14 +8,6 @@
*/ */
namespace OC\Preview; 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 // movie preview is currently not supported on Windows
if (!\OC_Util::runningOnWindows()) { if (!\OC_Util::runningOnWindows()) {
$isExecEnabled = \OC_Helper::is_function_enabled('exec'); $isExecEnabled = \OC_Helper::is_function_enabled('exec');
@ -23,9 +15,9 @@ if (!\OC_Util::runningOnWindows()) {
$avconvBinary = null; $avconvBinary = null;
if ($isExecEnabled) { if ($isExecEnabled) {
$avconvBinary = findBinaryPath('avconv'); $avconvBinary = \OC_Helper::findBinaryPath('avconv');
if (!$avconvBinary) { if (!$avconvBinary) {
$ffmpegBinary = findBinaryPath('ffmpeg'); $ffmpegBinary = \OC_Helper::findBinaryPath('ffmpeg');
} }
} }

View File

@ -17,7 +17,7 @@ $config = \OC::$server->getConfig();
$appConfig = \OC::$server->getAppConfig(); $appConfig = \OC::$server->getAppConfig();
// Should we display sendmail as an option? // 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('loglevel', $config->getSystemValue("loglevel", 2));
$template->assign('mail_domain', $config->getSystemValue("mail_domain", '')); $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->assign('forms', $formsAndMore);
$template->printPage(); $template->printPage();
/**
* Try to find a program
*
* @param string $program
* @return null|string
*/
function findBinaryPath($program) {
if (!\OC_Util::runningOnWindows() && \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;
}