]> git.mxchange.org Git - friendica.git/blobdiff - mod/tagger.php
Adjusted implementation to a better one (thanks to Michael Vogel)
[friendica.git] / mod / tagger.php
index fa8dc35301f017898a15808171d8bc3c17c5b416..959394c07881a1e8b0b9c7dd43623d77b000eac3 100644 (file)
@@ -7,7 +7,7 @@ use Friendica\Core\Addon;
 use Friendica\Core\L10n;
 use Friendica\Core\System;
 use Friendica\Core\Worker;
-use Friendica\Database\DBM;
+use Friendica\Database\DBA;
 use Friendica\Model\Item;
 
 require_once 'include/security.php';
@@ -32,9 +32,9 @@ function tagger_content(App $a) {
        logger('tagger: tag ' . $term . ' item ' . $item_id);
 
 
-       $item = Item::selectFirst(local_user(), [], ['id' => $item_id]);
+       $item = Item::selectFirst([], ['id' => $item_id]);
 
-       if (!$item_id || !DBM::is_result($item)) {
+       if (!$item_id || !DBA::isResult($item)) {
                logger('tagger: no item ' . $item_id);
                return;
        }
@@ -46,7 +46,7 @@ function tagger_content(App $a) {
        $r = q("select `nickname`,`blocktags` from user where uid = %d limit 1",
                intval($owner_uid)
        );
-       if (DBM::is_result($r)) {
+       if (DBA::isResult($r)) {
                $owner_nick = $r[0]['nickname'];
                $blocktags = $r[0]['blocktags'];
        }
@@ -58,14 +58,14 @@ function tagger_content(App $a) {
        $r = q("select * from contact where self = 1 and uid = %d limit 1",
                intval(local_user())
        );
-       if (DBM::is_result($r)) {
+       if (DBA::isResult($r)) {
                        $contact = $r[0];
        } else {
                logger('tagger: no contact_id');
                return;
        }
 
-       $uri = item_new_uri($a->get_hostname(),$owner_uid);
+       $uri = Item::newURI($owner_uid);
        $xterm = xmlify($term);
        $post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status'));
        $targettype = (($item['resource-id']) ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE );
@@ -115,11 +115,10 @@ EOT;
 
        $arr = [];
 
-       $arr['guid'] = get_guid(32);
+       $arr['guid'] = System::createGUID(32);
        $arr['uri'] = $uri;
        $arr['uid'] = $owner_uid;
        $arr['contact-id'] = $contact['id'];
-       $arr['type'] = 'activity';
        $arr['wall'] = $item['wall'];
        $arr['gravity'] = GRAVITY_COMMENT;
        $arr['parent'] = $item['id'];
@@ -160,7 +159,7 @@ EOT;
 
        $t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
                intval($item['id']),
-               dbesc($term)
+               DBA::escape($term)
        );
 
        if (!$blocktags && $t[0]['tcount'] == 0) {
@@ -168,34 +167,30 @@ EOT;
                   intval($item['id']),
                   $term_objtype,
                   TERM_HASHTAG,
-                  dbesc($term),
-                  dbesc(System::baseUrl() . '/search?tag=' . $term),
+                  DBA::escape($term),
+                  DBA::escape(System::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",
-               dbesc($item['uri'])
-       );
-
-       if (DBM::is_result($r)) {
+       $original_item = Item::selectFirst(['tag', 'id', 'uid'], ['origin' => true, 'uri' => $item['uri']]);
+       if (DBA::isResult($original_item)) {
                $x = q("SELECT `blocktags` FROM `user` WHERE `uid`=%d LIMIT 1",
-                       intval($r[0]['uid'])
+                       intval($original_item['uid'])
                );
                $t = q("SELECT COUNT(`tid`) AS `tcount` FROM `term` WHERE `oid`=%d AND `term`='%s'",
-                       intval($r[0]['id']),
-                       dbesc($term)
+                       intval($original_item['id']),
+                       DBA::escape($term)
                );
 
-               if (DBM::is_result($x) && !$x[0]['blocktags'] && $t[0]['tcount'] == 0){
+               if (DBA::isResult($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']),
+                               intval($original_item['id']),
                                $term_objtype,
                                TERM_HASHTAG,
-                               dbesc($term),
-                               dbesc(System::baseUrl() . '/search?tag=' . $term),
+                               DBA::escape($term),
+                               DBA::escape(System::baseUrl() . '/search?tag=' . $term),
                                intval($owner_uid)
                        );
                }