aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/default/annotation/generic_comment.php95
-rw-r--r--views/default/forms/comments/edit.php60
2 files changed, 155 insertions, 0 deletions
diff --git a/views/default/annotation/generic_comment.php b/views/default/annotation/generic_comment.php
new file mode 100644
index 000000000..588f72e52
--- /dev/null
+++ b/views/default/annotation/generic_comment.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Editable Comments -- Override Elgg's generic comment view
+ *
+ * @uses $vars['annotation'] ElggAnnotation object
+ * @uses $vars['full_view'] Display fill view or brief view
+ *
+ * @package Lorea
+ * @subpackage EditableComments
+ *
+ * Copyright 2012 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the EditableComments plugin for Elgg.
+ *
+ * EditableComments is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * EditableComments is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+if (!isset($vars['annotation'])) {
+ return true;
+}
+
+$full_view = elgg_extract('full_view', $vars, true);
+
+$comment = $vars['annotation'];
+
+$entity = get_entity($comment->entity_guid);
+$commenter = get_user($comment->owner_guid);
+if (!$entity || !$commenter) {
+ return true;
+}
+
+$friendlytime = elgg_view_friendly_time($comment->time_created);
+
+$commenter_icon = elgg_view_entity_icon($commenter, 'tiny');
+$commenter_link = "<a href=\"{$commenter->getURL()}\">$commenter->name</a>";
+
+$entity_title = $entity->title ? $entity->title : elgg_echo('untitled');
+$entity_link = "<a href=\"{$entity->getURL()}\">$entity_title</a>";
+
+if ($full_view) {
+ $menu = elgg_view_menu('annotation', array(
+ 'annotation' => $comment,
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-hz float-alt',
+ ));
+
+ $comment_text = elgg_view("output/longtext", array("value" => $comment->value));
+ $comment_edit = elgg_view_form("comments/edit", array("class" => ""), array(
+ "entity" => $comment->getEntity(),
+ "annotation" => $comment,
+ ));
+
+ $body = <<<HTML
+<div class="mbn">
+ $menu
+ $commenter_link
+ <span class="elgg-subtext">
+ $friendlytime
+ </span>
+ $comment_text
+ $comment_edit
+</div>
+HTML;
+
+ echo elgg_view_image_block($commenter_icon, $body);
+
+} else {
+ // brief view
+
+ //@todo need link to actual comment!
+
+ $on = elgg_echo('on');
+
+ $excerpt = elgg_get_excerpt($comment->value, 80);
+
+ $body = <<<HTML
+<span class="elgg-subtext">
+ $commenter_link $on $entity_link ($friendlytime): $excerpt
+</span>
+HTML;
+
+ echo elgg_view_image_block($commenter_icon, $body);
+}
diff --git a/views/default/forms/comments/edit.php b/views/default/forms/comments/edit.php
new file mode 100644
index 000000000..1728d838b
--- /dev/null
+++ b/views/default/forms/comments/edit.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Editable Comments -- Override Elgg's generic comment add form
+ *
+ * @uses ElggEntity $vars['entity'] The entity to comment on
+ * @uses bool $vars['inline'] Show a single line version of the form?
+ * @uses ElggAnnotation $vars['annotation'] The annotation we are editing (optional)
+ *
+ * @package Lorea
+ * @subpackage EditableComments
+ *
+ * Copyright 2012 Lorea Faeries <federation@lorea.org>
+ *
+ * This file is part of the EditableComments plugin for Elgg.
+ *
+ * EditableComments is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * EditableComments is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+if (isset($vars['entity']) && elgg_is_logged_in()) {
+
+ $inline = elgg_extract('inline', $vars, false);
+
+ if ($inline) {
+ echo elgg_view('input/text', array('name' => 'generic_comment', 'value' => $vars['annotation']->value));
+ echo elgg_view('input/submit', array('value' => elgg_echo('comment')));
+ } else {
+?>
+ <div>
+ <label><?php echo elgg_echo("generic_comments:add"); ?></label>
+ <?php echo elgg_view('input/longtext', array('name' => 'generic_comment', 'value' => $vars['annotation']->value)); ?>
+ </div>
+ <div class="elgg-foot">
+<?php
+ echo elgg_view('input/submit', array('value' => elgg_echo("generic_comments:post")));
+?>
+ </div>
+<?php
+ }
+
+ echo elgg_view('input/hidden', array(
+ 'name' => 'entity_guid',
+ 'value' => $vars['entity']->getGUID()
+ ));
+ echo elgg_view('input/hidden', array(
+ 'name' => 'annotation_id',
+ 'value' => $vars['annotation']->id,
+ ));
+}