aboutsummaryrefslogtreecommitdiff
path: root/mod/thewire/actions/add.php
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-12 22:41:25 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-02-12 22:41:25 +0000
commitda90ff55725a9118ce6111ab2b6371650bf78ade (patch)
tree937da734d50c8147ca8f2cc52791dabf430464c6 /mod/thewire/actions/add.php
parentcc6b7d1d223241e397e0d41354924e74606eeffc (diff)
downloadelgg-da90ff55725a9118ce6111ab2b6371650bf78ade.tar.gz
elgg-da90ff55725a9118ce6111ab2b6371650bf78ade.tar.bz2
a mostly completed port of JHU/APL wire plugin to 1.8
git-svn-id: http://code.elgg.org/elgg/trunk@8183 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/thewire/actions/add.php')
-rw-r--r--mod/thewire/actions/add.php74
1 files changed, 33 insertions, 41 deletions
diff --git a/mod/thewire/actions/add.php b/mod/thewire/actions/add.php
index 04aa2bc82..f32f7e555 100644
--- a/mod/thewire/actions/add.php
+++ b/mod/thewire/actions/add.php
@@ -1,41 +1,33 @@
-<?php
-
-/**
- * Elgg thewire: add shout action
- *
- * @package Elggthewire
- */
-
-// Make sure we're logged in (send us to the front page if not)
-if (!elgg_is_logged_in()) forward();
-
-// Get input data
-$body = get_input('new_post_textarea');
-$access_id = (int)get_default_access();
-if ($access_id == ACCESS_PRIVATE) {
- $access_id = ACCESS_LOGGED_IN; // Private wire messages are pointless
-}
-$method = get_input('method');
-$parent = (int)get_input('parent', 0);
-if (!$parent) {
- $parent = 0;
-}
-// Make sure the body isn't blank
-if (empty($body)) {
- register_error(elgg_echo("thewire:blank"));
- forward("mod/thewire/add.php");
-}
-
-if (!thewire_save_post($body, $access_id, $parent, $method)) {
- register_error(elgg_echo("thewire:error"));
- forward("mod/thewire/add.php");
-}
-
-
-// Success message
-system_message(elgg_echo("thewire:posted"));
-
-// Forward
-forward("mod/thewire/everyone.php");
-
-?>
+<?php
+/**
+ * Action for adding a wire post
+ *
+ */
+
+// Get input data
+$body = get_input('body', '', false); // don't filter since we strip and filter escapes some characters
+$access_id = ACCESS_PUBLIC;
+$method = 'site';
+$parent_guid = (int) get_input('parent_guid');
+
+// make sure the post isn't blank
+if (empty($body)) {
+ register_error(elgg_echo("thewire:blank"));
+ forward(REFERER);
+}
+
+$guid = thewire_save_post($body, get_loggedin_userid(), $access_id, $parent_guid, $method);
+if (!$guid) {
+ register_error(elgg_echo("thewire:error"));
+ forward(REFERER);
+}
+
+// Send response to original poster if not already registered to receive notification
+if ($parent_guid) {
+ thewire_send_response_notification($guid, $parent_guid, $user);
+ $parent = get_entity($parent_guid);
+ forward("pg/thewire/thread/$parent->wire_thread");
+}
+
+system_message(elgg_echo("thewire:posted"));
+forward(REFERER);