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

@ -559,10 +559,10 @@ class Item extends BaseObject
$fields['permissionset'] = ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid'];
$fields['author'] = ['url' => 'author-link', 'name' => 'author-name',
$fields['author'] = ['url' => 'author-link', 'name' => 'author-name', 'addr' => 'author-addr',
'thumb' => 'author-avatar', 'nick' => 'author-nick', 'network' => 'author-network'];
$fields['owner'] = ['url' => 'owner-link', 'name' => 'owner-name',
$fields['owner'] = ['url' => 'owner-link', 'name' => 'owner-name', 'addr' => 'owner-addr',
'thumb' => 'owner-avatar', 'nick' => 'owner-nick', 'network' => 'owner-network'];
$fields['contact'] = ['url' => 'contact-link', 'name' => 'contact-name', 'thumb' => 'contact-avatar',

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'),