Example #1
0
<?php

/**
 * File river view.
 */
$object = $vars['item']->getObjectEntity();
$excerpt = strip_tags($object->description);
$excerpt = preg_replace('@(https?://([-\\w\\.]+)+(:\\d+)?(/([\\w/_\\%-\\~.]*(\\?\\S+)?)?)?)@', '<br /><a href="$1"><img src="http://images.thumbshots.com/image.aspx?cid=9noXQ%2flYdII%3d&v=1&w=120&url=$1" border="1" /><br/><br />$1</a>', $excerpt);
$excerpt = thewire_filter($excerpt);
$subject = $vars['item']->getSubjectEntity();
$subject_link = elgg_view('output/url', array('href' => $subject->getURL(), 'text' => $subject->name, 'class' => 'elgg-river-subject', 'is_trusted' => true));
$object_link = elgg_view('output/url', array('href' => "thewire/owner/{$subject->username}", 'text' => elgg_echo('thewire:wire'), 'class' => 'elgg-river-object', 'is_trusted' => true));
$summary = elgg_echo("river:create:object:thewire", array($subject_link, $object_link));
echo elgg_view('river/elements/layout', array('item' => $vars['item'], 'message' => $excerpt, 'summary' => $summary));
Example #2
0
 /**
  * Links: http://www.example.org/
  */
 public function testReplaceLinks()
 {
     // beginning of text
     $text = "http://www.test.org";
     $expected = $this->getLink('http://www.test.org');
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // not at beginning of text
     $text = "test http://www.test.org";
     $expected = 'test ' . $this->getLink('http://www.test.org');
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // followed by comma
     $text = "test http://www.test.org, test";
     $expected = 'test ' . $this->getLink('http://www.test.org') . ', test';
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // preceeded by comma
     $text = "test,http://www.test.org test";
     $expected = 'test,' . $this->getLink('http://www.test.org') . ' test';
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // followed by period
     $text = "test http://www.test.org. test";
     $expected = 'test ' . $this->getLink('http://www.test.org') . '. test';
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // surrounded by parentheses
     $text = "test (http://www.test.org) test";
     $expected = 'test (' . $this->getLink('http://www.test.org') . ') test';
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
     // no http://
     $text = "test www.test.org test";
     $expected = 'test ' . $this->getLink('www.test.org') . ' test';
     $result = thewire_filter($text);
     $this->assertEqual($result, $expected);
 }
Example #3
0
 * @uses $vars['entity']
 */
elgg_load_js('elgg.thewire');
$full = elgg_extract('full_view', $vars, FALSE);
$post = elgg_extract('entity', $vars, FALSE);
if (!$post) {
    return true;
}
// make compatible with posts created with original Curverider plugin
$thread_id = $post->wire_thread;
if (!$thread_id) {
    $post->wire_thread = $post->guid;
}
$owner = $post->getOwnerEntity();
$owner_icon = elgg_view_entity_icon($owner, 'tiny');
$owner_link = elgg_view('output/url', array('href' => "thewire/owner/{$owner->username}", 'text' => $owner->name));
$author_text = elgg_echo('byline', array($owner_link));
$date = elgg_view_friendly_time($post->time_created);
$metadata = elgg_view_menu('entity', array('entity' => $post, 'handler' => 'thewire', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
$subtitle = "{$author_text} {$date}";
// do not show the metadata and controls in widget view
if (elgg_in_context('widgets')) {
    $metadata = '';
}
$params = array('entity' => $post, 'metadata' => $metadata, 'subtitle' => $subtitle, 'content' => thewire_filter($post->description), 'tags' => false);
$list_body = elgg_view('page/components/summary', $params);
echo elgg_view_image_block($owner_icon, $list_body);
if ($post->reply) {
    echo "<div class=\"thewire-parent hidden\" id=\"thewire-previous-{$post->guid}\">";
    echo "</div>";
}
Example #4
0
<?php

/**
 * Latest wire post on profile page
 *
 * @uses $vars['entity'] User that owns this profile page
 */
$owner = $vars['entity']->guid;
//grab the user's latest from the wire
$params = array('type' => 'object', 'subtype' => 'thewire', 'owner_guid' => $owner, 'limit' => 1);
$latest_wire = elgg_get_entities($params);
if ($latest_wire && count($latest_wire) > 0) {
    $latest_wire = $latest_wire[0];
    $content = thewire_filter($latest_wire->description);
    $time = "<p class='elgg-subtext'>(" . elgg_view_friendly_time($latest_wire->time_created) . ")</p>";
    $button = '';
    if ($owner == elgg_get_logged_in_user_guid()) {
        $url_to_wire = "thewire/owner/" . $vars['entity']->username;
        $button = elgg_view('output/url', array('text' => elgg_echo('update'), 'href' => $url_to_wire, 'class' => 'elgg-button elgg-button-action float-alt', 'is_trusted' => true));
    }
    $body = $content . $time;
    $content = elgg_view_image_block('', $body, array('image_alt' => $button));
    echo <<<HTML
<div class="wire-status elgg-border-plain pam mbm clearfix">
\t{$content}
</div>
HTML;
}
}
$owner = $post->getOwnerEntity();
$container = $post->getContainerEntity();
$owner_icon = elgg_view_entity_icon($owner, 'tiny');
$owner_link = elgg_view('output/url', array('href' => "thewire/owner/{$owner->username}", 'text' => $owner->name, 'is_trusted' => true));
$metadata = elgg_view_menu('entity', array('entity' => $post, 'handler' => 'thewire', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz theme-haarlem-intranet-entity-menu-bottom'));
$subtitle = '';
// check if need to show group
if (elgg_instanceof($container, "group") && $container->getGUID() != elgg_get_page_owner_guid()) {
    $group_link = elgg_view("output/url", array("href" => "thewire/group/" . $container->getGUID(), "text" => $container->name, "class" => "thewire_tools_object_link"));
    $subtitle = elgg_echo("river:ingroup", array($group_link));
}
// show text different in widgets
$text = $post->description;
if (elgg_in_context("widgets")) {
    $text = elgg_get_excerpt($text, 140);
    // show more link?
    if (substr($text, -3) == "...") {
        $text .= "&nbsp;" . elgg_view("output/url", array("text" => elgg_echo("more"), "href" => $post->getURL(), "is_trusted" => true));
    }
}
$text = thewire_filter($text);
$text .= $metadata;
$params = array('entity' => $post, 'metadata' => '', 'title' => $owner_link, 'subtitle' => $subtitle, 'content' => $text, 'tags' => false);
$params = $params + $vars;
$list_body = elgg_view('object/elements/summary', $params);
echo elgg_view_image_block($owner_icon, $list_body);
if ($post->reply) {
    echo "<div class=\"thewire-parent hidden\" id=\"thewire-previous-{$post->guid}\">";
    echo "</div>";
}
Example #6
0
<?php

/**
 * View a wire post
 *
 * @uses $vars['entity']
 */
elgg_require_js('elgg/thewire');
$full = elgg_extract('full_view', $vars, false);
$post = elgg_extract('entity', $vars, false);
if (!$post) {
    return true;
}
// make compatible with posts created with original Curverider plugin
$thread_id = $post->wire_thread;
if (!$thread_id) {
    $post->wire_thread = $post->guid;
}
$subtitle = elgg_view('page/elements/by_line', $vars);
$metadata = '';
if (!elgg_in_context('widgets')) {
    // only show entity menu outside of widgets
    $metadata = elgg_view_menu('entity', array('entity' => $post, 'handler' => 'thewire', 'sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
}
$params = array('entity' => $post, 'title' => false, 'metadata' => $metadata, 'subtitle' => $subtitle, 'content' => thewire_filter($post->description), 'tags' => false, 'icon' => elgg_view_entity_icon($post->getOwnerEntity(), 'tiny'), 'class' => 'thewire-post');
$params = $params + $vars;
echo elgg_view('object/elements/summary', $params);
if (!$post->reply) {
    return;
}
echo elgg_format_element('div', ['class' => 'thewire-parent hidden', 'id' => "thewire-previous-{$post->guid}"]);
Example #7
0
<?php

$page_owner = elgg_get_page_owner_entity();
$options = ['type' => 'object', 'subtype' => 'thewire', 'metadata_name' => 'featured', 'limit' => 5];
if ($page_owner instanceof ElggUser) {
    $options['owner_guid'] = $page_owner->getGUID();
} elseif ($page_owner instanceof ElggGroup) {
    $options['container_guid'] = $page_owner->getGUID();
}
$posts = elgg_get_entities_from_metadata($options);
if (empty($posts)) {
    return;
}
$title = elgg_echo('thewire_tools:sidebar:featured');
$content = '';
foreach ($posts as $entity) {
    $icon = elgg_view_entity_icon($entity->getOwnerEntity(), 'tiny');
    $byline = elgg_view('page/elements/by_line', ['entity' => $entity, 'owner_url' => "thewire/owner/{$entity->getOwnerEntity()->username}"]);
    $body = elgg_format_element('div', ['class' => 'elgg-subtext'], $byline);
    $body .= thewire_filter($entity->description);
    $body .= elgg_view('output/url', ['text' => elgg_echo('more'), 'href' => "thewire/thread/{$entity->wire_thread}#elgg-object-{$entity->getGUID()}", 'is_trusted' => true, 'class' => 'mls']);
    $content .= elgg_view_image_block($icon, $body);
}
echo elgg_view_module('aside', $title, $content);