]> git.mxchange.org Git - friendica.git/blobdiff - include/items.php
[ActivityPub] Add support for more attachments structures
[friendica.git] / include / items.php
index f4bab4b8fc9f4edc206071976a750f969d78c8f2..a81a3bdb202e83aa1151bcd24af3c5caf77f63cd 100644 (file)
@@ -103,8 +103,7 @@ function add_page_info_data(array $data, $no_photos = false)
                $hashtags = "\n";
                foreach ($data["keywords"] as $keyword) {
                        /// @TODO make a positive list of allowed characters
-                       $hashtag = str_replace([" ", "+", "/", ".", "#", "'", "’", "`", "(", ")", "„", "“"],
-                                               ["", "", "", "", "", "", "", "", "", "", "", ""], $keyword);
+                       $hashtag = str_replace([' ', '+', '/', '.', '#', '@', "'", '"', '’', '`', '(', ')', '„', '“'], '', $keyword);
                        $hashtags .= "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url] ";
                }
        }
@@ -112,7 +111,7 @@ function add_page_info_data(array $data, $no_photos = false)
        return "\n".$text.$hashtags;
 }
 
-function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklist = "")
+function query_page_info($url, $photo = "", $keywords = false, $keyword_denylist = "")
 {
        $data = ParseUrl::getSiteinfoCached($url, true);
 
@@ -126,8 +125,8 @@ function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklis
                unset($data["keywords"]);
        }
 
-       if (($keyword_blacklist != "") && isset($data["keywords"])) {
-               $list = explode(", ", $keyword_blacklist);
+       if (($keyword_denylist != "") && isset($data["keywords"])) {
+               $list = explode(", ", $keyword_denylist);
 
                foreach ($list as $keyword) {
                        $keyword = trim($keyword);
@@ -142,30 +141,27 @@ function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklis
        return $data;
 }
 
-function add_page_keywords($url, $photo = "", $keywords = false, $keyword_blacklist = "")
+function get_page_keywords($url, $photo = "", $keywords = false, $keyword_denylist = "")
 {
-       $data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
-
-       $tags = "";
-       if (isset($data["keywords"]) && count($data["keywords"])) {
-               foreach ($data["keywords"] as $keyword) {
-                       $hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
-                               ["", "", "", "", "", ""], $keyword);
+       $data = query_page_info($url, $photo, $keywords, $keyword_denylist);
+       if (empty($data["keywords"]) || !is_array($data["keywords"])) {
+               return [];
+       }
 
-                       if ($tags != "") {
-                               $tags .= ", ";
-                       }
+       $taglist = [];
+       foreach ($data['keywords'] as $keyword) {
+               $hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
+                       ["", "", "", "", "", ""], $keyword);
 
-                       $tags .= "#[url=" . DI::baseUrl() . "/search?tag=" . $hashtag . "]" . $hashtag . "[/url]";
-               }
+               $taglist[] = $hashtag;
        }
 
-       return $tags;
+       return $taglist;
 }
 
-function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "")
+function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_denylist = "")
 {
-       $data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
+       $data = query_page_info($url, $photo, $keywords, $keyword_denylist);
 
        $text = '';