]> git.mxchange.org Git - friendica.git/commitdiff
add tag to term table. fix "#xNNNN" tag filter.
authorFabrixxm <fabrix.xm@gmail.com>
Sat, 3 Aug 2013 19:12:50 +0000 (15:12 -0400)
committerFabrixxm <fabrix.xm@gmail.com>
Sat, 3 Aug 2013 19:12:50 +0000 (15:12 -0400)
include/tags.php
mod/tagger.php

index a06504fbe3631929f2b896c3302e6ccf78859620..c4aba400f3c799e0471b9c077e3d6d127dfa1309 100644 (file)
@@ -83,7 +83,7 @@ function create_tags_from_item($itemid) {
                        if(ctype_digit(substr(trim($tag),1)))
                                continue;
                        // try to ignore html hex escapes, e.g. #x2317
-                       if((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag,2))))
+                       if((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2,1)))
                                continue;
                        $type = TERM_HASHTAG;
                        $term = substr($tag, 1);
@@ -92,7 +92,7 @@ function create_tags_from_item($itemid) {
                        $term = substr($tag, 1);
                } else { // This shouldn't happen
                        $type = TERM_HASHTAG;
-                       $term = $tag;
+                       $term = $tag."-oh";
                }
 
                $r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`, `url`) VALUES (%d, %d, %d, %d, '%s', '%s')",
index 6ae0cebf718ef40774c70e2865aff3e77ce72328..3f470a1797033741f55c8f819f3a8106f449f089 100644 (file)
@@ -151,13 +151,27 @@ EOT;
                );
        }                       
 
-       if((! $blocktags) && (! stristr($item['tag'], ']' . $term . '[' ))) {
-               q("update item set tag = '%s' where id = %d limit 1",
+       $term_objtype = (($item['resource-id']) ? TERM_OBJ_PHOTO : TERM_OBJ_POST );
+        $t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
+                intval($item['id']),
+                dbesc($term)
+        );
+       if((! $blocktags) && $t[0]['tcount']==0 ) {
+               /*q("update item set tag = '%s' where id = %d limit 1",
                        dbesc($item['tag'] . (strlen($item['tag']) ? ',' : '') . '#[url=' . $a->get_baseurl() . '/search?tag=' . $term . ']'. $term . '[/url]'),
                        intval($item['id'])
+               );*/
+
+               q("INSERT INTO term (oid, otype, type, term, url, uid) VALUE (%d, %d, %d, '%s', '%s', %d)",
+                  intval($item['id']),
+                  $term_objtype,
+                  TERM_HASHTAG,
+                  dbesc($term),
+                  dbesc($a->get_baseurl() . '/search?tag=' . $term),
+                  intval($owner_uid)
                );
        }
-
+       
        // 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",
@@ -167,12 +181,29 @@ EOT;
                $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 . '['))) {
+               $t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
+                       intval($r[0]['id']),
+                       dbesc($term)
+               );
+               echo "<pre>"; var_dump($t); killme();
+               // not really sure about this...
+               if(count($x) && !$x[0]['blocktags'] && $t[0]['tcount']==0){
+                       q("INSERT INTO term (oid, otype, type, term, url, uid) VALUE (%d, %d, %d, '%s', '%s', %d)",
+                          intval($r[0]['id']),
+                          $term_objtype,
+                          TERM_HASHTAG,
+                          dbesc($term),
+                          dbesc($a->get_baseurl() . '/search?tag=' . $term),
+                          intval($owner_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?tag=' . $term . ']'. $term . '[/url]'),
                                intval($r[0]['id'])
                        );
-               }
+               }*/
 
        }
                
@@ -188,4 +219,4 @@ EOT;
        return; // NOTREACHED
 
 
-}
\ No newline at end of file
+}