breakout Frame

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
debrouwer
Berichten: 20
Lid geworden op: 29 sep 2006, 22:23
Locatie: Amsterdam
Contacteer:

breakout Frame

Bericht door debrouwer » 24 feb 2008, 01:07

Weet iemand hoe je er voor kan zorgen dat de opgevraagde rss, die in mijn nieuwssysteem vertoond word opent in een gehele nieuwe pagina.
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);
}

BetaDevil
Berichten: 2810
Lid geworden op: 28 mei 2006, 15:27

Re: breakout Frame

Bericht door BetaDevil » 24 feb 2008, 12:37

target="_blank" zou wel moeten werken dan, maar als je een base target hebt ingesteld weet ik niet zeker of je daar zo maar uitkomt (als je dat gedaan hebt tenminste :roll:).

debrouwer
Berichten: 20
Lid geworden op: 29 sep 2006, 22:23
Locatie: Amsterdam
Contacteer:

Re: breakout Frame

Bericht door debrouwer » 24 feb 2008, 18:22

wat je al zij, helaas werkt _blank ook niet.
is er dan geen mogelijkheid om dit zo te krijgen dat hij wel naar een nieuwe pagina gaat?

Gebruikersavatar
Gamemaniak
Berichten: 1747
Lid geworden op: 14 nov 2005, 19:03
Locatie: Westdorpe
Contacteer:

Re: breakout Frame

Bericht door Gamemaniak » 24 feb 2008, 18:28

Waar gebruik je een frame? Je kan het toch ook gewoon je rss includen op die pagina?

debrouwer
Berichten: 20
Lid geworden op: 29 sep 2006, 22:23
Locatie: Amsterdam
Contacteer:

Re: breakout Frame

Bericht door debrouwer » 24 feb 2008, 18:44

mijn nieuwspagina (cmd) die geeft het laatste nieuws door op mijn website, en het nieuwssysteem staat in een frame op mijn site. ook in het nieuws systeem kan je een rss reader toevoegen,. dus dat heb ik gedaan en alles werkt wel alleen wil dat hij het forum laad in een nieuwe pagina. wat wel vreemd is, dat de naam van mijn forum boven aan de rssreader word vermeld, en zodra je daar op klikt komt er wel een nieuwe pagina. maar voor de links van de topics niet.

Gesloten