Техническая поддержка сервиса Quadro.Boards

Объявление

Новости сервиса

О форуме

Quadro.Support – это форум технической поддержки различных проектов и сервисов Quadro.Systems LLC, на котором грамотные технические специалисты всегда смогут помочь вам в решении проблем, или же подсказать ответы на самые сложные вопросы. Так же на форуме собрана обширная база знаний по различным аспектам наших сервисов. Не забывайте пользоваться поиском ;)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Архив » Скрипты по подгрузке API WoW


Скрипты по подгрузке API WoW

Сообщений 81 страница 100 из 129

81

sadhaka написал(а):

а на чистом форуме работает?

оу, не...
наверн, полетела та чтука, которую Fover изобрел

Герда написал(а):

$.get('http://onff.ru/gerda/wow.php'

ммм... поставлю-ка пока простой аватар вместо оружейной. не горит, скрипты выше поважнее.

sadhaka написал(а):

я почти закончила с твоими скриптами (ава в ЛС, цветовыделение и список на страницах), но закончу наверное только в новогодние праздники - на работе сплошной ппц. Актуально еще?
Получилось долго из-за пробы возможностей майббовского апи.

очень актуально! у меня аж слюни затекли - спс за труды большое! :cool:
такой скрипт будет актуален, покуда не изменится апи оружейной или майбб ^^

0

82

постновогодний ап
я затащила сюда еще пару гильдий, так шо количество заинтересованных может прогрессировать ;)

0

83

Герда
:hobo:  А что с доменом  http://forumd.ru/ - у мну многие Демки со ссылками картинками с твоего сайта загинули...

0

84

Deff написал(а):

А что с доменом  http://forumd.ru/ - у мну многие Демки со ссылками картинками с твоего сайта загинули...

нае... навернулся
домен в стародавние времена подарил Кафлан.
я зашла в админку и поставила переадресацию на forumdesign.0pk.ru, но она не пашет.
видимо, либо восстанавливать доступ к вебмани и оплачивать (ох, как я не хочу на него тратить бабло) forumdts.org, либо мы потеряли наш склад инфы...

0

85

Deff

UPD
домен forumdesign.0pk.ru не работает только на главной
жуть.
но всязано тока с кривой переадресацией, чесслово

0

86

Герда
Замена старых ссылок в постах на текущие,  при смене домена

0

87

Герда
Да, я помню - но с постоянными ежедневными падениями майбб сложно дописывать - не сидеть же целыми днями у компа и ждать, когда майбб поднимется (( Постараюсь на днях закончить, если не будет продолжения всей этой хрени.

Герда написал(а):

нае... навернулся
домен в стародавние времена подарил Кафлан.

Можно подать заявку на продление :) Все домены 0pk теперь принадлежать QB.

0

88

sadhaka написал(а):

Можно подать заявку на продление :)

окей, подам
тока я не в курсах, есть ли на заброшенном форуме нужная посещаемость )

0

89

Герда
потести с расскраской ников

Код:
<style>
  .pa-avatar.item2, .pa-fld2 {display: none;}
</style>

<script src="https://forumstatic.ru/files/0011/e9/e1/73894.js"></script>
<script>

var arrStorage, dataSet, currentDate, createDate, arrParam = []; 
var fld = 2;

var colorClasses = {
1 : "#c69b5b",
2 : "#d58cba",
3 : "#aad372",
4 : "#fff448",
5 : "#ffffff",
6 : "#aa1813",
7 : "#2359ff",
8 : "#68cccd",
9 : "#9382c9",
10 : "#0dffba",
11 : "#ff7c0a",
};

function readLocalStorage() {
  var arrStorage, currentDate, createDate;

  if(window.localStorage) {
    currentDate = new Date();
    currentDate = Date.parse(currentDate) / 86400000;

      if (localStorage.getItem('battlenet') !== null) {
        
        arrStorage = $.parseJSON(localStorage.getItem('battlenet'));
        createDate = arrStorage[dataSet];
        if (currentDate - createDate > 7) {
          localStorage.removeItem('battlenetAva');
        } 
      }
      if (localStorage.getItem('battlenet') == null) {
        arrStorage = {};
        arrStorage['dataSet'] = currentDate;
      }        
  }
  return arrStorage;
}

function getData(id, realm, nick, aux, place) {
  $.jsonp({
    url: 'http://eu.battle.net/api/wow/character/'+realm+'/'+nick,
    callbackParameter: 'jsonp',
    success: function(json) {
        arrStorage[id] = {'realm': realm, 'nick': nick, 'aux': aux, 'avatar': json.thumbnail, 'class': json.class};
        localStorage.setItem('battlenet', JSON.stringify(arrStorage));
        setCustomAva(place, realm, nick, aux, json.thumbnail);
        setColor(place, json.class);
    },
    error: function() {
        setDefaultAva(place);
    }
  });
}

function setDefaultAva(place) {
  $(place).html('<img src="https://forumstatic.ru/files/0012/ad/ab/72354.jpg" title="персонаж неизвестен" />');
}

function setCustomAva(place, param0, param1, param2, avatar) {
  $(place).append('<a href="http://eu.battle.net/wow/ru/character/'+param0+'/'+param1+'/simple" title="оружейная"> <img alt="'+param2+'" src="http://eu.battle.net/static-render/eu/'+avatar+'"> </a>');
}

function setColor(place, color) {
    console.log(colorClasses[color]);
    $(place).parent().find("li.pa-author a").css("color", colorClasses[color]);
}

function lookAvaTopic() {
  var flParam, idParam, newAva;
  $(".post-author").each(function(e) {

    flParam = $(this).find(".pa-fld"+fld);
    if ($(flParam).length) arrParam = $(flParam).text().split(":")[1].split(",");

    newAva = $('<li class="pa-avatar item3"></li>').insertAfter($(this).find(".pa-title"));
    idParam = $(this).find(".pa-respect a[href*='respect.php']").attr('href').split('id=')[1];  

    if(arrParam.length < 2) { setDefaultAva(newAva); return;}
    if(!arrParam[2]) arrParam[2] = "0"; 

    arrStorage = readLocalStorage();

    if (arrStorage[idParam]) {
        setCustomAva(newAva, arrParam[0], arrParam[1], arrParam[2], arrStorage[idParam].avatar);
        setColor(newAva, arrStorage[idParam].class);
    }
    else {
        getData(idParam, arrParam[0], arrParam[1], arrParam[2], newAva);
    }

  })
}

//if(document.URL.indexOf("viewtopic.php")!=-1) {
  lookAvaTopic();
//};

</script>

номер поля только вначале

<style>
  .pa-avatar.item2, .pa-fld2 {display: none;}
</style>

<script src="https://forumstatic.ru/files/0011/e9/e1/73894.js"></script>
<script>
var arrStorage, dataSet, currentDate, createDate, arrParam = [];
var fld = 2;

+1

90

Герда
Возможно, чтобы скрипт корректно работал придется почистить локалсторадж.
можно до скрипта временно поставить

<script>localStorage.removeItem('battlenet');</script>
Тогда всегда пойдут запросы к серверу и хранилище постепенно у всех обновится.
Но лучше так долго не делать )

0

91

о, пошло-соехало, красит потихоньку.
вопрос на засыпку - возможно скрипт заставить раскрашивать не только ник, но и ссылку на профиль?

a[href$="/profile.php?id=N"] {color: #aad372 !important;}

0

92

Герда
ссылку на профиль вообще по всему форуму?

0

93

sadhaka написал(а):

ссылку на профиль вообще по всему форуму?

да, по всему форуму.
и ники профиля рядом сообщениями + ссылки на профиль по форуму

это позволит жить без цветовыделения ^^

0

94

Герда
это пичалька.
ладно, я попробую

0

95

Герда
в общем, могу только с инфой, которая уже есть на локалсторадж, если у пользователя локалсторадж не заполнен - не выйдет, ибо на других страницах у меня нет данных о нике и реалме, а это значит запрашивать целиковые страницы профилей пользователей, что на странице участников или главной - может создать нехилую нагрузку на форум.

Если только с локалстораджа, то как-то так будет

Код:
<style>
  .pa-avatar.item2, .pa-fld2 {display: none;}
</style>

<script src="https://forumstatic.ru/files/0011/e9/e1/73894.js"></script>
<script>

var arrStorage, dataSet, currentDate, createDate, arrParam = []; 
var fld = 2;

var colorClasses = {
1 : "#c69b5b",
2 : "#d58cba",
3 : "#aad372",
4 : "#fff448",
5 : "#ffffff",
6 : "#aa1813",
7 : "#2359ff",
8 : "#68cccd",
9 : "#9382c9",
10 : "#0dffba",
11 : "#ff7c0a",
};

function readLocalStorage() {
  var arrStorage, currentDate, createDate;

  if(window.localStorage) {
    currentDate = new Date();
    currentDate = Date.parse(currentDate) / 86400000;

      if (localStorage.getItem('battlenet') !== null) {
        
        arrStorage = $.parseJSON(localStorage.getItem('battlenet'));
        createDate = arrStorage[dataSet];
        if (currentDate - createDate > 7) {
          localStorage.removeItem('battlenetAva');
        } 
      }
      if (localStorage.getItem('battlenet') == null) {
        arrStorage = {};
        arrStorage['dataSet'] = currentDate;
      }        
  }
  return arrStorage;
}

function getData(flag, id, realm, nick, aux, place) {
  $.jsonp({
    url: 'http://eu.battle.net/api/wow/character/'+realm+'/'+nick,
    callbackParameter: 'jsonp',
    success: function(json) {
        arrStorage[id] = {'realm': json.realm, 'nick': json.nick, 'aux': aux, 'avatar': json.thumbnail, 'class': json.class};
        localStorage.setItem('battlenet', JSON.stringify(arrStorage));
        if (flag == "topic") {
            setCustomAva(place, realm, nick, aux, json.thumbnail);
            setColorTopic(place, json.class);
        }
        if (flag == "all") {
            $("a[href$='/profile.php?id="+id+"]").css("color", colorClasses[json.class]);
        }
        
    },
    error: function() {
        setDefaultAva(place);
    }
  });
}

function setDefaultAva(place) {
  $(place).html('<img src="https://forumstatic.ru/files/0012/ad/ab/72354.jpg" title="персонаж неизвестен" />');
}

function setCustomAva(place, param0, param1, param2, avatar) {
  $(place).append('<a href="http://eu.battle.net/wow/ru/character/'+param0+'/'+param1+'/simple" title="оружейная"> <img alt="'+param2+'" src="http://eu.battle.net/static-render/eu/'+avatar+'"> </a>');
}

function setColorTopic(place, color) {
    $(place).parent().find("li.pa-author a").css("color", colorClasses[color]);
}

function lookAvaTopic() {
  var flParam, idParam, newAva;
  $(".post-author").each(function(e) {

    flParam = $(this).find(".pa-fld"+fld);
    if ($(flParam).length) arrParam = $(flParam).text().split(":")[1].split(",");

    newAva = $('<li class="pa-avatar item3"></li>').insertAfter($(this).find(".pa-title"));
    idParam = $(this).find(".pa-respect a[href*='respect.php']").attr('href').split('id=')[1];  

    if(arrParam.length < 2) { setDefaultAva(newAva); return;}
    if(!arrParam[2]) arrParam[2] = "0"; 

    arrStorage = readLocalStorage();

    if (arrStorage[idParam]) {
        setCustomAva(newAva, arrParam[0], arrParam[1], arrParam[2], arrStorage[idParam].avatar);
        setColorTopic(newAva, arrStorage[idParam].class);
    }
    else {
        getData('topic', idParam, arrParam[0], arrParam[1], arrParam[2], newAva);
    }

  })
}

function colorLinks() {

    var idLink, color;
    $("a[href*='/profile.php?id=']").each(function() {
        idLink = $(this).attr('href').split("id=")[1];
        arrStorage = readLocalStorage();
        if(arrStorage[idLink]) {
            color = arrStorage[idLink].class;
            $(this).css("color", colorClasses[color]);
        }
        //else getData('all', idLink, realm);
    });
}

if(document.URL.indexOf("viewtopic.php")!=-1) {
  lookAvaTopic();
}
else {
  colorLinks();
}
</script>

Или тогда записывать инфу не в допполя, а в какой-нибудь статус, который я могла бы вытащить с помощью апи майббэшного.

0

96

снова, прив. скрипт пашет отлично! =)
кстати, подтянула свою подругу с враждебной фракции тоже форум гильдии тут делать. пока мы в процессе, но от оружейной их гильдия тож в восторге.
глядишь, скоро на КБ весь ру оф поддтянется. :)

в честь расплодившегося спроса хочу поднять один из постов.

может кто подсказать/рассказать в чем дело.... не работает юзер-панель рядом с объявлением форума на главной. давно уже..
хотя там ничего не трогаем.

Код:
<div id="u-panel">

    <script type="text/javascript">
    if($('#pun-index').length)
    $.get("/profile.php?section=fields&id="+UserID+"", function(data){
    var PFld = $(data).find(".input #fld3").val();
    var ZFld = $(data).find(".input #fld1").val();
    var QFld = "";;
    if (UserName == ""){UserName = "<a href='/profile.php?section=personal&id="+UserID+"'>неизвестно</a>"}
    if (UserAge == "0"){UserAge = "<a href='/profile.php?section=personal&id="+UserID+"'>неизвестно</a>"}
    if (UserBirthDate == ""){UserBirthDate = "<a href='/profile.php?section=personal&id="+UserID+"'>заполнить</a>"}
    if (UserSex == "2"){UserSex = "женский"}
    if (UserSex == "1"){UserSex = "мужской"}

function ABC(QFld,PFld,ZFld,UserName,UserAge,UserBirthDate,UserSex){
    if (UserSex == "0"){UserSex = "<a href='/profile.php?section=personal&id="+UserID+"'>неизвестно</a>"}
    if (!QFld){QFld = "<a href='/profile.php?section=fields&id="+UserID+"'>персонаж неизвестен</a>"}
    if (!PFld){PFld = "<a href='/profile.php?section=fields&id="+UserID+"'>батл тег не указан</a>"}
    if (!ZFld){ZFld = "<img src='/files/0012/ad/ab/72354.jpg'>"}
    var arr=document.getElementsByTagName("div")
    i=0
    while(arr ){
    if(arr[i].id=="u-panel") {
    name=arr[i].innerHTML
    name=name.substring(0)
    arr[i].innerHTML="<div id=option><span class='u-log'><a href='/profile.php?id="+UserID+"'>"+UserLogin+"</a></span><span class='u-ava'>"+ZFld+"</span><br/><div class='u-data'><b>"+UserTitle+"</b><br/>"+PFld+"<br/>"+QFld+" <br/>Имя: <b>"+UserName+"</b><br/>Пол: <b>"+UserSex+"</b><br/>Возраст: <b>"+UserAge+"</b> ["+UserBirthDate+"]<br/><a href='/respect.php?id="+UserID+"'>Репутация</a><br/><a href='/mod/awards/?uid="+UserID+"'>Достижения</a></div></div>"+name
    }i++}
}
	var dtn_1 = ZFld
        if(dtn_1&&dtn_1.length&&dtn_1.split(',').length>1){

        var realm = dtn_1.split(',')[0];
        var hero = dtn_1.split(',')[1];//alert([realm,hero])
        var altN = dtn_1.split(',')[2];
        var alt=""; if(typeof(altN)!='undefined')alt='alt="'+altN+'"';
        var QFld = hero;
        $.get('http://onff.ru/gerda/wow.php', { r: realm, h: hero }, function(data) { if(data==null){ZFld = "<img src='/files/0012/ad/ab/72354.jpg'>"; ABC(QFld,PFld,ZFld,UserName,UserAge,UserBirthDate,UserSex);return;}
          ZFld = '<img '+alt+' src="http://eu.battle.net/static-render/eu/'+data.thumbnail+'">';ABC(QFld,PFld,ZFld,UserName,UserAge,UserBirthDate,UserSex);
        });} else {ZFld = "<img src='/files/0012/ad/ab/72354.jpg'>";ABC(QFld,PFld,ZFld,UserName,UserAge,UserBirthDate,UserSex);}

    });
    </script>

<script type="text/javascript">
var arr=document.getElementsByTagName("div")
i=0
while(arr ){
if(arr[i].id=="u-panel" && GroupID == "3") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option><span class='g-log'><b>Привет, Гость!</b></span><span class='u-ava'><img src='/files/0012/ad/ab/72354.jpg'></span><br/><div class='ug-data'>Добро пожаловать!<br/>Для участия в конференциях необходимо <a href='login.php'>войти</a> или <a href='register.php'>зарегистрироваться</a>.<br/></div></div>"+name
}i++}
</script>
<!---Быстрый вход--->
    <script id="MylogIn" type="text"><!--Быстрый Вход -->
        <form id="login" style="position: absolute; text-align: center; width: 145px; height: 82px; top: -460px; z-index: 300; left: 46px;" class="container" method="post" action="/login.php?action=in" onsubmit="return process_form(this)">

    <input type="hidden" name="form_sent" value="1" /><input type="hidden" name="redirect_url" value="" />
    <input placeholder="Логин" style="text-align: center; height: 15px; font-size: 10px; background: #17120f; border: 1px inset #352919; border-radius: 8px; margin: 8px 0 2px;" type="text" id="fld1" name="req_username" size="16" maxlength="25" /><br/>
    <input placeholder="Пароль" style="text-align: center; height: 15px; font-size: 10px; background: #17120f; border: 1px inset #352919; border-radius: 8px; margin: 4px 0;" type="password" id="fld2" name="req_password" size="16" maxlength="16" /><br/>
    <button id="gl-but" type="submit" style="height: 20px; width: 70px; background-color: #5e4e3f;
outline: none; border: 1px outset #2e2212; border-radius: 8px; box-shadow: 0 0 5px #1a1613 inset; cursor: pointer; margin: 2px 0;">ВХОД</button>  
    </form>
    </div>
    </script>
    <script>$(document).ready(function(){if($("#navlogin").length)$(".punbb").prepend($("#MylogIn").text());});</script>
<style>#gl-but:hover, #gl-but:active {box-shadow: 0 0 5px #1a1613 inset, 0 0 5px #1a1613 !important;}</style>
<!---Быстрый вход--->
</div>

я на своем форуме как-то забила на эту панель, но они тоже хотят похожую фичу, так что было бы круто воскресить.

вклатце о том, шо нам надо:
1. это юзер-панель, в которую можно вписать всякие данные профиля юзера - http://forumd.ru/viewtopic.php?id=4392
2. в нее же должна быть возможность вкорячить информацию из дополнительных полей - с этим помогали тут: http://forum.mybb.ru/viewtopic.php?id=3 … =3#p843016
3. и вот самое дикое нечто - нужно шоб в этой же панели по нашему мега-полю подгружалась Аватарка оружейной
ну а если с оружейной какой-то косяк (поле не заполнено или заполненно некорректно) - вставала аватара по умолчанию: https://forumstatic.ru/files/0012/ad/ab/72354.jpg

0

97

Герда
Оке, попробуем-с. Будь на связи.

0

98

sadhaka
с возвращением! :flag:
на связи )

0

99

апчег
не срочный, просто напоминаю.
у нас в гильдии народ пока не бухтит по поводу панели, а на форуме товарищей пока есть еще что поковырять - дизайн доделаваем.
но просто напоминаю, шо будем рады фиче, если она появицца. :)

0

100

Герда
Ок.
Я тут пытаюсь написать скрипт подсчета сообщений за сутки, как доделаю, так сразу  займусь панелькой :)

0


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Архив » Скрипты по подгрузке API WoW


Рейтинг форумов | Создать форум бесплатно