diff options
Diffstat (limited to 'views/default')
-rw-r--r-- | views/default/annotation/generic_comment.php | 95 | ||||
-rw-r--r-- | views/default/forms/comments/edit.php | 60 |
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, + )); +} |