X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FGroupPrivateMessage%2FGroup_message_profile.php;h=ad465b96ea25c7d5e9c376f361e2ea83e5495b70;hb=b6cfcfbcaa0459b39c5d581c103bfa031b2e02cd;hp=69cc3e40d4c3e4f477e46875d3bd7d2fedf5a564;hpb=67690b44c51871da55db3d7e24815535e62a4f65;p=quix0rs-gnu-social.git diff --git a/plugins/GroupPrivateMessage/Group_message_profile.php b/plugins/GroupPrivateMessage/Group_message_profile.php index 69cc3e40d4..ad465b96ea 100644 --- a/plugins/GroupPrivateMessage/Group_message_profile.php +++ b/plugins/GroupPrivateMessage/Group_message_profile.php @@ -44,75 +44,29 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; * * @see DB_DataObject */ -class Group_message_profile extends Memcached_DataObject +class Group_message_profile extends Managed_DataObject { public $__table = 'group_message_profile'; // table name public $to_profile; // int - public $group_message_id; // char(36) primary_key not_null - public $created; - - /** - * Get an instance by key - * - * This is a utility method to get a single instance with a given key value. - * - * @param string $k Key to use to lookup (usually 'user_id' for this class) - * @param mixed $v Value to lookup - * - * @return Group_message object found, or null for no hits - */ - function staticGet($k, $v=null) - { - return Memcached_DataObject::staticGet('Group_message_profile', $k, $v); - } - - /** - * return table definition for DB_DataObject - * - * DB_DataObject needs to know something about the table to manipulate - * instances. This method provides all the DB_DataObject needs to know. - * - * @return array array of column definitions - */ - function table() - { - return array('to_profile' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, - 'group_message_id' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, - 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL); - } - - /** - * return key definitions for DB_DataObject - * - * DB_DataObject needs to know about keys that the table has, since it - * won't appear in StatusNet's own keys list. In most cases, this will - * simply reference your keyTypes() function. - * - * @return array list of key field names - */ - function keys() - { - return array_keys($this->keyTypes()); - } - - /** - * return key definitions for Memcached_DataObject - * - * @return array associative array of key definitions, field name to type: - * 'K' for primary key: for compound keys, add an entry for each component; - * 'U' for unique keys: compound keys are not well supported here. - */ - function keyTypes() - { - return array('to_profile' => 'K', 'group_message_id' => 'K'); - } + public $group_message_id; // varchar(36) primary_key not_null + public $created; // datetime() not_null + public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP - /** - * No sequence keys in this table. - */ - function sequenceKey() + public static function schemaDef() { - return array(false, false, false); + return array( + 'fields' => array( + 'to_profile' => array('type' => 'int', 'not null' => true, 'description' => 'id of group direct message'), + 'group_message_id' => array('type' => 'char', 'not null' => true, 'length' => 36, 'description' => 'related group message uuid'), + '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('to_profile', 'group_message_id'), + 'foreign keys' => array( + 'group_message_profile_to_profile_fkey' => array('profile', array('to_profile' => 'id')), + 'group_message_profile_group_message_id_fkey' => array('group_message', array('group_message_id' => 'id')), + ), + ); } function send($gm, $profile) @@ -141,15 +95,15 @@ class Group_message_profile extends Memcached_DataObject function notifyByMail() { - $to = User::staticGet('id', $this->to_profile); + $to = User::getKV('id', $this->to_profile); if (empty($to) || is_null($to->email) || !$to->emailnotifymsg) { return true; } - $gm = Group_message::staticGet('id', $this->group_message_id); + $gm = Group_message::getKV('id', $this->group_message_id); - $from_profile = Profile::staticGet('id', $gm->from_profile); + $from_profile = Profile::getKV('id', $gm->from_profile); $group = $gm->getGroup();