diff --git a/db/laconica.sql b/db/laconica.sql index cc475e4cfc..5e612cbd8a 100644 --- a/db/laconica.sql +++ b/db/laconica.sql @@ -45,8 +45,11 @@ create table user ( password varchar(255) comment 'salted password, can be null for OpenID users', email varchar(255) unique key comment 'email address for password recovery etc.', jabber varchar(255) unique key comment 'jabber ID for notices', + jabbernotify tinyint default 0 comment 'whether to send notices to jabber', + updatefrompresence tinyint default 0 comment 'whether to record updates from Jabber presence notices', sms varchar(64) unique key comment 'sms phone number', carrier integer comment 'foreign key to sms_carrier' references sms_carrier (id), + smsnotify tinyint default 0 comment 'whether to send notices to SMS', uri varchar(255) unique key comment 'universally unique identifier, usually a tag URI', created datetime not null comment 'date this record was created', modified timestamp comment 'date this record was modified' diff --git a/xmppdaemon.php b/xmppdaemon.php index 43c49e6041..71f1d853b9 100644 --- a/xmppdaemon.php +++ b/xmppdaemon.php @@ -88,6 +88,22 @@ class XMPPDaemon { return false; } } + + function set_notify(&$user, $notify) { + $orig = clone($user); + $user->jabbernotify = $notify; + $result = $user->update($orig); + if (!$id) { + $last_error = &PEAR::getStaticProperty('DB_DataObject','lastError'); + $this->log(LOG_ERROR, + 'Could not set notify flag to ' . $notify . + ' for user ' . common_log_objstring($user) . + ': ' . $last_error->message); + } else { + $this->log(LOG_INFO, + 'User ' . $user->nickname . ' set notify flag to ' . $notify); + } + } function add_notice(&$user, &$pl) { $notice = new Notice(); @@ -116,6 +132,8 @@ class XMPPDaemon { return; } common_broadcast_notice($notice); + $this->log(LOG_INFO, + 'Added notice ' . $notice->id . ' from user ' . $user->nickname); } function handle_presence(&$pl) {