Elgg  Version 6.2
ElggAnnotation.php
Go to the documentation of this file.
1 <?php
2 
10 
14  protected function initializeAttributes() {
15  parent::initializeAttributes();
16 
17  $this->attributes['type'] = 'annotation';
18  }
19 
25  public function __construct(?\stdClass $row = null) {
26  $this->initializeAttributes();
27 
28  if ($row) {
29  foreach ((array) $row as $key => $value) {
30  $this->$key = $value;
31  }
32  }
33  }
34 
40  public function save(): bool {
41  if (!isset($this->access_id)) {
42  $this->access_id = ACCESS_PRIVATE;
43  }
44 
45  if (!isset($this->owner_guid)) {
46  $this->owner_guid = _elgg_services()->session_manager->getLoggedInUserGuid();
47  }
48 
49  if ($this->id) {
50  return _elgg_services()->annotationsTable->update($this);
51  }
52 
53  if (!isset($this->entity_guid)) {
54  return false;
55  }
56 
57  $entity = get_entity($this->entity_guid);
58  if (!$entity) {
59  return false;
60  }
61 
62  if (_elgg_services()->annotationsTable->create($this, $entity)) {
63  return true;
64  }
65 
66  return false;
67  }
68 
74  public function delete(): bool {
75  return _elgg_services()->annotationsTable->delete($this);
76  }
77 
85  public function canEdit(int $user_guid = 0): bool {
86  return _elgg_services()->userCapabilities->canEditAnnotation($this->getEntity(), $user_guid, $this);
87  }
88 
92  public function getObjectFromID(int $id) {
94  }
95 }
$entity
Definition: reset.php:8
$id
Generic annotation delete action.
Definition: delete.php:6
$comment access_id
Definition: save.php:55
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'=>[],]
Definition: actions.php:73
elgg_get_annotation_from_id(int $id)
Elgg annotations Functions to manage object annotations.
Definition: annotations.php:16
Entity Annotation.
getObjectFromID(int $id)
{For a given ID, return the object associated with it.This is used by the river functionality primari...
canEdit(int $user_guid=0)
Determines whether or not the user can edit this annotation.
initializeAttributes()
{{Initialize the attributes array.This is vital to distinguish between metadata and base parameters....
__construct(?\stdClass $row=null)
Constructor.
save()
Save this instance and returns an annotation ID.
const ACCESS_PRIVATE
Definition: constants.php:10
_elgg_services()
Get the global service provider.
Definition: elgglib.php:353
get_entity(int $guid)
Loads and returns an entity object from a guid.
Definition: entities.php:70
$value
Definition: generic.php:51
$user_guid
Definition: login_as.php:10
if($container instanceof ElggGroup && $container->guid !=elgg_get_page_owner_guid()) $key
Definition: summary.php:44
if(parse_url(elgg_get_site_url(), PHP_URL_PATH) !=='/') if(file_exists(elgg_get_root_path() . 'robots.txt'))
Set robots.txt.
Definition: robots.php:10