activitypub/src/ContentNation/ActivityPub/Common/Activity.php

68 lines
1.3 KiB
PHP

<?php
namespace ContentNation\ActivityPub\Common;
require_once("APObject.php");
class Activity extends APObject {
// actor | object | target | result | origin | instrument
/**
* actor
* @var string
*/
private $actor = '';
/**
* constructor
* @param ?string $type type
*/
public function __construct($type = null) {
parent::__construct($type ?? "Activity");
}
/**
* set actor
* @param string $actor new actor
*/
public function setAActor(string $actor) : void {
$this->actor = $actor;
}
public function getAActor() : string {
return $this->actor;
}
/**
* create from json/array
* @param mixed $json
*/
public function fromJson($json) : bool {
if (array_key_exists('actor', $json)) {
$this->actor = $json['actor'];
unset($json['actor']);
}
if (!parent::fromJson($json)) {
return false;
}
return true;
}
/**
* convert internal state to php array
* @return array<string,mixed>
*/
public function toObject() {
$return = parent::toObject();
if ($this->actor !== '') {
$return['actor'] = $this->actor;
}
return $return;
}
/**
* get Child Object
* @return Note|false
*/
public function getObject() {
return parent::getObject();
}
}