aboutsummaryrefslogtreecommitdiff
path: root/mod/invitefriends
diff options
context:
space:
mode:
Diffstat (limited to 'mod/invitefriends')
-rw-r--r--mod/invitefriends/actions/invite.php16
-rw-r--r--mod/invitefriends/index.php19
-rw-r--r--mod/invitefriends/manifest.xml24
-rw-r--r--mod/invitefriends/start.php50
-rw-r--r--mod/invitefriends/views/default/forms/invitefriends/invite.php35
-rw-r--r--mod/invitefriends/views/default/invitefriends/form.php7
-rw-r--r--mod/invitefriends/views/default/invitefriends/formitems.php36
7 files changed, 103 insertions, 84 deletions
diff --git a/mod/invitefriends/actions/invite.php b/mod/invitefriends/actions/invite.php
index a1a6241f0..eed156d69 100644
--- a/mod/invitefriends/actions/invite.php
+++ b/mod/invitefriends/actions/invite.php
@@ -6,6 +6,8 @@
* @package ElggInviteFriends
*/
+$site = elgg_get_site_entity();
+
$emails = get_input('emails');
$emailmessage = get_input('emailmessage');
@@ -19,7 +21,7 @@ if (!is_array($emails) || count($emails) == 0) {
forward(REFERER);
}
-$current_user = get_loggedin_user();
+$current_user = elgg_get_logged_in_user_entity();
$error = FALSE;
$bad_emails = array();
@@ -45,23 +47,23 @@ foreach ($emails as $email) {
continue;
}
- $link = elgg_get_site_url() . 'pg/register?friend_guid=' . $current_user->guid . '&invitecode=' . generate_invite_code($current_user->username);
+ $link = elgg_get_site_url() . 'register?friend_guid=' . $current_user->guid . '&invitecode=' . generate_invite_code($current_user->username);
$message = elgg_echo('invitefriends:email', array(
- $CONFIG->site->name,
+ $site->name,
$current_user->name,
$emailmessage,
$link
)
);
- $subject = elgg_echo('invitefriends:subject', array($CONFIG->site->name));
+ $subject = elgg_echo('invitefriends:subject', array($site->name));
// create the from address
- $site = get_entity($CONFIG->site_guid);
- if (($site) && (isset($site->email))) {
+ $site = get_entity($site->guid);
+ if ($site && $site->email) {
$from = $site->email;
} else {
- $from = 'noreply@' . get_site_domain($CONFIG->site_guid);
+ $from = 'noreply@' . get_site_domain($site->guid);
}
elgg_send_email($from, $email, $subject, $message);
diff --git a/mod/invitefriends/index.php b/mod/invitefriends/index.php
deleted file mode 100644
index 7b4c34562..000000000
--- a/mod/invitefriends/index.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/**
- * Elgg invite page
- *
- * @package ElggInviteFriends
- */
-
-require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php');
-
-gatekeeper();
-
-elgg_set_context('friends');
-set_page_owner(get_loggedin_userid());
-
-$body = elgg_view('invitefriends/form');
-$body = elgg_view_layout('one_column_with_sidebar', array('content' => $body));
-
-echo elgg_view_page(elgg_echo('friends:invite'), $body);
diff --git a/mod/invitefriends/manifest.xml b/mod/invitefriends/manifest.xml
index cf039ee13..b36238a05 100644
--- a/mod/invitefriends/manifest.xml
+++ b/mod/invitefriends/manifest.xml
@@ -1,11 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<plugin_manifest>
- <field key="author" value="Curverider" />
- <field key="version" value="1.7" />
- <field key="description" value="Invite friends to Elgg network via email invites." />
- <field key="website" value="http://www.elgg.org/" />
- <field key="copyright" value="(C) Curverider 2008-2010" />
- <field key="licence" value="GNU Public License version 2" />
- <field key="elgg_version" value="2010030101" />
- <field key="admin_interface" value="advanced" />
+<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
+ <name>Invite Friends</name>
+ <author>Core developers</author>
+ <version>1.8</version>
+ <category>bundled</category>
+ <category>social</category>
+ <description>Invite friends via email invites.</description>
+ <website>http://www.elgg.org/</website>
+ <copyright>See COPYRIGHT.txt</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/mod/invitefriends/start.php b/mod/invitefriends/start.php
index abba12f20..368f6348a 100644
--- a/mod/invitefriends/start.php
+++ b/mod/invitefriends/start.php
@@ -5,16 +5,46 @@
* @package ElggInviteFriends
*/
-/**
- * Add menu item for invite friends
- */
-function invitefriends_pagesetup() {
- if (elgg_get_context() == "friends" ||
- elgg_get_context() == "friendsof" ||
- elgg_get_context() == "collections") {
- add_submenu_item(elgg_echo('friends:invite'), "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);
}
}
-elgg_register_action('invitefriends/invite', elgg_get_plugin_path() . 'invitefriends/actions/invite.php');
-elgg_register_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;
+}
diff --git a/mod/invitefriends/views/default/forms/invitefriends/invite.php b/mod/invitefriends/views/default/forms/invitefriends/invite.php
new file mode 100644
index 000000000..0d7f5d9f2
--- /dev/null
+++ b/mod/invitefriends/views/default/forms/invitefriends/invite.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * Elgg invite form contents
+ *
+ * @package ElggInviteFriends
+ */
+
+if (elgg_get_config('allow_registration')) {
+ $site = elgg_get_site_entity();
+ $introduction = elgg_echo('invitefriends:introduction');
+ $message = elgg_echo('invitefriends:message');
+ $default = elgg_echo('invitefriends:message:default', array($site->name));
+
+ echo <<< HTML
+<div>
+ <label>
+ $introduction
+ <textarea class="elgg-input-textarea" name="emails" ></textarea>
+ </label>
+</div>
+<div>
+ <label>
+ $message
+ <textarea class="elgg-input-textarea" name="emailmessage" >$default</textarea>
+ </label>
+</div>
+HTML;
+
+ echo '<div class="elgg-foot">';
+ echo elgg_view('input/submit', array('value' => elgg_echo('send')));
+ echo '</div>';
+} else {
+ echo elgg_echo('invitefriends:registration_disabled');
+}
diff --git a/mod/invitefriends/views/default/invitefriends/form.php b/mod/invitefriends/views/default/invitefriends/form.php
index 7ab9314f7..badcf8759 100644
--- a/mod/invitefriends/views/default/invitefriends/form.php
+++ b/mod/invitefriends/views/default/invitefriends/form.php
@@ -5,9 +5,4 @@
* @package ElggInviteFriends
*/
-echo elgg_view('input/form', array(
- 'action' => 'action/invitefriends/invite',
- 'body' => elgg_view('invitefriends/formitems'),
- 'method' => 'post'
- )
-);
+echo elgg_view_form('invitefriends/invite');
diff --git a/mod/invitefriends/views/default/invitefriends/formitems.php b/mod/invitefriends/views/default/invitefriends/formitems.php
index dceac6bbc..afdff4164 100644
--- a/mod/invitefriends/views/default/invitefriends/formitems.php
+++ b/mod/invitefriends/views/default/invitefriends/formitems.php
@@ -1,34 +1,4 @@
-<?php
+<?php
-/**
- * Elgg invite form contents
- *
- * @package ElggInviteFriends
- */
-
-if ($CONFIG->allow_registration) {
- $invite = elgg_echo('friends:invite');
- $introduction = elgg_echo('invitefriends:introduction');
- $message = elgg_echo('invitefriends:message');
- $default = elgg_echo('invitefriends:message:default', array($CONFIG->site->name));
-
- echo <<< HTML
-<h2>$invite</h2>
-<p class="margin-top">
- <label>
- $introduction
- <textarea class="input-textarea" name="emails" ></textarea>
- </label>
-</p>
-<p>
- <label>
- $message
- <textarea class="input-textarea" name="emailmessage" >$default</textarea>
- </label>
-</p>
-HTML;
-
- echo elgg_view('input/submit', array('value' => elgg_echo('send')));
-} else {
- echo elgg_echo('invitefriends:registration_disabled');
-}
+elgg_deprecated_notice("invitefriends/formitems was moved to forms/invitefriends/invite", 1.8);
+echo elgg_view('forms/invitefriends/invite'); \ No newline at end of file