Пример #1
0
/**
 * Page handler for generic comments manipulation.
 *
 * @param array $segments
 * @return bool
 * @access private
 */
function _elgg_comments_page_handler($segments)
{
    $page = elgg_extract(0, $segments);
    switch ($page) {
        case 'edit':
            echo elgg_view_resource('comments/edit', ['guid' => elgg_extract(1, $segments)]);
            return true;
            break;
        case 'view':
            _elgg_comment_redirect(elgg_extract(1, $segments), elgg_extract(2, $segments));
            break;
        default:
            return false;
            break;
    }
}
Пример #2
0
/**
 * Page handler for generic comments manipulation.
 *
 * @param array $page
 * @return bool
 * @access private
 */
function _elgg_comments_page_handler($page)
{
    switch ($page[0]) {
        case 'edit':
            elgg_gatekeeper();
            if (empty($page[1])) {
                register_error(elgg_echo('generic_comment:notfound'));
                forward(REFERER);
            }
            $comment = get_entity($page[1]);
            if (!$comment instanceof \ElggComment || !$comment->canEdit()) {
                register_error(elgg_echo('generic_comment:notfound'));
                forward(REFERER);
            }
            $target = $comment->getContainerEntity();
            if (!$target instanceof \ElggEntity) {
                register_error(elgg_echo('generic_comment:notfound'));
                forward(REFERER);
            }
            $title = elgg_echo('generic_comments:edit');
            elgg_push_breadcrumb($target->getDisplayName(), $target->getURL());
            elgg_push_breadcrumb($title);
            $params = array('entity' => $target, 'comment' => $comment, 'is_edit_page' => true);
            $content = elgg_view_form('comment/save', null, $params);
            $params = array('content' => $content, 'title' => $title, 'filter' => '');
            $body = elgg_view_layout('content', $params);
            echo elgg_view_page($title, $body);
            return true;
            break;
        case 'view':
            _elgg_comment_redirect(elgg_extract(1, $page), elgg_extract(2, $page));
            break;
        default:
            return false;
            break;
    }
}