X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Ftagger.php;h=3ff5d57aa2091af318bbe43fce5b0da8612f14ac;hb=60871555f539caec07f2dcfe37f11fc090bac1be;hp=c64184db77bd9f2c895bd37b38e7e03f1b113273;hpb=fe2c8a18454253df09f20c8821d7d6e14c0ea8e0;p=friendica.git diff --git a/mod/tagger.php b/mod/tagger.php index c64184db77..3ff5d57aa2 100644 --- a/mod/tagger.php +++ b/mod/tagger.php @@ -11,7 +11,9 @@ function tagger_content(&$a) { return; } - $term= notags(trim($_GET['term'])); + $term = notags(trim($_GET['term'])); + // no commas allowed + $term = str_replace(array(',',' '),array('','_'),$term); if(! $term) return; @@ -21,8 +23,7 @@ function tagger_content(&$a) { logger('tagger: tag ' . $term . ' item ' . $item_id); - $r = q("SELECT * FROM `item` WHERE ( `id` = '%s' OR `uri` = '%s') LIMIT 1", - dbesc($item_id), + $r = q("SELECT * FROM `item` WHERE `id` = '%s' LIMIT 1", dbesc($item_id) ); @@ -35,15 +36,16 @@ function tagger_content(&$a) { $owner_uid = $item['uid']; - $r = q("select `nickname` from user where uid = %d limit 1", + $r = q("select `nickname`,`blocktags` from user where uid = %d limit 1", intval($owner_uid) ); - if(count($r)) + if(count($r)) { $owner_nick = $r[0]['nickname']; + $blocktags = $r[0]['blocktags']; + } - -// if(local_user() != $owner_uid) -// return; + if(local_user() != $owner_uid) + return; if(remote_user()) { $r = q("select * from contact where id = %d AND `uid` = %d limit 1", @@ -103,7 +105,7 @@ EOT; if(! isset($bodyverb)) return; - $termlink = '#[url=' . $a->get_baseurl() . '/search?search=' . urlencode($term) . ']'. $term . '[/url]'; + $termlink = html_entity_decode('⌗') . '[url=' . $a->get_baseurl() . '/search?search=' . urlencode($term) . ']'. $term . '[/url]'; $arr = array(); @@ -132,6 +134,7 @@ EOT; $arr['target'] = $target; $arr['object-type'] = $objtype; $arr['object'] = $obj; + $arr['private'] = $item['private']; $arr['allow_cid'] = $item['allow_cid']; $arr['allow_gid'] = $item['allow_gid']; $arr['deny_cid'] = $item['deny_cid']; @@ -156,13 +159,39 @@ EOT; ); } + if((! $blocktags) && (! stristr($item['tag'], ']' . $term . '[' ))) { + q("update item set tag = '%s' where id = %d limit 1", + dbesc($item['tag'] . (strlen($item['tag']) ? ',' : '') . '#[url=' . $a->get_baseurl() . '/search?search=' . $term . ']'. $term . '[/url]'), + intval($item['id']) + ); + } + // if the original post is on this site, update it. + + $r = q("select `tag`,`id`,`uid` from item where `origin` = 1 AND `uri` = '%s' LIMIT 1", + dbesc($item['uri']) + ); + if(count($r)) { + $x = q("SELECT `blocktags` FROM `user` WHERE `uid` = %d limit 1", + intval($r[0]['uid']) + ); + if(count($x) && !$x[0]['blocktags'] && (! stristr($r[0]['tag'], ']' . $term . '['))) { + q("update item set tag = '%s' where id = %d limit 1", + dbesc($r[0]['tag'] . (strlen($r[0]['tag']) ? ',' : '') . '#[url=' . $a->get_baseurl() . '/search?search=' . $term . ']'. $term . '[/url]'), + intval($r[0]['id']) + ); + } + + } + $arr['id'] = $post_id; call_hooks('post_local_end', $arr); - proc_run('php',"include/notifier.php","like","$post_id"); + proc_run('php',"include/notifier.php","tag","$post_id"); + + killme(); return; // NOTREACHED