diff --git a/mod/photos.php b/mod/photos.php index 8957751cf0..97587cbb5d 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -850,6 +850,8 @@ function photos_content(&$a) { $tag_str .= bbcode($t); } $o .= $tag_str . ''; + if($cmd === 'edit') + $o .= '
' . t('[Remove any tag]') . '
'; } diff --git a/mod/tagrm.php b/mod/tagrm.php new file mode 100644 index 0000000000..99d22f3d2a --- /dev/null +++ b/mod/tagrm.php @@ -0,0 +1,99 @@ +get_baseurl() . '/' . $_SESSION['photo_return']); + + + if((x($_POST,'submit')) && ($_POST['submit'] === t('Cancel'))) + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + + $tag = ((x($_POST,'tag')) ? hex2bin(notags(trim($_POST['tag']))) : ''); + $item = ((x($_POST,'item')) ? intval($_POST['item']) : 0 ); + + $r = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($item), + intval(local_user()) + ); + + if(! count($r)) + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + + $arr = explode(',', $r[0]['tag']); + for($x = 0; $x < count($arr); $x ++) { + if($arr[$x] === $tag) { + unset($arr[$x]); + break; + } + } + + $tag_str = implode(',',$arr); + + q("UPDATE `item` SET `tag` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1", + dbesc($tag_str), + intval($item), + intval(local_user()) + ); + + notice( t('Tag removed') . EOL ); + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + + // NOTREACHED + +} + + + +function tagrm_content(&$a) { + + $o = ''; + + if(! local_user()) { + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + // NOTREACHED + } + + $item = (($a->argc > 1) ? intval($a->argv[1]) : 0); + if(! $item) { + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + // NOTREACHED + } + + + $r = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($item), + intval(local_user()) + ); + + if(! count($r)) + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + + $arr = explode(',', $r[0]['tag']); + + if(! count($arr)) + goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); + + $o .= '

' . t('Remove Item Tag') . '

'; + + $o .= '

' . t('Select a tag to remove: ') . '

'; + + $o .= '
'; + $o .= ''; + $o .= ''; + $o .= ''; + $o .= ''; + $o .= '
'; + + return $o; + +} \ No newline at end of file diff --git a/view/theme/default/style.css b/view/theme/default/style.css index 5f82bff625..249fb2a951 100644 --- a/view/theme/default/style.css +++ b/view/theme/default/style.css @@ -1796,4 +1796,20 @@ a.mail-list-link { } .contact-block-link { float: left; -} \ No newline at end of file +} + +#tag-remove { + margin-bottom: 15px; +} + +#tagrm li { + margin-bottom: 10px; +} + +#tagrm-submit, #tagrm-cancel { + margin-top: 25px; +} + +#tagrm-cancel { + margin-left: 15px; +}