• Страница 1 из 1
  • 1
Модуль Друзья

GooD[L]1ke
Пользователи
Сообщений 30
+
+38
-
Ваши награды 1
Здравствуйте! Не могли бы мне помочь? Как сделать автообновление аватарки в модуле Друзья? Просто при первом добавлении пользователя в друзья остаётся старый аватар, а новый просто напросто не отображается, не подскажите что нужно добавить?

Вот сам скрипт:

Code
<script type="text/javascript">    
   function infols() {    
   $.get('/index/14-0-0-1', function (data) {    
   ssid = $('input[name="ssid"]', data).val();    
   if ($("#secuImg", data).size() > 0) {    
   imgsec = $("#secuImg", data).clone();    
   seckey = $("input[name='seckey']", data).val();    
   new _uWnd('cap', 'Код с картинки', 300, 80, {    
   autosize: 0,    
   modal: 1,    
   oncontent: function () {    
   $("#capImgSpan").html(imgsec);    
   $("#capcode").focus();    
   }    
   },    
   '<span id="capImgSpan"></span> <input type="text" id="capcode" onkeyup="name33()" maxlength="5">');    
   } else {    
   $.post('/index/', {    
   a: '18',    
   s: '$_USERNAME$',    
   subject: 'Уведомление',    
   message: 'Здравствуйте! Сообщаем вам о том, что пользователь $NAME$ добавил вас в друзья. Если данный пользователь является вашим другом добавьте его в друзья, кликнув на ссылку "Добавить в друзья" под его аватаркой.',    
   ssid: ssid    
   },    
   function (e) {if($(e).text().indexOf('успешно')>-1) {_uWnd.alert("Пользователь успешно добавлен в друзья","",{w: 270,h: 40,t: 8000});}});    
   }    
   });    
   }    
   function name33() {    
   code = $("#capcode").val();    
   if (code.length == 5) {    
   $.post("/index", {    
   a: '18',    
   s: '$_USERNAME$',    
   subject: 'Уведомление',    
   message: 'Здравствуйте! Сообщаем вам о том, что пользователь $_NAME$ добавил вас в друзья. Если данный пользователь является вашим другом добавьте его в друзья, кликнув на ссылку <b>"Добавить в друзья"</b> под его аватаркой.',    
   ssid: ssid,    
   code: code,    
   seckey: seckey    
   },    
   function (re) {    
   rTxt = $($(re).text()).text();    
   if(rTxt.indexOf("успеш") > -1) {    
   setTimeout('_uWnd.close("pmsend")', 500);    
   _uWnd.close('cap');    
   _uWnd.alert('Сообщение отправлено', '', {    
   w: 225,    
   h: 75    
   });    
   } else {    
   if(rTxt.indexOf("код б") > -1) {    
   $('#secuImg').click();    
   } else {    
   _uWnd.close('cap');    
   _uWnd.alert(rTxt, 'Внимание', {    
   w: 225,    
   h: 75    
   });    
   }    
   }    
   });    
   $("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"});    
   $("#st").empty();    
   $("#ucodesmessagepm").empty();    
   }    
   }    
   </script>    
     
   <?if($_DIR_ENTRIES$)=0?><div style="border:1px solid #C0CCD9;background:#e9eef1;padding-top:4px;padding-bottom:4px;padding-left:7px;padding-right:7px;color:#8BA1BC;font-size: 11px;text-align:center; "><?if($_IS_OWN_PROFILE$)?>У вас пока нет друзей. Чтобы добавить друга кликните под его аватаром ссылку "Добавить в друзья" и он появится в этом списке.<?else?>У пользователя пока нет друзей.<?endif?></div><?else?>    
   <script type="text/javascript">    
   $.get('/dir/0-0-$_USER_ID$-0-17 ',function(singmen){    
   var result = $('.friends44:first',singmen).html();    
   var result2 = $('.friends44:gt(0)',singmen).html();    
   var result3 = $('.friends44:gt(1)',singmen).html();    
   $('.dfriends').html(result);    
   $('.dfriends2').html(result2);    
   $('.dfriends3').html(result3);    
   })    
   </script>    
   <span class="dfriends"></span>    
   <span class="dfriends2"></span>    
   <span class="dfriends3"></span>    
   <?endif?>    
     
   <script>    
   function Addfriends() {    
   $.get('/dir/0-0-0-0-1', function(data){    
   var ssid = $('input[name="ssid"]', data).val();    
   $.post('/dir/', {    
   a: 12,    
   jkd428: 1,    
   jkd498: 1,    
   ocat: 1,    
   title: '$_USERNAME$',    
   other1: '<?if($_AVATAR$)?><?substr($_AVATAR$,strpos($_AVATAR$,'src')+5,strpos(substr($_AVATAR$,strpos($_AVATAR$,'src')+5), '>')-3)?><?else?>/template/no_ava.png<?endif?>',    
   other2: '$_PROFILE_URL$',    
   other3: '$_NAME$',    
   other4: $_USER_ID$,    
   ssid: ssid    
   },    
   function(qwe){    
   var er = $(qwe).text();    
   if(er.indexOf('успешно')>-1){infols();}    
   else {_uWnd.alert('<font color="red">Произошла ошибка</font>','',{w: 270,h: 40,t: 8000});};    
   });    
   });    
   };    
   function addfrinfo(){    
   _uWnd.alert("Друг удалён.<br>Через 2 секунды страница обновится.","",{w: 270,h: 65,t: 8000});    
   setTimeout("document.location.reload()",2000);    
   };    
   </script>
«Пред. тема След. тема»

NiKiT0S
VIP
Сообщений 229
+
+2139
-
Ваши награды 10
NiKiT0S написал: отредактировал: NiKiT0S - Среда, 22.08.2012, 20:43 В ответ пользователя NiKiT0S Написано 22 Августа 2012 в 20:43
2<\' onclick=\'this.select();\' style=\'width:95%;text-align: center; height:20px; margin-top:15px;\'/>');" style="text-align:right; margin-left:19px;">Сообщение № 2
Глупое предложение biggrin - F5

BLAzER
Друзья
Сообщений 2339
+
+13398
-
Ваши награды 48
BLAzER написал: отредактировал: BLAzER - Среда, 22.08.2012, 21:40 В ответ пользователя BLAzER Написано 22 Августа 2012 в 21:40
3<\' onclick=\'this.select();\' style=\'width:95%;text-align: center; height:20px; margin-top:15px;\'/>');" style="text-align:right; margin-left:19px;">Сообщение № 3
NiKiT0S, ты не понял там материал добавляется и ссылка на аву ставится в поле, когда аву обновляешь ссылка меняется.
подпись: BLAzER

Sid_MC_aka_Destroy
Пользователи
Сообщений 181
+
+67
-
Ваши награды 8
BLAzER, не запоминать аву в поле, а получать get-запросом. Но 10 друзей на странице - 10 запросов.
Так же можно в виде материалов под авой сделать кнопочку "обновить", при нажатии на которую:

1. Получим запросом новую аву;
2. Произойдёт редактирование материала - в поле вставится новое значение;
3. Аватар визуально обновляется в виде материалов (сразу после нажатия, без обновления страницы).

Всё это произойдёт где-то за 1.5 секунды. В функции выполнятся 2 get и 1 post.

Могу написать такой скрипт с нуля с динамичной подгрузкой и уведомлениями об успешной загрузке / ошибке за 500 рублей
подпись:
Sid_MC_aka_Destroy

uExpert
Проверенные
Сообщений 124
+
+2166
-
Ваши награды 3
Юзайте друзей на php и не парьтесь, там аватарка получается динамически через api.
Quote (Sid_MC_aka_Destroy)
Могу написать такой скрипт с нуля с динамичной подгрузкой и уведомлениями об успешной загрузке / ошибке за 500 рублей

Не дорого ли, за написание гета на апи, модуль для получения ssid и прочих данных и отправки всего этого с изменением поля аватарки обратно...

AndreyKlipikov
VIP
Сообщений 257
+
+1300
-
Ваши награды 9
uExpert, присоединяюсь, даже я предлагал на юсайте идею: сделать кнопку обновления аватарок у всех друзей, но там побольше кода и то я планировал делать за 350-400...

Sid_MC_aka_Destroy
Пользователи
Сообщений 181
+
+67
-
Ваши награды 8
uExpert, Бульбулятор, не ваше дело, если что, но это флуд...
Я предлагаю сделать всё с нуля с эффектами, уведомлениями и наименьшим кол-вом запросов, что обеспечит безопасность. 100% грамотно.
подпись:
Sid_MC_aka_Destroy

GooD[L]1ke
Пользователи
Сообщений 30
+
+38
-
Ваши награды 1
Проще подключить PHP, чем платить такие деньги smile
  • Страница 1 из 1
  • 1
Поиск:
Топ пользователей: