]> git.mxchange.org Git - friendica.git/commitdiff
Add Link promt in comment + only add URL instead of attachement via parse_url
authorJonny Tischbein <jonny_tischbein@systemli.org>
Wed, 17 Oct 2018 19:05:45 +0000 (21:05 +0200)
committerJonny Tischbein <jonny_tischbein@systemli.org>
Wed, 17 Oct 2018 19:05:45 +0000 (21:05 +0200)
mod/parse_url.php
view/theme/frio/js/textedit.js
view/theme/frio/templates/comment_item.tpl

index 40eddc3bdd5053afcd93e1581048d4f13f9baf1f..a68f405de83b0335d993dcead15b36c5212ba4ff 100644 (file)
@@ -92,6 +92,11 @@ function parse_url_content(App $a)
                }
        }
 
+       if(!empty($_GET['isComment'])) {
+               echo $br . '[url]' . $url . '[/url]';
+               exit();
+       }
+
        $template = '[bookmark=%s]%s[/bookmark]%s';
 
        $arr = ['url' => $url, 'text' => ''];
index ad5f9502341bc7e5fa5b4e205fa3ebc68e9eaabd..551298b726cebdd20af8e5044b4aedf44af23262 100644 (file)
@@ -2,6 +2,55 @@
  * @brief The file contains functions for text editing and commenting
  */
 
+function initComment(callback) {
+    if (typeof callback != "undefined") {
+        callback();
+    }
+}
+
+function commentGetLink(id) {
+    reply = prompt("Please enter a link URL:");
+    if(reply && reply.length) {
+        reply = bin2hex(reply);
+        $.get('parse_url?isComment=1&binurl=' + reply, function(data) {
+            addcommenttext(data, id);
+        });
+    }
+}
+
+function addcommenttext(data, id) {
+    // get the textfield
+    var textfield = document.getElementById("comment-edit-text-" + id);
+    // check if the textfield does have the default-value
+    commentOpenUI(textfield, id);
+    // save already existent content
+    var currentText = $("#comment-edit-text-" + id).val();
+    //insert the data as new value
+    textfield.value = currentText + data;
+    autosize.update($("#comment-edit-text-" + id));
+}
+
+function commentlinkdrop(event, id) {
+    var reply = event.dataTransfer.getData("text/uri-list");
+    event.target.textContent = reply;
+    event.preventDefault();
+    if(reply && reply.length) {
+        reply = bin2hex(reply);
+        $.get('parse_url?isComment=1&binurl=' + reply, function(data) {
+            if (!editor) $("comment-edit-text-" + id).val("");
+            initComment(function(){
+                addcommenttext(data, id);
+            });
+        });
+    }
+}
+
+function commentlinkdropper(event) {
+    var linkFound = event.dataTransfer.types.contains("text/uri-list");
+    if(linkFound)
+        event.preventDefault();
+}
+
 
 function insertFormatting(BBcode, id) {
        var tmpStr = $("#comment-edit-text-" + id).val();
index 8d90394d580c64b7318288803ac329431f43dfe8..a9b85d3e79d7dc6e124a558591b33480eb590adf 100644 (file)
@@ -38,7 +38,7 @@
                                        </button>
                                </li>
                                <li>
-                                       <button type="button" class="btn-link icon bb-url" style="cursor: pointer;" aria-label="{{$edurl}}" title="{{$edurl}}" onclick="insertFormatting('url',{{$id}});">
+                                       <button type="button" class="btn-link icon bb-url" style="cursor: pointer;" aria-label="{{$edurl}}" title="{{$edurl}}" ondragenter="return commentlinkdrop(event, {{$id}});" ondragover="return commentlinkdrop(event, {{$id}});" ondrop="commentlinkdropper(event);" onclick="commentGetLink({{$id}});">
                                                <i class="fa fa-link"></i>
                                        </button>
                                </li>