summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-03-28 17:36:39 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-03-28 17:36:39 -0400
commitfe426a3152db14e175e3a5bb819c4eca4279b6f7 (patch)
tree0099a3f9cbe0149f74d96bff37d9ecfbdbd76fa1 /classes
parenta4919eab6a5f01c3220507790f16c55dd4dbc1f6 (diff)
welcome notice, default sub for new users
Diffstat (limited to 'classes')
-rw-r--r--classes/User.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/classes/User.php b/classes/User.php
index d9f30bec5..e9e472fe1 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -273,12 +273,54 @@ class User extends Memcached_DataObject
$user->emailChanged();
}
+ // Default system subscription
+
+ $defnick = common_config('newuser', 'default');
+
+ if (!empty($defnick)) {
+ $defuser = User::staticGet('nickname', $defnick);
+ if (empty($defuser)) {
+ common_log(LOG_WARNING, sprintf("Default user %s does not exist.", $defnick),
+ __FILE__);
+ } else {
+ $defsub = new Subscription();
+ $defsub->subscriber = $user->id;
+ $defsub->subscribed = $defuser->id;
+ $defsub->created = $user->created;
+
+ $result = $defsub->insert();
+
+ if (!$result) {
+ common_log_db_error($defsub, 'INSERT', __FILE__);
+ return false;
+ }
+ }
+ }
+
$profile->query('COMMIT');
if ($email && !$user->email) {
mail_confirm_address($user, $confirm->code, $profile->nickname, $email);
}
+ // Welcome message
+
+ $welcome = common_config('newuser', 'welcome');
+
+ if (!empty($welcome)) {
+ $welcomeuser = User::staticGet('nickname', $welcome);
+ if (empty($welcomeuser)) {
+ common_log(LOG_WARNING, sprintf("Welcome user %s does not exist.", $defnick),
+ __FILE__);
+ } else {
+ $notice = Notice::saveNew($welcomeuser->id,
+ sprintf(_('Welcome to %1$s, @%2$s!'),
+ common_config('site', 'name'),
+ $user->nickname),
+ 'system');
+ }
+ }
+
return $user;
}