]> git.mxchange.org Git - friendica.git/commitdiff
New hook "getsiteinfo", separating fetching site info from generating bbcode
authorMichael Vogel <icarus@dabo.de>
Mon, 20 Oct 2014 06:03:47 +0000 (08:03 +0200)
committerMichael Vogel <icarus@dabo.de>
Mon, 20 Oct 2014 06:03:47 +0000 (08:03 +0200)
include/items.php
mod/parse_url.php

index 0d37fa1a6ed0a0ce4dd6b5a243d3fcbaf595dc7f..428c8e27d765f72d2769a326b6ce3d91c50273f1 100644 (file)
@@ -888,13 +888,7 @@ function get_atom_elements($feed, $item, $contact = array()) {
        return $res;
 }
 
-function add_page_info($url, $no_photos = false, $photo = "", $keywords = false) {
-       require_once("mod/parse_url.php");
-
-       $data = parseurl_getsiteinfo($url, true);
-
-       logger('add_page_info: fetch page info for '.$url.' '.print_r($data, true), LOGGER_DEBUG);
-
+function add_page_info_data($data) {
        // It maybe is a rich content, but if it does have everything that a link has,
        // then treat it that way
        if (($data["type"] == "rich") AND is_string($data["title"]) AND
@@ -921,7 +915,7 @@ function add_page_info($url, $no_photos = false, $photo = "", $keywords = false)
                $text .= "[quote]".$data["text"]."[/quote]";
 
        $hashtags = "";
-       if ($keywords AND isset($data["keywords"])) {
+       if (isset($data["keywords"]) AND count($data["keywords"])) {
                $a = get_app();
                $hashtags = "\n";
                foreach ($data["keywords"] AS $keyword) {
@@ -933,6 +927,21 @@ function add_page_info($url, $no_photos = false, $photo = "", $keywords = false)
        return("\n[class=type-".$data["type"]."]".$text."[/class]".$hashtags);
 }
 
+function add_page_info($url, $no_photos = false, $photo = "", $keywords = false) {
+       require_once("mod/parse_url.php");
+
+       $data = parseurl_getsiteinfo($url, true);
+
+       logger('add_page_info: fetch page info for '.$url.' '.print_r($data, true), LOGGER_DEBUG);
+
+       if (!$keywords AND isset($data["keywords"]))
+               unset($data["keywords"]);
+
+       $text = add_page_info_data($data);
+
+       return($text);
+}
+
 function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
 
        logger('add_page_info_to_body: fetch page info for body '.$body, LOGGER_DEBUG);
index 4830be5d6f078b9d7e8700f1b8d81cf6351a9172..564b22c0424a70d3da8459ba0f900b02b986d68f 100644 (file)
@@ -333,6 +333,8 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
 
        logger("parseurl_getsiteinfo: Siteinfo for ".$url." ".print_r($siteinfo, true), LOGGER_DEBUG);
 
+       call_hooks('getsiteinfo', $siteinfo);
+
        return($siteinfo);
 }
 
@@ -410,6 +412,13 @@ function parse_url_content(&$a) {
 
        $siteinfo = parseurl_getsiteinfo($url);
 
+//     if ($textmode) {
+//             require_once("include/items.php");
+//
+//             echo add_page_info_data($siteinfo);
+//             killme();
+//     }
+
        $url= $siteinfo["url"];
 
        $sitedata = "";