summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-06-22 22:38:59 -0400
committerEvan Prodromou <evan@prodromou.name>2008-06-22 22:38:59 -0400
commitf6d219bac42ebcd3a941bc421a131388ea4519ad (patch)
treef38eb9b2e4670e99cd1b4555d019ef27b254bf85
parent7d9372ec502ef681637eb48dac7a4444c9a86640 (diff)
add flags to db for jabber and sms notification
darcs-hash:20080623023859-84dde-1c72985ee0a840e59d1fac88f27f929f3c637b65.gz
-rw-r--r--db/laconica.sql3
-rw-r--r--xmppdaemon.php18
2 files changed, 21 insertions, 0 deletions
diff --git a/db/laconica.sql b/db/laconica.sql
index cc475e4cf..5e612cbd8 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 43c49e604..71f1d853b 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) {