security update core+modules
This commit is contained in:
@@ -152,7 +152,7 @@ function comment_node_type_load($name) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Entity URI callback.
|
||||
* Implements callback_entity_info_uri().
|
||||
*/
|
||||
function comment_uri($comment) {
|
||||
return array(
|
||||
@@ -490,7 +490,7 @@ function comment_permalink($cid) {
|
||||
// Return the node view, this will show the correct comment in context.
|
||||
return menu_execute_active_handler('node/' . $node->nid, FALSE);
|
||||
}
|
||||
drupal_not_found();
|
||||
return MENU_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -993,12 +993,7 @@ function comment_build_content($comment, $node, $view_mode = 'full', $langcode =
|
||||
$comment->content = array();
|
||||
|
||||
// Allow modules to change the view mode.
|
||||
$context = array(
|
||||
'entity_type' => 'comment',
|
||||
'entity' => $comment,
|
||||
'langcode' => $langcode,
|
||||
);
|
||||
drupal_alter('entity_view_mode', $view_mode, $context);
|
||||
$view_mode = key(entity_view_mode_prepare('comment', array($comment->cid => $comment), $view_mode, $langcode));
|
||||
|
||||
// Build fields content.
|
||||
field_attach_prepare_view('comment', array($comment->cid => $comment), $view_mode, $langcode);
|
||||
@@ -1108,17 +1103,26 @@ function comment_links($comment, $node) {
|
||||
* An array in the format expected by drupal_render().
|
||||
*/
|
||||
function comment_view_multiple($comments, $node, $view_mode = 'full', $weight = 0, $langcode = NULL) {
|
||||
field_attach_prepare_view('comment', $comments, $view_mode, $langcode);
|
||||
entity_prepare_view('comment', $comments, $langcode);
|
||||
$build = array();
|
||||
$entities_by_view_mode = entity_view_mode_prepare('comment', $comments, $view_mode, $langcode);
|
||||
foreach ($entities_by_view_mode as $entity_view_mode => $entities) {
|
||||
field_attach_prepare_view('comment', $entities, $entity_view_mode, $langcode);
|
||||
entity_prepare_view('comment', $entities, $langcode);
|
||||
|
||||
foreach ($entities as $entity) {
|
||||
$build[$entity->cid] = comment_view($entity, $node, $entity_view_mode, $langcode);
|
||||
}
|
||||
}
|
||||
|
||||
$build = array(
|
||||
'#sorted' => TRUE,
|
||||
);
|
||||
foreach ($comments as $comment) {
|
||||
$build[$comment->cid] = comment_view($comment, $node, $view_mode, $langcode);
|
||||
$build[$comment->cid]['#weight'] = $weight;
|
||||
$weight++;
|
||||
}
|
||||
// Sort here, to preserve the input order of the entities that were passed to
|
||||
// this function.
|
||||
uasort($build, 'element_sort');
|
||||
$build['#sorted'] = TRUE;
|
||||
|
||||
return $build;
|
||||
}
|
||||
|
||||
@@ -2041,7 +2045,8 @@ function comment_form($form, &$form_state, $comment) {
|
||||
|
||||
// Attach fields.
|
||||
$comment->node_type = 'comment_node_' . $node->type;
|
||||
field_attach_form('comment', $comment, $form, $form_state);
|
||||
$langcode = entity_language('comment', $comment);
|
||||
field_attach_form('comment', $comment, $form, $form_state, $langcode);
|
||||
|
||||
return $form;
|
||||
}
|
||||
@@ -2066,7 +2071,8 @@ function comment_preview($comment) {
|
||||
$node = node_load($comment->nid);
|
||||
|
||||
if (!form_get_errors()) {
|
||||
$comment->format = $comment->comment_body[LANGUAGE_NONE][0]['format'];
|
||||
$comment_body = field_get_items('comment', $comment, 'comment_body');
|
||||
$comment->format = $comment_body[0]['format'];
|
||||
// Attach the user and time information.
|
||||
if (!empty($comment->name)) {
|
||||
$account = user_load_by_name($comment->name);
|
||||
@@ -2190,7 +2196,9 @@ function comment_submit($comment) {
|
||||
// 1) Filter it into HTML
|
||||
// 2) Strip out all HTML tags
|
||||
// 3) Convert entities back to plain-text.
|
||||
$comment_body = $comment->comment_body[LANGUAGE_NONE][0];
|
||||
$field = field_info_field('comment_body');
|
||||
$langcode = field_is_translatable('comment', $field) ? entity_language('comment', $comment) : LANGUAGE_NONE;
|
||||
$comment_body = $comment->comment_body[$langcode][0];
|
||||
if (isset($comment_body['format'])) {
|
||||
$comment_text = check_markup($comment_body['value'], $comment_body['format']);
|
||||
}
|
||||
@@ -2284,15 +2292,23 @@ function template_preprocess_comment(&$variables) {
|
||||
$variables['comment'] = $comment;
|
||||
$variables['node'] = $node;
|
||||
$variables['author'] = theme('username', array('account' => $comment));
|
||||
|
||||
$variables['created'] = format_date($comment->created);
|
||||
$variables['changed'] = format_date($comment->changed);
|
||||
|
||||
// Avoid calling format_date() twice on the same timestamp.
|
||||
if ($comment->changed == $comment->created) {
|
||||
$variables['changed'] = $variables['created'];
|
||||
}
|
||||
else {
|
||||
$variables['changed'] = format_date($comment->changed);
|
||||
}
|
||||
|
||||
$variables['new'] = !empty($comment->new) ? t('new') : '';
|
||||
$variables['picture'] = theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', array('account' => $comment)) : '';
|
||||
$variables['signature'] = $comment->signature;
|
||||
|
||||
$uri = entity_uri('comment', $comment);
|
||||
$uri['options'] += array('attributes' => array('class' => 'permalink', 'rel' => 'bookmark'));
|
||||
$uri['options'] += array('attributes' => array('class' => array('permalink'), 'rel' => 'bookmark'));
|
||||
|
||||
$variables['title'] = l($comment->subject, $uri['path'], $uri['options']);
|
||||
$variables['permalink'] = l(t('Permalink'), $uri['path'], $uri['options']);
|
||||
@@ -2591,7 +2607,7 @@ function comment_unpublish_action($comment, $context = array()) {
|
||||
/**
|
||||
* Unpublishes a comment if it contains certain keywords.
|
||||
*
|
||||
* @param $comment
|
||||
* @param object $comment
|
||||
* Comment object to modify.
|
||||
* @param array $context
|
||||
* Array with components:
|
||||
@@ -2603,10 +2619,13 @@ function comment_unpublish_action($comment, $context = array()) {
|
||||
* @see comment_unpublish_by_keyword_action_submit()
|
||||
*/
|
||||
function comment_unpublish_by_keyword_action($comment, $context) {
|
||||
$node = node_load($comment->nid);
|
||||
$build = comment_view($comment, $node);
|
||||
$text = drupal_render($build);
|
||||
foreach ($context['keywords'] as $keyword) {
|
||||
$text = drupal_render($comment);
|
||||
if (strpos($text, $keyword) !== FALSE) {
|
||||
$comment->status = COMMENT_NOT_PUBLISHED;
|
||||
comment_save($comment);
|
||||
watchdog('action', 'Unpublished comment %subject.', array('%subject' => $comment->subject));
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user