Страница 1 из 11
Модератор форума: Yuri_G 
Сообщество uCoz » Вебмастеру » Общие вопросы от вебмастеров » ЛС в Ajax
ЛС в Ajax
nikitoskuzmenko2000
Сообщений: 9
Репутация: 0

Сообщение # 1 | 04:53:49
Всем Доброго Времени Суток!
Хочу спросить, есть ли где , открытие ЛС в Ajax , я делал
самостоятельно, но там мал. проблеммы, есть ли
такие в интернете , т.к я такие не нашёл.

[CENTER][/CENTER]
novikk
Сообщений: 227
Репутация: 25
Уровень замечаний:

Сообщение # 2 | 09:50:06
nikitoskuzmenko2000,

Цитата
<?if $USER_LOGGED_IN$?>
<script type="text/javascript">
function alertPm(n){_uWnd.alert('Для Вас есть новые личные сообщения<br><br>' + _uButton(null,'b',{content: 'onclick="ucodesru.init();_uWnd.close(\'alertPm\');"', text: 'Показать сообщения'}), 'Сообщения ('+n+')', {name: 'alertPm', w: 250, h: 100, tm: 0});}
$.getScript("ссылка на .js файл"<?if $UNREAD_PM$?>, function(){ alertPm($UNREAD_PM$); }<?endif?>);
</script><?endif?>
<a href="javascript://" onclick="ucodesru.init();">Мои сообщения <span title="Новых сообщений: $UNREAD_PM$">($UNREAD_PM$)</span></a>


А это js файл (заливаете в менеджер и ставите ссылку на него выше , красным показано)

Код
$("#txtareapnanswer").bind("select change click focus keyup", function(){ if(document.selection) this.sel = document.selection.createRange().duplicate(); }); //для бб-кодов
$("body").append("<link type=\"text\/css\" rel=\"stylesheet\" href=\"http:\/\/ucodes.ru\/css\/pmstyle.css\">");//css styles
$("#bodypmpage input.uSpoilerButton").live("click", function(){ if (_uWnd.getbyname('pmpage')) setTimeout("_uWnd.getbyname('pmpage').checksize()", 100); });//авторесайз окошка при открытии спойлера.
var ucodesru = {
init: function() {new _uWnd('pm', 'Личные Сообщения', 600, 300, { nomove: 1, resize:0, minw: 600, maxw: 600, align: 0, minh: 100, maxh: 400, oncontent: function () { if (ucodesru.canget) ucodesru.get();}, onclose: function(){ucodesru.canget = true;}}, '<div class="brucpmtopl"><div class="optblockpmtop"><div style="float: right"><span class="delurlspanuc" onclick="ucodesru.del(this);">Удалить выделенные</span></div><div>Выделить: <span class="urlspanpmuc" id="ucpmall" onclick="ucodesru.selectmenu(\'all\', this);">все</span>, <span class="urlspanpmuc" id="ucpmunread" onclick="ucodesru.selectmenu(\'unread\', this);">непрочитанные</span>, <span class="urlspanpmuc" id="ucpmread" onclick="ucodesru.selectmenu(\'read\', this);">прочитанные</span></div></div></div><table border="0" cellpadding="0" cellspacing="0" width="100%" id="tblpm"><tr><td class="waittduc">Загрузка…</td></tr></table>'); },
get: function () {ucodesru.msgs = ""; var header = '<tr><td class="pmucnum pmucnumf" width="5%">№</td><td class="pmucnmdtf pmucnmdt" width="20%">Отправитель</td><td width="70%" class="thmucpm thmucpmf">Тема Личного Сообщения</td><td width="5%" class="optboxpmuc optboxpmucf"><input onchange="ucodesru.allpm(this.checked);" id="allpmcheck" type="checkbox"></td></tr>'; $.get("/index/14", function (data) { ucodesru.canget = 0; if ($("#pmdform table tr:not(:last)", data).size() == 0) {setTimeout("_uWnd.getbyname('pm').checksize()", 150); return _uWnd.getbyname('pm').content('<div class="brucpmtopl"><div class="optblockpmtop" style="text-align: center; padding: 46px;">У Вас нет сообщений</div></div>'); } else { $("#pmdform table tr:not(:last)", data).each(function () { var td = $(this).find("td"), _ = ucodesru.msgs, unr = td.find(".unread").size() > 0, thisTd = '<tr class="trpmuc" onmouseover="ucodesru.colortrPm(this, true);" onmouseout="ucodesru.colortrPm(this, false);"><td class="pmucnum pncolnumfix ' + (unr ? 'pmucunerad': '') + '" width="5%">' + td.eq(0).text() + '</td><td class="pmucnmdt ' + (unr ? 'pmucnmdtfurd': '') + '" width="20%"><a href="javascript://" onclick="ucodesru.profil(\'' + td.eq(1).find("a:eq(1)").attr("href") + '\');return false;">' + td.eq(1).find("a:eq(1)").text() + '</a><br><span class="datepmuc">' + td.eq(2).text() + '</span></td><td width="70%" class="thmucpm ' + (unr ? 'thmucpmfunr': '') + '"><a href="javascript://" onclick="ucodesru.swapPage(\'' + td.eq(1).find("a:eq(0)").attr("href") + '\', this, \'' + td.eq(1).find("a:eq(1)").text() + '\', \'' + td.eq(3).find("input[name='s']").val() + '\');return false;" class="pmhrefAuc">' + td.eq(1).find("a:eq(0)").text() + '</a></td><td width="5%" class="optboxpmuc ' + (unr ? 'optboxpmucfunr': '') + '"><input type="checkbox" onchange="ucodesru.selectMess(this, this.checked);" name="optMess" value="' + td.eq(3).find("input[name='s']").val() + '"></td></tr>\n'; ucodesru.msgs = unr ? thisTd + _: _ + thisTd;});ucodesru.arry = ucodesru.msgs.split("\n");$("#tblpm").html(header + ucodesru.arry.join(""));$(".pncolnumfix").each(function(oj){ $(this).html(oj + 1);});};setTimeout("_uWnd.getbyname('pm').checksize()", 150);});},
canget: true, theForm: {},
colortrPm: function (o,ect){$(o).find(".pmucnum,.optboxpmuc")[ect ? "addClass": "removeClass"]("hvrpmucfbl"); $(o).find(".pmucnmdt,.thmucpm")[ect ? "addClass": "removeClass"]("hvrpmucfblb");},
selectMess: function(o,c){ $("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel"); $(o).parents("tr").find(".pmucnum,.optboxpmuc")[c?"addClass": "removeClass"]("hvrpmucfbls"); $(o).parents("tr").find(".pmucnmdt,.thmucpm")[c?"addClass": "removeClass"]("hvrpmucfblbs"); $("#allpmcheck").attr("checked", ($("input[name='optMess']:checked").size() == $("input[name='optMess']").size()));},
allpm: function (g) {$("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel"); $("input[name='optMess'], #allpmcheck").attr("checked", g); $("tr.trpmuc td.pmucnum,tr.trpmuc td.optboxpmuc")[g?"addClass": "removeClass"]("hvrpmucfbls"); $("tr.trpmuc td.pmucnmdt, tr.trpmuc td.thmucpm")[g?"addClass": "removeClass"]("hvrpmucfblbs");},
selectmenu: function(b,o) { ucodesru.allpm(false); $("#ucpmall, #ucpmunread, #ucpmread").removeClass("tucsel"); $(o).addClass("tucsel"); if (b == 'all') ucodesru.allpm(1), $("#allpmcheck").attr("checked", 1); else { $(".trpmuc").each(function () { if ($(this).find("td").hasClass("pmucunerad") == (b != 'read')) $(this).find(".pmucnmdt,.thmucpm").addClass("hvrpmucfblbs"), $(this).find(".pmucnum,.optboxpmuc").addClass("hvrpmucfbls"), $(this).find("input:checkbox").attr("checked", 1); });}},
del: function(v) {var dar = $("input[name='optMess']:checked"), r = ""; if (dar.size() == 0) return _uWnd.alert('Не выбрано ни одного сообщения', 'Ошибка', {w: 225, h: 75}); $(v).html("Удаляем…"); $(dar).each(function(){r += "s=" + this.value + "&";}); r += "a=16&t=0"; $.post("/index", r, function(){$(dar).parents(".trpmuc").remove();$(v).html("Удалить выделенные"); $(".pncolnumfix").each(function(oj) {$(this).html(oj + 1);}); if($(".pncolnumfix").size()==0) _uWnd.getbyname('pm').content('<div class="brucpmtopl"><div class="optblockpmtop" style="text-align: center; padding: 46px;">У Вас нет сообщений</div></div>');_uWnd.getbyname('pm').checksize();});},
profil: function(url){window.open(url);},swapPage: function (p, obj, aname, theid) {ucodesru.pmid = theid; $(obj).parents("tr").find("td").removeClass("pmucunerad pmucnmdtfurd thmucpmfunr optboxpmucfunr"); new _uWnd('pmpage', aname+': '+obj.innerHTML, 550, 150, { alert: 1, modal: 0, resize:0, nomove: 1, fadespeed: 500, maxh: 425, align: 0, oncontent: function () {$.get(p, function (data) {var form = $("form#addform", data).serialize(); if (form) { var answForm = "<div style='border-top: 1px solid #a6a6a6; margin: 10px 0px 0px 0px; padding: 6px 0px 0px 0px;'><div style='margin: 2px;'><img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-bold.png\" onclick=\"bbcodepm('b');\" alt=\"\" title=\"Жирный\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-italic.png\" onclick=\"bbcodepm('i');\" alt=\"\" title=\"Курсив\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/format-text-underline.png\" onclick=\"bbcodepm('u');\" alt=\"\" title=\"Подчеркнутый\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/script_code.png\" onclick=\"bbcodepm('code');\" alt=\"\" title=\"Вставить код\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/miscellaneous2.png\" onclick=\"bbcodepm('spoiler');\" alt=\"\" title=\"Спойлер\"> <img class=\"bbcodebutnpn\" align=\"absmiddle\" src=\"http://ucodes.ru/upload/1/bbcode/user_comment.png\" onclick=\"bbcodepm('quote');\" alt=\"\" title=\"Вставить цитату\"></div><div><textarea onkeypress='ucodesru.ctrpost(event);' id='txtareapnanswer'></textarea></div><input type='button' value='Отправить сообщение' id='ucodespostmessagepm' onclick='ucodesru.fx();'>  <label><input type='checkbox' id='delafteranswer' checked='1'><span style='color: grey; font-size: 9px;'>Удалить сообщение после ответа на него</span></label></div>", subject = "<div style='border-bottom: 1px solid #a6a6a6; margin: 0px 0px 10px 0px; padding: 0px 0px 6px 0px;'><input id='subjpmuc' style='width: 100%' type='text'></div>"; if (/seckey\=\d+/.test(form)) {ucodesru.theForm["seckey"] = $("input[name='seckey']", data).val();ucodesru["imageCap"] = $("#secuImg", data).clone();} ucodesru.theForm.a = "18"; ucodesru.theForm.s = $("#addform input[name='s']", data).val(); ucodesru.theForm.pmh = $("#addform input[name='pmh']", data).val(); ucodesru.theForm.hl = $("#addform input[name='hl']", data).val(); ucodesru.theForm.ssid = $("#addform input[name='ssid']", data).val();} setTimeout(function(){ $("#bodypmpage").html($("table:first td:last", data).html()).find("#snewmes").hide().end().append(form ? answForm: "").prepend(form ? subject: ""); $("#txtareapnanswer").focus(); if (form) $("#subjpmuc").val($("input[name='subject']", data).val()); _uWnd.getbyname('pmpage').checksize(); $("#bodypmpage span:contains('+')").parent().click(function(){setTimeout(function(){ _uWnd.getbyname('pmpage').checksize(); },100);});},400);setTimeout("_uWnd.getbyname('pmpage').checksize()", 600);});}},'<div class="brucpmtopl"><div class="optblockpmtop" id="bodypmpage"><br><br><img src="http://ucodes.ru/upload/icons/load.gif" border="0" alt="" align="absmiddle"> Загрузка…<br><br><br></div></div>');},
postPmanswer: function () { if (! ($("#subjpmuc").val().split(" ").join("").length && $("#txtareapnanswer").val().split(" ").join("").length)) return alert('Неправильно заполнено форма'); var aftDel = $("#delafteranswer").is(":checked"); $("#ucodespostmessagepm").attr({disabled: 1, value: "Загрузка…"}); ucodesru.theForm.subject = $("#subjpmuc").val(); ucodesru.theForm.message = $("#txtareapnanswer").val(); $.post("/index", ucodesru.theForm, function (pl) { var rTxt = $($(pl).text()).text(); if (rTxt.indexOf("код б") > -1) { $("#secuImg").trigger("click"); $("#capcodepm").val("").focus(); } else if (rTxt.indexOf("успешно") > -1) { if (aftDel) {$("input[name='optMess'][value='" + ucodesru.pmid + "']").attr("checked", true); ucodesru.del($(".delurlspanuc")[0]);} $("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"}); if (_uWnd.getbyname("cc")) _uWnd.close("cc"); $("#txtareapnanswer").val("");setTimeout('_uWnd.close("pmpage")', 500); _uWnd.alert('Сообщение отправлено', 'Успех', { w: 225, h: 75 }); } else alert(rTxt), $("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"}); });},
ctrpost: function (e) { e = e || window.event; if (e.keyCode == 10 || e.ctrlKey && e.keyCode == 13) ucodesru.postPmanswer();},
fx: function(){if (ucodesru.theForm["seckey"]) ucodesru.postWithCap(); else ucodesru.postPmanswer(); },
postWithCap: function() {if (! ($("#subjpmuc").val().split(" ").join("").length && $("#txtareapnanswer").val().split(" ").join("").length)) return alert('Неправильно заполнено форма'); new _uWnd('cc', 'Каптча', 250, 80, { alert: 1, modal: 0, fadespeed: 500, oncontent: function () {$("#ucodespostmessagepm").attr({disabled: 1, value: "Загрузка…"}); $("#capImgSpanpm").html(ucodesru["imageCap"]);$("#capcodepm").focus();}, onclose: function(){ $("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"}); }},'<span id="capImgSpanpm"></span> <input type="text" maxlength="4" id="capcodepm" style="width: 110px; height: 35px; text-align: center; color: grey; font-size: 14pt;" onkeyup="ucodesru.checkCapCode(this.value);">'); },
checkCapCode: function(v) {if (v.length == 4) {ucodesru.theForm.code = v;ucodesru.postPmanswer();}}
}
function getselectionpm(){if(window.getSelection)return window.getSelection().toString(); else if (document.getSelection)return document.getSelection(); else return document.selection.createRange().text;}
function bbcodepm(tg){var s=getselectionpm();if(s){$('#txtareapnanswer')[0].value+='['+tg+']'+s+'[/'+tg+']';$('#txtareapnanswer').focus()}else{var o='['+tg+']',c='[/'+tg+']',doc=$('#txtareapnanswer')[0];doc.focus();if(window.attachEvent&&navigator.userAgent.indexOf('Opera')===-1){var s=doc.sel;if(s){var l=s.text.length;s.text=o+s.text+c;s.moveEnd("character",-c.length);s.moveStart("character",-l);s.select()}}else{var ss=doc.scrollTop;sel1=doc.value.substr(0,doc.selectionStart);sel2=doc.value.substr(doc.selectionEnd);sel=doc.value.substr(doc.selectionStart,doc.selectionEnd-doc.selectionStart);doc.value=sel1+o+sel+c+sel2;doc.selectionStart=sel1.length+o.length;doc.selectionEnd=doc.selectionStart+sel.length;doc.scrollTop=ss};return false}};
nikitoskuzmenko2000
Сообщений: 9
Репутация: 0

Сообщение # 3 | 14:03:07
novikk, спасибо)

Добавлено (07 Апр 2016, 14:03:07)
---------------------------------------------
novikk,
что-то пошло не так(


[CENTER][/CENTER]
_CrySiS_
Сообщений: 464
Репутация: 38

Сообщение # 4 | 15:05:15
nikitoskuzmenko2000, сохранить JS надо в кодировке UTF-8 - самой универсальной, и лучше это сделать через Notepad++
Сообщество uCoz » Вебмастеру » Общие вопросы от вебмастеров » ЛС в Ajax
Страница 1 из 11
Поиск: