Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Ich habe eben den von meinem Forum erstellen RSS Feed mal durch einen Validator laufen lassen:
Zitat:author must include an email address
Ich habe mir also die rss.php mal angeguckt und folgende Zeile gefunden: PHP-Code: <author>".$thread['username']."</author>
Welche Variable muss ich für die E-Mail Adresse hinzufügen?
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Hallo Mak,
Du solltest nutzen können, da ein Query, die gesamte userspalte selectiert.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Ähm, ist das so richtig?
PHP-Code: <author>".$thread['username'].$thread['email']."</author>
Falls ja - es wird nur der Name, keine Adresse angezeigt. Aber ist sowieso falsch, meine php Kenntnisse belaufen sich auf das Benutzen von "echo" =)
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
07.05.2006, 10:58
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2006, 11:10 von Garlant.)
Ich habe mir das gerade noch einmal angeschaut und frage mich gerade, wo ich das users gesehen habe. Scheine mich verschaut zu haben...
Ich werde dir gleich die Änderung des querys hier her schreiben, einen Moment bitte.
Edit:
Ungetestet!:
suche:
PHP-Code: $query = $db->query("SELECT t.*, f.name AS forumname, p.message AS postmessage FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost) WHERE 1=1 $forumlist $unviewable AND t.visible='1' ORDER BY t.dateline DESC LIMIT 0, ".$mybb->input['limit']);
ersetze mit:
PHP-Code: $query = $db->query("SELECT t.*, f.name AS forumname, p.uid, p.message AS postmessage, u.uid, u.email as usermail FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost) LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) WHERE 1=1 $forumlist $unviewable AND t.visible='1' ORDER BY t.dateline DESC LIMIT 0, ".$mybb->input['limit']);
suche:
PHP-Code: $pubdate = mydate("r", $thread['dateline'], "", 0);
füge darunter ein:
PHP-Code: $thread['usermail'] = htmlspecialchars_uni($thread['usermail']);
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Beachte aber auch, dass nicht jeder seine E-Mail-Adresse per Newsfeed im Internet verbreiten möchte.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
07.05.2006, 11:25
(Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2006, 11:26 von Mak.)
Nee, klappt nicht. Ändert an der Anzeige garnichts
Aber irgendwie hat Michael recht damit. Müsste man irgendwie so ändern, dass man das in einem Profilfeld einstellen kann... Aber erstmal so hinkriegen, dann schauen wir weiter
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Ok, dann Kommando zurück.
Stelle bitte den Orginalzustand wieder her.
Nun suche bitte Zeille 85-126:
PHP-Code: $query = $db->query("SELECT t.*, f.name AS forumname, p.message AS postmessage FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost) WHERE 1=1 $forumlist $unviewable AND t.visible='1' ORDER BY t.dateline DESC LIMIT 0, ".$mybb->input['limit']); while($thread = $db->fetch_array($query)) { $thread['subject'] = htmlspecialchars_uni($thread['subject']); $thread['forumname'] = htmlspecialchars_uni($thread['forumname']); $postdate = mydate($mybb->settings['dateformat'], $thread['dateline'], "", 0); $posttime = mydate($mybb->settings['timeformat'], $thread['dateline'], "", 0); $thread['postmessage'] = nl2br(htmlspecialchars_uni($thread['postmessage'])); $pubdate = mydate("r", $thread['dateline'], "", 0); switch($mybb->input['type']) { case "rss2.0"; echo "\t\t<item>\n"; echo "\t\t\t<guid>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</guid>\n"; echo "\t\t\t<title>".$thread['subject']."</title>\n"; echo "\t\t\t<author>".$thread['username']."</author>\n"; $description = htmlspecialchars($lang->forum." ".$thread['forumname']."\r\n<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime); if($thread['postmessage']) { $description .= "\n<br />".$thread['postmessage']; } echo "\t\t\t<description><![CDATA[".$description."]]></description>"; echo "\t\t\t<link>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</link>\n"; echo "\t\t\t<category domain=\"".$mybb->settings['bburl']."/forumdisplay.php?fid=".$thread['fid']."\">".$thread['forumname']."</category>\n"; echo "\t\t\t<pubDate>".$pubdate."</pubDate>\n"; echo "\t\t</item>\n"; break; default: echo "\t\t<item>\n"; echo "\t\t\t<title>".$thread['subject']."</title>\n"; echo "\t\t\t<author>".$thread['username']."</author>\n"; $description = htmlspecialchars($lang->forum." ".$thread['forumname']."\r\n<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime); if($thread['postmessage']) { $description .= "\n<br />".$thread['postmessage']; } echo "\t\t\t<description><![CDATA[".$description."]]></description>"; echo "\t\t\t<link>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</link>\n"; echo "\t\t</item>\n"; break; } }
und ersetze es durch:
PHP-Code: $query = $db->query("SELECT t.*, f.name AS forumname, p.pid, p.message AS postmessage FROM ".TABLE_PREFIX."threads t LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=t.fid) LEFT JOIN ".TABLE_PREFIX."posts p ON (p.pid=t.firstpost) WHERE 1=1 $forumlist $unviewable AND t.visible='1' ORDER BY t.dateline DESC LIMIT 0, ".$mybb->input['limit']); while($thread = $db->fetch_array($query)) { $thread['subject'] = htmlspecialchars_uni($thread['subject']); $thread['forumname'] = htmlspecialchars_uni($thread['forumname']); $postdate = mydate($mybb->settings['dateformat'], $thread['dateline'], "", 0); $posttime = mydate($mybb->settings['timeformat'], $thread['dateline'], "", 0); $thread['postmessage'] = nl2br(htmlspecialchars_uni($thread['postmessage'])); $pubdate = mydate("r", $thread['dateline'], "", 0); $user_query = $db->query("SELECT uid,email FROM ".TABLE_PREFIX."users WHERE uid='".$thread['pid']."'"); while($user = $db->fetch_array($user_query)) { switch($mybb->input['type']) { case "rss2.0"; echo "\t\t<item>\n"; echo "\t\t\t<guid>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</guid>\n"; echo "\t\t\t<title>".$thread['subject']."</title>\n"; echo "\t\t\t<author>".$thread['username']." ".$user['email']."</author>\n"; $description = htmlspecialchars($lang->forum." ".$thread['forumname']."\r\n<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime); if($thread['postmessage']) { $description .= "\n<br />".$thread['postmessage']; } echo "\t\t\t<description><![CDATA[".$description."]]></description>"; echo "\t\t\t<link>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</link>\n"; echo "\t\t\t<category domain=\"".$mybb->settings['bburl']."/forumdisplay.php?fid=".$thread['fid']."\">".$thread['forumname']."</category>\n"; echo "\t\t\t<pubDate>".$pubdate."</pubDate>\n"; echo "\t\t</item>\n"; break; default: echo "\t\t<item>\n"; echo "\t\t\t<title>".$thread['subject']."</title>\n"; echo "\t\t\t<author>".$thread['username']."</author>\n"; $description = htmlspecialchars($lang->forum." ".$thread['forumname']."\r\n<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime); if($thread['postmessage']) { $description .= "\n<br />".$thread['postmessage']; } echo "\t\t\t<description><![CDATA[".$description."]]></description>"; echo "\t\t\t<link>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</link>\n"; echo "\t\t</item>\n"; break; } } }
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Jetzt wird die E-Mail zwar im 2.0 angezeigt, aber im RSS 0.92 nicht... Aber danke schonmal!
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
Ok, den default Fall habe ich wohl vergessen/übersehen (bin heute wohl etwas schusselig )
Suche bitte in Zeile 118:
PHP-Code: echo "ttt<author>".$thread['username']."</author>n";
und ersetzte es mit:
PHP-Code: echo "ttt<author>".$thread['username']." ".$user['email']."</author>n";
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Jo, jetzt gehts. Man kann doch bestimmt noch eine kleine If-Abfrage mit einem profilfeld einbauen? Nur wenn der User es erlaubt wird seine E-Mail Adresse angezeigt. Geht das irgendwie?
|