aboutsummaryrefslogtreecommitdiff
path: root/mod/invitefriends/start.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/invitefriends/start.php')
-rw-r--r--mod/invitefriends/start.php55
1 files changed, 40 insertions, 15 deletions
diff --git a/mod/invitefriends/start.php b/mod/invitefriends/start.php
index 6bdedcffa..368f6348a 100644
--- a/mod/invitefriends/start.php
+++ b/mod/invitefriends/start.php
@@ -3,23 +3,48 @@
* Elgg invite friends
*
* @package ElggInviteFriends
- * @author Curverider Ltd
- * @copyright Curverider Ltd 2008-2010
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @link http://elgg.org/
*/
-/**
- * Add menu item for invite friends
- */
-function invitefriends_pagesetup() {
- global $CONFIG;
- if (get_context() == "friends" ||
- get_context() == "friendsof" ||
- get_context() == "collections") {
- add_submenu_item(elgg_echo('friends:invite'),$CONFIG->wwwroot."mod/invitefriends/",'invite');
+elgg_register_event_handler('init', 'system', 'invitefriends_init');
+
+function invitefriends_init() {
+ elgg_register_page_handler('invite', 'invitefriends_page_handler');
+
+ elgg_register_action('invitefriends/invite', elgg_get_plugins_path() . 'invitefriends/actions/invite.php');
+
+ if (elgg_is_logged_in()) {
+ $params = array(
+ 'name' => 'invite',
+ 'text' => elgg_echo('friends:invite'),
+ 'href' => "invite",
+ 'contexts' => array('friends'),
+ );
+ elgg_register_menu_item('page', $params);
}
}
-register_action('invitefriends/invite', false, $CONFIG->pluginspath . 'invitefriends/actions/invite.php');
-register_elgg_event_handler('pagesetup', 'system', 'invitefriends_pagesetup');
+/**
+ * Page handler function
+ *
+ * @param array $page Page URL segments
+ * @return bool
+ */
+function invitefriends_page_handler($page) {
+ gatekeeper();
+
+ elgg_set_context('friends');
+ elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
+
+ $title = elgg_echo('friends:invite');
+
+ $body = elgg_view('invitefriends/form');
+
+ $params = array(
+ 'content' => $body,
+ 'title' => $title,
+ );
+ $body = elgg_view_layout('one_sidebar', $params);
+
+ echo elgg_view_page($title, $body);
+ return true;
+}