add a verb column to the notice table
This commit is contained in:
parent
8884a5255f
commit
48bb784400
@ -72,6 +72,7 @@ class Notice extends Memcached_DataObject
|
|||||||
public $location_id; // int(4)
|
public $location_id; // int(4)
|
||||||
public $location_ns; // int(4)
|
public $location_ns; // int(4)
|
||||||
public $repeat_of; // int(4)
|
public $repeat_of; // int(4)
|
||||||
|
public $verb; // varchar(255)
|
||||||
public $object_type; // varchar(255)
|
public $object_type; // varchar(255)
|
||||||
public $scope; // int(4)
|
public $scope; // int(4)
|
||||||
|
|
||||||
@ -264,6 +265,7 @@ class Notice extends Memcached_DataObject
|
|||||||
* notice in place of extracting links from content
|
* notice in place of extracting links from content
|
||||||
* boolean 'distribute' whether to distribute the notice, default true
|
* boolean 'distribute' whether to distribute the notice, default true
|
||||||
* string 'object_type' URL of the associated object type (default ActivityObject::NOTE)
|
* string 'object_type' URL of the associated object type (default ActivityObject::NOTE)
|
||||||
|
* string 'verb' URL of the associated verb (default ActivityVerb::POST)
|
||||||
* int 'scope' Scope bitmask; default to SITE_SCOPE on private sites, 0 otherwise
|
* int 'scope' Scope bitmask; default to SITE_SCOPE on private sites, 0 otherwise
|
||||||
*
|
*
|
||||||
* @fixme tag override
|
* @fixme tag override
|
||||||
@ -277,7 +279,9 @@ class Notice extends Memcached_DataObject
|
|||||||
'reply_to' => null,
|
'reply_to' => null,
|
||||||
'repeat_of' => null,
|
'repeat_of' => null,
|
||||||
'scope' => null,
|
'scope' => null,
|
||||||
'distribute' => true);
|
'distribute' => true,
|
||||||
|
'object_type' => null,
|
||||||
|
'verb' => null);
|
||||||
|
|
||||||
if (!empty($options) && is_array($options)) {
|
if (!empty($options) && is_array($options)) {
|
||||||
$options = array_merge($defaults, $options);
|
$options = array_merge($defaults, $options);
|
||||||
@ -448,6 +452,17 @@ class Notice extends Memcached_DataObject
|
|||||||
$notice->rendered = common_render_content($final, $notice);
|
$notice->rendered = common_render_content($final, $notice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($verb)) {
|
||||||
|
if (!empty($notice->repeat_of)) {
|
||||||
|
$notice->verb = ActivityVerb::SHARE;
|
||||||
|
$notice->object_type = ActivityVerb::ACTIVITY;
|
||||||
|
} else {
|
||||||
|
$notice->verb = ActivityVerb::POST;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$notice->verb = $verb;
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($object_type)) {
|
if (empty($object_type)) {
|
||||||
$notice->object_type = (empty($notice->reply_to)) ? ActivityObject::NOTE : ActivityObject::COMMENT;
|
$notice->object_type = (empty($notice->reply_to)) ? ActivityObject::NOTE : ActivityObject::COMMENT;
|
||||||
} else {
|
} else {
|
||||||
@ -1444,18 +1459,13 @@ class Notice extends Memcached_DataObject
|
|||||||
$act->actor = ActivityObject::fromProfile($profile);
|
$act->actor = ActivityObject::fromProfile($profile);
|
||||||
$act->actor->extra[] = $profile->profileInfo($cur);
|
$act->actor->extra[] = $profile->profileInfo($cur);
|
||||||
|
|
||||||
|
$act->verb = $this->verb;
|
||||||
|
|
||||||
if ($this->repeat_of) {
|
if ($this->repeat_of) {
|
||||||
|
|
||||||
$repeated = Notice::staticGet('id', $this->repeat_of);
|
$repeated = Notice::staticGet('id', $this->repeat_of);
|
||||||
|
$act->objects[] = $repeated->asActivity($cur);
|
||||||
$act->verb = ActivityVerb::SHARE;
|
|
||||||
$act->objects[] = $repeated->asActivity($cur);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
$act->objects[] = ActivityObject::fromNotice($this);
|
||||||
$act->verb = ActivityVerb::POST;
|
|
||||||
$act->objects[] = ActivityObject::fromNotice($this);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX: should this be handled by default processing for object entry?
|
// XXX: should this be handled by default processing for object entry?
|
||||||
|
@ -201,6 +201,7 @@ $schema['notice'] = array(
|
|||||||
'location_ns' => array('type' => 'int', 'description' => 'namespace for location'),
|
'location_ns' => array('type' => 'int', 'description' => 'namespace for location'),
|
||||||
'repeat_of' => array('type' => 'int', 'description' => 'notice this is a repeat of'),
|
'repeat_of' => array('type' => 'int', 'description' => 'notice this is a repeat of'),
|
||||||
'object_type' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI representing activity streams object type', 'default' => 'http://activitystrea.ms/schema/1.0/note'),
|
'object_type' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI representing activity streams object type', 'default' => 'http://activitystrea.ms/schema/1.0/note'),
|
||||||
|
'verb' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI representing activity streams verb', 'default' => 'http://activitystrea.ms/schema/1.0/post'),
|
||||||
'scope' => array('type' => 'int',
|
'scope' => array('type' => 'int',
|
||||||
'default' => '1',
|
'default' => '1',
|
||||||
'description' => 'bit map for distribution scope; 0 = everywhere; 1 = this server only; 2 = addressees; 4 = followers'),
|
'description' => 'bit map for distribution scope; 0 = everywhere; 1 = this server only; 2 = addressees; 4 = followers'),
|
||||||
|
Loading…
Reference in New Issue
Block a user