<?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));
/** * 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); }
* @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>"; }
<?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 .= " " . 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>"; }
<?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}"]);
<?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);