Het is namelijk zo dat ik een nieuws systeem gebruik, en daar in bepaalde items op staan van mijn forum.Zodra je de link aanklikt opent hij het forum in mijn framepagina. nu wil ik dat hij in een nieuwe pagina opent. hieronder staat een stukje schript van de rssfeed, daarin staat al de optie _top en _new heb ik ook al geprobeerd. Hij maakt dus wel een nieuwe pagina aan maar breekt niet uit mijn Frame. kan iemand mij hierbij helpen?
Code: Selecteer alles
<?php
/*
////////////////////////////
Lumon
Written by: Stefan Hospes
Start: 3 - 10 - 2006
File: content_left_rss.php
////////////////////////////
*/
if ( !defined('INSYS') )
{
die("Hacking attempt");
}
function content_sub_rss_config()
{
return array( 'rss reader' => array('content/left','A rss reader','content_sub_rss',1,array('content_sub_rss',-1,'content_left_rss')),
'rss reader right' => array('content/right','A rss reader','content_sub_rss',1,array('content_sub_rss',-1,'content_right_rss')));
}
function content_sub_rss()
{
// The url of the xml feed
$feed = 'http://www.ajax.nl/rss/';
// Maximum amount of items to be displayed
$amount = 5;
// Enable caching
$cache = true;
// Cache dir
$cache_dir = 'plugins/content/sub/rss_cache';
if(is_writable($cache_dir))
{
// Fetch and Parse feed
list($title,$link,$description,$elements) = parse_feed(fetch_feed($feed,$cache_dir,$cache),$amount);
// Sort out title
if($title != '')
{
$title = '<a title="'.$description.'" href="'.$link.'" target="_top">'.$title.'</a>';
}
else
{
$title = ERROR_41;
}
}
else
{
$title = ERROR_41;
$elements = ERROR_44;
}
// Load the sub
load('theme_sub',array($title,$elements));
}
function fetch_feed($url,$cache_dir,$cache)
{
$url_parts = parse_url($url);
$filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query'];
if(file_exists($cache_dir."/$filename"))
{
$last = filemtime($cache_dir."/$filename");
$create = 0;
if(time() - $last > 60 * 60)
{
$update = 1;
}
else
{
$update = 0;
}
}
else
{
$create = 1;
$update = 1;
}
if($create == 1 || ($cache == true && $update == 1))
{
$fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5);
if (!$fp)
{
return "Couldn't open rss feed {$url} in {$_SERVER['PHP_SELF']}<br />\n";
}
fputs($fp, "GET " . $url_parts['path'] . "" . @$url_parts['query'] . " HTTP/1.0\r\n"
."Host: " . $url_parts['host'] . "\r\n"
."Connection: Close\r\n\r\n");
$rss_data = '';
while(!feof($fp))
{
$rss_data .= @fgets($fp, 1024);
}
list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2);
$output = @fopen($cache_dir."/$filename", "w+");
if(!$output)
{
return $rss_data;
}
else
{
// Update
flock($output, LOCK_EX);
fputs($output, $rss_data);
flock($output, LOCK_UN);
fclose($output);
}
}
return file_get_contents($cache_dir."/$filename");
}
function parse_feed($data,$max)
{
preg_match("/<title>(.*?)<\/title>/", $data, $feed_title);
$title = (isset($feed_title[1]) ? $feed_title[1] : '');
preg_match("/<link>(.*?)<\/link>/", $data, $feed_link);
$link = (isset($feed_link[1]) ? $feed_link[1] : '');
preg_match("/<description>(.*?)<\/description>/", $data, $feed_description);
$description = (isset($feed_description[1]) ? $feed_description[1] : '');
preg_match_all("/<item[^>]*>(.*?)<\/item>/s", $data, $feed_items);
$items = (isset($feed_items[1]) ? $feed_items[1] : '');
$elements = array();
if(count($items) > 0)
{
for($i = 0; $i < sizeof($items) && $i < $max; ++$i)
{
preg_match("/<title>(.*?)<\/title>/", $items[$i], $feed_title);
preg_match("/<link>(.*?)<\/link>/", $items[$i], $feed_link);
if(isset($feed_title[1]) && isset($feed_link[1]) && $feed_link[1] != '')
{
$elements[] = array(ucfirst((strlen($feed_title[1]) > 15) ? substr($feed_title[1],0,15).'..' : $feed_title[1] ),$feed_link[1]);
}
}
}
return array($title,$link,$description,(count($elements) > 0) ? $elements : ERROR_42);
}