--- /dev/null
+<?php\r
+ /**\r
+ * Tidypics Delete Photo Tag\r
+ * \r
+ */\r
+\r
+ gatekeeper();\r
+ action_gatekeeper();\r
+\r
+ //$user_id = get_input('user_id');\r
+ $image_guid = get_input('image_guid');\r
+ $tags = get_input('tags');\r
+ \r
+ \r
+ if ($image_guid == 0) {\r
+ register_error(elgg_echo("tidypics:phototagging:error"));\r
+ forward($_SERVER['HTTP_REFERER']);\r
+ }\r
+\r
+ $image = get_entity($image_guid);\r
+ if (!$image)\r
+ {\r
+ register_error(elgg_echo("tidypics:phototagging:error"));\r
+ forward($_SERVER['HTTP_REFERER']);\r
+ }\r
+ \r
+ foreach ($tags as $id => $value) {\r
+ // delete normal tag if it exists\r
+ if (is_array($image->tags)) {\r
+ $index = array_search($value[0], $image->tags);\r
+ if ($index !== false) {\r
+ $tagarray = $image->tags;\r
+ unset($tagarray[$index]);\r
+ $image->clearMetadata('tags');\r
+ $image->tags = $tagarray;\r
+ }\r
+ } else {\r
+ if ($value[0] === $image->tags) {\r
+ $image->clearMetadata('tags');\r
+ }\r
+ }\r
+ \r
+ // delete the photo tag annotation\r
+ delete_annotation($id);\r
+ }\r
+ \r
+ system_message(elgg_echo("tidypics:deletetag:success"));\r
+\r
+ forward($_SERVER['HTTP_REFERER']);\r
+\r
+?>\r
\r
// tagging\r
'tidypics:taginstruct' => 'Select area that you want to tag',\r
+ 'tidypics:deltag_title' => 'Select tags to delete',\r
'tidypics:finish_tagging' => 'Stop tagging',\r
'tidypics:tagthisphoto' => 'Tag this photo',\r
+ 'tidypics:deletetag' => 'Delete a photo tag',\r
'tidypics:actiontag' => 'Tag',\r
+ 'tidypics:actiondelete' => 'Delete',\r
+ 'tidypics:actioncancel' => 'Cancel',\r
'tidypics:inthisphoto' => 'In this photo',\r
'tidypics:phototagging:success' => 'Photo tag was successfully added',\r
'tidypics:phototagging:error' => 'Unexpected error occurred during tagging',\r
+ 'tidypics:deletetag:success' => 'Selected tags were successfully deleted',\r
+ \r
\r
//widgets\r
\r
register_action("tidypics/edit_multi", false, $CONFIG->pluginspath. "tidypics/actions/edit_multi.php");\r
register_action("tidypics/download", true, $CONFIG->pluginspath . "tidypics/actions/download.php");\r
register_action("tidypics/addtag", true, $CONFIG->pluginspath . "tidypics/actions/addtag.php");\r
+ register_action("tidypics/deletetag", true, $CONFIG->pluginspath . "tidypics/actions/deletetag.php");\r
\r
?>
\ No newline at end of file
$('#tag_control').text("Stop Tagging");\r
\r
showTagInstruct();\r
- \r
+ $('#delete_tag_menu').hide();\r
\r
$('#tidypics_image').hover(\r
function(){\r
//Show loading\r
//$("#tag_menu").replaceWith('<div align="center" class="ajax_loader"></div>');\r
}\r
+\r
+ function deleteTags()\r
+ {\r
+ offsetY = 60;\r
+ \r
+ divWidth = $('#delete_tag_menu').width();\r
+ imgOffset = $('#tidypics_image').offset();\r
+ imgWidth = $('#tidypics_image').width();\r
+ offsetX = parseInt((imgWidth - divWidth)/2);\r
+ \r
+ _top = imgOffset.top + offsetY;\r
+ _left = imgOffset.left + offsetX;\r
+\r
+ $('#delete_tag_menu').show().css({\r
+ "top": _top + "px",\r
+ "left": _left + "px"\r
+ });\r
+ \r
+ $('#tidypics_image').hover(\r
+ function(){\r
+ $('.tidypics_tag').hide();\r
+ },\r
+ function(){\r
+ $('.tidypics_tag').hide();\r
+ }\r
+ );\r
+ }\r
</script>
\ No newline at end of file
$photo_tags_json .= '{' . $photo_tag->coords . ',"text":"' . $phototag_text . '","id":"' . $p->id . '"},';
$photo_tag_links[] = array($p->id, $phototag_text); // gave up on associative array for now
+ $photo_tag_texts[$p->id] = $phototag_text;
}
$photo_tags_json = rtrim($photo_tags_json,',');
$photo_tags_json .= ']';
</div>
<?php
// image menu (start tagging, download, etc.)
+
echo '<div id="tidypics_controls"><ul>';
echo elgg_view('tidypics/image_menu', array('file_guid' => $file_guid,
'viewer' => $viewer,
- 'owner' => $owner,) );
+ 'owner' => $owner,
+ 'anytags' => $photo_tags != '',) );
echo '</ul></div>';
// tagging code
if (get_plugin_setting('tagging', 'tidypics') != "disabled") {
echo elgg_view('tidypics/tagging', array( 'photo_tags' => $photo_tags,
'links' => $photo_tag_links,
+ 'text' => $photo_tag_texts,
'photo_tags_json' => $photo_tags_json,
'file_guid' => $file_guid,
'viewer' => $viewer,
text-align:left;
}
+#delete_tag_menu {
+border:1px solid #3B5999;
+width:200px;
+position:absolute;
+z-index:10000;
+display:none;
+background:#ffffff;
+padding:10px;
+font-size:12px;
+text-align:left;
+}
+
.tidypics_tag {
display:none;
background:url(<?php echo $vars['url']; ?>mod/tidypics/graphics/spacer.gif);
$file_guid = $vars['file_guid'];\r
$viewer = $vars['viewer'];\r
$owner = $vars['owner'];\r
- \r
+ $anytags = $vars['anytags'];\r
+\r
if (get_plugin_setting('tagging', 'tidypics') != "disabled") {\r
// only owner and friends of owner can tag\r
if ($viewer && $viewer->guid == $owner->guid || user_is_friend($owner->guid, $viewer->guid)) {\r
?>\r
<li id="start_tagging"><a id="tag_control" href="javascript:void(0)" onclick="startTagging()"><?= elgg_echo('tidypics:tagthisphoto') ?></a></li>\r
+<?php\r
+ }\r
+ \r
+ // only owner can delete tags\r
+ if ($anytags && $viewer && $viewer->guid == $owner->guid) {\r
+?>\r
+<li id="delete_tags"><a href="javascript:void(0)" onclick="deleteTags()"><?= elgg_echo('tidypics:deletetag') ?></a></li>\r
<?php\r
}\r
}\r
+ \r
if (get_plugin_setting('download_link', 'tidypics') != "disabled") { \r
?>\r
<li id="download_image"><a href="<?php echo $vars['url']; ?>action/tidypics/download?file_guid=<?php echo $file_guid; ?>"><?php echo elgg_echo("image:download"); ?></a></li>\r
$file_guid = $vars['file_guid'];\r
$viewer = $vars['viewer'];\r
$owner = $vars['owner'];\r
+ $tag_texts = $vars['text'];\r
\r
if ($photo_tags) { \r
?>\r
\r
?>\r
</div>\r
+<div id="delete_tag_menu">\r
<?php\r
+ if ($photo_tags) {\r
+ echo elgg_echo('tidypics:deltag_title') . '<br />';\r
+ $content = "<input type='hidden' name='image_guid' value='{$file_guid}' />";\r
+ foreach ($tag_texts as $id => $text) {\r
+ $name = "tags[{$id}]";\r
+ $content .= elgg_view("input/checkboxes", array('options' => array($text => $text), 'internalname' => $name, 'value' => '' ));\r
+ }\r
+ $content .= "<fieldset><button class='submit_button' type='submit'>" . elgg_echo('tidypics:actiondelete') . "</button></fieldset>";\r
+\r
+ echo elgg_view('input/form', array('internalname' => 'form-deletetag', 'action' => "{$vars['url']}action/tidypics/deletetag", 'body' => $content));\r
+\r
+ }\r
+ echo '</div>'; // delete_tag_menu\r
+ \r
echo elgg_view('js/tagging', array('photo_tags_json' => $photo_tags_json,) );\r
?>
\ No newline at end of file