Информация к новости
  • Просмотров: 850
  • Автор: sulicompany
  • Дата: 15-07-2012, 22:01
 (голосов: 0)
15-07-2012, 22:01

Сортировка друзей

Категория: Программирование » VK (Вконтакте)


code.js

  1.  
  2. $(document).ready(function(){
  3. var friends_data; // отсортированный список друзей
  4.  
  5.     VK.init(function() {
  6.     // выполняем запрос получения списка друзей
  7.     VK.api("friends.get"{fields:"first_name,photo"}function(data) {
  8.         // узнаем количество друзей
  9.         var fr = data.response.length;
  10.         // сортируем друзей по имени (функция sFirstName описана ниже)
  11.         friends_data = data.response.sort(sFirstName);
  12.        
  13.         // в value элемента будем записывать номер пользователя в массиве friends_data
  14.         for(var i=0;i<fr;i++){
  15.             $('#friends_list').append('<option value="'+ i +'">'+ friends_data[i].first_name + ' ' + friends_data[i].last_name +'</option>');            
  16.         }
  17.         $("#friends_list").change(function () {
  18.             // узнаем какой элемент выбран в select
  19.             selectVal = $('#friends_list option:selected').val();
  20.             if (selectVal!='') { // если выбран друг
  21.                 // вытаскиваем из массива фотографию выбранного польователя по номеру в массиве
  22.                 $('#user_info').html('<img src="'+ friends_data[selectVal].photo +'"/>');
  23.             } else { // если выбрано "выберите друга"
  24.                 // очищаем блок с аватаркой
  25.                 $('#user_info').html('');
  26.             }
  27.         })
  28.     });
  29.    
  30.     });
  31.  
  32. $('#send_btn').click(function() {
  33.     if ($('#friends_list option:selected').val()!='') { // если выбран пользователь
  34.         if ($('#message_tf').val()!='') { // если введено сообщение
  35.             uid_to = friends_data[$('#friends_list option:selected').val()].uid// id выбранного пользователя
  36.             message_to = $('#message_tf').val();   
  37.             // отправляем запись на стену
  38.             VK.api('wall.post',{owner_id:uid_to, message:message_to},function(data) {
  39.                 if (data.response) { // если получен ответ
  40.                     alert('Сообщение отправлено! ID сообщения: ' + data.response.post_id);
  41.                 } else { // ошибка при отправке сообщения
  42.                     alert('Ошибка! ' + data.error.error_code + ' ' + data.error.error_msg);
  43.                 }
  44.             });
  45.         } else {
  46.             alert('Введите сообщение!');
  47.         }
  48.     } else {
  49.         alert('Выберите пользователя!');
  50.     }
  51.  
  52.     return false;
  53. })
  54.    
  55. });
  56.  
  57.  
  58.    
  59.    
  60. // функции сортировки
  61. function sFirstName(a,b) {
  62.     if (a.first_name > b.first_name)
  63.         return 1;
  64.     else if  (a.first_name < b.first_name)
  65.         return -1;
  66.     else
  67.         return 0;
  68. }
  69.  
  70. /* flapps.ru */



index.html

  1.  src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
  2.  src="js/code.js" type="text/javascript"></script>
  3.  rel="stylesheet" href="css/style.css" type="text/css" />
  4.  src="http://vkontakte.ru/js/api/xd_connection.js?2"type="text/javascript"></script>
  5.  
  6. </head>
  7.  
  8.     
  9.         
  10.        
  11.              id="friends_list">
  12.                  value="">Выберите друга</option>
  13.             </select>
  14.        
  15.         </td>
  16.          rowspan="3">
  17.        
  18.              id="user_info"></div>
  19.            
  20.         </td>
  21.     </tr>
  22.     
  23.         
  24.             Сообщение: />
  25.              id="message_tf"></textarea>
  26.         </td>
  27.     </tr>
  28.     
  29.         
  30.              href="#" id="send_btn">Отправить</a>
  31.         </td>
  32.     </tr>
  33. </table>
  34.  
  35.  
  36.  /> /> />
  37.  href="http://flapps.ru/" target="_blank"></a>
  38. </body>
  39. </html>



style.css

  1. body {
  2.     padding:0;
  3.     margin:0;
  4.     font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
  5.     font-size11px;
  6. }
  7. select,textarea {
  8.     padding:0;
  9.     margin:0;
  10. }
  11. table {
  12.     border-collapse:0;
  13.     padding:0;
  14.     margin:0;
  15. }
  16. table td {
  17.     vertical-align:top;
  18.     font-family: tahoma, verdana, arial, sans-serif, Lucida Sans;
  19.     font-size11px;
  20. }
  21.  
  22. #message_tf {
  23.     width:100%;
  24.     height:50px;
  25.     resize:none;
  26. }



Приложение должно быть включено и видно всем.
В настройках приложения должен быть разрешен доступ к друзьям.

Исходник http://flapps.ru/example/friends_get_wall_post.rar