aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--actions/addtag.php47
-rw-r--r--views/default/object/image.php16
2 files changed, 49 insertions, 14 deletions
diff --git a/actions/addtag.php b/actions/addtag.php
index 8974d9a28..309058e1c 100644
--- a/actions/addtag.php
+++ b/actions/addtag.php
@@ -4,19 +4,54 @@
*
*/
- // Make sure we're logged in (send us to the front page if not)
- if (!isloggedin()) forward();
-
+ gatekeeper();
+ action_gatekeeper();
+
$coordinates_str = get_input('coordinates');
error_log($coordinates_str);
-
+
$user_id = get_input('user_id');
- //$entity_guid = get_input('entity_guid', null);
+ $image_guid = get_input('image_guid');
$word = get_input('word');
-
+
error_log($word);
error_log($user_id);
+ if ($image_guid == 0) {
+ register_error("error");
+ forward($_SERVER['HTTP_REFERER']);
+ }
+
+ $image = get_entity($image_guid);
+ if (!$image)
+ {
+ register_error(elgg_echo("image:phototagging:notexists"));
+ forward($_SERVER['HTTP_REFERER']);
+ }
+
+ if ($user_id != 0) {
+ $relationships_type = 'user';
+ $value = $user_id;
+ } else {
+ $relationships_type = 'word';
+ $value = $word;
+ }
+
+ // test for empty tag
+
+ // create string for javascript tag object
+ $tag->coords = $coordinates_str;
+ $tag->type = $relationships_type;
+ $tag->value = $value;
+
+ $access_id = $image->getAccessID();
+ $owner_id = get_loggedin_userid();
+
+ //Save annotation
+ if ($image->annotate('phototag', serialize($tag), $access_id, $owner_id)) {
+ system_message(elgg_echo("image:tagged"));
+ }
+
forward($_SERVER['HTTP_REFERER']);
diff --git a/views/default/object/image.php b/views/default/object/image.php
index e4cd4d067..af4a46b4b 100644
--- a/views/default/object/image.php
+++ b/views/default/object/image.php
@@ -104,7 +104,7 @@
$viewer = get_loggedin_user();
$friends = get_entities_from_relationship('friend', $viewer->getGUID(), false, 'user', '', 0);
- $content = "<input type='hidden' name='entity_guid' value='{$file_guid}' />";
+ $content = "<input type='hidden' name='image_guid' value='{$file_guid}' />";
$content .= "<input type='hidden' name='coordinates' id='coordinates' value='' />";
$content .= "<input type='hidden' name='user_id' id='user_id' value='' />";
$content .= "<input type='hidden' name='word' id='word' value='' />";
@@ -378,17 +378,17 @@
function addTag()
{
+ // do I need a catch for no tag?
+
$("input#user_id").val(user_id);
$("input#word").val( $("input.input-filter").val() );
- if (coordinates.x1 != 0)
- {
- coord_string = "";
- for (x in coordinates)
- coord_string += x + ':' + coordinates[x] + '/';
+ coord_string = '"x1":"' + coordinates.x1 + '",';
+ coord_string += '"y1":"' + coordinates.y1 + '",';
+ coord_string += '"width":"' + coordinates.width + '",';
+ coord_string += '"height":"' + coordinates.height + '"';
- $("input#coordinates").val(coord_string);
- }
+ $("input#coordinates").val(coord_string);
/*
//Show loading
jQuery("#cont-menu label, #cont-menu input, #cont-menu p, #cont-menu span, #cont-menu button, #cont-menu ul, #cont-menu fieldset").hide();