Passed
Push — master ( d8d15c...f4adfd )
by
unknown
14:53 queued 13s
created
lib/private/DB/PostgreSqlMigrator.php 2 patches
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -25,32 +25,32 @@
 block discarded – undo
25 25
 use Doctrine\DBAL\Schema\Schema;
26 26
 
27 27
 class PostgreSqlMigrator extends Migrator {
28
-	/**
29
-	 * @param Schema $targetSchema
30
-	 * @param \Doctrine\DBAL\Connection $connection
31
-	 * @return \Doctrine\DBAL\Schema\SchemaDiff
32
-	 */
33
-	protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
34
-		$schemaDiff = parent::getDiff($targetSchema, $connection);
28
+    /**
29
+     * @param Schema $targetSchema
30
+     * @param \Doctrine\DBAL\Connection $connection
31
+     * @return \Doctrine\DBAL\Schema\SchemaDiff
32
+     */
33
+    protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
34
+        $schemaDiff = parent::getDiff($targetSchema, $connection);
35 35
 
36
-		foreach ($schemaDiff->changedTables as $tableDiff) {
37
-			// fix default value in brackets - pg 9.4 is returning a negative default value in ()
38
-			// see https://github.com/doctrine/dbal/issues/2427
39
-			foreach ($tableDiff->changedColumns as $column) {
40
-				$column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
41
-					if ($changedProperties !== 'default') {
42
-						return true;
43
-					}
44
-					$fromDefault = $column->fromColumn->getDefault();
45
-					$toDefault = $column->column->getDefault();
46
-					$fromDefault = trim($fromDefault, "()");
36
+        foreach ($schemaDiff->changedTables as $tableDiff) {
37
+            // fix default value in brackets - pg 9.4 is returning a negative default value in ()
38
+            // see https://github.com/doctrine/dbal/issues/2427
39
+            foreach ($tableDiff->changedColumns as $column) {
40
+                $column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
41
+                    if ($changedProperties !== 'default') {
42
+                        return true;
43
+                    }
44
+                    $fromDefault = $column->fromColumn->getDefault();
45
+                    $toDefault = $column->column->getDefault();
46
+                    $fromDefault = trim($fromDefault, "()");
47 47
 
48
-					// by intention usage of !=
49
-					return $fromDefault != $toDefault;
50
-				});
51
-			}
52
-		}
48
+                    // by intention usage of !=
49
+                    return $fromDefault != $toDefault;
50
+                });
51
+            }
52
+        }
53 53
 
54
-		return $schemaDiff;
55
-	}
54
+        return $schemaDiff;
55
+    }
56 56
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@
 block discarded – undo
37 37
 			// fix default value in brackets - pg 9.4 is returning a negative default value in ()
38 38
 			// see https://github.com/doctrine/dbal/issues/2427
39 39
 			foreach ($tableDiff->changedColumns as $column) {
40
-				$column->changedProperties = array_filter($column->changedProperties, function ($changedProperties) use ($column) {
40
+				$column->changedProperties = array_filter($column->changedProperties, function($changedProperties) use ($column) {
41 41
 					if ($changedProperties !== 'default') {
42 42
 						return true;
43 43
 					}
Please login to merge, or discard this patch.
lib/private/App/AppStore/Version/Version.php 1 patch
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -22,31 +22,31 @@
 block discarded – undo
22 22
 namespace OC\App\AppStore\Version;
23 23
 
24 24
 class Version {
25
-	/** @var string */
26
-	private $minVersion;
27
-	/** @var string */
28
-	private $maxVersion;
25
+    /** @var string */
26
+    private $minVersion;
27
+    /** @var string */
28
+    private $maxVersion;
29 29
 
30
-	/**
31
-	 * @param string $minVersion
32
-	 * @param string $maxVersion
33
-	 */
34
-	public function __construct($minVersion, $maxVersion) {
35
-		$this->minVersion = $minVersion;
36
-		$this->maxVersion = $maxVersion;
37
-	}
30
+    /**
31
+     * @param string $minVersion
32
+     * @param string $maxVersion
33
+     */
34
+    public function __construct($minVersion, $maxVersion) {
35
+        $this->minVersion = $minVersion;
36
+        $this->maxVersion = $maxVersion;
37
+    }
38 38
 
39
-	/**
40
-	 * @return string
41
-	 */
42
-	public function getMinimumVersion() {
43
-		return $this->minVersion;
44
-	}
39
+    /**
40
+     * @return string
41
+     */
42
+    public function getMinimumVersion() {
43
+        return $this->minVersion;
44
+    }
45 45
 
46
-	/**
47
-	 * @return string
48
-	 */
49
-	public function getMaximumVersion() {
50
-		return $this->maxVersion;
51
-	}
46
+    /**
47
+     * @return string
48
+     */
49
+    public function getMaximumVersion() {
50
+        return $this->maxVersion;
51
+    }
52 52
 }
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
@@ -26,294 +26,294 @@
 block discarded – undo
26 26
 namespace OC;
27 27
 
28 28
 class DateTimeFormatter implements \OCP\IDateTimeFormatter {
29
-	/** @var \DateTimeZone */
30
-	protected $defaultTimeZone;
29
+    /** @var \DateTimeZone */
30
+    protected $defaultTimeZone;
31 31
 
32
-	/** @var \OCP\IL10N */
33
-	protected $defaultL10N;
32
+    /** @var \OCP\IL10N */
33
+    protected $defaultL10N;
34 34
 
35
-	/**
36
-	 * Constructor
37
-	 *
38
-	 * @param \DateTimeZone $defaultTimeZone Set the timezone for the format
39
-	 * @param \OCP\IL10N $defaultL10N Set the language for the format
40
-	 */
41
-	public function __construct(\DateTimeZone $defaultTimeZone, \OCP\IL10N $defaultL10N) {
42
-		$this->defaultTimeZone = $defaultTimeZone;
43
-		$this->defaultL10N = $defaultL10N;
44
-	}
35
+    /**
36
+     * Constructor
37
+     *
38
+     * @param \DateTimeZone $defaultTimeZone Set the timezone for the format
39
+     * @param \OCP\IL10N $defaultL10N Set the language for the format
40
+     */
41
+    public function __construct(\DateTimeZone $defaultTimeZone, \OCP\IL10N $defaultL10N) {
42
+        $this->defaultTimeZone = $defaultTimeZone;
43
+        $this->defaultL10N = $defaultL10N;
44
+    }
45 45
 
46
-	/**
47
-	 * Get TimeZone to use
48
-	 *
49
-	 * @param \DateTimeZone $timeZone	The timezone to use
50
-	 * @return \DateTimeZone		The timezone to use, falling back to the current user's timezone
51
-	 */
52
-	protected function getTimeZone($timeZone = null) {
53
-		if ($timeZone === null) {
54
-			$timeZone = $this->defaultTimeZone;
55
-		}
46
+    /**
47
+     * Get TimeZone to use
48
+     *
49
+     * @param \DateTimeZone $timeZone	The timezone to use
50
+     * @return \DateTimeZone		The timezone to use, falling back to the current user's timezone
51
+     */
52
+    protected function getTimeZone($timeZone = null) {
53
+        if ($timeZone === null) {
54
+            $timeZone = $this->defaultTimeZone;
55
+        }
56 56
 
57
-		return $timeZone;
58
-	}
57
+        return $timeZone;
58
+    }
59 59
 
60
-	/**
61
-	 * Get \OCP\IL10N to use
62
-	 *
63
-	 * @param \OCP\IL10N $l	The locale to use
64
-	 * @return \OCP\IL10N		The locale to use, falling back to the current user's locale
65
-	 */
66
-	protected function getLocale($l = null) {
67
-		if ($l === null) {
68
-			$l = $this->defaultL10N;
69
-		}
60
+    /**
61
+     * Get \OCP\IL10N to use
62
+     *
63
+     * @param \OCP\IL10N $l	The locale to use
64
+     * @return \OCP\IL10N		The locale to use, falling back to the current user's locale
65
+     */
66
+    protected function getLocale($l = null) {
67
+        if ($l === null) {
68
+            $l = $this->defaultL10N;
69
+        }
70 70
 
71
-		return $l;
72
-	}
71
+        return $l;
72
+    }
73 73
 
74
-	/**
75
-	 * Generates a DateTime object with the given timestamp and TimeZone
76
-	 *
77
-	 * @param mixed $timestamp
78
-	 * @param \DateTimeZone $timeZone	The timezone to use
79
-	 * @return \DateTime
80
-	 */
81
-	protected function getDateTime($timestamp, \DateTimeZone $timeZone = null) {
82
-		if ($timestamp === null) {
83
-			return new \DateTime('now', $timeZone);
84
-		} elseif (!$timestamp instanceof \DateTime) {
85
-			$dateTime = new \DateTime('now', $timeZone);
86
-			$dateTime->setTimestamp($timestamp);
87
-			return $dateTime;
88
-		}
89
-		if ($timeZone) {
90
-			$timestamp->setTimezone($timeZone);
91
-		}
92
-		return $timestamp;
93
-	}
74
+    /**
75
+     * Generates a DateTime object with the given timestamp and TimeZone
76
+     *
77
+     * @param mixed $timestamp
78
+     * @param \DateTimeZone $timeZone	The timezone to use
79
+     * @return \DateTime
80
+     */
81
+    protected function getDateTime($timestamp, \DateTimeZone $timeZone = null) {
82
+        if ($timestamp === null) {
83
+            return new \DateTime('now', $timeZone);
84
+        } elseif (!$timestamp instanceof \DateTime) {
85
+            $dateTime = new \DateTime('now', $timeZone);
86
+            $dateTime->setTimestamp($timestamp);
87
+            return $dateTime;
88
+        }
89
+        if ($timeZone) {
90
+            $timestamp->setTimezone($timeZone);
91
+        }
92
+        return $timestamp;
93
+    }
94 94
 
95
-	/**
96
-	 * Formats the date of the given timestamp
97
-	 *
98
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
99
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
100
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
101
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
102
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
103
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
104
-	 * 				The exact format is dependent on the language
105
-	 * @param \DateTimeZone	$timeZone	The timezone to use
106
-	 * @param \OCP\IL10N	$l			The locale to use
107
-	 * @return string Formatted date string
108
-	 */
109
-	public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
110
-		return $this->format($timestamp, 'date', $format, $timeZone, $l);
111
-	}
95
+    /**
96
+     * Formats the date of the given timestamp
97
+     *
98
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
99
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
100
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
101
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
102
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
103
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
104
+     * 				The exact format is dependent on the language
105
+     * @param \DateTimeZone	$timeZone	The timezone to use
106
+     * @param \OCP\IL10N	$l			The locale to use
107
+     * @return string Formatted date string
108
+     */
109
+    public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
110
+        return $this->format($timestamp, 'date', $format, $timeZone, $l);
111
+    }
112 112
 
113
-	/**
114
-	 * Formats the date of the given timestamp
115
-	 *
116
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
117
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
118
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
119
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
120
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
121
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
122
-	 * 				The exact format is dependent on the language
123
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
124
-	 * @param \DateTimeZone	$timeZone	The timezone to use
125
-	 * @param \OCP\IL10N	$l			The locale to use
126
-	 * @return string Formatted relative date string
127
-	 */
128
-	public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
129
-		if (substr($format, -1) !== '*' && substr($format, -1) !== '*') {
130
-			$format .= '^';
131
-		}
113
+    /**
114
+     * Formats the date of the given timestamp
115
+     *
116
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
117
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
118
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
119
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
120
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
121
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
122
+     * 				The exact format is dependent on the language
123
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
124
+     * @param \DateTimeZone	$timeZone	The timezone to use
125
+     * @param \OCP\IL10N	$l			The locale to use
126
+     * @return string Formatted relative date string
127
+     */
128
+    public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
129
+        if (substr($format, -1) !== '*' && substr($format, -1) !== '*') {
130
+            $format .= '^';
131
+        }
132 132
 
133
-		return $this->format($timestamp, 'date', $format, $timeZone, $l);
134
-	}
133
+        return $this->format($timestamp, 'date', $format, $timeZone, $l);
134
+    }
135 135
 
136
-	/**
137
-	 * Gives the relative date of the timestamp
138
-	 * Only works for past dates
139
-	 *
140
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
141
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
142
-	 * @return string	Dates returned are:
143
-	 * 				<  1 month	=> Today, Yesterday, n days ago
144
-	 * 				< 13 month	=> last month, n months ago
145
-	 * 				>= 13 month	=> last year, n years ago
146
-	 * @param \OCP\IL10N	$l			The locale to use
147
-	 * @return string Formatted date span
148
-	 */
149
-	public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
150
-		$l = $this->getLocale($l);
151
-		$timestamp = $this->getDateTime($timestamp);
152
-		$timestamp->setTime(0, 0, 0);
136
+    /**
137
+     * Gives the relative date of the timestamp
138
+     * Only works for past dates
139
+     *
140
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
141
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
142
+     * @return string	Dates returned are:
143
+     * 				<  1 month	=> Today, Yesterday, n days ago
144
+     * 				< 13 month	=> last month, n months ago
145
+     * 				>= 13 month	=> last year, n years ago
146
+     * @param \OCP\IL10N	$l			The locale to use
147
+     * @return string Formatted date span
148
+     */
149
+    public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
150
+        $l = $this->getLocale($l);
151
+        $timestamp = $this->getDateTime($timestamp);
152
+        $timestamp->setTime(0, 0, 0);
153 153
 
154
-		if ($baseTimestamp === null) {
155
-			$baseTimestamp = time();
156
-		}
157
-		$baseTimestamp = $this->getDateTime($baseTimestamp);
158
-		$baseTimestamp->setTime(0, 0, 0);
159
-		$dateInterval = $timestamp->diff($baseTimestamp);
154
+        if ($baseTimestamp === null) {
155
+            $baseTimestamp = time();
156
+        }
157
+        $baseTimestamp = $this->getDateTime($baseTimestamp);
158
+        $baseTimestamp->setTime(0, 0, 0);
159
+        $dateInterval = $timestamp->diff($baseTimestamp);
160 160
 
161
-		if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 0) {
162
-			return $l->t('today');
163
-		} elseif ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 1) {
164
-			if ($timestamp > $baseTimestamp) {
165
-				return $l->t('tomorrow');
166
-			} else {
167
-				return $l->t('yesterday');
168
-			}
169
-		} elseif ($dateInterval->y == 0 && $dateInterval->m == 0) {
170
-			if ($timestamp > $baseTimestamp) {
171
-				return $l->n('in %n day', 'in %n days', $dateInterval->d);
172
-			} else {
173
-				return $l->n('%n day ago', '%n days ago', $dateInterval->d);
174
-			}
175
-		} elseif ($dateInterval->y == 0 && $dateInterval->m == 1) {
176
-			if ($timestamp > $baseTimestamp) {
177
-				return $l->t('next month');
178
-			} else {
179
-				return $l->t('last month');
180
-			}
181
-		} elseif ($dateInterval->y == 0) {
182
-			if ($timestamp > $baseTimestamp) {
183
-				return $l->n('in %n month', 'in %n months', $dateInterval->m);
184
-			} else {
185
-				return $l->n('%n month ago', '%n months ago', $dateInterval->m);
186
-			}
187
-		} elseif ($dateInterval->y == 1) {
188
-			if ($timestamp > $baseTimestamp) {
189
-				return $l->t('next year');
190
-			} else {
191
-				return $l->t('last year');
192
-			}
193
-		}
194
-		if ($timestamp > $baseTimestamp) {
195
-			return $l->n('in %n year', 'in %n years', $dateInterval->y);
196
-		} else {
197
-			return $l->n('%n year ago', '%n years ago', $dateInterval->y);
198
-		}
199
-	}
161
+        if ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 0) {
162
+            return $l->t('today');
163
+        } elseif ($dateInterval->y == 0 && $dateInterval->m == 0 && $dateInterval->d == 1) {
164
+            if ($timestamp > $baseTimestamp) {
165
+                return $l->t('tomorrow');
166
+            } else {
167
+                return $l->t('yesterday');
168
+            }
169
+        } elseif ($dateInterval->y == 0 && $dateInterval->m == 0) {
170
+            if ($timestamp > $baseTimestamp) {
171
+                return $l->n('in %n day', 'in %n days', $dateInterval->d);
172
+            } else {
173
+                return $l->n('%n day ago', '%n days ago', $dateInterval->d);
174
+            }
175
+        } elseif ($dateInterval->y == 0 && $dateInterval->m == 1) {
176
+            if ($timestamp > $baseTimestamp) {
177
+                return $l->t('next month');
178
+            } else {
179
+                return $l->t('last month');
180
+            }
181
+        } elseif ($dateInterval->y == 0) {
182
+            if ($timestamp > $baseTimestamp) {
183
+                return $l->n('in %n month', 'in %n months', $dateInterval->m);
184
+            } else {
185
+                return $l->n('%n month ago', '%n months ago', $dateInterval->m);
186
+            }
187
+        } elseif ($dateInterval->y == 1) {
188
+            if ($timestamp > $baseTimestamp) {
189
+                return $l->t('next year');
190
+            } else {
191
+                return $l->t('last year');
192
+            }
193
+        }
194
+        if ($timestamp > $baseTimestamp) {
195
+            return $l->n('in %n year', 'in %n years', $dateInterval->y);
196
+        } else {
197
+            return $l->n('%n year ago', '%n years ago', $dateInterval->y);
198
+        }
199
+    }
200 200
 
201
-	/**
202
-	 * Formats the time of the given timestamp
203
-	 *
204
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
205
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
206
-	 * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
207
-	 * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
208
-	 * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
209
-	 * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
210
-	 * 				The exact format is dependent on the language
211
-	 * @param \DateTimeZone	$timeZone	The timezone to use
212
-	 * @param \OCP\IL10N	$l			The locale to use
213
-	 * @return string Formatted time string
214
-	 */
215
-	public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
216
-		return $this->format($timestamp, 'time', $format, $timeZone, $l);
217
-	}
201
+    /**
202
+     * Formats the time of the given timestamp
203
+     *
204
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
205
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
206
+     * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
207
+     * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
208
+     * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
209
+     * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
210
+     * 				The exact format is dependent on the language
211
+     * @param \DateTimeZone	$timeZone	The timezone to use
212
+     * @param \OCP\IL10N	$l			The locale to use
213
+     * @return string Formatted time string
214
+     */
215
+    public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
216
+        return $this->format($timestamp, 'time', $format, $timeZone, $l);
217
+    }
218 218
 
219
-	/**
220
-	 * Gives the relative past time of the timestamp
221
-	 *
222
-	 * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
223
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
224
-	 * @return string	Dates returned are:
225
-	 * 				< 60 sec	=> seconds ago
226
-	 * 				<  1 hour	=> n minutes ago
227
-	 * 				<  1 day	=> n hours ago
228
-	 * 				<  1 month	=> Yesterday, n days ago
229
-	 * 				< 13 month	=> last month, n months ago
230
-	 * 				>= 13 month	=> last year, n years ago
231
-	 * @param \OCP\IL10N	$l			The locale to use
232
-	 * @return string Formatted time span
233
-	 */
234
-	public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
235
-		$l = $this->getLocale($l);
236
-		$timestamp = $this->getDateTime($timestamp);
237
-		if ($baseTimestamp === null) {
238
-			$baseTimestamp = time();
239
-		}
240
-		$baseTimestamp = $this->getDateTime($baseTimestamp);
219
+    /**
220
+     * Gives the relative past time of the timestamp
221
+     *
222
+     * @param int|\DateTime	$timestamp	Either a Unix timestamp or DateTime object
223
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
224
+     * @return string	Dates returned are:
225
+     * 				< 60 sec	=> seconds ago
226
+     * 				<  1 hour	=> n minutes ago
227
+     * 				<  1 day	=> n hours ago
228
+     * 				<  1 month	=> Yesterday, n days ago
229
+     * 				< 13 month	=> last month, n months ago
230
+     * 				>= 13 month	=> last year, n years ago
231
+     * @param \OCP\IL10N	$l			The locale to use
232
+     * @return string Formatted time span
233
+     */
234
+    public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) {
235
+        $l = $this->getLocale($l);
236
+        $timestamp = $this->getDateTime($timestamp);
237
+        if ($baseTimestamp === null) {
238
+            $baseTimestamp = time();
239
+        }
240
+        $baseTimestamp = $this->getDateTime($baseTimestamp);
241 241
 
242
-		$diff = $timestamp->diff($baseTimestamp);
243
-		if ($diff->y > 0 || $diff->m > 0 || $diff->d > 0) {
244
-			return $this->formatDateSpan($timestamp, $baseTimestamp, $l);
245
-		}
242
+        $diff = $timestamp->diff($baseTimestamp);
243
+        if ($diff->y > 0 || $diff->m > 0 || $diff->d > 0) {
244
+            return $this->formatDateSpan($timestamp, $baseTimestamp, $l);
245
+        }
246 246
 
247
-		if ($diff->h > 0) {
248
-			if ($timestamp > $baseTimestamp) {
249
-				return $l->n('in %n hour', 'in %n hours', $diff->h);
250
-			} else {
251
-				return $l->n('%n hour ago', '%n hours ago', $diff->h);
252
-			}
253
-		} elseif ($diff->i > 0) {
254
-			if ($timestamp > $baseTimestamp) {
255
-				return $l->n('in %n minute', 'in %n minutes', $diff->i);
256
-			} else {
257
-				return $l->n('%n minute ago', '%n minutes ago', $diff->i);
258
-			}
259
-		}
260
-		if ($timestamp > $baseTimestamp) {
261
-			return $l->t('in a few seconds');
262
-		} else {
263
-			return $l->t('seconds ago');
264
-		}
265
-	}
247
+        if ($diff->h > 0) {
248
+            if ($timestamp > $baseTimestamp) {
249
+                return $l->n('in %n hour', 'in %n hours', $diff->h);
250
+            } else {
251
+                return $l->n('%n hour ago', '%n hours ago', $diff->h);
252
+            }
253
+        } elseif ($diff->i > 0) {
254
+            if ($timestamp > $baseTimestamp) {
255
+                return $l->n('in %n minute', 'in %n minutes', $diff->i);
256
+            } else {
257
+                return $l->n('%n minute ago', '%n minutes ago', $diff->i);
258
+            }
259
+        }
260
+        if ($timestamp > $baseTimestamp) {
261
+            return $l->t('in a few seconds');
262
+        } else {
263
+            return $l->t('seconds ago');
264
+        }
265
+    }
266 266
 
267
-	/**
268
-	 * Formats the date and time of the given timestamp
269
-	 *
270
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
271
-	 * @param string		$formatDate		See formatDate() for description
272
-	 * @param string		$formatTime		See formatTime() for description
273
-	 * @param \DateTimeZone	$timeZone	The timezone to use
274
-	 * @param \OCP\IL10N	$l			The locale to use
275
-	 * @return string Formatted date and time string
276
-	 */
277
-	public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
278
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
279
-	}
267
+    /**
268
+     * Formats the date and time of the given timestamp
269
+     *
270
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
271
+     * @param string		$formatDate		See formatDate() for description
272
+     * @param string		$formatTime		See formatTime() for description
273
+     * @param \DateTimeZone	$timeZone	The timezone to use
274
+     * @param \OCP\IL10N	$l			The locale to use
275
+     * @return string Formatted date and time string
276
+     */
277
+    public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
278
+        return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
279
+    }
280 280
 
281
-	/**
282
-	 * Formats the date and time of the given timestamp
283
-	 *
284
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
285
-	 * @param string	$formatDate		See formatDate() for description
286
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
287
-	 * @param string	$formatTime		See formatTime() for description
288
-	 * @param \DateTimeZone	$timeZone	The timezone to use
289
-	 * @param \OCP\IL10N	$l			The locale to use
290
-	 * @return string Formatted relative date and time string
291
-	 */
292
-	public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
293
-		if (substr($formatDate, -1) !== '^' && substr($formatDate, -1) !== '*') {
294
-			$formatDate .= '^';
295
-		}
281
+    /**
282
+     * Formats the date and time of the given timestamp
283
+     *
284
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
285
+     * @param string	$formatDate		See formatDate() for description
286
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
287
+     * @param string	$formatTime		See formatTime() for description
288
+     * @param \DateTimeZone	$timeZone	The timezone to use
289
+     * @param \OCP\IL10N	$l			The locale to use
290
+     * @return string Formatted relative date and time string
291
+     */
292
+    public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
293
+        if (substr($formatDate, -1) !== '^' && substr($formatDate, -1) !== '*') {
294
+            $formatDate .= '^';
295
+        }
296 296
 
297
-		return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
298
-	}
297
+        return $this->format($timestamp, 'datetime', $formatDate . '|' . $formatTime, $timeZone, $l);
298
+    }
299 299
 
300
-	/**
301
-	 * Formats the date and time of the given timestamp
302
-	 *
303
-	 * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
304
-	 * @param string		$type		One of 'date', 'datetime' or 'time'
305
-	 * @param string		$format		Format string
306
-	 * @param \DateTimeZone	$timeZone	The timezone to use
307
-	 * @param \OCP\IL10N	$l			The locale to use
308
-	 * @return string Formatted date and time string
309
-	 */
310
-	protected function format($timestamp, $type, $format, \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
311
-		$l = $this->getLocale($l);
312
-		$timeZone = $this->getTimeZone($timeZone);
313
-		$timestamp = $this->getDateTime($timestamp, $timeZone);
300
+    /**
301
+     * Formats the date and time of the given timestamp
302
+     *
303
+     * @param int|\DateTime $timestamp	Either a Unix timestamp or DateTime object
304
+     * @param string		$type		One of 'date', 'datetime' or 'time'
305
+     * @param string		$format		Format string
306
+     * @param \DateTimeZone	$timeZone	The timezone to use
307
+     * @param \OCP\IL10N	$l			The locale to use
308
+     * @return string Formatted date and time string
309
+     */
310
+    protected function format($timestamp, $type, $format, \DateTimeZone $timeZone = null, \OCP\IL10N $l = null) {
311
+        $l = $this->getLocale($l);
312
+        $timeZone = $this->getTimeZone($timeZone);
313
+        $timestamp = $this->getDateTime($timestamp, $timeZone);
314 314
 
315
-		return $l->l($type, $timestamp, [
316
-			'width' => $format,
317
-		]);
318
-	}
315
+        return $l->l($type, $timestamp, [
316
+            'width' => $format,
317
+        ]);
318
+    }
319 319
 }
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/Encryption/Exceptions/ModuleAlreadyExistsException.php 2 patches
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -27,12 +27,12 @@
 block discarded – undo
27 27
 
28 28
 class ModuleAlreadyExistsException extends GenericEncryptionException {
29 29
 
30
-	/**
31
-	 * @param string $id
32
-	 * @param string $name
33
-	 */
34
-	public function __construct($id, $name) {
35
-		parent::__construct('Id "' . $id . '" already used by encryption module "' . $name . '"');
36
-	}
30
+    /**
31
+     * @param string $id
32
+     * @param string $name
33
+     */
34
+    public function __construct($id, $name) {
35
+        parent::__construct('Id "' . $id . '" already used by encryption module "' . $name . '"');
36
+    }
37 37
 
38 38
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@
 block discarded – undo
32 32
 	 * @param string $name
33 33
 	 */
34 34
 	public function __construct($id, $name) {
35
-		parent::__construct('Id "' . $id . '" already used by encryption module "' . $name . '"');
35
+		parent::__construct('Id "'.$id.'" already used by encryption module "'.$name.'"');
36 36
 	}
37 37
 
38 38
 }
Please login to merge, or discard this patch.
lib/private/Encryption/Exceptions/EncryptionHeaderKeyExistsException.php 2 patches
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -27,10 +27,10 @@
 block discarded – undo
27 27
 
28 28
 class EncryptionHeaderKeyExistsException extends GenericEncryptionException {
29 29
 
30
-	/**
31
-	 * @param string $key
32
-	 */
33
-	public function __construct($key) {
34
-		parent::__construct('header key "'. $key . '" already reserved by ownCloud');
35
-	}
30
+    /**
31
+     * @param string $key
32
+     */
33
+    public function __construct($key) {
34
+        parent::__construct('header key "'. $key . '" already reserved by ownCloud');
35
+    }
36 36
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -31,6 +31,6 @@
 block discarded – undo
31 31
 	 * @param string $key
32 32
 	 */
33 33
 	public function __construct($key) {
34
-		parent::__construct('header key "'. $key . '" already reserved by ownCloud');
34
+		parent::__construct('header key "'.$key.'" already reserved by ownCloud');
35 35
 	}
36 36
 }
Please login to merge, or discard this patch.
lib/private/Encryption/Manager.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -274,7 +274,7 @@
 block discarded – undo
274 274
 		}
275 275
 
276 276
 		// check if key storage is mounted correctly
277
-		if ($this->rootView->file_exists($rootDir . '/' . Storage::KEY_STORAGE_MARKER)) {
277
+		if ($this->rootView->file_exists($rootDir.'/'.Storage::KEY_STORAGE_MARKER)) {
278 278
 			return true;
279 279
 		}
280 280
 
Please login to merge, or discard this patch.
Indentation   +218 added lines, -218 removed lines patch added patch discarded remove patch
@@ -38,222 +38,222 @@
 block discarded – undo
38 38
 
39 39
 class Manager implements IManager {
40 40
 
41
-	/** @var array */
42
-	protected $encryptionModules;
43
-
44
-	/** @var IConfig */
45
-	protected $config;
46
-
47
-	protected LoggerInterface $logger;
48
-
49
-	/** @var Il10n */
50
-	protected $l;
51
-
52
-	/** @var View  */
53
-	protected $rootView;
54
-
55
-	/** @var Util  */
56
-	protected $util;
57
-
58
-	/** @var ArrayCache  */
59
-	protected $arrayCache;
60
-
61
-	public function __construct(IConfig $config, LoggerInterface $logger, IL10N $l10n, View $rootView, Util $util, ArrayCache $arrayCache) {
62
-		$this->encryptionModules = [];
63
-		$this->config = $config;
64
-		$this->logger = $logger;
65
-		$this->l = $l10n;
66
-		$this->rootView = $rootView;
67
-		$this->util = $util;
68
-		$this->arrayCache = $arrayCache;
69
-	}
70
-
71
-	/**
72
-	 * Check if encryption is enabled
73
-	 *
74
-	 * @return bool true if enabled, false if not
75
-	 */
76
-	public function isEnabled() {
77
-		$installed = $this->config->getSystemValue('installed', false);
78
-		if (!$installed) {
79
-			return false;
80
-		}
81
-
82
-		$enabled = $this->config->getAppValue('core', 'encryption_enabled', 'no');
83
-		return $enabled === 'yes';
84
-	}
85
-
86
-	/**
87
-	 * check if new encryption is ready
88
-	 *
89
-	 * @return bool
90
-	 * @throws ServiceUnavailableException
91
-	 */
92
-	public function isReady() {
93
-		if ($this->isKeyStorageReady() === false) {
94
-			throw new ServiceUnavailableException('Key Storage is not ready');
95
-		}
96
-
97
-		return true;
98
-	}
99
-
100
-	/**
101
-	 * @param string $user
102
-	 */
103
-	public function isReadyForUser($user) {
104
-		if (!$this->isReady()) {
105
-			return false;
106
-		}
107
-
108
-		foreach ($this->getEncryptionModules() as $module) {
109
-			/** @var IEncryptionModule $m */
110
-			$m = call_user_func($module['callback']);
111
-			if (!$m->isReadyForUser($user)) {
112
-				return false;
113
-			}
114
-		}
115
-
116
-		return true;
117
-	}
118
-
119
-	/**
120
-	 * Registers an callback function which must return an encryption module instance
121
-	 *
122
-	 * @param string $id
123
-	 * @param string $displayName
124
-	 * @param callable $callback
125
-	 * @throws Exceptions\ModuleAlreadyExistsException
126
-	 */
127
-	public function registerEncryptionModule($id, $displayName, callable $callback) {
128
-		if (isset($this->encryptionModules[$id])) {
129
-			throw new Exceptions\ModuleAlreadyExistsException($id, $displayName);
130
-		}
131
-
132
-		$this->encryptionModules[$id] = [
133
-			'id' => $id,
134
-			'displayName' => $displayName,
135
-			'callback' => $callback,
136
-		];
137
-
138
-		$defaultEncryptionModuleId = $this->getDefaultEncryptionModuleId();
139
-
140
-		if (empty($defaultEncryptionModuleId)) {
141
-			$this->setDefaultEncryptionModule($id);
142
-		}
143
-	}
144
-
145
-	/**
146
-	 * Unregisters an encryption module
147
-	 *
148
-	 * @param string $moduleId
149
-	 */
150
-	public function unregisterEncryptionModule($moduleId) {
151
-		unset($this->encryptionModules[$moduleId]);
152
-	}
153
-
154
-	/**
155
-	 * get a list of all encryption modules
156
-	 *
157
-	 * @return array [id => ['id' => $id, 'displayName' => $displayName, 'callback' => callback]]
158
-	 */
159
-	public function getEncryptionModules() {
160
-		return $this->encryptionModules;
161
-	}
162
-
163
-	/**
164
-	 * get a specific encryption module
165
-	 *
166
-	 * @param string $moduleId
167
-	 * @return IEncryptionModule
168
-	 * @throws Exceptions\ModuleDoesNotExistsException
169
-	 */
170
-	public function getEncryptionModule($moduleId = '') {
171
-		if (empty($moduleId)) {
172
-			return $this->getDefaultEncryptionModule();
173
-		}
174
-		if (isset($this->encryptionModules[$moduleId])) {
175
-			return call_user_func($this->encryptionModules[$moduleId]['callback']);
176
-		}
177
-		$message = "Module with ID: $moduleId does not exist.";
178
-		$hint = $this->l->t('Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.', [$moduleId]);
179
-		throw new Exceptions\ModuleDoesNotExistsException($message, $hint);
180
-	}
181
-
182
-	/**
183
-	 * get default encryption module
184
-	 *
185
-	 * @return \OCP\Encryption\IEncryptionModule
186
-	 * @throws Exceptions\ModuleDoesNotExistsException
187
-	 */
188
-	protected function getDefaultEncryptionModule() {
189
-		$defaultModuleId = $this->getDefaultEncryptionModuleId();
190
-		if (empty($defaultModuleId)) {
191
-			$message = 'No default encryption module defined';
192
-			throw new Exceptions\ModuleDoesNotExistsException($message);
193
-		}
194
-		if (isset($this->encryptionModules[$defaultModuleId])) {
195
-			return call_user_func($this->encryptionModules[$defaultModuleId]['callback']);
196
-		}
197
-		$message = 'Default encryption module not loaded';
198
-		throw new Exceptions\ModuleDoesNotExistsException($message);
199
-	}
200
-
201
-	/**
202
-	 * set default encryption module Id
203
-	 *
204
-	 * @param string $moduleId
205
-	 * @return bool
206
-	 */
207
-	public function setDefaultEncryptionModule($moduleId) {
208
-		try {
209
-			$this->getEncryptionModule($moduleId);
210
-		} catch (\Exception $e) {
211
-			return false;
212
-		}
213
-
214
-		$this->config->setAppValue('core', 'default_encryption_module', $moduleId);
215
-		return true;
216
-	}
217
-
218
-	/**
219
-	 * get default encryption module Id
220
-	 *
221
-	 * @return string
222
-	 */
223
-	public function getDefaultEncryptionModuleId() {
224
-		return $this->config->getAppValue('core', 'default_encryption_module');
225
-	}
226
-
227
-	/**
228
-	 * Add storage wrapper
229
-	 */
230
-	public function setupStorage() {
231
-		// If encryption is disabled and there are no loaded modules it makes no sense to load the wrapper
232
-		if (!empty($this->encryptionModules) || $this->isEnabled()) {
233
-			$encryptionWrapper = new EncryptionWrapper($this->arrayCache, $this, $this->logger);
234
-			Filesystem::addStorageWrapper('oc_encryption', [$encryptionWrapper, 'wrapStorage'], 2);
235
-		}
236
-	}
237
-
238
-
239
-	/**
240
-	 * check if key storage is ready
241
-	 *
242
-	 * @return bool
243
-	 */
244
-	protected function isKeyStorageReady() {
245
-		$rootDir = $this->util->getKeyStorageRoot();
246
-
247
-		// the default root is always valid
248
-		if ($rootDir === '') {
249
-			return true;
250
-		}
251
-
252
-		// check if key storage is mounted correctly
253
-		if ($this->rootView->file_exists($rootDir . '/' . Storage::KEY_STORAGE_MARKER)) {
254
-			return true;
255
-		}
256
-
257
-		return false;
258
-	}
41
+    /** @var array */
42
+    protected $encryptionModules;
43
+
44
+    /** @var IConfig */
45
+    protected $config;
46
+
47
+    protected LoggerInterface $logger;
48
+
49
+    /** @var Il10n */
50
+    protected $l;
51
+
52
+    /** @var View  */
53
+    protected $rootView;
54
+
55
+    /** @var Util  */
56
+    protected $util;
57
+
58
+    /** @var ArrayCache  */
59
+    protected $arrayCache;
60
+
61
+    public function __construct(IConfig $config, LoggerInterface $logger, IL10N $l10n, View $rootView, Util $util, ArrayCache $arrayCache) {
62
+        $this->encryptionModules = [];
63
+        $this->config = $config;
64
+        $this->logger = $logger;
65
+        $this->l = $l10n;
66
+        $this->rootView = $rootView;
67
+        $this->util = $util;
68
+        $this->arrayCache = $arrayCache;
69
+    }
70
+
71
+    /**
72
+     * Check if encryption is enabled
73
+     *
74
+     * @return bool true if enabled, false if not
75
+     */
76
+    public function isEnabled() {
77
+        $installed = $this->config->getSystemValue('installed', false);
78
+        if (!$installed) {
79
+            return false;
80
+        }
81
+
82
+        $enabled = $this->config->getAppValue('core', 'encryption_enabled', 'no');
83
+        return $enabled === 'yes';
84
+    }
85
+
86
+    /**
87
+     * check if new encryption is ready
88
+     *
89
+     * @return bool
90
+     * @throws ServiceUnavailableException
91
+     */
92
+    public function isReady() {
93
+        if ($this->isKeyStorageReady() === false) {
94
+            throw new ServiceUnavailableException('Key Storage is not ready');
95
+        }
96
+
97
+        return true;
98
+    }
99
+
100
+    /**
101
+     * @param string $user
102
+     */
103
+    public function isReadyForUser($user) {
104
+        if (!$this->isReady()) {
105
+            return false;
106
+        }
107
+
108
+        foreach ($this->getEncryptionModules() as $module) {
109
+            /** @var IEncryptionModule $m */
110
+            $m = call_user_func($module['callback']);
111
+            if (!$m->isReadyForUser($user)) {
112
+                return false;
113
+            }
114
+        }
115
+
116
+        return true;
117
+    }
118
+
119
+    /**
120
+     * Registers an callback function which must return an encryption module instance
121
+     *
122
+     * @param string $id
123
+     * @param string $displayName
124
+     * @param callable $callback
125
+     * @throws Exceptions\ModuleAlreadyExistsException
126
+     */
127
+    public function registerEncryptionModule($id, $displayName, callable $callback) {
128
+        if (isset($this->encryptionModules[$id])) {
129
+            throw new Exceptions\ModuleAlreadyExistsException($id, $displayName);
130
+        }
131
+
132
+        $this->encryptionModules[$id] = [
133
+            'id' => $id,
134
+            'displayName' => $displayName,
135
+            'callback' => $callback,
136
+        ];
137
+
138
+        $defaultEncryptionModuleId = $this->getDefaultEncryptionModuleId();
139
+
140
+        if (empty($defaultEncryptionModuleId)) {
141
+            $this->setDefaultEncryptionModule($id);
142
+        }
143
+    }
144
+
145
+    /**
146
+     * Unregisters an encryption module
147
+     *
148
+     * @param string $moduleId
149
+     */
150
+    public function unregisterEncryptionModule($moduleId) {
151
+        unset($this->encryptionModules[$moduleId]);
152
+    }
153
+
154
+    /**
155
+     * get a list of all encryption modules
156
+     *
157
+     * @return array [id => ['id' => $id, 'displayName' => $displayName, 'callback' => callback]]
158
+     */
159
+    public function getEncryptionModules() {
160
+        return $this->encryptionModules;
161
+    }
162
+
163
+    /**
164
+     * get a specific encryption module
165
+     *
166
+     * @param string $moduleId
167
+     * @return IEncryptionModule
168
+     * @throws Exceptions\ModuleDoesNotExistsException
169
+     */
170
+    public function getEncryptionModule($moduleId = '') {
171
+        if (empty($moduleId)) {
172
+            return $this->getDefaultEncryptionModule();
173
+        }
174
+        if (isset($this->encryptionModules[$moduleId])) {
175
+            return call_user_func($this->encryptionModules[$moduleId]['callback']);
176
+        }
177
+        $message = "Module with ID: $moduleId does not exist.";
178
+        $hint = $this->l->t('Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.', [$moduleId]);
179
+        throw new Exceptions\ModuleDoesNotExistsException($message, $hint);
180
+    }
181
+
182
+    /**
183
+     * get default encryption module
184
+     *
185
+     * @return \OCP\Encryption\IEncryptionModule
186
+     * @throws Exceptions\ModuleDoesNotExistsException
187
+     */
188
+    protected function getDefaultEncryptionModule() {
189
+        $defaultModuleId = $this->getDefaultEncryptionModuleId();
190
+        if (empty($defaultModuleId)) {
191
+            $message = 'No default encryption module defined';
192
+            throw new Exceptions\ModuleDoesNotExistsException($message);
193
+        }
194
+        if (isset($this->encryptionModules[$defaultModuleId])) {
195
+            return call_user_func($this->encryptionModules[$defaultModuleId]['callback']);
196
+        }
197
+        $message = 'Default encryption module not loaded';
198
+        throw new Exceptions\ModuleDoesNotExistsException($message);
199
+    }
200
+
201
+    /**
202
+     * set default encryption module Id
203
+     *
204
+     * @param string $moduleId
205
+     * @return bool
206
+     */
207
+    public function setDefaultEncryptionModule($moduleId) {
208
+        try {
209
+            $this->getEncryptionModule($moduleId);
210
+        } catch (\Exception $e) {
211
+            return false;
212
+        }
213
+
214
+        $this->config->setAppValue('core', 'default_encryption_module', $moduleId);
215
+        return true;
216
+    }
217
+
218
+    /**
219
+     * get default encryption module Id
220
+     *
221
+     * @return string
222
+     */
223
+    public function getDefaultEncryptionModuleId() {
224
+        return $this->config->getAppValue('core', 'default_encryption_module');
225
+    }
226
+
227
+    /**
228
+     * Add storage wrapper
229
+     */
230
+    public function setupStorage() {
231
+        // If encryption is disabled and there are no loaded modules it makes no sense to load the wrapper
232
+        if (!empty($this->encryptionModules) || $this->isEnabled()) {
233
+            $encryptionWrapper = new EncryptionWrapper($this->arrayCache, $this, $this->logger);
234
+            Filesystem::addStorageWrapper('oc_encryption', [$encryptionWrapper, 'wrapStorage'], 2);
235
+        }
236
+    }
237
+
238
+
239
+    /**
240
+     * check if key storage is ready
241
+     *
242
+     * @return bool
243
+     */
244
+    protected function isKeyStorageReady() {
245
+        $rootDir = $this->util->getKeyStorageRoot();
246
+
247
+        // the default root is always valid
248
+        if ($rootDir === '') {
249
+            return true;
250
+        }
251
+
252
+        // check if key storage is mounted correctly
253
+        if ($this->rootView->file_exists($rootDir . '/' . Storage::KEY_STORAGE_MARKER)) {
254
+            return true;
255
+        }
256
+
257
+        return false;
258
+    }
259 259
 }
Please login to merge, or discard this patch.
lib/private/NaturalSort.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -117,8 +117,8 @@
 block discarded – undo
117 117
 			if ($aChunk !== $bChunk) {
118 118
 				// test first character (character comparison, not number comparison)
119 119
 				if ($aChunk[0] >= '0' && $aChunk[0] <= '9' && $bChunk[0] >= '0' && $bChunk[0] <= '9') {
120
-					$aNum = (int)$aChunk;
121
-					$bNum = (int)$bChunk;
120
+					$aNum = (int) $aChunk;
121
+					$bNum = (int) $bChunk;
122 122
 					return $aNum - $bNum;
123 123
 				}
124 124
 				return self::getCollator()->compare($aChunk, $bChunk);
Please login to merge, or discard this patch.
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -29,112 +29,112 @@
 block discarded – undo
29 29
 use Psr\Log\LoggerInterface;
30 30
 
31 31
 class NaturalSort {
32
-	private static $instance;
33
-	private $collator;
34
-	private $cache = [];
32
+    private static $instance;
33
+    private $collator;
34
+    private $cache = [];
35 35
 
36
-	/**
37
-	 * Instantiate a new \OC\NaturalSort instance.
38
-	 * @param object $injectedCollator
39
-	 */
40
-	public function __construct($injectedCollator = null) {
41
-		// inject an instance of \Collator('en_US') to force using the php5-intl Collator
42
-		// or inject an instance of \OC\NaturalSort_DefaultCollator to force using Owncloud's default collator
43
-		if (isset($injectedCollator)) {
44
-			$this->collator = $injectedCollator;
45
-			\OC::$server->get(LoggerInterface::class)->debug('forced use of '.get_class($injectedCollator));
46
-		}
47
-	}
36
+    /**
37
+     * Instantiate a new \OC\NaturalSort instance.
38
+     * @param object $injectedCollator
39
+     */
40
+    public function __construct($injectedCollator = null) {
41
+        // inject an instance of \Collator('en_US') to force using the php5-intl Collator
42
+        // or inject an instance of \OC\NaturalSort_DefaultCollator to force using Owncloud's default collator
43
+        if (isset($injectedCollator)) {
44
+            $this->collator = $injectedCollator;
45
+            \OC::$server->get(LoggerInterface::class)->debug('forced use of '.get_class($injectedCollator));
46
+        }
47
+    }
48 48
 
49
-	/**
50
-	 * Split the given string in chunks of numbers and strings
51
-	 * @param string $t string
52
-	 * @return array of strings and number chunks
53
-	 */
54
-	private function naturalSortChunkify($t) {
55
-		// Adapted and ported to PHP from
56
-		// http://my.opera.com/GreyWyvern/blog/show.dml/1671288
57
-		if (isset($this->cache[$t])) {
58
-			return $this->cache[$t];
59
-		}
60
-		$tz = [];
61
-		$x = 0;
62
-		$y = -1;
63
-		$n = null;
49
+    /**
50
+     * Split the given string in chunks of numbers and strings
51
+     * @param string $t string
52
+     * @return array of strings and number chunks
53
+     */
54
+    private function naturalSortChunkify($t) {
55
+        // Adapted and ported to PHP from
56
+        // http://my.opera.com/GreyWyvern/blog/show.dml/1671288
57
+        if (isset($this->cache[$t])) {
58
+            return $this->cache[$t];
59
+        }
60
+        $tz = [];
61
+        $x = 0;
62
+        $y = -1;
63
+        $n = null;
64 64
 
65
-		while (isset($t[$x])) {
66
-			$c = $t[$x];
67
-			// only include the dot in strings
68
-			$m = ((!$n && $c === '.') || ($c >= '0' && $c <= '9'));
69
-			if ($m !== $n) {
70
-				// next chunk
71
-				$y++;
72
-				$tz[$y] = '';
73
-				$n = $m;
74
-			}
75
-			$tz[$y] .= $c;
76
-			$x++;
77
-		}
78
-		$this->cache[$t] = $tz;
79
-		return $tz;
80
-	}
65
+        while (isset($t[$x])) {
66
+            $c = $t[$x];
67
+            // only include the dot in strings
68
+            $m = ((!$n && $c === '.') || ($c >= '0' && $c <= '9'));
69
+            if ($m !== $n) {
70
+                // next chunk
71
+                $y++;
72
+                $tz[$y] = '';
73
+                $n = $m;
74
+            }
75
+            $tz[$y] .= $c;
76
+            $x++;
77
+        }
78
+        $this->cache[$t] = $tz;
79
+        return $tz;
80
+    }
81 81
 
82
-	/**
83
-	 * Returns the string collator
84
-	 * @return \Collator string collator
85
-	 */
86
-	private function getCollator() {
87
-		if (!isset($this->collator)) {
88
-			// looks like the default is en_US_POSIX which yields wrong sorting with
89
-			// German umlauts, so using en_US instead
90
-			if (class_exists('Collator')) {
91
-				$this->collator = new \Collator('en_US');
92
-			} else {
93
-				$this->collator = new \OC\NaturalSort_DefaultCollator();
94
-			}
95
-		}
96
-		return $this->collator;
97
-	}
82
+    /**
83
+     * Returns the string collator
84
+     * @return \Collator string collator
85
+     */
86
+    private function getCollator() {
87
+        if (!isset($this->collator)) {
88
+            // looks like the default is en_US_POSIX which yields wrong sorting with
89
+            // German umlauts, so using en_US instead
90
+            if (class_exists('Collator')) {
91
+                $this->collator = new \Collator('en_US');
92
+            } else {
93
+                $this->collator = new \OC\NaturalSort_DefaultCollator();
94
+            }
95
+        }
96
+        return $this->collator;
97
+    }
98 98
 
99
-	/**
100
-	 * Compare two strings to provide a natural sort
101
-	 * @param string $a first string to compare
102
-	 * @param string $b second string to compare
103
-	 * @return int -1 if $b comes before $a, 1 if $a comes before $b
104
-	 * or 0 if the strings are identical
105
-	 */
106
-	public function compare($a, $b) {
107
-		// Needed because PHP doesn't sort correctly when numbers are enclosed in
108
-		// parenthesis, even with NUMERIC_COLLATION enabled.
109
-		// For example it gave ["test (2).txt", "test.txt"]
110
-		// instead of ["test.txt", "test (2).txt"]
111
-		$aa = self::naturalSortChunkify($a);
112
-		$bb = self::naturalSortChunkify($b);
99
+    /**
100
+     * Compare two strings to provide a natural sort
101
+     * @param string $a first string to compare
102
+     * @param string $b second string to compare
103
+     * @return int -1 if $b comes before $a, 1 if $a comes before $b
104
+     * or 0 if the strings are identical
105
+     */
106
+    public function compare($a, $b) {
107
+        // Needed because PHP doesn't sort correctly when numbers are enclosed in
108
+        // parenthesis, even with NUMERIC_COLLATION enabled.
109
+        // For example it gave ["test (2).txt", "test.txt"]
110
+        // instead of ["test.txt", "test (2).txt"]
111
+        $aa = self::naturalSortChunkify($a);
112
+        $bb = self::naturalSortChunkify($b);
113 113
 
114
-		for ($x = 0; isset($aa[$x]) && isset($bb[$x]); $x++) {
115
-			$aChunk = $aa[$x];
116
-			$bChunk = $bb[$x];
117
-			if ($aChunk !== $bChunk) {
118
-				// test first character (character comparison, not number comparison)
119
-				if ($aChunk[0] >= '0' && $aChunk[0] <= '9' && $bChunk[0] >= '0' && $bChunk[0] <= '9') {
120
-					$aNum = (int)$aChunk;
121
-					$bNum = (int)$bChunk;
122
-					return $aNum - $bNum;
123
-				}
124
-				return self::getCollator()->compare($aChunk, $bChunk);
125
-			}
126
-		}
127
-		return count($aa) - count($bb);
128
-	}
114
+        for ($x = 0; isset($aa[$x]) && isset($bb[$x]); $x++) {
115
+            $aChunk = $aa[$x];
116
+            $bChunk = $bb[$x];
117
+            if ($aChunk !== $bChunk) {
118
+                // test first character (character comparison, not number comparison)
119
+                if ($aChunk[0] >= '0' && $aChunk[0] <= '9' && $bChunk[0] >= '0' && $bChunk[0] <= '9') {
120
+                    $aNum = (int)$aChunk;
121
+                    $bNum = (int)$bChunk;
122
+                    return $aNum - $bNum;
123
+                }
124
+                return self::getCollator()->compare($aChunk, $bChunk);
125
+            }
126
+        }
127
+        return count($aa) - count($bb);
128
+    }
129 129
 
130
-	/**
131
-	 * Returns a singleton
132
-	 * @return \OC\NaturalSort instance
133
-	 */
134
-	public static function getInstance() {
135
-		if (!isset(self::$instance)) {
136
-			self::$instance = new \OC\NaturalSort();
137
-		}
138
-		return self::$instance;
139
-	}
130
+    /**
131
+     * Returns a singleton
132
+     * @return \OC\NaturalSort instance
133
+     */
134
+    public static function getInstance() {
135
+        if (!isset(self::$instance)) {
136
+            self::$instance = new \OC\NaturalSort();
137
+        }
138
+        return self::$instance;
139
+    }
140 140
 }
Please login to merge, or discard this patch.
ocs-provider/index.php 2 patches
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -26,8 +26,8 @@
 block discarded – undo
26 26
 $server = \OC::$server;
27 27
 
28 28
 $controller = new \OC\OCS\Provider(
29
-	'ocs_provider',
30
-	$server->getRequest(),
31
-	$server->getAppManager()
29
+    'ocs_provider',
30
+    $server->getRequest(),
31
+    $server->getAppManager()
32 32
 );
33 33
 echo $controller->buildProviderList()->render();
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@
 block discarded – undo
19 19
  *
20 20
  */
21 21
 
22
-require_once __DIR__ . '/../lib/base.php';
22
+require_once __DIR__.'/../lib/base.php';
23 23
 
24 24
 header('Content-Type: application/json');
25 25
 
Please login to merge, or discard this patch.