Sivu 1/1

RSS -lukija ongelma?

Lähetetty: 28 Huhti 2006, 17:42
Kirjoittaja jpekkam
Eli ei toimi millään tuo RSS Feed modi?
http://www.phpbb.com/phpBB/viewtopic.php?t=254606

Virhe ilmoituksesta en oikeen saa mitään vihjettä?
Oisko jollain ollut samanlaista propleemaa?

http://www.jpekkam.com/keskustelu/phpBB2/rss.php

Lähetetty: 28 Huhti 2006, 18:03
Kirjoittaja Merri
Kokeile etsiä RSS-templaateista tuo <description>-kohta ja lisää aloitustagin jälkeen <![CDATA[ ja ennen lopetustagia ]]>

Tämä estää XML-parsereita lukemasta sen sisältöä, mutta toivottavasti RSS-lukijat tajuavat mistä on kyse. En tosin ole varma tästä kun en pahemmin leiki puhtaan XML:n kanssa.

Lähetetty: 28 Huhti 2006, 19:06
Kirjoittaja jpekkam
Meinasitko näin:

<description><![CDATA[{BOARD_DESCRIPTION}]]></description>

Ei ainakaan nuin toimi...

Tulee virheilmoitus:

XML-jäsennysvirhe: yhteensopimaton tunnus. Odotettu tunnus: </link>.
URL: http://www.jpekkam.com/keskustelu/phpBB2/rss.php
Rivinumero 23, sarake 3:
</image>
--^

Lähetetty: 28 Huhti 2006, 19:20
Kirjoittaja jpekkam
Tuossa vielä tuo rss_body.tpl tiedosto alkuperäisenä, muista tiedostoista en löytänyt <description> -tagia...

Koodi: Valitse kaikki

<?xml version="1.0" encoding="{S_CONTENT_ENCODING}" ?>
<!-- BEGIN switch_enable_xslt -->
<?xml-stylesheet type="text/xsl" href="templates/rss.xsl"?> 
<!-- END switch_enable_xslt -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<!--
	This feed generated for {READER}
	More info at http://naklon.info/rss/about.htm
-->
<channel>
<title>{BOARD_TITLE}</title>
<link>{BOARD_URL}
<description>{BOARD_DESCRIPTION}</description> 
<managingEditor>{BOARD_MANAGING_EDITOR}</managingEditor>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>{PROGRAM}</generator>{LANGUAGE}
<lastBuildDate>{BUILD_DATE}</lastBuildDate>
<image>
	<url>{BOARD_URL}templates/subSilver/images/logo_phpBB_med.gif</url>
	<title>{BOARD_TITLE}</title>
	<link>{BOARD_URL}
	<width>122</width>
	<height>56</height>
</image>
<!-- BEGIN post_item -->
<item>
<title>{post_item.FORUM_NAME} :: {post_item.TOPIC_TITLE}</title>
<link>{post_item.POST_URL}
<pubDate>{post_item.UTF_TIME}</pubDate>
<guid isPermaLink="true">{post_item.POST_URL}</guid>
<description>{L_AUTHOR}: {post_item.AUTHOR}<br />
{post_item.POST_SUBJECT}
{L_POSTED}: {post_item.POST_TIME}<br />
<br /><span class="postbody">
{post_item.POST_TEXT}{post_item.USER_SIG}</span><br />
</description>
<dc:creator>{post_item.AUTHOR0}</dc:creator>
<dc:subject>{post_item.FORUM_NAME}</dc:subject>
<annotate:reference rdf:resource="{post_item.FIRST_POST_URL}" />
<comments>{post_item.REPLY_URL}</comments>
</item>
<!-- END post_item -->
</channel>
</rss>

Lähetetty: 28 Huhti 2006, 21:35
Kirjoittaja Merri
Mietin tuota nyt hieman enemmän. Ongelma johtuu siitä, että XML:ssä on vain muutama sallittu &...;-merkki, joten esim. &auml; (joka vastaa kirjainta ä) ei ole sallittu, vaikka se käypää HTML:ää onkin. Jotta ä-kirjaimen saisi toimimaan oikein, täytyisi merkit muuttaa UTF-8:ksi. Joten kokeillaan vaikka nyt ensin ennen htmlspecialcharsin käyttöä PHP-tiedostossa pakata teksti UTF-8:ksi.

Eli avaa rss.php ja etsi:

Koodi: Valitse kaikki

		if ( $post_subject != '' )
		{
			$post_subject = htmlspecialchars($lang['Subject'].': '.$post_subject.'<br />');
		}
Korvaa tällä:

Koodi: Valitse kaikki

		if ( $post_subject != '' )
		{
			$post_subject = htmlspecialchars(utf8encode($lang['Subject'].': '.$post_subject.'<br />'));
		}
Etsi:

Koodi: Valitse kaikki

		$template->assign_block_vars('post_item', array(
			'POST_URL' => $viewpost_url . '?' . POST_POST_URL . '=' . $post['post_id'] . '#' . $post['post_id'],
			'FIRST_POST_URL' => $viewpost_url . '?' . POST_POST_URL . '=' . $post['topic_first_post_id'] . '#' . $post['topic_first_post_id'],
			'REPLY_URL'=>$replypost_url."&".POST_POST_URL."=".$post['post_id'],
			'TOPIC_TITLE' =>htmlspecialchars(undo_htmlspecialchars($topic_title)),
			'AUTHOR0' => htmlspecialchars($author0),
			'AUTHOR' => htmlspecialchars($author),
			'POST_TIME' => create_date($board_config['default_dateformat'], $post['post_time'], $board_config['board_timezone']).' (GMT ' . $board_config['board_timezone'] . ')',
			'ATOM_TIME'=>gmdate("Y-m-d\TH:i:s", $post['post_time'])."Z",
			'ATOM_TIME_M'=>($post['post_edit_time']<>"" ? gmdate("Y-m-d\TH:i:s", $post['post_edit_time'])."Z": gmdate("Y-m-d\TH:i:s", $post['post_time'])."Z"),
			'POST_SUBJECT' => $post_subject,
			'FORUM_NAME' => htmlspecialchars($post['forum_name']),
			'UTF_TIME'=>RSSTimeFormat($post['post_time'],$userdata['user_timezone']),
			'POST_TEXT' => htmlspecialchars(preg_replace('|[\x00-\x08\x0B\x0C\x0E-\x1f]|','',$message)),
			'USER_SIG' => htmlspecialchars($user_sig),
			'TOPIC_REPLIES' => $post['topic_replies']
			)
		);

Korvaa tällä:

Koodi: Valitse kaikki

		$template->assign_block_vars('post_item', array(
			'POST_URL' => $viewpost_url . '?' . POST_POST_URL . '=' . $post['post_id'] . '#' . $post['post_id'],
			'FIRST_POST_URL' => $viewpost_url . '?' . POST_POST_URL . '=' . $post['topic_first_post_id'] . '#' . $post['topic_first_post_id'],
			'REPLY_URL'=>$replypost_url."&".POST_POST_URL."=".$post['post_id'],
			'TOPIC_TITLE' =>htmlspecialchars(utf8encode(undo_htmlspecialchars($topic_title))),
			'AUTHOR0' => htmlspecialchars(utf8encode($author0)),
			'AUTHOR' => htmlspecialchars(utf8encode($author)),
			'POST_TIME' => create_date($board_config['default_dateformat'], $post['post_time'], $board_config['board_timezone']).' (GMT ' . $board_config['board_timezone'] . ')',
			'ATOM_TIME'=>gmdate("Y-m-d\TH:i:s", $post['post_time'])."Z",
			'ATOM_TIME_M'=>($post['post_edit_time']<>"" ? gmdate("Y-m-d\TH:i:s", $post['post_edit_time'])."Z": gmdate("Y-m-d\TH:i:s", $post['post_time'])."Z"),
			'POST_SUBJECT' => $post_subject,
			'FORUM_NAME' => htmlspecialchars(utf8encode($post['forum_name'])),
			'UTF_TIME'=>RSSTimeFormat($post['post_time'],$userdata['user_timezone']),
			'POST_TEXT' => htmlspecialchars(utf8encode(preg_replace('|[\x00-\x08\x0B\x0C\x0E-\x1f]|','',$message))),
			'USER_SIG' => htmlspecialchars(utf8encode($user_sig)),
			'TOPIC_REPLIES' => $post['topic_replies']
			)
		);
Sitten toivotaan että tuo riittää ja ettei tarvitse ihmetellä sen enempää.


CDATA-jutun voinee unohtaa, se oli vain ensimmäinen asia joka tuli mieleen, eikä todennäköisesti auta tässä tapauksessa.

Lähetetty: 28 Huhti 2006, 21:50
Kirjoittaja jpekkam
Nyt tulee virhe:

Koodi: Valitse kaikki

Fatal error: Call to undefined function: utf8encode() in /home/int2000/21086/html/keskustelu/phpBB2/rss.php on line 472

Ja tuo rivi on...

Koodi: Valitse kaikki

'TOPIC_TITLE' =>htmlspecialchars(utf8encode(undo_htmlspecialchars($topic_title))),

Lähetetty: 28 Huhti 2006, 21:54
Kirjoittaja Merri
Hitsi, se olikin utf8_encode. Eli kaikki utf8encodet pitää korjata sisältämään alaviivan. Pahuksen netti toimii tällä hetkellä todella surkeasti, en päässyt php.netistä lunttaamaan joten yritin luottaa ulkomuistiin. Ja väärin tietysti meni.

Lähetetty: 28 Huhti 2006, 22:35
Kirjoittaja jpekkam
ei ei... :(
Mikä ihime tuosa nyt on... Muistelen, että joskus aikonaan kun kokeilin tuota niin se toimi...

Lähetetty: 28 Huhti 2006, 23:22
Kirjoittaja Merri
Heeetkinen! Vika on suomen kielitiedostossa: siinä on jostain syystä käytetty noita &auml;eja ynnä muita. Eli avaa nuo kielitiedostot ja vedä korvaa kaikki näille:

&auml; -> ä
&ouml; -> ö
&Auml; -> Ä
&Ouml; -> Ö

Muista merkata, että kirjainkoolla on väliä ennen kuin korvaat.


Joskus muistaakseni nuo kielitiedostot ovat kyllä olleet ihan ilman &auml;eja sun muita, siksi varmaan tuo RSS-feedikin on silloin toiminut.

Lähetetty: 29 Huhti 2006, 00:13
Kirjoittaja jpekkam
KIIIIIIIIIIITOS! :D
Se toimi.

Korvasin nuo merkit tuohon lang_main.php tiedostoon, niin heti rupes toimiin.


:) :) :)

Lähetetty: 17 Touko 2006, 07:43
Kirjoittaja Esashi
jpekkam kirjoitti:KIIIIIIIIIIITOS! :D
Se toimi.

Korvasin nuo merkit tuohon lang_main.php tiedostoon, niin heti rupes toimiin.


:) :) :)
Mukava lukea että tulee ongelmai ratkottua tämän foorumin kautta. Keep up good work users! :)

Lähetetty: 29 Joulu 2006, 13:27
Kirjoittaja drw
Esashi kirjoitti:
jpekkam kirjoitti:KIIIIIIIIIIITOS! :D
Se toimi.


Mukava lukea että tulee ongelmai ratkottua tämän foorumin kautta. Keep up good work users! :)
Itse painin saman ongelman kanssa. Kehtaako joku laittaa valmiiksi muokatut tiedostot saataville..?

---

http://www.tunkio.tk