Модуль twitterMod - Отправка новостей в Twitter после их публикации на сайте

Тема в разделе "DLE", создана пользователем g-prime, 25 окт 2009.

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

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

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

    g-prime איך בין גאָט

    Регистр.:
    11 авг 2008
    Сообщения:
    779
    Симпатии:
    1.131
    [​IMG]

    Модуль для DataLife Engine 8,2

    Название модуля: twitterMod
    Назначение модуля: Отправка новостей в Twitter после их публикации на сайте
    Автор модуля: g-prime (http://softstorm.net)

    Технические требования:
    PHP выше 5-ой версии и DataLife Engine 8.2

    Пример твиттера:
    https://twitter.com/mavritanija
    новости постятся отсюда: http://mavritanija.net

    Скачать/Download:
    http://www.rapidspread.com/file.jsp?id=b6p90ulaco
     
    Japonec, ixley, rijy и 7 другим нравится это.
  2. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Не понятно для чего но думаю не нужное...
    в файле engine/inc/twiter/twiter.php убрать нериальную нагрузку на базу (если новостей куча)



    $sql_select = "SELECT id, date, short_story, title, category, alt_name, flag FROM " . PREFIX . "_post";
    $sql_result = $db->query( $sql_select );
    while ( $row = $db->get_row( $sql_result ) ) {
    $title = $row['title'];
    $opisanie = $row['short_story'];
    $row['date'] = strtotime( $row['date'] );
    if( $config['allow_alt_url'] == "yes" ) {
    if( $row['flag'] and $config['seo_type'] ) {
    if( $row['category'] and $config['seo_type'] == 2 ) {
    $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
    } else {
    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
    }
    } else {
    $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
    }
    } else {
    $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
    }
    }


    от
    $sql_select = "SELECT id ....
    до
    ?>



    ...
     
  3. Omnesis

    Omnesis Постоялец

    Регистр.:
    7 сен 2007
    Сообщения:
    96
    Симпатии:
    21
    Убрал и вылезла ошибка... когда добовлю новость
     
  4. g-prime

    g-prime איך בין גאָט

    Регистр.:
    11 авг 2008
    Сообщения:
    779
    Симпатии:
    1.131
    Добавлено через 28 минут
    Верни на место код ;)

    Если не знаешь для чего это нужно - не трогай и не советуй другим ;)
    Если есть - значит нужно
     
  5. Rem

    Rem

    Регистр.:
    22 сен 2006
    Сообщения:
    472
    Симпатии:
    41
    Бывает так что есть и оно совсем не нужно...

    ---------- Post added at 17:55 ---------- Previous post was at 16:26 ----------


    И вообще зачем изобретать велосипед?
    Настройка кросспостинга в Твитер
    1. Вначале регистрируемся на Твиттере
    2. Заводим свой OpenID (если еще нету).
    3. Потом заходим сюда, вводим свой OpenID
    4. Регистрируем кросспостинг тут (поля с выбором вариантов оставляем по-умолчанию).
     
  6. rijy

    rijy

    Регистр.:
    3 ноя 2007
    Сообщения:
    249
    Симпатии:
    82
    это реализуется через хз как.. а в предлагаемом моде все культурно через админку.. захотел включил, захотел выключил.
    раз на то пошло, зачем тебе газ в квартире? топи дровами.
     
  7. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Код не правельный и та нагрузка безсмысленная.

    достаточно использовать только это

    Код:
    Убрать то что [B]я[/B] сказал до [B]?>[/B].
    
    и вместо того что в реадме
    
    $title1 = iconv("WINDOWS-1251", "UTF-8", $title);
    $opisanie1 = iconv("WINDOWS-1251", "UTF-8", $opisanie);
    $twText = twitThis($title1, $opisanie1, $full_link);
    
    вписать это
    
    $title1 = iconv("WINDOWS-1251", "UTF-8", $title);
    $opisanie1 = iconv("WINDOWS-1251", "UTF-8", $short_story);
    $full_link1 = $config['http_home_url'] . "index.php?newsid=" . $row;
    $twText = twitThis($title1, $opisanie1, $full_link1);
    
    
    это сделает простую без ЧПУ ссылку - если нужен всетаки ЧПУ (врятли он нужен твитеру так как там нужны короткие УРЛ) то можно заменить на более грамотный код - который точно вышлет нужную ссылку (а не последную с базы..) и не повалит сайт с 1000 новостей...

    g-prime - не спорь с батькой ;) яж плохого не пожилаю.
     
  8. Rem

    Rem

    Регистр.:
    22 сен 2006
    Сообщения:
    472
    Симпатии:
    41
    Это реализуется через twitterfeed, а вот этот мод в каком виде он есть это и есть хз что.

    А перед тем как что то говорить, нужно знать что говоришь. В моем примере все тоже элементарно отключается. Плюс есть возможность в кросспостить несколько rss лент с одного сайта ( например site.net/user/1/rss.xml или site.net/категория/rss.xml)
    И самый главный плюс моего метода никакой не нужной нагрузки на базу данных!
     
  9. g-prime

    g-prime איך בין גאָט

    Регистр.:
    11 авг 2008
    Сообщения:
    779
    Симпатии:
    1.131
    Если ты внимательно смотрел код, то все ссылки прогоняются через сервис укорачивания ссылок, поэтому ссылки будут короткими в любом случае, а поддержка ЧПУ одного типа - чушь ИМХО
     
  10. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Ну так подруби смекалку и будит все с ЧПУ, и зачем свой трафик отправлять на чужие сервисы, когда все можно сделать самому =)
    если не знаешь как правильно сделать так и скажи - тут многие тебе помогут. Зачем других травить своим не знанием.

    капни в сторону $row (это ИД добавленной новости [повторюсь Нужной новости, а не последней с базы]), и сделай super_query запрос для возврата нужной тебе инфо, а не проходясь через while по всем новостям базы. но и это будит бес толку потраченный запрос к базе...
    Ведь Ты толь ко что добавил в базу ВСЕ нужные поля ну так и используй те переменные.

    Не уж ты токо copy/past делаешь.. и не понимаешь что пас-тишь, проси помощи или не спорь если не знаешь как оптимальней делать.

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

    и твое ИМХО означает простое не знание...
    И я ничего не доказываю я просто помогаю...

    Куда катится поколение...
     
    dm_mb нравится это.
Статус темы:
Закрыта.