diff --git a/core/includes/session.inc b/core/includes/session.inc index 190a77c..07a8480 100644 --- a/core/includes/session.inc +++ b/core/includes/session.inc @@ -80,7 +80,13 @@ function _drupal_session_read($sid) { // cookies (eg. web crawlers). $insecure_session_name = substr(session_name(), 1); if (!isset($_COOKIE[session_name()]) && !isset($_COOKIE[$insecure_session_name])) { - $user = drupal_anonymous_user(); + $user = (object)array( + 'uid' => 0, + 'hostname' => ip_address(), + 'roles' => array( + DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, + ), + ); return ''; } @@ -113,14 +119,26 @@ function _drupal_session_read($sid) { elseif ($user) { // The user is anonymous or blocked. Only preserve two fields from the // {sessions} table. - $account = drupal_anonymous_user(); + $account = (object)array( + 'uid' => 0, + 'hostname' => ip_address(), + 'roles' => array( + DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, + ), + ); $account->session = $user->session; $account->timestamp = $user->timestamp; $user = $account; } else { // The session has expired. - $user = drupal_anonymous_user(); + $user = (object)array( + 'uid' => 0, + 'hostname' => ip_address(), + 'roles' => array( + DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, + ), + ); $user->session = ''; } @@ -255,13 +273,13 @@ function drupal_session_initialize() { // processes (like drupal_get_token()) needs to know the future // session ID in advance. $GLOBALS['lazy_session'] = TRUE; - $user = (object)array( - 'uid' => 0, - 'hostname' => ip_address(), - 'roles' => array( - DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, - ), - ); + $user = (object) array( + 'uid' => 0, + 'hostname' => ip_address(), + 'roles' => array( + DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, + ), + ); // Less random sessions (which are much faster to generate) are used for // anonymous users than are generated in drupal_session_regenerate() when // a user becomes authenticated. @@ -439,7 +457,13 @@ function _drupal_session_destroy($sid) { // Reset $_SESSION and $user to prevent a new session from being started // in drupal_session_commit(). $_SESSION = array(); - $user = drupal_anonymous_user(); + $user = (object) array( + 'uid' => 0, + 'hostname' => ip_address(), + 'roles' => array( + DRUPAL_ANONYMOUS_RID => DRUPAL_ANONYMOUS_RID, + ), + ); // Unset the session cookies. _drupal_session_delete_cookie(session_name()); diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module index dd87b29..8b572e2 100644 --- a/core/modules/comment/comment.module +++ b/core/modules/comment/comment.module @@ -1611,7 +1611,7 @@ function comment_prepare_author(Comment $comment) { if (!$account) { $account = entity_create('user', array('uid' => 0, 'name' => $comment->name->value, 'homepage' => $comment->homepage->value)); } - return $account; + return $account->getBCEntity(); } /**