Merge branch 'no-term3' into no-term2
This commit is contained in:
commit
3d4ace7a9d
|
@ -425,13 +425,11 @@ function photos_post(App $a)
|
||||||
$item = Item::selectFirst(['tag', 'inform', 'uri-id'], ['id' => $item_id, 'uid' => $page_owner_uid]);
|
$item = Item::selectFirst(['tag', 'inform', 'uri-id'], ['id' => $item_id, 'uid' => $page_owner_uid]);
|
||||||
|
|
||||||
if (DBA::isResult($item)) {
|
if (DBA::isResult($item)) {
|
||||||
$old_tag = $item['tag'];
|
|
||||||
$old_inform = $item['inform'];
|
$old_inform = $item['inform'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen($rawtags)) {
|
if (strlen($rawtags)) {
|
||||||
$str_tags = '';
|
|
||||||
$inform = '';
|
$inform = '';
|
||||||
|
|
||||||
// if the new tag doesn't have a namespace specifier (@foo or #foo) give it a hashtag
|
// if the new tag doesn't have a namespace specifier (@foo or #foo) give it a hashtag
|
||||||
|
@ -513,15 +511,10 @@ function photos_post(App $a)
|
||||||
if (!empty($contact)) {
|
if (!empty($contact)) {
|
||||||
$taginfo[] = [$newname, $profile, $notify, $contact, '@[url=' . str_replace(',', '%2c', $profile) . ']' . $newname . '[/url]'];
|
$taginfo[] = [$newname, $profile, $notify, $contact, '@[url=' . str_replace(',', '%2c', $profile) . ']' . $newname . '[/url]'];
|
||||||
} else {
|
} else {
|
||||||
$taginfo[] = [$newname, $profile, $notify, null, $str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]'];
|
$taginfo[] = [$newname, $profile, $notify, null, '@[url=' . $profile . ']' . $newname . '[/url]'];
|
||||||
}
|
|
||||||
|
|
||||||
if (strlen($str_tags)) {
|
|
||||||
$str_tags .= ',';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$profile = str_replace(',', '%2c', $profile);
|
$profile = str_replace(',', '%2c', $profile);
|
||||||
$str_tags .= '@[url=' . $profile . ']' . $newname . '[/url]';
|
|
||||||
|
|
||||||
if (!empty($item['uri-id'])) {
|
if (!empty($item['uri-id'])) {
|
||||||
Tag::store($item['uri-id'], Tag::MENTION, $newname, $profile);
|
Tag::store($item['uri-id'], Tag::MENTION, $newname, $profile);
|
||||||
|
@ -529,7 +522,6 @@ function photos_post(App $a)
|
||||||
}
|
}
|
||||||
} elseif (strpos($tag, '#') === 0) {
|
} elseif (strpos($tag, '#') === 0) {
|
||||||
$tagname = substr($tag, 1);
|
$tagname = substr($tag, 1);
|
||||||
$str_tags .= '#[url=' . DI::baseUrl() . "/search?tag=" . $tagname . ']' . $tagname . '[/url],';
|
|
||||||
if (!empty($item['uri-id'])) {
|
if (!empty($item['uri-id'])) {
|
||||||
Tag::store($item['uri-id'], Tag::HASHTAG, $tagname);
|
Tag::store($item['uri-id'], Tag::HASHTAG, $tagname);
|
||||||
}
|
}
|
||||||
|
@ -537,19 +529,13 @@ function photos_post(App $a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$newtag = $old_tag ?? '';
|
|
||||||
if (strlen($newtag) && strlen($str_tags)) {
|
|
||||||
$newtag .= ',';
|
|
||||||
}
|
|
||||||
$newtag .= $str_tags;
|
|
||||||
|
|
||||||
$newinform = $old_inform ?? '';
|
$newinform = $old_inform ?? '';
|
||||||
if (strlen($newinform) && strlen($inform)) {
|
if (strlen($newinform) && strlen($inform)) {
|
||||||
$newinform .= ',';
|
$newinform .= ',';
|
||||||
}
|
}
|
||||||
$newinform .= $inform;
|
$newinform .= $inform;
|
||||||
|
|
||||||
$fields = ['tag' => $newtag, 'inform' => $newinform, 'edited' => DateTimeFormat::utcNow(), 'changed' => DateTimeFormat::utcNow()];
|
$fields = ['inform' => $newinform, 'edited' => DateTimeFormat::utcNow(), 'changed' => DateTimeFormat::utcNow()];
|
||||||
$condition = ['id' => $item_id];
|
$condition = ['id' => $item_id];
|
||||||
Item::update($fields, $condition);
|
Item::update($fields, $condition);
|
||||||
|
|
||||||
|
|
|
@ -847,7 +847,7 @@ class Contact
|
||||||
$item['body'] = '';
|
$item['body'] = '';
|
||||||
$item['title'] = '';
|
$item['title'] = '';
|
||||||
$item['guid'] = '';
|
$item['guid'] = '';
|
||||||
$item['tag'] = '';
|
$item['uri-id'] = 0;
|
||||||
$item['attach'] = '';
|
$item['attach'] = '';
|
||||||
$slap = OStatus::salmon($item, $user);
|
$slap = OStatus::salmon($item, $user);
|
||||||
|
|
||||||
|
@ -2457,7 +2457,7 @@ class Contact
|
||||||
$item['body'] = '';
|
$item['body'] = '';
|
||||||
$item['title'] = '';
|
$item['title'] = '';
|
||||||
$item['guid'] = '';
|
$item['guid'] = '';
|
||||||
$item['tag'] = '';
|
$item['uri-id'] = 0;
|
||||||
$item['attach'] = '';
|
$item['attach'] = '';
|
||||||
|
|
||||||
$slap = OStatus::salmon($item, $owner);
|
$slap = OStatus::salmon($item, $owner);
|
||||||
|
|
|
@ -79,35 +79,6 @@ class Processor
|
||||||
return $body;
|
return $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a string with tags for a given tag array
|
|
||||||
*
|
|
||||||
* @param array $tags
|
|
||||||
* @param boolean $sensitive
|
|
||||||
* @return string with tags
|
|
||||||
*/
|
|
||||||
private static function constructTagString(array $tags = null, $sensitive = false)
|
|
||||||
{
|
|
||||||
if (empty($tags)) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$tag_text = '';
|
|
||||||
foreach ($tags as $tag) {
|
|
||||||
if (in_array($tag['type'] ?? '', ['Mention', 'Hashtag'])) {
|
|
||||||
if (!empty($tag_text)) {
|
|
||||||
$tag_text .= ',';
|
|
||||||
}
|
|
||||||
|
|
||||||
$tag_text .= substr($tag['name'], 0, 1) . '[url=' . $tag['href'] . ']' . substr($tag['name'], 1) . '[/url]';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @todo add nsfw for $sensitive
|
|
||||||
|
|
||||||
return $tag_text;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add attachment data to the item array
|
* Add attachment data to the item array
|
||||||
*
|
*
|
||||||
|
@ -263,16 +234,7 @@ class Processor
|
||||||
}
|
}
|
||||||
|
|
||||||
Tag::store($item['uri-id'], Tag::HASHTAG, $activity['object_content'], $activity['object_id']);
|
Tag::store($item['uri-id'], Tag::HASHTAG, $activity['object_content'], $activity['object_id']);
|
||||||
|
Logger::info('Tagged item', ['id' => $item['id'], 'tag' => $activity['object_content'], 'uri' => $activity['target_id'], 'actor' => $activity['actor']]);
|
||||||
// To-Do:
|
|
||||||
// - Check if "blocktag" is set
|
|
||||||
// - Check if actor is a contact
|
|
||||||
|
|
||||||
if (!stristr($item['tag'], trim($activity['object_content']))) {
|
|
||||||
$tag = $item['tag'] . (strlen($item['tag']) ? ',' : '') . '#[url=' . $activity['object_id'] . ']'. $activity['object_content'] . '[/url]';
|
|
||||||
Item::update(['tag' => $tag], ['id' => $item['id']]);
|
|
||||||
Logger::info('Tagged item', ['id' => $item['id'], 'tag' => $activity['object_content'], 'uri' => $activity['target_id'], 'actor' => $activity['actor']]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -405,8 +367,6 @@ class Processor
|
||||||
$item['body'] = $content;
|
$item['body'] = $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
$item['tag'] = self::constructTagString($activity['tags'], $activity['sensitive']);
|
|
||||||
|
|
||||||
self::storeFromBody($item);
|
self::storeFromBody($item);
|
||||||
self::storeTags($item['uri-id'], $activity['tags']);
|
self::storeTags($item['uri-id'], $activity['tags']);
|
||||||
|
|
||||||
|
|
|
@ -1996,7 +1996,7 @@ class DFRN
|
||||||
}
|
}
|
||||||
|
|
||||||
$fields = ['title' => $item['title'] ?? '', 'body' => $item['body'] ?? '',
|
$fields = ['title' => $item['title'] ?? '', 'body' => $item['body'] ?? '',
|
||||||
'tag' => $item['tag'] ?? '', 'changed' => DateTimeFormat::utcNow(),
|
'changed' => DateTimeFormat::utcNow(),
|
||||||
'edited' => DateTimeFormat::utc($item["edited"])];
|
'edited' => DateTimeFormat::utc($item["edited"])];
|
||||||
|
|
||||||
$condition = ["`uri` = ? AND `uid` IN (0, ?)", $item["uri"], $importer["importer_uid"]];
|
$condition = ["`uri` = ? AND `uid` IN (0, ?)", $item["uri"], $importer["importer_uid"]];
|
||||||
|
|
|
@ -655,17 +655,8 @@ class OStatus
|
||||||
foreach ($categories as $category) {
|
foreach ($categories as $category) {
|
||||||
foreach ($category->attributes as $attributes) {
|
foreach ($category->attributes as $attributes) {
|
||||||
if ($attributes->name == 'term') {
|
if ($attributes->name == 'term') {
|
||||||
$term = $attributes->textContent;
|
|
||||||
if (!empty($item['tag'])) {
|
|
||||||
$item['tag'] .= ',';
|
|
||||||
} else {
|
|
||||||
$item['tag'] = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$item['tag'] .= '#[url=' . DI::baseUrl() . '/search?tag=' . $term . ']' . $term . '[/url]';
|
|
||||||
|
|
||||||
// Store the hashtag
|
// Store the hashtag
|
||||||
Tag::store($item['uri-id'], Tag::HASHTAG, $term);
|
Tag::store($item['uri-id'], Tag::HASHTAG, $attributes->textContent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ use Friendica\Model\Group;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
use Friendica\Model\PushSubscriber;
|
use Friendica\Model\PushSubscriber;
|
||||||
|
use Friendica\Model\Tag;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Network\Probe;
|
use Friendica\Network\Probe;
|
||||||
use Friendica\Protocol\ActivityPub;
|
use Friendica\Protocol\ActivityPub;
|
||||||
|
@ -367,16 +368,11 @@ class Notifier
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send a salmon notification to every person we mentioned in the post
|
// Send a salmon notification to every person we mentioned in the post
|
||||||
$arr = explode(',',$target_item['tag']);
|
foreach (Tag::getByURIId($target_item['uri-id'], [Tag::MENTION, Tag::EXCLUSIVE_MENTION, Tag::IMPLICIT_MENTION]) as $tag) {
|
||||||
foreach ($arr as $x) {
|
$probed_contact = Probe::uri($tag['url']);
|
||||||
//Logger::log('Checking tag '.$x, Logger::DEBUG);
|
if ($probed_contact["notify"] != "") {
|
||||||
$matches = null;
|
Logger::log('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
|
||||||
if (preg_match('/@\[url=([^\]]*)\]/',$x,$matches)) {
|
$url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
|
||||||
$probed_contact = Probe::uri($matches[1]);
|
|
||||||
if ($probed_contact["notify"] != "") {
|
|
||||||
Logger::log('Notify mentioned user '.$probed_contact["url"].': '.$probed_contact["notify"]);
|
|
||||||
$url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue