Subversion Repositories Applications.papyrus

Compare Revisions

Regard whitespace Rev 2147 → Rev 2148

/trunk/papyrus/applettes/syndication/syndication.php
81,6 → 81,39
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// l'applette est un peu teubée et ne comprend pas certains flux
// pourtant valides, par sécurité, on supprime donc certains caractères
function supprimerXmlDangereux($xml)
{
$ret = "";
$encours;
if (empty($xml))
{
return $ret;
}
 
$lg = strlen($xml);
for ($i=0; $i < $lg; $i++)
{
$encours = ord($xml{$i});
if (($encours == 0x9) ||
($encours == 0xA) ||
($encours == 0xD) ||
(($encours >= 0x20) && ($encours <= 0xD7FF)) ||
(($encours >= 0xE000) && ($encours <= 0xFFFD)) ||
(($encours >= 0x10000) && ($encours <= 0x10FFFF)))
{
$ret .= chr($encours);
}
else
{
$ret .= " ";
}
}
return $ret;
}
 
/** Fonction afficherSyndication() - Retourne la liste des pages des sites syndiqués.
*
* Cette fonction retourne la liste des pages des sites syndiqués.
169,6 → 202,7
$encodages = 'UTF-8, ISO-8859-1, ISO-8859-15';
try {
$xml = file_get_contents($url);
$xml = supprimerXmlDangereux($xml);
$feed = new XML_Feed_Parser($xml);
} catch (XML_Feed_Parser_Exception $e) {
creer_cache('erreur', $xml, 86400);