Elgg  Version 6.3
save.php
Go to the documentation of this file.
1 <?php
10 if (!elgg_is_logged_in()) {
11  return;
12 }
13 
14 elgg_import_esm('elgg/comments');
15 
16 /* @var \ElggEntity $entity */
17 $entity = elgg_extract('entity', $vars);
18 if ($entity instanceof \ElggEntity) {
19  echo elgg_view('input/hidden', [
20  'name' => 'entity_guid',
21  'value' => $entity->guid,
22  ]);
23 }
24 
25 /* @var \ElggComment $comment */
26 $comment = elgg_extract('comment', $vars);
27 
28 $is_edit = $comment instanceof \ElggComment && $comment->canEdit();
29 if ($is_edit) {
30  echo elgg_view('input/hidden', [
31  'name' => 'comment_guid',
32  'value' => $comment->guid,
33  ]);
34 }
35 
36 if (elgg_extract('inline', $vars, false)) {
37  echo elgg_view_field([
38  '#type' => 'fieldset',
39  'align' => 'horizontal',
40  'fields' => [
41  [
42  '#type' => 'text',
43  '#class' => 'elgg-field-stretch',
44  'name' => 'generic_comment',
45  'value' => $is_edit ? $comment->description : '',
46  'required' => true,
47  ],
48  [
49  '#type' => 'submit',
50  'text' => $is_edit ? elgg_echo('save') : elgg_echo('comment'),
51  ],
52  ],
53  ]);
54  return;
55 }
56 
57 echo elgg_view_field([
58  '#type' => 'longtext',
59  '#label' => $is_edit ? elgg_echo('generic_comments:edit') : elgg_echo('generic_comments:add'),
60  'name' => 'generic_comment',
61  'value' => $is_edit ? $comment->description : '',
62  'required' => true,
63  'editor_type' => 'simple',
64 ]);
65 
67  '#type' => 'submit',
68  'text' => $is_edit ? elgg_echo('save') : elgg_echo('comment'),
69 ]];
70 
71 if ($is_edit) {
72  $footer_fields[] = [
73  '#type' => 'button',
74  'text' => elgg_echo('cancel'),
75  'class' => 'elgg-button-cancel',
76  'href' => $entity ? $entity->getURL() : '#',
77  ];
78 }
79 
81  '#type' => 'fieldset',
82  'align' => 'horizontal',
83  'fields' => $footer_fields,
84 ]));
if(! $entity instanceof \ElggEntity) if(! $entity->canComment()) $comment
Definition: save.php:42
canEdit(int $user_guid=0)
Can a user edit this entity?
Definition: ElggEntity.php:397
elgg_extract($key, $array, $default=null, bool $strict=true)
Checks for $array[$key] and returns its value if it exists, else returns $default.
Definition: elgglib.php:240
elgg_import_esm(string $name)
Helper functions for external files like css/js.
elgg_echo(string $message_key, array $args=[], string $language='')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
elgg_view_field(array $params=[])
Renders a form field, usually with a wrapper element, a label, help text, etc.
Definition: views.php:1115
elgg_set_form_footer(string $footer='')
Sets form footer and defers its rendering until the form view and extensions have been rendered.
Definition: views.php:1049
elgg_view(string $view, array $vars=[], string $viewtype='')
Return a parsed view.
Definition: views.php:156
elgg_is_logged_in()
Returns whether or not the user is currently logged in.
Definition: sessions.php:43
$footer_fields
Definition: save.php:66
$entity
Definition: save.php:17
$is_edit
Definition: save.php:28
$vars['type']
Plugin user settings.
Definition: save.php:8