Completed
Pull Request — master (#5681)
by Maxence
30:59 queued 14:08
created
apps/files_sharing/ajax/shareinfo.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -30,28 +30,28 @@  discard block
 block discarded – undo
30 30
 OCP\JSON::checkAppEnabled('files_sharing');
31 31
 
32 32
 if (!isset($_GET['t'])) {
33
-	\OC_Response::setStatus(400); //400 Bad Request
34
-	exit;
33
+    \OC_Response::setStatus(400); //400 Bad Request
34
+    exit;
35 35
 }
36 36
 
37 37
 $federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
38 38
 $federatedShareProvider = $federatedSharingApp->getFederatedShareProvider();
39 39
 
40 40
 if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false) {
41
-	\OC_Response::setStatus(404); // 404 not found
42
-	exit;
41
+    \OC_Response::setStatus(404); // 404 not found
42
+    exit;
43 43
 }
44 44
 
45 45
 $token = $_GET['t'];
46 46
 
47 47
 $password = null;
48 48
 if (isset($_POST['password'])) {
49
-	$password = $_POST['password'];
49
+    $password = $_POST['password'];
50 50
 }
51 51
 
52 52
 $relativePath = null;
53 53
 if (isset($_GET['dir'])) {
54
-	$relativePath = $_GET['dir'];
54
+    $relativePath = $_GET['dir'];
55 55
 }
56 56
 
57 57
 $data = \OCA\Files_Sharing\Helper::setupFromToken($token, $relativePath, $password);
@@ -63,20 +63,20 @@  discard block
 block discarded – undo
63 63
 
64 64
 $isWritable = $share->getPermissions() & (\OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_CREATE);
65 65
 if (!$isWritable) {
66
-	// FIXME: should not add storage wrappers outside of preSetup, need to find a better way
67
-	$previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
68
-	\OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
69
-		return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
70
-	});
71
-	\OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
66
+    // FIXME: should not add storage wrappers outside of preSetup, need to find a better way
67
+    $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
68
+    \OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
69
+        return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
70
+    });
71
+    \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
72 72
 }
73 73
 
74 74
 $rootInfo = \OC\Files\Filesystem::getFileInfo($path);
75 75
 $rootView = new \OC\Files\View('');
76 76
 
77 77
 if($rootInfo === false || !($share->getPermissions() & \OCP\Constants::PERMISSION_READ)) {
78
-	OCP\JSON::error(array('data' => 'Share is not readable.'));
79
-	exit();
78
+    OCP\JSON::error(array('data' => 'Share is not readable.'));
79
+    exit();
80 80
 }
81 81
 
82 82
 /**
@@ -85,18 +85,18 @@  discard block
 block discarded – undo
85 85
  * @return array
86 86
  */
87 87
 function getChildInfo($dir, $view, $sharePermissions) {
88
-	$children = $view->getDirectoryContent($dir->getPath());
89
-	$result = array();
90
-	foreach ($children as $child) {
91
-		$formatted = \OCA\Files\Helper::formatFileInfo($child);
92
-		if ($child->getType() === 'dir') {
93
-			$formatted['children'] = getChildInfo($child, $view, $sharePermissions);
94
-		}
95
-		$formatted['mtime'] = $formatted['mtime'] / 1000;
96
-		$formatted['permissions'] = $sharePermissions & (int)$formatted['permissions'];
97
-		$result[] = $formatted;
98
-	}
99
-	return $result;
88
+    $children = $view->getDirectoryContent($dir->getPath());
89
+    $result = array();
90
+    foreach ($children as $child) {
91
+        $formatted = \OCA\Files\Helper::formatFileInfo($child);
92
+        if ($child->getType() === 'dir') {
93
+            $formatted['children'] = getChildInfo($child, $view, $sharePermissions);
94
+        }
95
+        $formatted['mtime'] = $formatted['mtime'] / 1000;
96
+        $formatted['permissions'] = $sharePermissions & (int)$formatted['permissions'];
97
+        $result[] = $formatted;
98
+    }
99
+    return $result;
100 100
 }
101 101
 
102 102
 $result = \OCA\Files\Helper::formatFileInfo($rootInfo);
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 
106 106
 
107 107
 if ($rootInfo->getType() === 'dir') {
108
-	$result['children'] = getChildInfo($rootInfo, $rootView, $share->getPermissions());
108
+    $result['children'] = getChildInfo($rootInfo, $rootView, $share->getPermissions());
109 109
 }
110 110
 
111 111
 OCP\JSON::success(array('data' => $result));
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Providers/Base.php 1 patch
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -32,153 +32,153 @@
 block discarded – undo
32 32
 
33 33
 abstract class Base implements IProvider {
34 34
 
35
-	/** @var IFactory */
36
-	protected $languageFactory;
37
-
38
-	/** @var IL10N */
39
-	protected $l;
40
-
41
-	/** @var IURLGenerator */
42
-	protected $url;
43
-
44
-	/** @var IManager */
45
-	protected $activityManager;
46
-
47
-	/** @var IUserManager */
48
-	protected $userManager;
49
-
50
-	/** @var array */
51
-	protected $displayNames = [];
52
-
53
-	/**
54
-	 * @param IFactory $languageFactory
55
-	 * @param IURLGenerator $url
56
-	 * @param IManager $activityManager
57
-	 * @param IUserManager $userManager
58
-	 */
59
-	public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) {
60
-		$this->languageFactory = $languageFactory;
61
-		$this->url = $url;
62
-		$this->activityManager = $activityManager;
63
-		$this->userManager = $userManager;
64
-	}
65
-
66
-	/**
67
-	 * @param string $language
68
-	 * @param IEvent $event
69
-	 * @param IEvent|null $previousEvent
70
-	 * @return IEvent
71
-	 * @throws \InvalidArgumentException
72
-	 * @since 11.0.0
73
-	 */
74
-	public function parse($language, IEvent $event, IEvent $previousEvent = null) {
75
-		if ($event->getApp() !== 'files_sharing') {
76
-			throw new \InvalidArgumentException();
77
-		}
78
-
79
-		$this->l = $this->languageFactory->get('files_sharing', $language);
80
-
81
-		if ($this->activityManager->isFormattingFilteredObject()) {
82
-			try {
83
-				return $this->parseShortVersion($event);
84
-			} catch (\InvalidArgumentException $e) {
85
-				// Ignore and simply use the long version...
86
-			}
87
-		}
88
-
89
-		return $this->parseLongVersion($event);
90
-	}
91
-
92
-	/**
93
-	 * @param IEvent $event
94
-	 * @return IEvent
95
-	 * @throws \InvalidArgumentException
96
-	 * @since 11.0.0
97
-	 */
98
-	abstract protected function parseShortVersion(IEvent $event);
99
-
100
-	/**
101
-	 * @param IEvent $event
102
-	 * @return IEvent
103
-	 * @throws \InvalidArgumentException
104
-	 * @since 11.0.0
105
-	 */
106
-	abstract protected function parseLongVersion(IEvent $event);
107
-
108
-	/**
109
-	 * @param IEvent $event
110
-	 * @param string $subject
111
-	 * @param array $parameters
112
-	 * @throws \InvalidArgumentException
113
-	 */
114
-	protected function setSubjects(IEvent $event, $subject, array $parameters) {
115
-		$placeholders = $replacements = [];
116
-		foreach ($parameters as $placeholder => $parameter) {
117
-			$placeholders[] = '{' . $placeholder . '}';
118
-			if ($parameter['type'] === 'file') {
119
-				$replacements[] = $parameter['path'];
120
-			} else {
121
-				$replacements[] = $parameter['name'];
122
-			}
123
-		}
124
-
125
-		$event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
126
-			->setRichSubject($subject, $parameters);
127
-	}
128
-
129
-	/**
130
-	 * @param array|string $parameter
131
-	 * @param IEvent|null $event
132
-	 * @return array
133
-	 * @throws \InvalidArgumentException
134
-	 */
135
-	protected function getFile($parameter, IEvent $event = null) {
136
-		if (is_array($parameter)) {
137
-			$path = reset($parameter);
138
-			$id = (string) key($parameter);
139
-		} else if ($event !== null) {
140
-			// Legacy from before ownCloud 8.2
141
-			$path = $parameter;
142
-			$id = $event->getObjectId();
143
-		} else {
144
-			throw new \InvalidArgumentException('Could not generate file parameter');
145
-		}
146
-
147
-		return [
148
-			'type' => 'file',
149
-			'id' => $id,
150
-			'name' => basename($path),
151
-			'path' => trim($path, '/'),
152
-			'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]),
153
-		];
154
-	}
155
-
156
-	/**
157
-	 * @param string $uid
158
-	 * @return array
159
-	 */
160
-	protected function getUser($uid) {
161
-		if (!isset($this->displayNames[$uid])) {
162
-			$this->displayNames[$uid] = $this->getDisplayName($uid);
163
-		}
164
-
165
-		return [
166
-			'type' => 'user',
167
-			'id' => $uid,
168
-			'name' => $this->displayNames[$uid],
169
-		];
170
-	}
171
-
172
-	/**
173
-	 * @param string $uid
174
-	 * @return string
175
-	 */
176
-	protected function getDisplayName($uid) {
177
-		$user = $this->userManager->get($uid);
178
-		if ($user instanceof IUser) {
179
-			return $user->getDisplayName();
180
-		} else {
181
-			return $uid;
182
-		}
183
-	}
35
+    /** @var IFactory */
36
+    protected $languageFactory;
37
+
38
+    /** @var IL10N */
39
+    protected $l;
40
+
41
+    /** @var IURLGenerator */
42
+    protected $url;
43
+
44
+    /** @var IManager */
45
+    protected $activityManager;
46
+
47
+    /** @var IUserManager */
48
+    protected $userManager;
49
+
50
+    /** @var array */
51
+    protected $displayNames = [];
52
+
53
+    /**
54
+     * @param IFactory $languageFactory
55
+     * @param IURLGenerator $url
56
+     * @param IManager $activityManager
57
+     * @param IUserManager $userManager
58
+     */
59
+    public function __construct(IFactory $languageFactory, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) {
60
+        $this->languageFactory = $languageFactory;
61
+        $this->url = $url;
62
+        $this->activityManager = $activityManager;
63
+        $this->userManager = $userManager;
64
+    }
65
+
66
+    /**
67
+     * @param string $language
68
+     * @param IEvent $event
69
+     * @param IEvent|null $previousEvent
70
+     * @return IEvent
71
+     * @throws \InvalidArgumentException
72
+     * @since 11.0.0
73
+     */
74
+    public function parse($language, IEvent $event, IEvent $previousEvent = null) {
75
+        if ($event->getApp() !== 'files_sharing') {
76
+            throw new \InvalidArgumentException();
77
+        }
78
+
79
+        $this->l = $this->languageFactory->get('files_sharing', $language);
80
+
81
+        if ($this->activityManager->isFormattingFilteredObject()) {
82
+            try {
83
+                return $this->parseShortVersion($event);
84
+            } catch (\InvalidArgumentException $e) {
85
+                // Ignore and simply use the long version...
86
+            }
87
+        }
88
+
89
+        return $this->parseLongVersion($event);
90
+    }
91
+
92
+    /**
93
+     * @param IEvent $event
94
+     * @return IEvent
95
+     * @throws \InvalidArgumentException
96
+     * @since 11.0.0
97
+     */
98
+    abstract protected function parseShortVersion(IEvent $event);
99
+
100
+    /**
101
+     * @param IEvent $event
102
+     * @return IEvent
103
+     * @throws \InvalidArgumentException
104
+     * @since 11.0.0
105
+     */
106
+    abstract protected function parseLongVersion(IEvent $event);
107
+
108
+    /**
109
+     * @param IEvent $event
110
+     * @param string $subject
111
+     * @param array $parameters
112
+     * @throws \InvalidArgumentException
113
+     */
114
+    protected function setSubjects(IEvent $event, $subject, array $parameters) {
115
+        $placeholders = $replacements = [];
116
+        foreach ($parameters as $placeholder => $parameter) {
117
+            $placeholders[] = '{' . $placeholder . '}';
118
+            if ($parameter['type'] === 'file') {
119
+                $replacements[] = $parameter['path'];
120
+            } else {
121
+                $replacements[] = $parameter['name'];
122
+            }
123
+        }
124
+
125
+        $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
126
+            ->setRichSubject($subject, $parameters);
127
+    }
128
+
129
+    /**
130
+     * @param array|string $parameter
131
+     * @param IEvent|null $event
132
+     * @return array
133
+     * @throws \InvalidArgumentException
134
+     */
135
+    protected function getFile($parameter, IEvent $event = null) {
136
+        if (is_array($parameter)) {
137
+            $path = reset($parameter);
138
+            $id = (string) key($parameter);
139
+        } else if ($event !== null) {
140
+            // Legacy from before ownCloud 8.2
141
+            $path = $parameter;
142
+            $id = $event->getObjectId();
143
+        } else {
144
+            throw new \InvalidArgumentException('Could not generate file parameter');
145
+        }
146
+
147
+        return [
148
+            'type' => 'file',
149
+            'id' => $id,
150
+            'name' => basename($path),
151
+            'path' => trim($path, '/'),
152
+            'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]),
153
+        ];
154
+    }
155
+
156
+    /**
157
+     * @param string $uid
158
+     * @return array
159
+     */
160
+    protected function getUser($uid) {
161
+        if (!isset($this->displayNames[$uid])) {
162
+            $this->displayNames[$uid] = $this->getDisplayName($uid);
163
+        }
164
+
165
+        return [
166
+            'type' => 'user',
167
+            'id' => $uid,
168
+            'name' => $this->displayNames[$uid],
169
+        ];
170
+    }
171
+
172
+    /**
173
+     * @param string $uid
174
+     * @return string
175
+     */
176
+    protected function getDisplayName($uid) {
177
+        $user = $this->userManager->get($uid);
178
+        if ($user instanceof IUser) {
179
+            return $user->getDisplayName();
180
+        } else {
181
+            return $uid;
182
+        }
183
+    }
184 184
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Settings/Shared.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -27,72 +27,72 @@
 block discarded – undo
27 27
 
28 28
 class Shared implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	protected $l;
30
+    /** @var IL10N */
31
+    protected $l;
32 32
 
33
-	/**
34
-	 * @param IL10N $l
35
-	 */
36
-	public function __construct(IL10N $l) {
37
-		$this->l = $l;
38
-	}
33
+    /**
34
+     * @param IL10N $l
35
+     */
36
+    public function __construct(IL10N $l) {
37
+        $this->l = $l;
38
+    }
39 39
 
40
-	/**
41
-	 * @return string Lowercase a-z and underscore only identifier
42
-	 * @since 11.0.0
43
-	 */
44
-	public function getIdentifier() {
45
-		return 'shared';
46
-	}
40
+    /**
41
+     * @return string Lowercase a-z and underscore only identifier
42
+     * @since 11.0.0
43
+     */
44
+    public function getIdentifier() {
45
+        return 'shared';
46
+    }
47 47
 
48
-	/**
49
-	 * @return string A translated string
50
-	 * @since 11.0.0
51
-	 */
52
-	public function getName() {
53
-		return $this->l->t('A file or folder has been <strong>shared</strong>');
54
-	}
48
+    /**
49
+     * @return string A translated string
50
+     * @since 11.0.0
51
+     */
52
+    public function getName() {
53
+        return $this->l->t('A file or folder has been <strong>shared</strong>');
54
+    }
55 55
 
56
-	/**
57
-	 * @return int whether the filter should be rather on the top or bottom of
58
-	 * the admin section. The filters are arranged in ascending order of the
59
-	 * priority values. It is required to return a value between 0 and 100.
60
-	 * @since 11.0.0
61
-	 */
62
-	public function getPriority() {
63
-		return 10;
64
-	}
56
+    /**
57
+     * @return int whether the filter should be rather on the top or bottom of
58
+     * the admin section. The filters are arranged in ascending order of the
59
+     * priority values. It is required to return a value between 0 and 100.
60
+     * @since 11.0.0
61
+     */
62
+    public function getPriority() {
63
+        return 10;
64
+    }
65 65
 
66
-	/**
67
-	 * @return bool True when the option can be changed for the stream
68
-	 * @since 11.0.0
69
-	 */
70
-	public function canChangeStream() {
71
-		return true;
72
-	}
66
+    /**
67
+     * @return bool True when the option can be changed for the stream
68
+     * @since 11.0.0
69
+     */
70
+    public function canChangeStream() {
71
+        return true;
72
+    }
73 73
 
74
-	/**
75
-	 * @return bool True when the option can be changed for the stream
76
-	 * @since 11.0.0
77
-	 */
78
-	public function isDefaultEnabledStream() {
79
-		return true;
80
-	}
74
+    /**
75
+     * @return bool True when the option can be changed for the stream
76
+     * @since 11.0.0
77
+     */
78
+    public function isDefaultEnabledStream() {
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * @return bool True when the option can be changed for the mail
84
-	 * @since 11.0.0
85
-	 */
86
-	public function canChangeMail() {
87
-		return true;
88
-	}
82
+    /**
83
+     * @return bool True when the option can be changed for the mail
84
+     * @since 11.0.0
85
+     */
86
+    public function canChangeMail() {
87
+        return true;
88
+    }
89 89
 
90
-	/**
91
-	 * @return bool True when the option can be changed for the stream
92
-	 * @since 11.0.0
93
-	 */
94
-	public function isDefaultEnabledMail() {
95
-		return true;
96
-	}
90
+    /**
91
+     * @return bool True when the option can be changed for the stream
92
+     * @since 11.0.0
93
+     */
94
+    public function isDefaultEnabledMail() {
95
+        return true;
96
+    }
97 97
 }
98 98
 
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Settings/PublicLinks.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -27,72 +27,72 @@
 block discarded – undo
27 27
 
28 28
 class PublicLinks implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	protected $l;
30
+    /** @var IL10N */
31
+    protected $l;
32 32
 
33
-	/**
34
-	 * @param IL10N $l
35
-	 */
36
-	public function __construct(IL10N $l) {
37
-		$this->l = $l;
38
-	}
33
+    /**
34
+     * @param IL10N $l
35
+     */
36
+    public function __construct(IL10N $l) {
37
+        $this->l = $l;
38
+    }
39 39
 
40
-	/**
41
-	 * @return string Lowercase a-z and underscore only identifier
42
-	 * @since 11.0.0
43
-	 */
44
-	public function getIdentifier() {
45
-		return 'public_links';
46
-	}
40
+    /**
41
+     * @return string Lowercase a-z and underscore only identifier
42
+     * @since 11.0.0
43
+     */
44
+    public function getIdentifier() {
45
+        return 'public_links';
46
+    }
47 47
 
48
-	/**
49
-	 * @return string A translated string
50
-	 * @since 11.0.0
51
-	 */
52
-	public function getName() {
53
-		return $this->l->t('A file or folder shared by mail or by public link was <strong>downloaded</strong>');
54
-	}
48
+    /**
49
+     * @return string A translated string
50
+     * @since 11.0.0
51
+     */
52
+    public function getName() {
53
+        return $this->l->t('A file or folder shared by mail or by public link was <strong>downloaded</strong>');
54
+    }
55 55
 
56
-	/**
57
-	 * @return int whether the filter should be rather on the top or bottom of
58
-	 * the admin section. The filters are arranged in ascending order of the
59
-	 * priority values. It is required to return a value between 0 and 100.
60
-	 * @since 11.0.0
61
-	 */
62
-	public function getPriority() {
63
-		return 20;
64
-	}
56
+    /**
57
+     * @return int whether the filter should be rather on the top or bottom of
58
+     * the admin section. The filters are arranged in ascending order of the
59
+     * priority values. It is required to return a value between 0 and 100.
60
+     * @since 11.0.0
61
+     */
62
+    public function getPriority() {
63
+        return 20;
64
+    }
65 65
 
66
-	/**
67
-	 * @return bool True when the option can be changed for the stream
68
-	 * @since 11.0.0
69
-	 */
70
-	public function canChangeStream() {
71
-		return true;
72
-	}
66
+    /**
67
+     * @return bool True when the option can be changed for the stream
68
+     * @since 11.0.0
69
+     */
70
+    public function canChangeStream() {
71
+        return true;
72
+    }
73 73
 
74
-	/**
75
-	 * @return bool True when the option can be changed for the stream
76
-	 * @since 11.0.0
77
-	 */
78
-	public function isDefaultEnabledStream() {
79
-		return true;
80
-	}
74
+    /**
75
+     * @return bool True when the option can be changed for the stream
76
+     * @since 11.0.0
77
+     */
78
+    public function isDefaultEnabledStream() {
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * @return bool True when the option can be changed for the mail
84
-	 * @since 11.0.0
85
-	 */
86
-	public function canChangeMail() {
87
-		return true;
88
-	}
82
+    /**
83
+     * @return bool True when the option can be changed for the mail
84
+     * @since 11.0.0
85
+     */
86
+    public function canChangeMail() {
87
+        return true;
88
+    }
89 89
 
90
-	/**
91
-	 * @return bool True when the option can be changed for the stream
92
-	 * @since 11.0.0
93
-	 */
94
-	public function isDefaultEnabledMail() {
95
-		return false;
96
-	}
90
+    /**
91
+     * @return bool True when the option can be changed for the stream
92
+     * @since 11.0.0
93
+     */
94
+    public function isDefaultEnabledMail() {
95
+        return false;
96
+    }
97 97
 }
98 98
 
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Settings/RemoteShare.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -27,72 +27,72 @@
 block discarded – undo
27 27
 
28 28
 class RemoteShare implements ISetting {
29 29
 
30
-	/** @var IL10N */
31
-	protected $l;
30
+    /** @var IL10N */
31
+    protected $l;
32 32
 
33
-	/**
34
-	 * @param IL10N $l
35
-	 */
36
-	public function __construct(IL10N $l) {
37
-		$this->l = $l;
38
-	}
33
+    /**
34
+     * @param IL10N $l
35
+     */
36
+    public function __construct(IL10N $l) {
37
+        $this->l = $l;
38
+    }
39 39
 
40
-	/**
41
-	 * @return string Lowercase a-z and underscore only identifier
42
-	 * @since 11.0.0
43
-	 */
44
-	public function getIdentifier() {
45
-		return 'remote_share';
46
-	}
40
+    /**
41
+     * @return string Lowercase a-z and underscore only identifier
42
+     * @since 11.0.0
43
+     */
44
+    public function getIdentifier() {
45
+        return 'remote_share';
46
+    }
47 47
 
48
-	/**
49
-	 * @return string A translated string
50
-	 * @since 11.0.0
51
-	 */
52
-	public function getName() {
53
-		return $this->l->t('A file or folder was shared from <strong>another server</strong>');
54
-	}
48
+    /**
49
+     * @return string A translated string
50
+     * @since 11.0.0
51
+     */
52
+    public function getName() {
53
+        return $this->l->t('A file or folder was shared from <strong>another server</strong>');
54
+    }
55 55
 
56
-	/**
57
-	 * @return int whether the filter should be rather on the top or bottom of
58
-	 * the admin section. The filters are arranged in ascending order of the
59
-	 * priority values. It is required to return a value between 0 and 100.
60
-	 * @since 11.0.0
61
-	 */
62
-	public function getPriority() {
63
-		return 11;
64
-	}
56
+    /**
57
+     * @return int whether the filter should be rather on the top or bottom of
58
+     * the admin section. The filters are arranged in ascending order of the
59
+     * priority values. It is required to return a value between 0 and 100.
60
+     * @since 11.0.0
61
+     */
62
+    public function getPriority() {
63
+        return 11;
64
+    }
65 65
 
66
-	/**
67
-	 * @return bool True when the option can be changed for the stream
68
-	 * @since 11.0.0
69
-	 */
70
-	public function canChangeStream() {
71
-		return true;
72
-	}
66
+    /**
67
+     * @return bool True when the option can be changed for the stream
68
+     * @since 11.0.0
69
+     */
70
+    public function canChangeStream() {
71
+        return true;
72
+    }
73 73
 
74
-	/**
75
-	 * @return bool True when the option can be changed for the stream
76
-	 * @since 11.0.0
77
-	 */
78
-	public function isDefaultEnabledStream() {
79
-		return true;
80
-	}
74
+    /**
75
+     * @return bool True when the option can be changed for the stream
76
+     * @since 11.0.0
77
+     */
78
+    public function isDefaultEnabledStream() {
79
+        return true;
80
+    }
81 81
 
82
-	/**
83
-	 * @return bool True when the option can be changed for the mail
84
-	 * @since 11.0.0
85
-	 */
86
-	public function canChangeMail() {
87
-		return true;
88
-	}
82
+    /**
83
+     * @return bool True when the option can be changed for the mail
84
+     * @since 11.0.0
85
+     */
86
+    public function canChangeMail() {
87
+        return true;
88
+    }
89 89
 
90
-	/**
91
-	 * @return bool True when the option can be changed for the stream
92
-	 * @since 11.0.0
93
-	 */
94
-	public function isDefaultEnabledMail() {
95
-		return true;
96
-	}
90
+    /**
91
+     * @return bool True when the option can be changed for the stream
92
+     * @since 11.0.0
93
+     */
94
+    public function isDefaultEnabledMail() {
95
+        return true;
96
+    }
97 97
 }
98 98
 
Please login to merge, or discard this patch.
apps/files_sharing/lib/Activity/Filter.php 1 patch
Indentation   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -27,69 +27,69 @@
 block discarded – undo
27 27
 use OCP\IURLGenerator;
28 28
 
29 29
 class Filter implements IFilter {
30
-	const TYPE_REMOTE_SHARE = 'remote_share';
31
-	const TYPE_SHARED = 'shared';
30
+    const TYPE_REMOTE_SHARE = 'remote_share';
31
+    const TYPE_SHARED = 'shared';
32 32
 
33
-	/** @var IL10N */
34
-	protected $l;
33
+    /** @var IL10N */
34
+    protected $l;
35 35
 
36
-	/** @var IURLGenerator */
37
-	protected $url;
36
+    /** @var IURLGenerator */
37
+    protected $url;
38 38
 
39
-	public function __construct(IL10N $l, IURLGenerator $url) {
40
-		$this->l = $l;
41
-		$this->url = $url;
42
-	}
39
+    public function __construct(IL10N $l, IURLGenerator $url) {
40
+        $this->l = $l;
41
+        $this->url = $url;
42
+    }
43 43
 
44
-	/**
45
-	 * @return string Lowercase a-z only identifier
46
-	 * @since 11.0.0
47
-	 */
48
-	public function getIdentifier() {
49
-		return 'files_sharing';
50
-	}
44
+    /**
45
+     * @return string Lowercase a-z only identifier
46
+     * @since 11.0.0
47
+     */
48
+    public function getIdentifier() {
49
+        return 'files_sharing';
50
+    }
51 51
 
52
-	/**
53
-	 * @return string A translated string
54
-	 * @since 11.0.0
55
-	 */
56
-	public function getName() {
57
-		return $this->l->t('File shares');
58
-	}
52
+    /**
53
+     * @return string A translated string
54
+     * @since 11.0.0
55
+     */
56
+    public function getName() {
57
+        return $this->l->t('File shares');
58
+    }
59 59
 
60
-	/**
61
-	 * @return int
62
-	 * @since 11.0.0
63
-	 */
64
-	public function getPriority() {
65
-		return 31;
66
-	}
60
+    /**
61
+     * @return int
62
+     * @since 11.0.0
63
+     */
64
+    public function getPriority() {
65
+        return 31;
66
+    }
67 67
 
68
-	/**
69
-	 * @return string Full URL to an icon, empty string when none is given
70
-	 * @since 11.0.0
71
-	 */
72
-	public function getIcon() {
73
-		return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'));
74
-	}
68
+    /**
69
+     * @return string Full URL to an icon, empty string when none is given
70
+     * @since 11.0.0
71
+     */
72
+    public function getIcon() {
73
+        return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg'));
74
+    }
75 75
 
76
-	/**
77
-	 * @param string[] $types
78
-	 * @return string[] An array of allowed apps from which activities should be displayed
79
-	 * @since 11.0.0
80
-	 */
81
-	public function filterTypes(array $types) {
82
-		return array_intersect([
83
-			self::TYPE_SHARED,
84
-			self::TYPE_REMOTE_SHARE
85
-		], $types);
86
-	}
76
+    /**
77
+     * @param string[] $types
78
+     * @return string[] An array of allowed apps from which activities should be displayed
79
+     * @since 11.0.0
80
+     */
81
+    public function filterTypes(array $types) {
82
+        return array_intersect([
83
+            self::TYPE_SHARED,
84
+            self::TYPE_REMOTE_SHARE
85
+        ], $types);
86
+    }
87 87
 
88
-	/**
89
-	 * @return string[] An array of allowed apps from which activities should be displayed
90
-	 * @since 11.0.0
91
-	 */
92
-	public function allowedApps() {
93
-		return ['files_sharing'];
94
-	}
88
+    /**
89
+     * @return string[] An array of allowed apps from which activities should be displayed
90
+     * @since 11.0.0
91
+     */
92
+    public function allowedApps() {
93
+        return ['files_sharing'];
94
+    }
95 95
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/ExpireSharesJob.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -29,49 +29,49 @@
 block discarded – undo
29 29
  */
30 30
 class ExpireSharesJob extends TimedJob {
31 31
 
32
-	/**
33
-	 * sets the correct interval for this timed job
34
-	 */
35
-	public function __construct() {
36
-		// Run once a day
37
-		$this->setInterval(24 * 60 * 60);
38
-	}
32
+    /**
33
+     * sets the correct interval for this timed job
34
+     */
35
+    public function __construct() {
36
+        // Run once a day
37
+        $this->setInterval(24 * 60 * 60);
38
+    }
39 39
 
40
-	/**
41
-	 * Makes the background job do its work
42
-	 *
43
-	 * @param array $argument unused argument
44
-	 */
45
-	public function run($argument) {
46
-		$connection = \OC::$server->getDatabaseConnection();
47
-		$logger = \OC::$server->getLogger();
40
+    /**
41
+     * Makes the background job do its work
42
+     *
43
+     * @param array $argument unused argument
44
+     */
45
+    public function run($argument) {
46
+        $connection = \OC::$server->getDatabaseConnection();
47
+        $logger = \OC::$server->getLogger();
48 48
 
49
-		//Current time
50
-		$now = new \DateTime();
51
-		$now = $now->format('Y-m-d H:i:s');
49
+        //Current time
50
+        $now = new \DateTime();
51
+        $now = $now->format('Y-m-d H:i:s');
52 52
 
53
-		/*
53
+        /*
54 54
 		 * Expire file link shares only (for now)
55 55
 		 */
56
-		$qb = $connection->getQueryBuilder();
57
-		$qb->select('id', 'file_source', 'uid_owner', 'item_type')
58
-			->from('share')
59
-			->where(
60
-				$qb->expr()->andX(
61
-					$qb->expr()->eq('share_type', $qb->expr()->literal(\OCP\Share::SHARE_TYPE_LINK)),
62
-					$qb->expr()->lte('expiration', $qb->expr()->literal($now)),
63
-					$qb->expr()->orX(
64
-						$qb->expr()->eq('item_type', $qb->expr()->literal('file')),
65
-						$qb->expr()->eq('item_type', $qb->expr()->literal('folder'))
66
-					)
67
-				)
68
-			);
56
+        $qb = $connection->getQueryBuilder();
57
+        $qb->select('id', 'file_source', 'uid_owner', 'item_type')
58
+            ->from('share')
59
+            ->where(
60
+                $qb->expr()->andX(
61
+                    $qb->expr()->eq('share_type', $qb->expr()->literal(\OCP\Share::SHARE_TYPE_LINK)),
62
+                    $qb->expr()->lte('expiration', $qb->expr()->literal($now)),
63
+                    $qb->expr()->orX(
64
+                        $qb->expr()->eq('item_type', $qb->expr()->literal('file')),
65
+                        $qb->expr()->eq('item_type', $qb->expr()->literal('folder'))
66
+                    )
67
+                )
68
+            );
69 69
 
70
-		$shares = $qb->execute();
71
-		while($share = $shares->fetch()) {
72
-			\OCP\Share::unshare($share['item_type'], $share['file_source'], \OCP\Share::SHARE_TYPE_LINK, null, $share['uid_owner']);
73
-		}
74
-		$shares->closeCursor();
75
-	}
70
+        $shares = $qb->execute();
71
+        while($share = $shares->fetch()) {
72
+            \OCP\Share::unshare($share['item_type'], $share['file_source'], \OCP\Share::SHARE_TYPE_LINK, null, $share['uid_owner']);
73
+        }
74
+        $shares->closeCursor();
75
+    }
76 76
 
77 77
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Controller/ExternalSharesController.php 1 patch
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -39,112 +39,112 @@
 block discarded – undo
39 39
  */
40 40
 class ExternalSharesController extends Controller {
41 41
 
42
-	/** @var \OCA\Files_Sharing\External\Manager */
43
-	private $externalManager;
44
-	/** @var IClientService */
45
-	private $clientService;
42
+    /** @var \OCA\Files_Sharing\External\Manager */
43
+    private $externalManager;
44
+    /** @var IClientService */
45
+    private $clientService;
46 46
 
47
-	/**
48
-	 * @param string $appName
49
-	 * @param IRequest $request
50
-	 * @param \OCA\Files_Sharing\External\Manager $externalManager
51
-	 * @param IClientService $clientService
52
-	 */
53
-	public function __construct($appName,
54
-								IRequest $request,
55
-								\OCA\Files_Sharing\External\Manager $externalManager,
56
-								IClientService $clientService) {
57
-		parent::__construct($appName, $request);
58
-		$this->externalManager = $externalManager;
59
-		$this->clientService = $clientService;
60
-	}
47
+    /**
48
+     * @param string $appName
49
+     * @param IRequest $request
50
+     * @param \OCA\Files_Sharing\External\Manager $externalManager
51
+     * @param IClientService $clientService
52
+     */
53
+    public function __construct($appName,
54
+                                IRequest $request,
55
+                                \OCA\Files_Sharing\External\Manager $externalManager,
56
+                                IClientService $clientService) {
57
+        parent::__construct($appName, $request);
58
+        $this->externalManager = $externalManager;
59
+        $this->clientService = $clientService;
60
+    }
61 61
 
62
-	/**
63
-	 * @NoAdminRequired
64
-	 * @NoOutgoingFederatedSharingRequired
65
-	 *
66
-	 * @return JSONResponse
67
-	 */
68
-	public function index() {
69
-		return new JSONResponse($this->externalManager->getOpenShares());
70
-	}
62
+    /**
63
+     * @NoAdminRequired
64
+     * @NoOutgoingFederatedSharingRequired
65
+     *
66
+     * @return JSONResponse
67
+     */
68
+    public function index() {
69
+        return new JSONResponse($this->externalManager->getOpenShares());
70
+    }
71 71
 
72
-	/**
73
-	 * @NoAdminRequired
74
-	 * @NoOutgoingFederatedSharingRequired
75
-	 *
76
-	 * @param int $id
77
-	 * @return JSONResponse
78
-	 */
79
-	public function create($id) {
80
-		$this->externalManager->acceptShare($id);
81
-		return new JSONResponse();
82
-	}
72
+    /**
73
+     * @NoAdminRequired
74
+     * @NoOutgoingFederatedSharingRequired
75
+     *
76
+     * @param int $id
77
+     * @return JSONResponse
78
+     */
79
+    public function create($id) {
80
+        $this->externalManager->acceptShare($id);
81
+        return new JSONResponse();
82
+    }
83 83
 
84
-	/**
85
-	 * @NoAdminRequired
86
-	 * @NoOutgoingFederatedSharingRequired
87
-	 *
88
-	 * @param integer $id
89
-	 * @return JSONResponse
90
-	 */
91
-	public function destroy($id) {
92
-		$this->externalManager->declineShare($id);
93
-		return new JSONResponse();
94
-	}
84
+    /**
85
+     * @NoAdminRequired
86
+     * @NoOutgoingFederatedSharingRequired
87
+     *
88
+     * @param integer $id
89
+     * @return JSONResponse
90
+     */
91
+    public function destroy($id) {
92
+        $this->externalManager->declineShare($id);
93
+        return new JSONResponse();
94
+    }
95 95
 
96
-	/**
97
-	 * Test whether the specified remote is accessible
98
-	 *
99
-	 * @param string $remote
100
-	 * @param bool $checkVersion
101
-	 * @return bool
102
-	 */
103
-	protected function testUrl($remote, $checkVersion = false) {
104
-		try {
105
-			$client = $this->clientService->newClient();
106
-			$response = json_decode($client->get(
107
-				$remote,
108
-				[
109
-					'timeout' => 3,
110
-					'connect_timeout' => 3,
111
-				]
112
-			)->getBody());
96
+    /**
97
+     * Test whether the specified remote is accessible
98
+     *
99
+     * @param string $remote
100
+     * @param bool $checkVersion
101
+     * @return bool
102
+     */
103
+    protected function testUrl($remote, $checkVersion = false) {
104
+        try {
105
+            $client = $this->clientService->newClient();
106
+            $response = json_decode($client->get(
107
+                $remote,
108
+                [
109
+                    'timeout' => 3,
110
+                    'connect_timeout' => 3,
111
+                ]
112
+            )->getBody());
113 113
 
114
-			if ($checkVersion) {
115
-				return !empty($response->version) && version_compare($response->version, '7.0.0', '>=');
116
-			} else {
117
-				return is_object($response);
118
-			}
119
-		} catch (\Exception $e) {
120
-			return false;
121
-		}
122
-	}
114
+            if ($checkVersion) {
115
+                return !empty($response->version) && version_compare($response->version, '7.0.0', '>=');
116
+            } else {
117
+                return is_object($response);
118
+            }
119
+        } catch (\Exception $e) {
120
+            return false;
121
+        }
122
+    }
123 123
 
124
-	/**
125
-	 * @PublicPage
126
-	 * @NoOutgoingFederatedSharingRequired
127
-	 * @NoIncomingFederatedSharingRequired
128
-	 *
129
-	 * @param string $remote
130
-	 * @return DataResponse
131
-	 */
132
-	public function testRemote($remote) {
133
-		if (
134
-			$this->testUrl('https://' . $remote . '/ocs-provider/') ||
135
-			$this->testUrl('https://' . $remote . '/ocs-provider/index.php') ||
136
-			$this->testUrl('https://' . $remote . '/status.php', true)
137
-		) {
138
-			return new DataResponse('https');
139
-		} elseif (
140
-			$this->testUrl('http://' . $remote . '/ocs-provider/') ||
141
-			$this->testUrl('http://' . $remote . '/ocs-provider/index.php') ||
142
-			$this->testUrl('http://' . $remote . '/status.php', true)
143
-		) {
144
-			return new DataResponse('http');
145
-		} else {
146
-			return new DataResponse(false);
147
-		}
148
-	}
124
+    /**
125
+     * @PublicPage
126
+     * @NoOutgoingFederatedSharingRequired
127
+     * @NoIncomingFederatedSharingRequired
128
+     *
129
+     * @param string $remote
130
+     * @return DataResponse
131
+     */
132
+    public function testRemote($remote) {
133
+        if (
134
+            $this->testUrl('https://' . $remote . '/ocs-provider/') ||
135
+            $this->testUrl('https://' . $remote . '/ocs-provider/index.php') ||
136
+            $this->testUrl('https://' . $remote . '/status.php', true)
137
+        ) {
138
+            return new DataResponse('https');
139
+        } elseif (
140
+            $this->testUrl('http://' . $remote . '/ocs-provider/') ||
141
+            $this->testUrl('http://' . $remote . '/ocs-provider/index.php') ||
142
+            $this->testUrl('http://' . $remote . '/status.php', true)
143
+        ) {
144
+            return new DataResponse('http');
145
+        } else {
146
+            return new DataResponse(false);
147
+        }
148
+    }
149 149
 
150 150
 }
Please login to merge, or discard this patch.
apps/files_sharing/lib/Controller/RemoteController.php 1 patch
Indentation   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -33,151 +33,151 @@
 block discarded – undo
33 33
 
34 34
 class RemoteController extends OCSController {
35 35
 
36
-	/** @var Manager */
37
-	private $externalManager;
38
-
39
-	/**
40
-	 * @NoAdminRequired
41
-	 *
42
-	 * Remote constructor.
43
-	 *
44
-	 * @param string $appName
45
-	 * @param IRequest $request
46
-	 * @param Manager $externalManager
47
-	 */
48
-	public function __construct($appName,
49
-								IRequest $request,
50
-								Manager $externalManager) {
51
-		parent::__construct($appName, $request);
52
-
53
-		$this->externalManager = $externalManager;
54
-	}
55
-
56
-	/**
57
-	 * @NoAdminRequired
58
-	 *
59
-	 * Get list of pending remote shares
60
-	 *
61
-	 * @return DataResponse
62
-	 */
63
-	public function getOpenShares() {
64
-		return new DataResponse($this->externalManager->getOpenShares());
65
-	}
66
-
67
-	/**
68
-	 * @NoAdminRequired
69
-	 *
70
-	 * Accept a remote share
71
-	 *
72
-	 * @param int $id
73
-	 * @return DataResponse
74
-	 * @throws OCSNotFoundException
75
-	 */
76
-	public function acceptShare($id) {
77
-		if ($this->externalManager->acceptShare($id)) {
78
-			return new DataResponse();
79
-		}
80
-
81
-		// Make sure the user has no notification for something that does not exist anymore.
82
-		$this->externalManager->processNotification($id);
83
-
84
-		throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
85
-	}
86
-
87
-	/**
88
-	 * @NoAdminRequired
89
-	 *
90
-	 * Decline a remote share
91
-	 *
92
-	 * @param int $id
93
-	 * @return DataResponse
94
-	 * @throws OCSNotFoundException
95
-	 */
96
-	public function declineShare($id) {
97
-		if ($this->externalManager->declineShare($id)) {
98
-			return new DataResponse();
99
-		}
100
-
101
-		// Make sure the user has no notification for something that does not exist anymore.
102
-		$this->externalManager->processNotification($id);
103
-
104
-		throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
105
-	}
106
-
107
-	/**
108
-	 * @param array $share Share with info from the share_external table
109
-	 * @return array enriched share info with data from the filecache
110
-	 */
111
-	private static function extendShareInfo($share) {
112
-		$view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
113
-		$info = $view->getFileInfo($share['mountpoint']);
114
-
115
-		$share['mimetype'] = $info->getMimetype();
116
-		$share['mtime'] = $info->getMTime();
117
-		$share['permissions'] = $info->getPermissions();
118
-		$share['type'] = $info->getType();
119
-		$share['file_id'] = $info->getId();
120
-
121
-		return $share;
122
-	}
123
-
124
-	/**
125
-	 * @NoAdminRequired
126
-	 *
127
-	 * List accepted remote shares
128
-	 *
129
-	 * @return DataResponse
130
-	 */
131
-	public function getShares() {
132
-		$shares = $this->externalManager->getAcceptedShares();
133
-		$shares = array_map('self::extendShareInfo', $shares);
134
-
135
-		return new DataResponse($shares);
136
-	}
137
-
138
-	/**
139
-	 * @NoAdminRequired
140
-	 *
141
-	 * Get info of a remote share
142
-	 *
143
-	 * @param int $id
144
-	 * @return DataResponse
145
-	 * @throws OCSNotFoundException
146
-	 */
147
-	public function getShare($id) {
148
-		$shareInfo = $this->externalManager->getShare($id);
149
-
150
-		if ($shareInfo === false) {
151
-			throw new OCSNotFoundException('share does not exist');
152
-		} else {
153
-			$shareInfo = self::extendShareInfo($shareInfo);
154
-			return new DataResponse($shareInfo);
155
-		}
156
-	}
157
-
158
-	/**
159
-	 * @NoAdminRequired
160
-	 *
161
-	 * Unshare a remote share
162
-	 *
163
-	 * @param int $id
164
-	 * @return DataResponse
165
-	 * @throws OCSNotFoundException
166
-	 * @throws OCSForbiddenException
167
-	 */
168
-	public function unshare($id) {
169
-		$shareInfo = $this->externalManager->getShare($id);
170
-
171
-		if ($shareInfo === false) {
172
-			throw new OCSNotFoundException('Share does not exist');
173
-		}
174
-
175
-		$mountPoint = '/' . \OC_User::getUser() . '/files' . $shareInfo['mountpoint'];
176
-
177
-		if ($this->externalManager->removeShare($mountPoint) === true) {
178
-			return new DataResponse();
179
-		} else {
180
-			throw new OCSForbiddenException('Could not unshare');
181
-		}
182
-	}
36
+    /** @var Manager */
37
+    private $externalManager;
38
+
39
+    /**
40
+     * @NoAdminRequired
41
+     *
42
+     * Remote constructor.
43
+     *
44
+     * @param string $appName
45
+     * @param IRequest $request
46
+     * @param Manager $externalManager
47
+     */
48
+    public function __construct($appName,
49
+                                IRequest $request,
50
+                                Manager $externalManager) {
51
+        parent::__construct($appName, $request);
52
+
53
+        $this->externalManager = $externalManager;
54
+    }
55
+
56
+    /**
57
+     * @NoAdminRequired
58
+     *
59
+     * Get list of pending remote shares
60
+     *
61
+     * @return DataResponse
62
+     */
63
+    public function getOpenShares() {
64
+        return new DataResponse($this->externalManager->getOpenShares());
65
+    }
66
+
67
+    /**
68
+     * @NoAdminRequired
69
+     *
70
+     * Accept a remote share
71
+     *
72
+     * @param int $id
73
+     * @return DataResponse
74
+     * @throws OCSNotFoundException
75
+     */
76
+    public function acceptShare($id) {
77
+        if ($this->externalManager->acceptShare($id)) {
78
+            return new DataResponse();
79
+        }
80
+
81
+        // Make sure the user has no notification for something that does not exist anymore.
82
+        $this->externalManager->processNotification($id);
83
+
84
+        throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
85
+    }
86
+
87
+    /**
88
+     * @NoAdminRequired
89
+     *
90
+     * Decline a remote share
91
+     *
92
+     * @param int $id
93
+     * @return DataResponse
94
+     * @throws OCSNotFoundException
95
+     */
96
+    public function declineShare($id) {
97
+        if ($this->externalManager->declineShare($id)) {
98
+            return new DataResponse();
99
+        }
100
+
101
+        // Make sure the user has no notification for something that does not exist anymore.
102
+        $this->externalManager->processNotification($id);
103
+
104
+        throw new OCSNotFoundException('wrong share ID, share doesn\'t exist.');
105
+    }
106
+
107
+    /**
108
+     * @param array $share Share with info from the share_external table
109
+     * @return array enriched share info with data from the filecache
110
+     */
111
+    private static function extendShareInfo($share) {
112
+        $view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
113
+        $info = $view->getFileInfo($share['mountpoint']);
114
+
115
+        $share['mimetype'] = $info->getMimetype();
116
+        $share['mtime'] = $info->getMTime();
117
+        $share['permissions'] = $info->getPermissions();
118
+        $share['type'] = $info->getType();
119
+        $share['file_id'] = $info->getId();
120
+
121
+        return $share;
122
+    }
123
+
124
+    /**
125
+     * @NoAdminRequired
126
+     *
127
+     * List accepted remote shares
128
+     *
129
+     * @return DataResponse
130
+     */
131
+    public function getShares() {
132
+        $shares = $this->externalManager->getAcceptedShares();
133
+        $shares = array_map('self::extendShareInfo', $shares);
134
+
135
+        return new DataResponse($shares);
136
+    }
137
+
138
+    /**
139
+     * @NoAdminRequired
140
+     *
141
+     * Get info of a remote share
142
+     *
143
+     * @param int $id
144
+     * @return DataResponse
145
+     * @throws OCSNotFoundException
146
+     */
147
+    public function getShare($id) {
148
+        $shareInfo = $this->externalManager->getShare($id);
149
+
150
+        if ($shareInfo === false) {
151
+            throw new OCSNotFoundException('share does not exist');
152
+        } else {
153
+            $shareInfo = self::extendShareInfo($shareInfo);
154
+            return new DataResponse($shareInfo);
155
+        }
156
+    }
157
+
158
+    /**
159
+     * @NoAdminRequired
160
+     *
161
+     * Unshare a remote share
162
+     *
163
+     * @param int $id
164
+     * @return DataResponse
165
+     * @throws OCSNotFoundException
166
+     * @throws OCSForbiddenException
167
+     */
168
+    public function unshare($id) {
169
+        $shareInfo = $this->externalManager->getShare($id);
170
+
171
+        if ($shareInfo === false) {
172
+            throw new OCSNotFoundException('Share does not exist');
173
+        }
174
+
175
+        $mountPoint = '/' . \OC_User::getUser() . '/files' . $shareInfo['mountpoint'];
176
+
177
+        if ($this->externalManager->removeShare($mountPoint) === true) {
178
+            return new DataResponse();
179
+        } else {
180
+            throw new OCSForbiddenException('Could not unshare');
181
+        }
182
+    }
183 183
 }
Please login to merge, or discard this patch.