]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Arranged page to see friend requests.
authorSem <sembrestels@riseup.net>
Thu, 8 Dec 2011 20:19:02 +0000 (21:19 +0100)
committerSem <sembrestels@riseup.net>
Thu, 8 Dec 2011 20:19:02 +0000 (21:19 +0100)
actions/friendrequest/decline.php [changed mode: 0755->0644]
actions/friends/remove.php
languages/en.php
start.php
views/default/friendrequest/requests.php [new file with mode: 0644]

old mode 100755 (executable)
new mode 100644 (file)
index 5b48acf..247023c
@@ -4,9 +4,9 @@ $user = elgg_get_logged_in_user_entity();
 $friend = get_entity(sanitize_int(get_input("guid")));\r
 \r
 if(remove_entity_relationship($friend->guid, 'friendrequest', $user->guid)) {\r
-       system_message(elgg_echo("friendrequest:remove:success"));\r
+       system_message(elgg_echo("friendrequest:decline:success", array($user->name)));\r
 } else {\r
-       system_message(elgg_echo("friendrequest:remove:fail"));\r
+       system_message(elgg_echo("friendrequest:decline:fail"));\r
 }\r
 \r
 forward(REFERER);\r
index 4ba7bc57271cbf0065f355b42c282fe8aa32f753..1ad9471b3f059fa80bf1ede7dfb9eea077f30c11 100644 (file)
@@ -4,7 +4,7 @@ $friend = get_entity(sanitize_int(get_input('friend')));
 $user = elgg_get_logged_in_user_entity();
 
 if(!elgg_instanceof($friend, 'user')){
-       register_error(elgg_echo('friendrequest:remove:failure', array($friend->name)));
+       register_error(elgg_echo('friends:remove:failure', array($friend->name)));
        forward(REFERER);
 }
 
@@ -15,10 +15,10 @@ if(check_entity_relationship($user->guid, "friend", $friend->guid)) {
                        $friend->removeFriend($user->guid);
                }
        } catch (Exception $e) {
-               register_error(elgg_echo('friendrequest:remove:failure', array($friend->name)));
+               register_error(elgg_echo('friends:remove:failure', array($friend->name)));
                forward(REFERER);
        }
 }
 
-system_message(elgg_echo('friendrequest:remove:successful', array($friend->name)));
+system_message(elgg_echo('friends:remove:successful', array($friend->name)));
 forward(REFERER);
index 1f9e88a46a96c10d5324f72735ed830f42b774a7..821278c1a6213b99c2601156f99c24ba7fe8fff7 100644 (file)
@@ -11,6 +11,12 @@ $english = array(
        'friendrequest:add:failure' => 'Oops! There was a problem while trying to send the request. Try it again.',
        'friendrequest:add:exists' => 'You already sent a friend request to %s, don\'t be so intense.',
        
+       'friendrequest:decline:success' => 'You just delined %s friend request',
+       'friendrequest:decline:fail' => 'For any reason this friend request cannot be deleted',
+       
+       'friendrequest:remove:check' => 'Are you sure you want to decline the friend request?',
+       'friendrequest:none' => 'No pending friend requests.',
+       
        
 );
 
index e044cc9b5fee04241cf03e0317662e0f28482389..f3ea460cc089f0c511c2f6fbec8ea7eafd015afd 100644 (file)
--- a/start.php
+++ b/start.php
@@ -46,16 +46,35 @@ function friendrequest_page_handler($page){
                forward("friendrequests");
        }
        
+       gatekeeper();
+       
        elgg_push_context('friends');
+
+       $title = elgg_echo('friendrequest');
        
+       $page_owner = elgg_get_logged_in_user_entity();
+       elgg_set_page_owner_guid($page_owner->guid);
+               
+       $requests = elgg_get_entities_from_relationship(array(
+               'type' => 'user',
+               'relationship' => 'friendrequest',
+               'relationship_guid' => $page_owner->guid,
+               'inverse_relationship' => true,
+               'limit' => 0,
+       ));
+       $content = elgg_view('friendrequest/requests', array(
+               'requests' => $requests,
+       ));
+
        $params = array(
-               'title' => elgg_echo('friendrequest'),
+               'content' => $content,
+               'title' => $title,
                'filter' => '',
        );
-       
        $body = elgg_view_layout('content', $params);
 
-       echo elgg_view_page($params['title'], $body);
+       echo elgg_view_page($title, $body);
+       
        return true;
 }
 
diff --git a/views/default/friendrequest/requests.php b/views/default/friendrequest/requests.php
new file mode 100644 (file)
index 0000000..1680bdc
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * The friend requests' list
+ *
+ * @uses $vars['requests'] Array of ElggUsers
+ */
+
+if (!empty($vars['requests']) && is_array($vars['requests'])) {
+       $user = elgg_get_logged_in_user_entity();
+       echo '<ul class="elgg-list">';
+       foreach ($vars['requests'] as $user) {
+               $icon = elgg_view_entity_icon($user, 'tiny', array('use_hover' => 'true'));
+
+               $user_title = elgg_view('output/url', array(
+                       'href' => $user->getURL(),
+                       'text' => $user->name,
+                       'is_trusted' => true,
+               ));
+
+               $url = "action/friends/add?friend={$user->guid}";
+               $accept_button = elgg_view('output/url', array(
+                       'href' => $url,
+                       'text' => elgg_echo('accept'),
+                       'class' => 'elgg-button elgg-button-submit',
+                       'is_action' => true,
+                       'is_trusted' => true,
+               ));
+
+               $url = "action/friendrequest/decline?guid={$user->guid}";
+               $delete_button = elgg_view('output/confirmlink', array(
+                               'href' => $url,
+                               'confirm' => elgg_echo('friendrequest:remove:check'),
+                               'text' => elgg_echo('delete'),
+                               'class' => 'elgg-button elgg-button-delete mlm',
+               ));
+
+               $body = "<h4>$user_title</h4>";
+               $alt = $accept_button . $delete_button;
+
+               echo '<li class="pvs">';
+               echo elgg_view_image_block($icon, $body, array('image_alt' => $alt));
+               echo '</li>';
+       }
+       echo '</ul>';
+} else {
+               echo '<p class="mtm">' . elgg_echo('friendrequest:none') . "</p>";
+}