diff options
Diffstat (limited to 'classes/User.php')
-rw-r--r-- | classes/User.php | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/classes/User.php b/classes/User.php index 8033229c4..b85192b29 100644 --- a/classes/User.php +++ b/classes/User.php @@ -255,6 +255,19 @@ class User extends Memcached_DataObject $user->inboxed = 1; + // Set default-on options here, otherwise they'll be disabled + // initially for sites using caching, since the initial encache + // doesn't know about the defaults in the database. + $user->emailnotifysub = 1; + $user->emailnotifyfav = 1; + $user->emailnotifynudge = 1; + $user->emailnotifymsg = 1; + $user->emailnotifyattn = 1; + $user->emailmicroid = 1; + $user->emailpost = 1; + $user->jabbermicroid = 1; + $user->viewdesigns = 1; + $user->created = common_sql_now(); if (Event::handle('StartUserRegister', array(&$user, &$profile))) { @@ -269,7 +282,13 @@ class User extends Memcached_DataObject } $user->id = $id; - $user->uri = common_user_uri($user); + + if (!empty($uri)) { + $user->uri = $uri; + } else { + $user->uri = common_user_uri($user); + } + if (!empty($password)) { // may not have a password for OpenID users $user->password = common_munge_password($password, $id); } @@ -552,6 +571,9 @@ class User extends Memcached_DataObject if (Subscription::exists($other, $self)) { Subscription::cancel($other, $self); } + if (Subscription::exists($self, $other)) { + Subscription::cancel($self, $other); + } $block->query('COMMIT'); |