aboutsummaryrefslogtreecommitdiff
path: root/mod/thewire/views
diff options
context:
space:
mode:
Diffstat (limited to 'mod/thewire/views')
-rw-r--r--mod/thewire/views/default/forms/thewire/add.php41
-rw-r--r--mod/thewire/views/default/js/thewire.php86
-rw-r--r--mod/thewire/views/default/object/thewire.php165
-rw-r--r--mod/thewire/views/default/river/object/thewire/create.php46
-rw-r--r--mod/thewire/views/default/thewire/activity_view.php45
-rw-r--r--mod/thewire/views/default/thewire/css.php171
-rw-r--r--mod/thewire/views/default/thewire/forms/add.php42
-rw-r--r--mod/thewire/views/default/thewire/notfound.php21
-rw-r--r--mod/thewire/views/default/thewire/previous.php11
-rw-r--r--mod/thewire/views/default/thewire/profile_status.php72
-rw-r--r--mod/thewire/views/default/thewire/reply.php14
-rw-r--r--mod/thewire/views/default/thewire/scripts/counter.js44
-rw-r--r--mod/thewire/views/default/thewire/sidebar.php9
-rw-r--r--mod/thewire/views/default/thewire/view.php27
-rw-r--r--mod/thewire/views/default/widgets/thewire/content.php30
-rw-r--r--mod/thewire/views/default/widgets/thewire/edit.php36
-rw-r--r--mod/thewire/views/default/widgets/thewire/view.php29
-rw-r--r--mod/thewire/views/rss/object/thewire.php36
-rw-r--r--mod/thewire/views/rss/search/object/thewire/entity.php27
19 files changed, 474 insertions, 478 deletions
diff --git a/mod/thewire/views/default/forms/thewire/add.php b/mod/thewire/views/default/forms/thewire/add.php
new file mode 100644
index 000000000..8607b3662
--- /dev/null
+++ b/mod/thewire/views/default/forms/thewire/add.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Wire add form body
+ *
+ * @uses $vars['post']
+ */
+
+elgg_load_js('elgg.thewire');
+
+$post = elgg_extract('post', $vars);
+
+$text = elgg_echo('post');
+if ($post) {
+ $text = elgg_echo('thewire:reply');
+}
+
+if ($post) {
+ echo elgg_view('input/hidden', array(
+ 'name' => 'parent_guid',
+ 'value' => $post->guid,
+ ));
+}
+
+echo elgg_view('input/plaintext', array(
+ 'name' => 'body',
+ 'class' => 'mtm',
+ 'id' => 'thewire-textarea',
+));
+?>
+<div id="thewire-characters-remaining">
+ <span>140</span> <?php echo elgg_echo('thewire:charleft'); ?>
+</div>
+<div class="elgg-foot mts">
+<?php
+
+echo elgg_view('input/submit', array(
+ 'value' => $text,
+ 'id' => 'thewire-submit-button',
+));
+?>
+</div> \ No newline at end of file
diff --git a/mod/thewire/views/default/js/thewire.php b/mod/thewire/views/default/js/thewire.php
new file mode 100644
index 000000000..ba8f35050
--- /dev/null
+++ b/mod/thewire/views/default/js/thewire.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * The wire's JavaScript
+ */
+
+$site_url = elgg_get_site_url();
+
+?>
+
+elgg.provide('elgg.thewire');
+
+elgg.thewire.init = function() {
+ $("#thewire-textarea").live('keydown', function() {
+ elgg.thewire.textCounter(this, $("#thewire-characters-remaining span"), 140);
+ });
+ $("#thewire-textarea").live('keyup', function() {
+ elgg.thewire.textCounter(this, $("#thewire-characters-remaining span"), 140);
+ });
+
+ $(".thewire-previous").live('click', elgg.thewire.viewPrevious);
+};
+
+/**
+ * Update the number of characters left with every keystroke
+ *
+ * @param {Object} textarea
+ * @param {Object} status
+ * @param {integer} limit
+ * @return void
+ */
+elgg.thewire.textCounter = function(textarea, status, limit) {
+
+ var remaining_chars = limit - $(textarea).val().length;
+ status.html(remaining_chars);
+
+ if (remaining_chars < 0) {
+ status.parent().addClass("thewire-characters-remaining-warning");
+ $("#thewire-submit-button").attr('disabled', 'disabled');
+ $("#thewire-submit-button").addClass('elgg-state-disabled');
+ } else {
+ status.parent().removeClass("thewire-characters-remaining-warning");
+ $("#thewire-submit-button").removeAttr('disabled', 'disabled');
+ $("#thewire-submit-button").removeClass('elgg-state-disabled');
+ }
+};
+
+/**
+ * Display the previous wire post
+ *
+ * Makes Ajax call to load the html and handles changing the previous link
+ *
+ * @param {Object} event
+ * @return void
+ */
+elgg.thewire.viewPrevious = function(event) {
+ var $link = $(this);
+ var postGuid = $link.attr("href").split("/").pop();
+ var $previousDiv = $("#thewire-previous-" + postGuid);
+
+ if ($link.html() == elgg.echo('thewire:hide')) {
+ $link.html(elgg.echo('thewire:previous'));
+ $link.attr("title", elgg.echo('thewire:previous:help'));
+ $previousDiv.slideUp(400);
+ } else {
+ $link.html(elgg.echo('thewire:hide'));
+ $link.attr("title", elgg.echo('thewire:hide:help'));
+
+ $.ajax({type: "GET",
+ url: elgg.config.wwwroot + "ajax/view/thewire/previous",
+ dataType: "html",
+ cache: false,
+ data: {guid: postGuid},
+ success: function(htmlData) {
+ if (htmlData.length > 0) {
+ $previousDiv.html(htmlData);
+ $previousDiv.slideDown(600);
+ }
+ }
+ });
+
+ }
+
+ event.preventDefault();
+};
+
+elgg.register_hook_handler('init', 'system', elgg.thewire.init);
diff --git a/mod/thewire/views/default/object/thewire.php b/mod/thewire/views/default/object/thewire.php
index e49ed836b..134c87243 100644
--- a/mod/thewire/views/default/object/thewire.php
+++ b/mod/thewire/views/default/object/thewire.php
@@ -1,102 +1,63 @@
-<?php
-
- /**
- * Elgg thewire note view
- *
- * @package ElggTheWire
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2009
- * @link http://elgg.com/
- *
- * @question - do we want users to be able to edit thewire?
- *
- * @uses $vars['entity'] Optionally, the note to view
- */
-
- if (isset($vars['entity'])) {
-
- $user_name = $vars['entity']->getOwnerEntity()->name;
-
- //if the note is a reply, we need some more info
-
- $note_url = '';
- $note_owner = elgg_echo("thewire:notedeleted");
-
-?>
-<div class="thewire-singlepage">
- <div class="thewire-post">
-
- <!-- the actual shout -->
- <div class="note_body">
-
- <div class="thewire_icon">
- <?php
- echo elgg_view("profile/icon",array('entity' => $vars['entity']->getOwnerEntity(), 'size' => 'small'));
- ?>
- </div>
-
- <div class="thewire_options">
-
- <a href="<?php echo $vars['url']; ?>mod/thewire/add.php?wire_username=<?php echo $vars['entity']->getOwnerEntity()->username; ?>" class="reply">reply</a>
- <?php
-/* //only have a reply option for main notes, not other replies
- if($vars['entity']->parent == 0){
- ?>
- <a href="<?php echo $vars['url']; ?>mod/thewire/reply.php?note_id=<?php echo $vars['entity']->guid; ?>" class="reply">reply</a>
- <?php
- }
-*/
- ?>
- <div class="clearfloat"></div>
- <?php
-
- // if the user looking at thewire post can edit, show the delete link
- if ($vars['entity']->canEdit()) {
-
-
- echo "<div class='delete_note'>" . elgg_view("output/confirmlink",array(
- 'href' => $vars['url'] . "action/thewire/delete?thewirepost=" . $vars['entity']->getGUID(),
- 'text' => elgg_echo('delete'),
- 'confirm' => elgg_echo('deleteconfirm'),
- )) . "</div>";
-
- } //end of can edit if statement
- ?>
- </div>
-
-
- <?php
- echo "<b>{$user_name}: </b>";
-
-
- $desc = $vars['entity']->description;
-
- $desc = preg_replace('/\@([A-Za-z0-9\_\.\-]*)/i','@<a href="' . $vars['url'] . 'pg/thewire/$1">$1</a>',$desc);
- echo parse_urls($desc);
- ?>
-
-
- <div class="clearfloat"></div>
- </div>
- <div class="note_date">
-
- <?php
-
- echo elgg_echo("thewire:wired") . " " . sprintf(elgg_echo("thewire:strapline"),
- friendly_time($vars['entity']->time_created)
- );
-
- echo " via " . $vars['entity']->method . ".";
-
- ?>
- </div>
-
-
- </div>
-</div>
-<?php
-
- }
-
-?> \ No newline at end of file
+<?php
+/**
+ * View a wire post
+ *
+ * @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,
+ 'is_trusted' => true,
+));
+$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,
+);
+$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>";
+}
diff --git a/mod/thewire/views/default/river/object/thewire/create.php b/mod/thewire/views/default/river/object/thewire/create.php
index 18cbbede4..c75a42b3f 100644
--- a/mod/thewire/views/default/river/object/thewire/create.php
+++ b/mod/thewire/views/default/river/object/thewire/create.php
@@ -1,15 +1,31 @@
-<?php
-
- $performed_by = get_entity($vars['item']->subject_guid); // $statement->getSubject();
- $object = get_entity($vars['item']->object_guid);
- $url = $object->getURL();
-
- $url = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a>";
- $string = sprintf(elgg_echo("thewire:river:created"),$url) . " ";
- $string .= "\"" . $object->description . "\" " . elgg_echo("thewire:river:create");
-
-?>
-
-<?php
- echo $string;
-?> \ No newline at end of file
+<?php
+/**
+ * File river view.
+ */
+
+$object = $vars['item']->getObjectEntity();
+$excerpt = strip_tags($object->description);
+$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,
+)); \ No newline at end of file
diff --git a/mod/thewire/views/default/thewire/activity_view.php b/mod/thewire/views/default/thewire/activity_view.php
deleted file mode 100644
index 2a3cdd2d9..000000000
--- a/mod/thewire/views/default/thewire/activity_view.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
- /**
- * New wire post view for the activity stream
- */
-
- //grab the users latest from the wire
- $latest_wire = list_entities("object", "thewire", $_SESSION['user']->getGUID(), 1, true, false, false);
-
-?>
-
-<script>
-function textCounter(field,cntfield,maxlimit) {
- // if too long...trim it!
- if (field.value.length > maxlimit) {
- field.value = field.value.substring(0, maxlimit);
- } else {
- // otherwise, update 'characters left' counter
- cntfield.value = maxlimit - field.value.length;
- }
-}
-</script>
-
-<div class="sidebarBox">
-
- <form action="<?php echo $vars['url']; ?>action/thewire/add" method="post" name="noteForm">
-
- <?php
- $display .= "<h3>" . elgg_echo('thewire:newpost') . "</h3><textarea name='note' value='' onKeyDown=\"textCounter(document.noteForm.note,document.noteForm.remLen1,140)\" onKeyUp=\"textCounter(document.noteForm.note,document.noteForm.remLen1,140)\" id=\"thewire_sidebarInputBox\">{$msg}</textarea><br />";
- $display .= "<div class='thewire_characters_remaining'><input readonly type=\"text\" name=\"remLen1\" size=\"3\" maxlength=\"3\" value=\"140\" class=\"thewire_characters_remaining_field\">";
- echo $display;
- echo elgg_echo("thewire:charleft") . "</div>";
- ?>
- <input type="hidden" name="method" value="site" />
- <input type="hidden" name="location" value="activity" />
- <input type="hidden" name="access_id" value="2" />
- <input type="submit" value="<?php echo elgg_echo('save'); ?>" id="thewire_submit_button" />
- </form>
-
- <div class="last_wirepost">
- <?php
- echo $latest_wire;
- ?>
- </div>
-</div> \ No newline at end of file
diff --git a/mod/thewire/views/default/thewire/css.php b/mod/thewire/views/default/thewire/css.php
index 7c8d8c746..d11cce74a 100644
--- a/mod/thewire/views/default/thewire/css.php
+++ b/mod/thewire/views/default/thewire/css.php
@@ -1,136 +1,35 @@
-<?php
-
- /**
- * Elgg thewire CSS extender
- *
- * @package ElggTheWire
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2009
- * @link http://elgg.com/
- */
-
-?>
-/* widget */
-.thewire-singlepage {
- margin:0 10px 0 10px;
-}
-.thewire-singlepage .note_body {
- background: white;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
-}
-.collapsable_box_content .note_body {
- line-height:1.2em;
-}
-.thewire-singlepage .thewire-post {
- margin-bottom:5px;
- background:transparent url(<?php echo $vars['url']; ?>mod/thewire/graphics/thewire_speech_bubble.gif) no-repeat right bottom;
-}
-.thewire-post {
- background:#cccccc;
- margin-bottom:10px;
-}
-.thewire-post .note_date {
- font-size:90%;
- color:#666666;
- padding:0;
-}
-.thewire_icon {
- float:left;
- margin:0 8px 4px 2px;
-}
-.note_body {
- margin:0;
- padding:6px 4px 4px 4px;
- min-height: 40px;
- line-height: 1.4em;
-}
-.thewire_options {
- float:right;
- width:65px;
-}
-.thewire-post .reply {
- font: 11px/100% Arial, Helvetica, sans-serif;
- font-weight: bold;
- color: #ffffff;
- background:#999999;
- border: 2px solid #999999;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- width: auto;
- padding: 0 3px 2px 3px;
- margin:0 0 5px 5px;
- cursor: pointer;
- float:right;
-}
-.thewire-post .reply:hover {
- background: #4690d6;
- border: 2px solid #4690d6;
- color:white;
- text-decoration: none;
-}
-.thewire-post .delete_note {
- width:14px;
- height:14px;
- margin:3px 0 0 0;
- float:right;
-}
-.thewire-post .delete_note a {
- display:block;
- cursor: pointer;
- width:14px;
- height:14px;
- background: url("<?php echo $vars['url']; ?>_graphics/icon_customise_remove.png") no-repeat 0 0;
- text-indent: -9000px;
-}
-.thewire-post .delete_note a:hover {
- background-position: 0 -16px;
-}
-/* IE 6 fix */
-* html .thewire-post .delete_note a { background-position-y: 2px; }
-* html .thewire-post .delete_note a:hover { background-position-y: -14px; }
-
-.post_to_wire {
- background: white;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- margin:0 10px 10px 10px;
- padding:10px;
-}
-.post_to_wire input[type="submit"] {
- margin:0;
-}
-
-/* reply form */
-textarea#thewire_large-textarea {
- width: 664px;
- height: 40px;
- padding: 6px;
- font-family: Arial, 'Trebuchet MS','Lucida Grande', sans-serif;
- font-size: 100%;
- color:#666666;
-}
-/* IE 6 fix */
-* html textarea#thewire_large-textarea {
- width: 642px;
-}
-
-input.thewire_characters_remaining_field {
- color:#333333;
- border:none;
- font-size: 100%;
- font-weight: bold;
- padding:0 2px 0 0;
- margin:0;
- text-align: right;
- background: white;
-}
-input.thewire_characters_remaining_field:focus {
- border:none;
- background:white;
-}
-.thewire_characters_remaining {
- text-align: right;
-}
-
+<?php
+/**
+ * The Wire CSS
+ */
+
+?>
+/********************************
+The Wire
+*********************************/
+#thewire-textarea {
+ height: 40px;
+ padding: 6px;
+}
+#thewire-characters-remaining {
+ text-align: right;
+ float: right;
+ font-weight: bold;
+ color: #333333;
+}
+.thewire-characters-remaining {
+ color:#333333;
+ border:none;
+ font-size: 100%;
+ font-weight: bold;
+ padding:0 2px 0 0;
+ margin:0;
+ text-align: right;
+ background: white;
+}
+.thewire-characters-remaining-warning {
+ color: #D40D12 !important;
+}
+.thewire-parent {
+ margin-left: 40px;
+}
diff --git a/mod/thewire/views/default/thewire/forms/add.php b/mod/thewire/views/default/thewire/forms/add.php
deleted file mode 100644
index 11c2e97de..000000000
--- a/mod/thewire/views/default/thewire/forms/add.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
- /**
- * Elgg thewire edit/add page
- *
- * @package ElggTheWire
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2009
- * @link http://elgg.com/
- *
- */
-
- $wire_user = get_input('wire_username');
- if (!empty($wire_user)) { $msg = '@' . $wire_user . ' '; } else { $msg = ''; }
-
-?>
-<div class="post_to_wire">
-<h3><?php echo elgg_echo("thewire:doing"); ?></h3>
-<script>
-function textCounter(field,cntfield,maxlimit) {
- // if too long...trim it!
- if (field.value.length > maxlimit) {
- field.value = field.value.substring(0, maxlimit);
- } else {
- // otherwise, update 'characters left' counter
- cntfield.value = maxlimit - field.value.length;
- }
-}
-</script>
-
- <form action="<?php echo $vars['url']; ?>action/thewire/add" method="post" name="noteForm">
- <?php
- $display .= "<textarea name='note' value='' onKeyDown=\"textCounter(document.noteForm.note,document.noteForm.remLen1,140)\" onKeyUp=\"textCounter(document.noteForm.note,document.noteForm.remLen1,140)\" id=\"thewire_large-textarea\">{$msg}</textarea>";
- $display .= "<div class='thewire_characters_remaining'><input readonly type=\"text\" name=\"remLen1\" size=\"3\" maxlength=\"3\" value=\"140\" class=\"thewire_characters_remaining_field\">";
- echo $display;
- echo elgg_echo("thewire:charleft") . "</div>";
- ?>
- <input type="hidden" name="method" value="site" />
- <input type="submit" value="<?php echo elgg_echo('save'); ?>" />
- </form>
-</div> \ No newline at end of file
diff --git a/mod/thewire/views/default/thewire/notfound.php b/mod/thewire/views/default/thewire/notfound.php
deleted file mode 100644
index e092d37a1..000000000
--- a/mod/thewire/views/default/thewire/notfound.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
- /**
- * Elgg shout not found page
- *
- * @package ElggShouts
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2009
- * @link http://elgg.com/
- */
-
-?>
-
- <p>
- <?php
-
- echo elgg_echo("thewire:notfound");
-
- ?>
- </p> \ No newline at end of file
diff --git a/mod/thewire/views/default/thewire/previous.php b/mod/thewire/views/default/thewire/previous.php
new file mode 100644
index 000000000..e1ca83e24
--- /dev/null
+++ b/mod/thewire/views/default/thewire/previous.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Serve up html for a post
+ */
+
+$guid = (int) get_input('guid');
+
+$parent = thewire_get_parent($guid);
+if ($parent) {
+ echo elgg_view_entity($parent);
+}
diff --git a/mod/thewire/views/default/thewire/profile_status.php b/mod/thewire/views/default/thewire/profile_status.php
index 62a372516..26e1403fe 100644
--- a/mod/thewire/views/default/thewire/profile_status.php
+++ b/mod/thewire/views/default/thewire/profile_status.php
@@ -1,28 +1,44 @@
-<?php
-
- /**
- * New wire post view for the activity stream
- */
-
- $owner = $vars['entity']->guid;
- $url_to_wire = $vars['url'] . "pg/thewire/" . $vars['entity']->username;
-
- //grab the users latest from the wire
- $latest_wire = get_entities("object", "thewire", $owner, "", 1, 0, false, 0, null);
-
- if($latest_wire){
- foreach($latest_wire as $lw){
- $content = $lw->description;
- $time = "<span> (" . friendly_time($lw->time_created) . ")</span>";
- }
- }
-
- if($latest_wire){
- echo "<div class=\"profile_status\">";
- echo $content;
- if($owner == $_SESSION['user']->guid)
- echo " <a class=\"status_update\" href=\"{$url_to_wire}\">update</a>";
- echo $time;
- echo "</div>";
- }
-?> \ No newline at end of file
+<?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('thewire: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">
+ $content
+</div>
+HTML;
+
+}
diff --git a/mod/thewire/views/default/thewire/reply.php b/mod/thewire/views/default/thewire/reply.php
new file mode 100644
index 000000000..341b691b1
--- /dev/null
+++ b/mod/thewire/views/default/thewire/reply.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Reply header
+ */
+
+$post = $vars['post'];
+$poster = $post->getOwnerEntity();
+$poster_details = array(
+ htmlspecialchars($poster->name, ENT_QUOTES, 'UTF-8'),
+ htmlspecialchars($poster->username, ENT_QUOTES, 'UTF-8'),
+);
+?>
+<b><?php echo elgg_echo('thewire:replying', $poster_details); ?>: </b>
+<?php echo $post->description; \ No newline at end of file
diff --git a/mod/thewire/views/default/thewire/scripts/counter.js b/mod/thewire/views/default/thewire/scripts/counter.js
index da3de0e58..0d416fa9a 100644
--- a/mod/thewire/views/default/thewire/scripts/counter.js
+++ b/mod/thewire/views/default/thewire/scripts/counter.js
@@ -1,19 +1,25 @@
-// I need to move this into a JS folder for the plugin
-
-/*
-<!-- Dynamic Version by: Nannette Thacker -->
-<!-- http://www.shiningstar.net -->
-<!-- Original by : Ronnie T. Moore -->
-<!-- Web Site: The JavaScript Source -->
-<!-- Limit the number of characters per textarea -->
-*/
-
-function textCounter(field,cntfield,maxlimit) {
- // if too long...trim it!
- if (field.value.length > maxlimit) {
- field.value = field.value.substring(0, maxlimit);
- } else {
- // otherwise, update 'characters left' counter
- cntfield.value = maxlimit - field.value.length;
- }
-}
+/**
+ * Elgg thewire text counter
+ *
+ * @package ElggTheWire
+ *
+ * @question - do we want users to be able to edit thewire?
+ *
+ * @uses $vars['entity'] Optionally, the note to view
+
+<!-- Dynamic Version by: Nannette Thacker -->
+<!-- http://www.shiningstar.net -->
+<!-- Original by : Ronnie T. Moore -->
+<!-- Web Site: The JavaScript Source -->
+<!-- Limit the number of characters per textarea -->
+*/
+
+function textCounter(field,cntfield,maxlimit) {
+ // if too long...trim it!
+ if (field.value.length > maxlimit) {
+ field.value = field.value.substring(0, maxlimit);
+ } else {
+ // otherwise, update 'characters left' counter
+ cntfield.value = maxlimit - field.value.length;
+ }
+}
diff --git a/mod/thewire/views/default/thewire/sidebar.php b/mod/thewire/views/default/thewire/sidebar.php
new file mode 100644
index 000000000..a8aadd1f8
--- /dev/null
+++ b/mod/thewire/views/default/thewire/sidebar.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * The wire sidebar
+ */
+
+echo elgg_view('page/elements/tagcloud_block', array(
+ 'subtypes' => 'thewire',
+ 'owner_guid' => elgg_get_page_owner_guid(),
+));
diff --git a/mod/thewire/views/default/thewire/view.php b/mod/thewire/views/default/thewire/view.php
deleted file mode 100644
index da9b3f774..000000000
--- a/mod/thewire/views/default/thewire/view.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
- /**
- * Elgg thewire view page
- *
- * @package ElggTheWire
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2009
- * @link http://elgg.com/
- *
- * @uses $vars['entity'] An array of wire notes to view
- *
- */
-
- // If there are any wire notes to view, view them
- if (is_array($vars['entity']) && sizeof($vars['entity']) > 0) {
-
- foreach($vars['entity'] as $shout) {
-
- echo elgg_view_entity($shout);
-
- }
-
- }
-
-?> \ No newline at end of file
diff --git a/mod/thewire/views/default/widgets/thewire/content.php b/mod/thewire/views/default/widgets/thewire/content.php
new file mode 100644
index 000000000..7212d4397
--- /dev/null
+++ b/mod/thewire/views/default/widgets/thewire/content.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * User wire post widget display view
+ */
+
+$num = $vars['entity']->num_display;
+
+$options = array(
+ 'type' => 'object',
+ 'subtype' => 'thewire',
+ 'container_guid' => $vars['entity']->owner_guid,
+ 'limit' => $num,
+ 'full_view' => FALSE,
+ 'pagination' => FALSE,
+);
+$content = elgg_list_entities($options);
+
+echo $content;
+
+if ($content) {
+ $owner_url = "thewire/owner/" . elgg_get_page_owner_entity()->username;
+ $more_link = elgg_view('output/url', array(
+ 'href' => $owner_url,
+ 'text' => elgg_echo('thewire:moreposts'),
+ 'is_trusted' => true,
+ ));
+ echo "<span class=\"elgg-widget-more\">$more_link</span>";
+} else {
+ echo elgg_echo('thewire:noposts');
+}
diff --git a/mod/thewire/views/default/widgets/thewire/edit.php b/mod/thewire/views/default/widgets/thewire/edit.php
index 417b4b93a..cee3f769d 100644
--- a/mod/thewire/views/default/widgets/thewire/edit.php
+++ b/mod/thewire/views/default/widgets/thewire/edit.php
@@ -1,14 +1,22 @@
-<?php
-
-?>
- <p>
- <?php echo elgg_echo("thewire:num"); ?>
- <select name="params[num_display]">
- <option value="1" <?php if($vars['entity']->num_display == 1) echo "SELECTED"; ?>>1</option>
- <option value="2" <?php if($vars['entity']->num_display == 2) echo "SELECTED"; ?>>2</option>
- <option value="3" <?php if($vars['entity']->num_display == 3) echo "SELECTED"; ?>>3</option>
- <option value="4" <?php if($vars['entity']->num_display == 4) echo "SELECTED"; ?>>4</option>
- <option value="5" <?php if($vars['entity']->num_display == 5) echo "SELECTED"; ?>>5</option>
- <option value="6" <?php if($vars['entity']->num_display == 6) echo "SELECTED"; ?>>6</option>
- </select>
- </p> \ No newline at end of file
+<?php
+/**
+ * User wire widget edit view
+ */
+
+// set default value
+if (!isset($vars['entity']->num_display)) {
+ $vars['entity']->num_display = 4;
+}
+
+$params = array(
+ 'name' => 'params[num_display]',
+ 'value' => $vars['entity']->num_display,
+ 'options' => array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
+);
+$dropdown = elgg_view('input/dropdown', $params);
+
+?>
+<div>
+ <?php echo elgg_echo('thewire:num'); ?>:
+ <?php echo $dropdown; ?>
+</div>
diff --git a/mod/thewire/views/default/widgets/thewire/view.php b/mod/thewire/views/default/widgets/thewire/view.php
deleted file mode 100644
index 739fd7617..000000000
--- a/mod/thewire/views/default/widgets/thewire/view.php
+++ /dev/null
@@ -1,29 +0,0 @@
-
- <?php
-
- // Get any wire notes to display
- // Get the current page's owner
- $page_owner = page_owner_entity();
- if ($page_owner === false || is_null($page_owner)) {
- $page_owner = $_SESSION['user'];
- set_page_owner($page_owner->getGUID());
- }
-
- $num = $vars['entity']->num_display;
- if(!$num)
- $num = 4;
-
- $thewire = $page_owner->getObjects('thewire', $num);
-
- // If there are any thewire to view, view them
- if (is_array($thewire) && sizeof($thewire) > 0) {
-
- foreach($thewire as $shout) {
-
- echo elgg_view_entity($shout);
-
- }
-
- }
-
- ?>
diff --git a/mod/thewire/views/rss/object/thewire.php b/mod/thewire/views/rss/object/thewire.php
new file mode 100644
index 000000000..8fddb8aa8
--- /dev/null
+++ b/mod/thewire/views/rss/object/thewire.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Elgg thewire rss view
+ *
+ * @package ElggTheWire
+ */
+
+$owner = $vars['entity']->getOwnerEntity();
+if (!$owner) {
+ return true;
+}
+
+$title = elgg_echo('thewire:by', array($owner->name));
+
+$permalink = htmlspecialchars($vars['entity']->getURL(), ENT_NOQUOTES, 'UTF-8');
+$pubdate = date('r', $vars['entity']->getTimeCreated());
+
+$description = elgg_autop($vars['entity']->description);
+
+$creator = elgg_view('page/components/creator', $vars);
+$georss = elgg_view('page/components/georss', $vars);
+$extension = elgg_view('extensions/item', $vars);
+
+$item = <<<__HTML
+<item>
+ <guid isPermaLink="true">$permalink</guid>
+ <pubDate>$pubdate</pubDate>
+ <link>$permalink</link>
+ <title><![CDATA[$title]]></title>
+ <description><![CDATA[$description]]></description>
+ $creator$georss$extension
+</item>
+
+__HTML;
+
+echo $item;
diff --git a/mod/thewire/views/rss/search/object/thewire/entity.php b/mod/thewire/views/rss/search/object/thewire/entity.php
new file mode 100644
index 000000000..d9ea81ad1
--- /dev/null
+++ b/mod/thewire/views/rss/search/object/thewire/entity.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Elgg thewire.
+ * Search entity view for RSS feeds.
+ *
+ * @package ElggTheWire
+ */
+
+if (!array_key_exists('entity', $vars)) {
+ return FALSE;
+}
+
+$owner = $vars['entity']->getOwnerEntity();
+if ($owner) {
+ $title = elgg_echo('thewire:by', array($owner->name));
+}
+$description = $vars['entity']->getVolatileData('search_matched_description');
+
+?>
+
+<item>
+ <guid isPermaLink='false'><?php echo $vars['entity']->getGUID(); ?></guid>
+ <pubDate><?php echo date("r", $vars['entity']->time_created) ?></pubDate>
+ <link><?php echo htmlspecialchars($vars['entity']->getURL()); ?></link>
+ <title><![CDATA[<?php echo $title; ?>]]></title>
+ <description><![CDATA[<?php echo $description; ?>]]></description>
+</item>