Browse Source

Avoid Accept/Deny friend invitations by AJAX

Angel Fernando Quiroz Campos 9 years ago
parent
commit
b80fe09845
2 changed files with 28 additions and 52 deletions
  1. 5 3
      main/inc/ajax/social.ajax.php
  2. 23 49
      main/social/invitations.php

+ 5 - 3
main/inc/ajax/social.ajax.php

@@ -17,18 +17,20 @@ switch ($action) {
             echo '';
             break;
         }
-        if (isset($_POST['is_my_friend'])) {
+        if (isset($_GET['is_my_friend'])) {
             $relation_type = USER_RELATION_TYPE_FRIEND; //My friend
         } else {
             $relation_type = USER_RELATION_TYPE_UNKNOW; //Unknown contact
         }
 
-        if (isset($_POST['friend_id'])) {
-            $my_current_friend  = $_POST['friend_id'];
+        if (isset($_GET['friend_id'])) {
+            $my_current_friend  = $_GET['friend_id'];
             UserManager::relate_users($current_user_id, $my_current_friend, $relation_type);
             UserManager::relate_users($my_current_friend, $current_user_id, $relation_type);
             SocialManager::invitation_accepted($my_current_friend, $current_user_id);
             Display::display_normal_message(api_xml_http_response_encode(get_lang('AddedContactToList')));
+
+            header('Location: ' . api_get_path(WEB_CODE_PATH) . 'social/invitations.php');
         }
         break;
     case 'deny_friend':

+ 23 - 49
main/social/invitations.php

@@ -21,49 +21,6 @@ $interbreadcrumb[] = array ('url' =>'#','name' => get_lang('Invitations'));
 
 $userGroup = new UserGroup();
 
-$htmlHeadXtra[] = '
-<script>
-function denied_friend(element_input) {
-    name_button=$(element_input).attr("id");
-    name_div_id="id_"+name_button.substring(13);
-    user_id=name_div_id.split("_");
-    friend_user_id=user_id[1];
-    $.ajax({
-        contentType: "application/x-www-form-urlencoded",
-        beforeSend: function(objeto) {
-            $("#id_response").html("<img src=\'../inc/lib/javascript/indicator.gif\' />");
-        },
-        type: "POST",
-        url: "'.api_get_path(WEB_AJAX_PATH).'social.ajax.php?a=deny_friend",
-        data: "denied_friend_id="+friend_user_id,
-        success: function(datos) {
-            $("div#"+name_div_id).hide("slow");
-            $("#id_response").html(datos);
-        }
-   });
-}
-function register_friend(element_input) {
-    if(confirm("'.get_lang('AddToFriends').'")) {
-		name_button=$(element_input).attr("id");
-		name_div_id="id_"+name_button.substring(13);
-		user_id=name_div_id.split("_");
-		user_friend_id=user_id[1];
-        $.ajax({
-           contentType: "application/x-www-form-urlencoded",
-           beforeSend: function(objeto) {
-               $("div#dpending_"+user_friend_id).html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); },
-               type: "POST",
-               url: "'.api_get_path(WEB_AJAX_PATH).'social.ajax.php?a=add_friend",
-               data: "friend_id="+user_friend_id+"&is_my_friend="+"friend",
-               success: function(data) {
-                   $("div#"+name_div_id).hide("slow");
-                   $("#id_response").html(data);
-               }
-		});
-    }
-}
-
-</script>';
 $show_message = null;
 $content = null;
 
@@ -114,12 +71,29 @@ if ($number_loop != 0) {
                                     </h4>';
         $invitationHtml .= '<div class="content-invitation">'.$content.'</div>';
         $invitationHtml .= '<div class="date-invitation">'.get_lang('DateSend').' : '.$date.'</div>';
-        $invitationHtml .= '<div class="btn-group" role="group">
-                            <button class="btn btn-success" type="submit" id="btn_accepted_'.$sender_user_id.'" onclick="javascript:register_friend(this)">
-                            <em class="fa fa-check"></em> '.get_lang('AcceptInvitation').'</button>
-                            <button class="btn btn-danger" type="submit" id="btn_deniedst_'.$sender_user_id.' " onclick="javascript:denied_friend(this)" >
-                            <em class="fa fa-times"></em> '.get_lang('DenyInvitation').'</button>
-                            ';
+
+        $invitationHtml .= '<div class="btn-group" role="group">';
+        $invitationHtml .= Display::toolbarButton(
+            get_lang('AcceptInvitation'),
+            api_get_path(WEB_AJAX_PATH) . 'social.ajax.php?' . http_build_query([
+                'a' => 'add_friend',
+                'friend_id' => $sender_user_id,
+                'is_my_friend' => 'friend'
+            ]),
+            'check',
+            'success',
+            ['id' => 'btn-accept-' . $sender_user_id]
+        );
+        $invitationHtml .= Display::toolbarButton(
+            get_lang('DenyInvitation'),
+            api_get_path(WEB_AJAX_PATH) . 'social.ajax.php?' . http_build_query([
+                'a' => 'deny_friend',
+                'denied_friend_id' => $sender_user_id,
+            ]),
+            'times',
+            'danger',
+            ['id' => 'btn-deny-' . $sender_user_id]
+        );
         $invitationHtml .= '</div>';
         $invitationHtml .= '</div>';
         $invitationHtml .= '</div></div>';