07.05.2006, 14:15
Ersetze bitte vom Query in Zeile 85 bis zur abschließenden Klammer (Die drei Klamern hintereinander ca. Zeile 140) mit diesem Code:
Bitte führe auch diese Querys im phpmyadmin, in der sqlkonsole aus
(Vorher dein ersteltes fid4 bitte löschen!):
Bitte testen und melden, wenn ich einen Fall vergessen habe bitte auch melden.
Mfg Garlant
Edit: Noch einmal etwas geändert.
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 u.uid, u.email, u.hideemail, uf.ufid, uf.fid4 AS feedmail FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."userfields uf ON (uf.ufid=u.uid) WHERE uid='".$thread['pid']."'");
while($user = $db->fetch_array($user_query))
{
switch($mybb->input['type'])
{
case "rss2.0";
echo "tt<item>n";
echo "ttt<guid>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</guid>n";
echo "ttt<title>".$thread['subject']."</title>n";
if($user['hideemail']=='yes' && ($user['feedmail']=='Nein' || ($user['feedmail']=='' || ($user['hideemail']=='no' && ($user['feedmail']=='Nein')))))
{
echo "ttt<author>".$thread['username']."</author>n";
}
else if($user['hideemail']=='no' && ($user['feedmail']=='Ja' || ($user['hidemail']=='yes' && ($user['feedmail']=='Ja'))))
{
echo "ttt<author>".$thread['username']." ".$user['email']."</author>n";
}
$description = htmlspecialchars($lang->forum." ".$thread['forumname']."rn<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime);
if($thread['postmessage'])
{
$description .= "n<br />".$thread['postmessage'];
}
echo "ttt<description><![CDATA[".$description."]]></description>";
echo "ttt<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 "ttt<pubDate>".$pubdate."</pubDate>n";
echo "tt</item>n";
break;
default:
echo "tt<item>n";
echo "ttt<title>".$thread['subject']."</title>n";
if($user['hideemail']=='yes'){
echo "ttt<author>".$thread['username']."</author>n";
}
else
{
echo "ttt<author>".$thread['username']." ".$user['email']."</author>n";
}
$description = htmlspecialchars($lang->forum." ".$thread['forumname']."rn<br />".$lang->posted_by." ".$thread['username']." ".$lang->on." ".$postdate." ".$posttime);
if($thread['postmessage'])
{
$description .= "n<br />".$thread['postmessage'];
}
echo "ttt<description><![CDATA[".$description."]]></description>";
echo "ttt<link>".$mybb->settings['bburl']."/showthread.php?tid=".$thread['tid']."&action=newpost</link>n";
echo "tt</item>n";
break;
}
}
}
(Vorher dein ersteltes fid4 bitte löschen!):
PHP-Code:
ALTER TABLE `mybb_userfields` ADD `fid4` TEXT NOT NULL ;
NSERT INTO `mybb_profilefields` VALUES (4, 'Email im RSS Feed anzeigen', 'Soll deine E-Mailadresse im RSS Feed angezeigt werden?', 0, 'select\nJa\r\nNein', 1, 0, 'no', 'yes', 'no');
Bitte testen und melden, wenn ich einen Fall vergessen habe bitte auch melden.
Mfg Garlant
Edit: Noch einmal etwas geändert.