Хак Вывод последних записей twitter на dle 9.3

Тема в разделе "DLE", создана пользователем iurok, 20 сен 2011.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. iurok

    iurok Создатель

    Регистр.:
    31 июл 2008
    Сообщения:
    49
    Симпатии:
    3
    Доброго времени суток, подскажите пожалуйста, как реализовать вывод последних сообщений из твиттер аккаунта на dle 9.3.
    В интернете ответа не нашел.
    Заранее спасибо за помощь.

    Добавлено через 52 минуты
    Все-таки нашел решение, если кому интересно:
    Создаем js.
    PHP:
    function twitterCallback2(twitters) {
      var 
    statusHTML = [];
      for (var 
    i=0i<twitters.lengthi++){
        var 
    username twitters[i].user.screen_name;
        var 
    status twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
          return 
    '<a href="'+url+'">'+url+'</a>';
        }).
    replace(/\B@([_a-z0-9]+)/ig, function(reply) {
          return  
    reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
        });
        
    statusHTML.push('<li><span>'+status+'</span> <br /><a style="font-size:75%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></li>');
      }
      
    document.getElementById('twitter_update_list').innerHTML statusHTML.join('');
    }
    function 
    relative_time(time_value) {
      var 
    values time_value.split(" ");
      
    time_value values[1] + " " values[2] + ", " values[5] + " " values[3];
      var 
    parsed_date Date.parse(time_value);
      var 
    relative_to = (arguments.length 1) ? arguments[1] : new Date();
      var 
    delta parseInt((relative_to.getTime() - parsed_date) / 1000);
      
    delta delta + (relative_to.getTimezoneOffset() * 60);
      if (
    delta 60) {
        return 
    'less than a minute ago';
      } else if(
    delta 120) {
        return 
    'about a minute ago';
      } else if(
    delta < (60*60)) {
        return (
    parseInt(delta 60)).toString() + ' minutes ago';
      } else if(
    delta < (120*60)) {
        return 
    'about an hour ago';
      } else if(
    delta < (24*60*60)) {
        return 
    'about ' + (parseInt(delta 3600)).toString() + ' hours ago';
      } else if(
    delta < (48*60*60)) {
        return 
    '1 day ago';
      } else {
        return (
    parseInt(delta 86400)).toString() + ' days ago';
      }
    }
    Затем этот код вставить в место, где будут выводиться твиты.
    PHP:
    <div class="vidjet">
         <
    div class="vitop">Мои писульки:</div>
         <
    div class="vicenter">
         <
    ul id="twitter_update_list"></ul>
    <
    script src="[B]место, где лежит ваш js[/B]" type="text/javascript"></script>
    <script src="http://twitter.com/statuses/user_timeline/ username.json?callback=twitterCallback2&count=7" type="text/javascript"></script>
         </div>
         <div class="viboot">Follow me <a href="http://twitter.com/username">@username</a></div>
      </div>
    Поменять везде username на свой ник в твиттере
    в строке:
    PHP:
    <script src="http://twitter.com/statuses/user_timeline/ username.json?callback=twitterCallback2&count=7" type="text/javascript"></script>
    цифра "7" - количество выводимых записей

    Дописать в styles.css
    PHP:
    /* twitter vidjet */

    .vidjet{
    width192px;
    margin-right15px;
    margin-top5px;
    floatcenter;
    }

    .
    vidjet atext-decorationnonecolor#90d118; }



    .vicenter ul{ list-style-typenonemargin-left3pxmargin-right5pxpadding0; }
    .
    vicenter li{
    font-size12px;
    color#fff;
    border-bottom1px dashed #ccc;
    }
    P.S. Ну или таким образом решаются все проблемы разом Перейти по ссылке :DDDDD
     
    yura и Demon425 нравится это.
  2. L4D2

    L4D2 Создатель

    Регистр.:
    19 авг 2011
    Сообщения:
    10
    Симпатии:
    1
    Спасибо хороший скрипт :)
    Опробуем его в действии :tut:
     
Статус темы:
Закрыта.