diff options
author | Sem <sembrestels@riseup.net> | 2011-12-08 16:33:51 +0100 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2011-12-08 16:33:51 +0100 |
commit | 306844a74237a26ea332468e78c9b5732e3e5fa7 (patch) | |
tree | 716567911de875ddd3f6af6ffad16f0ca3a64936 | |
download | elgg-306844a74237a26ea332468e78c9b5732e3e5fa7.tar.gz elgg-306844a74237a26ea332468e78c9b5732e3e5fa7.tar.bz2 |
Page created and link added in menu.
-rw-r--r-- | languages/en.php | 11 | ||||
-rw-r--r-- | manifest.xml | 17 | ||||
-rw-r--r-- | start.php | 67 |
3 files changed, 95 insertions, 0 deletions
diff --git a/languages/en.php b/languages/en.php new file mode 100644 index 000000000..346ea0633 --- /dev/null +++ b/languages/en.php @@ -0,0 +1,11 @@ +<?php +/** + * ElggFriendRequest English language file. + * + */ + +$english = array( + 'friendrequest' => 'Friend Requests', +); + +add_translation('en', $english); diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 000000000..8bc2d9cfd --- /dev/null +++ b/manifest.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8"> + <name>Friend request</name> + <author>Bosssumon and Zac Hopkinson, Lorea</author> + <version>1.8</version> + <category>bundled</category> + <category>social</category> + <description>Let users confirm friend requests. Make all friend requests reciprocal</description> + <website>https://lorea.cc/</website> + <copyright>(C) Lorea 2011</copyright> + <license>GNU General Public License version 2</license> + <requires> + <type>elgg_release</type> + <version>1.8</version> + </requires> + <activate_on_install>true</activate_on_install> +</plugin_manifest> diff --git a/start.php b/start.php new file mode 100644 index 000000000..744a3ef84 --- /dev/null +++ b/start.php @@ -0,0 +1,67 @@ +<?php +/** + * Elgg friend request plugin. + * + * @package ElggFriendRequest + */ + +elgg_register_event_handler('init', 'system', 'friendrequest_init'); + +function friendrequest_init() { + + //This will let users view their friend requests + elgg_register_page_handler('friendrequests', 'friendrequest_page_handler'); + + if (elgg_is_logged_in()) { + $params = array( + 'name' => 'friendrequests', + 'text' => elgg_echo('friendrequest'), + 'href' => "friendrequests", + 'contexts' => array('friends'), + ); + elgg_register_menu_item('page', $params); + } + + $actions_dir = elgg_get_plugins_path().'friendrequest/actions/friendrequest'; + elgg_register_action('friendrequest/approve', "$actions_dir/approve.php"); + elgg_register_action('friendrequest/decline', "$actions_dir/decline.php"); + + //We need to override the friend remove action to remove the relationship we created + elgg_register_action('friends/remove', "$actions_dir/removefriend.php"); + + //Regular Elgg engine sends out an email via an event. The 400 priority will let us run first. + //Then we return false to stop the event chain. The normal event handler will never get to run. + //elgg_register_event_handler('create', 'friend', 'friendrequest_event_create_friend', 400); + + //Handle our add action event: + //elgg_register_event_handler('create', 'friendrequest', 'friendrequest_event_create_friendrequest'); + +} + +function friendrequest_page_handler($page){ + + //Keep the URLs uniform: + if (isset($page[0])) { + forward("friendrequests"); + } + + elgg_push_context('friends'); + + $params = array( + 'title' => elgg_echo('friendrequest'), + 'filter' => '', + ); + + $body = elgg_view_layout('content', $params); + + echo elgg_view_page($params['title'], $body); + return true; +} + +function friendrequest_event_create_friend(){ + +} + +function friendrequest_event_create_friendrequest(){ + +} |