Initial merging of files_sharing and files_publiclink

This commit is contained in:
Michael Gapczynski 2011-08-16 20:21:18 -04:00
parent 9c3a836044
commit 582dca4d91
2 changed files with 64 additions and 49 deletions

View File

@ -136,23 +136,29 @@ $(document).ready(function() {
$('#makelink').live('change', function() {
if (this.checked) {
var data = 'path='+$('#dropdown').data('file')+'&expire=0';
var source = $('#dropdown').data('file');
var uid_shared_with = "public";
var permissions = 0;
var data = 'sources='+encodeURIComponent(source)+'&uid_shared_with='+encodeURIComponent(uid_shared_with)+'&permissions='+encodeURIComponent(permissions);
$.ajax({
type: 'GET',
url: OC.linkTo('files_publiclink','ajax/makelink.php'),
type: 'POST',
url: OC.linkTo('files_sharing','ajax/share.php'),
cache: false,
data: data,
success: function(token) {
if (token) {
success: function(result) {
if (result !== 'false') {
var token = 1234;
showPublicLink(token);
}
}
});
} else {
var data = 'token='+$('#link').data('token');
var source = $('#dropdown').data('file');
var uid_shared_with = "public";
var data = 'source='+encodeURIComponent(source)+'&uid_shared_with='+encodeURIComponent(uid_shared_with);
$.ajax({
type: 'GET',
url: OC.linkTo('files_publiclink','ajax/deletelink.php'),
url: OC.linkTo('files_sharing','ajax/unshare.php'),
cache: false,
data: data,
success: function(){
@ -207,11 +213,11 @@ function createDropdown(filename, files) {
});
}
});
$.getJSON(OC.linkTo('files_publiclink', 'ajax/getlink.php'), { path: files }, function(token) {
if (token) {
showPublicLink(token);
}
});
// $.getJSON(OC.linkTo('files_publiclink', 'ajax/getlink.php'), { path: files }, function(token) {
// if (token) {
// showPublicLink(token);
// }
// });
$('#dropdown').show('blind');
$('#share_with').chosen();
}

View File

@ -30,6 +30,9 @@ class OC_Share {
const WRITE = 1;
const DELETE = 2;
const PUBLICLINK = "public";
private $token;
/**
* Share an item, adds an entry into the database
@ -39,6 +42,12 @@ class OC_Share {
*/
public function __construct($source, $uid_shared_with, $permissions) {
$uid_owner = OC_User::getUser();
$query = OC_DB::prepare("INSERT INTO *PREFIX*sharing VALUES(?,?,?,?,?)");
if ($uid_shared_with == self::PUBLICLINK) {
$token = sha1("$uid_shared_with-$source");
$query->execute(array($uid_owner, self::PUBLICLINK, $source, $token, $permissions));
$this->token = $token;
} else {
if (OC_Group::groupExists($uid_shared_with)) {
$gid = $uid_shared_with;
$uid_shared_with = OC_Group::usersInGroup($gid);
@ -79,10 +88,10 @@ class OC_Share {
if (isset($gid)) {
$uid = $uid."@".$gid;
}
$query = OC_DB::prepare("INSERT INTO *PREFIX*sharing VALUES(?,?,?,?,?)");
$query->execute(array($uid_owner, $uid, $source, $target, $permissions));
}
}
}
/**
* Remove any duplicate or trailing '/' from the path