Display mentioned users and in the comment box by default

This commit is contained in:
Michael 2019-01-28 21:22:03 +00:00
parent 030c0b5dc6
commit d40b2792b6
7 changed files with 39 additions and 7 deletions

View file

@ -768,6 +768,35 @@ class Post extends BaseObject
return $this->comment_box_template;
}
/**
* Get default text for the comment box
*
* @param integer $parent_id ID of the parent item
*
* @return string
*/
private function getDefaultText($parent_id)
{
$item = Item::selectFirst(['author-addr'], ['id' => $parent_id]);
if (!DBA::isResult($item) || empty($item['author-addr'])) {
// Should not happen
return '';
}
$text = '@'.$item['author-addr'].' ';
$terms = Term::tagArrayFromItemId($parent_id, TERM_MENTION);
foreach ($terms as $term) {
$profile = Contact::getDetailsByURL($term['url']);
if (!empty($profile['addr']) && !strstr($text, $profile['addr'])) {
$text .= '@' . $profile['addr'] . ' ';
}
}
return $text;
}
/**
* Get the comment box
*
@ -804,6 +833,8 @@ class Post extends BaseObject
$uid = $conv->getProfileOwner();
$parent_uid = $this->getDataValue('uid');
$default_text = $this->getDefaultText($this->getId());
if (!is_null($parent_uid) && ($uid != $parent_uid)) {
$uid = $parent_uid;
}
@ -817,6 +848,7 @@ class Post extends BaseObject
'$id' => $this->getId(),
'$parent' => $this->getId(),
'$qcomment' => $qcomment,
'$default' => $default_text,
'$profile_uid' => $uid,
'$mylink' => $a->removeBaseURL($a->contact['url']),
'$mytitle' => L10n::t('This is you'),