summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-11-01 22:36:09 +0100
committerGitHub <noreply@github.com>2018-11-01 22:36:09 +0100
commitf28691c26edb5b6f01330946445316d25d175fcb (patch)
tree77bc0b87e611677611750cd668be7e106a8b84a5 /lib/private
parent35e3d40e803653e2fdfcd775eefc2d8a9a183d80 (diff)
parent876d6ec8e6b1e38215659fd606b7d7022bdb8460 (diff)
downloadnextcloud-server-f28691c26edb5b6f01330946445316d25d175fcb.tar.gz
nextcloud-server-f28691c26edb5b6f01330946445316d25d175fcb.zip
Merge pull request #11844 from nextcloud/multiple-link-shares
allow to create multiple link shares via share api
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Share20/DefaultShareProvider.php9
-rw-r--r--lib/private/Share20/Share.php17
2 files changed, 25 insertions, 1 deletions
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 3dcca0facbc..50111054546 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -146,6 +146,8 @@ class DefaultShareProvider implements IShareProvider {
//Set the GID of the group we share with
$qb->setValue('share_with', $qb->createNamedParameter($share->getSharedWith()));
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_LINK) {
+ //set label for public link
+ $qb->setValue('label', $qb->createNamedParameter($share->getLabel()));
//Set the token of the share
$qb->setValue('token', $qb->createNamedParameter($share->getToken()));
@@ -225,6 +227,9 @@ class DefaultShareProvider implements IShareProvider {
*
* @param \OCP\Share\IShare $share
* @return \OCP\Share\IShare The share object
+ * @throws ShareNotFound
+ * @throws \OCP\Files\InvalidPathException
+ * @throws \OCP\Files\NotFoundException
*/
public function update(\OCP\Share\IShare $share) {
@@ -296,6 +301,7 @@ class DefaultShareProvider implements IShareProvider {
->set('token', $qb->createNamedParameter($share->getToken()))
->set('expiration', $qb->createNamedParameter($share->getExpirationDate(), IQueryBuilder::PARAM_DATE))
->set('note', $qb->createNamedParameter($share->getNote()))
+ ->set('label', $qb->createNamedParameter($share->getLabel()))
->set('hide_download', $qb->createNamedParameter($share->getHideDownload() ? 1 : 0), IQueryBuilder::PARAM_INT)
->execute();
}
@@ -919,7 +925,8 @@ class DefaultShareProvider implements IShareProvider {
->setPermissions((int)$data['permissions'])
->setTarget($data['file_target'])
->setNote($data['note'])
- ->setMailSend((bool)$data['mail_send']);
+ ->setMailSend((bool)$data['mail_send'])
+ ->setLabel($data['label']);
$shareTime = new \DateTime();
$shareTime->setTimestamp((int)$data['stime']);
diff --git a/lib/private/Share20/Share.php b/lib/private/Share20/Share.php
index e218360f87b..f9b548c1adf 100644
--- a/lib/private/Share20/Share.php
+++ b/lib/private/Share20/Share.php
@@ -76,6 +76,8 @@ class Share implements \OCP\Share\IShare {
private $shareTime;
/** @var bool */
private $mailSend;
+ /** @var string */
+ private $label = '';
/** @var IRootFolder */
private $rootFolder;
@@ -337,6 +339,21 @@ class Share implements \OCP\Share\IShare {
/**
* @inheritdoc
*/
+ public function setLabel($label) {
+ $this->label = $label;
+ return $this;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function getLabel() {
+ return $this->label;
+ }
+
+ /**
+ * @inheritdoc
+ */
public function setExpirationDate($expireDate) {
//TODO checks