Hochladen aller Dateien des Projekts.
This commit is contained in:
162
plugins/us_plugin_rss.php
Executable file
162
plugins/us_plugin_rss.php
Executable file
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
/*
|
||||
Nutzung dieses Scripts nur gestattet, wenn Kommentare (PHP und HTML) nicht gelöscht werden, oder ein Link zu folgender Adresse gesetzt wird:
|
||||
URL: http://www.web-spirit.de/webdesign-tutorial/7/RSS-Feed-auslesen-mit-PHP
|
||||
Beschreibung: RSS Feed auslesen mit PHP
|
||||
Autor: Sebastian Gollus
|
||||
Internet: http://www.web-spirit.de
|
||||
Version: 1.0.200905
|
||||
*/
|
||||
|
||||
// Funktionsaufruf z.B.: getRssfeed("http://www.web-spirit.de/web-spirit.xml","web-spirit","auto",3,3);
|
||||
|
||||
function getRssfeed($rssfeed, $cssclass="", $encode="auto", $anzahl=10, $mode=0)
|
||||
{
|
||||
// $encode e[".*"; "no"; "auto"]
|
||||
|
||||
// $mode e[0; 1; 2; 3]:
|
||||
// 0 = nur Titel und Link der Items weden ausgegeben
|
||||
// 1 = Titel und Link zum Channel werden ausgegeben
|
||||
// 2 = Titel, Link und Beschreibung der Items werden ausgegeben
|
||||
// 3 = 1 & 2
|
||||
|
||||
// Zugriff auf den RSS Feed
|
||||
$data = @file($rssfeed);
|
||||
$data = implode ("", $data);
|
||||
if(strpos($data,"</item>") > 0)
|
||||
{
|
||||
preg_match_all("/<item.*>(.+)<\/item>/Uism", $data, $items);
|
||||
$atom = 0;
|
||||
}
|
||||
elseif(strpos($data,"</entry>") > 0)
|
||||
{
|
||||
preg_match_all("/<entry.*>(.+)<\/entry>/Uism", $data, $items);
|
||||
$atom = 1;
|
||||
}
|
||||
|
||||
// Encodierung
|
||||
if($encode == "auto")
|
||||
{
|
||||
preg_match("/<?xml.*encoding=\"(.+)\".*?>/Uism", $data, $encodingarray);
|
||||
$encoding = $encodingarray[1];
|
||||
}
|
||||
else
|
||||
{$encoding = $encode;}
|
||||
|
||||
echo "<!-- RSS Feed Script von Sebastian Gollus: http://www.web-spirit.de/webdesign-tutorial/7/RSS-Feed-auslesen-mit-PHP -->\n";
|
||||
echo "<div class=\"rssfeed_".$cssclass."\">\n";
|
||||
|
||||
// Titel und Link zum Channel
|
||||
if($mode == 1 || $mode == 3)
|
||||
{
|
||||
if(strpos($data,"</item>") > 0)
|
||||
{
|
||||
$data = preg_replace("/<item.*>(.+)<\/item>/Uism", '', $data);
|
||||
}
|
||||
else
|
||||
{
|
||||
$data = preg_replace("/<entry.*>(.+)<\/entry>/Uism", '', $data);
|
||||
}
|
||||
preg_match("/<title.*>(.+)<\/title>/Uism", $data, $channeltitle);
|
||||
if($atom == 0)
|
||||
{
|
||||
preg_match("/<link>(.+)<\/link>/Uism", $data, $channellink);
|
||||
}
|
||||
elseif($atom == 1)
|
||||
{
|
||||
preg_match("/<link.*alternate.*text\/html.*href=[\"\'](.+)[\"\'].*\/>/Uism", $data, $channellink);
|
||||
}
|
||||
|
||||
$channeltitle = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $channeltitle);
|
||||
$channellink = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $channellink);
|
||||
|
||||
echo "<h1><a href=\"".$channellink[1]."\" title=\"";
|
||||
if($encode != "no")
|
||||
{echo htmlentities($channeltitle[1],ENT_QUOTES,$encoding);}
|
||||
else
|
||||
{echo $channeltitle[1];}
|
||||
echo "\">";
|
||||
if($encode != "no")
|
||||
{echo htmlentities($channeltitle[1],ENT_QUOTES,$encoding);}
|
||||
else
|
||||
{echo $channeltitle[1];}
|
||||
echo "</a></h1>\n";
|
||||
}
|
||||
|
||||
// Titel, Link und Beschreibung der Items
|
||||
foreach ($items[1] as $item) {
|
||||
preg_match("/<title.*>(.+)<\/title>/Uism", $item, $title);
|
||||
if($atom == 0)
|
||||
{
|
||||
preg_match("/<link>(.+)<\/link>/Uism", $item, $link);
|
||||
}
|
||||
elseif($atom == 1)
|
||||
{
|
||||
preg_match("/<link.*alternate.*text\/html.*href=[\"\'](.+)[\"\'].*\/>/Uism", $item, $link);
|
||||
}
|
||||
|
||||
if($atom == 0)
|
||||
{
|
||||
preg_match("/<description>(.*)<\/description>/Uism", $item, $description);
|
||||
}
|
||||
elseif($atom == 1)
|
||||
{
|
||||
preg_match("/<summary.*>(.*)<\/summary>/Uism", $item, $description);
|
||||
}
|
||||
|
||||
$title = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $title);
|
||||
$description = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $description);
|
||||
$link = preg_replace('/<!\[CDATA\[(.+)\]\]>/Uism', '$1', $link);
|
||||
|
||||
echo "<p class=\"link\">\n";
|
||||
echo "<a href=\"".$link[1]."\" class=\"menu\" title=\"";
|
||||
if($encode != "no")
|
||||
{echo htmlentities($title[1],ENT_QUOTES,$encoding);}
|
||||
else
|
||||
{echo $title[1];}
|
||||
echo "\">";
|
||||
if($encode != "no")
|
||||
{echo htmlentities($title[1],ENT_QUOTES,$encoding)."</a>\n";}
|
||||
else
|
||||
{echo $title[1]."</a>\n";}
|
||||
echo "</p>\n";
|
||||
if($mode == 2 || $mode == 3 && ($description[1]!="" && $description[1]!=" "))
|
||||
{
|
||||
echo "<p class=\"description\">\n";
|
||||
if($encode != "no")
|
||||
{echo htmlentities($description[1],ENT_QUOTES,$encoding)."\n";}
|
||||
else
|
||||
{echo $description[1];}
|
||||
echo "</p>\n";
|
||||
}
|
||||
if ($anzahl-- <= 1) break;
|
||||
}
|
||||
echo "</div>\n\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
$feed = liefere_benutzerspezifische_einstellung( $_SESSION[ "mandant_name" ], $_SESSION[ "benutzer_anmeldename" ], "us_plugin_rss_feed" );
|
||||
$anzahl_meldungen = liefere_benutzerspezifische_einstellung( $_SESSION[ "mandant_name" ], $_SESSION[ "benutzer_anmeldename" ], "us_plugin_rss_anzahl_meldungen" );
|
||||
|
||||
$wertemenge = liefere_wertemenge_elemente( $_SESSION[ "mandant_name" ], "rss_feeds" );
|
||||
|
||||
if ( $wertemenge[ 0 ] > 0 )
|
||||
{
|
||||
foreach( $wertemenge[ 2 ] as $element )
|
||||
{
|
||||
if ( $element[ "alpha_01" ] == $feed )
|
||||
{
|
||||
$feed_url = $element[ "alpha_02" ];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo "<center><h2>".$feed."</h2>";
|
||||
echo "<div style='max-width:900px;'>";
|
||||
getRssfeed( $feed_url, "web-spirit", "auto", $anzahl_meldungen, 2 );
|
||||
echo "</div></center>";
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user