bug 274386 - RSS including HTML entities in description

This commit is contained in:
mconnor%myrealbox.com 2005-01-16 21:36:49 +00:00
Родитель a03d3789c1
Коммит 1e5af732cb
2 изменённых файлов: 101 добавлений и 101 удалений

Просмотреть файл

@ -1,95 +1,96 @@
<?php
// ***** BEGIN LICENSE BLOCK *****
// Version: MPL 1.1/GPL 2.0/LGPL 2.1
//
// The contents of this file are subject to the Mozilla Public License Version
// 1.1 (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is Mozilla Update.
//
// The Initial Developer of the Original Code is
// Chris "Wolf" Crews.
// Portions created by the Initial Developer are Copyright (C) 2004
// the Initial Developer. All Rights Reserved.
//
// Contributor(s):
// Chris "Wolf" Crews <psychoticwolf@carolina.rr.com>
// Alan Starr <alanjstarr@yahoo.com>
//
// Alternatively, the contents of this file may be used under the terms of
// either the GNU General Public License Version 2 or later (the "GPL"), or
// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
// in which case the provisions of the GPL or the LGPL are applicable instead
// of those above. If you wish to allow use of your version of this file only
// under the terms of either the GPL or the LGPL, and not to allow others to
// use your version of this file under the terms of the MPL, indicate your
// decision by deleting the provisions above and replace them with the notice
// and other provisions required by the GPL or the LGPL. If you do not delete
// the provisions above, a recipient may use your version of this file under
// the terms of any one of the MPL, the GPL or the LGPL.
//
// ***** END LICENSE BLOCK *****
?>
<?php
// http://blogs.law.harvard.edu/tech/rss
switch ($type) {
case "E":
$listType = "Extensions";
break;
case "P":
$listType = "Plugins";
break;
case "T":
$listType = "Themes";
break;
}
echo "<rss version=\"2.0\">\n";
echo "<channel>\n";
echo " <title>" . htmlentities($sitetitle) . "::" . htmlentities($list) . " " . $listType . "</title>\n";
echo " <link>" . htmlentities($siteurl) . "</link>\n";
echo " <description>" . htmlentities($description) . "</description>\n";
echo " <language>" . htmlentities($sitelanguage) . "</language>\n";
echo " <copyright>" . htmlentities($sitecopyright) . "</copyright>\n";
echo " <lastBuildDate>" . $currenttime . "</lastBuildDate>\n";
echo " <ttl>" . $rssttl . "</ttl>\n";
echo " <image>\n";
echo " <title>" . htmlentities($sitetitle) . "</title>\n";
echo " <link>" . htmlentities($siteurl) . "</link>\n";
echo " <url>" . htmlentities($siteicon) . "</url>\n";
echo " <width>16</width>\n";
echo " <height>16</height>\n";
echo " </image>\n";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
while ($row = mysql_fetch_array($sql_result)) {
$id = $row["ID"];
$title = htmlentities($row["Title"]);
$description = htmlentities($row["Description"]);
$dateupdated = gmdate("r", strtotime($row["DateStamp"]));
$version = $row["Version"];
$vid = $row["vID"];
$appname = $row["AppName"];
echo " <item>\n";
echo " <pubDate>" . $dateupdated . "</pubDate>\n";
echo " <title>" . $title . " " . $version . " for " . $appname . "</title>\n";
echo " <link>http://$sitehostname/" . strtolower($listType) . "/moreinfo.php?id=" . $id . "&amp;vid=" . $vid . "</link>\n";
echo " <description>" . $description . "</description>\n";
echo " </item>\n";
}
echo "</channel>\n";
echo "</rss>\n";
?>
<?php
// ***** BEGIN LICENSE BLOCK *****
// Version: MPL 1.1/GPL 2.0/LGPL 2.1
//
// The contents of this file are subject to the Mozilla Public License Version
// 1.1 (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is Mozilla Update.
//
// The Initial Developer of the Original Code is
// Chris "Wolf" Crews.
// Portions created by the Initial Developer are Copyright (C) 2004
// the Initial Developer. All Rights Reserved.
//
// Contributor(s):
// Chris "Wolf" Crews <psychoticwolf@carolina.rr.com>
// Alan Starr <alanjstarr@yahoo.com>
//
// Alternatively, the contents of this file may be used under the terms of
// either the GNU General Public License Version 2 or later (the "GPL"), or
// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
// in which case the provisions of the GPL or the LGPL are applicable instead
// of those above. If you wish to allow use of your version of this file only
// under the terms of either the GPL or the LGPL, and not to allow others to
// use your version of this file under the terms of the MPL, indicate your
// decision by deleting the provisions above and replace them with the notice
// and other provisions required by the GPL or the LGPL. If you do not delete
// the provisions above, a recipient may use your version of this file under
// the terms of any one of the MPL, the GPL or the LGPL.
//
// ***** END LICENSE BLOCK *****
?>
<?php
// http://blogs.law.harvard.edu/tech/rss
switch ($type) {
case "E":
$listType = "Extensions";
break;
case "P":
$listType = "Plugins";
break;
case "T":
$listType = "Themes";
break;
}
echo "<rss version=\"2.0\">\n";
echo "<channel>\n";
echo " <title>" . htmlspecialchars($sitetitle,ENT_NOQUOTES,UTF-8) . "::" . htmlspecialchars($list,ENT_NOQUOTES,UTF-8) . " " . $listType . "</title>\n";
echo " <link>" . $siteurl . "</link>\n";
echo " <description>" . htmlspecialchars($sitedescription,ENT_NOQUOTES,UTF-8) .
"</description>\n";
echo " <language>" . $sitelanguage . "</language>\n";
echo " <copyright>" . htmlspecialchars($sitecopyright,ENT_NOQUOTES,UTF-8) . "</copyright>\n";
echo " <lastBuildDate>" . $currenttime . "</lastBuildDate>\n";
echo " <ttl>" . $rssttl . "</ttl>\n";
echo " <image>\n";
echo " <title>" . htmlspecialchars($sitetitle,ENT_NOQUOTES,UTF-8) . "</title>\n";
echo " <link>" . $siteurl . "</link>\n";
echo " <url>" . $siteicon . "</url>\n";
echo " <width>16</width>\n";
echo " <height>16</height>\n";
echo " </image>\n";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
while ($row = mysql_fetch_array($sql_result)) {
$id = $row["ID"];
$title = htmlspecialchars($row["Title"],ENT_NOQUOTES,UTF-8);
$description = htmlspecialchars($row["Description"],ENT_NOQUOTES,UTF-8);
$dateupdated = gmdate("r", strtotime($row["DateStamp"]));
$version = htmlspecialchars($row["Version"],ENT_NOQUOTES,UTF-8);
$vid = $row["vID"];
$appname = htmlspecialchars($row["AppName"],ENT_NOQUOTES,UTF-8);
echo " <item>\n";
echo " <pubDate>" . $dateupdated . "</pubDate>\n";
echo " <title>" . $title . " " . $version . " for " . $appname . "</title>\n";
echo " <link>http://$sitehostname/" . strtolower($listType) . "/moreinfo.php?id=" . $id . "&amp;vid=" . $vid . "</link>\n";
echo " <description>" . $description . "</description>\n";
echo " </item>\n";
}
echo "</channel>\n";
echo "</rss>\n";
?>

Просмотреть файл

@ -46,15 +46,14 @@ $list = ucwords(strtolower($_GET["list"])); // Newest, Updated, [Editors], Popul
$sitetitle = "Mozilla Update";
$siteicon = "http://www.mozilla.org/images/mozilla-16.png";
$siteurl = "http://update.mozilla.org";
$siteurl = $_SERVER["SERVER_NAME"];
$sitedescription = "the way to keep your mozilla software up-to-date";
$sitelanguage = "en-us";
$sitecopyright = "Creative Commons?";
$sitelanguage = "en-US";
$sitecopyright = "Copyright 2004-2005 The Mozilla Organization";
$currenttime = gmdate(r);// GMT
$rssttl = "120"; //Life of feed in minutes
//header("Content-Type: application/octet-stream");
header("Content-Type: text/xml");
header("Content-Type: application/xml; charset=utf-8");
// Firefox, extensions, by date added
@ -104,4 +103,4 @@ $sql = $select . " " . $from . " WHERE " . $where . " ORDER BY " . $orderby . "
include"inc_rssfeed.php";
?>
?>