Passed
Push — master ( c00d6f...a085a8 )
by Morris
09:54 queued 11s
created
lib/private/App/CodeChecker/EmptyCheck.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -22,47 +22,47 @@
 block discarded – undo
22 22
 namespace OC\App\CodeChecker;
23 23
 
24 24
 class EmptyCheck implements ICheck {
25
-	/**
26
-	 * @param int $errorCode
27
-	 * @param string $errorObject
28
-	 * @return string
29
-	 */
30
-	public function getDescription($errorCode, $errorObject) {
31
-		return '';
32
-	}
25
+    /**
26
+     * @param int $errorCode
27
+     * @param string $errorObject
28
+     * @return string
29
+     */
30
+    public function getDescription($errorCode, $errorObject) {
31
+        return '';
32
+    }
33 33
 
34
-	/**
35
-	 * @return array E.g.: `'ClassName' => 'oc version',`
36
-	 */
37
-	public function getClasses() {
38
-		return [];
39
-	}
34
+    /**
35
+     * @return array E.g.: `'ClassName' => 'oc version',`
36
+     */
37
+    public function getClasses() {
38
+        return [];
39
+    }
40 40
 
41
-	/**
42
-	 * @return array E.g.: `'ClassName::CONSTANT_NAME' => 'oc version',`
43
-	 */
44
-	public function getConstants() {
45
-		return [];
46
-	}
41
+    /**
42
+     * @return array E.g.: `'ClassName::CONSTANT_NAME' => 'oc version',`
43
+     */
44
+    public function getConstants() {
45
+        return [];
46
+    }
47 47
 
48
-	/**
49
-	 * @return array E.g.: `'functionName' => 'oc version',`
50
-	 */
51
-	public function getFunctions() {
52
-		return [];
53
-	}
48
+    /**
49
+     * @return array E.g.: `'functionName' => 'oc version',`
50
+     */
51
+    public function getFunctions() {
52
+        return [];
53
+    }
54 54
 
55
-	/**
56
-	 * @return array E.g.: `'ClassName::methodName' => 'oc version',`
57
-	 */
58
-	public function getMethods() {
59
-		return [];
60
-	}
55
+    /**
56
+     * @return array E.g.: `'ClassName::methodName' => 'oc version',`
57
+     */
58
+    public function getMethods() {
59
+        return [];
60
+    }
61 61
 
62
-	/**
63
-	 * @return bool
64
-	 */
65
-	public function checkStrongComparisons() {
66
-		return false;
67
-	}
62
+    /**
63
+     * @return bool
64
+     */
65
+    public function checkStrongComparisons() {
66
+        return false;
67
+    }
68 68
 }
Please login to merge, or discard this patch.
lib/private/App/CodeChecker/StrongComparisonCheck.php 1 patch
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -23,57 +23,57 @@
 block discarded – undo
23 23
 namespace OC\App\CodeChecker;
24 24
 
25 25
 class StrongComparisonCheck implements ICheck {
26
-	/** @var ICheck */
27
-	protected $check;
26
+    /** @var ICheck */
27
+    protected $check;
28 28
 
29
-	/**
30
-	 * @param ICheck $check
31
-	 */
32
-	public function __construct(ICheck $check) {
33
-		$this->check = $check;
34
-	}
29
+    /**
30
+     * @param ICheck $check
31
+     */
32
+    public function __construct(ICheck $check) {
33
+        $this->check = $check;
34
+    }
35 35
 
36
-	/**
37
-	 * @param int $errorCode
38
-	 * @param string $errorObject
39
-	 * @return string
40
-	 */
41
-	public function getDescription($errorCode, $errorObject) {
42
-		return $this->check->getDescription($errorCode, $errorObject);
43
-	}
36
+    /**
37
+     * @param int $errorCode
38
+     * @param string $errorObject
39
+     * @return string
40
+     */
41
+    public function getDescription($errorCode, $errorObject) {
42
+        return $this->check->getDescription($errorCode, $errorObject);
43
+    }
44 44
 
45
-	/**
46
-	 * @return array
47
-	 */
48
-	public function getClasses() {
49
-		return $this->check->getClasses();
50
-	}
45
+    /**
46
+     * @return array
47
+     */
48
+    public function getClasses() {
49
+        return $this->check->getClasses();
50
+    }
51 51
 
52
-	/**
53
-	 * @return array
54
-	 */
55
-	public function getConstants() {
56
-		return $this->check->getConstants();
57
-	}
52
+    /**
53
+     * @return array
54
+     */
55
+    public function getConstants() {
56
+        return $this->check->getConstants();
57
+    }
58 58
 
59
-	/**
60
-	 * @return array
61
-	 */
62
-	public function getFunctions() {
63
-		return $this->check->getFunctions();
64
-	}
59
+    /**
60
+     * @return array
61
+     */
62
+    public function getFunctions() {
63
+        return $this->check->getFunctions();
64
+    }
65 65
 
66
-	/**
67
-	 * @return array
68
-	 */
69
-	public function getMethods() {
70
-		return $this->check->getMethods();
71
-	}
66
+    /**
67
+     * @return array
68
+     */
69
+    public function getMethods() {
70
+        return $this->check->getMethods();
71
+    }
72 72
 
73
-	/**
74
-	 * @return bool
75
-	 */
76
-	public function checkStrongComparisons() {
77
-		return true;
78
-	}
73
+    /**
74
+     * @return bool
75
+     */
76
+    public function checkStrongComparisons() {
77
+        return true;
78
+    }
79 79
 }
Please login to merge, or discard this patch.
lib/private/App/CodeChecker/CodeChecker.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -42,10 +42,10 @@  discard block
 block discarded – undo
42 42
 	const CLASS_IMPLEMENTS_NOT_ALLOWED = 1001;
43 43
 	const STATIC_CALL_NOT_ALLOWED = 1002;
44 44
 	const CLASS_CONST_FETCH_NOT_ALLOWED = 1003;
45
-	const CLASS_NEW_NOT_ALLOWED =  1004;
46
-	const OP_OPERATOR_USAGE_DISCOURAGED =  1005;
47
-	const CLASS_USE_NOT_ALLOWED =  1006;
48
-	const CLASS_METHOD_CALL_NOT_ALLOWED =  1007;
45
+	const CLASS_NEW_NOT_ALLOWED = 1004;
46
+	const OP_OPERATOR_USAGE_DISCOURAGED = 1005;
47
+	const CLASS_USE_NOT_ALLOWED = 1006;
48
+	const CLASS_METHOD_CALL_NOT_ALLOWED = 1007;
49 49
 
50 50
 	/** @var Parser */
51 51
 	private $parser;
@@ -85,13 +85,13 @@  discard block
 block discarded – undo
85 85
 		}
86 86
 
87 87
 		$excludes = array_map(function($item) use ($folder) {
88
-			return $folder . '/' . $item;
88
+			return $folder.'/'.$item;
89 89
 		}, $excludedDirectories);
90 90
 
91 91
 		$iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS);
92 92
 		$iterator = new RecursiveCallbackFilterIterator($iterator, function($item) use ($folder, $excludes){
93 93
 			/** @var SplFileInfo $item */
94
-			foreach($excludes as $exclude) {
94
+			foreach ($excludes as $exclude) {
95 95
 				if (substr($item->getPath(), 0, strlen($exclude)) === $exclude) {
96 96
 					return false;
97 97
 				}
Please login to merge, or discard this patch.
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -36,105 +36,105 @@
 block discarded – undo
36 36
 
37 37
 class CodeChecker extends BasicEmitter {
38 38
 
39
-	const CLASS_EXTENDS_NOT_ALLOWED = 1000;
40
-	const CLASS_IMPLEMENTS_NOT_ALLOWED = 1001;
41
-	const STATIC_CALL_NOT_ALLOWED = 1002;
42
-	const CLASS_CONST_FETCH_NOT_ALLOWED = 1003;
43
-	const CLASS_NEW_NOT_ALLOWED =  1004;
44
-	const OP_OPERATOR_USAGE_DISCOURAGED =  1005;
45
-	const CLASS_USE_NOT_ALLOWED =  1006;
46
-	const CLASS_METHOD_CALL_NOT_ALLOWED =  1007;
47
-
48
-	/** @var Parser */
49
-	private $parser;
50
-
51
-	/** @var ICheck */
52
-	protected $checkList;
53
-
54
-	/** @var bool */
55
-	protected $checkMigrationSchema;
56
-
57
-	public function __construct(ICheck $checkList, $checkMigrationSchema) {
58
-		$this->checkList = $checkList;
59
-		$this->checkMigrationSchema = $checkMigrationSchema;
60
-		$this->parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
61
-	}
62
-
63
-	/**
64
-	 * @param string $appId
65
-	 * @return array
66
-	 * @throws \RuntimeException if app with $appId is unknown
67
-	 */
68
-	public function analyse(string $appId): array {
69
-		$appPath = \OC_App::getAppPath($appId);
70
-		if ($appPath === false) {
71
-			throw new \RuntimeException("No app with given id <$appId> known.");
72
-		}
73
-
74
-		return $this->analyseFolder($appId, $appPath);
75
-	}
76
-
77
-	/**
78
-	 * @param string $appId
79
-	 * @param string $folder
80
-	 * @return array
81
-	 */
82
-	public function analyseFolder(string $appId, string $folder): array {
83
-		$errors = [];
84
-
85
-		$excludedDirectories = ['vendor', '3rdparty', '.git', 'l10n', 'tests', 'test', 'build'];
86
-		if ($appId === 'password_policy') {
87
-			$excludedDirectories[] = 'lists';
88
-		}
89
-
90
-		$excludes = array_map(function($item) use ($folder) {
91
-			return $folder . '/' . $item;
92
-		}, $excludedDirectories);
93
-
94
-		$iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS);
95
-		$iterator = new RecursiveCallbackFilterIterator($iterator, function($item) use ($folder, $excludes){
96
-			/** @var SplFileInfo $item */
97
-			foreach($excludes as $exclude) {
98
-				if (substr($item->getPath(), 0, strlen($exclude)) === $exclude) {
99
-					return false;
100
-				}
101
-			}
102
-			return true;
103
-		});
104
-		$iterator = new RecursiveIteratorIterator($iterator);
105
-		$iterator = new RegexIterator($iterator, '/^.+\.php$/i');
106
-
107
-		foreach ($iterator as $file) {
108
-			/** @var SplFileInfo $file */
109
-			$this->emit('CodeChecker', 'analyseFileBegin', [$file->getPathname()]);
110
-			$fileErrors = $this->analyseFile($file->__toString());
111
-			$this->emit('CodeChecker', 'analyseFileFinished', [$file->getPathname(), $fileErrors]);
112
-			$errors = array_merge($fileErrors, $errors);
113
-		}
114
-
115
-		return $errors;
116
-	}
117
-
118
-
119
-	/**
120
-	 * @param string $file
121
-	 * @return array
122
-	 */
123
-	public function analyseFile(string $file): array {
124
-		$code = file_get_contents($file);
125
-		$statements = $this->parser->parse($code);
126
-
127
-		$visitor = new NodeVisitor($this->checkList);
128
-		$migrationVisitor = new MigrationSchemaChecker();
129
-		$traverser = new NodeTraverser;
130
-		$traverser->addVisitor($visitor);
131
-
132
-		if ($this->checkMigrationSchema && preg_match('#^.+\\/Migration\\/Version[^\\/]{1,255}\\.php$#i', $file)) {
133
-			$traverser->addVisitor($migrationVisitor);
134
-		}
135
-
136
-		$traverser->traverse($statements);
137
-
138
-		return array_merge($visitor->errors, $migrationVisitor->errors);
139
-	}
39
+    const CLASS_EXTENDS_NOT_ALLOWED = 1000;
40
+    const CLASS_IMPLEMENTS_NOT_ALLOWED = 1001;
41
+    const STATIC_CALL_NOT_ALLOWED = 1002;
42
+    const CLASS_CONST_FETCH_NOT_ALLOWED = 1003;
43
+    const CLASS_NEW_NOT_ALLOWED =  1004;
44
+    const OP_OPERATOR_USAGE_DISCOURAGED =  1005;
45
+    const CLASS_USE_NOT_ALLOWED =  1006;
46
+    const CLASS_METHOD_CALL_NOT_ALLOWED =  1007;
47
+
48
+    /** @var Parser */
49
+    private $parser;
50
+
51
+    /** @var ICheck */
52
+    protected $checkList;
53
+
54
+    /** @var bool */
55
+    protected $checkMigrationSchema;
56
+
57
+    public function __construct(ICheck $checkList, $checkMigrationSchema) {
58
+        $this->checkList = $checkList;
59
+        $this->checkMigrationSchema = $checkMigrationSchema;
60
+        $this->parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
61
+    }
62
+
63
+    /**
64
+     * @param string $appId
65
+     * @return array
66
+     * @throws \RuntimeException if app with $appId is unknown
67
+     */
68
+    public function analyse(string $appId): array {
69
+        $appPath = \OC_App::getAppPath($appId);
70
+        if ($appPath === false) {
71
+            throw new \RuntimeException("No app with given id <$appId> known.");
72
+        }
73
+
74
+        return $this->analyseFolder($appId, $appPath);
75
+    }
76
+
77
+    /**
78
+     * @param string $appId
79
+     * @param string $folder
80
+     * @return array
81
+     */
82
+    public function analyseFolder(string $appId, string $folder): array {
83
+        $errors = [];
84
+
85
+        $excludedDirectories = ['vendor', '3rdparty', '.git', 'l10n', 'tests', 'test', 'build'];
86
+        if ($appId === 'password_policy') {
87
+            $excludedDirectories[] = 'lists';
88
+        }
89
+
90
+        $excludes = array_map(function($item) use ($folder) {
91
+            return $folder . '/' . $item;
92
+        }, $excludedDirectories);
93
+
94
+        $iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS);
95
+        $iterator = new RecursiveCallbackFilterIterator($iterator, function($item) use ($folder, $excludes){
96
+            /** @var SplFileInfo $item */
97
+            foreach($excludes as $exclude) {
98
+                if (substr($item->getPath(), 0, strlen($exclude)) === $exclude) {
99
+                    return false;
100
+                }
101
+            }
102
+            return true;
103
+        });
104
+        $iterator = new RecursiveIteratorIterator($iterator);
105
+        $iterator = new RegexIterator($iterator, '/^.+\.php$/i');
106
+
107
+        foreach ($iterator as $file) {
108
+            /** @var SplFileInfo $file */
109
+            $this->emit('CodeChecker', 'analyseFileBegin', [$file->getPathname()]);
110
+            $fileErrors = $this->analyseFile($file->__toString());
111
+            $this->emit('CodeChecker', 'analyseFileFinished', [$file->getPathname(), $fileErrors]);
112
+            $errors = array_merge($fileErrors, $errors);
113
+        }
114
+
115
+        return $errors;
116
+    }
117
+
118
+
119
+    /**
120
+     * @param string $file
121
+     * @return array
122
+     */
123
+    public function analyseFile(string $file): array {
124
+        $code = file_get_contents($file);
125
+        $statements = $this->parser->parse($code);
126
+
127
+        $visitor = new NodeVisitor($this->checkList);
128
+        $migrationVisitor = new MigrationSchemaChecker();
129
+        $traverser = new NodeTraverser;
130
+        $traverser->addVisitor($visitor);
131
+
132
+        if ($this->checkMigrationSchema && preg_match('#^.+\\/Migration\\/Version[^\\/]{1,255}\\.php$#i', $file)) {
133
+            $traverser->addVisitor($migrationVisitor);
134
+        }
135
+
136
+        $traverser->traverse($statements);
137
+
138
+        return array_merge($visitor->errors, $migrationVisitor->errors);
139
+    }
140 140
 }
Please login to merge, or discard this patch.
lib/private/App/CodeChecker/ICheck.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -22,35 +22,35 @@
 block discarded – undo
22 22
 namespace OC\App\CodeChecker;
23 23
 
24 24
 interface ICheck {
25
-	/**
26
-	 * @param int $errorCode
27
-	 * @param string $errorObject
28
-	 * @return string
29
-	 */
30
-	public function getDescription($errorCode, $errorObject);
25
+    /**
26
+     * @param int $errorCode
27
+     * @param string $errorObject
28
+     * @return string
29
+     */
30
+    public function getDescription($errorCode, $errorObject);
31 31
 
32
-	/**
33
-	 * @return array E.g.: `'ClassName' => 'oc version',`
34
-	 */
35
-	public function getClasses();
32
+    /**
33
+     * @return array E.g.: `'ClassName' => 'oc version',`
34
+     */
35
+    public function getClasses();
36 36
 
37
-	/**
38
-	 * @return array E.g.: `'ClassName::CONSTANT_NAME' => 'oc version',`
39
-	 */
40
-	public function getConstants();
37
+    /**
38
+     * @return array E.g.: `'ClassName::CONSTANT_NAME' => 'oc version',`
39
+     */
40
+    public function getConstants();
41 41
 
42
-	/**
43
-	 * @return array E.g.: `'functionName' => 'oc version',`
44
-	 */
45
-	public function getFunctions();
42
+    /**
43
+     * @return array E.g.: `'functionName' => 'oc version',`
44
+     */
45
+    public function getFunctions();
46 46
 
47
-	/**
48
-	 * @return array E.g.: `'ClassName::methodName' => 'oc version',`
49
-	 */
50
-	public function getMethods();
47
+    /**
48
+     * @return array E.g.: `'ClassName::methodName' => 'oc version',`
49
+     */
50
+    public function getMethods();
51 51
 
52
-	/**
53
-	 * @return bool
54
-	 */
55
-	public function checkStrongComparisons();
52
+    /**
53
+     * @return bool
54
+     */
55
+    public function checkStrongComparisons();
56 56
 }
Please login to merge, or discard this patch.
lib/private/App/PlatformRepository.php 2 patches
Indentation   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -30,200 +30,200 @@
 block discarded – undo
30 30
  * @package OC\App
31 31
  */
32 32
 class PlatformRepository {
33
-	public function __construct() {
34
-		$this->packages = $this->initialize();
35
-	}
36
-
37
-	protected function initialize() {
38
-		$loadedExtensions = get_loaded_extensions();
39
-		$packages = array();
40
-
41
-		// Extensions scanning
42
-		foreach ($loadedExtensions as $name) {
43
-			if (in_array($name, array('standard', 'Core'))) {
44
-				continue;
45
-			}
46
-
47
-			$ext = new \ReflectionExtension($name);
48
-			try {
49
-				$prettyVersion = $ext->getVersion();
50
-				$prettyVersion = $this->normalizeVersion($prettyVersion);
51
-			} catch (\UnexpectedValueException $e) {
52
-				$prettyVersion = '0';
53
-				$prettyVersion = $this->normalizeVersion($prettyVersion);
54
-			}
55
-
56
-			$packages[$this->buildPackageName($name)] = $prettyVersion;
57
-		}
58
-
59
-		foreach ($loadedExtensions as $name) {
60
-			$prettyVersion = null;
61
-			switch ($name) {
62
-				case 'curl':
63
-					$curlVersion = curl_version();
64
-					$prettyVersion = $curlVersion['version'];
65
-					break;
66
-
67
-				case 'iconv':
68
-					$prettyVersion = ICONV_VERSION;
69
-					break;
70
-
71
-				case 'intl':
72
-					$name = 'ICU';
73
-					if (defined('INTL_ICU_VERSION')) {
74
-						$prettyVersion = INTL_ICU_VERSION;
75
-					} else {
76
-						$reflector = new \ReflectionExtension('intl');
77
-
78
-						ob_start();
79
-						$reflector->info();
80
-						$output = ob_get_clean();
81
-
82
-						preg_match('/^ICU version => (.*)$/m', $output, $matches);
83
-						$prettyVersion = $matches[1];
84
-					}
85
-
86
-					break;
87
-
88
-				case 'libxml':
89
-					$prettyVersion = LIBXML_DOTTED_VERSION;
90
-					break;
91
-
92
-				case 'openssl':
93
-					$prettyVersion = preg_replace_callback('{^(?:OpenSSL\s*)?([0-9.]+)([a-z]?).*}', function ($match) {
94
-						return $match[1] . (empty($match[2]) ? '' : '.' . (ord($match[2]) - 96));
95
-					}, OPENSSL_VERSION_TEXT);
96
-					break;
97
-
98
-				case 'pcre':
99
-					$prettyVersion = preg_replace('{^(\S+).*}', '$1', PCRE_VERSION);
100
-					break;
101
-
102
-				case 'uuid':
103
-					$prettyVersion = phpversion('uuid');
104
-					break;
105
-
106
-				case 'xsl':
107
-					$prettyVersion = LIBXSLT_DOTTED_VERSION;
108
-					break;
109
-
110
-				default:
111
-					// None handled extensions have no special cases, skip
112
-					continue 2;
113
-			}
114
-
115
-			try {
116
-				$prettyVersion = $this->normalizeVersion($prettyVersion);
117
-			} catch (\UnexpectedValueException $e) {
118
-				continue;
119
-			}
120
-
121
-			$packages[$this->buildPackageName($name)] = $prettyVersion;
122
-		}
123
-
124
-		return $packages;
125
-	}
126
-
127
-	private function buildPackageName($name) {
128
-		return str_replace(' ', '-', $name);
129
-	}
130
-
131
-	/**
132
-	 * @param $name
133
-	 * @return string
134
-	 */
135
-	public function findLibrary($name) {
136
-		$extName = $this->buildPackageName($name);
137
-		if (isset($this->packages[$extName])) {
138
-			return $this->packages[$extName];
139
-		}
140
-		return null;
141
-	}
142
-
143
-	private static $modifierRegex = '[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)(?:[.-]?(\d+))?)?([.-]?dev)?';
144
-
145
-	/**
146
-	 * Normalizes a version string to be able to perform comparisons on it
147
-	 *
148
-	 * https://github.com/composer/composer/blob/master/src/Composer/Package/Version/VersionParser.php#L94
149
-	 *
150
-	 * @param string $version
151
-	 * @param string $fullVersion optional complete version string to give more context
152
-	 * @throws \UnexpectedValueException
153
-	 * @return string
154
-	 */
155
-	public function normalizeVersion($version, $fullVersion = null) {
156
-		$version = trim($version);
157
-		if (null === $fullVersion) {
158
-			$fullVersion = $version;
159
-		}
160
-		// ignore aliases and just assume the alias is required instead of the source
161
-		if (preg_match('{^([^,\s]+) +as +([^,\s]+)$}', $version, $match)) {
162
-			$version = $match[1];
163
-		}
164
-		// match master-like branches
165
-		if (preg_match('{^(?:dev-)?(?:master|trunk|default)$}i', $version)) {
166
-			return '9999999-dev';
167
-		}
168
-		if ('dev-' === strtolower(substr($version, 0, 4))) {
169
-			return 'dev-' . substr($version, 4);
170
-		}
171
-		// match classical versioning
172
-		if (preg_match('{^v?(\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
173
-			$version = $matches[1]
174
-				. (!empty($matches[2]) ? $matches[2] : '.0')
175
-				. (!empty($matches[3]) ? $matches[3] : '.0')
176
-				. (!empty($matches[4]) ? $matches[4] : '.0');
177
-			$index = 5;
178
-		} elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)' . self::$modifierRegex . '$}i', $version, $matches)) { // match date-based versioning
179
-			$version = preg_replace('{\D}', '-', $matches[1]);
180
-			$index = 2;
181
-		} elseif (preg_match('{^v?(\d{4,})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
182
-			$version = $matches[1]
183
-				. (!empty($matches[2]) ? $matches[2] : '.0')
184
-				. (!empty($matches[3]) ? $matches[3] : '.0')
185
-				. (!empty($matches[4]) ? $matches[4] : '.0');
186
-			$index = 5;
187
-		}
188
-		// add version modifiers if a version was matched
189
-		if (isset($index)) {
190
-			if (!empty($matches[$index])) {
191
-				if ('stable' === $matches[$index]) {
192
-					return $version;
193
-				}
194
-				$version .= '-' . $this->expandStability($matches[$index]) . (!empty($matches[$index + 1]) ? $matches[$index + 1] : '');
195
-			}
196
-			if (!empty($matches[$index + 2])) {
197
-				$version .= '-dev';
198
-			}
199
-			return $version;
200
-		}
201
-		$extraMessage = '';
202
-		if (preg_match('{ +as +' . preg_quote($version) . '$}', $fullVersion)) {
203
-			$extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version';
204
-		} elseif (preg_match('{^' . preg_quote($version) . ' +as +}', $fullVersion)) {
205
-			$extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-';
206
-		}
207
-		throw new \UnexpectedValueException('Invalid version string "' . $version . '"' . $extraMessage);
208
-	}
209
-
210
-	/**
211
-	 * @param string $stability
212
-	 */
213
-	private function expandStability($stability) {
214
-		$stability = strtolower($stability);
215
-		switch ($stability) {
216
-			case 'a':
217
-				return 'alpha';
218
-			case 'b':
219
-				return 'beta';
220
-			case 'p':
221
-			case 'pl':
222
-				return 'patch';
223
-			case 'rc':
224
-				return 'RC';
225
-			default:
226
-				return $stability;
227
-		}
228
-	}
33
+    public function __construct() {
34
+        $this->packages = $this->initialize();
35
+    }
36
+
37
+    protected function initialize() {
38
+        $loadedExtensions = get_loaded_extensions();
39
+        $packages = array();
40
+
41
+        // Extensions scanning
42
+        foreach ($loadedExtensions as $name) {
43
+            if (in_array($name, array('standard', 'Core'))) {
44
+                continue;
45
+            }
46
+
47
+            $ext = new \ReflectionExtension($name);
48
+            try {
49
+                $prettyVersion = $ext->getVersion();
50
+                $prettyVersion = $this->normalizeVersion($prettyVersion);
51
+            } catch (\UnexpectedValueException $e) {
52
+                $prettyVersion = '0';
53
+                $prettyVersion = $this->normalizeVersion($prettyVersion);
54
+            }
55
+
56
+            $packages[$this->buildPackageName($name)] = $prettyVersion;
57
+        }
58
+
59
+        foreach ($loadedExtensions as $name) {
60
+            $prettyVersion = null;
61
+            switch ($name) {
62
+                case 'curl':
63
+                    $curlVersion = curl_version();
64
+                    $prettyVersion = $curlVersion['version'];
65
+                    break;
66
+
67
+                case 'iconv':
68
+                    $prettyVersion = ICONV_VERSION;
69
+                    break;
70
+
71
+                case 'intl':
72
+                    $name = 'ICU';
73
+                    if (defined('INTL_ICU_VERSION')) {
74
+                        $prettyVersion = INTL_ICU_VERSION;
75
+                    } else {
76
+                        $reflector = new \ReflectionExtension('intl');
77
+
78
+                        ob_start();
79
+                        $reflector->info();
80
+                        $output = ob_get_clean();
81
+
82
+                        preg_match('/^ICU version => (.*)$/m', $output, $matches);
83
+                        $prettyVersion = $matches[1];
84
+                    }
85
+
86
+                    break;
87
+
88
+                case 'libxml':
89
+                    $prettyVersion = LIBXML_DOTTED_VERSION;
90
+                    break;
91
+
92
+                case 'openssl':
93
+                    $prettyVersion = preg_replace_callback('{^(?:OpenSSL\s*)?([0-9.]+)([a-z]?).*}', function ($match) {
94
+                        return $match[1] . (empty($match[2]) ? '' : '.' . (ord($match[2]) - 96));
95
+                    }, OPENSSL_VERSION_TEXT);
96
+                    break;
97
+
98
+                case 'pcre':
99
+                    $prettyVersion = preg_replace('{^(\S+).*}', '$1', PCRE_VERSION);
100
+                    break;
101
+
102
+                case 'uuid':
103
+                    $prettyVersion = phpversion('uuid');
104
+                    break;
105
+
106
+                case 'xsl':
107
+                    $prettyVersion = LIBXSLT_DOTTED_VERSION;
108
+                    break;
109
+
110
+                default:
111
+                    // None handled extensions have no special cases, skip
112
+                    continue 2;
113
+            }
114
+
115
+            try {
116
+                $prettyVersion = $this->normalizeVersion($prettyVersion);
117
+            } catch (\UnexpectedValueException $e) {
118
+                continue;
119
+            }
120
+
121
+            $packages[$this->buildPackageName($name)] = $prettyVersion;
122
+        }
123
+
124
+        return $packages;
125
+    }
126
+
127
+    private function buildPackageName($name) {
128
+        return str_replace(' ', '-', $name);
129
+    }
130
+
131
+    /**
132
+     * @param $name
133
+     * @return string
134
+     */
135
+    public function findLibrary($name) {
136
+        $extName = $this->buildPackageName($name);
137
+        if (isset($this->packages[$extName])) {
138
+            return $this->packages[$extName];
139
+        }
140
+        return null;
141
+    }
142
+
143
+    private static $modifierRegex = '[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)(?:[.-]?(\d+))?)?([.-]?dev)?';
144
+
145
+    /**
146
+     * Normalizes a version string to be able to perform comparisons on it
147
+     *
148
+     * https://github.com/composer/composer/blob/master/src/Composer/Package/Version/VersionParser.php#L94
149
+     *
150
+     * @param string $version
151
+     * @param string $fullVersion optional complete version string to give more context
152
+     * @throws \UnexpectedValueException
153
+     * @return string
154
+     */
155
+    public function normalizeVersion($version, $fullVersion = null) {
156
+        $version = trim($version);
157
+        if (null === $fullVersion) {
158
+            $fullVersion = $version;
159
+        }
160
+        // ignore aliases and just assume the alias is required instead of the source
161
+        if (preg_match('{^([^,\s]+) +as +([^,\s]+)$}', $version, $match)) {
162
+            $version = $match[1];
163
+        }
164
+        // match master-like branches
165
+        if (preg_match('{^(?:dev-)?(?:master|trunk|default)$}i', $version)) {
166
+            return '9999999-dev';
167
+        }
168
+        if ('dev-' === strtolower(substr($version, 0, 4))) {
169
+            return 'dev-' . substr($version, 4);
170
+        }
171
+        // match classical versioning
172
+        if (preg_match('{^v?(\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
173
+            $version = $matches[1]
174
+                . (!empty($matches[2]) ? $matches[2] : '.0')
175
+                . (!empty($matches[3]) ? $matches[3] : '.0')
176
+                . (!empty($matches[4]) ? $matches[4] : '.0');
177
+            $index = 5;
178
+        } elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)' . self::$modifierRegex . '$}i', $version, $matches)) { // match date-based versioning
179
+            $version = preg_replace('{\D}', '-', $matches[1]);
180
+            $index = 2;
181
+        } elseif (preg_match('{^v?(\d{4,})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
182
+            $version = $matches[1]
183
+                . (!empty($matches[2]) ? $matches[2] : '.0')
184
+                . (!empty($matches[3]) ? $matches[3] : '.0')
185
+                . (!empty($matches[4]) ? $matches[4] : '.0');
186
+            $index = 5;
187
+        }
188
+        // add version modifiers if a version was matched
189
+        if (isset($index)) {
190
+            if (!empty($matches[$index])) {
191
+                if ('stable' === $matches[$index]) {
192
+                    return $version;
193
+                }
194
+                $version .= '-' . $this->expandStability($matches[$index]) . (!empty($matches[$index + 1]) ? $matches[$index + 1] : '');
195
+            }
196
+            if (!empty($matches[$index + 2])) {
197
+                $version .= '-dev';
198
+            }
199
+            return $version;
200
+        }
201
+        $extraMessage = '';
202
+        if (preg_match('{ +as +' . preg_quote($version) . '$}', $fullVersion)) {
203
+            $extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version';
204
+        } elseif (preg_match('{^' . preg_quote($version) . ' +as +}', $fullVersion)) {
205
+            $extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-';
206
+        }
207
+        throw new \UnexpectedValueException('Invalid version string "' . $version . '"' . $extraMessage);
208
+    }
209
+
210
+    /**
211
+     * @param string $stability
212
+     */
213
+    private function expandStability($stability) {
214
+        $stability = strtolower($stability);
215
+        switch ($stability) {
216
+            case 'a':
217
+                return 'alpha';
218
+            case 'b':
219
+                return 'beta';
220
+            case 'p':
221
+            case 'pl':
222
+                return 'patch';
223
+            case 'rc':
224
+                return 'RC';
225
+            default:
226
+                return $stability;
227
+        }
228
+    }
229 229
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -90,8 +90,8 @@  discard block
 block discarded – undo
90 90
 					break;
91 91
 
92 92
 				case 'openssl':
93
-					$prettyVersion = preg_replace_callback('{^(?:OpenSSL\s*)?([0-9.]+)([a-z]?).*}', function ($match) {
94
-						return $match[1] . (empty($match[2]) ? '' : '.' . (ord($match[2]) - 96));
93
+					$prettyVersion = preg_replace_callback('{^(?:OpenSSL\s*)?([0-9.]+)([a-z]?).*}', function($match) {
94
+						return $match[1].(empty($match[2]) ? '' : '.'.(ord($match[2]) - 96));
95 95
 					}, OPENSSL_VERSION_TEXT);
96 96
 					break;
97 97
 
@@ -166,19 +166,19 @@  discard block
 block discarded – undo
166 166
 			return '9999999-dev';
167 167
 		}
168 168
 		if ('dev-' === strtolower(substr($version, 0, 4))) {
169
-			return 'dev-' . substr($version, 4);
169
+			return 'dev-'.substr($version, 4);
170 170
 		}
171 171
 		// match classical versioning
172
-		if (preg_match('{^v?(\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
172
+		if (preg_match('{^v?(\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)?'.self::$modifierRegex.'$}i', $version, $matches)) {
173 173
 			$version = $matches[1]
174 174
 				. (!empty($matches[2]) ? $matches[2] : '.0')
175 175
 				. (!empty($matches[3]) ? $matches[3] : '.0')
176 176
 				. (!empty($matches[4]) ? $matches[4] : '.0');
177 177
 			$index = 5;
178
-		} elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)' . self::$modifierRegex . '$}i', $version, $matches)) { // match date-based versioning
178
+		} elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)'.self::$modifierRegex.'$}i', $version, $matches)) { // match date-based versioning
179 179
 			$version = preg_replace('{\D}', '-', $matches[1]);
180 180
 			$index = 2;
181
-		} elseif (preg_match('{^v?(\d{4,})(\.\d+)?(\.\d+)?(\.\d+)?' . self::$modifierRegex . '$}i', $version, $matches)) {
181
+		} elseif (preg_match('{^v?(\d{4,})(\.\d+)?(\.\d+)?(\.\d+)?'.self::$modifierRegex.'$}i', $version, $matches)) {
182 182
 			$version = $matches[1]
183 183
 				. (!empty($matches[2]) ? $matches[2] : '.0')
184 184
 				. (!empty($matches[3]) ? $matches[3] : '.0')
@@ -191,7 +191,7 @@  discard block
 block discarded – undo
191 191
 				if ('stable' === $matches[$index]) {
192 192
 					return $version;
193 193
 				}
194
-				$version .= '-' . $this->expandStability($matches[$index]) . (!empty($matches[$index + 1]) ? $matches[$index + 1] : '');
194
+				$version .= '-'.$this->expandStability($matches[$index]).(!empty($matches[$index + 1]) ? $matches[$index + 1] : '');
195 195
 			}
196 196
 			if (!empty($matches[$index + 2])) {
197 197
 				$version .= '-dev';
@@ -199,12 +199,12 @@  discard block
 block discarded – undo
199 199
 			return $version;
200 200
 		}
201 201
 		$extraMessage = '';
202
-		if (preg_match('{ +as +' . preg_quote($version) . '$}', $fullVersion)) {
203
-			$extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version';
204
-		} elseif (preg_match('{^' . preg_quote($version) . ' +as +}', $fullVersion)) {
205
-			$extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-';
202
+		if (preg_match('{ +as +'.preg_quote($version).'$}', $fullVersion)) {
203
+			$extraMessage = ' in "'.$fullVersion.'", the alias must be an exact version';
204
+		} elseif (preg_match('{^'.preg_quote($version).' +as +}', $fullVersion)) {
205
+			$extraMessage = ' in "'.$fullVersion.'", the alias source must be an exact version, if it is a branch name you should prefix it with dev-';
206 206
 		}
207
-		throw new \UnexpectedValueException('Invalid version string "' . $version . '"' . $extraMessage);
207
+		throw new \UnexpectedValueException('Invalid version string "'.$version.'"'.$extraMessage);
208 208
 	}
209 209
 
210 210
 	/**
Please login to merge, or discard this patch.
lib/private/DateTimeFormatter.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 	 * @return string Formatted date and time string
238 238
 	 */
239 239
 	public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
240
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
240
+		return $this->format($timestamp, 'datetime', $formatDate.'|'.$formatTime, $timeZone, $l);
241 241
 	}
242 242
 
243 243
 	/**
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 			$formatDate .= '^';
257 257
 		}
258 258
 
259
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
259
+		return $this->format($timestamp, 'datetime', $formatDate.'|'.$formatTime, $timeZone, $l);
260 260
 	}
261 261
 
262 262
 	/**
Please login to merge, or discard this patch.
Indentation   +268 added lines, -268 removed lines patch added patch discarded remove patch
@@ -25,294 +25,294 @@
 block discarded – undo
25 25
 namespace OC;
26 26
 
27 27
 class DateTimeFormatter implements \OCP\IDateTimeFormatter {
28
-	/** @var \DateTimeZone */
29
-	protected $defaultTimeZone;
28
+    /** @var \DateTimeZone */
29
+    protected $defaultTimeZone;
30 30
 
31
-	/** @var \OCP\IL10N */
32
-	protected $defaultL10N;
31
+    /** @var \OCP\IL10N */
32
+    protected $defaultL10N;
33 33
 
34
-	/**
35
-	 * Constructor
36
-	 *
37
-	 * @param \DateTimeZone $defaultTimeZone Set the timezone for the format
38
-	 * @param \OCP\IL10N $defaultL10N Set the language for the format
39
-	 */
40
-	public function __construct(\DateTimeZone $defaultTimeZone, \OCP\IL10N $defaultL10N) {
41
-		$this->defaultTimeZone = $defaultTimeZone;
42
-		$this->defaultL10N = $defaultL10N;
43
-	}
34
+    /**
35
+     * Constructor
36
+     *
37
+     * @param \DateTimeZone $defaultTimeZone Set the timezone for the format
38
+     * @param \OCP\IL10N $defaultL10N Set the language for the format
39
+     */
40
+    public function __construct(\DateTimeZone $defaultTimeZone, \OCP\IL10N $defaultL10N) {
41
+        $this->defaultTimeZone = $defaultTimeZone;
42
+        $this->defaultL10N = $defaultL10N;
43
+    }
44 44
 
45
-	/**
46
-	 * Get TimeZone to use
47
-	 *
48
-	 * @param \DateTimeZone $timeZone	The timezone to use
49
-	 * @return \DateTimeZone		The timezone to use, falling back to the current user's timezone
50
-	 */
51
-	protected function getTimeZone($timeZone = null) {
52
-		if ($timeZone === null) {
53
-			$timeZone = $this->defaultTimeZone;
54
-		}
45
+    /**
46
+     * Get TimeZone to use
47
+     *
48
+     * @param \DateTimeZone $timeZone	The timezone to use
49
+     * @return \DateTimeZone		The timezone to use, falling back to the current user's timezone
50
+     */
51
+    protected function getTimeZone($timeZone = null) {
52
+        if ($timeZone === null) {
53
+            $timeZone = $this->defaultTimeZone;
54
+        }
55 55
 
56
-		return $timeZone;
57
-	}
56
+        return $timeZone;
57
+    }
58 58
 
59
-	/**
60
-	 * Get \OCP\IL10N to use
61
-	 *
62
-	 * @param \OCP\IL10N $l	The locale to use
63
-	 * @return \OCP\IL10N		The locale to use, falling back to the current user's locale
64
-	 */
65
-	protected function getLocale($l = null) {
66
-		if ($l === null) {
67
-			$l = $this->defaultL10N;
68
-		}
59
+    /**
60
+     * Get \OCP\IL10N to use
61
+     *
62
+     * @param \OCP\IL10N $l	The locale to use
63
+     * @return \OCP\IL10N		The locale to use, falling back to the current user's locale
64
+     */
65
+    protected function getLocale($l = null) {
66
+        if ($l === null) {
67
+            $l = $this->defaultL10N;
68
+        }
69 69
 
70
-		return $l;
71
-	}
70
+        return $l;
71
+    }
72 72
 
73
-	/**
74
-	 * Generates a DateTime object with the given timestamp and TimeZone
75
-	 *
76
-	 * @param mixed $timestamp
77
-	 * @param \DateTimeZone $timeZone	The timezone to use
78
-	 * @return \DateTime
79
-	 */
80
-	protected function getDateTime($timestamp, \DateTimeZone $timeZone = null) {
81
-		if ($timestamp === null) {
82
-			return new \DateTime('now', $timeZone);
83
-		} else if (!$timestamp instanceof \DateTime) {
84
-			$dateTime = new \DateTime('now', $timeZone);
85
-			$dateTime->setTimestamp($timestamp);
86
-			return $dateTime;
87
-		}
88
-		if ($timeZone) {
89
-			$timestamp->setTimezone($timeZone);
90
-		}
91
-		return $timestamp;
92
-	}
73
+    /**
74
+     * Generates a DateTime object with the given timestamp and TimeZone
75
+     *
76
+     * @param mixed $timestamp
77
+     * @param \DateTimeZone $timeZone	The timezone to use
78
+     * @return \DateTime
79
+     */
80
+    protected function getDateTime($timestamp, \DateTimeZone $timeZone = null) {
81
+        if ($timestamp === null) {
82
+            return new \DateTime('now', $timeZone);
83
+        } else if (!$timestamp instanceof \DateTime) {
84
+            $dateTime = new \DateTime('now', $timeZone);
85
+            $dateTime->setTimestamp($timestamp);
86
+            return $dateTime;
87
+        }
88
+        if ($timeZone) {
89
+            $timestamp->setTimezone($timeZone);
90
+        }
91
+        return $timestamp;
92
+    }
93 93
 
94
-	/**
95
-	 * Formats the date of the given timestamp
96
-	 *
97
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
98
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
99
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
100
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
101
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
102
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
103
-	 * 				The exact format is dependent on the language
104
-	 * @param \DateTimeZone	$timeZone	The timezone to use
105
-	 * @param \OCP\IL10N	$l			The locale to use
106
-	 * @return string Formatted date string
107
-	 */
108
-	public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
109
-		return $this->format($timestamp, 'date', $format, $timeZone, $l);
110
-	}
94
+    /**
95
+     * Formats the date of the given timestamp
96
+     *
97
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
98
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
99
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
100
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
101
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
102
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
103
+     * 				The exact format is dependent on the language
104
+     * @param \DateTimeZone	$timeZone	The timezone to use
105
+     * @param \OCP\IL10N	$l			The locale to use
106
+     * @return string Formatted date string
107
+     */
108
+    public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
109
+        return $this->format($timestamp, 'date', $format, $timeZone, $l);
110
+    }
111 111
 
112
-	/**
113
-	 * Formats the date of the given timestamp
114
-	 *
115
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
116
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
117
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
118
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
119
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
120
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
121
-	 * 				The exact format is dependent on the language
122
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
123
-	 * @param \DateTimeZone	$timeZone	The timezone to use
124
-	 * @param \OCP\IL10N	$l			The locale to use
125
-	 * @return string Formatted relative date string
126
-	 */
127
-	public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
128
-		if (substr($format, -1) !== '*' && substr($format, -1) !== '*') {
129
-			$format .= '^';
130
-		}
112
+    /**
113
+     * Formats the date of the given timestamp
114
+     *
115
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
116
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
117
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
118
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
119
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
120
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
121
+     * 				The exact format is dependent on the language
122
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
123
+     * @param \DateTimeZone	$timeZone	The timezone to use
124
+     * @param \OCP\IL10N	$l			The locale to use
125
+     * @return string Formatted relative date string
126
+     */
127
+    public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
128
+        if (substr($format, -1) !== '*' && substr($format, -1) !== '*') {
129
+            $format .= '^';
130
+        }
131 131
 
132
-		return $this->format($timestamp, 'date', $format, $timeZone, $l);
133
-	}
132
+        return $this->format($timestamp, 'date', $format, $timeZone, $l);
133
+    }
134 134
 
135
-	/**
136
-	 * Gives the relative date of the timestamp
137
-	 * Only works for past dates
138
-	 *
139
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
140
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
141
-	 * @return string	Dates returned are:
142
-	 * 				<  1 month	=> Today, Yesterday, n days ago
143
-	 * 				< 13 month	=> last month, n months ago
144
-	 * 				>= 13 month	=> last year, n years ago
145
-	 * @param \OCP\IL10N	$l			The locale to use
146
-	 * @return string Formatted date span
147
-	 */
148
-	public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
149
-		$l = $this->getLocale($l);
150
-		$timestamp = $this->getDateTime($timestamp);
151
-		$timestamp->setTime(0, 0, 0);
135
+    /**
136
+     * Gives the relative date of the timestamp
137
+     * Only works for past dates
138
+     *
139
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
140
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
141
+     * @return string	Dates returned are:
142
+     * 				<  1 month	=> Today, Yesterday, n days ago
143
+     * 				< 13 month	=> last month, n months ago
144
+     * 				>= 13 month	=> last year, n years ago
145
+     * @param \OCP\IL10N	$l			The locale to use
146
+     * @return string Formatted date span
147
+     */
148
+    public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
149
+        $l = $this->getLocale($l);
150
+        $timestamp = $this->getDateTime($timestamp);
151
+        $timestamp->setTime(0, 0, 0);
152 152
 
153
-		if ($baseTimestamp === null) {
154
-			$baseTimestamp = time();
155
-		}
156
-		$baseTimestamp = $this->getDateTime($baseTimestamp);
157
-		$baseTimestamp->setTime(0, 0, 0);
158
-		$dateInterval = $timestamp->diff($baseTimestamp);
153
+        if ($baseTimestamp === null) {
154
+            $baseTimestamp = time();
155
+        }
156
+        $baseTimestamp = $this->getDateTime($baseTimestamp);
157
+        $baseTimestamp->setTime(0, 0, 0);
158
+        $dateInterval = $timestamp->diff($baseTimestamp);
159 159
 
160
-		if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 0) {
161
-			return $l->t('today');
162
-		} else if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 1) {
163
-			if ($timestamp > $baseTimestamp) {
164
-				return $l->t('tomorrow');
165
-			} else {
166
-				return $l->t('yesterday');
167
-			}
168
-		} else if ($dateInterval->y == 0 && $dateInterval->m == 0) {
169
-			if ($timestamp > $baseTimestamp) {
170
-				return $l->n('in %n day', 'in %n days', $dateInterval->d);
171
-			} else {
172
-				return $l->n('%n day ago', '%n days ago', $dateInterval->d);
173
-			}
174
-		} else if ($dateInterval->y == 0 && $dateInterval->m == 1) {
175
-			if ($timestamp > $baseTimestamp) {
176
-				return $l->t('next month');
177
-			} else {
178
-				return $l->t('last month');
179
-			}
180
-		} else if ($dateInterval->y == 0) {
181
-			if ($timestamp > $baseTimestamp) {
182
-				return $l->n('in %n month', 'in %n months', $dateInterval->m);
183
-			} else {
184
-				return $l->n('%n month ago', '%n months ago', $dateInterval->m);
185
-			}
186
-		} else if ($dateInterval->y == 1) {
187
-			if ($timestamp > $baseTimestamp) {
188
-				return $l->t('next year');
189
-			} else {
190
-				return $l->t('last year');
191
-			}
192
-		}
193
-		if ($timestamp > $baseTimestamp) {
194
-			return $l->n('in %n year', 'in %n years', $dateInterval->y);
195
-		} else {
196
-			return $l->n('%n year ago', '%n years ago', $dateInterval->y);
197
-		}
198
-	}
160
+        if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 0) {
161
+            return $l->t('today');
162
+        } else if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 1) {
163
+            if ($timestamp > $baseTimestamp) {
164
+                return $l->t('tomorrow');
165
+            } else {
166
+                return $l->t('yesterday');
167
+            }
168
+        } else if ($dateInterval->y == 0 && $dateInterval->m == 0) {
169
+            if ($timestamp > $baseTimestamp) {
170
+                return $l->n('in %n day', 'in %n days', $dateInterval->d);
171
+            } else {
172
+                return $l->n('%n day ago', '%n days ago', $dateInterval->d);
173
+            }
174
+        } else if ($dateInterval->y == 0 && $dateInterval->m == 1) {
175
+            if ($timestamp > $baseTimestamp) {
176
+                return $l->t('next month');
177
+            } else {
178
+                return $l->t('last month');
179
+            }
180
+        } else if ($dateInterval->y == 0) {
181
+            if ($timestamp > $baseTimestamp) {
182
+                return $l->n('in %n month', 'in %n months', $dateInterval->m);
183
+            } else {
184
+                return $l->n('%n month ago', '%n months ago', $dateInterval->m);
185
+            }
186
+        } else if ($dateInterval->y == 1) {
187
+            if ($timestamp > $baseTimestamp) {
188
+                return $l->t('next year');
189
+            } else {
190
+                return $l->t('last year');
191
+            }
192
+        }
193
+        if ($timestamp > $baseTimestamp) {
194
+            return $l->n('in %n year', 'in %n years', $dateInterval->y);
195
+        } else {
196
+            return $l->n('%n year ago', '%n years ago', $dateInterval->y);
197
+        }
198
+    }
199 199
 
200
-	/**
201
-	 * Formats the time of the given timestamp
202
-	 *
203
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
204
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
205
-	 * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
206
-	 * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
207
-	 * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
208
-	 * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
209
-	 * 				The exact format is dependent on the language
210
-	 * @param \DateTimeZone	$timeZone	The timezone to use
211
-	 * @param \OCP\IL10N	$l			The locale to use
212
-	 * @return string Formatted time string
213
-	 */
214
-	public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
215
-		return $this->format($timestamp, 'time', $format, $timeZone, $l);
216
-	}
200
+    /**
201
+     * Formats the time of the given timestamp
202
+     *
203
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
204
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
205
+     * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
206
+     * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
207
+     * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
208
+     * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
209
+     * 				The exact format is dependent on the language
210
+     * @param \DateTimeZone	$timeZone	The timezone to use
211
+     * @param \OCP\IL10N	$l			The locale to use
212
+     * @return string Formatted time string
213
+     */
214
+    public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
215
+        return $this->format($timestamp, 'time', $format, $timeZone, $l);
216
+    }
217 217
 
218
-	/**
219
-	 * Gives the relative past time of the timestamp
220
-	 *
221
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
222
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
223
-	 * @return string	Dates returned are:
224
-	 * 				< 60 sec	=> seconds ago
225
-	 * 				<  1 hour	=> n minutes ago
226
-	 * 				<  1 day	=> n hours ago
227
-	 * 				<  1 month	=> Yesterday, n days ago
228
-	 * 				< 13 month	=> last month, n months ago
229
-	 * 				>= 13 month	=> last year, n years ago
230
-	 * @param \OCP\IL10N	$l			The locale to use
231
-	 * @return string Formatted time span
232
-	 */
233
-	public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
234
-		$l = $this->getLocale($l);
235
-		$timestamp = $this->getDateTime($timestamp);
236
-		if ($baseTimestamp === null) {
237
-			$baseTimestamp = time();
238
-		}
239
-		$baseTimestamp = $this->getDateTime($baseTimestamp);
218
+    /**
219
+     * Gives the relative past time of the timestamp
220
+     *
221
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
222
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
223
+     * @return string	Dates returned are:
224
+     * 				< 60 sec	=> seconds ago
225
+     * 				<  1 hour	=> n minutes ago
226
+     * 				<  1 day	=> n hours ago
227
+     * 				<  1 month	=> Yesterday, n days ago
228
+     * 				< 13 month	=> last month, n months ago
229
+     * 				>= 13 month	=> last year, n years ago
230
+     * @param \OCP\IL10N	$l			The locale to use
231
+     * @return string Formatted time span
232
+     */
233
+    public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
234
+        $l = $this->getLocale($l);
235
+        $timestamp = $this->getDateTime($timestamp);
236
+        if ($baseTimestamp === null) {
237
+            $baseTimestamp = time();
238
+        }
239
+        $baseTimestamp = $this->getDateTime($baseTimestamp);
240 240
 
241
-		$diff = $timestamp->diff($baseTimestamp);
242
-		if ($diff->y > 0 || $diff->m > 0 || $diff->d > 0) {
243
-			return $this->formatDateSpan($timestamp, $baseTimestamp, $l);
244
-		}
241
+        $diff = $timestamp->diff($baseTimestamp);
242
+        if ($diff->y > 0 || $diff->m > 0 || $diff->d > 0) {
243
+            return $this->formatDateSpan($timestamp, $baseTimestamp, $l);
244
+        }
245 245
 
246
-		if ($diff->h > 0) {
247
-			if ($timestamp > $baseTimestamp) {
248
-				return $l->n('in %n hour', 'in %n hours', $diff->h);
249
-			} else {
250
-				return $l->n('%n hour ago', '%n hours ago', $diff->h);
251
-			}
252
-		} else if ($diff->i > 0) {
253
-			if ($timestamp > $baseTimestamp) {
254
-				return $l->n('in %n minute', 'in %n minutes', $diff->i);
255
-			} else {
256
-				return $l->n('%n minute ago', '%n minutes ago', $diff->i);
257
-			}
258
-		}
259
-		if ($timestamp > $baseTimestamp) {
260
-			return $l->t('in a few seconds');
261
-		} else {
262
-			return $l->t('seconds ago');
263
-		}
264
-	}
246
+        if ($diff->h > 0) {
247
+            if ($timestamp > $baseTimestamp) {
248
+                return $l->n('in %n hour', 'in %n hours', $diff->h);
249
+            } else {
250
+                return $l->n('%n hour ago', '%n hours ago', $diff->h);
251
+            }
252
+        } else if ($diff->i > 0) {
253
+            if ($timestamp > $baseTimestamp) {
254
+                return $l->n('in %n minute', 'in %n minutes', $diff->i);
255
+            } else {
256
+                return $l->n('%n minute ago', '%n minutes ago', $diff->i);
257
+            }
258
+        }
259
+        if ($timestamp > $baseTimestamp) {
260
+            return $l->t('in a few seconds');
261
+        } else {
262
+            return $l->t('seconds ago');
263
+        }
264
+    }
265 265
 
266
-	/**
267
-	 * Formats the date and time of the given timestamp
268
-	 *
269
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
270
-	 * @param string		$formatDate		See formatDate() for description
271
-	 * @param string		$formatTime		See formatTime() for description
272
-	 * @param \DateTimeZone	$timeZone	The timezone to use
273
-	 * @param \OCP\IL10N	$l			The locale to use
274
-	 * @return string Formatted date and time string
275
-	 */
276
-	public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
277
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
278
-	}
266
+    /**
267
+     * Formats the date and time of the given timestamp
268
+     *
269
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
270
+     * @param string		$formatDate		See formatDate() for description
271
+     * @param string		$formatTime		See formatTime() for description
272
+     * @param \DateTimeZone	$timeZone	The timezone to use
273
+     * @param \OCP\IL10N	$l			The locale to use
274
+     * @return string Formatted date and time string
275
+     */
276
+    public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
277
+        return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
278
+    }
279 279
 
280
-	/**
281
-	 * Formats the date and time of the given timestamp
282
-	 *
283
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
284
-	 * @param string	$formatDate		See formatDate() for description
285
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
286
-	 * @param string	$formatTime		See formatTime() for description
287
-	 * @param \DateTimeZone	$timeZone	The timezone to use
288
-	 * @param \OCP\IL10N	$l			The locale to use
289
-	 * @return string Formatted relative date and time string
290
-	 */
291
-	public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
292
-		if (substr($formatDate, -1) !== '^' && substr($formatDate, -1) !== '*') {
293
-			$formatDate .= '^';
294
-		}
280
+    /**
281
+     * Formats the date and time of the given timestamp
282
+     *
283
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
284
+     * @param string	$formatDate		See formatDate() for description
285
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
286
+     * @param string	$formatTime		See formatTime() for description
287
+     * @param \DateTimeZone	$timeZone	The timezone to use
288
+     * @param \OCP\IL10N	$l			The locale to use
289
+     * @return string Formatted relative date and time string
290
+     */
291
+    public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
292
+        if (substr($formatDate, -1) !== '^' && substr($formatDate, -1) !== '*') {
293
+            $formatDate .= '^';
294
+        }
295 295
 
296
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
297
-	}
296
+        return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
297
+    }
298 298
 
299
-	/**
300
-	 * Formats the date and time of the given timestamp
301
-	 *
302
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
303
-	 * @param string		$type		One of 'date', 'datetime' or 'time'
304
-	 * @param string		$format		Format string
305
-	 * @param \DateTimeZone	$timeZone	The timezone to use
306
-	 * @param \OCP\IL10N	$l			The locale to use
307
-	 * @return string Formatted date and time string
308
-	 */
309
-	protected function format($timestamp, $type, $format, \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
310
-		$l = $this->getLocale($l);
311
-		$timeZone = $this->getTimeZone($timeZone);
312
-		$timestamp = $this->getDateTime($timestamp, $timeZone);
299
+    /**
300
+     * Formats the date and time of the given timestamp
301
+     *
302
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
303
+     * @param string		$type		One of 'date', 'datetime' or 'time'
304
+     * @param string		$format		Format string
305
+     * @param \DateTimeZone	$timeZone	The timezone to use
306
+     * @param \OCP\IL10N	$l			The locale to use
307
+     * @return string Formatted date and time string
308
+     */
309
+    protected function format($timestamp, $type, $format, \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
310
+        $l = $this->getLocale($l);
311
+        $timeZone = $this->getTimeZone($timeZone);
312
+        $timestamp = $this->getDateTime($timestamp, $timeZone);
313 313
 
314
-		return $l->l($type, $timestamp, array(
315
-			'width' => $format,
316
-		));
317
-	}
314
+        return $l->l($type, $timestamp, array(
315
+            'width' => $format,
316
+        ));
317
+    }
318 318
 }
Please login to merge, or discard this patch.
lib/private/Preview/Provider.php 1 patch
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -28,41 +28,41 @@
 block discarded – undo
28 28
 use OCP\Preview\IProvider;
29 29
 
30 30
 abstract class Provider implements IProvider {
31
-	private $options;
31
+    private $options;
32 32
 
33
-	/**
34
-	 * Constructor
35
-	 *
36
-	 * @param array $options
37
-	 */
38
-	public function __construct(array $options = []) {
39
-		$this->options = $options;
40
-	}
33
+    /**
34
+     * Constructor
35
+     *
36
+     * @param array $options
37
+     */
38
+    public function __construct(array $options = []) {
39
+        $this->options = $options;
40
+    }
41 41
 
42
-	/**
43
-	 * @return string Regex with the mimetypes that are supported by this provider
44
-	 */
45
-	abstract public function getMimeType();
42
+    /**
43
+     * @return string Regex with the mimetypes that are supported by this provider
44
+     */
45
+    abstract public function getMimeType();
46 46
 
47
-	/**
48
-	 * Check if a preview can be generated for $path
49
-	 *
50
-	 * @param \OCP\Files\FileInfo $file
51
-	 * @return bool
52
-	 */
53
-	public function isAvailable(\OCP\Files\FileInfo $file) {
54
-		return true;
55
-	}
47
+    /**
48
+     * Check if a preview can be generated for $path
49
+     *
50
+     * @param \OCP\Files\FileInfo $file
51
+     * @return bool
52
+     */
53
+    public function isAvailable(\OCP\Files\FileInfo $file) {
54
+        return true;
55
+    }
56 56
 
57
-	/**
58
-	 * Generates thumbnail which fits in $maxX and $maxY and keeps the aspect ratio, for file at path $path
59
-	 *
60
-	 * @param string $path Path of file
61
-	 * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
62
-	 * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
63
-	 * @param bool $scalingup Disable/Enable upscaling of previews
64
-	 * @param \OC\Files\View $fileview fileview object of user folder
65
-	 * @return bool|\OCP\IImage false if no preview was generated
66
-	 */
67
-	abstract public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview);
57
+    /**
58
+     * Generates thumbnail which fits in $maxX and $maxY and keeps the aspect ratio, for file at path $path
59
+     *
60
+     * @param string $path Path of file
61
+     * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
62
+     * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
63
+     * @param bool $scalingup Disable/Enable upscaling of previews
64
+     * @param \OC\Files\View $fileview fileview object of user folder
65
+     * @return bool|\OCP\IImage false if no preview was generated
66
+     */
67
+    abstract public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview);
68 68
 }
Please login to merge, or discard this patch.
lib/private/Preview/Movie.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -84,15 +84,15 @@
 block discarded – undo
84 84
 		$tmpPath = \OC::$server->getTempManager()->getTemporaryFile();
85 85
 
86 86
 		if (self::$avconvBinary) {
87
-			$cmd = self::$avconvBinary . ' -y -ss ' . escapeshellarg($second) .
88
-				' -i ' . escapeshellarg($absPath) .
89
-				' -an -f mjpeg -vframes 1 -vsync 1 ' . escapeshellarg($tmpPath) .
87
+			$cmd = self::$avconvBinary.' -y -ss '.escapeshellarg($second).
88
+				' -i '.escapeshellarg($absPath).
89
+				' -an -f mjpeg -vframes 1 -vsync 1 '.escapeshellarg($tmpPath).
90 90
 				' > /dev/null 2>&1';
91 91
 		} else {
92
-			$cmd = self::$ffmpegBinary . ' -y -ss ' . escapeshellarg($second) .
93
-				' -i ' . escapeshellarg($absPath) .
94
-				' -f mjpeg -vframes 1' .
95
-				' ' . escapeshellarg($tmpPath) .
92
+			$cmd = self::$ffmpegBinary.' -y -ss '.escapeshellarg($second).
93
+				' -i '.escapeshellarg($absPath).
94
+				' -f mjpeg -vframes 1'.
95
+				' '.escapeshellarg($tmpPath).
96 96
 				' > /dev/null 2>&1';
97 97
 		}
98 98
 
Please login to merge, or discard this patch.
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -29,73 +29,73 @@
 block discarded – undo
29 29
 use OCP\IImage;
30 30
 
31 31
 class Movie extends ProviderV2 {
32
-	public static $avconvBinary;
33
-	public static $ffmpegBinary;
32
+    public static $avconvBinary;
33
+    public static $ffmpegBinary;
34 34
 
35
-	/**
36
-	 * {@inheritDoc}
37
-	 */
38
-	public function getMimeType(): string {
39
-		return '/video\/.*/';
40
-	}
35
+    /**
36
+     * {@inheritDoc}
37
+     */
38
+    public function getMimeType(): string {
39
+        return '/video\/.*/';
40
+    }
41 41
 
42
-	/**
43
-	 * {@inheritDoc}
44
-	 */
45
-	public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage {
46
-		// TODO: use proc_open() and stream the source file ?
42
+    /**
43
+     * {@inheritDoc}
44
+     */
45
+    public function getThumbnail(File $file, int $maxX, int $maxY): ?IImage {
46
+        // TODO: use proc_open() and stream the source file ?
47 47
 
48
-		$absPath = $this->getLocalFile($file, 5242880); // only use the first 5MB
48
+        $absPath = $this->getLocalFile($file, 5242880); // only use the first 5MB
49 49
 
50
-		$result = $this->generateThumbNail($maxX, $maxY, $absPath, 5);
51
-		if ($result === false) {
52
-			$result = $this->generateThumbNail($maxX, $maxY, $absPath, 1);
53
-			if ($result === false) {
54
-				$result = $this->generateThumbNail($maxX, $maxY, $absPath, 0);
55
-			}
56
-		}
50
+        $result = $this->generateThumbNail($maxX, $maxY, $absPath, 5);
51
+        if ($result === false) {
52
+            $result = $this->generateThumbNail($maxX, $maxY, $absPath, 1);
53
+            if ($result === false) {
54
+                $result = $this->generateThumbNail($maxX, $maxY, $absPath, 0);
55
+            }
56
+        }
57 57
 
58
-		$this->cleanTmpFiles();
58
+        $this->cleanTmpFiles();
59 59
 
60
-		return $result;
61
-	}
60
+        return $result;
61
+    }
62 62
 
63
-	/**
64
-	 * @param int $maxX
65
-	 * @param int $maxY
66
-	 * @param string $absPath
67
-	 * @param int $second
68
-	 * @return null|\OCP\IImage
69
-	 */
70
-	private function generateThumbNail($maxX, $maxY, $absPath, $second): ?IImage {
71
-		$tmpPath = \OC::$server->getTempManager()->getTemporaryFile();
63
+    /**
64
+     * @param int $maxX
65
+     * @param int $maxY
66
+     * @param string $absPath
67
+     * @param int $second
68
+     * @return null|\OCP\IImage
69
+     */
70
+    private function generateThumbNail($maxX, $maxY, $absPath, $second): ?IImage {
71
+        $tmpPath = \OC::$server->getTempManager()->getTemporaryFile();
72 72
 
73
-		if (self::$avconvBinary) {
74
-			$cmd = self::$avconvBinary . ' -y -ss ' . escapeshellarg($second) .
75
-				' -i ' . escapeshellarg($absPath) .
76
-				' -an -f mjpeg -vframes 1 -vsync 1 ' . escapeshellarg($tmpPath) .
77
-				' > /dev/null 2>&1';
78
-		} else {
79
-			$cmd = self::$ffmpegBinary . ' -y -ss ' . escapeshellarg($second) .
80
-				' -i ' . escapeshellarg($absPath) .
81
-				' -f mjpeg -vframes 1' .
82
-				' ' . escapeshellarg($tmpPath) .
83
-				' > /dev/null 2>&1';
84
-		}
73
+        if (self::$avconvBinary) {
74
+            $cmd = self::$avconvBinary . ' -y -ss ' . escapeshellarg($second) .
75
+                ' -i ' . escapeshellarg($absPath) .
76
+                ' -an -f mjpeg -vframes 1 -vsync 1 ' . escapeshellarg($tmpPath) .
77
+                ' > /dev/null 2>&1';
78
+        } else {
79
+            $cmd = self::$ffmpegBinary . ' -y -ss ' . escapeshellarg($second) .
80
+                ' -i ' . escapeshellarg($absPath) .
81
+                ' -f mjpeg -vframes 1' .
82
+                ' ' . escapeshellarg($tmpPath) .
83
+                ' > /dev/null 2>&1';
84
+        }
85 85
 
86
-		exec($cmd, $output, $returnCode);
86
+        exec($cmd, $output, $returnCode);
87 87
 
88
-		if ($returnCode === 0) {
89
-			$image = new \OC_Image();
90
-			$image->loadFromFile($tmpPath);
91
-			unlink($tmpPath);
92
-			if ($image->valid()) {
93
-				$image->scaleDownToFit($maxX, $maxY);
88
+        if ($returnCode === 0) {
89
+            $image = new \OC_Image();
90
+            $image->loadFromFile($tmpPath);
91
+            unlink($tmpPath);
92
+            if ($image->valid()) {
93
+                $image->scaleDownToFit($maxX, $maxY);
94 94
 
95
-				return $image;
96
-			}
97
-		}
98
-		unlink($tmpPath);
99
-		return null;
100
-	}
95
+                return $image;
96
+            }
97
+        }
98
+        unlink($tmpPath);
99
+        return null;
100
+    }
101 101
 }
Please login to merge, or discard this patch.
lib/private/Share20/Hooks.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -22,15 +22,15 @@
 block discarded – undo
22 22
 namespace OC\Share20;
23 23
 
24 24
 class Hooks {
25
-	public static function post_deleteUser($arguments) {
26
-		\OC::$server->getShareManager()->userDeleted($arguments['uid']);
27
-	}
25
+    public static function post_deleteUser($arguments) {
26
+        \OC::$server->getShareManager()->userDeleted($arguments['uid']);
27
+    }
28 28
 
29
-	public static function post_deleteGroup($arguments) {
30
-		\OC::$server->getShareManager()->groupDeleted($arguments['gid']);
31
-	}
29
+    public static function post_deleteGroup($arguments) {
30
+        \OC::$server->getShareManager()->groupDeleted($arguments['gid']);
31
+    }
32 32
 
33
-	public static function post_removeFromGroup($arguments) {
34
-		\OC::$server->getShareManager()->userDeletedFromGroup($arguments['uid'], $arguments['gid']);
35
-	}
33
+    public static function post_removeFromGroup($arguments) {
34
+        \OC::$server->getShareManager()->userDeletedFromGroup($arguments['uid'], $arguments['gid']);
35
+    }
36 36
 }
Please login to merge, or discard this patch.