From 64421d76fdd8b718c3f0fccf94ba0028adc593b4 Mon Sep 17 00:00:00 2001
From: Joas Schilling <nickvergessen@gmx.de>
Date: Thu, 20 Nov 2014 12:37:59 +0100
Subject: Deduplicate function by moving it to the OC_Helper

---
 lib/private/helper.php         | 17 +++++++++++++++++
 lib/private/preview/movies.php | 12 ++----------
 settings/admin.php             | 18 +-----------------
 3 files changed, 20 insertions(+), 27 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
@@ -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
 	 *
diff --git a/lib/private/preview/movies.php b/lib/private/preview/movies.php
index 2a23c2141c1..8217ad24409 100644
--- a/lib/private/preview/movies.php
+++ b/lib/private/preview/movies.php
@@ -8,14 +8,6 @@
  */
 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');
@@ -23,9 +15,9 @@ if (!\OC_Util::runningOnWindows()) {
 	$avconvBinary = null;
 
 	if ($isExecEnabled) {
-		$avconvBinary = findBinaryPath('avconv');
+		$avconvBinary = \OC_Helper::findBinaryPath('avconv');
 		if (!$avconvBinary) {
-			$ffmpegBinary = findBinaryPath('ffmpeg');
+			$ffmpegBinary = \OC_Helper::findBinaryPath('ffmpeg');
 		}
 	}
 
diff --git a/settings/admin.php b/settings/admin.php
index 2b964613096..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_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;
-}
-- 
cgit v1.2.3