Fixes issue 7914: Reshares got crumbled
This commit is contained in:
parent
1de81716b3
commit
23cdc9cec8
|
@ -652,6 +652,9 @@ function item_post(App $a) {
|
||||||
if ($orig_post) {
|
if ($orig_post) {
|
||||||
$datarray['edit'] = true;
|
$datarray['edit'] = true;
|
||||||
} else {
|
} else {
|
||||||
|
// If this was a share, add missing data here
|
||||||
|
$datarray = Item::addShareDataFromOriginal($datarray);
|
||||||
|
|
||||||
$datarray['edit'] = false;
|
$datarray['edit'] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -730,9 +733,6 @@ function item_post(App $a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If this was a share, add missing data here
|
|
||||||
$datarray = Item::addShareDataFromOriginal($datarray);
|
|
||||||
|
|
||||||
$post_id = Item::insert($datarray);
|
$post_id = Item::insert($datarray);
|
||||||
|
|
||||||
if (!$post_id) {
|
if (!$post_id) {
|
||||||
|
|
|
@ -953,12 +953,11 @@ class BBCode extends BaseObject
|
||||||
public static function convertShare($text, callable $callback)
|
public static function convertShare($text, callable $callback)
|
||||||
{
|
{
|
||||||
$return = preg_replace_callback(
|
$return = preg_replace_callback(
|
||||||
"/(.*?)\[share(.*?)\](.*?)\[\/share\]/ism",
|
"/(.*?)\[share(.*?)\](.*)\[\/share\]/ism",
|
||||||
function ($match) use ($callback) {
|
function ($match) use ($callback) {
|
||||||
$attribute_string = $match[2];
|
$attribute_string = $match[2];
|
||||||
|
|
||||||
$attributes = [];
|
$attributes = [];
|
||||||
foreach(['author', 'profile', 'avatar', 'link', 'posted'] as $field) {
|
foreach (['author', 'profile', 'avatar', 'link', 'posted'] as $field) {
|
||||||
preg_match("/$field=(['\"])(.+?)\\1/ism", $attribute_string, $matches);
|
preg_match("/$field=(['\"])(.+?)\\1/ism", $attribute_string, $matches);
|
||||||
$attributes[$field] = html_entity_decode($matches[2] ?? '', ENT_QUOTES, 'UTF-8');
|
$attributes[$field] = html_entity_decode($matches[2] ?? '', ENT_QUOTES, 'UTF-8');
|
||||||
}
|
}
|
||||||
|
|
|
@ -3833,7 +3833,7 @@ class Item extends BaseObject
|
||||||
$body = $shared_item['body'];
|
$body = $shared_item['body'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$item['body'] = preg_replace("/(.*?\[share.*?\]\s?).*?(\s?\[\/share\]\s?)/ism", '$1' . $body . '$2', $item['body']);
|
$item['body'] = preg_replace("/\[share ([^\[\]]*)\].*\[\/share\]/ism", '[share $1]' . $body . '[/share]', $item['body']);
|
||||||
unset($shared_item['body']);
|
unset($shared_item['body']);
|
||||||
|
|
||||||
return array_merge($item, $shared_item);
|
return array_merge($item, $shared_item);
|
||||||
|
|
Loading…
Reference in a new issue