HOWTO: rssfeed und rssfeed2thread v2

Liddll
Zitat:
Original von sys2064
Hab eben mal beides ausprobiert auch zusammen ich kriege das einfach nicht hin.
Bei dem einen problemlos bei dem anderen hopfen und malz verloren.
Gulli konnte ich gar nicht erst testen weil ich nochnichtmal die richtige feedadresse habe. unglücklich

Siehe Anhang... geschockt verwirrt


probiers einfach mal mit den Funktionen:

php:
1:
utf8_decode


und / oder

php:
1:
htmlspecialchars_decode



achja: nen guten Parser gibts hier: http://pear.php.net/package/XML_RSS
der sollte bei PHP eigentlich standartmässig installiert sein

hab mir mit dem selber nen RSS-Bot gebastelt, der kann wenigstens RSS2.0 sauber auslesen Augenzwinkern
sys2064
Sorry CSchulle und Liddll

Erstmal thx für eure Hilfe ... villeicht bwirkt die bei dem einen oder anderen etwas auf dem Server bei mir tut sich da leider nix.
Ich glaube ich werfe bei dem Hack das Handtuch.
Schade die Golem und Gullinews wären eine nette Sache im Forum gewesen.

Trotzdem nochmals thx smile

lg Ralf
mormos
so hallo

nun da dieser hack nun läuft bei mir wollte ich mal wissen wei ich das machen kann das ich mehrer news von verschieden seiten in mein forum in verschiedene bereiche schreiben lassen kann
boleros
@ mornos:

Um verschiedene Threads in unterschiedliche Foren zu bekommen, leg einfach die beiden Dateien unter nem anderen Namen nochmal an und ändere in rss_anderenews.inc.php die URL, die ausgelesen werden soll und das Ziel. Dann änderst du noch in der rss_anderenews.php die Zeile 8 und änderst sie in rss_anderenews.inc.php. Funzt einwandfrei!

Schöne Grüße
boleros
Hajö
Hallo zusammen,

schade, dass dieses Thema so eingeschlafen ist! unglücklich

Daher an die Experten eine Frage und der Versuch das Thema wieder zu beleben... Augenzwinkern

Meine Frage wurde auch schon gestellt, aber leider noch nicht beantwortet.

Ist es möglich dem rssfeed2thread bei zu bringen, dass eben bei jedem neuen Eintrag ein neues Thema erstellt wird und nicht nur ein neuer Beitrag in einem Thema??? Wäre super wichtig für mich!

Hoffe es kann mir einer von Euch an dem Punkt weiterhelfen.

Gruß
Hajö smile
AngelOfMine
Zitat:
Original von X-Trancer
So ich habs nun zum laufen bekommen

Nu hab ich eine Frage

Wie kann ich verschiedene newsfeeds in verschiedenen Foren machen?

Zum Beispiel

Im Forum News Inet und PC lauft im Moment das Script mit heise und Golem feed

Nun möchte ich in einem anderen Forum andere news haben mit anderen Seiten

Wie geht das?

Muss ich das Script kopieren oder gibts da ein Code dafür?


Würde mich auch brennend interesseiren. Weiß jemand Rat?
Terror
Zitat:
Original von AngelOfMine
Zitat:
Original von X-Trancer
So ich habs nun zum laufen bekommen

Nu hab ich eine Frage

Wie kann ich verschiedene newsfeeds in verschiedenen Foren machen?

Zum Beispiel

Im Forum News Inet und PC lauft im Moment das Script mit heise und Golem feed

Nun möchte ich in einem anderen Forum andere news haben mit anderen Seiten

Wie geht das?

Muss ich das Script kopieren oder gibts da ein Code dafür?


Würde mich auch brennend interesseiren. Weiß jemand Rat?


hast es erfasst, mehrere scripts mit verschiedenen namen und daten anlegen und die mit individuellen crons aufrufen, hatte ich damals auch.
proeditor
omg ich hab noch den gaaaanz alten von Helga intus fröhlich

Die genannten Features klingen super verlockend, kann eventuelll jemand der "Tester" nen kurzen Statusbericht abgeben, wie es mit der Lauffähigkeit des Addons steht? Screenshot eventuell? Ne, so nicht!

Edit: Hab mich jetzt mal durch den Thread gekämpft und ehrlich gesagt, kannste das Ding jederzeit in die Tonne kloppen. Da weiß doch kein Mensch mehr was Sache ist. 1 Million Bugs, wozu Threads erstellen? Und überhaupt und so^^ Beim ersten lesen war ich positiv überrascht, aber das Ergebnis ist mal keinen Cent wert. Eigentlich müsste man dich für so nen Hack hauen, schon alleine weil man sich erstmal 30 Minuten Code zusammensuchen muss, bis man merkt, dass nur die Hälfte geht... Völliger Griff ins Klo
foruni.de
Nach mehreren Stunden werde ich jetzt wohl auch aufgeben:

Nach einigen Versuchen kommt nicht mehr als das hier heraus:
http://pics.foruni.de/getimg/rss2thread.jpg

Sollte jemand über eine adäquate Lösung des Umlaute Problems verfügen, würde ich mich über eine kurze Rückmeldung freuen.

Lg
Nazan
Kann mir mal einer verraten, warum der mir die Umlaute nicht richtig anzeigt?
cooler
gibt es hier schonmal was neues ob jemand Ihn zum laufen bekommen hat und dann wie
LyCaNtRoP
Zitat:
Original von cooler
gibt es hier schonmal was neues ob jemand Ihn zum laufen bekommen hat und dann wie




Also ich hab mir so ein Script anders gebaut :

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
#!/usr/bin/php<br />
<?PHP


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


// BoardID wo das RSS gepostet werden soll
$boardid = 113;             

// UserID des "Posters"
$uid = 770;                      

// Falls $uid != 0 dann Username des "Posters"
$uname = "Fritz";         

// Hier kommt dann die RSS URL rein.

$sites[] = "http://rss.golem.de/rss.php?tp=inet&feed=RSS2.0";

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){ 

            $db->query("INSERT 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->INERSRT('.$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] = "".$news[$i]['name']." - News [".date("d.m.Y H:i")."]";

    for($a = 0;$a < count($news[$i]);$a++){

        if(!empty($news[$i][$a]['date'])) $newstext[$i] .= "[i][".$news[$i][$a]['date']."][/i] [b]» [URL=".$news[$i][$a]['link']."]".$news[$i][$a]['title']."[/URL][/b]\n";

        else if(!empty($news[$i][$a]['title'])) $newstext[$i] .= "[b]» [URL=".$news[$i][$a]['link']."]".$news[$i][$a]['title']."[/URL][/b]\n";



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

    }



    $newstext[$i] .= "\n[i]Quelle: [URL=http://".$news[$i]['name']."]".$news[$i]['name']."[/URL][/i]\n\n";



    $newstext[$i] .= "[b]Dieser Beitrag wurde automatisch erstellt.[/b]";

}

for($i = 0;$i < count($newstext);$i++){

    $db->query("INSERT INTO bb".$n."_threads (threadid,boardid,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid,lastposter,pollid,important,visible,prefix,thx) VALUES (NULL,'".$boardid."','".addslashes($newstopic[$i])."','3','".$time."','".$uid."','".addslashes($uname)."','".$time."','".$uid."','".addslashes($uname)."','0','0','1','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 (postid,threadid,userid,username,iconid,posttopic,posttime,message,allowsmilies,showsignature,ipaddress,visible) VALUES "."(NULL,'".$threadid."','".$uid."','".addslashes($uname)."','3','".addslashes($newstopic[$i])."','".$time."','".addslashes($newstext[$i])."','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";

}        

?>


Das Script dann als rss.php ins Stammverzeichnis rein und den DB Eintrag aufbauen.
Für nen Bastler müsste das aber relativ einfach gehen - habs auch hinbekommen...

Damit es automatisch funktioniert kann man am besten das ganze über nen Cronjob laufen lassen.
Ich hab damit mehrere Feeds zu unterschiedlichen Zeiten laufen und klappt hervorragend!

Die "Zensurfunktion" im ACP solltet ihr mit folgender Liste erweitern:
ä=ä
ü=ü
ö=ö
Ä=Ä
Ü=Ü
Ö=Ö
ß=ß
&gt;=>
&lt;=<

Dann sieht es auch sehr ansprechend aus :-)


####################
EDIT: Hab erst jetzt gesehen, daß sich dieser Thread nicht auf das wbblite
bezieht! Meine Modifikation bezieht sich lediglich auf das wbblite 1.0.2
Könnte das evtl. ein Mod/Admin löschen oder verschieben?
####################