51 if (!in_array(
$key, static::PRIMARY_ATTR_NAMES)) {
56 if (in_array(
$key, static::INTEGER_ATTR_NAMES)) {
69 parent::initializeAttributes();
71 $this->attributes[
'id'] =
null;
72 $this->attributes[
'guid_one'] =
null;
73 $this->attributes[
'relationship'] =
null;
74 $this->attributes[
'guid_two'] =
null;
96 if (!array_key_exists(
$name, $this->attributes)) {
101 if (in_array(
$name, [
'id',
'time_created'])) {
106 if ($this->
id > 0 && !array_key_exists(
$name, $this->orig_attributes)) {
108 $this->orig_attributes[
$name] = $this->attributes[
$name];
122 if (array_key_exists(
$name, $this->attributes)) {
123 return $this->attributes[
$name];
133 if ($this->id > 0 && empty($this->orig_attributes)) {
147 $this->attributes[
'id'] =
$id;
148 $this->attributes[
'time_created'] =
_elgg_services()->relationshipsTable->getCurrentTime()->getTimestamp();
158 public function delete():
bool {
171 $url =
_elgg_services()->events->triggerResults(
'relationship:url', $this->getType(), [
'relationship' => $this],
'');
180 $object = new \Elgg\Export\Relationship();
182 $object->subject_guid = $this->guid_one;
184 $object->object_guid = $this->guid_two;
185 $object->time_created = date(
'c', $this->getTimeCreated());
187 $params[
'relationship'] = $this;
230 return $this->relationship;
239 return $this->orig_attributes;
if(! $user||! $user->canDelete()) $name
$id
Generic annotation delete action.
$params
Saves global plugin settings.
return[ 'admin/delete_admin_notices'=>['access'=> 'admin'], 'admin/menu/save'=>['access'=> 'admin'], 'admin/plugins/activate'=>['access'=> 'admin'], 'admin/plugins/activate_all'=>['access'=> 'admin'], 'admin/plugins/deactivate'=>['access'=> 'admin'], 'admin/plugins/deactivate_all'=>['access'=> 'admin'], 'admin/plugins/set_priority'=>['access'=> 'admin'], 'admin/security/security_txt'=>['access'=> 'admin'], 'admin/security/settings'=>['access'=> 'admin'], 'admin/security/regenerate_site_secret'=>['access'=> 'admin'], 'admin/site/cache/invalidate'=>['access'=> 'admin'], 'admin/site/flush_cache'=>['access'=> 'admin'], 'admin/site/icons'=>['access'=> 'admin'], 'admin/site/set_maintenance_mode'=>['access'=> 'admin'], 'admin/site/set_robots'=>['access'=> 'admin'], 'admin/site/theme'=>['access'=> 'admin'], 'admin/site/unlock_upgrade'=>['access'=> 'admin'], 'admin/site/settings'=>['access'=> 'admin'], 'admin/upgrade'=>['access'=> 'admin'], 'admin/upgrade/reset'=>['access'=> 'admin'], 'admin/user/ban'=>['access'=> 'admin'], 'admin/user/bulk/ban'=>['access'=> 'admin'], 'admin/user/bulk/delete'=>['access'=> 'admin'], 'admin/user/bulk/unban'=>['access'=> 'admin'], 'admin/user/bulk/validate'=>['access'=> 'admin'], 'admin/user/change_email'=>['access'=> 'admin'], 'admin/user/delete'=>['access'=> 'admin'], 'admin/user/login_as'=>['access'=> 'admin'], 'admin/user/logout_as'=>[], 'admin/user/makeadmin'=>['access'=> 'admin'], 'admin/user/resetpassword'=>['access'=> 'admin'], 'admin/user/removeadmin'=>['access'=> 'admin'], 'admin/user/unban'=>['access'=> 'admin'], 'admin/user/validate'=>['access'=> 'admin'], 'annotation/delete'=>[], 'avatar/upload'=>[], 'comment/save'=>[], 'diagnostics/download'=>['access'=> 'admin'], 'entity/chooserestoredestination'=>[], 'entity/delete'=>[], 'entity/mute'=>[], 'entity/restore'=>[], 'entity/subscribe'=>[], 'entity/trash'=>[], 'entity/unmute'=>[], 'entity/unsubscribe'=>[], 'login'=>['access'=> 'logged_out'], 'logout'=>[], 'notifications/mute'=>['access'=> 'public'], 'plugins/settings/remove'=>['access'=> 'admin'], 'plugins/settings/save'=>['access'=> 'admin'], 'plugins/usersettings/save'=>[], 'register'=>['access'=> 'logged_out', 'middleware'=>[\Elgg\Router\Middleware\RegistrationAllowedGatekeeper::class,],], 'river/delete'=>[], 'settings/notifications'=>[], 'settings/notifications/subscriptions'=>[], 'user/changepassword'=>['access'=> 'public'], 'user/requestnewpassword'=>['access'=> 'public'], 'useradd'=>['access'=> 'admin'], 'usersettings/save'=>[], 'widgets/add'=>[], 'widgets/delete'=>[], 'widgets/move'=>[], 'widgets/save'=>[],]
A generic class that contains shared code among \ElggExtender, \ElggEntity, and \ElggRelationship.
__get(string $name)
Get an attribute of the relationship.
getURL()
Get a URL for this relationship.
__set(string $name, mixed $value)
Set an attribute of the relationship.
__construct(?\stdClass $row=null)
Create a relationship object.
getObjectFromID(int $id)
For a given ID, return the object associated with it.
getSubtype()
Return a subtype.
getSystemLogID()
{Return an identification for the object for storage in the system log.This id must be an integer....
initializeAttributes()
{Initialize the attributes array.This is vital to distinguish between metadata and base parameters....
getOriginalAttributes()
Get the original values of attribute(s) that have been modified since the relationship was persisted.
save()
{Save this data to the appropriate database table.bool}
getType()
Return a type of the object - eg.
toObject(array $params=[])
{Get a plain old object copy for public consumption.Export parameters\Elgg\Export\Data}
foreach($plugin_guids as $guid) if(empty($deactivated_plugins)) $url
if($email instanceof \Elgg\Email) $object
$relationship
Elgg default relationship view.
_elgg_services()
Get the global service provider.
elgg_normalize_url(string $url)
if($container instanceof ElggGroup && $container->guid !=elgg_get_page_owner_guid()) $key
if(parse_url(elgg_get_site_url(), PHP_URL_PATH) !=='/') if(file_exists(elgg_get_root_path() . 'robots.txt'))
Set robots.txt.