Pagina 1 van 1

Eigen twitter RSS

Geplaatst: 19 nov 2010, 22:36
door Microfacts
  • Modificatie & Versie:
    Directe link naar de modificatie:
    Adres van je forum: http://
    phpBB versie:
    Heb je onlangs een andere modificatie of stijl geïnstalleerd?

    Wat is het probleem?
Ik ben bezig om een script te maken om auto al ons nieuws uit de databace te trekken en in twitter te gooien verder als dit kom ik niet enige wat ik zie zijn errors:P

Wie ziet mijn fouten?

Code: Selecteer alles

<?php
// We willen GEEN php, maar xml:
header ('Content-Type: text/xml');
// Verbinden met de database
define ('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum_cms/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
//string htmlspecialchars  ( string $string  [, int $quote_style= ENT_COMPAT  [, string $charset  [, bool $double_encode= true  ]]] )
// Errors voorkomen:
if(empty($_GET['feed']))
$feed = 'Geen berichten';
else
$feed = $_GET['feed'];
// Begin maken:
echo "<?xml version=\"1.0\" encoding=\"windows-1252\"?>
<rss version=\"2.0\" xmlns:coop=\"http://www.google.com/coop/namespace\"> 
<channel>
    <title>Factscommunity.nl - Nieuws</title>
    <link>http://www.factscommunity.nl/</link>
	<description>Het laatste Gaming nieuws. Van XBOX tot Wii<description>
	<language>nl</language>";

// Nieuwsberichten
$sql3 = "SELECT DISTINCT( p.`post_id` ), `p`.`bbcode_uid`, t.`topic_id`, t.`topic_time`, t.`forum_id`, t.`topic_title`, t.`topic_first_poster_name`, t.`topic_replies`, f.`forum_name`
		FROM `Forum_topics` AS `t`, `Forum_posts` AS `p`, `Forum_forums` AS `f`
		WHERE `t`.`topic_id` = `p`.`topic_id`
		AND `t`.`forum_id` IN ('47', '48', '49', '50','57')
		AND `t`.`topic_first_post_id` = `p`.`post_id`
		AND `t`.`forum_id` = `f`.`forum_id`
		GROUP BY (p.`topic_id`)
		ORDER BY `p`.`topic_id` DESC";
	$result = $db->sql_query_limit($sql3, 0,20);
	while ($row = $db->sql_fetchrow($result))
	$delete_forum = array("`","'","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","'","\"","\\","|",",","<",".",">","/","?");
	$forum_seo['forum_name'] = str_replace($delete_forum, '', strtolower($row['forum_name']));
	$forum_seo['forum_name'] = str_replace('  ', ' ', $forum_seo['forum_name']);
	$forum_seo['forum_name'] = str_replace(' ', '-', $forum_seo['forum_name']);
	
	$delete_topic = array("~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","\"","\\","|",",","<",".",">","/","?");
	$topic_seo['topic_title'] = str_replace($delete_topic, '', strtolower($row['topic_title']));
	$topic_seo['topic_title'] = str_replace(array("`","'"), '-', $topic_seo['topic_title']);
	$topic_seo['topic_title'] = str_replace('  ', ' ', $topic_seo['topic_title']);
	$topic_seo['topic_title'] = str_replace(' ', '-', $topic_seo['topic_title']);

	$row = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $row);	
	$row = str_replace("\n", "\n<br />\n", $row);
	
	$time = date("d.m.Y H:i", $row['topic_time']);
	$title = stripslashes( $row['topic_title'] );
	
 		{
		$pubdate = ($time);
		$url = "http://www.factscommunity.nl/" . $forum_seo['forum_name'] . "-f" . $row['forum_id'] . "/" . $topic_seo['topic_title'] . "-t" . $row['topic_id'] . ".html";
		$titel = $row['topic_title'];
		$description = $row['post_text']; 
						
		echo "
		<item>
		<title>Nu op de site: <![CDATA[$titel]]></title>
		<guid>$url</guid>
		<coop:keyword><![CDATA[$titel]]></coop:keyword> 
		<link>$url</link>
		<pubDate>$date +21600</pubDate>
		<description><![CDATA[$description]]></description>
	</item>";
	}

echo "</channel>
</rss>";

?>

Re: Eigen twitter RSS

Geplaatst: 20 nov 2010, 08:25
door Ger
Is het niet veel gemakkelijker om gebruik te maken van een bestaand wiel, ipv dat zelf opnieuw uit te vinden? ;)
>>Twitterfeed

Re: Eigen twitter RSS

Geplaatst: 20 nov 2010, 11:28
door Paul
Daarnaast is je code zo onoverzichtelijk dat ik het niet ga lezen. Maar zo te zien mist er een while loop ergens.

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 10:47
door Microfacts
Ger schreef:Is het niet veel gemakkelijker om gebruik te maken van een bestaand wiel, ipv dat zelf opnieuw uit te vinden? ;)
>>Twitterfeed
Nee wand daar voor heb je juist deze rss met schone urls nodig.
paul schreef:Daarnaast is je code zo onoverzichtelijk dat ik het niet ga lezen. Maar zo te zien mist er een while loop ergens.
Als we zo gaan doen kan je net zo goed niets posten ik vraag om hulp niet om iemand die mijn code afkraakt.

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 10:51
door Paul
Tja, jij verwacht hulp, maar wij moeten jouw zooi aan code opruimen voordat we je kunnen helpen, geloof je het zelf?

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 11:05
door Microfacts
de code is redelijk. Ik weet alleen niet wat er fout is en waarom het niet werkt dacht dat dit een support forum was. Ik vraag om hulp en als iemand mij dat wil bieden dan graag maar zown reactie van je code is ruk en we doen er niets mee is nou niet de insteek waar gebruikers van dit forum op zitten te wachten. volgens mij moet er ergens gewoon een paar tekens en dan moet het werken.

Code: Selecteer alles

    <?php
    // We willen GEEN php, maar xml:
    header ('Content-Type: text/xml');
    
    // Verbinden met de database
    define ('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum_cms/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    
    // Errors voorkomen:
    if(empty($_GET['feed']))
    $feed = 'Geen berichten';
    else
    $feed = $_GET['feed'];
   
   // Begin maken:
    echo "<?xml version=\"1.0\" encoding=\"windows-1252\"?>
    <rss version=\"2.0\" xmlns:coop=\"http://www.google.com/coop/namespace\">
    <channel>
        <title>Factscommunity.nl - Nieuws</title>
        <link>http://www.factscommunity.nl/nieuws-f46/</link>
       <description>Het laatste Gaming nieuws. Van XBOX tot Wii<description>
       <language>nl</language>";

    // SQL ophalen
    $sql3 = "SELECT DISTINCT( p.`post_id` ), `p`.`bbcode_uid`, t.`topic_id`, t.`topic_time`, t.`forum_id`, t.`topic_title`, t.`topic_first_poster_name`, t.`topic_replies`, f.`forum_name`
          FROM `Forum_topics` AS `t`, `Forum_posts` AS `p`, `Forum_forums` AS `f`
          WHERE `t`.`topic_id` = `p`.`topic_id`
          AND `t`.`forum_id` IN ('47', '48', '49', '50','57')
          AND `t`.`topic_first_post_id` = `p`.`post_id`
          AND `t`.`forum_id` = `f`.`forum_id`
          GROUP BY (p.`topic_id`)
          ORDER BY `p`.`topic_id` DESC";
          
       $result = $db->sql_query_limit($sql3, 0,20);
       
       while ($row = $db->sql_fetchrow($result))
       
       $delete_forum = array("`","'","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","'","\"","\\","|",",","<",".",">","/","?");
       $forum_seo['forum_name'] = str_replace($delete_forum, '', strtolower($row['forum_name']));
       $forum_seo['forum_name'] = str_replace('  ', ' ', $forum_seo['forum_name']);
       $forum_seo['forum_name'] = str_replace(' ', '-', $forum_seo['forum_name']);
       
       $delete_topic = array("~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","\"","\\","|",",","<",".",">","/","?");
       $topic_seo['topic_title'] = str_replace($delete_topic, '', strtolower($row['topic_title']));
       $topic_seo['topic_title'] = str_replace(array("`","'"), '-', $topic_seo['topic_title']);
       $topic_seo['topic_title'] = str_replace('  ', ' ', $topic_seo['topic_title']);
       $topic_seo['topic_title'] = str_replace(' ', '-', $topic_seo['topic_title']);

       $row = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $row);   
       $row = str_replace("\n", "\n<br />\n", $row);
       
       $time = date("d.m.Y H:i", $row['topic_time']);
       $title = stripslashes( $row['topic_title'] );
       
          {
          $pubdate = ($time);
          $url = "http://www.factscommunity.nl/" . $forum_seo['forum_name'] . "-f" . $row['forum_id'] . "/" . $topic_seo['topic_title'] . "-t" . $row['topic_id'] . ".html";
          $titel = $row['topic_title'];
          $description = $row['post_text'];
                
                //RSS Printen voor twitterfeed.com met SEO URLS    
          echo "
          <item>
          <title>Nu op de site: <![CDATA[$titel]]></title>
          <guid>$url</guid>
          <coop:keyword><![CDATA[$titel]]></coop:keyword>
          <link>$url</link>
          <pubDate>$date +21600</pubDate>
          <description><![CDATA[$description]]></description>
       </item>";
       }

    echo "</channel>
    </rss>";

    ?>

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 11:40
door Ger
Microfacts schreef:
Ger schreef:Is het niet veel gemakkelijker om gebruik te maken van een bestaand wiel, ipv dat zelf opnieuw uit te vinden? ;)
>>Twitterfeed
Nee wand daar voor heb je juist deze rss met schone urls nodig.
Ik heb het toch al eens gebruikt hoor. :?

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 12:42
door Microfacts
Klopt maar je moet een RSS Feed toevoegen twitter feed kan niet zomaar alles auto uit je site trekken.

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 12:50
door Ger
Dan pak je toch gewoon de ATOM Feed van phpBB?

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 13:08
door Microfacts
Nee want daar zit niet de clean seo in en wel in deze. En deze pakt van diverde forums wat af. Dus NEE! kan niet.

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 13:31
door Ger
Rustig maar hoor. Ik probeerde je tijd en moeite te besparen. Ik kan toch ook niet ruiken dat jij met een SEO MOD werkt als je dat niet verteld? :?

Succes...

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 13:44
door PTish
paul schreef:Daarnaast is je code zo onoverzichtelijk dat ik het niet ga lezen. Maar zo te zien mist er een while loop ergens.
Halverwege staat er een while loop. De benodigde { en } volgen pas 10 regels later.....

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 14:06
door Microfacts
Als je in de code kijkt staat het er 10 20 x en ptish jah en dat betekent?

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 14:08
door Paul
Waarom moeten wij moeite doen voor jou? Je mag blij zijn dat je nog support krijgt hier. Graag iets beleefder reageren.

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 14:43
door Microfacts
Al het simpele is al geprobeerd en aangezien paul zo leuk reageerd. leg ik het nog is uit. Ik heb een probleem dat script is om nieuws in de site tekrijgen heb het iets omgebouwt voor de rss zodat ik via twitter feed als het nieuws zo op twitter en andere media kan zetten.

nu werkt het niet en heb ik de helft al verbouwt en begin ik beetje gestrest te worden. Ik ben niet goed met php dat weet ik ken wat basics maar thats al.

http://www.factscommunity.nl/twitter.php < link zoals die nu werkt. + code.

Code: Selecteer alles

    <?php
    // XML in plaats van php
       header ('Content-Type: text/xml');
      // Verbinden met de database
    define ('IN_PHPBB', true);
    $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
 
    // Errors voorkomen:
    if(empty($_GET['feed']))
    $feed = 'Geen berichten';
    else
    $feed = $_GET['feed'];
   
   // Begin maken:
    echo "<?xml version=\"1.0\" encoding=\"windows-1252\"?>
    <rss version=\"2.0\" xmlns:coop=\"http://www.google.com/coop/namespace\">
    <channel>
        <title>Factscommunity.nl - Nieuws</title>
        <link>http://www.factscommunity.nl/nieuws-f46/</link>
       <description>Het laatste Gaming nieuws. Van XBOX tot Wii<description>
       <language>nl</language>";

    // SQL ophalen
    $sql3 = "SELECT DISTINCT( p.`post_id` ), `p`.`bbcode_uid`, t.`topic_id`, t.`topic_time`, t.`forum_id`, t.`topic_title`, t.`topic_first_poster_name`, t.`topic_replies`, f.`forum_name`
          FROM `Forum_topics` AS `t`, `Forum_posts` AS `p`, `Forum_forums` AS `f`
          WHERE `t`.`topic_id` = `p`.`topic_id`
          AND `t`.`forum_id` IN ('47', '48', '49', '50','57')
          AND `t`.`topic_first_post_id` = `p`.`post_id`
          AND `t`.`forum_id` = `f`.`forum_id`
          GROUP BY (p.`topic_id`)
          ORDER BY `p`.`topic_id` DESC";
          
       $result = $db->sql_query_limit($sql3, 0,20);
       
       while ($row = $db->sql_fetchrow($result))
        {
       $delete_forum = array("`","'","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","'","\"","\\","|",",","<",".",">","/","?");
       $forum_seo['forum_name'] = str_replace($delete_forum, '', strtolower($row['forum_name']));
       $forum_seo['forum_name'] = str_replace('  ', ' ', $forum_seo['forum_name']);
       $forum_seo['forum_name'] = str_replace(' ', '-', $forum_seo['forum_name']);
       
       $delete_topic = array("~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}",";",":","\"","\\","|",",","<",".",">","/","?");
       $topic_seo['topic_title'] = str_replace($delete_topic, '', strtolower($row['topic_title']));
       $topic_seo['topic_title'] = str_replace(array("`","'"), '-', $topic_seo['topic_title']);
       $topic_seo['topic_title'] = str_replace('  ', ' ', $topic_seo['topic_title']);
       $topic_seo['topic_title'] = str_replace(' ', '-', $topic_seo['topic_title']);

       $row = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $row);   
       $row = str_replace("\n", "\n<br />\n", $row);
       
       $time = date("d.m.Y H:i", $row['topic_time']);
       $title = stripslashes( $row['topic_title'] );
      
          
          $url = "http://www.factscommunity.nl/" . $forum_seo['forum_name'] . "-f" . $row['forum_id'] . "/" . $topic_seo['topic_title'] . "-t" . $row['topic_id'] . ".html";
          $titel = $row['topic_title'];
          $description = $row['post_text'];
                
                //RSS Printen      
          echo "
          <item>
          <title>Nu op de site: <![CDATA[$titel]]></title>
          <guid>$url</guid>
          <coop:keyword><![CDATA[$titel]]></coop:keyword>
          <link>$url</link>
          <pubDate>$time</pubDate>
          <description><![CDATA[$description]]></description>
       </item>";
       }

    echo "</channel>
    </rss>";

    ?>

Re: Eigen twitter RSS

Geplaatst: 23 nov 2010, 16:30
door Ger
Haal eerst alles voor <?php eens weg. Nu heb je namelijk witruimte buiten de PHP-tags staan, waardoor je de fout headers already sent(); krijgt.

Re: Eigen twitter RSS

Geplaatst: 24 nov 2010, 00:09
door PTish
<description>Het laatste Gaming nieuws. Van XBOX tot Wii<description>
Je sluit de tag hier niet goed af.

Code: Selecteer alles

$description = $row['post_text'];
Ik geloof niet dat de key "post_text" bestaat, want die haal je niet uit de database in de SELECT query.

Code: Selecteer alles

$title = stripslashes( $row['topic_title'] );
$titel = $row['topic_title'];
Uiteindelijk gebruik je enkel $titel;

Re: Eigen twitter RSS

Geplaatst: 24 nov 2010, 09:44
door Microfacts
PThis en ger tnks voor de hulp. moet nog wat dingen tweaken en als die klaar is wil ik best de code ter beschikking stellen voor gebruik want denk dat er meerderen zijn die dit willen gebruiken.

http://www.factscommunity.nl/twitter.php