From 58317af4b978e0f1845f967af16f5eb6cfd74539 Mon Sep 17 00:00:00 2001 From: dave Date: Tue, 17 Feb 2009 14:40:28 +0000 Subject: simple site message added git-svn-id: https://code.elgg.org/elgg/trunk@2782 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/riverdashboard/actions/add.php | 59 +++++++++++++++ mod/riverdashboard/actions/delete.php | 36 ++++++++++ mod/riverdashboard/languages/en.php | 11 +++ mod/riverdashboard/start.php | 6 ++ .../views/default/riverdashboard/sitemessage.php | 83 +++++++++++++++++++++- 5 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 mod/riverdashboard/actions/add.php create mode 100644 mod/riverdashboard/actions/delete.php diff --git a/mod/riverdashboard/actions/add.php b/mod/riverdashboard/actions/add.php new file mode 100644 index 000000000..944c45b8b --- /dev/null +++ b/mod/riverdashboard/actions/add.php @@ -0,0 +1,59 @@ + + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + **/ + + // Make sure we're logged in and are admin (send us to the front page if not) + admin_gatekeeper(); + + // Make sure action is secure + action_gatekeeper(); + + // Get input data + $message = get_input('sitemessage'); + //$access = 1; //it is for all logged in users + + // Make sure the message isn't blank + if (empty($message)) { + register_error(elgg_echo("sitemessages:blank")); + forward("mod/riverdashboard/"); + + // Otherwise, save the message + } else { + + // Initialise a new ElggObject + $sitemessage = new ElggObject(); + // Tell the system it's a site wide message + $sitemessage->subtype = "sitemessage"; + // Set its owner to the current user + $sitemessage->owner_guid = $_SESSION['user']->getGUID(); + // For now, set its access to logged in users + $sitemessage->access_id = 1; // this is for all logged in users + // Set description appropriately + $sitemessage->title = ''; + $sitemessage->description = $message; + // Before we can set metadata, we need to save the message + if (!$sitemessage->save()) { + register_error(elgg_echo("sitemessage:error")); + forward("mod/riverdashboard/"); + } + // Success message + system_message(elgg_echo("sitemessages:posted")); + + // add to river + add_to_river('river/sitemessage/create','create',$_SESSION['user']->guid,$sitemessage->guid); + + // Forward to the activity page + forward("mod/riverdashboard/"); + + } + + +?> \ No newline at end of file diff --git a/mod/riverdashboard/actions/delete.php b/mod/riverdashboard/actions/delete.php new file mode 100644 index 000000000..dfce90984 --- /dev/null +++ b/mod/riverdashboard/actions/delete.php @@ -0,0 +1,36 @@ + + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + */ + + // Make sure we're logged in (send us to the front page if not) + gatekeeper(); + + // Get input data + $guid = (int) get_input('message'); + + // Make sure we actually have permission to edit + $message = get_entity($guid); + if ($message->getSubtype() == "sitemessage" && $message->canEdit()) { + + // Delete it! + $rowsaffected = $message->delete(); + if ($rowsaffected > 0) { + // Success message + system_message(elgg_echo("sitemessage:deleted")); + } else { + register_error(elgg_echo("sitemessage:notdeleted")); + } + // Forward to the river + forward("mod/riverdashboard/"); + + } + +?> \ No newline at end of file diff --git a/mod/riverdashboard/languages/en.php b/mod/riverdashboard/languages/en.php index 3a9a64ce7..9bf31018f 100644 --- a/mod/riverdashboard/languages/en.php +++ b/mod/riverdashboard/languages/en.php @@ -4,6 +4,17 @@ 'mine' => 'Mine', 'filter' => 'Filter', + + /** + * Site messages + **/ + + 'sitemessages:announcements' => "Site announcements", + 'sitemessages:posted' => "Posted", + 'sitemessages:river:created' => "Site admin, %s,", + 'sitemessages:river:create' => "posted a new site wide message", + 'sitemessages:add' => "add message", + 'sitemessage:deleted' => "site message deleted", ); diff --git a/mod/riverdashboard/start.php b/mod/riverdashboard/start.php index 0c765ffa5..275d5d055 100644 --- a/mod/riverdashboard/start.php +++ b/mod/riverdashboard/start.php @@ -27,5 +27,11 @@ } register_plugin_hook('init','system','riverdashboard_init'); + + // Register actions + global $CONFIG; + register_action("riverdashboard/add",false,$CONFIG->pluginspath . "riverdashboard/actions/add.php"); + register_action("riverdashboard/delete",false,$CONFIG->pluginspath . "riverdashboard/actions/delete.php"); + ?> \ No newline at end of file diff --git a/mod/riverdashboard/views/default/riverdashboard/sitemessage.php b/mod/riverdashboard/views/default/riverdashboard/sitemessage.php index bf99e7dd3..8b8aaf3b0 100644 --- a/mod/riverdashboard/views/default/riverdashboard/sitemessage.php +++ b/mod/riverdashboard/views/default/riverdashboard/sitemessage.php @@ -10,9 +10,88 @@ * @link http://elgg.com/ * */ + + //grab the current site message + $site_message = get_entities("object", "sitemessage", 0, "", 1); + foreach($site_message as $mes){ + $message = $mes->description; + $dateStamp = friendly_time($mes->time_created); + $delete = elgg_view("output/confirmlink",array( + 'href' => $vars['url'] . "action/riverdashboard/delete?message=" . $mes->guid, + 'text' => elgg_echo('delete'), + 'confirm' => elgg_echo('deleteconfirm'), + )); + } + +?> + +
+ + -
-

This would be a message from the site admin. This would be a message from the site admin. This would be a message from the site admin. This would be a message from the site admin.

+ " . elgg_echo("sitemessages:announcements") . ""; + echo "

" . elgg_echo("sitemessages:posted") . ": " . $dateStamp; + //if admin display the delete link + if(isadminloggedin()) + echo " " . $delete . " "; + echo "

"; + //display the message + echo "

" . $message . "

"; + + //display the input form to add a new message + if(isadminloggedin()){ + //action + $action = "riverdashboard/add"; + $link = elgg_echo("sitemessages:add"); + $input_area = elgg_view('input/text', array('internalname' => 'sitemessage', 'value' => '')); + $submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save'))); + $form_body = <<{$link}

+
+ {$input_area}
{$submit_input} +
+ +EOT; +?> + + "{$vars['url']}action/$action", 'body' => $form_body)); + + }//end of admin if statement +?> + 'sitemessage', 'value' => '')); + $submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save'))); + $form_body = <<{$link}

+
+ {$input_area}
{$submit_input} +
+EOT; +?> + "{$vars['url']}action/$action", 'body' => $form_body)); + + }//end of admin check + }//end of main if +?>
\ No newline at end of file -- cgit v1.2.3