2010-11-26, 06:27 PM
2010-11-26, 06:36 PM
(2010-11-26, 06:25 PM)vbgamer45 Wrote: [ -> ]What's the feed url you are using?feed url:
http://careers.deloitte.com/united-state...ct=1&fs=11
Hi, I just installed RSS Feed Poster 1.5,
well, it did post new thread, but the post only shows a title and an html link,
the feed content is missing:
http://www.consultingcase101.com/forum/T...Consulting
http://www.consultingcase101.com/forum/T...Consulting
here is the original feed URL:
http://careers.deloitte.com/united-state...ct=1&fs=11
How can I fixed this problem?
Thanks!
2010-12-25, 01:51 PM
How can I remove the source link? Can you help me about it? I am not good at codes..
2010-12-26, 01:48 AM
(2010-12-25, 01:51 PM)scabboy Wrote: [ -> ]How can I remove the source link? Can you help me about it? I am not good at codes..
why do you want to do that? not willing to give credit to the author/source of the content you are pulling?
2010-12-26, 10:14 AM
i do not want to show it in evert messages.
2010-12-26, 11:52 AM
are you taking about the plugin author credits link or the feed source site's link that will be posted in the thread?
The content from the source site with few lines and asking to go to source website by displaying [Read More]
So when we click on read more, we will be directed to source site. Do you want to remove this read more source's website link in every rss post?
The content from the source site with few lines and asking to go to source website by displaying [Read More]
So when we click on read more, we will be directed to source site. Do you want to remove this read more source's website link in every rss post?
2010-12-26, 12:10 PM
There is no link as[read more]. there is just the link begining with http://....
how can i change the link as you wrote (Read More),instead of removing it.
how can i change the link as you wrote (Read More),instead of removing it.
2010-12-26, 12:39 PM
we need to modify ['link'] in task.php file to something like [ url='link']ReadMore...[/url ]
^^ this is not the actual code though.
^^ this is not the actual code though.
2010-12-27, 12:43 AM
Can you do it pls?
here is task file
here is task file
<?php
/*
RSS Feed Poster
by: vbgamer45
http://www.mybbhacks.com
Copyright 2010 MyBBHacks.com
############################################
License Information:
Links to http://www.mybbhacks.com must remain unless
branding free option is purchased.
#############################################
*/
$feedcount = 0;
$maxitemcount = 0;
$tag = '';
$tag_attrs = '';
$insideitem = false;
$depth = array();
function verify_rss_url($url)
{
global $txt, $depth;
// Rss Data storage
$finalrss = '';
$failed = true;
$fp2 = @fopen($url, "r");
if ($fp2)
{
$failed = false;
$contents = '';
while (!feof($fp2))
{
$contents .= fread($fp2, 8192);
}
fclose($fp2);
$finalrss = $contents;
}
if($failed == true)
{
$url_array = parse_url($url);
$fp = @fsockopen($url_array['host'], 80, $errno, $errstr, 30);
if (!$fp)
{
}
else
{
$failed = false;
$out = "GET " . $url_array['path'] . (@$url_array['query'] != '' ? '?' . $url_array['query'] : '') . " HTTP/1.1\r\n";
$out .= "Host: " . $url_array['host'] . "\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$rssdata = '';
$header = '';
// Remove stupid headers.
do
{
$header .= fgets ($fp, 128 );
} while ( strpos($header, "\r\n\r\n" ) === false );
while (!feof($fp))
{
$rssdata .= fgets($fp, 128);
}
fclose($fp);
@$finalrss = @$rssdata;
}
}
// Use cURL
if($failed == true)
{
if(function_exists("curl_init"))
{
$failed = false;
// Last but not least try cUrl
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL, and return output
$output = curl_exec($ch);
// close curl resource, and free up system resources
curl_close($ch);
return $output;
}
}
// XML Parser functions to verify the XML Feed
if($failed == false)
{
$depth = array();
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement2", "endElement2");
if (!xml_parse($xml_parser, $finalrss)) {
fatal_error(sprintf($txt['feedposter_err_xmlerror'],
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)), false);
}
xml_parser_free($xml_parser);
}
else
{
// We were not able to download the feed :(
}
}
function startElement2($parser, $name, $attrs)
{
global $depth;
$depth[$parser]++;
}
function endElement2($parser, $name)
{
global $depth;
$depth[$parser]--;
}
function UpdateRSSFeedBots($task)
{
global $db, $context, $feedcount, $maxitemcount, $insideitem, $tag, $tag_attrs;
// First get all the enabled bots
$context['feeds'] = array();
$request = $db->write_query("
SELECT
ID_FEED, fid, feedurl, title, postername, updatetime, enabled, html,
uid, locked, articlelink, topicprefix, numbertoimport, importevery, markasread
FROM ".TABLE_PREFIX."feedbot
WHERE enabled = 1");
while ($row = $db->fetch_array($request))
{
$context['feeds'][] = $row;
}
require_once MYBB_ROOT."inc/datahandlers/post.php";
// Check if a field expired
foreach ($context['feeds'] as $key => $feed)
{
$current_time = time();
// If the feedbot time to next import has expired
//add_task_log($task, "Check " . ($current_time + (60 * $feed['importevery'])) . " :" . $feed['updatetime']);
if ($current_time > $feed['updatetime'])
{
$feeddata = GetRSSData($feed['feedurl']);
if ($feeddata != false)
{
// Process the XML
$xml_parser = xml_parser_create();
$context['feeditems'] = array();
$feedcount = 0;
$maxitemcount = $feed['numbertoimport'];
$tag = '';
$tag_attrs = '';
$insideitem = false;
$context['feeditems'][0] = array();
$context['feeditems'][0][] = array();
$context['feeditems'][0]['title'] = '';
$context['feeditems'][0]['description'] = '';
$context['feeditems'][0]['link'] = '';
xml_set_element_handler($xml_parser, "startElement1", "endElement1");
xml_set_character_data_handler($xml_parser, "characterData1");
if (!xml_parse($xml_parser, $feeddata))
{
// Error reading xml data
xml_parser_free($xml_parser);
}
else
{
// Data must be valid lets extra some information from it
// RSS Feeds are a list of items that might contain title, description, and link
// Free the xml parser memory
xml_parser_free($xml_parser);
// Loop though all the items
$myfeedcount = 0;
for ($i = 0; $i < ($feedcount); $i++)
{
if ($myfeedcount >= $maxitemcount)
{
continue;
}
//add_task_log($task, "NotSkip: $myfeedcount : $maxitemcount : $feedcount T:" . $context['feeditems'][$i]['title']);
// Check feed Log
// Generate the hash for the log
if(!isset($context['feeditems'][$i]['title']) || !isset($context['feeditems'][$i]['description']))
continue;
if(empty($context['feeditems'][$i]['title']) && empty($context['feeditems'][$i]['description']))
continue;
$itemhash = md5($context['feeditems'][$i]['title'] . $context['feeditems'][$i]['description']);
$request = $db->write_query("
SELECT
feedtime
FROM ".TABLE_PREFIX."feedbot_log
WHERE feedhash = '$itemhash'");
// If no has has found that means no duplicate entry
if ($db->num_rows($request) == 0)
{
// Create the Post
$msg_title = ($feed['html'] ? $context['feeditems'][$i]['title'] : strip_tags($context['feeditems'][$i]['title']));
$msg_body = ($feed['html'] ? $context['feeditems'][$i]['description'] . "\n\n" . $context['feeditems'][$i]['link'] : strip_tags($context['feeditems'][$i]['description'] . "\n\n" . $context['feeditems'][$i]['link']));
$posthandler = new PostDataHandler("insert");
$posthandler->action = "thread";
if (strlen($msg_title) > 120)
$msg_title = substr($msg_title,0,115);
$msg_title = trim($msg_title);
$new_thread = array(
"fid" => $feed['fid'],
"subject" => $feed['topicprefix'] . $msg_title,
"icon" => '',
"uid" => $feed['uid'],
"username" => $feed['postername'],
"message" => '[b]' . $msg_title . "[/b]\n\n" . $msg_body,
"ipaddress" => '127.0.0.1',
"posthash" => ''
);
$new_thread['modoptions'] = array('closethread' => $feed['locked']);
$posthandler->set_data($new_thread);
$valid_thread = $posthandler->validate_thread();
if(!$valid_thread)
{
$post_errors = $posthandler->get_friendly_errors();
}
else
$thread_info = $posthandler->insert_thread();
$tid = (int) $thread_info['tid'];
$pid = (int) $thread_info['pid'];
if ($feed['markasread'])
{
// Mark thread as read
require_once MYBB_ROOT."inc/functions_indicators.php";
mark_thread_read($tid, $feed['fid']);
}
// Add Feed Log
$fid = $feed['ID_FEED'];
$ftime = time();
$db->write_query("
INSERT INTO ".TABLE_PREFIX."feedbot_log
(ID_FEED, feedhash, feedtime, tid, pid)
VALUES
($fid,'$itemhash',$ftime,$tid,$pid)");
$myfeedcount++;
}
}
} // End valid XML check
} // End get feed data
// Set the RSS Feed Update time
$updatetime = time() + (60 * $feed['importevery']);
$db->write_query("
UPDATE ".TABLE_PREFIX."feedbot
SET
updatetime = '$updatetime'
WHERE ID_FEED = " . $feed['ID_FEED']);
} // End expire check
} // End for each feed
}
function GetRSSData($url)
{
$url_array = parse_url($url);
$fp2 = @fopen($url, "r");
if ($fp2)
{
$contents = '';
while (!feof($fp2))
{
$contents .= fread($fp2, 8192);
}
fclose($fp2);
return $contents;
}
$fp = fsockopen($url_array['host'], 80, $errno, $errstr, 30);
if (!$fp)
{
}
else
{
$out = "GET " . $url_array['path'] . (@$url_array['query'] != '' ? '?' . $url_array['query'] : '') . " HTTP/1.1\r\n";
$out .= "Host: " . $url_array['host'] . "\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$rssdata = '';
$header = '';
// Remove stupid headers.
do
{
$header .= fgets ($fp, 128 );
} while ( strpos($header, "\r\n\r\n" ) === false );
while (!feof($fp))
{
$rssdata .= fgets($fp, 128);
}
fclose($fp);
$finalrss = $rssdata;
return $finalrss;
}
if(function_exists("curl_init"))
{
// Last but not least try cUrl
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL, and return output
$output = curl_exec($ch);
// close curl resource, and free up system resources
curl_close($ch);
return $output;
}
// Failure return false
return false;
}
function startElement1($parser, $name, $attrs)
{
global $insideitem, $tag, $tag_attrs;
if ($insideitem)
{
$tag = $name;
$tag_attrs = $attrs;
}
elseif ($name == "ITEM" || $name == "ENTRY")
{
$insideitem = true;
}
}
function endElement1($parser, $name)
{
global $insideitem, $tag, $feedcount, $context, $tag_attrs;
if ($name == "ITEM" || $name == "ENTRY")
{
$feedcount++;
$context['feeditems'][$feedcount] = array();
$context['feeditems'][$feedcount][] = array();
$context['feeditems'][$feedcount]['title'] = '';
$context['feeditems'][$feedcount]['description'] = '';
$context['feeditems'][$feedcount]['link'] = '';
$tag_attrs = '';
$insideitem = false;
}
}
function characterData1($parser, $data)
{
global $insideitem, $tag, $feedcount, $context, $maxitemcount, $tag_attrs;
if ($insideitem )
{
switch ($tag)
{
case "TITLE":
$context['feeditems'][$feedcount]['title'] .= $data;
break;
case "DESCRIPTION":
$context['feeditems'][$feedcount]['description'] .= $data;
break;
case "LINK":
$context['feeditems'][$feedcount]['link'] .= $data;
break;
case "SUMMARY":
$context['feeditems'][$feedcount]['description'] .= $data;
break;
case "CONTENT":
$context['feeditems'][$feedcount]['description'] .= $data;
break;
case "LINK":
$data = trim($data);
$context['feeditems'][$feedcount]['link'] .= $data;
IF (empty($data) && isset($tag_attrs['HREF']))
$context['feeditems'][$feedcount]['link'] .= $tag_attrs['HREF'];
break;
}
}
}
function task_rssfeedposter($task)
{
global $lang;
$lang->load('rssfeedposter');
UpdateRSSFeedBots($task);
add_task_log($task, $lang->rssfeedposter_taskran);
}
?>
2011-01-01, 08:13 AM
for some reason when the articles post into the forum, it wraps them in a <div> as seen here:
<div id='article_intro_f2p'>District Judge Richard L. Reeser said he looks at some of the judges on Lancaster County's bench and smiles.
"I can remember when some of them were young lawyers arguing traffic cases before me."
Those judges, along with the rest of the Lancaster County judiciary, honored Reeser earlier this month...</div>
link-
http://paforliberty.com/forum/thread-lon...his-career
it's doing it for every thread it posts:
http://paforliberty.com/forum/forum-pennsylvania-news
<div id='article_intro_f2p'>District Judge Richard L. Reeser said he looks at some of the judges on Lancaster County's bench and smiles.
"I can remember when some of them were young lawyers arguing traffic cases before me."
Those judges, along with the rest of the Lancaster County judiciary, honored Reeser earlier this month...</div>
link-
http://paforliberty.com/forum/thread-lon...his-career
it's doing it for every thread it posts:
http://paforliberty.com/forum/forum-pennsylvania-news