Allow all users to create and link people tags.

This commit is contained in:
2016-11-13 14:42:53 +01:00
parent 7f5ce1820d
commit 0a55730696
6 changed files with 94 additions and 63 deletions

View File

@@ -134,7 +134,7 @@ class PhotoPage extends SubTemplate
{
echo '
<h3>Tags</h3>
<ul>';
<ul id="tag_list">';
foreach ($this->photo->getTags() as $tag)
{
@@ -153,9 +153,7 @@ class PhotoPage extends SubTemplate
echo '
<div>
<h3>Link tags</h3>
<ul id="tag_list">
<li id="new_tag_container"><input type="text" id="new_tag" placeholder="Type to link a new tag"></li>
</ul>
<p style="position: relative"><input type="text" id="new_tag" placeholder="Type to link a new tag"></p>
</div>
<script type="text/javascript" src="', BASEURL, '/js/ajax.js"></script>
<script type="text/javascript" src="', BASEURL, '/js/autosuggest.js"></script>
@@ -166,26 +164,15 @@ class PhotoPage extends SubTemplate
listElement: "tag_list",
baseUrl: "', BASEURL, '",
appendCallback: function(item) {
if (document.getElementById("linked_tag_" + item.id_tag)) {
return;
}
var request = new HttpRequest("post", "', $this->photo->getPageUrl(), '",
"id_tag=" + item.id_tag, function(response) {
var newNode = document.createElement("li");
var newLabel = document.createTextNode(item.label);
newNode.appendChild(newLabel);
var newCheck = document.createElement("input");
newCheck.type = "checkbox";
newCheck.name = "tag[" + item.id_tag + "]";
newCheck.id = "linked_tag_" + item.id_tag;
newCheck.title = "Uncheck to delete";
newCheck.checked = "checked";
var newNode = document.createElement("li");
newNode.appendChild(newCheck);
var newLabel = document.createTextNode(item.label);
newNode.appendChild(newLabel);
var list = document.getElementById("tag_list");
var input = document.getElementById("new_tag_container");
list.insertBefore(newNode, input);
var list = document.getElementById("tag_list");
list.appendChild(newNode);
}, this);
}
});
}, 100);