MyBB.de Forum
RSS-Feed mit E-Mail Adresse? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: RSS-Feed mit E-Mail Adresse? (/thread-1969.html)

Seiten: Seiten: 1 2 3 4


RSS-Feed mit E-Mail Adresse? - Mak - 07.05.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?


RE: RSS-Feed mit E-Mail Adresse? - Garlant - 07.05.2006

Hallo Mak,
Du solltest
PHP-Code:
$thread['email'
nutzen können, da ein Query, die gesamte userspalte selectiert.

Mfg Garlant


RE: RSS-Feed mit E-Mail Adresse? - Mak - 07.05.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" =)


RE: RSS-Feed mit E-Mail Adresse? - Garlant - 07.05.2006

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']); 



RE: RSS-Feed mit E-Mail Adresse? - Michael - 07.05.2006

Beachte aber auch, dass nicht jeder seine E-Mail-Adresse per Newsfeed im Internet verbreiten möchte.


RE: RSS-Feed mit E-Mail Adresse? - Mak - 07.05.2006

Nee, klappt nicht. Ändert an der Anzeige garnichts Sad
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 Smile


RE: RSS-Feed mit E-Mail Adresse? - Garlant - 07.05.2006

Ok, dann Kommando zurück. Wink
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']."&amp;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']."&amp;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']."&amp;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']."&amp;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']."&amp;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']."&amp;action=newpost</link>\n";
                echo 
"\t\t</item>\n";
                break;
        }
    }




RE: RSS-Feed mit E-Mail Adresse? - Mak - 07.05.2006

Jetzt wird die E-Mail zwar im 2.0 angezeigt, aber im RSS 0.92 nicht... Aber danke schonmal!


RE: RSS-Feed mit E-Mail Adresse? - Garlant - 07.05.2006

Ok, den default Fall habe ich wohl vergessen/übersehen (bin heute wohl etwas schusselig Big Grin)

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"



RE: RSS-Feed mit E-Mail Adresse? - Mak - 07.05.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?