X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FNotice.php;h=e029880f8d2c6900ced425878479c26ceef3258c;hb=01c2c31c1e701f6946282dfcc23502464483d12d;hp=64c9f91410dfb4740ad2f4bd01c62ab918f42f43;hpb=0022bb8110e596496edb0009bc1b7a1a005db83d;p=quix0rs-gnu-social.git diff --git a/classes/Notice.php b/classes/Notice.php index 64c9f91410..e029880f8d 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -72,6 +72,7 @@ class Notice extends Managed_DataObject public $location_id; // int(4) public $location_ns; // int(4) public $repeat_of; // int(4) + public $verb; // varchar(255) public $object_type; // varchar(255) public $scope; // int(4) @@ -313,6 +314,7 @@ class Notice extends Managed_DataObject * notice in place of extracting links from content * boolean 'distribute' whether to distribute the notice, default true * 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 * * @fixme tag override @@ -326,7 +328,9 @@ class Notice extends Managed_DataObject 'reply_to' => null, 'repeat_of' => null, 'scope' => null, - 'distribute' => true); + 'distribute' => true, + 'object_type' => null, + 'verb' => null); if (!empty($options) && is_array($options)) { $options = array_merge($defaults, $options); @@ -497,6 +501,17 @@ class Notice extends Managed_DataObject $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)) { $notice->object_type = (empty($notice->reply_to)) ? ActivityObject::NOTE : ActivityObject::COMMENT; } else { @@ -1493,18 +1508,13 @@ class Notice extends Managed_DataObject $act->actor = ActivityObject::fromProfile($profile); $act->actor->extra[] = $profile->profileInfo($cur); - if ($this->repeat_of) { + $act->verb = $this->verb; + if ($this->repeat_of) { $repeated = Notice::staticGet('id', $this->repeat_of); - - $act->verb = ActivityVerb::SHARE; - $act->objects[] = $repeated->asActivity($cur); - + $act->objects[] = $repeated->asActivity($cur); } else { - - $act->verb = ActivityVerb::POST; - $act->objects[] = ActivityObject::fromNotice($this); - + $act->objects[] = ActivityObject::fromNotice($this); } // XXX: should this be handled by default processing for object entry?