X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FConversation.php;h=23f8dada0b316dfe0ef7c4b2c5a7eddc32d5a614;hb=2770ef9718fb29110b6ab43ea6cffffa8cc4c27b;hp=aab55723f644188720268fb4076629ab4e8d417f;hpb=59119482ca34540bd7f0a2a1aa994de1d5328ea2;p=quix0rs-gnu-social.git diff --git a/classes/Conversation.php b/classes/Conversation.php index aab55723f6..23f8dada0b 100755 --- a/classes/Conversation.php +++ b/classes/Conversation.php @@ -29,23 +29,36 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; -class Conversation extends Memcached_DataObject +class Conversation extends Managed_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ public $__table = 'conversation'; // table name public $id; // int(4) primary_key not_null - public $uri; // varchar(225) unique_key + public $uri; // varchar(255) 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('conversation',$k,$v); } - /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + public static function schemaDef() + { + return array( + 'fields' => array( + 'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'), + 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI of the conversation'), + 'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'), + 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'), + ), + 'primary key' => array('id'), + 'unique keys' => array( + 'conversation_uri_key' => array('uri'), + ), + ); + } + /** * Factory method for creating a new conversation * @@ -74,4 +87,23 @@ class Conversation extends Memcached_DataObject return $conv; } + + static function noticeCount($id) + { + $keypart = sprintf('conversation:notice_count:%d', $id); + + $cnt = self::cacheGet($keypart); + + if ($cnt !== false) { + return $cnt; + } + + $notice = new Notice(); + $notice->conversation = $id; + $cnt = $notice->count(); + + self::cacheSet($keypart, $cnt); + + return $cnt; + } }