Mercurial > hg > isophonics-drupal-site
diff core/modules/comment/comment.module @ 18:af1871eacc83
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:33:08 +0100 |
parents | 129ea1e6d783 |
children |
line wrap: on
line diff
--- a/core/modules/comment/comment.module Thu Feb 28 13:21:36 2019 +0000 +++ b/core/modules/comment/comment.module Thu May 09 15:33:08 2019 +0100 @@ -79,15 +79,15 @@ $output .= '<h3>' . t('Uses') . '</h3>'; $output .= '<dl>'; $output .= '<dt>' . t('Enabling commenting') . '</dt>'; - $output .= '<dd>' . t('Comment functionality can be enabled for any entity sub-type (for example, a <a href=":content-type">content type</a>) by adding a <em>Comments</em> field on its <em>Manage fields page</em>. Adding or removing commenting for an entity through the user interface requires the <a href=":field_ui">Field UI</a> module to be enabled, even though the commenting functionality works without it. For more information on fields and entities, see the <a href=":field">Field module help page</a>.', [':content-type' => (\Drupal::moduleHandler()->moduleExists('node')) ? \Drupal::url('entity.node_type.collection') : '#', ':field' => \Drupal::url('help.page', ['name' => 'field']), ':field_ui' => (\Drupal::moduleHandler()->moduleExists('field_ui')) ? \Drupal::url('help.page', ['name' => 'field_ui']) : '#']) . '</dd>'; + $output .= '<dd>' . t('Comment functionality can be enabled for any entity sub-type (for example, a <a href=":content-type">content type</a>) by adding a <em>Comments</em> field on its <em>Manage fields page</em>. Adding or removing commenting for an entity through the user interface requires the <a href=":field_ui">Field UI</a> module to be enabled, even though the commenting functionality works without it. For more information on fields and entities, see the <a href=":field">Field module help page</a>.', [':content-type' => (\Drupal::moduleHandler()->moduleExists('node')) ? Url::fromRoute('entity.node_type.collection')->toString() : '#', ':field' => Url::fromRoute('help.page', ['name' => 'field'])->toString(), ':field_ui' => (\Drupal::moduleHandler()->moduleExists('field_ui')) ? Url::fromRoute('help.page', ['name' => 'field_ui'])->toString() : '#']) . '</dd>'; $output .= '<dt>' . t('Configuring commenting settings') . '</dt>'; $output .= '<dd>' . t('Commenting settings can be configured by editing the <em>Comments</em> field on the <em>Manage fields page</em> of an entity type if the <em>Field UI module</em> is enabled. Configuration includes the label of the comments field, the number of comments to be displayed, and whether they are shown in threaded list. Commenting can be be configured as: <em>Open</em> to allow new comments, <em>Closed</em> to view existing comments, but prevent new comments, or <em>Hidden</em> to hide existing comments and prevent new comments. Changing this configuration for an entity type will not change existing entity items.') . '</dd>'; $output .= '<dt>' . t('Overriding default settings') . '</dt>'; $output .= '<dd>' . t('Users with the appropriate permissions can override the default commenting settings of an entity type when they create an item of that type.') . '</dd>'; $output .= '<dt>' . t('Adding comment types') . '</dt>'; - $output .= '<dd>' . t('Additional <em>comment types</em> can be created per entity sub-type and added on the <a href=":field">Comment types page</a>. If there are multiple comment types available you can select the appropriate one after adding a <em>Comments field</em>.', [':field' => \Drupal::url('entity.comment_type.collection')]) . '</dd>'; + $output .= '<dd>' . t('Additional <em>comment types</em> can be created per entity sub-type and added on the <a href=":field">Comment types page</a>. If there are multiple comment types available you can select the appropriate one after adding a <em>Comments field</em>.', [':field' => Url::fromRoute('entity.comment_type.collection')->toString()]) . '</dd>'; $output .= '<dt>' . t('Approving and managing comments') . '</dt>'; - $output .= '<dd>' . t('Comments from users who have the <em>Skip comment approval</em> permission are published immediately. All other comments are placed in the <a href=":comment-approval">Unapproved comments</a> queue, until a user who has permission to <em>Administer comments and comment settings</em> publishes or deletes them. Published comments can be bulk managed on the <a href=":admin-comment">Published comments</a> administration page. When a comment has no replies, it remains editable by its author, as long as the author has <em>Edit own comments</em> permission.', [':comment-approval' => \Drupal::url('comment.admin_approval'), ':admin-comment' => \Drupal::url('comment.admin')]) . '</dd>'; + $output .= '<dd>' . t('Comments from users who have the <em>Skip comment approval</em> permission are published immediately. All other comments are placed in the <a href=":comment-approval">Unapproved comments</a> queue, until a user who has permission to <em>Administer comments and comment settings</em> publishes or deletes them. Published comments can be bulk managed on the <a href=":admin-comment">Published comments</a> administration page. When a comment has no replies, it remains editable by its author, as long as the author has <em>Edit own comments</em> permission.', [':comment-approval' => Url::fromRoute('comment.admin_approval')->toString(), ':admin-comment' => Url::fromRoute('comment.admin')->toString()]) . '</dd>'; $output .= '</dl>'; return $output; @@ -240,7 +240,7 @@ ]; $entity->rss_elements[] = [ 'key' => 'comments', - 'value' => $entity->url('canonical', $options), + 'value' => $entity->toUrl('canonical', $options)->toString(), ]; } } @@ -623,6 +623,8 @@ * Array keys: #comment, #commented_entity. */ function template_preprocess_comment(&$variables) { + /** @var \Drupal\Core\Datetime\DateFormatterInterface $date_formatter */ + $date_formatter = \Drupal::service('date.formatter'); /** @var \Drupal\comment\CommentInterface $comment */ $comment = $variables['elements']['#comment']; $commented_entity = $comment->getCommentedEntity(); @@ -638,13 +640,13 @@ $variables['author'] = \Drupal::service('renderer')->render($username); $variables['author_id'] = $comment->getOwnerId(); $variables['new_indicator_timestamp'] = $comment->getChangedTime(); - $variables['created'] = format_date($comment->getCreatedTime()); - // Avoid calling format_date() twice on the same timestamp. + $variables['created'] = $date_formatter->format($comment->getCreatedTime()); + // Avoid calling DateFormatterInterface::format() twice on the same timestamp. if ($comment->getChangedTime() == $comment->getCreatedTime()) { $variables['changed'] = $variables['created']; } else { - $variables['changed'] = format_date($comment->getChangedTime()); + $variables['changed'] = $date_formatter->format($comment->getChangedTime()); } if (theme_get_setting('features.comment_user_picture')) { @@ -682,13 +684,13 @@ '#account' => $account_parent, ]; $variables['parent_author'] = \Drupal::service('renderer')->render($username); - $variables['parent_created'] = format_date($comment_parent->getCreatedTime()); - // Avoid calling format_date() twice on the same timestamp. + $variables['parent_created'] = $date_formatter->format($comment_parent->getCreatedTime()); + // Avoid calling DateFormatterInterface::format() twice on same timestamp. if ($comment_parent->getChangedTime() == $comment_parent->getCreatedTime()) { $variables['parent_changed'] = $variables['parent_created']; } else { - $variables['parent_changed'] = format_date($comment_parent->getChangedTime()); + $variables['parent_changed'] = $date_formatter->format($comment_parent->getChangedTime()); } $permalink_uri_parent = $comment_parent->permalink(); $attributes = $permalink_uri_parent->getOption('attributes') ?: []; @@ -724,6 +726,8 @@ // Add comment author user ID. Necessary for the comment-by-viewer library. $variables['attributes']['data-comment-user-id'] = $comment->getOwnerId(); + // Add anchor for each comment. + $variables['attributes']['id'] = 'comment-' . $comment->id(); } /**