use Friendica\Core\System;
use Friendica\Database\DBA;
-require_once 'boot.php';
-require_once 'include/conversation.php';
-require_once 'include/dba.php';
-
class Term
{
public static function tagTextFromItemId($itemid)
$type = TERM_HASHTAG;
$term = substr($tag, 1);
+ $link = '';
} elseif ((substr(trim($tag), 0, 1) == '@') || (substr(trim($tag), 0, 1) == '!')) {
$type = TERM_MENTION;
} else { // This shouldn't happen
$type = TERM_HASHTAG;
$term = $tag;
+ $link = '';
}
- if (DBA::exists('term', ['uid' => $message['uid'], 'otype' => TERM_OBJ_POST, 'oid' => $itemid, 'url' => $link])) {
+ if (DBA::exists('term', ['uid' => $message['uid'], 'otype' => TERM_OBJ_POST, 'oid' => $itemid, 'term' => $term])) {
continue;
}
/**
* @param integer $itemid item id
+ * @param $files
* @return void
+ * @throws \Exception
*/
public static function insertFromFileFieldByItemId($itemid, $files)
{
*
* @param array $item
* @return array
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ * @throws \ImagickException
*/
public static function populateTagsFromItem(&$item)
{
);
while ($tag = DBA::fetch($taglist)) {
- if ($tag["url"] == "") {
- $tag["url"] = $searchpath . $tag["term"];
+ if ($tag['url'] == '') {
+ $tag['url'] = $searchpath . rawurlencode($tag['term']);
}
$orig_tag = $tag['url'];
'network' => $item['author-network'], 'url' => $item['author-link']];
$tag['url'] = Contact::magicLinkByContact($author, $tag['url']);
+ $prefix = '';
if ($tag['type'] == TERM_HASHTAG) {
if ($orig_tag != $tag['url']) {
$item['body'] = str_replace($orig_tag, $tag['url'], $item['body']);
/**
* Delete all tags from an item
+ *
* @param int itemid - choose from which item the tags will be removed
- * @param array type - items type. default is [TERM_HASHTAG, TERM_MENTION]
+ * @param array $type
+ * @throws \Exception
*/
public static function deleteByItemId($itemid, $type = [TERM_HASHTAG, TERM_MENTION])
{