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

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

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

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

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

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

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

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

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

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

    Пример твиттера:
    Перейти по ссылке
    новости постятся отсюда: Перейти по ссылке

    Скачать/Download:
    Перейти по ссылке
     
    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 нравится это.
Статус темы:
Закрыта.