summaryrefslogtreecommitdiff
path: root/classes/Conversation.php
diff options
context:
space:
mode:
Diffstat (limited to 'classes/Conversation.php')
-rwxr-xr-xclasses/Conversation.php33
1 files changed, 31 insertions, 2 deletions
diff --git a/classes/Conversation.php b/classes/Conversation.php
index 929b06c14..ea8bd87b5 100755
--- a/classes/Conversation.php
+++ b/classes/Conversation.php
@@ -36,14 +36,43 @@ class Conversation extends Memcached_DataObject
public $__table = 'conversation'; // table name
public $id; // int(4) primary_key not_null
- public $uri; // varchar(225) unique_key not_null
+ public $uri; // varchar(225) unique_key
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
/* Static get */
- function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Session',$k,$v); }
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('conversation',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
+
+ /**
+ * Factory method for creating a new conversation
+ *
+ * @return Conversation the new conversation DO
+ */
+ static function create()
+ {
+ $conv = new Conversation();
+ $conv->created = common_sql_now();
+ $id = $conv->insert();
+
+ if (empty($id)) {
+ common_log_db_error($conv, 'INSERT', __FILE__);
+ return null;
+ }
+
+ $orig = clone($conv);
+ $orig->uri = common_local_url('conversation', array('id' => $id));
+ $result = $orig->update($conv);
+
+ if (empty($result)) {
+ common_log_db_error($conv, 'UPDATE', __FILE__);
+ return null;
+ }
+
+ return $conv;
+ }
+
}