summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/Message.php30
-rw-r--r--classes/User.php22
-rw-r--r--classes/stoica.ini1
3 files changed, 53 insertions, 0 deletions
diff --git a/classes/Message.php b/classes/Message.php
index 93ec419d4..b713737e8 100644
--- a/classes/Message.php
+++ b/classes/Message.php
@@ -34,4 +34,34 @@ class Message extends DB_DataObject
function getTo() {
return Profile::staticGet('id', $this->to_profile);
}
+
+ static function saveNew($from, $to, $content, $source) {
+
+ $msg = new Message();
+
+ $msg->from_profile = $from;
+ $msg->to_profile = $to;
+ $msg->content = $content;
+ $msg->rendered = common_render_text($content);
+ $msg->source = $source;
+
+ $result = $msg->insert();
+
+ if (!$result) {
+ common_log_db_error($msg, 'INSERT', __FILE__);
+ return _('Could not insert message.');
+ }
+
+ $orig = clone($msg);
+ $msg->uri = common_local_url('showmessage', array('message' => $message->id));
+
+ $result = $msg->update($orig);
+
+ if (!$result) {
+ common_log_db_error($msg, 'UPDATE', __FILE__);
+ return _('Could not update message with new URI.');
+ }
+
+ return $msg;
+ }
}
diff --git a/classes/User.php b/classes/User.php
index 65e01e799..4305c1541 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -44,6 +44,7 @@ class User extends DB_DataObject
public $incomingemail; // varchar(255) unique_key
public $emailnotifysub; // tinyint(1) default_1
public $emailnotifyfav; // tinyint(1) default_1
+ public $emailnotifymsg; // tinyint(1) default_1
public $emailmicroid; // tinyint(1) default_1
public $language; // varchar(50)
public $timezone; // varchar(50)
@@ -347,4 +348,25 @@ class User extends DB_DataObject
unset($fave);
return $result;
}
+
+ function mutuallySubscribed($other) {
+ return $this->isSubscribed($other) &&
+ $other->isSubscribed($this);
+ }
+
+ function mutuallySubscribedUsers() {
+
+ # 3-way join; probably should get cached
+
+ $qry = 'SELECT user.* ' .
+ 'FROM subscription sub1 JOIN user ON sub1.subscribed = user.id ' .
+ 'JOIN subscription sub2 ON user.id = sub2.subscriber ' .
+ 'WHERE sub1.subscriber = %d and sub2.subscribed = %d ' .
+ 'ORDER BY user.nickname';
+
+ $user = new User();
+ $user->query(sprintf($qry, $this->id, $this->id));
+
+ return $user;
+ }
}
diff --git a/classes/stoica.ini b/classes/stoica.ini
index 0d02da426..c74cd9cce 100644
--- a/classes/stoica.ini
+++ b/classes/stoica.ini
@@ -268,6 +268,7 @@ email = 2
incomingemail = 2
emailnotifysub = 17
emailnotifyfav = 17
+emailnotifymsg = 17
emailmicroid = 17
language = 2
timezone = 2