Passed
Push — master ( c00d6f...a085a8 )
by Morris
09:54 queued 11s
created
lib/private/Memcache/APCu.php 2 patches
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 	use CADTrait;
38 38
 
39 39
 	public function get($key) {
40
-		$result = apcu_fetch($this->getPrefix() . $key, $success);
40
+		$result = apcu_fetch($this->getPrefix().$key, $success);
41 41
 		if (!$success) {
42 42
 			return null;
43 43
 		}
@@ -45,24 +45,24 @@  discard block
 block discarded – undo
45 45
 	}
46 46
 
47 47
 	public function set($key, $value, $ttl = 0) {
48
-		return apcu_store($this->getPrefix() . $key, $value, $ttl);
48
+		return apcu_store($this->getPrefix().$key, $value, $ttl);
49 49
 	}
50 50
 
51 51
 	public function hasKey($key) {
52
-		return apcu_exists($this->getPrefix() . $key);
52
+		return apcu_exists($this->getPrefix().$key);
53 53
 	}
54 54
 
55 55
 	public function remove($key) {
56
-		return apcu_delete($this->getPrefix() . $key);
56
+		return apcu_delete($this->getPrefix().$key);
57 57
 	}
58 58
 
59 59
 	public function clear($prefix = '') {
60
-		$ns = $this->getPrefix() . $prefix;
60
+		$ns = $this->getPrefix().$prefix;
61 61
 		$ns = preg_quote($ns, '/');
62
-		if(class_exists('\APCIterator')) {
63
-			$iter = new \APCIterator('user', '/^' . $ns . '/', APC_ITER_KEY);
62
+		if (class_exists('\APCIterator')) {
63
+			$iter = new \APCIterator('user', '/^'.$ns.'/', APC_ITER_KEY);
64 64
 		} else {
65
-			$iter = new \APCUIterator('/^' . $ns . '/', APC_ITER_KEY);
65
+			$iter = new \APCUIterator('/^'.$ns.'/', APC_ITER_KEY);
66 66
 		}
67 67
 		return apcu_delete($iter);
68 68
 	}
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
 	 * @return bool
77 77
 	 */
78 78
 	public function add($key, $value, $ttl = 0) {
79
-		return apcu_add($this->getPrefix() . $key, $value, $ttl);
79
+		return apcu_add($this->getPrefix().$key, $value, $ttl);
80 80
 	}
81 81
 
82 82
 	/**
@@ -100,8 +100,8 @@  discard block
 block discarded – undo
100 100
 		 * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
101 101
 		 * for details
102 102
 		 */
103
-		return apcu_exists($this->getPrefix() . $key)
104
-			? apcu_inc($this->getPrefix() . $key, $step)
103
+		return apcu_exists($this->getPrefix().$key)
104
+			? apcu_inc($this->getPrefix().$key, $step)
105 105
 			: false;
106 106
 	}
107 107
 
@@ -125,8 +125,8 @@  discard block
 block discarded – undo
125 125
 		 * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
126 126
 		 * for details
127 127
 		 */
128
-		return apcu_exists($this->getPrefix() . $key)
129
-			? apcu_dec($this->getPrefix() . $key, $step)
128
+		return apcu_exists($this->getPrefix().$key)
129
+			? apcu_dec($this->getPrefix().$key, $step)
130 130
 			: false;
131 131
 	}
132 132
 
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
 	public function cas($key, $old, $new) {
142 142
 		// apc only does cas for ints
143 143
 		if (is_int($old) and is_int($new)) {
144
-			return apcu_cas($this->getPrefix() . $key, $old, $new);
144
+			return apcu_cas($this->getPrefix().$key, $old, $new);
145 145
 		} else {
146 146
 			return $this->casEmulated($key, $old, $new);
147 147
 		}
Please login to merge, or discard this patch.
Indentation   +125 added lines, -125 removed lines patch added patch discarded remove patch
@@ -30,140 +30,140 @@
 block discarded – undo
30 30
 use OCP\IMemcache;
31 31
 
32 32
 class APCu extends Cache implements IMemcache {
33
-	use CASTrait {
34
-		cas as casEmulated;
35
-	}
33
+    use CASTrait {
34
+        cas as casEmulated;
35
+    }
36 36
 
37
-	use CADTrait;
37
+    use CADTrait;
38 38
 
39
-	public function get($key) {
40
-		$result = apcu_fetch($this->getPrefix() . $key, $success);
41
-		if (!$success) {
42
-			return null;
43
-		}
44
-		return $result;
45
-	}
39
+    public function get($key) {
40
+        $result = apcu_fetch($this->getPrefix() . $key, $success);
41
+        if (!$success) {
42
+            return null;
43
+        }
44
+        return $result;
45
+    }
46 46
 
47
-	public function set($key, $value, $ttl = 0) {
48
-		return apcu_store($this->getPrefix() . $key, $value, $ttl);
49
-	}
47
+    public function set($key, $value, $ttl = 0) {
48
+        return apcu_store($this->getPrefix() . $key, $value, $ttl);
49
+    }
50 50
 
51
-	public function hasKey($key) {
52
-		return apcu_exists($this->getPrefix() . $key);
53
-	}
51
+    public function hasKey($key) {
52
+        return apcu_exists($this->getPrefix() . $key);
53
+    }
54 54
 
55
-	public function remove($key) {
56
-		return apcu_delete($this->getPrefix() . $key);
57
-	}
55
+    public function remove($key) {
56
+        return apcu_delete($this->getPrefix() . $key);
57
+    }
58 58
 
59
-	public function clear($prefix = '') {
60
-		$ns = $this->getPrefix() . $prefix;
61
-		$ns = preg_quote($ns, '/');
62
-		if(class_exists('\APCIterator')) {
63
-			$iter = new \APCIterator('user', '/^' . $ns . '/', APC_ITER_KEY);
64
-		} else {
65
-			$iter = new \APCUIterator('/^' . $ns . '/', APC_ITER_KEY);
66
-		}
67
-		return apcu_delete($iter);
68
-	}
59
+    public function clear($prefix = '') {
60
+        $ns = $this->getPrefix() . $prefix;
61
+        $ns = preg_quote($ns, '/');
62
+        if(class_exists('\APCIterator')) {
63
+            $iter = new \APCIterator('user', '/^' . $ns . '/', APC_ITER_KEY);
64
+        } else {
65
+            $iter = new \APCUIterator('/^' . $ns . '/', APC_ITER_KEY);
66
+        }
67
+        return apcu_delete($iter);
68
+    }
69 69
 
70
-	/**
71
-	 * Set a value in the cache if it's not already stored
72
-	 *
73
-	 * @param string $key
74
-	 * @param mixed $value
75
-	 * @param int $ttl Time To Live in seconds. Defaults to 60*60*24
76
-	 * @return bool
77
-	 */
78
-	public function add($key, $value, $ttl = 0) {
79
-		return apcu_add($this->getPrefix() . $key, $value, $ttl);
80
-	}
70
+    /**
71
+     * Set a value in the cache if it's not already stored
72
+     *
73
+     * @param string $key
74
+     * @param mixed $value
75
+     * @param int $ttl Time To Live in seconds. Defaults to 60*60*24
76
+     * @return bool
77
+     */
78
+    public function add($key, $value, $ttl = 0) {
79
+        return apcu_add($this->getPrefix() . $key, $value, $ttl);
80
+    }
81 81
 
82
-	/**
83
-	 * Increase a stored number
84
-	 *
85
-	 * @param string $key
86
-	 * @param int $step
87
-	 * @return int | bool
88
-	 */
89
-	public function inc($key, $step = 1) {
90
-		$this->add($key, 0);
91
-		/**
92
-		 * TODO - hack around a PHP 7 specific issue in APCu
93
-		 *
94
-		 * on PHP 7 the apcu_inc method on a non-existing object will increment
95
-		 * "0" and result in "1" as value - therefore we check for existence
96
-		 * first
97
-		 *
98
-		 * on PHP 5.6 this is not the case
99
-		 *
100
-		 * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
101
-		 * for details
102
-		 */
103
-		return apcu_exists($this->getPrefix() . $key)
104
-			? apcu_inc($this->getPrefix() . $key, $step)
105
-			: false;
106
-	}
82
+    /**
83
+     * Increase a stored number
84
+     *
85
+     * @param string $key
86
+     * @param int $step
87
+     * @return int | bool
88
+     */
89
+    public function inc($key, $step = 1) {
90
+        $this->add($key, 0);
91
+        /**
92
+         * TODO - hack around a PHP 7 specific issue in APCu
93
+         *
94
+         * on PHP 7 the apcu_inc method on a non-existing object will increment
95
+         * "0" and result in "1" as value - therefore we check for existence
96
+         * first
97
+         *
98
+         * on PHP 5.6 this is not the case
99
+         *
100
+         * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
101
+         * for details
102
+         */
103
+        return apcu_exists($this->getPrefix() . $key)
104
+            ? apcu_inc($this->getPrefix() . $key, $step)
105
+            : false;
106
+    }
107 107
 
108
-	/**
109
-	 * Decrease a stored number
110
-	 *
111
-	 * @param string $key
112
-	 * @param int $step
113
-	 * @return int | bool
114
-	 */
115
-	public function dec($key, $step = 1) {
116
-		/**
117
-		 * TODO - hack around a PHP 7 specific issue in APCu
118
-		 *
119
-		 * on PHP 7 the apcu_dec method on a non-existing object will decrement
120
-		 * "0" and result in "-1" as value - therefore we check for existence
121
-		 * first
122
-		 *
123
-		 * on PHP 5.6 this is not the case
124
-		 *
125
-		 * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
126
-		 * for details
127
-		 */
128
-		return apcu_exists($this->getPrefix() . $key)
129
-			? apcu_dec($this->getPrefix() . $key, $step)
130
-			: false;
131
-	}
108
+    /**
109
+     * Decrease a stored number
110
+     *
111
+     * @param string $key
112
+     * @param int $step
113
+     * @return int | bool
114
+     */
115
+    public function dec($key, $step = 1) {
116
+        /**
117
+         * TODO - hack around a PHP 7 specific issue in APCu
118
+         *
119
+         * on PHP 7 the apcu_dec method on a non-existing object will decrement
120
+         * "0" and result in "-1" as value - therefore we check for existence
121
+         * first
122
+         *
123
+         * on PHP 5.6 this is not the case
124
+         *
125
+         * see https://github.com/krakjoe/apcu/issues/183#issuecomment-244038221
126
+         * for details
127
+         */
128
+        return apcu_exists($this->getPrefix() . $key)
129
+            ? apcu_dec($this->getPrefix() . $key, $step)
130
+            : false;
131
+    }
132 132
 
133
-	/**
134
-	 * Compare and set
135
-	 *
136
-	 * @param string $key
137
-	 * @param mixed $old
138
-	 * @param mixed $new
139
-	 * @return bool
140
-	 */
141
-	public function cas($key, $old, $new) {
142
-		// apc only does cas for ints
143
-		if (is_int($old) and is_int($new)) {
144
-			return apcu_cas($this->getPrefix() . $key, $old, $new);
145
-		} else {
146
-			return $this->casEmulated($key, $old, $new);
147
-		}
148
-	}
133
+    /**
134
+     * Compare and set
135
+     *
136
+     * @param string $key
137
+     * @param mixed $old
138
+     * @param mixed $new
139
+     * @return bool
140
+     */
141
+    public function cas($key, $old, $new) {
142
+        // apc only does cas for ints
143
+        if (is_int($old) and is_int($new)) {
144
+            return apcu_cas($this->getPrefix() . $key, $old, $new);
145
+        } else {
146
+            return $this->casEmulated($key, $old, $new);
147
+        }
148
+    }
149 149
 
150
-	/**
151
-	 * @return bool
152
-	 */
153
-	static public function isAvailable() {
154
-		if (!extension_loaded('apcu')) {
155
-			return false;
156
-		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enabled')) {
157
-			return false;
158
-		} elseif (!\OC::$server->getIniWrapper()->getBool('apc.enable_cli') && \OC::$CLI) {
159
-			return false;
160
-		} elseif (
161
-				version_compare(phpversion('apc') ?: '0.0.0', '4.0.6') === -1 &&
162
-				version_compare(phpversion('apcu') ?: '0.0.0', '5.1.0') === -1
163
-		) {
164
-			return false;
165
-		} else {
166
-			return true;
167
-		}
168
-	}
150
+    /**
151
+     * @return bool
152
+     */
153
+    static public function isAvailable() {
154
+        if (!extension_loaded('apcu')) {
155
+            return false;
156
+        } elseif (!\OC::$server->getIniWrapper()->getBool('apc.enabled')) {
157
+            return false;
158
+        } elseif (!\OC::$server->getIniWrapper()->getBool('apc.enable_cli') && \OC::$CLI) {
159
+            return false;
160
+        } elseif (
161
+                version_compare(phpversion('apc') ?: '0.0.0', '4.0.6') === -1 &&
162
+                version_compare(phpversion('apcu') ?: '0.0.0', '5.1.0') === -1
163
+        ) {
164
+            return false;
165
+        } else {
166
+            return true;
167
+        }
168
+    }
169 169
 }
Please login to merge, or discard this patch.
lib/private/Memcache/CADTrait.php 2 patches
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -23,32 +23,32 @@
 block discarded – undo
23 23
 namespace OC\Memcache;
24 24
 
25 25
 trait CADTrait {
26
-	abstract public function get($key);
26
+    abstract public function get($key);
27 27
 
28
-	abstract public function remove($key);
28
+    abstract public function remove($key);
29 29
 
30
-	abstract public function add($key, $value, $ttl = 0);
30
+    abstract public function add($key, $value, $ttl = 0);
31 31
 
32
-	/**
33
-	 * Compare and delete
34
-	 *
35
-	 * @param string $key
36
-	 * @param mixed $old
37
-	 * @return bool
38
-	 */
39
-	public function cad($key, $old) {
40
-		//no native cas, emulate with locking
41
-		if ($this->add($key . '_lock', true)) {
42
-			if ($this->get($key) === $old) {
43
-				$this->remove($key);
44
-				$this->remove($key . '_lock');
45
-				return true;
46
-			} else {
47
-				$this->remove($key . '_lock');
48
-				return false;
49
-			}
50
-		} else {
51
-			return false;
52
-		}
53
-	}
32
+    /**
33
+     * Compare and delete
34
+     *
35
+     * @param string $key
36
+     * @param mixed $old
37
+     * @return bool
38
+     */
39
+    public function cad($key, $old) {
40
+        //no native cas, emulate with locking
41
+        if ($this->add($key . '_lock', true)) {
42
+            if ($this->get($key) === $old) {
43
+                $this->remove($key);
44
+                $this->remove($key . '_lock');
45
+                return true;
46
+            } else {
47
+                $this->remove($key . '_lock');
48
+                return false;
49
+            }
50
+        } else {
51
+            return false;
52
+        }
53
+    }
54 54
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -38,13 +38,13 @@
 block discarded – undo
38 38
 	 */
39 39
 	public function cad($key, $old) {
40 40
 		//no native cas, emulate with locking
41
-		if ($this->add($key . '_lock', true)) {
41
+		if ($this->add($key.'_lock', true)) {
42 42
 			if ($this->get($key) === $old) {
43 43
 				$this->remove($key);
44
-				$this->remove($key . '_lock');
44
+				$this->remove($key.'_lock');
45 45
 				return true;
46 46
 			} else {
47
-				$this->remove($key . '_lock');
47
+				$this->remove($key.'_lock');
48 48
 				return false;
49 49
 			}
50 50
 		} else {
Please login to merge, or discard this patch.
lib/private/Memcache/NullCache.php 1 patch
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -27,47 +27,47 @@
 block discarded – undo
27 27
 namespace OC\Memcache;
28 28
 
29 29
 class NullCache extends Cache implements \OCP\IMemcache {
30
-	public function get($key) {
31
-		return null;
32
-	}
30
+    public function get($key) {
31
+        return null;
32
+    }
33 33
 
34
-	public function set($key, $value, $ttl = 0) {
35
-		return true;
36
-	}
34
+    public function set($key, $value, $ttl = 0) {
35
+        return true;
36
+    }
37 37
 
38
-	public function hasKey($key) {
39
-		return false;
40
-	}
38
+    public function hasKey($key) {
39
+        return false;
40
+    }
41 41
 
42
-	public function remove($key) {
43
-		return true;
44
-	}
42
+    public function remove($key) {
43
+        return true;
44
+    }
45 45
 
46
-	public function add($key, $value, $ttl = 0) {
47
-		return true;
48
-	}
46
+    public function add($key, $value, $ttl = 0) {
47
+        return true;
48
+    }
49 49
 
50
-	public function inc($key, $step = 1) {
51
-		return true;
52
-	}
50
+    public function inc($key, $step = 1) {
51
+        return true;
52
+    }
53 53
 
54
-	public function dec($key, $step = 1) {
55
-		return true;
56
-	}
54
+    public function dec($key, $step = 1) {
55
+        return true;
56
+    }
57 57
 
58
-	public function cas($key, $old, $new) {
59
-		return true;
60
-	}
58
+    public function cas($key, $old, $new) {
59
+        return true;
60
+    }
61 61
 
62
-	public function cad($key, $old) {
63
-		return true;
64
-	}
62
+    public function cad($key, $old) {
63
+        return true;
64
+    }
65 65
 
66
-	public function clear($prefix = '') {
67
-		return true;
68
-	}
66
+    public function clear($prefix = '') {
67
+        return true;
68
+    }
69 69
 
70
-	static public function isAvailable() {
71
-		return true;
72
-	}
70
+    static public function isAvailable() {
71
+        return true;
72
+    }
73 73
 }
Please login to merge, or discard this patch.
lib/private/OCS/Result.php 2 patches
Indentation   +124 added lines, -124 removed lines patch added patch discarded remove patch
@@ -32,129 +32,129 @@
 block discarded – undo
32 32
 
33 33
 class Result {
34 34
 
35
-	/** @var array  */
36
-	protected $data;
37
-
38
-	/** @var null|string */
39
-	protected $message;
40
-
41
-	/** @var int */
42
-	protected $statusCode;
43
-
44
-	/** @var integer */
45
-	protected $items;
46
-
47
-	/** @var integer */
48
-	protected $perPage;
49
-
50
-	/** @var array */
51
-	private $headers = [];
52
-
53
-	/**
54
-	 * create the OCS_Result object
55
-	 * @param mixed $data the data to return
56
-	 * @param int $code
57
-	 * @param null|string $message
58
-	 * @param array $headers
59
-	 */
60
-	public function __construct($data = null, $code = 100, $message = null, $headers = []) {
61
-		if ($data === null) {
62
-			$this->data = array();
63
-		} elseif (!is_array($data)) {
64
-			$this->data = array($this->data);
65
-		} else {
66
-			$this->data = $data;
67
-		}
68
-		$this->statusCode = $code;
69
-		$this->message = $message;
70
-		$this->headers = $headers;
71
-	}
72
-
73
-	/**
74
-	 * optionally set the total number of items available
75
-	 * @param int $items
76
-	 */
77
-	public function setTotalItems($items) {
78
-		$this->items = $items;
79
-	}
80
-
81
-	/**
82
-	 * optionally set the the number of items per page
83
-	 * @param int $items
84
-	 */
85
-	public function setItemsPerPage($items) {
86
-		$this->perPage = $items;
87
-	}
88
-
89
-	/**
90
-	 * get the status code
91
-	 * @return int
92
-	 */
93
-	public function getStatusCode() {
94
-		return $this->statusCode;
95
-	}
96
-
97
-	/**
98
-	 * get the meta data for the result
99
-	 * @return array
100
-	 */
101
-	public function getMeta() {
102
-		$meta = array();
103
-		$meta['status'] = $this->succeeded() ? 'ok' : 'failure';
104
-		$meta['statuscode'] = $this->statusCode;
105
-		$meta['message'] = $this->message;
106
-		if(isset($this->items)) {
107
-			$meta['totalitems'] = $this->items;
108
-		}
109
-		if(isset($this->perPage)) {
110
-			$meta['itemsperpage'] = $this->perPage;
111
-		}
112
-		return $meta;
113
-
114
-	}
115
-
116
-	/**
117
-	 * get the result data
118
-	 * @return array
119
-	 */
120
-	public function getData() {
121
-		return $this->data;
122
-	}
123
-
124
-	/**
125
-	 * return bool Whether the method succeeded
126
-	 * @return bool
127
-	 */
128
-	public function succeeded() {
129
-		return ($this->statusCode == 100);
130
-	}
131
-
132
-	/**
133
-	 * Adds a new header to the response
134
-	 * @param string $name The name of the HTTP header
135
-	 * @param string $value The value, null will delete it
136
-	 * @return $this
137
-	 */
138
-	public function addHeader($name, $value) {
139
-		$name = trim($name);  // always remove leading and trailing whitespace
140
-		// to be able to reliably check for security
141
-		// headers
142
-
143
-		if(is_null($value)) {
144
-			unset($this->headers[$name]);
145
-		} else {
146
-			$this->headers[$name] = $value;
147
-		}
148
-
149
-		return $this;
150
-	}
151
-
152
-	/**
153
-	 * Returns the set headers
154
-	 * @return array the headers
155
-	 */
156
-	public function getHeaders() {
157
-		return $this->headers;
158
-	}
35
+    /** @var array  */
36
+    protected $data;
37
+
38
+    /** @var null|string */
39
+    protected $message;
40
+
41
+    /** @var int */
42
+    protected $statusCode;
43
+
44
+    /** @var integer */
45
+    protected $items;
46
+
47
+    /** @var integer */
48
+    protected $perPage;
49
+
50
+    /** @var array */
51
+    private $headers = [];
52
+
53
+    /**
54
+     * create the OCS_Result object
55
+     * @param mixed $data the data to return
56
+     * @param int $code
57
+     * @param null|string $message
58
+     * @param array $headers
59
+     */
60
+    public function __construct($data = null, $code = 100, $message = null, $headers = []) {
61
+        if ($data === null) {
62
+            $this->data = array();
63
+        } elseif (!is_array($data)) {
64
+            $this->data = array($this->data);
65
+        } else {
66
+            $this->data = $data;
67
+        }
68
+        $this->statusCode = $code;
69
+        $this->message = $message;
70
+        $this->headers = $headers;
71
+    }
72
+
73
+    /**
74
+     * optionally set the total number of items available
75
+     * @param int $items
76
+     */
77
+    public function setTotalItems($items) {
78
+        $this->items = $items;
79
+    }
80
+
81
+    /**
82
+     * optionally set the the number of items per page
83
+     * @param int $items
84
+     */
85
+    public function setItemsPerPage($items) {
86
+        $this->perPage = $items;
87
+    }
88
+
89
+    /**
90
+     * get the status code
91
+     * @return int
92
+     */
93
+    public function getStatusCode() {
94
+        return $this->statusCode;
95
+    }
96
+
97
+    /**
98
+     * get the meta data for the result
99
+     * @return array
100
+     */
101
+    public function getMeta() {
102
+        $meta = array();
103
+        $meta['status'] = $this->succeeded() ? 'ok' : 'failure';
104
+        $meta['statuscode'] = $this->statusCode;
105
+        $meta['message'] = $this->message;
106
+        if(isset($this->items)) {
107
+            $meta['totalitems'] = $this->items;
108
+        }
109
+        if(isset($this->perPage)) {
110
+            $meta['itemsperpage'] = $this->perPage;
111
+        }
112
+        return $meta;
113
+
114
+    }
115
+
116
+    /**
117
+     * get the result data
118
+     * @return array
119
+     */
120
+    public function getData() {
121
+        return $this->data;
122
+    }
123
+
124
+    /**
125
+     * return bool Whether the method succeeded
126
+     * @return bool
127
+     */
128
+    public function succeeded() {
129
+        return ($this->statusCode == 100);
130
+    }
131
+
132
+    /**
133
+     * Adds a new header to the response
134
+     * @param string $name The name of the HTTP header
135
+     * @param string $value The value, null will delete it
136
+     * @return $this
137
+     */
138
+    public function addHeader($name, $value) {
139
+        $name = trim($name);  // always remove leading and trailing whitespace
140
+        // to be able to reliably check for security
141
+        // headers
142
+
143
+        if(is_null($value)) {
144
+            unset($this->headers[$name]);
145
+        } else {
146
+            $this->headers[$name] = $value;
147
+        }
148
+
149
+        return $this;
150
+    }
151
+
152
+    /**
153
+     * Returns the set headers
154
+     * @return array the headers
155
+     */
156
+    public function getHeaders() {
157
+        return $this->headers;
158
+    }
159 159
 
160 160
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -103,10 +103,10 @@  discard block
 block discarded – undo
103 103
 		$meta['status'] = $this->succeeded() ? 'ok' : 'failure';
104 104
 		$meta['statuscode'] = $this->statusCode;
105 105
 		$meta['message'] = $this->message;
106
-		if(isset($this->items)) {
106
+		if (isset($this->items)) {
107 107
 			$meta['totalitems'] = $this->items;
108 108
 		}
109
-		if(isset($this->perPage)) {
109
+		if (isset($this->perPage)) {
110 110
 			$meta['itemsperpage'] = $this->perPage;
111 111
 		}
112 112
 		return $meta;
@@ -136,11 +136,11 @@  discard block
 block discarded – undo
136 136
 	 * @return $this
137 137
 	 */
138 138
 	public function addHeader($name, $value) {
139
-		$name = trim($name);  // always remove leading and trailing whitespace
139
+		$name = trim($name); // always remove leading and trailing whitespace
140 140
 		// to be able to reliably check for security
141 141
 		// headers
142 142
 
143
-		if(is_null($value)) {
143
+		if (is_null($value)) {
144 144
 			unset($this->headers[$name]);
145 145
 		} else {
146 146
 			$this->headers[$name] = $value;
Please login to merge, or discard this patch.
lib/private/OCS/CoreCapabilities.php 1 patch
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -33,27 +33,27 @@
 block discarded – undo
33 33
  */
34 34
 class CoreCapabilities implements ICapability {
35 35
 
36
-	/** @var IConfig */
37
-	private $config;
36
+    /** @var IConfig */
37
+    private $config;
38 38
 
39
-	/**
40
-	 * @param IConfig $config
41
-	 */
42
-	public function __construct(IConfig $config) {
43
-		$this->config = $config;
44
-	}
39
+    /**
40
+     * @param IConfig $config
41
+     */
42
+    public function __construct(IConfig $config) {
43
+        $this->config = $config;
44
+    }
45 45
 
46
-	/**
47
-	 * Return this classes capabilities
48
-	 *
49
-	 * @return array
50
-	 */
51
-	public function getCapabilities() {
52
-		return [
53
-			'core' => [
54
-				'pollinterval' => $this->config->getSystemValue('pollinterval', 60),
55
-				'webdav-root' => $this->config->getSystemValue('webdav-root', 'remote.php/webdav'),
56
-			]
57
-		];
58
-	}
46
+    /**
47
+     * Return this classes capabilities
48
+     *
49
+     * @return array
50
+     */
51
+    public function getCapabilities() {
52
+        return [
53
+            'core' => [
54
+                'pollinterval' => $this->config->getSystemValue('pollinterval', 60),
55
+                'webdav-root' => $this->config->getSystemValue('webdav-root', 'remote.php/webdav'),
56
+            ]
57
+        ];
58
+    }
59 59
 }
Please login to merge, or discard this patch.
lib/private/Files/Node/Root.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -372,12 +372,12 @@
 block discarded – undo
372 372
 			\OC\Files\Filesystem::initMountPoints($userId);
373 373
 
374 374
 			try {
375
-				$folder = $this->get('/' . $userId . '/files');
375
+				$folder = $this->get('/'.$userId.'/files');
376 376
 			} catch (NotFoundException $e) {
377
-				if (!$this->nodeExists('/' . $userId)) {
378
-					$this->newFolder('/' . $userId);
377
+				if (!$this->nodeExists('/'.$userId)) {
378
+					$this->newFolder('/'.$userId);
379 379
 				}
380
-				$folder = $this->newFolder('/' . $userId . '/files');
380
+				$folder = $this->newFolder('/'.$userId.'/files');
381 381
 			}
382 382
 
383 383
 			$this->userFolderCache->set($userId, $folder);
Please login to merge, or discard this patch.
Indentation   +335 added lines, -335 removed lines patch added patch discarded remove patch
@@ -61,339 +61,339 @@
 block discarded – undo
61 61
  * @package OC\Files\Node
62 62
  */
63 63
 class Root extends Folder implements IRootFolder {
64
-	/** @var Manager */
65
-	private $mountManager;
66
-	/** @var PublicEmitter */
67
-	private $emitter;
68
-	/** @var null|\OC\User\User */
69
-	private $user;
70
-	/** @var CappedMemoryCache */
71
-	private $userFolderCache;
72
-	/** @var IUserMountCache */
73
-	private $userMountCache;
74
-	/** @var ILogger */
75
-	private $logger;
76
-	/** @var IUserManager */
77
-	private $userManager;
78
-
79
-	/**
80
-	 * @param \OC\Files\Mount\Manager $manager
81
-	 * @param \OC\Files\View $view
82
-	 * @param \OC\User\User|null $user
83
-	 * @param IUserMountCache $userMountCache
84
-	 * @param ILogger $logger
85
-	 * @param IUserManager $userManager
86
-	 */
87
-	public function __construct($manager,
88
-								$view,
89
-								$user,
90
-								IUserMountCache $userMountCache,
91
-								ILogger $logger,
92
-								IUserManager $userManager) {
93
-		parent::__construct($this, $view, '');
94
-		$this->mountManager = $manager;
95
-		$this->user = $user;
96
-		$this->emitter = new PublicEmitter();
97
-		$this->userFolderCache = new CappedMemoryCache();
98
-		$this->userMountCache = $userMountCache;
99
-		$this->logger = $logger;
100
-		$this->userManager = $userManager;
101
-	}
102
-
103
-	/**
104
-	 * Get the user for which the filesystem is setup
105
-	 *
106
-	 * @return \OC\User\User
107
-	 */
108
-	public function getUser() {
109
-		return $this->user;
110
-	}
111
-
112
-	/**
113
-	 * @param string $scope
114
-	 * @param string $method
115
-	 * @param callable $callback
116
-	 */
117
-	public function listen($scope, $method, callable $callback) {
118
-		$this->emitter->listen($scope, $method, $callback);
119
-	}
120
-
121
-	/**
122
-	 * @param string $scope optional
123
-	 * @param string $method optional
124
-	 * @param callable $callback optional
125
-	 */
126
-	public function removeListener($scope = null, $method = null, callable $callback = null) {
127
-		$this->emitter->removeListener($scope, $method, $callback);
128
-	}
129
-
130
-	/**
131
-	 * @param string $scope
132
-	 * @param string $method
133
-	 * @param Node[] $arguments
134
-	 */
135
-	public function emit($scope, $method, $arguments = array()) {
136
-		$this->emitter->emit($scope, $method, $arguments);
137
-	}
138
-
139
-	/**
140
-	 * @param \OC\Files\Storage\Storage $storage
141
-	 * @param string $mountPoint
142
-	 * @param array $arguments
143
-	 */
144
-	public function mount($storage, $mountPoint, $arguments = array()) {
145
-		$mount = new MountPoint($storage, $mountPoint, $arguments);
146
-		$this->mountManager->addMount($mount);
147
-	}
148
-
149
-	/**
150
-	 * @param string $mountPoint
151
-	 * @return \OC\Files\Mount\MountPoint
152
-	 */
153
-	public function getMount($mountPoint) {
154
-		return $this->mountManager->find($mountPoint);
155
-	}
156
-
157
-	/**
158
-	 * @param string $mountPoint
159
-	 * @return \OC\Files\Mount\MountPoint[]
160
-	 */
161
-	public function getMountsIn($mountPoint) {
162
-		return $this->mountManager->findIn($mountPoint);
163
-	}
164
-
165
-	/**
166
-	 * @param string $storageId
167
-	 * @return \OC\Files\Mount\MountPoint[]
168
-	 */
169
-	public function getMountByStorageId($storageId) {
170
-		return $this->mountManager->findByStorageId($storageId);
171
-	}
172
-
173
-	/**
174
-	 * @param int $numericId
175
-	 * @return MountPoint[]
176
-	 */
177
-	public function getMountByNumericStorageId($numericId) {
178
-		return $this->mountManager->findByNumericId($numericId);
179
-	}
180
-
181
-	/**
182
-	 * @param \OC\Files\Mount\MountPoint $mount
183
-	 */
184
-	public function unMount($mount) {
185
-		$this->mountManager->remove($mount);
186
-	}
187
-
188
-	/**
189
-	 * @param string $path
190
-	 * @throws \OCP\Files\NotFoundException
191
-	 * @throws \OCP\Files\NotPermittedException
192
-	 * @return string
193
-	 */
194
-	public function get($path) {
195
-		$path = $this->normalizePath($path);
196
-		if ($this->isValidPath($path)) {
197
-			$fullPath = $this->getFullPath($path);
198
-			$fileInfo = $this->view->getFileInfo($fullPath);
199
-			if ($fileInfo) {
200
-				return $this->createNode($fullPath, $fileInfo);
201
-			} else {
202
-				throw new NotFoundException($path);
203
-			}
204
-		} else {
205
-			throw new NotPermittedException();
206
-		}
207
-	}
208
-
209
-	//most operations can't be done on the root
210
-
211
-	/**
212
-	 * @param string $targetPath
213
-	 * @throws \OCP\Files\NotPermittedException
214
-	 * @return \OC\Files\Node\Node
215
-	 */
216
-	public function rename($targetPath) {
217
-		throw new NotPermittedException();
218
-	}
219
-
220
-	public function delete() {
221
-		throw new NotPermittedException();
222
-	}
223
-
224
-	/**
225
-	 * @param string $targetPath
226
-	 * @throws \OCP\Files\NotPermittedException
227
-	 * @return \OC\Files\Node\Node
228
-	 */
229
-	public function copy($targetPath) {
230
-		throw new NotPermittedException();
231
-	}
232
-
233
-	/**
234
-	 * @param int $mtime
235
-	 * @throws \OCP\Files\NotPermittedException
236
-	 */
237
-	public function touch($mtime = null) {
238
-		throw new NotPermittedException();
239
-	}
240
-
241
-	/**
242
-	 * @return \OC\Files\Storage\Storage
243
-	 * @throws \OCP\Files\NotFoundException
244
-	 */
245
-	public function getStorage() {
246
-		throw new NotFoundException();
247
-	}
248
-
249
-	/**
250
-	 * @return string
251
-	 */
252
-	public function getPath() {
253
-		return '/';
254
-	}
255
-
256
-	/**
257
-	 * @return string
258
-	 */
259
-	public function getInternalPath() {
260
-		return '';
261
-	}
262
-
263
-	/**
264
-	 * @return int
265
-	 */
266
-	public function getId() {
267
-		return null;
268
-	}
269
-
270
-	/**
271
-	 * @return array
272
-	 */
273
-	public function stat() {
274
-		return null;
275
-	}
276
-
277
-	/**
278
-	 * @return int
279
-	 */
280
-	public function getMTime() {
281
-		return null;
282
-	}
283
-
284
-	/**
285
-	 * @param bool $includeMounts
286
-	 * @return int
287
-	 */
288
-	public function getSize($includeMounts = true) {
289
-		return null;
290
-	}
291
-
292
-	/**
293
-	 * @return string
294
-	 */
295
-	public function getEtag() {
296
-		return null;
297
-	}
298
-
299
-	/**
300
-	 * @return int
301
-	 */
302
-	public function getPermissions() {
303
-		return \OCP\Constants::PERMISSION_CREATE;
304
-	}
305
-
306
-	/**
307
-	 * @return bool
308
-	 */
309
-	public function isReadable() {
310
-		return false;
311
-	}
312
-
313
-	/**
314
-	 * @return bool
315
-	 */
316
-	public function isUpdateable() {
317
-		return false;
318
-	}
319
-
320
-	/**
321
-	 * @return bool
322
-	 */
323
-	public function isDeletable() {
324
-		return false;
325
-	}
326
-
327
-	/**
328
-	 * @return bool
329
-	 */
330
-	public function isShareable() {
331
-		return false;
332
-	}
333
-
334
-	/**
335
-	 * @return Node
336
-	 * @throws \OCP\Files\NotFoundException
337
-	 */
338
-	public function getParent() {
339
-		throw new NotFoundException();
340
-	}
341
-
342
-	/**
343
-	 * @return string
344
-	 */
345
-	public function getName() {
346
-		return '';
347
-	}
348
-
349
-	/**
350
-	 * Returns a view to user's files folder
351
-	 *
352
-	 * @param string $userId user ID
353
-	 * @return \OCP\Files\Folder
354
-	 * @throws \OC\User\NoUserException
355
-	 */
356
-	public function getUserFolder($userId) {
357
-		$userObject = $this->userManager->get($userId);
358
-
359
-		if (is_null($userObject)) {
360
-			$this->logger->error(
361
-				sprintf(
362
-					'Backends provided no user object for %s',
363
-					$userId
364
-				),
365
-				[
366
-					'app' => 'files',
367
-				]
368
-			);
369
-			throw new \OC\User\NoUserException('Backends provided no user object');
370
-		}
371
-
372
-		$userId = $userObject->getUID();
373
-
374
-		if (!$this->userFolderCache->hasKey($userId)) {
375
-			\OC\Files\Filesystem::initMountPoints($userId);
376
-
377
-			try {
378
-				$folder = $this->get('/' . $userId . '/files');
379
-			} catch (NotFoundException $e) {
380
-				if (!$this->nodeExists('/' . $userId)) {
381
-					$this->newFolder('/' . $userId);
382
-				}
383
-				$folder = $this->newFolder('/' . $userId . '/files');
384
-			}
385
-
386
-			$this->userFolderCache->set($userId, $folder);
387
-		}
388
-
389
-		return $this->userFolderCache->get($userId);
390
-	}
391
-
392
-	public function clearCache() {
393
-		$this->userFolderCache = new CappedMemoryCache();
394
-	}
395
-
396
-	public function getUserMountCache() {
397
-		return $this->userMountCache;
398
-	}
64
+    /** @var Manager */
65
+    private $mountManager;
66
+    /** @var PublicEmitter */
67
+    private $emitter;
68
+    /** @var null|\OC\User\User */
69
+    private $user;
70
+    /** @var CappedMemoryCache */
71
+    private $userFolderCache;
72
+    /** @var IUserMountCache */
73
+    private $userMountCache;
74
+    /** @var ILogger */
75
+    private $logger;
76
+    /** @var IUserManager */
77
+    private $userManager;
78
+
79
+    /**
80
+     * @param \OC\Files\Mount\Manager $manager
81
+     * @param \OC\Files\View $view
82
+     * @param \OC\User\User|null $user
83
+     * @param IUserMountCache $userMountCache
84
+     * @param ILogger $logger
85
+     * @param IUserManager $userManager
86
+     */
87
+    public function __construct($manager,
88
+                                $view,
89
+                                $user,
90
+                                IUserMountCache $userMountCache,
91
+                                ILogger $logger,
92
+                                IUserManager $userManager) {
93
+        parent::__construct($this, $view, '');
94
+        $this->mountManager = $manager;
95
+        $this->user = $user;
96
+        $this->emitter = new PublicEmitter();
97
+        $this->userFolderCache = new CappedMemoryCache();
98
+        $this->userMountCache = $userMountCache;
99
+        $this->logger = $logger;
100
+        $this->userManager = $userManager;
101
+    }
102
+
103
+    /**
104
+     * Get the user for which the filesystem is setup
105
+     *
106
+     * @return \OC\User\User
107
+     */
108
+    public function getUser() {
109
+        return $this->user;
110
+    }
111
+
112
+    /**
113
+     * @param string $scope
114
+     * @param string $method
115
+     * @param callable $callback
116
+     */
117
+    public function listen($scope, $method, callable $callback) {
118
+        $this->emitter->listen($scope, $method, $callback);
119
+    }
120
+
121
+    /**
122
+     * @param string $scope optional
123
+     * @param string $method optional
124
+     * @param callable $callback optional
125
+     */
126
+    public function removeListener($scope = null, $method = null, callable $callback = null) {
127
+        $this->emitter->removeListener($scope, $method, $callback);
128
+    }
129
+
130
+    /**
131
+     * @param string $scope
132
+     * @param string $method
133
+     * @param Node[] $arguments
134
+     */
135
+    public function emit($scope, $method, $arguments = array()) {
136
+        $this->emitter->emit($scope, $method, $arguments);
137
+    }
138
+
139
+    /**
140
+     * @param \OC\Files\Storage\Storage $storage
141
+     * @param string $mountPoint
142
+     * @param array $arguments
143
+     */
144
+    public function mount($storage, $mountPoint, $arguments = array()) {
145
+        $mount = new MountPoint($storage, $mountPoint, $arguments);
146
+        $this->mountManager->addMount($mount);
147
+    }
148
+
149
+    /**
150
+     * @param string $mountPoint
151
+     * @return \OC\Files\Mount\MountPoint
152
+     */
153
+    public function getMount($mountPoint) {
154
+        return $this->mountManager->find($mountPoint);
155
+    }
156
+
157
+    /**
158
+     * @param string $mountPoint
159
+     * @return \OC\Files\Mount\MountPoint[]
160
+     */
161
+    public function getMountsIn($mountPoint) {
162
+        return $this->mountManager->findIn($mountPoint);
163
+    }
164
+
165
+    /**
166
+     * @param string $storageId
167
+     * @return \OC\Files\Mount\MountPoint[]
168
+     */
169
+    public function getMountByStorageId($storageId) {
170
+        return $this->mountManager->findByStorageId($storageId);
171
+    }
172
+
173
+    /**
174
+     * @param int $numericId
175
+     * @return MountPoint[]
176
+     */
177
+    public function getMountByNumericStorageId($numericId) {
178
+        return $this->mountManager->findByNumericId($numericId);
179
+    }
180
+
181
+    /**
182
+     * @param \OC\Files\Mount\MountPoint $mount
183
+     */
184
+    public function unMount($mount) {
185
+        $this->mountManager->remove($mount);
186
+    }
187
+
188
+    /**
189
+     * @param string $path
190
+     * @throws \OCP\Files\NotFoundException
191
+     * @throws \OCP\Files\NotPermittedException
192
+     * @return string
193
+     */
194
+    public function get($path) {
195
+        $path = $this->normalizePath($path);
196
+        if ($this->isValidPath($path)) {
197
+            $fullPath = $this->getFullPath($path);
198
+            $fileInfo = $this->view->getFileInfo($fullPath);
199
+            if ($fileInfo) {
200
+                return $this->createNode($fullPath, $fileInfo);
201
+            } else {
202
+                throw new NotFoundException($path);
203
+            }
204
+        } else {
205
+            throw new NotPermittedException();
206
+        }
207
+    }
208
+
209
+    //most operations can't be done on the root
210
+
211
+    /**
212
+     * @param string $targetPath
213
+     * @throws \OCP\Files\NotPermittedException
214
+     * @return \OC\Files\Node\Node
215
+     */
216
+    public function rename($targetPath) {
217
+        throw new NotPermittedException();
218
+    }
219
+
220
+    public function delete() {
221
+        throw new NotPermittedException();
222
+    }
223
+
224
+    /**
225
+     * @param string $targetPath
226
+     * @throws \OCP\Files\NotPermittedException
227
+     * @return \OC\Files\Node\Node
228
+     */
229
+    public function copy($targetPath) {
230
+        throw new NotPermittedException();
231
+    }
232
+
233
+    /**
234
+     * @param int $mtime
235
+     * @throws \OCP\Files\NotPermittedException
236
+     */
237
+    public function touch($mtime = null) {
238
+        throw new NotPermittedException();
239
+    }
240
+
241
+    /**
242
+     * @return \OC\Files\Storage\Storage
243
+     * @throws \OCP\Files\NotFoundException
244
+     */
245
+    public function getStorage() {
246
+        throw new NotFoundException();
247
+    }
248
+
249
+    /**
250
+     * @return string
251
+     */
252
+    public function getPath() {
253
+        return '/';
254
+    }
255
+
256
+    /**
257
+     * @return string
258
+     */
259
+    public function getInternalPath() {
260
+        return '';
261
+    }
262
+
263
+    /**
264
+     * @return int
265
+     */
266
+    public function getId() {
267
+        return null;
268
+    }
269
+
270
+    /**
271
+     * @return array
272
+     */
273
+    public function stat() {
274
+        return null;
275
+    }
276
+
277
+    /**
278
+     * @return int
279
+     */
280
+    public function getMTime() {
281
+        return null;
282
+    }
283
+
284
+    /**
285
+     * @param bool $includeMounts
286
+     * @return int
287
+     */
288
+    public function getSize($includeMounts = true) {
289
+        return null;
290
+    }
291
+
292
+    /**
293
+     * @return string
294
+     */
295
+    public function getEtag() {
296
+        return null;
297
+    }
298
+
299
+    /**
300
+     * @return int
301
+     */
302
+    public function getPermissions() {
303
+        return \OCP\Constants::PERMISSION_CREATE;
304
+    }
305
+
306
+    /**
307
+     * @return bool
308
+     */
309
+    public function isReadable() {
310
+        return false;
311
+    }
312
+
313
+    /**
314
+     * @return bool
315
+     */
316
+    public function isUpdateable() {
317
+        return false;
318
+    }
319
+
320
+    /**
321
+     * @return bool
322
+     */
323
+    public function isDeletable() {
324
+        return false;
325
+    }
326
+
327
+    /**
328
+     * @return bool
329
+     */
330
+    public function isShareable() {
331
+        return false;
332
+    }
333
+
334
+    /**
335
+     * @return Node
336
+     * @throws \OCP\Files\NotFoundException
337
+     */
338
+    public function getParent() {
339
+        throw new NotFoundException();
340
+    }
341
+
342
+    /**
343
+     * @return string
344
+     */
345
+    public function getName() {
346
+        return '';
347
+    }
348
+
349
+    /**
350
+     * Returns a view to user's files folder
351
+     *
352
+     * @param string $userId user ID
353
+     * @return \OCP\Files\Folder
354
+     * @throws \OC\User\NoUserException
355
+     */
356
+    public function getUserFolder($userId) {
357
+        $userObject = $this->userManager->get($userId);
358
+
359
+        if (is_null($userObject)) {
360
+            $this->logger->error(
361
+                sprintf(
362
+                    'Backends provided no user object for %s',
363
+                    $userId
364
+                ),
365
+                [
366
+                    'app' => 'files',
367
+                ]
368
+            );
369
+            throw new \OC\User\NoUserException('Backends provided no user object');
370
+        }
371
+
372
+        $userId = $userObject->getUID();
373
+
374
+        if (!$this->userFolderCache->hasKey($userId)) {
375
+            \OC\Files\Filesystem::initMountPoints($userId);
376
+
377
+            try {
378
+                $folder = $this->get('/' . $userId . '/files');
379
+            } catch (NotFoundException $e) {
380
+                if (!$this->nodeExists('/' . $userId)) {
381
+                    $this->newFolder('/' . $userId);
382
+                }
383
+                $folder = $this->newFolder('/' . $userId . '/files');
384
+            }
385
+
386
+            $this->userFolderCache->set($userId, $folder);
387
+        }
388
+
389
+        return $this->userFolderCache->get($userId);
390
+    }
391
+
392
+    public function clearCache() {
393
+        $this->userFolderCache = new CappedMemoryCache();
394
+    }
395
+
396
+    public function getUserMountCache() {
397
+        return $this->userMountCache;
398
+    }
399 399
 }
Please login to merge, or discard this patch.
lib/private/Files/Node/Node.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
 		$path = str_replace('\\', '/', $path);
289 289
 		//add leading slash
290 290
 		if ($path[0] !== '/') {
291
-			$path = '/' . $path;
291
+			$path = '/'.$path;
292 292
 		}
293 293
 		//remove duplicate slashes
294 294
 		while (strpos($path, '//') !== false) {
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
 	 */
309 309
 	public function isValidPath($path) {
310 310
 		if (!$path || $path[0] !== '/') {
311
-			$path = '/' . $path;
311
+			$path = '/'.$path;
312 312
 		}
313 313
 		if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
314 314
 			return false;
@@ -389,14 +389,14 @@  discard block
 block discarded – undo
389 389
 			$this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
390 390
 			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
391 391
 			if (!$this->view->copy($this->path, $targetPath)) {
392
-				throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
392
+				throw new NotPermittedException('Could not copy '.$this->path.' to '.$targetPath);
393 393
 			}
394 394
 			$targetNode = $this->root->get($targetPath);
395 395
 			$this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
396 396
 			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
397 397
 			return $targetNode;
398 398
 		} else {
399
-			throw new NotPermittedException('No permission to copy to path ' . $targetPath);
399
+			throw new NotPermittedException('No permission to copy to path '.$targetPath);
400 400
 		}
401 401
 	}
402 402
 
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 			$this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
414 414
 			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
415 415
 			if (!$this->view->rename($this->path, $targetPath)) {
416
-				throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
416
+				throw new NotPermittedException('Could not move '.$this->path.' to '.$targetPath);
417 417
 			}
418 418
 			$targetNode = $this->root->get($targetPath);
419 419
 			$this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
@@ -421,7 +421,7 @@  discard block
 block discarded – undo
421 421
 			$this->path = $targetPath;
422 422
 			return $targetNode;
423 423
 		} else {
424
-			throw new NotPermittedException('No permission to move to path ' . $targetPath);
424
+			throw new NotPermittedException('No permission to move to path '.$targetPath);
425 425
 		}
426 426
 	}
427 427
 
Please login to merge, or discard this patch.
Indentation   +403 added lines, -403 removed lines patch added patch discarded remove patch
@@ -36,408 +36,408 @@
 block discarded – undo
36 36
 
37 37
 // FIXME: this class really should be abstract
38 38
 class Node implements \OCP\Files\Node {
39
-	/**
40
-	 * @var \OC\Files\View $view
41
-	 */
42
-	protected $view;
43
-
44
-	/**
45
-	 * @var \OC\Files\Node\Root $root
46
-	 */
47
-	protected $root;
48
-
49
-	/**
50
-	 * @var string $path
51
-	 */
52
-	protected $path;
53
-
54
-	/**
55
-	 * @var \OCP\Files\FileInfo
56
-	 */
57
-	protected $fileInfo;
58
-
59
-	/**
60
-	 * @param \OC\Files\View $view
61
-	 * @param \OCP\Files\IRootFolder $root
62
-	 * @param string $path
63
-	 * @param FileInfo $fileInfo
64
-	 */
65
-	public function __construct($root, $view, $path, $fileInfo = null) {
66
-		$this->view = $view;
67
-		$this->root = $root;
68
-		$this->path = $path;
69
-		$this->fileInfo = $fileInfo;
70
-	}
71
-
72
-	/**
73
-	 * Creates a Node of the same type that represents a non-existing path
74
-	 *
75
-	 * @param string $path path
76
-	 * @return string non-existing node class
77
-	 */
78
-	protected function createNonExistingNode($path) {
79
-		throw new \Exception('Must be implemented by subclasses');
80
-	}
81
-
82
-	/**
83
-	 * Returns the matching file info
84
-	 *
85
-	 * @return FileInfo
86
-	 * @throws InvalidPathException
87
-	 * @throws NotFoundException
88
-	 */
89
-	public function getFileInfo() {
90
-		if (!Filesystem::isValidPath($this->path)) {
91
-			throw new InvalidPathException();
92
-		}
93
-		if (!$this->fileInfo) {
94
-			$fileInfo = $this->view->getFileInfo($this->path);
95
-			if ($fileInfo instanceof FileInfo) {
96
-				$this->fileInfo = $fileInfo;
97
-			} else {
98
-				throw new NotFoundException();
99
-			}
100
-		}
101
-		return $this->fileInfo;
102
-	}
103
-
104
-	/**
105
-	 * @param string[] $hooks
106
-	 */
107
-	protected function sendHooks($hooks) {
108
-		foreach ($hooks as $hook) {
109
-			$this->root->emit('\OC\Files', $hook, array($this));
110
-		}
111
-	}
112
-
113
-	/**
114
-	 * @param int $permissions
115
-	 * @return bool
116
-	 */
117
-	protected function checkPermissions($permissions) {
118
-		return ($this->getPermissions() & $permissions) === $permissions;
119
-	}
120
-
121
-	public function delete() {
122
-	}
123
-
124
-	/**
125
-	 * @param int $mtime
126
-	 * @throws \OCP\Files\NotPermittedException
127
-	 */
128
-	public function touch($mtime = null) {
129
-		if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) {
130
-			$this->sendHooks(array('preTouch'));
131
-			$this->view->touch($this->path, $mtime);
132
-			$this->sendHooks(array('postTouch'));
133
-			if ($this->fileInfo) {
134
-				if (is_null($mtime)) {
135
-					$mtime = time();
136
-				}
137
-				$this->fileInfo['mtime'] = $mtime;
138
-			}
139
-		} else {
140
-			throw new NotPermittedException();
141
-		}
142
-	}
143
-
144
-	/**
145
-	 * @return \OC\Files\Storage\Storage
146
-	 * @throws \OCP\Files\NotFoundException
147
-	 */
148
-	public function getStorage() {
149
-		list($storage,) = $this->view->resolvePath($this->path);
150
-		return $storage;
151
-	}
152
-
153
-	/**
154
-	 * @return string
155
-	 */
156
-	public function getPath() {
157
-		return $this->path;
158
-	}
159
-
160
-	/**
161
-	 * @return string
162
-	 */
163
-	public function getInternalPath() {
164
-		list(, $internalPath) = $this->view->resolvePath($this->path);
165
-		return $internalPath;
166
-	}
167
-
168
-	/**
169
-	 * @return int
170
-	 * @throws InvalidPathException
171
-	 * @throws NotFoundException
172
-	 */
173
-	public function getId() {
174
-		return $this->getFileInfo()->getId();
175
-	}
176
-
177
-	/**
178
-	 * @return array
179
-	 */
180
-	public function stat() {
181
-		return $this->view->stat($this->path);
182
-	}
183
-
184
-	/**
185
-	 * @return int
186
-	 * @throws InvalidPathException
187
-	 * @throws NotFoundException
188
-	 */
189
-	public function getMTime() {
190
-		return $this->getFileInfo()->getMTime();
191
-	}
192
-
193
-	/**
194
-	 * @param bool $includeMounts
195
-	 * @return int
196
-	 * @throws InvalidPathException
197
-	 * @throws NotFoundException
198
-	 */
199
-	public function getSize($includeMounts = true) {
200
-		return $this->getFileInfo()->getSize($includeMounts);
201
-	}
202
-
203
-	/**
204
-	 * @return string
205
-	 * @throws InvalidPathException
206
-	 * @throws NotFoundException
207
-	 */
208
-	public function getEtag() {
209
-		return $this->getFileInfo()->getEtag();
210
-	}
211
-
212
-	/**
213
-	 * @return int
214
-	 * @throws InvalidPathException
215
-	 * @throws NotFoundException
216
-	 */
217
-	public function getPermissions() {
218
-		return $this->getFileInfo()->getPermissions();
219
-	}
220
-
221
-	/**
222
-	 * @return bool
223
-	 * @throws InvalidPathException
224
-	 * @throws NotFoundException
225
-	 */
226
-	public function isReadable() {
227
-		return $this->getFileInfo()->isReadable();
228
-	}
229
-
230
-	/**
231
-	 * @return bool
232
-	 * @throws InvalidPathException
233
-	 * @throws NotFoundException
234
-	 */
235
-	public function isUpdateable() {
236
-		return $this->getFileInfo()->isUpdateable();
237
-	}
238
-
239
-	/**
240
-	 * @return bool
241
-	 * @throws InvalidPathException
242
-	 * @throws NotFoundException
243
-	 */
244
-	public function isDeletable() {
245
-		return $this->getFileInfo()->isDeletable();
246
-	}
247
-
248
-	/**
249
-	 * @return bool
250
-	 * @throws InvalidPathException
251
-	 * @throws NotFoundException
252
-	 */
253
-	public function isShareable() {
254
-		return $this->getFileInfo()->isShareable();
255
-	}
256
-
257
-	/**
258
-	 * @return bool
259
-	 * @throws InvalidPathException
260
-	 * @throws NotFoundException
261
-	 */
262
-	public function isCreatable() {
263
-		return $this->getFileInfo()->isCreatable();
264
-	}
265
-
266
-	/**
267
-	 * @return Node
268
-	 */
269
-	public function getParent() {
270
-		$newPath = dirname($this->path);
271
-		if ($newPath === '' || $newPath === '.' || $newPath === '/') {
272
-			return $this->root;
273
-		}
274
-		return $this->root->get($newPath);
275
-	}
276
-
277
-	/**
278
-	 * @return string
279
-	 */
280
-	public function getName() {
281
-		return basename($this->path);
282
-	}
283
-
284
-	/**
285
-	 * @param string $path
286
-	 * @return string
287
-	 */
288
-	protected function normalizePath($path) {
289
-		if ($path === '' or $path === '/') {
290
-			return '/';
291
-		}
292
-		//no windows style slashes
293
-		$path = str_replace('\\', '/', $path);
294
-		//add leading slash
295
-		if ($path[0] !== '/') {
296
-			$path = '/' . $path;
297
-		}
298
-		//remove duplicate slashes
299
-		while (strpos($path, '//') !== false) {
300
-			$path = str_replace('//', '/', $path);
301
-		}
302
-		//remove trailing slash
303
-		$path = rtrim($path, '/');
304
-
305
-		return $path;
306
-	}
307
-
308
-	/**
309
-	 * check if the requested path is valid
310
-	 *
311
-	 * @param string $path
312
-	 * @return bool
313
-	 */
314
-	public function isValidPath($path) {
315
-		if (!$path || $path[0] !== '/') {
316
-			$path = '/' . $path;
317
-		}
318
-		if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
319
-			return false;
320
-		}
321
-		return true;
322
-	}
323
-
324
-	public function isMounted() {
325
-		return $this->getFileInfo()->isMounted();
326
-	}
327
-
328
-	public function isShared() {
329
-		return $this->getFileInfo()->isShared();
330
-	}
331
-
332
-	public function getMimeType() {
333
-		return $this->getFileInfo()->getMimetype();
334
-	}
335
-
336
-	public function getMimePart() {
337
-		return $this->getFileInfo()->getMimePart();
338
-	}
339
-
340
-	public function getType() {
341
-		return $this->getFileInfo()->getType();
342
-	}
343
-
344
-	public function isEncrypted() {
345
-		return $this->getFileInfo()->isEncrypted();
346
-	}
347
-
348
-	public function getMountPoint() {
349
-		return $this->getFileInfo()->getMountPoint();
350
-	}
351
-
352
-	public function getOwner() {
353
-		return $this->getFileInfo()->getOwner();
354
-	}
355
-
356
-	public function getChecksum() {
357
-	}
358
-
359
-	public function getExtension(): string {
360
-		return $this->getFileInfo()->getExtension();
361
-	}
362
-
363
-	/**
364
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
365
-	 * @throws \OCP\Lock\LockedException
366
-	 */
367
-	public function lock($type) {
368
-		$this->view->lockFile($this->path, $type);
369
-	}
370
-
371
-	/**
372
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
373
-	 * @throws \OCP\Lock\LockedException
374
-	 */
375
-	public function changeLock($type) {
376
-		$this->view->changeLock($this->path, $type);
377
-	}
378
-
379
-	/**
380
-	 * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
381
-	 * @throws \OCP\Lock\LockedException
382
-	 */
383
-	public function unlock($type) {
384
-		$this->view->unlockFile($this->path, $type);
385
-	}
386
-
387
-	/**
388
-	 * @param string $targetPath
389
-	 * @throws \OCP\Files\NotPermittedException if copy not allowed or failed
390
-	 * @return \OC\Files\Node\Node
391
-	 */
392
-	public function copy($targetPath) {
393
-		$targetPath = $this->normalizePath($targetPath);
394
-		$parent = $this->root->get(dirname($targetPath));
395
-		if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
396
-			$nonExisting = $this->createNonExistingNode($targetPath);
397
-			$this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
398
-			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
399
-			if (!$this->view->copy($this->path, $targetPath)) {
400
-				throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
401
-			}
402
-			$targetNode = $this->root->get($targetPath);
403
-			$this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
404
-			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
405
-			return $targetNode;
406
-		} else {
407
-			throw new NotPermittedException('No permission to copy to path ' . $targetPath);
408
-		}
409
-	}
410
-
411
-	/**
412
-	 * @param string $targetPath
413
-	 * @throws \OCP\Files\NotPermittedException if move not allowed or failed
414
-	 * @return \OC\Files\Node\Node
415
-	 */
416
-	public function move($targetPath) {
417
-		$targetPath = $this->normalizePath($targetPath);
418
-		$parent = $this->root->get(dirname($targetPath));
419
-		if (
420
-			$parent instanceof Folder and
421
-			$this->isValidPath($targetPath) and
422
-			(
423
-				$parent->isCreatable() ||
424
-				($parent->getInternalPath() === '' && $parent->getMountPoint() instanceof MoveableMount)
425
-			)
426
-		) {
427
-			$nonExisting = $this->createNonExistingNode($targetPath);
428
-			$this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
429
-			$this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
430
-			if (!$this->view->rename($this->path, $targetPath)) {
431
-				throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
432
-			}
433
-			$targetNode = $this->root->get($targetPath);
434
-			$this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
435
-			$this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
436
-			$this->path = $targetPath;
437
-			return $targetNode;
438
-		} else {
439
-			throw new NotPermittedException('No permission to move to path ' . $targetPath);
440
-		}
441
-	}
39
+    /**
40
+     * @var \OC\Files\View $view
41
+     */
42
+    protected $view;
43
+
44
+    /**
45
+     * @var \OC\Files\Node\Root $root
46
+     */
47
+    protected $root;
48
+
49
+    /**
50
+     * @var string $path
51
+     */
52
+    protected $path;
53
+
54
+    /**
55
+     * @var \OCP\Files\FileInfo
56
+     */
57
+    protected $fileInfo;
58
+
59
+    /**
60
+     * @param \OC\Files\View $view
61
+     * @param \OCP\Files\IRootFolder $root
62
+     * @param string $path
63
+     * @param FileInfo $fileInfo
64
+     */
65
+    public function __construct($root, $view, $path, $fileInfo = null) {
66
+        $this->view = $view;
67
+        $this->root = $root;
68
+        $this->path = $path;
69
+        $this->fileInfo = $fileInfo;
70
+    }
71
+
72
+    /**
73
+     * Creates a Node of the same type that represents a non-existing path
74
+     *
75
+     * @param string $path path
76
+     * @return string non-existing node class
77
+     */
78
+    protected function createNonExistingNode($path) {
79
+        throw new \Exception('Must be implemented by subclasses');
80
+    }
81
+
82
+    /**
83
+     * Returns the matching file info
84
+     *
85
+     * @return FileInfo
86
+     * @throws InvalidPathException
87
+     * @throws NotFoundException
88
+     */
89
+    public function getFileInfo() {
90
+        if (!Filesystem::isValidPath($this->path)) {
91
+            throw new InvalidPathException();
92
+        }
93
+        if (!$this->fileInfo) {
94
+            $fileInfo = $this->view->getFileInfo($this->path);
95
+            if ($fileInfo instanceof FileInfo) {
96
+                $this->fileInfo = $fileInfo;
97
+            } else {
98
+                throw new NotFoundException();
99
+            }
100
+        }
101
+        return $this->fileInfo;
102
+    }
103
+
104
+    /**
105
+     * @param string[] $hooks
106
+     */
107
+    protected function sendHooks($hooks) {
108
+        foreach ($hooks as $hook) {
109
+            $this->root->emit('\OC\Files', $hook, array($this));
110
+        }
111
+    }
112
+
113
+    /**
114
+     * @param int $permissions
115
+     * @return bool
116
+     */
117
+    protected function checkPermissions($permissions) {
118
+        return ($this->getPermissions() & $permissions) === $permissions;
119
+    }
120
+
121
+    public function delete() {
122
+    }
123
+
124
+    /**
125
+     * @param int $mtime
126
+     * @throws \OCP\Files\NotPermittedException
127
+     */
128
+    public function touch($mtime = null) {
129
+        if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) {
130
+            $this->sendHooks(array('preTouch'));
131
+            $this->view->touch($this->path, $mtime);
132
+            $this->sendHooks(array('postTouch'));
133
+            if ($this->fileInfo) {
134
+                if (is_null($mtime)) {
135
+                    $mtime = time();
136
+                }
137
+                $this->fileInfo['mtime'] = $mtime;
138
+            }
139
+        } else {
140
+            throw new NotPermittedException();
141
+        }
142
+    }
143
+
144
+    /**
145
+     * @return \OC\Files\Storage\Storage
146
+     * @throws \OCP\Files\NotFoundException
147
+     */
148
+    public function getStorage() {
149
+        list($storage,) = $this->view->resolvePath($this->path);
150
+        return $storage;
151
+    }
152
+
153
+    /**
154
+     * @return string
155
+     */
156
+    public function getPath() {
157
+        return $this->path;
158
+    }
159
+
160
+    /**
161
+     * @return string
162
+     */
163
+    public function getInternalPath() {
164
+        list(, $internalPath) = $this->view->resolvePath($this->path);
165
+        return $internalPath;
166
+    }
167
+
168
+    /**
169
+     * @return int
170
+     * @throws InvalidPathException
171
+     * @throws NotFoundException
172
+     */
173
+    public function getId() {
174
+        return $this->getFileInfo()->getId();
175
+    }
176
+
177
+    /**
178
+     * @return array
179
+     */
180
+    public function stat() {
181
+        return $this->view->stat($this->path);
182
+    }
183
+
184
+    /**
185
+     * @return int
186
+     * @throws InvalidPathException
187
+     * @throws NotFoundException
188
+     */
189
+    public function getMTime() {
190
+        return $this->getFileInfo()->getMTime();
191
+    }
192
+
193
+    /**
194
+     * @param bool $includeMounts
195
+     * @return int
196
+     * @throws InvalidPathException
197
+     * @throws NotFoundException
198
+     */
199
+    public function getSize($includeMounts = true) {
200
+        return $this->getFileInfo()->getSize($includeMounts);
201
+    }
202
+
203
+    /**
204
+     * @return string
205
+     * @throws InvalidPathException
206
+     * @throws NotFoundException
207
+     */
208
+    public function getEtag() {
209
+        return $this->getFileInfo()->getEtag();
210
+    }
211
+
212
+    /**
213
+     * @return int
214
+     * @throws InvalidPathException
215
+     * @throws NotFoundException
216
+     */
217
+    public function getPermissions() {
218
+        return $this->getFileInfo()->getPermissions();
219
+    }
220
+
221
+    /**
222
+     * @return bool
223
+     * @throws InvalidPathException
224
+     * @throws NotFoundException
225
+     */
226
+    public function isReadable() {
227
+        return $this->getFileInfo()->isReadable();
228
+    }
229
+
230
+    /**
231
+     * @return bool
232
+     * @throws InvalidPathException
233
+     * @throws NotFoundException
234
+     */
235
+    public function isUpdateable() {
236
+        return $this->getFileInfo()->isUpdateable();
237
+    }
238
+
239
+    /**
240
+     * @return bool
241
+     * @throws InvalidPathException
242
+     * @throws NotFoundException
243
+     */
244
+    public function isDeletable() {
245
+        return $this->getFileInfo()->isDeletable();
246
+    }
247
+
248
+    /**
249
+     * @return bool
250
+     * @throws InvalidPathException
251
+     * @throws NotFoundException
252
+     */
253
+    public function isShareable() {
254
+        return $this->getFileInfo()->isShareable();
255
+    }
256
+
257
+    /**
258
+     * @return bool
259
+     * @throws InvalidPathException
260
+     * @throws NotFoundException
261
+     */
262
+    public function isCreatable() {
263
+        return $this->getFileInfo()->isCreatable();
264
+    }
265
+
266
+    /**
267
+     * @return Node
268
+     */
269
+    public function getParent() {
270
+        $newPath = dirname($this->path);
271
+        if ($newPath === '' || $newPath === '.' || $newPath === '/') {
272
+            return $this->root;
273
+        }
274
+        return $this->root->get($newPath);
275
+    }
276
+
277
+    /**
278
+     * @return string
279
+     */
280
+    public function getName() {
281
+        return basename($this->path);
282
+    }
283
+
284
+    /**
285
+     * @param string $path
286
+     * @return string
287
+     */
288
+    protected function normalizePath($path) {
289
+        if ($path === '' or $path === '/') {
290
+            return '/';
291
+        }
292
+        //no windows style slashes
293
+        $path = str_replace('\\', '/', $path);
294
+        //add leading slash
295
+        if ($path[0] !== '/') {
296
+            $path = '/' . $path;
297
+        }
298
+        //remove duplicate slashes
299
+        while (strpos($path, '//') !== false) {
300
+            $path = str_replace('//', '/', $path);
301
+        }
302
+        //remove trailing slash
303
+        $path = rtrim($path, '/');
304
+
305
+        return $path;
306
+    }
307
+
308
+    /**
309
+     * check if the requested path is valid
310
+     *
311
+     * @param string $path
312
+     * @return bool
313
+     */
314
+    public function isValidPath($path) {
315
+        if (!$path || $path[0] !== '/') {
316
+            $path = '/' . $path;
317
+        }
318
+        if (strstr($path, '/../') || strrchr($path, '/') === '/..') {
319
+            return false;
320
+        }
321
+        return true;
322
+    }
323
+
324
+    public function isMounted() {
325
+        return $this->getFileInfo()->isMounted();
326
+    }
327
+
328
+    public function isShared() {
329
+        return $this->getFileInfo()->isShared();
330
+    }
331
+
332
+    public function getMimeType() {
333
+        return $this->getFileInfo()->getMimetype();
334
+    }
335
+
336
+    public function getMimePart() {
337
+        return $this->getFileInfo()->getMimePart();
338
+    }
339
+
340
+    public function getType() {
341
+        return $this->getFileInfo()->getType();
342
+    }
343
+
344
+    public function isEncrypted() {
345
+        return $this->getFileInfo()->isEncrypted();
346
+    }
347
+
348
+    public function getMountPoint() {
349
+        return $this->getFileInfo()->getMountPoint();
350
+    }
351
+
352
+    public function getOwner() {
353
+        return $this->getFileInfo()->getOwner();
354
+    }
355
+
356
+    public function getChecksum() {
357
+    }
358
+
359
+    public function getExtension(): string {
360
+        return $this->getFileInfo()->getExtension();
361
+    }
362
+
363
+    /**
364
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
365
+     * @throws \OCP\Lock\LockedException
366
+     */
367
+    public function lock($type) {
368
+        $this->view->lockFile($this->path, $type);
369
+    }
370
+
371
+    /**
372
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
373
+     * @throws \OCP\Lock\LockedException
374
+     */
375
+    public function changeLock($type) {
376
+        $this->view->changeLock($this->path, $type);
377
+    }
378
+
379
+    /**
380
+     * @param int $type \OCP\Lock\ILockingProvider::LOCK_SHARED or \OCP\Lock\ILockingProvider::LOCK_EXCLUSIVE
381
+     * @throws \OCP\Lock\LockedException
382
+     */
383
+    public function unlock($type) {
384
+        $this->view->unlockFile($this->path, $type);
385
+    }
386
+
387
+    /**
388
+     * @param string $targetPath
389
+     * @throws \OCP\Files\NotPermittedException if copy not allowed or failed
390
+     * @return \OC\Files\Node\Node
391
+     */
392
+    public function copy($targetPath) {
393
+        $targetPath = $this->normalizePath($targetPath);
394
+        $parent = $this->root->get(dirname($targetPath));
395
+        if ($parent instanceof Folder and $this->isValidPath($targetPath) and $parent->isCreatable()) {
396
+            $nonExisting = $this->createNonExistingNode($targetPath);
397
+            $this->root->emit('\OC\Files', 'preCopy', [$this, $nonExisting]);
398
+            $this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
399
+            if (!$this->view->copy($this->path, $targetPath)) {
400
+                throw new NotPermittedException('Could not copy ' . $this->path . ' to ' . $targetPath);
401
+            }
402
+            $targetNode = $this->root->get($targetPath);
403
+            $this->root->emit('\OC\Files', 'postCopy', [$this, $targetNode]);
404
+            $this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
405
+            return $targetNode;
406
+        } else {
407
+            throw new NotPermittedException('No permission to copy to path ' . $targetPath);
408
+        }
409
+    }
410
+
411
+    /**
412
+     * @param string $targetPath
413
+     * @throws \OCP\Files\NotPermittedException if move not allowed or failed
414
+     * @return \OC\Files\Node\Node
415
+     */
416
+    public function move($targetPath) {
417
+        $targetPath = $this->normalizePath($targetPath);
418
+        $parent = $this->root->get(dirname($targetPath));
419
+        if (
420
+            $parent instanceof Folder and
421
+            $this->isValidPath($targetPath) and
422
+            (
423
+                $parent->isCreatable() ||
424
+                ($parent->getInternalPath() === '' && $parent->getMountPoint() instanceof MoveableMount)
425
+            )
426
+        ) {
427
+            $nonExisting = $this->createNonExistingNode($targetPath);
428
+            $this->root->emit('\OC\Files', 'preRename', [$this, $nonExisting]);
429
+            $this->root->emit('\OC\Files', 'preWrite', [$nonExisting]);
430
+            if (!$this->view->rename($this->path, $targetPath)) {
431
+                throw new NotPermittedException('Could not move ' . $this->path . ' to ' . $targetPath);
432
+            }
433
+            $targetNode = $this->root->get($targetPath);
434
+            $this->root->emit('\OC\Files', 'postRename', [$this, $targetNode]);
435
+            $this->root->emit('\OC\Files', 'postWrite', [$targetNode]);
436
+            $this->path = $targetPath;
437
+            return $targetNode;
438
+        } else {
439
+            throw new NotPermittedException('No permission to move to path ' . $targetPath);
440
+        }
441
+    }
442 442
 
443 443
 }
Please login to merge, or discard this patch.
lib/private/Files/Mount/ObjectHomeMountProvider.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@
 block discarded – undo
64 64
 			return null;
65 65
 		}
66 66
 
67
-		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
67
+		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/'.$user->getUID(), $config['arguments'], $loader);
68 68
 	}
69 69
 
70 70
 	/**
Please login to merge, or discard this patch.
Indentation   +97 added lines, -97 removed lines patch added patch discarded remove patch
@@ -33,108 +33,108 @@
 block discarded – undo
33 33
  * Mount provider for object store home storages
34 34
  */
35 35
 class ObjectHomeMountProvider implements IHomeMountProvider {
36
-	/**
37
-	 * @var IConfig
38
-	 */
39
-	private $config;
40
-
41
-	/**
42
-	 * ObjectStoreHomeMountProvider constructor.
43
-	 *
44
-	 * @param IConfig $config
45
-	 */
46
-	public function __construct(IConfig $config) {
47
-		$this->config = $config;
48
-	}
49
-
50
-	/**
51
-	 * Get the cache mount for a user
52
-	 *
53
-	 * @param IUser $user
54
-	 * @param IStorageFactory $loader
55
-	 * @return \OCP\Files\Mount\IMountPoint
56
-	 */
57
-	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
58
-
59
-		$config = $this->getMultiBucketObjectStoreConfig($user);
60
-		if ($config === null) {
61
-			$config = $this->getSingleBucketObjectStoreConfig($user);
62
-		}
63
-
64
-		if ($config === null) {
65
-			return null;
66
-		}
67
-
68
-		return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
69
-	}
70
-
71
-	/**
72
-	 * @param IUser $user
73
-	 * @return array|null
74
-	 */
75
-	private function getSingleBucketObjectStoreConfig(IUser $user) {
76
-		$config = $this->config->getSystemValue('objectstore');
77
-		if (!is_array($config)) {
78
-			return null;
79
-		}
80
-
81
-		// sanity checks
82
-		if (empty($config['class'])) {
83
-			\OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
84
-		}
85
-		if (!isset($config['arguments'])) {
86
-			$config['arguments'] = [];
87
-		}
88
-		// instantiate object store implementation
89
-		$config['arguments']['objectstore'] = new $config['class']($config['arguments']);
90
-
91
-		$config['arguments']['user'] = $user;
92
-
93
-		return $config;
94
-	}
95
-
96
-	/**
97
-	 * @param IUser $user
98
-	 * @return array|null
99
-	 */
100
-	private function getMultiBucketObjectStoreConfig(IUser $user) {
101
-		$config = $this->config->getSystemValue('objectstore_multibucket');
102
-		if (!is_array($config)) {
103
-			return null;
104
-		}
105
-
106
-		// sanity checks
107
-		if (empty($config['class'])) {
108
-			\OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
109
-		}
110
-		if (!isset($config['arguments'])) {
111
-			$config['arguments'] = [];
112
-		}
113
-
114
-		$bucket = $this->config->getUserValue($user->getUID(), 'homeobjectstore', 'bucket', null);
115
-
116
-		if ($bucket === null) {
117
-			/*
36
+    /**
37
+     * @var IConfig
38
+     */
39
+    private $config;
40
+
41
+    /**
42
+     * ObjectStoreHomeMountProvider constructor.
43
+     *
44
+     * @param IConfig $config
45
+     */
46
+    public function __construct(IConfig $config) {
47
+        $this->config = $config;
48
+    }
49
+
50
+    /**
51
+     * Get the cache mount for a user
52
+     *
53
+     * @param IUser $user
54
+     * @param IStorageFactory $loader
55
+     * @return \OCP\Files\Mount\IMountPoint
56
+     */
57
+    public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
58
+
59
+        $config = $this->getMultiBucketObjectStoreConfig($user);
60
+        if ($config === null) {
61
+            $config = $this->getSingleBucketObjectStoreConfig($user);
62
+        }
63
+
64
+        if ($config === null) {
65
+            return null;
66
+        }
67
+
68
+        return new MountPoint('\OC\Files\ObjectStore\HomeObjectStoreStorage', '/' . $user->getUID(), $config['arguments'], $loader);
69
+    }
70
+
71
+    /**
72
+     * @param IUser $user
73
+     * @return array|null
74
+     */
75
+    private function getSingleBucketObjectStoreConfig(IUser $user) {
76
+        $config = $this->config->getSystemValue('objectstore');
77
+        if (!is_array($config)) {
78
+            return null;
79
+        }
80
+
81
+        // sanity checks
82
+        if (empty($config['class'])) {
83
+            \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
84
+        }
85
+        if (!isset($config['arguments'])) {
86
+            $config['arguments'] = [];
87
+        }
88
+        // instantiate object store implementation
89
+        $config['arguments']['objectstore'] = new $config['class']($config['arguments']);
90
+
91
+        $config['arguments']['user'] = $user;
92
+
93
+        return $config;
94
+    }
95
+
96
+    /**
97
+     * @param IUser $user
98
+     * @return array|null
99
+     */
100
+    private function getMultiBucketObjectStoreConfig(IUser $user) {
101
+        $config = $this->config->getSystemValue('objectstore_multibucket');
102
+        if (!is_array($config)) {
103
+            return null;
104
+        }
105
+
106
+        // sanity checks
107
+        if (empty($config['class'])) {
108
+            \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR);
109
+        }
110
+        if (!isset($config['arguments'])) {
111
+            $config['arguments'] = [];
112
+        }
113
+
114
+        $bucket = $this->config->getUserValue($user->getUID(), 'homeobjectstore', 'bucket', null);
115
+
116
+        if ($bucket === null) {
117
+            /*
118 118
 			 * Use any provided bucket argument as prefix
119 119
 			 * and add the mapping from username => bucket
120 120
 			 */
121
-			if (!isset($config['arguments']['bucket'])) {
122
-				$config['arguments']['bucket'] = '';
123
-			}
124
-			$mapper = new \OC\Files\ObjectStore\Mapper($user);
125
-			$numBuckets = isset($config['arguments']['num_buckets']) ? $config['arguments']['num_buckets'] : 64;
126
-			$config['arguments']['bucket'] .= $mapper->getBucket($numBuckets);
121
+            if (!isset($config['arguments']['bucket'])) {
122
+                $config['arguments']['bucket'] = '';
123
+            }
124
+            $mapper = new \OC\Files\ObjectStore\Mapper($user);
125
+            $numBuckets = isset($config['arguments']['num_buckets']) ? $config['arguments']['num_buckets'] : 64;
126
+            $config['arguments']['bucket'] .= $mapper->getBucket($numBuckets);
127 127
 
128
-			$this->config->setUserValue($user->getUID(), 'homeobjectstore', 'bucket', $config['arguments']['bucket']);
129
-		} else {
130
-			$config['arguments']['bucket'] = $bucket;
131
-		}
128
+            $this->config->setUserValue($user->getUID(), 'homeobjectstore', 'bucket', $config['arguments']['bucket']);
129
+        } else {
130
+            $config['arguments']['bucket'] = $bucket;
131
+        }
132 132
 
133
-		// instantiate object store implementation
134
-		$config['arguments']['objectstore'] = new $config['class']($config['arguments']);
133
+        // instantiate object store implementation
134
+        $config['arguments']['objectstore'] = new $config['class']($config['arguments']);
135 135
 
136
-		$config['arguments']['user'] = $user;
136
+        $config['arguments']['user'] = $user;
137 137
 
138
-		return $config;
139
-	}
138
+        return $config;
139
+    }
140 140
 }
Please login to merge, or discard this patch.
lib/private/Files/Mount/LocalHomeMountProvider.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -30,15 +30,15 @@
 block discarded – undo
30 30
  * Mount provider for regular posix home folders
31 31
  */
32 32
 class LocalHomeMountProvider implements IHomeMountProvider {
33
-	/**
34
-	 * Get the cache mount for a user
35
-	 *
36
-	 * @param IUser $user
37
-	 * @param IStorageFactory $loader
38
-	 * @return \OCP\Files\Mount\IMountPoint[]
39
-	 */
40
-	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41
-		$arguments = ['user' => $user];
42
-		return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
43
-	}
33
+    /**
34
+     * Get the cache mount for a user
35
+     *
36
+     * @param IUser $user
37
+     * @param IStorageFactory $loader
38
+     * @return \OCP\Files\Mount\IMountPoint[]
39
+     */
40
+    public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41
+        $arguments = ['user' => $user];
42
+        return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
43
+    }
44 44
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -39,6 +39,6 @@
 block discarded – undo
39 39
 	 */
40 40
 	public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
41 41
 		$arguments = ['user' => $user];
42
-		return new MountPoint('\OC\Files\Storage\Home', '/' . $user->getUID(), $arguments, $loader);
42
+		return new MountPoint('\OC\Files\Storage\Home', '/'.$user->getUID(), $arguments, $loader);
43 43
 	}
44 44
 }
Please login to merge, or discard this patch.