Update references to BBCode methods
authorHypolite Petovan <mrpetovan@gmail.com>
Mon, 5 Feb 2018 00:23:49 +0000 (19:23 -0500)
committerHypolite Petovan <mrpetovan@gmail.com>
Mon, 5 Feb 2018 00:26:22 +0000 (19:26 -0500)
- Resolve name conflicts with Util\Network

include/acl_selectors.php
include/api.php
include/bb2diaspora.php
include/conversation.php
mod/display.php
src/Content/Text/BBCode.php
src/Protocol/DFRN.php
view/theme/frio/theme.php
view/theme/frost/theme.php

index 72f49a4..166cf97 100644 (file)
@@ -2,16 +2,18 @@
 /**
  * @file include/acl_selectors.php
  */
+
 use Friendica\App;
 use Friendica\Content\Feature;
 use Friendica\Content\Widget;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
+use Friendica\Core\Network;
 use Friendica\Database\DBM;
 use Friendica\Model\Contact;
 use Friendica\Model\GContact;
-use Friendica\Util\Network;
+use Friendica\Util\Network as NetworkUtil;
 
 require_once "mod/proxy.php";
 
@@ -248,7 +250,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
                        }
 
                        if ($privmail) {
-                               $trimmed = GetProfileUsername($rr['url'], $rr['name'], false);
+                               $trimmed = Network::formatMention($rr['url'], $rr['name']);
                        } else {
                                $trimmed = mb_substr($rr['name'],0,20);
                        }
@@ -734,7 +736,7 @@ function navbar_complete(App $a) {
        if (! $localsearch) {
                $p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
 
-               $x = Network::curl(get_server() . '/lsearch?f=' . $p .  '&search=' . urlencode($search));
+               $x = NetworkUtil::curl(get_server() . '/lsearch?f=' . $p .  '&search=' . urlencode($search));
                if ($x['success']) {
                        $j = json_decode($x['body'],true);
                        if ($j && isset($j['results'])) {
index e50bc92..a477060 100644 (file)
@@ -2753,7 +2753,7 @@ function api_get_entitities(&$text, $bbcode)
                return [];
        }
 
-       $bbcode = bb_CleanPictureLinks($bbcode);
+       $bbcode = BBCode::cleanPictureLinks($bbcode);
 
        // Change pure links in text to bbcode uris
        $bbcode = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url=$2]$2[/url]', $bbcode);
@@ -5173,7 +5173,7 @@ function api_clean_plain_items($Text)
 {
        $include_entities = strtolower(x($_REQUEST, 'include_entities') ? $_REQUEST['include_entities'] : "false");
 
-       $Text = bb_CleanPictureLinks($Text);
+       $Text = BBCode::cleanPictureLinks($Text);
        $URLSearchString = "^\[\]";
 
        $Text = preg_replace("/([!#@])\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$1$3', $Text);
index 0cb50e9..c1c9fa4 100644 (file)
@@ -76,10 +76,10 @@ function diaspora2bb($s) {
        $s = preg_replace('/([^\]=]|^)(https?\:\/\/)([a-zA-Z0-9:\/\-?&;.=_~#%$!+,@]+(?<!,))/ism', '$1[url=$2$3]$2$3[/url]', $s);
 
        //$s = preg_replace("/([^\]\=]|^)(https?\:\/\/)(vimeo|youtu|www\.youtube|soundcloud)([a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url=$2$3$4]$2$3$4[/url]',$s);
-       $s = bb_tag_preg_replace('/\[url\=?(.*?)\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/url\]/ism', '[youtube]$2[/youtube]', 'url', $s);
-       $s = bb_tag_preg_replace('/\[url\=https?:\/\/www.youtube.com\/watch\?v\=(.*?)\].*?\[\/url\]/ism'   , '[youtube]$1[/youtube]', 'url', $s);
-       $s = bb_tag_preg_replace('/\[url\=?(.*?)\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/url\]/ism'        , '[vimeo]$2[/vimeo]'    , 'url', $s);
-       $s = bb_tag_preg_replace('/\[url\=https?:\/\/vimeo.com\/([0-9]+)\](.*?)\[\/url\]/ism'              , '[vimeo]$1[/vimeo]'    , 'url', $s);
+       $s = BBCode::pregReplaceInTag('/\[url\=?(.*?)\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/url\]/ism', '[youtube]$2[/youtube]', 'url', $s);
+       $s = BBCode::pregReplaceInTag('/\[url\=https?:\/\/www.youtube.com\/watch\?v\=(.*?)\].*?\[\/url\]/ism'   , '[youtube]$1[/youtube]', 'url', $s);
+       $s = BBCode::pregReplaceInTag('/\[url\=?(.*?)\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/url\]/ism'        , '[vimeo]$2[/vimeo]'    , 'url', $s);
+       $s = BBCode::pregReplaceInTag('/\[url\=https?:\/\/vimeo.com\/([0-9]+)\](.*?)\[\/url\]/ism'              , '[vimeo]$1[/vimeo]'    , 'url', $s);
 
        // remove duplicate adjacent code tags
        $s = preg_replace('/(\[code\])+(.*?)(\[\/code\])+/ism', '[code]$2[/code]', $s);
@@ -130,7 +130,7 @@ function bb2diaspora($Text, $preserve_nl = false, $fordiaspora = true) {
 
        // Since Diaspora is creating a summary for links, this function removes them before posting
        if ($fordiaspora) {
-               $Text = bb_remove_share_information($Text);
+               $Text = BBCode::removeShareInformation($Text);
        }
 
        /**
index f0d6bbf..90634f4 100644 (file)
@@ -6,6 +6,7 @@
 use Friendica\App;
 use Friendica\Content\ContactSelector;
 use Friendica\Content\Feature;
+use Friendica\Content\Text\BBCode;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
@@ -72,7 +73,7 @@ function item_redir_and_replace_images($body, $images, $cid) {
        $newbody = '';
 
        $cnt = 1;
-       $pos = get_bb_tag_pos($origbody, 'url', 1);
+       $pos = BBCode::getTagPosition($origbody, 'url', 0);
        while ($pos !== false && $cnt < 1000) {
 
                $search = '/\[url\=(.*?)\]\[!#saved_image([0-9]*)#!\]\[\/url\]' . '/is';
@@ -90,7 +91,8 @@ function item_redir_and_replace_images($body, $images, $cid) {
                $newbody .= $subject;
 
                $cnt++;
-               $pos = get_bb_tag_pos($origbody, 'url', 1);
+               // Isn't this supposed to use $cnt value for $occurrences? - @MrPetovan
+               $pos = BBCode::getTagPosition($origbody, 'url', 0);
        }
        $newbody .= $origbody;
 
@@ -347,7 +349,7 @@ function localize_item(&$item) {
        $photo_pattern = "/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is";
        if (preg_match($photo_pattern, $item['body'])) {
                $photo_replace = '[url=' . Profile::zrl('$1' . '/photos/' . '$2' . '/image/' . '$3' ,true) . '][img' . '$4' . ']h' . '$5'  . '[/img][/url]';
-               $item['body'] = bb_tag_preg_replace($photo_pattern, $photo_replace, 'url', $item['body']);
+               $item['body'] = BBCode::pregReplaceInTag($photo_pattern, $photo_replace, 'url', $item['body']);
        }
 
        // add sparkle links to appropriate permalinks
index 8d991d4..dd6b8b7 100644 (file)
@@ -2,9 +2,11 @@
 /**
  * @file mod/display.php
  */
+
 use Friendica\App;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
+use Friendica\Core\Network;
 use Friendica\Core\System;
 use Friendica\Database\DBM;
 use Friendica\Model\Contact;
@@ -171,7 +173,7 @@ function display_fetchauthor($a, $item) {
                        $profiledata["photo"] = $matches[1];
                }
                $profiledata["nickname"] = $profiledata["name"];
-               $profiledata["network"] = GetProfileUsername($profiledata["url"], "", false, true);
+               $profiledata["network"] = Network::matchByProfileUrl($profiledata["url"]);
 
                $profiledata["address"] = "";
                $profiledata["about"] = "";
index 974ef14..864c0d4 100644 (file)
@@ -13,12 +13,13 @@ use Friendica\Core\Addon;
 use Friendica\Core\Cache;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
+use Friendica\Core\Network;
 use Friendica\Core\PConfig;
 use Friendica\Core\System;
 use Friendica\Model\Contact;
 use Friendica\Object\Image;
 use Friendica\Util\Map;
-use Friendica\Util\Network;
+use Friendica\Util\Network as NetworkUtil;
 use Friendica\Util\ParseUrl;
 
 require_once "include/bbcode.php";
@@ -352,7 +353,7 @@ class BBCode
                $body = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url]$2[/url]', $body);
 
                // Remove the abstract
-               $body = remove_abstract($body);
+               $body = self::removeAbstract($body);
 
                // At first look at data that is attached via "type-..." stuff
                // This will hopefully replaced with a dedicated bbcode later
@@ -369,8 +370,8 @@ class BBCode
 
                // Fetch the abstract from the given target network
                if ($target_network != "") {
-                       $default_abstract = fetch_abstract($b["body"]);
-                       $abstract = fetch_abstract($b["body"], $target_network);
+                       $default_abstract = self::getAbstract($b["body"]);
+                       $abstract = self::getAbstract($b["body"], $target_network);
 
                        // If we post to a network with no limit we only fetch
                        // an abstract exactly for this network
@@ -380,18 +381,18 @@ class BBCode
                } else {// Try to guess the correct target network
                        switch ($htmlmode) {
                                case 8:
-                                       $abstract = fetch_abstract($b["body"], NETWORK_TWITTER);
+                                       $abstract = self::getAbstract($b["body"], NETWORK_TWITTER);
                                        break;
                                case 7:
-                                       $abstract = fetch_abstract($b["body"], NETWORK_STATUSNET);
+                                       $abstract = self::getAbstract($b["body"], NETWORK_STATUSNET);
                                        break;
                                case 6:
-                                       $abstract = fetch_abstract($b["body"], NETWORK_APPNET);
+                                       $abstract = self::getAbstract($b["body"], NETWORK_APPNET);
                                        break;
                                default: // We don't know the exact target.
                                        // We fetch an abstract since there is a posting limit.
                                        if ($limit > 0) {
-                                               $abstract = fetch_abstract($b["body"]);
+                                               $abstract = self::getAbstract($b["body"]);
                                        }
                        }
                }
@@ -518,7 +519,7 @@ class BBCode
                                } else {
                                        $scaled = $mtch[1];
                                }
-                               $i = Network::fetchUrl($scaled);
+                               $i = NetworkUtil::fetchUrl($scaled);
                                if (!$i) {
                                        return $srctext;
                                }
@@ -924,9 +925,9 @@ class BBCode
         */
        public static function pregReplaceInTag($pattern, $replace, $name, $text)
        {
-               $occurence = 1;
-               $pos = get_bb_tag_pos($text, $name, $occurence);
-               while ($pos !== false && $occurence < 1000) {
+               $occurrences = 0;
+               $pos = self::getTagPosition($text, $name, $occurrences);
+               while ($pos !== false && $occurrences++ < 1000) {
                        $start = substr($text, 0, $pos['start']['open']);
                        $subject = substr($text, $pos['start']['open'], $pos['end']['close'] - $pos['start']['open']);
                        $end = substr($text, $pos['end']['close']);
@@ -937,14 +938,13 @@ class BBCode
                        $subject = preg_replace($pattern, $replace, $subject);
                        $text = $start . $subject . $end;
 
-                       $occurence++;
-                       $pos = get_bb_tag_pos($text, $name, $occurence);
+                       $pos = self::getTagPosition($text, $name, $occurrences);
                }
 
                return $text;
        }
 
-       public static function extractImagesFromItemBody($body)
+       private static function extractImagesFromItemBody($body)
        {
                $saved_image = [];
                $orig_body = $body;
@@ -985,7 +985,7 @@ class BBCode
                return ['body' => $new_body, 'images' => $saved_image];
        }
 
-       public static function interpolateSavedImagesIntoItemBody($body, array $images)
+       private static function interpolateSavedImagesIntoItemBody($body, array $images)
        {
                $newbody = $body;
 
@@ -1012,7 +1012,7 @@ class BBCode
         * @param bool|int $simplehtml
         * @return string
         */
-       public static function convertShare($share, $simplehtml)
+       private static function convertShare($share, $simplehtml)
        {
                $attributes = $share[2];
 
@@ -1082,13 +1082,13 @@ class BBCode
                if (x($data, "name") && x($data, "addr")) {
                        $userid_compact = $data["name"] . " (" . $data["addr"] . ")";
                } else {
-                       $userid_compact = GetProfileUsername($profile, $author, true);
+                       $userid_compact = Network::getAddrFromProfileUrl($profile, $author);
                }
 
                if (x($data, "addr")) {
                        $userid = $data["addr"];
                } else {
-                       $userid = GetProfileUsername($profile, $author, false);
+                       $userid = Network::formatMention($profile, $author);
                }
 
                if (x($data, "name")) {
@@ -1378,7 +1378,7 @@ class BBCode
                $text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'self::escapeNoparseCallback', $text);
 
                // Remove the abstract element. It is a non visible element.
-               $text = remove_abstract($text);
+               $text = self::removeAbstract($text);
 
                // Move all spaces out of the tags
                $text = preg_replace("/\[(\w*)\](\s*)/ism", '$2[$1]', $text);
@@ -1388,7 +1388,7 @@ class BBCode
                // large data sizes. Stash them away while we do bbcode conversion, and then put them back
                // in after we've done all the regex matching. We cannot use any preg functions to do this.
 
-               $extracted = bb_extract_images($text);
+               $extracted = self::extractImagesFromItemBody($text);
                $text = $extracted['body'];
                $saved_image = $extracted['images'];
 
@@ -1767,7 +1767,7 @@ class BBCode
                // Shared content
                $text = preg_replace_callback("/(.*?)\[share(.*?)\](.*?)\[\/share\]/ism",
                        function ($match) use ($simple_html) {
-                               return bb_ShareAttributes($match, $simple_html);
+                               return self::convertShare($match, $simple_html);
                        }, $text);
 
                $text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism", '<br/><img src="' .System::baseUrl() . '/images/lock_icon.gif" alt="' . L10n::t('Encrypted content') . '" title="' . L10n::t('Encrypted content') . '" /><br />', $text);
@@ -1902,7 +1902,7 @@ class BBCode
                $text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . L10n::t('Invalid link protocol') . '">', $text);
 
                if ($saved_image) {
-                       $text = bb_replace_images($text, $saved_image);
+                       $text = self::interpolateSavedImagesIntoItemBody($text, $saved_image);
                }
 
                // Clean up the HTML by loading and saving the HTML with the DOM.
@@ -1959,7 +1959,7 @@ class BBCode
         * @param string $addon The addon for which the abstract is meant for
         * @return string The abstract
         */
-       public static function getAbstract($text, $addon = "")
+       private static function getAbstract($text, $addon = "")
        {
                $abstract = "";
                $abstracts = [];
index 2269bff..5d26e66 100644 (file)
@@ -10,6 +10,7 @@ namespace Friendica\Protocol;
 
 use Friendica\App;
 use Friendica\Content\OEmbed;
+use Friendica\Content\Text\BBCode;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
@@ -29,8 +30,6 @@ use Friendica\Util\Crypto;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Network;
 use Friendica\Util\XML;
-use Friendica\Content\Text\BBCode;
-
 use dba;
 use DOMDocument;
 use DOMXPath;
@@ -931,7 +930,7 @@ class DFRN
                }
 
                // Remove the abstract element. It is only locally important.
-               $body = remove_abstract($body);
+               $body = BBCode::removeAbstract($body);
 
                if ($type == 'html') {
                        $htmlbody = $body;
index 3c4d512..3f40161 100644 (file)
@@ -6,7 +6,9 @@
  * Author: Rabuzarus <https://friendica.kommune4.de/profile/rabuzarus>
  *
  */
+
 use Friendica\App;
+use Friendica\Content\Text\Plaintext;
 use Friendica\Content\Widget;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
@@ -15,7 +17,6 @@ use Friendica\Core\PConfig;
 use Friendica\Core\System;
 use Friendica\Database\DBM;
 use Friendica\Model\Profile;
-use Friendica\Object\Image;
 
 $frio = "view/theme/frio";
 
@@ -90,10 +91,8 @@ function frio_uninstall()
  */
 function frio_item_photo_links(App $a, &$body_info)
 {
-       $phototypes = Image::supportedTypes();
-       $occurence = 1;
-       $p = bb_find_open_close($body_info['html'], "<a", ">");
-
+       $occurence = 0;
+       $p = Plaintext::getBoundariesPosition($body_info['html'], "<a", ">");
        while ($p !== false && ($occurence++ < 500)) {
                $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
                $matches = [];
@@ -112,7 +111,7 @@ function frio_item_photo_links(App $a, &$body_info)
                        $body_info['html'] = str_replace($link, $newlink, $body_info['html']);
                }
 
-               $p = bb_find_open_close($body_info['html'], "<a", ">", $occurence);
+               $p = Plaintext::getBoundariesPosition($body_info['html'], "<a", ">", $occurence);
        }
 }
 
@@ -302,7 +301,7 @@ function frio_acl_lookup(App $a, &$results)
                $search_txt = dbesc(protect_sprintf(preg_quote($results["search"])));
                $searching = true;
        }
-       
+
        $sql_extra = '';
        if ($searching) {
                $sql_extra .= " AND (`attag` LIKE '%%" . dbesc($search_txt) . "%%' OR `name` LIKE '%%" . dbesc($search_txt) . "%%' OR `nick` LIKE '%%" . dbesc($search_txt) . "%%') ";
index 1692560..dd1a0ce 100644 (file)
@@ -10,9 +10,9 @@
  */
 
 use Friendica\App;
+use Friendica\Content\Text\Plaintext;
 use Friendica\Core\Addon;
 use Friendica\Core\System;
-use Friendica\Object\Image;
 
 function frost_init(App $a) {
        $a->videowidth = 400;
@@ -49,10 +49,8 @@ function frost_uninstall() {
 
 function frost_item_photo_links(App $a, &$body_info)
 {
-       $phototypes = Image::supportedTypes();
-
-       $occurence = 1;
-       $p = bb_find_open_close($body_info['html'], "<a", ">");
+       $occurence = 0;
+       $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>');
        while($p !== false && ($occurence++ < 500)) {
                $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
 
@@ -73,7 +71,7 @@ function frost_item_photo_links(App $a, &$body_info)
 
                }
 
-               $p = bb_find_open_close($body_info['html'], "<a", ">", $occurence);
+               $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>', $occurence);
        }
 }