RSS -lukija ongelma?

MODien asennus ja omat muokkaukset.
jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:
RSS -lukija ongelma?

Viesti Kirjoittaja jpekkam » 28 Huhti 2006, 17:42

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

Avatar
Merri
MODaaja
MODaaja
Viestit:155
Liittynyt:21 Huhti 2006, 23:32
Paikkakunta:Riihimäki
Viesti:

Viesti Kirjoittaja Merri » 28 Huhti 2006, 18:03

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.

jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:

Viesti Kirjoittaja jpekkam » 28 Huhti 2006, 19:06

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>
--^

jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:

Viesti Kirjoittaja jpekkam » 28 Huhti 2006, 19:20

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>

Avatar
Merri
MODaaja
MODaaja
Viestit:155
Liittynyt:21 Huhti 2006, 23:32
Paikkakunta:Riihimäki
Viesti:

Viesti Kirjoittaja Merri » 28 Huhti 2006, 21:35

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.

jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:

Viesti Kirjoittaja jpekkam » 28 Huhti 2006, 21:50

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))),

Avatar
Merri
MODaaja
MODaaja
Viestit:155
Liittynyt:21 Huhti 2006, 23:32
Paikkakunta:Riihimäki
Viesti:

Viesti Kirjoittaja Merri » 28 Huhti 2006, 21:54

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.

jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:

Viesti Kirjoittaja jpekkam » 28 Huhti 2006, 22:35

ei ei... :(
Mikä ihime tuosa nyt on... Muistelen, että joskus aikonaan kun kokeilin tuota niin se toimi...

Avatar
Merri
MODaaja
MODaaja
Viestit:155
Liittynyt:21 Huhti 2006, 23:32
Paikkakunta:Riihimäki
Viesti:

Viesti Kirjoittaja Merri » 28 Huhti 2006, 23:22

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.

jpekkam
Hyvässä vauhdissa
Hyvässä vauhdissa
Viestit:10
Liittynyt:07 Tammi 2006, 11:11
Viesti:

Viesti Kirjoittaja jpekkam » 29 Huhti 2006, 00:13

KIIIIIIIIIIITOS! :D
Se toimi.

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


:) :) :)

Avatar
Esashi
Aktiivinen jäsen
Aktiivinen jäsen
Viestit:376
Liittynyt:19 Tammi 2006, 10:22
Viesti:

Viesti Kirjoittaja Esashi » 17 Touko 2006, 07:43

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! :)
Esashi

Maan Äiti, anna minulle
ymmärrystä heidän suhteen, jotka eivät ymmärrä minua,
kärsivällisyyttä heitä kohtaan, jotka eivät pidä minusta,
viisautta, osatakseni kätkeä heidän ruumiit,
jotka ovat käyneet hermoilleni

Avatar
drw
MODaaja
MODaaja
Viestit:86
Liittynyt:07 Loka 2006, 12:32

Viesti Kirjoittaja drw » 29 Joulu 2006, 13:27

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

Viestiketju Lukittu

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 127 vierailijaa