diff --git a/include/conversation.php b/include/conversation.php index c10a7bec73..b69ce939e8 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -25,6 +25,7 @@ use Friendica\Object\Post; use Friendica\Object\Thread; use Friendica\Util\DateTimeFormat; use Friendica\Util\Proxy as ProxyUtils; +use Friendica\Util\Strings; use Friendica\Util\Temporal; use Friendica\Util\XML; @@ -195,7 +196,7 @@ function localize_item(&$item) $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; $obj = XML::parseString($xmlhead.$item['object']); - $links = XML::parseString($xmlhead."".XML::unescape($obj->link).""); + $links = XML::parseString($xmlhead."".Strings::unescape($obj->link).""); $Bname = $obj->title; $Blink = ""; diff --git a/include/text.php b/include/text.php index 5da54b5fc9..15b482f106 100644 --- a/include/text.php +++ b/include/text.php @@ -26,7 +26,7 @@ use Friendica\Util\Proxy as ProxyUtils; use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Model\FileTag; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once "include/conversation.php"; @@ -974,9 +974,9 @@ function get_cats_and_terms($item) if ($cnt) { foreach ($matches as $mtch) { $categories[] = [ - 'name' => XML::escape(FileTag::decode($mtch[1])), + 'name' => Strings::escape(FileTag::decode($mtch[1])), 'url' => "#", - 'removeurl' => ((local_user() == $item['uid'])?'filerm/' . $item['id'] . '?f=&cat=' . XML::escape(FileTag::decode($mtch[1])):""), + 'removeurl' => ((local_user() == $item['uid'])?'filerm/' . $item['id'] . '?f=&cat=' . Strings::escape(FileTag::decode($mtch[1])):""), 'first' => $first, 'last' => false ]; @@ -995,9 +995,9 @@ function get_cats_and_terms($item) if ($cnt) { foreach ($matches as $mtch) { $folders[] = [ - 'name' => XML::escape(FileTag::decode($mtch[1])), + 'name' => Strings::escape(FileTag::decode($mtch[1])), 'url' => "#", - 'removeurl' => ((local_user() == $item['uid']) ? 'filerm/' . $item['id'] . '?f=&term=' . XML::escape(FileTag::decode($mtch[1])) : ""), + 'removeurl' => ((local_user() == $item['uid']) ? 'filerm/' . $item['id'] . '?f=&term=' . Strings::escape(FileTag::decode($mtch[1])) : ""), 'first' => $first, 'last' => false ]; diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 0f001b11a2..449a39cbbe 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -33,6 +33,7 @@ use Friendica\Protocol\ActivityPub; use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; use Friendica\Util\Network; +use Friendica\Util\Strings; use Friendica\Util\XML; require_once 'include/enotify.php'; @@ -256,7 +257,7 @@ function dfrn_confirm_post(App $a, $handsfree = null) $xml = XML::parseString($res); $status = (int) $xml->status; - $message = XML::unescape($xml->message); // human readable text of what may have gone wrong. + $message = Strings::unescape($xml->message); // human readable text of what may have gone wrong. switch ($status) { case 0: info(L10n::t("Confirmation completed successfully.") . EOL); diff --git a/mod/filer.php b/mod/filer.php index 3508079400..1ccc4213af 100644 --- a/mod/filer.php +++ b/mod/filer.php @@ -8,7 +8,7 @@ use Friendica\Core\Logger; use Friendica\Core\PConfig; use Friendica\Core\Renderer; use Friendica\Model\FileTag; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'include/items.php'; @@ -18,7 +18,7 @@ function filer_content(App $a) killme(); } - $term = XML::unescape(trim(defaults($_GET, 'term', ''))); + $term = Strings::unescape(trim(defaults($_GET, 'term', ''))); $item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0); Logger::log('filer: tag ' . $term . ' item ' . $item_id); diff --git a/mod/filerm.php b/mod/filerm.php index 335b27b320..8ad1cddbf1 100644 --- a/mod/filerm.php +++ b/mod/filerm.php @@ -4,7 +4,7 @@ use Friendica\App; use Friendica\Core\Logger; use Friendica\Core\System; use Friendica\Model\FileTag; -use Friendica\Util\XML; +use Friendica\Util\Strings; function filerm_content(App $a) { @@ -13,8 +13,8 @@ function filerm_content(App $a) killme(); } - $term = XML::unescape(trim($_GET['term'])); - $cat = XML::unescape(trim($_GET['cat'])); + $term = Strings::unescape(trim($_GET['term'])); + $cat = Strings::unescape(trim($_GET['cat'])); $category = (($cat) ? true : false); diff --git a/mod/photos.php b/mod/photos.php index 69b1972d4c..0e5e3349ad 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -29,8 +29,8 @@ use Friendica\Protocol\DFRN; use Friendica\Util\DateTimeFormat; use Friendica\Util\Map; use Friendica\Util\Security; +use Friendica\Util\Strings; use Friendica\Util\Temporal; -use Friendica\Util\XML; require_once 'include/items.php'; @@ -683,15 +683,15 @@ function photos_post(App $a) $arr['body'] .= "\n\n" . '[url=' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . '[img]' . System::baseUrl() . "/photo/" . $p[0]['resource-id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ; $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $tagged[0] . '' . $tagged[1] . '/' . $tagged[0] . ''; - $arr['object'] .= '' . XML::escape('' . "\n"); + $arr['object'] .= '' . Strings::escape('' . "\n"); if ($tagged[3]) { - $arr['object'] .= XML::escape('' . "\n"); + $arr['object'] .= Strings::escape('' . "\n"); } $arr['object'] .= '' . "\n"; $arr['target'] = '' . ACTIVITY_OBJ_IMAGE . '' . $p[0]['desc'] . '' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ''; - $arr['target'] .= '' . XML::escape('' . "\n" . '') . ''; + $arr['target'] .= '' . Strings::escape('' . "\n" . '') . ''; $item_id = Item::insert($arr); } diff --git a/mod/poco.php b/mod/poco.php index 08677ef8d4..37d7cb7a91 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -15,7 +15,7 @@ use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\Protocol\PortableContact; use Friendica\Util\DateTimeFormat; -use Friendica\Util\XML; +use Friendica\Util\Strings; function poco_init(App $a) { $system_mode = false; @@ -376,7 +376,7 @@ function poco_init(App $a) { if ($format === 'xml') { header('Content-type: text/xml'); - echo Renderer::replaceMacros(Renderer::getMarkupTemplate('poco_xml.tpl'), XML::arrayEscape(['$response' => $ret])); + echo Renderer::replaceMacros(Renderer::getMarkupTemplate('poco_xml.tpl'), Strings::arrayEscape(['$response' => $ret])); killme(); } if ($format === 'json') { diff --git a/mod/poke.php b/mod/poke.php index 60ed5c402e..bf04d4480f 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -22,7 +22,7 @@ use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\Model\Item; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'include/items.php'; @@ -125,9 +125,9 @@ function poke_init(App $a) $arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . L10n::t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]'; $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $target['name'] . '' . $target['url'] . ''; - $arr['object'] .= '' . XML::escape('' . "\n"); + $arr['object'] .= '' . Strings::escape('' . "\n"); - $arr['object'] .= XML::escape('' . "\n"); + $arr['object'] .= Strings::escape('' . "\n"); $arr['object'] .= '' . "\n"; $item_id = Item::insert($arr); diff --git a/mod/profile.php b/mod/profile.php index cfbe07dadb..c94353b5c0 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -24,7 +24,7 @@ use Friendica\Protocol\ActivityPub; use Friendica\Protocol\DFRN; use Friendica\Util\DateTimeFormat; use Friendica\Util\Security; -use Friendica\Util\XML; +use Friendica\Util\Strings; function profile_init(App $a) { @@ -210,7 +210,7 @@ function profile_content(App $a, $update = 0) $commvisitor = $commpage && $remote_contact; $a->page['aside'] .= posted_date_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'], true); - $a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (!empty($category) ? XML::escape($category) : '')); + $a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (!empty($category) ? Strings::escape($category) : '')); $a->page['aside'] .= Widget::tagCloud(); if (Security::canWriteToUserWall($a->profile['profile_uid'])) { diff --git a/mod/subthread.php b/mod/subthread.php index 425306b6f7..e3cfe39e6e 100644 --- a/mod/subthread.php +++ b/mod/subthread.php @@ -10,7 +10,7 @@ use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\Model\Item; use Friendica\Util\Security; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'include/items.php'; @@ -88,7 +88,7 @@ function subthread_content(App $a) { $post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status')); $objtype = (($item['resource-id']) ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE ); - $link = XML::escape('' . "\n") ; + $link = Strings::escape('' . "\n") ; $body = $item['body']; $obj = <<< EOT diff --git a/mod/tagger.php b/mod/tagger.php index dd859e61cd..f978b5d3b1 100644 --- a/mod/tagger.php +++ b/mod/tagger.php @@ -10,7 +10,7 @@ use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\Model\Item; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'include/items.php'; @@ -67,7 +67,7 @@ function tagger_content(App $a) { } $uri = Item::newURI($owner_uid); - $xterm = XML::escape($term); + $xterm = Strings::escape($term); $post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status')); $targettype = (($item['resource-id']) ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE ); @@ -77,9 +77,9 @@ function tagger_content(App $a) { $href = System::baseUrl() . '/display/' . $item['guid']; } - $link = XML::escape('' . "\n") ; + $link = Strings::escape('' . "\n") ; - $body = XML::escape($item['body']); + $body = Strings::escape($item['body']); $target = <<< EOT diff --git a/src/Content/Widget.php b/src/Content/Widget.php index 397a1863d3..2bbf3f8258 100644 --- a/src/Content/Widget.php +++ b/src/Content/Widget.php @@ -18,7 +18,7 @@ use Friendica\Model\Contact; use Friendica\Model\FileTag; use Friendica\Model\GContact; use Friendica\Model\Profile; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'boot.php'; require_once 'include/dba.php'; @@ -190,7 +190,7 @@ class Widget if ($cnt) { foreach ($matches as $mtch) { - $unescaped = XML::escape(FileTag::decode($mtch[1])); + $unescaped = Strings::escape(FileTag::decode($mtch[1])); $terms[] = array('name' => $unescaped, 'selected' => (($selected == $unescaped) ? 'selected' : '')); } } @@ -230,7 +230,7 @@ class Widget if ($cnt) { foreach ($matches as $mtch) { - $unescaped = XML::escape(FileTag::decode($mtch[1])); + $unescaped = Strings::escape(FileTag::decode($mtch[1])); $terms[] = array('name' => $unescaped, 'selected' => (($selected == $unescaped) ? 'selected' : '')); } } diff --git a/src/Model/Event.php b/src/Model/Event.php index f4df6ac9f6..b5dec7c785 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -17,7 +17,7 @@ use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Util\DateTimeFormat; use Friendica\Util\Map; -use Friendica\Util\XML; +use Friendica\Util\Strings; require_once 'boot.php'; require_once 'include/dba.php'; @@ -303,8 +303,8 @@ class Event extends BaseObject $item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]); if (DBA::isResult($item)) { - $object = '' . XML::escape(ACTIVITY_OBJ_EVENT) . '' . XML::escape($event['uri']) . ''; - $object .= '' . XML::escape(self::getBBCode($event)) . ''; + $object = '' . Strings::escape(ACTIVITY_OBJ_EVENT) . '' . Strings::escape($event['uri']) . ''; + $object .= '' . Strings::escape(self::getBBCode($event)) . ''; $object .= '' . "\n"; $fields = ['body' => self::getBBCode($event), 'object' => $object, 'edited' => $event['edited']]; @@ -354,8 +354,8 @@ class Event extends BaseObject $item_arr['body'] = self::getBBCode($event); $item_arr['event-id'] = $event['id']; - $item_arr['object'] = '' . XML::escape(ACTIVITY_OBJ_EVENT) . '' . XML::escape($event['uri']) . ''; - $item_arr['object'] .= '' . XML::escape(self::getBBCode($event)) . ''; + $item_arr['object'] = '' . Strings::escape(ACTIVITY_OBJ_EVENT) . '' . Strings::escape($event['uri']) . ''; + $item_arr['object'] .= '' . Strings::escape(self::getBBCode($event)) . ''; $item_arr['object'] .= '' . "\n"; $item_id = Item::insert($item_arr); diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index 33df28d92b..7cb23299ba 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -33,6 +33,7 @@ use Friendica\Object\Image; use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; use Friendica\Util\Network; +use Friendica\Util\Strings; use Friendica\Util\XML; use HTMLPurifier; use HTMLPurifier_Config; @@ -2547,7 +2548,7 @@ class DFRN $item["guid"] = XML::getFirstNodeValue($xpath, "dfrn:diaspora_guid/text()", $entry); // We store the data from "dfrn:diaspora_signature" in a different table, this is done in "Item::insert" - $dsprsig = XML::unescape(XML::getFirstNodeValue($xpath, "dfrn:diaspora_signature/text()", $entry)); + $dsprsig = Strings::unescape(XML::getFirstNodeValue($xpath, "dfrn:diaspora_signature/text()", $entry)); if ($dsprsig != "") { $item["dsprsig"] = $dsprsig; } diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 0b5c9c9496..30db886b46 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -34,6 +34,7 @@ use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; use Friendica\Util\Map; use Friendica\Util\Network; +use Friendica\Util\Strings; use Friendica\Util\XML; use SimpleXMLElement; @@ -463,7 +464,7 @@ class Diaspora } return ['message' => (string)base64url_decode($base->data), - 'author' => XML::unescape($author_addr), + 'author' => Strings::unescape($author_addr), 'key' => (string)$key]; } @@ -603,7 +604,7 @@ class Diaspora Logger::log('Message verified.'); return ['message' => (string)$inner_decrypted, - 'author' => XML::unescape($author_link), + 'author' => Strings::unescape($author_link), 'key' => (string)$key]; } @@ -1505,9 +1506,9 @@ class Diaspora */ private static function receiveAccountMigration(array $importer, $data) { - $old_handle = notags(XML::unescape($data->author)); - $new_handle = notags(XML::unescape($data->profile->author)); - $signature = notags(XML::unescape($data->signature)); + $old_handle = notags(Strings::unescape($data->author)); + $new_handle = notags(Strings::unescape($data->profile->author)); + $signature = notags(Strings::unescape($data->signature)); $contact = self::contactByHandle($importer["uid"], $old_handle); if (!$contact) { @@ -1565,7 +1566,7 @@ class Diaspora */ private static function receiveAccountDeletion($data) { - $author = notags(XML::unescape($data->author)); + $author = notags(Strings::unescape($data->author)); $contacts = DBA::select('contact', ['id'], ['addr' => $author]); while ($contact = DBA::fetch($contacts)) { @@ -1656,19 +1657,19 @@ class Diaspora */ private static function receiveComment(array $importer, $sender, $data, $xml) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $parent_guid = notags(XML::unescape($data->parent_guid)); - $text = XML::unescape($data->text); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $parent_guid = notags(Strings::unescape($data->parent_guid)); + $text = Strings::unescape($data->text); if (isset($data->created_at)) { - $created_at = DateTimeFormat::utc(notags(XML::unescape($data->created_at))); + $created_at = DateTimeFormat::utc(notags(Strings::unescape($data->created_at))); } else { $created_at = DateTimeFormat::utcNow(); } if (isset($data->thread_parent_guid)) { - $thread_parent_guid = notags(XML::unescape($data->thread_parent_guid)); + $thread_parent_guid = notags(Strings::unescape($data->thread_parent_guid)); $thr_uri = self::getUriFromGuid("", $thread_parent_guid, true); } else { $thr_uri = ""; @@ -1773,24 +1774,24 @@ class Diaspora */ private static function receiveConversationMessage(array $importer, array $contact, $data, $msg, $mesg, $conversation) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $subject = notags(XML::unescape($data->subject)); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $subject = notags(Strings::unescape($data->subject)); // "diaspora_handle" is the element name from the old version // "author" is the element name from the new version if ($mesg->author) { - $msg_author = notags(XML::unescape($mesg->author)); + $msg_author = notags(Strings::unescape($mesg->author)); } elseif ($mesg->diaspora_handle) { - $msg_author = notags(XML::unescape($mesg->diaspora_handle)); + $msg_author = notags(Strings::unescape($mesg->diaspora_handle)); } else { return false; } - $msg_guid = notags(XML::unescape($mesg->guid)); - $msg_conversation_guid = notags(XML::unescape($mesg->conversation_guid)); - $msg_text = XML::unescape($mesg->text); - $msg_created_at = DateTimeFormat::utc(notags(XML::unescape($mesg->created_at))); + $msg_guid = notags(Strings::unescape($mesg->guid)); + $msg_conversation_guid = notags(Strings::unescape($mesg->conversation_guid)); + $msg_text = Strings::unescape($mesg->text); + $msg_created_at = DateTimeFormat::utc(notags(Strings::unescape($mesg->created_at))); if ($msg_conversation_guid != $guid) { Logger::log("message conversation guid does not belong to the current conversation."); @@ -1861,11 +1862,11 @@ class Diaspora */ private static function receiveConversation(array $importer, $msg, $data) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $subject = notags(XML::unescape($data->subject)); - $created_at = DateTimeFormat::utc(notags(XML::unescape($data->created_at))); - $participants = notags(XML::unescape($data->participants)); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $subject = notags(Strings::unescape($data->subject)); + $created_at = DateTimeFormat::utc(notags(Strings::unescape($data->created_at))); + $participants = notags(Strings::unescape($data->participants)); $messages = $data->message; @@ -1919,11 +1920,11 @@ class Diaspora */ private static function receiveLike(array $importer, $sender, $data) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $parent_guid = notags(XML::unescape($data->parent_guid)); - $parent_type = notags(XML::unescape($data->parent_type)); - $positive = notags(XML::unescape($data->positive)); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $parent_guid = notags(Strings::unescape($data->parent_guid)); + $parent_type = notags(Strings::unescape($data->parent_type)); + $positive = notags(Strings::unescape($data->positive)); // likes on comments aren't supported by Diaspora - only on posts // But maybe this will be supported in the future, so we will accept it. @@ -2028,11 +2029,11 @@ class Diaspora */ private static function receiveMessage(array $importer, $data) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $conversation_guid = notags(XML::unescape($data->conversation_guid)); - $text = XML::unescape($data->text); - $created_at = DateTimeFormat::utc(notags(XML::unescape($data->created_at))); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $conversation_guid = notags(Strings::unescape($data->conversation_guid)); + $text = Strings::unescape($data->text); + $created_at = DateTimeFormat::utc(notags(Strings::unescape($data->created_at))); $contact = self::allowedContactByHandle($importer, $author, true); if (!$contact) { @@ -2103,8 +2104,8 @@ class Diaspora */ private static function receiveParticipation(array $importer, $data) { - $author = strtolower(notags(XML::unescape($data->author))); - $parent_guid = notags(XML::unescape($data->parent_guid)); + $author = strtolower(notags(Strings::unescape($data->author))); + $parent_guid = notags(Strings::unescape($data->parent_guid)); $contact_id = Contact::getIdForURL($author); if (!$contact_id) { @@ -2196,22 +2197,22 @@ class Diaspora */ private static function receiveProfile(array $importer, $data) { - $author = strtolower(notags(XML::unescape($data->author))); + $author = strtolower(notags(Strings::unescape($data->author))); $contact = self::contactByHandle($importer["uid"], $author); if (!$contact) { return false; } - $name = XML::unescape($data->first_name).((strlen($data->last_name)) ? " ".XML::unescape($data->last_name) : ""); - $image_url = XML::unescape($data->image_url); - $birthday = XML::unescape($data->birthday); - $gender = XML::unescape($data->gender); - $about = Markdown::toBBCode(XML::unescape($data->bio)); - $location = Markdown::toBBCode(XML::unescape($data->location)); - $searchable = (XML::unescape($data->searchable) == "true"); - $nsfw = (XML::unescape($data->nsfw) == "true"); - $tags = XML::unescape($data->tag_string); + $name = Strings::unescape($data->first_name).((strlen($data->last_name)) ? " ".Strings::unescape($data->last_name) : ""); + $image_url = Strings::unescape($data->image_url); + $birthday = Strings::unescape($data->birthday); + $gender = Strings::unescape($data->gender); + $about = Markdown::toBBCode(Strings::unescape($data->bio)); + $location = Markdown::toBBCode(Strings::unescape($data->location)); + $searchable = (Strings::unescape($data->searchable) == "true"); + $nsfw = (Strings::unescape($data->nsfw) == "true"); + $tags = Strings::unescape($data->tag_string); $tags = explode("#", $tags); @@ -2310,8 +2311,8 @@ class Diaspora */ private static function receiveContactRequest(array $importer, $data) { - $author = XML::unescape($data->author); - $recipient = XML::unescape($data->recipient); + $author = Strings::unescape($data->author); + $recipient = Strings::unescape($data->recipient); if (!$author || !$recipient) { return false; @@ -2320,13 +2321,13 @@ class Diaspora // the current protocol version doesn't know these fields // That means that we will assume their existance if (isset($data->following)) { - $following = (XML::unescape($data->following) == "true"); + $following = (Strings::unescape($data->following) == "true"); } else { $following = true; } if (isset($data->sharing)) { - $sharing = (XML::unescape($data->sharing) == "true"); + $sharing = (Strings::unescape($data->sharing) == "true"); } else { $sharing = true; } @@ -2573,13 +2574,13 @@ class Diaspora */ private static function receiveReshare(array $importer, $data, $xml) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $created_at = DateTimeFormat::utc(notags(XML::unescape($data->created_at))); - $root_author = notags(XML::unescape($data->root_author)); - $root_guid = notags(XML::unescape($data->root_guid)); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $created_at = DateTimeFormat::utc(notags(Strings::unescape($data->created_at))); + $root_author = notags(Strings::unescape($data->root_author)); + $root_guid = notags(Strings::unescape($data->root_guid)); /// @todo handle unprocessed property "provider_display_name" - $public = notags(XML::unescape($data->public)); + $public = notags(Strings::unescape($data->public)); $contact = self::allowedContactByHandle($importer, $author, false); if (!$contact) { @@ -2665,9 +2666,9 @@ class Diaspora */ private static function itemRetraction(array $importer, array $contact, $data) { - $author = notags(XML::unescape($data->author)); - $target_guid = notags(XML::unescape($data->target_guid)); - $target_type = notags(XML::unescape($data->target_type)); + $author = notags(Strings::unescape($data->author)); + $target_guid = notags(Strings::unescape($data->target_guid)); + $target_type = notags(Strings::unescape($data->target_type)); $person = self::personByHandle($author); if (!is_array($person)) { @@ -2729,7 +2730,7 @@ class Diaspora */ private static function receiveRetraction(array $importer, $sender, $data) { - $target_type = notags(XML::unescape($data->target_type)); + $target_type = notags(Strings::unescape($data->target_type)); $contact = self::contactByHandle($importer["uid"], $sender); if (!$contact && (in_array($target_type, ["Contact", "Person"]))) { @@ -2774,12 +2775,12 @@ class Diaspora */ private static function receiveStatusMessage(array $importer, SimpleXMLElement $data, $xml) { - $author = notags(XML::unescape($data->author)); - $guid = notags(XML::unescape($data->guid)); - $created_at = DateTimeFormat::utc(notags(XML::unescape($data->created_at))); - $public = notags(XML::unescape($data->public)); - $text = XML::unescape($data->text); - $provider_display_name = notags(XML::unescape($data->provider_display_name)); + $author = notags(Strings::unescape($data->author)); + $guid = notags(Strings::unescape($data->guid)); + $created_at = DateTimeFormat::utc(notags(Strings::unescape($data->created_at))); + $public = notags(Strings::unescape($data->public)); + $text = Strings::unescape($data->text); + $provider_display_name = notags(Strings::unescape($data->provider_display_name)); $contact = self::allowedContactByHandle($importer, $author, false); if (!$contact) { @@ -2794,7 +2795,7 @@ class Diaspora $address = []; if ($data->location) { foreach ($data->location->children() as $fieldname => $data) { - $address[$fieldname] = notags(XML::unescape($data)); + $address[$fieldname] = notags(Strings::unescape($data)); } } @@ -2805,8 +2806,8 @@ class Diaspora // Attach embedded pictures to the body if ($data->photo) { foreach ($data->photo as $photo) { - $body = "[img]".XML::unescape($photo->remote_photo_path). - XML::unescape($photo->remote_photo_name)."[/img]\n".$body; + $body = "[img]".Strings::unescape($photo->remote_photo_path). + Strings::unescape($photo->remote_photo_name)."[/img]\n".$body; } $datarray["object-type"] = ACTIVITY_OBJ_IMAGE; diff --git a/src/Util/Strings.php b/src/Util/Strings.php index 5efc214afc..19843d9f61 100644 --- a/src/Util/Strings.php +++ b/src/Util/Strings.php @@ -44,7 +44,7 @@ class Strings if (is_bool($val)) { return $val?"true":"false"; } elseif (is_array($val)) { - return array_map('XML::arrayEscape', $val); + return array_map('Strings::arrayEscape', $val); } return self::escape((string) $val); }