Registrierung
Suche
Häufig gestellte Fragen
godlike's board Zur Startseite
Teammitglieder
Mitgliederliste
Kalender
 
godlike's board » Hardware, Software, Internet, Games & Co » Webdesign & Programmiersprachen » RSS-Bot » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
 
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen RSS-Bot
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
 

Todeskakerlake

images/avatars/avatar-189.gif

Rang: Supermega Kaisergott
Posts: 6
Dabei seit: 13.03.2009

Todeskakerlake ist offline
RSS-Bot Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Servus, Grüß Euch,


Zuerst möcht ich mal sagen, dass ich euer Forum/bzw. das Design eures Forums sehr geil finde. Gefällt mir sehr gut!

Also, bin über G00gle auf eure Site gestoßen....^.... es jetzt geht darum, dass ihr hier im Forum einen RSS-Bot verwendet, welcher externe RSS auslesen kann, und automatisch im Forum postet.
Hab jetzt schon wirklich lange danach gegoogelt, wo ich ebenfalls eine solche Erweiterung herbekommen kann, jedoch hab ich nur ein paar andere Seiten gefunden, welche diese Erweiterung ebenfalls verwenden....:-)

Deshalb wollte ich fragen, ob ihr noch wisst, woher ihr diesen RSS-Bot habt, bzw. von welcher wBB-Site ihr den gedownloadet habt... würde den nämlich auch gebrauchen können, finde den allerdings nirgendwo zum Download...

Naja, jedenfalls wärs es urnett und hilfreich wenn ihr mir weiterhelfen könntet!

Grüße, baba, Eure Lieblingskakerlake
14.03.2009 13:56 E-Mail an Todeskakerlake senden Homepage von Todeskakerlake Beiträge von Todeskakerlake suchen Nehmen Sie Todeskakerlake in Ihre Freundesliste auf
 

godlike

images/avatars/avatar-186.gif

Rang: Gastronaut
Posts: 5.997
Dabei seit: 15.05.2003

godlike ist offline
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi Todeskakerlake,

klar helfe ich gerne weiter. Ich hänge dir einfach die Datei an mein Posting. Diese öffnest du und änderst sie soweit ab das es auf dein / euer Forum passt. Danach lädst du die php Datei auf deinen Webspace und führst diese aus. Im Normalfall werden die News dann im entsprechenden Unterforum gepostet. Wenn was nicht klappt einfach nochmal hier melden ...

Bzw. ich verschieb das hier mal in ein passenderes Forum ...

Gruss godlike

Dateianhang:
rar rssnewsscript.rar (2 KB, 125 mal heruntergeladen)


__________________
. : | Superbia | Avaritia | Invidia | Ira | Luxuria | Gula | Acedia | : .

14.03.2009 14:06 E-Mail an godlike senden Homepage von godlike Beiträge von godlike suchen Nehmen Sie godlike in Ihre Freundesliste auf Fügen Sie godlike in Ihre Kontaktliste ein
 

mlkzander

Rang: Newbie
Posts: 1
Dabei seit: 28.03.2010

mlkzander ist offline
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi Jungs,
erstmal danke für das Script und die tollen Infos hier auf der Seite.
Ich habe das Script am laufen und stark modifiziert.

Leider postet der Bot den jeweils letzten Post im RSS Feed immer wieder,
so oft ich den Bot über den CronJob laufen lasse, wird gepostet.

Die mehrfach Einträge in die DB konnte ich durch ein Unique in der Spalte "tiltle"
vermeiden. Allerdings muss ich dann das Db querry mit INSERT IGNORE INTO
abarbeiten, sonst bricht das Script mit einer Fehlermeldung ab.

Also gibt es nun in der DB schon mal keine mehrfacheinträge mehr.
Allerdings postet der Bot wie gesagt den jeweils letzten Eintrag unendlich oft.

Hier mal der Code des stark geänderten Scripts:

<?PHP
header("Content-Type: text/html; charset=utf-8");

/*
* (C) 2005 CoderCrew
* http://www.CoderCrew.org
* info@CoderCrew.org
*/

//include
require("global.php");

//configuration

//boardid of the board in which we want to post our RSSImport
$boardid = 131;

//userid of the poster (0 eq GUEST)
$uid = 0;

//if $uid != 0 then the nick of the user with $uid else any nick.
$uname = "Team-Saarwaller";

//add your rssurls here - just 2 examples:
$sites[] = "http://www.sms2box.de/ticker/rss.php?tickerid=646";

print '*** ['.date("d.m.Y H:i").'] Starting script...';
print "\n";
print '*** ['.date("d.m.Y H:i").'] UID->'.$uid.'';
print "\n";
print '*** ['.date("d.m.Y H:i").'] UNAME->'.$uname.'';
print "\n";
print '*** ['.date("d.m.Y H:i").'] BOARDID->'.$boardid.'';
print "\n";
print '*** ['.date("d.m.Y H:i").'] SITESCONT->'.count(sites).'';
print "\n";

$time = time();
for($s = 0;$s < count($sites); $s++){
preg_match("/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",$sites[$s],$input[1]);
$urlsplit = split("/",$input[1][3]);

print '*** ['.date("d.m.Y H:i").'] sites['.$s.'] = '.$urlsplit[0].'';
print "\n";

$content = implode("",file($sites[$s]));
preg_match_all("/\<item\>(.*?)\<\/item\>/si", $content, $results);

for($i = 0;$i < count($results[1]);$i++) {
preg_match("/\<link\>(.*?)\<\/link\>/si", $results[1][$i], $link);
preg_match("/\<title\>(.*?)\<\/title\>/si", $results[1][$i], $title);
preg_match("/\<description\>(.*?)\<\/description\>/si", $results[1][$i], $desc);
preg_match("/\<pubDate\>(.*?)\<\/pubDate\>/si", $results[1][$i], $date);

$link = $link[1];
$title = $title[1];
$desc = $desc[1];
$date = $date[1];

$check = $db->query("SELECT id ,title FROM bb".$n."_rss WHERE title = '".addslashes($title)."'");
if($db->num_rows($check) == 0){
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");


$db->query("INSERT IGNORE INTO`bb".$n."_rss` ( `id` , `from` , `title` , `link` , `description` ) VALUES ('', '".$s."', '".addslashes($title)."', '".addslashes($link)."', '".addslashes($desc)."')");


if(!empty($date)) $news[$s][$i]['date'] = substr($date,0,strlen($date)-6);
$news[$s][$i]['link'] = $link;
$news[$s][$i]['title'] = $title;
$news[$s][$i]['desc'] = $desc;
if(!$news[$s]['name']) $news[$s]['name'] = $urlsplit[0];

print '*** ['.date("d.m.Y H:i").'] DB->INSERT('.$title.')';
print "\n";
} else {
print '*** ['.date("d.m.Y H:i").'] DB->EXISTS('.$title.')';
print "\n";
}
}
}

for($i = 0;$i < count($news);$i++){
$newstopic[$i] = " neue SMS eingegangen [".date("d.m.Y H:i")."]";
for($a = 0;$a < count($news[$i]);$a++){
if(!empty($news[$i][$a]['date'])) $newstext[$i] .= "".$news[$i][$a]['']." ".$news[$i][$a]['link']."".$news[$i][$a]['title']."\n";
else if(!empty($news[$i][$a]['title'])) $newstext[$i] .= "» ".$news[$i][$a]['link']."".$news[$i][$a]['title']."\n";

if(!empty($news[$i][$a]['desc'])) $newstext[$i] .= "".$news[$i][$a]['desc']."\n\n";
}

$newstext[$i] .= "\n\n";


$newstext[$i] .= "Dieser Beitrag wurde automatisch erstellt.";
}
for($i = 0;$i < count($newstext);$i++){
$db->query("INSERT INTO bb".$n."_threads (boardid,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid
,lastposter,closed,attachments,pollid,important,visible) VALUES ('".$boardid."','".addslashes($newstopic[$i])."','3','".$time."','".$uid."'
,'".addslashes($uname)."','".$time."','".$uid."','".addslashes($uname)."','
0','0','0','0','1')");
$threadid = $db->insert_id();
print '*** ['.date("d.m.Y H:i").'] DB->CREATE_THRED('.$threadid.'->'.$newstopic[$i].')';
print "\n";


$db->unbuffered_query("UPDATE bb".$n."_stats SET threadcount=threadcount+1", 1);
print '*** ['.date("d.m.Y H:i").'] DB->UPDATE_GLOBAL_THREADCOUNT';
print "\n";

$db->query("INSERT INTO bb".$n."_posts (parentpostid,threadid,userid,username,iconid,posttopic,posttime,message,at
tachments,allowsmilies,allowhtml,allowbbcode,allowimages,showsignature,ipad
dress,visible) VALUES "."('0','".$threadid."','".$uid."','".addslashes($uname)."','3','".addslash
es($newstopic[$i])."','".$time."','".addslashes($newstext[$i])."','0','0','
0','1','0','0','127.0.0.1','1')");
$postid = $db->insert_id();
print '*** ['.date("d.m.Y H:i").'] DB->CREATE_POST('.$threadid.'->'.$postid.')';
print "\n";

$db->unbuffered_query("UPDATE bb".$n."_stats SET postcount=postcount+1", 1);
print '*** ['.date("d.m.Y H:i").'] DB->UPDATE_GLOBAL_POSTCOUNT';
print "\n";

$db->unbuffered_query("UPDATE bb".$n."_boards SET threadcount=threadcount+1, postcount=postcount+1, lastthreadid='".$threadid."', lastposttime='".$time."', lastposterid='".$uid."', lastposter='".addslashes($uname)."' WHERE boardid IN (".$boardid.")", 1);
print '*** ['.date("d.m.Y H:i").'] DB->UPDATE_BOARD('.$boardid.')';
print "\n";
}
?>
28.03.2010 13:17 E-Mail an mlkzander senden Beiträge von mlkzander suchen Nehmen Sie mlkzander in Ihre Freundesliste auf
 

godlike

images/avatars/avatar-186.gif

Rang: Gastronaut
Posts: 5.997
Dabei seit: 15.05.2003

godlike ist offline
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi und sorry das ich mich jetzt erst melde. Habe dein abgeändertes Script lange angesehen aber ich finde eigentlich keinen Fehler. Bekommst du sonst Fehler vom Script oder sind die doppelten Einträge die einzigen?

Wo hast du denn genau was verändert? Vermute es wird an einer while-Schleife hängen ... oder an einer if Abfrage die doppelt TRUE ergibt ...

Gruss godlike

__________________
. : | Superbia | Avaritia | Invidia | Ira | Luxuria | Gula | Acedia | : .

06.04.2010 16:20 E-Mail an godlike senden Homepage von godlike Beiträge von godlike suchen Nehmen Sie godlike in Ihre Freundesliste auf Fügen Sie godlike in Ihre Kontaktliste ein
 
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
 
godlike's board » Hardware, Software, Internet, Games & Co » Webdesign & Programmiersprachen » RSS-Bot

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH

Design: © 2006 B. Scheuert, exclusiv für das godlike's board, Valid XHTML 1.0