aboutsummaryrefslogtreecommitdiff
path: root/mod/friends
diff options
context:
space:
mode:
Diffstat (limited to 'mod/friends')
-rw-r--r--mod/friends/add.php29
-rw-r--r--mod/friends/collections.php29
-rw-r--r--mod/friends/edit.php38
-rw-r--r--mod/friends/languages/en.php15
-rw-r--r--mod/friends/manifest.xml10
-rw-r--r--mod/friends/start.php26
-rw-r--r--mod/friends/views/default/widgets/friends/edit.php44
-rw-r--r--mod/friends/views/default/widgets/friends/view.php50
8 files changed, 241 insertions, 0 deletions
diff --git a/mod/friends/add.php b/mod/friends/add.php
new file mode 100644
index 000000000..aec720811
--- /dev/null
+++ b/mod/friends/add.php
@@ -0,0 +1,29 @@
+<?php
+
+ /**
+ * Elgg add a collection of friends
+ *
+ * @package ElggFriends
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+ // Start engine
+ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+ // You need to be logged in for this one
+ gatekeeper();
+
+ $area1 = elgg_view_title(elgg_echo('friends:new'));
+
+ $area2 = elgg_view('friends/forms/edit', array('friends' => get_user_friends($_SESSION['user']->getGUID(),"",9999)));
+
+ // Format page
+ $body = elgg_view_layout('two_column_left_sidebar',$area1, $area2);
+
+ // Draw it
+ page_draw(elgg_echo('friends:add'),$body);
+
+?> \ No newline at end of file
diff --git a/mod/friends/collections.php b/mod/friends/collections.php
new file mode 100644
index 000000000..f80eea55c
--- /dev/null
+++ b/mod/friends/collections.php
@@ -0,0 +1,29 @@
+<?php
+
+ /**
+ * Elgg collections of friends
+ *
+ * @package ElggFriends
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+ // Start engine
+ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+ // You need to be logged in for this one
+ gatekeeper();
+
+ $area1 = elgg_view_title(elgg_echo('friends:new'));
+
+ $area2 = elgg_view_access_collections($_SESSION['user']->getGUID());
+
+ // Format page
+ $body = elgg_view_layout('two_column_left_sidebar',$area1, $area2);
+
+ // Draw it
+ page_draw(elgg_echo('friends:add'),$body);
+
+?> \ No newline at end of file
diff --git a/mod/friends/edit.php b/mod/friends/edit.php
new file mode 100644
index 000000000..6be47f4d1
--- /dev/null
+++ b/mod/friends/edit.php
@@ -0,0 +1,38 @@
+<?php
+
+ /**
+ * Elgg add a collection of friends
+ *
+ * @package ElggFriends
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+ // Start engine
+ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+ // You need to be logged in for this one
+ gatekeeper();
+
+ //set the title
+ $area1 = elgg_view_title(elgg_echo('friends:collectionedit'), false);
+
+ //grab the collection id passed to the edit form
+ $collection_id = get_input('collection');
+
+ //get the full collection
+ $collection = get_access_collection($collection_id);
+ //get all members of the collection
+ $collection_members = get_members_of_access_collection($collection_id);
+
+ $area2 = elgg_view('friends/forms/edit', array('collection' => $collection, 'collection_members' => $collection_members));
+
+ // Format page
+ $body = elgg_view_layout('two_column_left_sidebar',$area1. $area2);
+
+ // Draw it
+ page_draw(elgg_echo('friends:add'),$body);
+
+?> \ No newline at end of file
diff --git a/mod/friends/languages/en.php b/mod/friends/languages/en.php
new file mode 100644
index 000000000..aa0945656
--- /dev/null
+++ b/mod/friends/languages/en.php
@@ -0,0 +1,15 @@
+<?php
+
+ $english = array(
+
+ /**
+ * Friends widget
+ */
+ 'friends:widget:description' => "Displays some of your friends.",
+
+
+ );
+
+ add_translation("en",$english);
+
+?> \ No newline at end of file
diff --git a/mod/friends/manifest.xml b/mod/friends/manifest.xml
new file mode 100644
index 000000000..faed8ce63
--- /dev/null
+++ b/mod/friends/manifest.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin_manifest>
+ <field key="author" value="Curverider ltd" />
+ <field key="version" value="1.7" />
+ <field key="description" value="Provides friend widgets for your profile" />
+ <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" />
+</plugin_manifest>
diff --git a/mod/friends/start.php b/mod/friends/start.php
new file mode 100644
index 000000000..631b54c1d
--- /dev/null
+++ b/mod/friends/start.php
@@ -0,0 +1,26 @@
+<?php
+
+ /**
+ * Elgg Friends widget
+ * This plugin allows users to put a list of their friends, on their profile
+ *
+ * @package ElggFriends
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ */
+
+ function friends_init() {
+
+ // Load system configuration
+ global $CONFIG;
+
+ //add a widget
+ add_widget_type('friends',elgg_echo("friends"),elgg_echo('friends:widget:description'));
+
+ }
+
+ register_elgg_event_handler('init','system','friends_init');
+
+?> \ No newline at end of file
diff --git a/mod/friends/views/default/widgets/friends/edit.php b/mod/friends/views/default/widgets/friends/edit.php
new file mode 100644
index 000000000..0d9d44136
--- /dev/null
+++ b/mod/friends/views/default/widgets/friends/edit.php
@@ -0,0 +1,44 @@
+<?php
+
+ /**
+ * Elgg Friends
+ * Friend widget options
+ *
+ * @package ElggFriends
+ * @subpackage Core
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+?>
+
+<p>
+ <?php echo elgg_echo("friends:num_display"); ?>:
+ <select name="params[num_display]">
+ <option value="1" <?php if($vars['entity']->num_display == 1) echo "SELECTED"; ?>>1</option>
+ <option value="2" <?php if($vars['entity']->num_display == 2) echo "SELECTED"; ?>>2</option>
+ <option value="3" <?php if($vars['entity']->num_display == 3) echo "SELECTED"; ?>>3</option>
+ <option value="4" <?php if($vars['entity']->num_display == 4) echo "SELECTED"; ?>>4</option>
+ <option value="5" <?php if($vars['entity']->num_display == 5) echo "SELECTED"; ?>>5</option>
+ <option value="6" <?php if($vars['entity']->num_display == 6) echo "SELECTED"; ?>>6</option>
+ <option value="7" <?php if($vars['entity']->num_display == 7) echo "SELECTED"; ?>>7</option>
+ <option value="8" <?php if($vars['entity']->num_display == 8) echo "SELECTED"; ?>>8</option>
+ <option value="9" <?php if($vars['entity']->num_display == 9) echo "SELECTED"; ?>>9</option>
+ <option value="10" <?php if($vars['entity']->num_display == 10) echo "SELECTED"; ?>>10</option>
+ <option value="15" <?php if($vars['entity']->num_display == 15) echo "SELECTED"; ?>>15</option>
+ <option value="20" <?php if($vars['entity']->num_display == 20) echo "SELECTED"; ?>>20</option>
+ <option value="30" <?php if($vars['entity']->num_display == 30) echo "SELECTED"; ?>>30</option>
+ <option value="50" <?php if($vars['entity']->num_display == 50) echo "SELECTED"; ?>>50</option>
+ <option value="100" <?php if($vars['entity']->num_display == 100) echo "SELECTED"; ?>>100</option>
+ </select>
+</p>
+
+<p>
+ <?php echo elgg_echo("friends:icon_size"); ?>
+ <select name="params[icon_size]">
+ <option value="1" <?php if($vars['entity']->icon_size == 1) echo "SELECTED"; ?>><?php echo elgg_echo("friends:small"); ?></option>
+ <option value="2" <?php if($vars['entity']->icon_size == 2) echo "SELECTED"; ?>><?php echo elgg_echo("friends:tiny"); ?></option>
+ </select>
+</p> \ No newline at end of file
diff --git a/mod/friends/views/default/widgets/friends/view.php b/mod/friends/views/default/widgets/friends/view.php
new file mode 100644
index 000000000..ab702399a
--- /dev/null
+++ b/mod/friends/views/default/widgets/friends/view.php
@@ -0,0 +1,50 @@
+<?php
+
+ /**
+ * Elgg Friends
+ * Friend widget options
+ *
+ * @package ElggFriends
+ * @subpackage Core
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+
+ //the page owner
+ $owner = get_user($vars['entity']->owner_guid);
+
+ //the number of files to display
+ $num = (int) $vars['entity']->num_display;
+ if (!$num)
+ $num = 8;
+
+ //get the correct size
+ $size = (int) $vars['entity']->icon_size;
+ if (!$size || $size == 1){
+ $size_value = "small";
+ }else{
+ $size_value = "tiny";
+ }
+
+ // Get the users friends
+ $friends = $owner->getFriends("", $num, $offset = 0);
+
+ // If there are any $friend to view, view them
+ if (is_array($friends) && sizeof($friends) > 0) {
+
+ echo "<div id=\"widget_friends_list\">";
+
+ foreach($friends as $friend) {
+ echo "<div class=\"widget_friends_singlefriend\" >";
+ echo elgg_view("profile/icon",array('entity' => get_user($friend->guid), 'size' => $size_value));
+ echo "</div>";
+ }
+
+ echo "</div>";
+
+ }
+
+?> \ No newline at end of file