vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Add-On Releases - vBulletin 2 Twitter - Take Your News Straight To Twitter! (https://vborg.vbsupport.ru/showthread.php?t=208488)

A825F933D42B 04-19-2009 03:41 PM

my server does not support curl. Is there a no-curl option?

skylab 04-21-2009 12:32 PM

It's not a huge issue but hopefully the CDATA gets fixed sooner or later.

SBlueman 05-02-2009 05:35 PM

Will this work at all for v3.6.12? I tried it and got the CDATA issue too. Might it have something to do with thread prefixes?

beachinxj 05-03-2009 02:04 PM

Is there any way to make it not do duplicate threads other than increasing the time between script runs?

fbriceno97 05-04-2009 03:05 AM

Got same error:

Error: RSS file not found, dude, when using the scheduled task... external.php is perfectly working as we have it on viigo, php5.... everything is ok, but that error is present.

How do i solve it?

kalliey 05-07-2009 09:21 PM

Hy thanks for this great Hack! :-)

I´ve only one problem, my letters Ö,Ü,Ä dont´t send to twitter, how can i fix this?

sevkotr 05-13-2009 12:59 PM

turkish characters can not be sent to twitter via this mod. is there anything which i can do to fix this?

i changed utf-8 to latin5 but did not worked.

just77me 05-14-2009 09:09 AM

i get many duplicate threads to twitter - whats going wrong there? if there is no solution - i have to uninstall this twitter tool because i dont want to flood twitter with duplicate content and delete ist manual.

any ideas?

thank you

Vanjezi 05-15-2009 03:34 PM

Can u make to all rss?

Its missing a lot threads posts

gordietbh 05-16-2009 05:27 PM

here is the code I've implemented to get around the duplicate issue.

The issue arose when the latest thread was not the current status of the twitter account, so I updated the code to search the entire feed page for the thread title. It now checks the contents of your twitter page and looks for a match with the title of the first item in the RSS feed, if it finds it it does not try to repost. If it does not find a match it will call the twitter API and submit the message.

I then had an issue where it was posting <![CDATA[thread title]]. I discovered that this only occurred when there was an apostrophe in the thread title, so I added a replace command to strip out the CDATA text.

There was also an issue where if your server did not receive a response from the twitter page in a timely fashion the script would not find a match for the latest title thread and would repost. I added a line in the script to search for your account name in the page, and if it finds it then call the twitter API. This ensures that there is no more double posting.

You need to replace the contents of the twitask.php file in the includes\cron folder with the script below. You need to replace the ACCOUNTNAME text in the line http://twitter.com/ACCOUNTNAME with the name of your twitter account. this needs to be in the same case as the account name appears on your twitter page.

PHP Code:

<?php
// vBulletin2Twitter Provided Via http://ahealthforum.com
// Inspiration from Reuqests and various free open source scripts
// twitask.php may not be reproduced without prior written permission
// See vbtotwitt.php for open source script usage
// 
// Set error status
error_reporting(E_ALL & ~E_NOTICE);

// Check database connection
if (!is_object($vbulletin->db))
{
    exit;
}
include_once(
'vbtotwitt.php');
$u $vbulletin->options['vb2twitter_u'];
$p $vbulletin->options['vb2twitter_p'];
$twurl 'http://twitter.com/statuses/update.xml';
$f $vbulletin->options['vb2twitter_f']; 
$rss = new lastRSS;
if (
$rs $rss->get($f)){
    
$title $rs[items][0][title];
    
$url $rs[items][0][link];
} else { die(
'Error: RSS file not found, dude.'); }

$title str_replace("<![CDATA[""""$title"); 
$title str_replace("]]>""""$title"); 
$title str_replace("&""and""$title"); 

$tiny_url =  file_get_contents("http://tinyurl.com/api-create.php?url=" $url);
$status $title " " $tiny_url;
echo 
$status//just for status if you are directly viewing the script

$twitterfeed file_get_contents("http://twitter.com/ACCOUNTNAME");

$stringtocheckfor $title;
if(
strstr($twitterfeed,$stringtocheckfor)) {
    echo 
"<br />status update already exists";
} else {

    
$accountstring $vbulletin->options['vb2twitter_u'];
    if(
strstr($twitterfeed,$accountstring)) {

        
$curl_handle curl_init();
        
curl_setopt($curl_handle,CURLOPT_URL,"$twurl");
        
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
        
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
        
curl_setopt($curl_handle,CURLOPT_POST,1);
        
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"status=$status");
        
curl_setopt($curl_handle,CURLOPT_USERPWD,"$u:$p");
        
$buffer curl_exec($curl_handle);
        
curl_close($curl_handle);
        if (empty(
$buffer)){echo '<br/>message';}else{echo '<br/>success';}
    
        
// log message
        
$logmsg 'Twitter Update';

        
// Output Log Status
        
log_cron_action($logmsg$nextitem);
    } else {
        echo 
'<br />twitter page not found';
    }
}


?>

If you have $cronimage in your footer template and have the twitter scheduled task set to run every minute each time a new thread is started the title will be updated. You will also need to set the refresh time on your RSS feed in vboptions to 0 if you want to ensure that every new thread is updated to your twitted feed. If the refresh time is 60 minutes you will only have the latest thread submitted every hour when the RSS cache is refreshed.

I've been running with the above script and options for the last several days and have eliminated the duplicate posting issues.


All times are GMT. The time now is 02:51 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01281 seconds
  • Memory Usage 1,772KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete