summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMichael Gapczynski <GapczynskiM@gmail.com>2011-08-16 21:32:51 -0400
committerMichael Gapczynski <GapczynskiM@gmail.com>2011-08-16 21:32:51 -0400
commitb7b3a4920341f00e2f544ca7f883a93dab019756 (patch)
treeedc46c1f2baee65e7749587798ffcac6d102d7a3 /apps
parent0edce1796b1607dd349f7b1b70fa56aa2e792266 (diff)
downloadnextcloud-server-b7b3a4920341f00e2f544ca7f883a93dab019756.tar.gz
nextcloud-server-b7b3a4920341f00e2f544ca7f883a93dab019756.zip
Functions to get the token of a public link now stored by OC_Share, remove no longer needed ajax call to getlink.php
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/ajax/share.php5
-rw-r--r--apps/files_sharing/js/share.js15
-rw-r--r--apps/files_sharing/lib_share.php23
3 files changed, 33 insertions, 10 deletions
diff --git a/apps/files_sharing/ajax/share.php b/apps/files_sharing/ajax/share.php
index f0166f391db..d9bf4ff7abe 100644
--- a/apps/files_sharing/ajax/share.php
+++ b/apps/files_sharing/ajax/share.php
@@ -11,7 +11,10 @@ foreach ($sources as $source) {
if ($source && OC_FILESYSTEM::file_exists($source) && OC_FILESYSTEM::is_readable($source)) {
$source = "/".OC_User::getUser()."/files".$source;
try {
- new OC_Share($source, $uid_shared_with, $permissions);
+ $shared = new OC_Share($source, $uid_shared_with, $permissions);
+ if ($uid_shared_with == OC_Share::PUBLICLINK) {
+ echo $shared->getToken();
+ }
} catch (Exception $exception) {
echo "false";
}
diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js
index 18d8da85403..f9500ffd000 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -145,9 +145,8 @@ $(document).ready(function() {
url: OC.linkTo('files_sharing','ajax/share.php'),
cache: false,
data: data,
- success: function(result) {
- if (result !== 'false') {
- var token = 1234;
+ success: function(token) {
+ if (token) {
showPublicLink(token);
}
}
@@ -205,7 +204,10 @@ function createDropdown(filename, files) {
$.getJSON(OC.linkTo('files_sharing', 'ajax/getitem.php'), { source: files }, function(users) {
if (users) {
$.each(users, function(index, row) {
- if (isNaN(index)) {
+ if (row.uid_shared_with == 'public') {
+ var token = 1234;
+ showPublicLink(token);
+ } else if (isNaN(index)) {
addUser(row.uid_shared_with, row.permissions, index.substr(0, index.lastIndexOf('-')));
} else {
addUser(row.uid_shared_with, row.permissions, false);
@@ -213,11 +215,6 @@ function createDropdown(filename, files) {
});
}
});
-// $.getJSON(OC.linkTo('files_publiclink', 'ajax/getlink.php'), { path: files }, function(token) {
-// if (token) {
-// showPublicLink(token);
-// }
-// });
$('#dropdown').show('blind');
$('#share_with').chosen();
}
diff --git a/apps/files_sharing/lib_share.php b/apps/files_sharing/lib_share.php
index 0aae45e54ce..f682e1a30f1 100644
--- a/apps/files_sharing/lib_share.php
+++ b/apps/files_sharing/lib_share.php
@@ -277,6 +277,29 @@ class OC_Share {
}
/**
+ * Get the token for a public link
+ * @return The token of the public link, a sha1 hash
+ */
+ public function getToken() {
+ return $this->token;
+ }
+
+ /**
+ * Get the token for a public link
+ * @param $source The source location of the item
+ * @return The token of the public link, a sha1 hash
+ */
+ public static function getTokenFromSource($source) {
+ $query = OC_DB::prepare("SELECT target FROM *PREFIX*sharing WHERE source = ? AND uid_shared_with = ? AND uid_owner = ? LIMIT 1");
+ $result = $query->execute(array($source, self::PUBLICLINK, OC_User::getUser()))->fetchAll();
+ if (count($result) > 0) {
+ return $result[0]['target'];
+ } else {
+ return false;
+ }
+ }
+
+ /**
* Set the source location to a new value
* @param $oldSource The current source location
* @param $newTarget The new source location