support upload of files and attachments into comments. This has some repercussions when it comes to post permissions since the commenter will not know the distribution of the post. Basically the files will be uploaded with the commenter's default ACL. Most of the time this will do the right thing.
This commit is contained in:
parent
a7a73a5150
commit
ca11d7b9a7
@ -735,6 +735,7 @@ class ThreadItem {
|
|||||||
'$edquote' => t('Quote'),
|
'$edquote' => t('Quote'),
|
||||||
'$edcode' => t('Code'),
|
'$edcode' => t('Code'),
|
||||||
'$edimg' => t('Image'),
|
'$edimg' => t('Image'),
|
||||||
|
'$edatt' => t('Attach File'),
|
||||||
'$edurl' => t('Insert Link'),
|
'$edurl' => t('Insert Link'),
|
||||||
'$edvideo' => t('Video'),
|
'$edvideo' => t('Video'),
|
||||||
'$preview' => t('Preview'), // ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
|
'$preview' => t('Preview'), // ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
|
||||||
|
@ -132,6 +132,19 @@ function inserteditortag(BBcode, id) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function insertCommentAttach(comment,id) {
|
||||||
|
|
||||||
|
activeCommentID = id;
|
||||||
|
activeCommentText = comment;
|
||||||
|
|
||||||
|
$('body').css('cursor', 'wait');
|
||||||
|
|
||||||
|
$('#invisible-comment-upload').trigger('click');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function insertCommentURL(comment, id) {
|
function insertCommentURL(comment, id) {
|
||||||
reply = prompt(aStr.linkurl);
|
reply = prompt(aStr.linkurl);
|
||||||
if(reply && reply.length) {
|
if(reply && reply.length) {
|
||||||
|
@ -47,6 +47,9 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group mr-2">
|
<div class="btn-group mr-2">
|
||||||
|
<button class="btn btn-outline-secondary btn-sm" title="{{$edatt}}" onclick="insertCommentAttach('{{$comment}}',{{$id}}); return false;">
|
||||||
|
<i class="fa fa-paperclip comment-icon"></i>
|
||||||
|
</button>
|
||||||
<button class="btn btn-outline-secondary btn-sm" title="{{$edurl}}" onclick="insertCommentURL('{{$comment}}',{{$id}}); return false;">
|
<button class="btn btn-outline-secondary btn-sm" title="{{$edurl}}" onclick="insertCommentURL('{{$comment}}',{{$id}}); return false;">
|
||||||
<i class="fa fa-link comment-icon"></i>
|
<i class="fa fa-link comment-icon"></i>
|
||||||
</button>
|
</button>
|
||||||
|
@ -106,6 +106,9 @@ function enableOnUser(){
|
|||||||
<script src="library/blueimp_upload/js/jquery.fileupload.js"></script>
|
<script src="library/blueimp_upload/js/jquery.fileupload.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
var activeCommentID = 0;
|
||||||
|
var activeCommentText = '';
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
/* enable tinymce on focus and click */
|
/* enable tinymce on focus and click */
|
||||||
$("#profile-jot-text").focus(enableOnUser);
|
$("#profile-jot-text").focus(enableOnUser);
|
||||||
@ -139,6 +142,34 @@ function enableOnUser(){
|
|||||||
DragDropUploadInit();
|
DragDropUploadInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$('#invisible-comment-upload').fileupload({
|
||||||
|
url: 'wall_attach/{{$nickname}}',
|
||||||
|
dataType: 'json',
|
||||||
|
maxChunkSize: 4 * 1024 * 1024,
|
||||||
|
add: function(e,data) {
|
||||||
|
|
||||||
|
var tmpStr = $("#comment-edit-text-" + activeCommentID).val();
|
||||||
|
if(tmpStr == activeCommentText) {
|
||||||
|
tmpStr = "";
|
||||||
|
$("#comment-edit-text-" + activeCommentID).addClass("comment-edit-text-full");
|
||||||
|
$("#comment-edit-text-" + activeCommentID).removeClass("comment-edit-text-empty");
|
||||||
|
openMenu("comment-tools-" + activeCommentID);
|
||||||
|
$("#comment-edit-text-" + activeCommentID).val(tmpStr);
|
||||||
|
}
|
||||||
|
data.submit();
|
||||||
|
},
|
||||||
|
|
||||||
|
done: function(e,data) {
|
||||||
|
textarea = document.getElementById("comment-edit-text-" + activeCommentID);
|
||||||
|
textarea.value = textarea.value + data.result.message;
|
||||||
|
},
|
||||||
|
stop: function(e,data) {
|
||||||
|
$('body').css('cursor', 'auto');
|
||||||
|
preview_comment(activeCommentID);
|
||||||
|
activeCommentID = 0;
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function deleteCheckedItems() {
|
function deleteCheckedItems() {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<input id="invisible-wall-file-upload" type="file" name="files" style="visibility:hidden;position:absolute;top:-50;left:-50;width:0;height:0;" multiple>
|
<input id="invisible-wall-file-upload" type="file" name="files" style="visibility:hidden;position:absolute;top:-50;left:-50;width:0;height:0;" multiple>
|
||||||
|
<input id="invisible-comment-upload" type="file" name="files" style="visibility:hidden;position:absolute;top:-50;left:-50;width:0;height:0;" multiple>
|
||||||
<form id="profile-jot-form" action="{{$action}}" method="post" class="acl-form" data-form_id="profile-jot-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
|
<form id="profile-jot-form" action="{{$action}}" method="post" class="acl-form" data-form_id="profile-jot-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
|
||||||
{{$mimeselect}}
|
{{$mimeselect}}
|
||||||
{{$layoutselect}}
|
{{$layoutselect}}
|
||||||
|
Reference in New Issue
Block a user