X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FConversation.php;h=4bad474c7334207ef2ab6e8d8040050c7b093b31;hb=9ca3c3d1c31ff2b30ecd7bbc2ec9ec3722173f7f;hp=f540004ef39b6f9de2c7299ad80fbcd492626aff;hpb=920acf8d966a11b7c461c333b3a5d3c82d9c8d75;p=quix0rs-gnu-social.git diff --git a/classes/Conversation.php b/classes/Conversation.php index f540004ef3..4bad474c73 100755 --- a/classes/Conversation.php +++ b/classes/Conversation.php @@ -29,7 +29,7 @@ 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 */ @@ -46,6 +46,22 @@ class Conversation extends Memcached_DataObject /* 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' => 225, '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 * @@ -75,5 +91,22 @@ 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; + } +}