Bugfix: XML copy had problems with "&"

This commit is contained in:
Michael Vogel 2016-03-14 23:54:01 +01:00
parent dc2e7a66b3
commit 4b5e7007a7
2 changed files with 7 additions and 7 deletions

View File

@ -291,7 +291,7 @@ class diaspora {
return self::receive_account_deletion($importer, $fields); return self::receive_account_deletion($importer, $fields);
case "comment": case "comment":
return self::receive_comment($importer, $sender, $fields); return self::receive_comment($importer, $sender, $fields, $msg["message"]);
case "conversation": case "conversation":
return self::receive_conversation($importer, $msg, $fields); return self::receive_conversation($importer, $msg, $fields);
@ -324,7 +324,7 @@ class diaspora {
return self::receive_retraction($importer, $sender, $fields); return self::receive_retraction($importer, $sender, $fields);
case "status_message": case "status_message":
return self::receive_status_message($importer, $fields); return self::receive_status_message($importer, $fields, $msg["message"]);
default: default:
logger("Unknown message type ".$type); logger("Unknown message type ".$type);
@ -841,7 +841,7 @@ class diaspora {
return true; return true;
} }
private function receive_comment($importer, $sender, $data) { private function receive_comment($importer, $sender, $data, $xml) {
$guid = notags(unxmlify($data->guid)); $guid = notags(unxmlify($data->guid));
$parent_guid = notags(unxmlify($data->parent_guid)); $parent_guid = notags(unxmlify($data->parent_guid));
$text = unxmlify($data->text); $text = unxmlify($data->text);
@ -890,7 +890,7 @@ class diaspora {
$datarray["parent-uri"] = $parent_item["uri"]; $datarray["parent-uri"] = $parent_item["uri"];
$datarray["object-type"] = ACTIVITY_OBJ_COMMENT; $datarray["object-type"] = ACTIVITY_OBJ_COMMENT;
$datarray["object"] = json_encode($data); $datarray["object"] = $xml;
$datarray["body"] = diaspora2bb($text); $datarray["body"] = diaspora2bb($text);
@ -1769,7 +1769,7 @@ class diaspora {
return true; return true;
} }
private function receive_status_message($importer, $data) { private function receive_status_message($importer, $data, $xml) {
$raw_message = unxmlify($data->raw_message); $raw_message = unxmlify($data->raw_message);
$guid = notags(unxmlify($data->guid)); $guid = notags(unxmlify($data->guid));
@ -1831,7 +1831,7 @@ class diaspora {
$datarray["verb"] = ACTIVITY_POST; $datarray["verb"] = ACTIVITY_POST;
$datarray["gravity"] = GRAVITY_PARENT; $datarray["gravity"] = GRAVITY_PARENT;
$datarray["object"] = json_encode($data); $datarray["object"] = $xml;
$datarray["body"] = $body; $datarray["body"] = $body;

View File

@ -62,7 +62,7 @@ class xml {
function copy(&$source, &$target, $elementname) { function copy(&$source, &$target, $elementname) {
if (count($source->children()) == 0) if (count($source->children()) == 0)
$target->addChild($elementname, $source); $target->addChild($elementname, xmlify($source));
else { else {
$child = $target->addChild($elementname); $child = $target->addChild($elementname);
foreach ($source->children() AS $childfield => $childentry) foreach ($source->children() AS $childfield => $childentry)