Also support "last X" REST interface
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
<?php # $Id: serendipity_plugin_shoutbox.php 235 2005-07-08 13:29:39Z garvinhicking $
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Fremder RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Zeigt Einträge eines externen RSS/OPML-Feeds an (z.B. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Anzahl der Einträge');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Wieviele Einträge sollen angezeigt werden? (Standard: alle im Feed)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed-Titel');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Titel der Feed-Anzeige in der Sidebar des Blogs');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML-URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI des RSS/OPML-Feeds, der angezeigt werden soll');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Link-Target');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Target des Links zu einem der angezeigten RSS-Einträge (Standard: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Kein RSS/OPML-Feed gewählt');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Wann wird der Feed aktualisiert?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Die Inhalte des fremden Feeds werden gecached. Sobald der Cache älter ist als X Sekunden wird er aktualisiert (Standard: 3 Stunden)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Typ des Feeds');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Wählen Sie das Format des einzubindenden Feeds');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Bullet Image');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Image to display before each headline.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Display Date');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Display the date below the headline?');
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision: 690 $
|
||||
* @author Rodrigo Lazo Paz <rlazo.paz@gmail.com>
|
||||
* EN-Revision: 690
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Sindicación remota RSS/OPML-Blogroll');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Muestra los elementos de una sindicación remota RSS/OPML (e.g. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Número de entradas');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '¿Cuántas entradas deben ser mostradas? (Por defecto: todas las entradas en la sindicación)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Título de la sindicación');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Título de la sindicación a colocar en la barra lateral del blog');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI de la sindicación RSS/OPML que deseas mostrar');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Ninguna sindicación RSS/OPML seleccionada');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML linktarget');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Objetivo del enlace de a uno de los elementos RSS mostrados (Por defecto: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '¿Cuándo actualizar la sindicación?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Los contenidos de una sindicación son almacenados en un caché que será actualizado cuando sea mayor a X segundos (Por defecto: 3 horas)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Tipo de sindicación');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Elige el típo de formato de la sindicación remota');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Bullet Image');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Imágen a mostrar antes de cada titular.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '¿Mostrar fecha?');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '¿Mostrar la fecha luego del titular?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php # $Id: lang_ja.inc.php,v 1.4 2005/05/17 11:37:42 garvinhicking Exp $
|
||||
|
||||
##########################################################################
|
||||
# serendipity - another blogger... #
|
||||
##########################################################################
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# Sebastian Mordziol <argh@php-tools.net> #
|
||||
# http://sebastian.mordziol.de #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Fil RSS/OPML externe');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Affiche les billets d\'un fil RSS/OPML externe (exemple: blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Nombre de billets');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Définit le nombre de billets à afficher. (Par défaut, tous les billets du fil)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Titre du fil');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Titre du fil dans la barre latérale');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'Adresse du fil');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'Définit l\'adresse du fil RSS/OPML à afficher');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Pas de fil RSS/OPML sélectionné');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Cible des liens');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Cible des liens aux billets affichés. Valeur par défaut: _blank');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Intervalle de mise à jour');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Le contenu d\'un fil sont stockés dans un ficher cache qui est actualisé toutes les X minutes. Valeur par défaut: 3');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Type de file');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Choisissez le format du fil');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Image titre');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Image à afficher avec chaque titre.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Afficher la date');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Afficher la date du billet sous son titre?');
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
?>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id: lang_ja.inc.php 693 2005-11-13 07:25:16Z elf2000 $
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
* @author Tadashi Jokagi <elf2000@users.sourceforge.net>
|
||||
* EN-Revision: 692
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'リモート RSS/OPML-Blogroll フィード');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'リモート RSS/OPML フィードの項目を表示します (例えば Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'エントリの数');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'どれくらいのエントリを表示しますか (デフォルト: 入力のすべてのエントリ)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'フィードの題名');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'ブログサイドバーでのフィードタイトル');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '表示したい RSS/OPML フィードの URI を選びます。');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'RSS/OPML が選択されていません。');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML リンクターゲット');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '表示する RSS 項目のひとつへのリンクのターゲット (デフォルト: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '入力を更新する時間?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'The contents of a feed are stored in a cache which will be updated as soon as its older than X minutes (デフォルト: 3 時間)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'フィードタイプ');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'リモートフィードの形式を選択します。');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'バレット画像');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '各ヘッドラインの前に表示する画像');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '日付の表示');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'ヘッドラインの下に日付を表示しますか?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php # $Id: lang_ko.inc.php,v 1.0 2005/06/29 13:41:13 garvinhicking Exp $
|
||||
# Translated by: Wesley Hwang-Chung <wesley96@gmail.com>
|
||||
# (c) 2005 http://www.tool-box.info/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '원격 RSS/OPML-블로그롤 피드');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '원격 RSS/OPML 피드의 아이템을 보여줌 (블로그롤 등)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '글의 수');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '몇 개의 글을 보여주겠습니까? (기본값: 피드에 있는 모든 글)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', '피드의 제목');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '블로그 옆줄에 나타낼 피드의 제목');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '표시할 RSS/OPML 피드의 URI');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'RSS/OPML 피드가 선택되지 않음');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 링크 출력 대상');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '표시된 RSS 아이템의 링크를 출력할 대상 (기본값: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '피드 갱신 주기');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', '피드 내용은 캐시에 저장되었다가 X 초가 지나면 갱신이 됨 (기본값: 3시간)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', '피드 종류');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '원격 피드의 형태를 선택');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '글머리표 그림');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '각 제목 앞에 표시될 그림 지정');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '날짜 표시');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '제목 밑에 날짜를 표시');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
* @author Kostas CoSTa Brzezinski <costa@kofeina.net>
|
||||
* EN-Revision: Revision of lang_en.inc.php
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Kanały RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Pokazuje wpisy z zewnętrznych kanałów RSS/OPML (np. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Ilość wpisów');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Jak wiele wpisów ma być pokazywanych? (Standardowo: wszystkie wpisy danego feedu)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Tytuł feedu');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Tytuł feedu - będzie pokazywany jako tytuł na Panelu Bocznym');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI kanału RSS/OPML, który chcesz pokazać');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Nie wybrano adresu kanału RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Docelowy adres linku RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Adres docelowy linków podawanych przez kanał RSS/OPML (Standardowo: _blank - linki będą otwierane w nowym oknie przeglądarki)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Jak często pobierać dane?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Zawartość feedu jest buforowana. Tu ustalasz jak często bufor ma być uaktualniany (w sekundach). (Standardowo: co 3 godziny - 10800 sekund)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Typ feedu');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Wybierz format podawanych przez kanał danych');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Znak graficzny');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Możesz tu podać link do obrazka, jaki będzie wyświetlany przed każdym pobranym wpisem.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Wyświetlać datę?');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Czy wyświetlać datę pod każdą linią z wpisem?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php # $Id: lang_ja.inc.php,v 1.4 2005/05/17 11:37:42 garvinhicking Exp $
|
||||
|
||||
##########################################################################
|
||||
# serendipity - another blogger... #
|
||||
##########################################################################
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# João P. Matos <jmatos@math.ist.utl.pt> #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Feed RSS/OPML externo');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Mostra os itens dum feed RSS/OPML externo (exemplo: blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Número de entradas');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Quantas entradas devem ser mostradas? (Por omissão, todas as entradas do feed)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Título do feed');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Título do feed na barra lateral');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'Endereço do feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'Endereço do feed RSS/OPML que quer mostrar');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Nenhum feed RSS/OPML seleccionado');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Alvo das ligações');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Alvo das ligações das entradas mostradas. Por omissão: _blank');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Intervalo de actualização');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'O conteúdo de um feed é guardado numa cache que é actualizada de X em X minutos. Valor por omissão: 3');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Tipo de feed');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Esclha o formato do feed remoto');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Imagem');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Imagem a mostrar antes de cada título.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Mostrar a data');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Mostrar a data da entrada sob o título?');
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php # $Id: $
|
||||
##########################################################################
|
||||
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity #
|
||||
# Developer Team) All rights reserved. See LICENSE file for licensing #
|
||||
# details #
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# (c) 2004-2005 CapriSkye <admin@capriskye.com> #
|
||||
# http://open.38.com #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '遠端 RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '顯示遠端的 RSS/OPML feed (例如 Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '文章數量');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '要顯示多少篇文章?(預設:全部文章)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed 的標題');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '側列顯示的 feed 標題');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML 網址');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '顯示 RSS/OPML feed 的網址');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', '沒有 RSS/OPML feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 連結目標');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '顯示 RSS 的目標屬性 (預設:_blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '更新 feed 的時間?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'feed 的內容會儲存在快取資料內,時間過後會自動更新 (預設:3 小時)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'feed 類型');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '顯示遠端 feed 的形式');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '子彈型圖示');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '每個標題旁的圖示');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '顯示日期');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '在標題下顯示日期?');
|
||||
?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php # $Id: $
|
||||
##########################################################################
|
||||
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity #
|
||||
# Developer Team) All rights reserved. See LICENSE file for licensing #
|
||||
# details #
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# (c) 2006 Aphonex Li <aphonex.li@gmail.com> #
|
||||
# http://www.exten.cn #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '远端 RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '显示远端的 RSS/OPML feed (例如 Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '文章数量');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '要显示多少篇文章(预设:全部文章)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed 的标题');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '则列显示 feed 标题');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML 网址');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '显示 RSS/OPML feed 的网址');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', '没有 RSS/OPML feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 连接目标');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '显示 RSS 的目标属性 (预设:_blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '更新 feed 的时间');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'feed 的内容会储存在快取资料内,时间过后会自动更新 (预设:3 小时)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'feed 类型');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '显示远端 feed 的形式');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '子弹型图标');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '每个标题旁的图标');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '显示日期');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '在标题下显示日期');
|
||||
?>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php # $Id: serendipity_plugin_shoutbox.php 235 2005-07-08 13:29:39Z garvinhicking $
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Fremder RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Zeigt Einträge eines externen RSS/OPML-Feeds an (z.B. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Anzahl der Einträge');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Wieviele Einträge sollen angezeigt werden? (Standard: alle im Feed)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed-Titel');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Titel der Feed-Anzeige in der Sidebar des Blogs');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML-URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI des RSS/OPML-Feeds, der angezeigt werden soll');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Link-Target');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Target des Links zu einem der angezeigten RSS-Einträge (Standard: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Kein RSS/OPML-Feed gewählt');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Wann wird der Feed aktualisiert?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Die Inhalte des fremden Feeds werden gecached. Sobald der Cache älter ist als X Sekunden wird er aktualisiert (Standard: 3 Stunden)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Typ des Feeds');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Wählen Sie das Format des einzubindenden Feeds');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Bullet Image');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Image to display before each headline.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Display Date');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Display the date below the headline?');
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
* @author Translator Name <yourmail@example.com>
|
||||
* EN-Revision: Revision of lang_en.inc.php
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Remote RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Show items of a remote RSS/OPML feed (e.g. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Number of entries');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'How many entries should be displayed? (Default: every entry of the feed)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed-Title');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Title of the feed in the blog sidebar');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI of the RSS/OPML feed which you want to display');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'No RSS/OPML feed selected');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML linktarget');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Target of the link to one of the displayed RSS items (Default: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'When to update the feed?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'The contents of a feed are stored in a cache which will be updated as soon as its older than X seconds (Default: 3 hours)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Feedtype');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Choose the format of the remote Feed');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Bullet Image');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Image to display before each headline.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Display Date');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Display the date below the headline?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision: 690 $
|
||||
* @author Rodrigo Lazo Paz <rlazo.paz@gmail.com>
|
||||
* EN-Revision: 690
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Sindicación remota RSS/OPML-Blogroll');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Muestra los elementos de una sindicación remota RSS/OPML (e.g. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Número de entradas');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '¿Cuántas entradas deben ser mostradas? (Por defecto: todas las entradas en la sindicación)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Título de la sindicación');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Título de la sindicación a colocar en la barra lateral del blog');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI de la sindicación RSS/OPML que deseas mostrar');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Ninguna sindicación RSS/OPML seleccionada');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML linktarget');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Objetivo del enlace de a uno de los elementos RSS mostrados (Por defecto: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '¿Cuándo actualizar la sindicación?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Los contenidos de una sindicación son almacenados en un caché que será actualizado cuando sea mayor a X segundos (Por defecto: 3 horas)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Tipo de sindicación');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Elige el típo de formato de la sindicación remota');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Bullet Image');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Imágen a mostrar antes de cada titular.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '¿Mostrar fecha?');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '¿Mostrar la fecha luego del titular?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php # $Id: lang_ja.inc.php,v 1.4 2005/05/17 11:37:42 garvinhicking Exp $
|
||||
|
||||
##########################################################################
|
||||
# serendipity - another blogger... #
|
||||
##########################################################################
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# Sebastian Mordziol <argh@php-tools.net> #
|
||||
# http://sebastian.mordziol.de #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Fil RSS/OPML externe');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Affiche les billets d\'un fil RSS/OPML externe (exemple: blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Nombre de billets');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Définit le nombre de billets à afficher. (Par défaut, tous les billets du fil)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Titre du fil');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Titre du fil dans la barre latérale');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'Adresse du fil');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'Définit l\'adresse du fil RSS/OPML à afficher');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Pas de fil RSS/OPML sélectionné');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Cible des liens');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Cible des liens aux billets affichés. Valeur par défaut: _blank');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Intervalle de mise à jour');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Le contenu d\'un fil sont stockés dans un ficher cache qui est actualisé toutes les X minutes. Valeur par défaut: 3');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Type de file');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Choisissez le format du fil');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Image titre');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Image à afficher avec chaque titre.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Afficher la date');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Afficher la date du billet sous son titre?');
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
?>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
* @author Tadashi Jokagi <elf2000@users.sourceforge.net>
|
||||
* EN-Revision: 692
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'リモート RSS/OPML-Blogroll フィード');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'リモート RSS/OPML フィードの項目を表示します (例えば Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'エントリの数');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'どれくらいのエントリを表示しますか (デフォルト: 入力のすべてのエントリ)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'フィードの題名');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'ブログサイドバーでのフィードタイトル');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '表示したい RSS/OPML フィードの URI を選びます。');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'RSS/OPML が選択されていません。');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML リンクターゲット');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '表示する RSS 項目のひとつへのリンクのターゲット (デフォルト: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '入力を更新する時間?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'The contents of a feed are stored in a cache which will be updated as soon as its older than X minutes (デフォルト: 3 時間)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'フィードタイプ');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'リモートフィードの形式を選択します。');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'バレット画像');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '各ヘッドラインの前に表示する画像');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '日付の表示');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'ヘッドラインの下に日付を表示しますか?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php # $Id: lang_ko.inc.php,v 1.0 2005/06/29 13:41:13 garvinhicking Exp $
|
||||
# Translated by: Wesley Hwang-Chung <wesley96@gmail.com>
|
||||
# (c) 2005 http://www.tool-box.info/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '원격 RSS/OPML-블로그롤 피드');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '원격 RSS/OPML 피드의 아이템을 보여줌 (블로그롤 등)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '글의 수');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '몇 개의 글을 보여주겠습니까? (기본값: 피드에 있는 모든 글)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', '피드의 제목');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '블로그 옆줄에 나타낼 피드의 제목');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '표시할 RSS/OPML 피드의 URI');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'RSS/OPML 피드가 선택되지 않음');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 링크 출력 대상');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '표시된 RSS 아이템의 링크를 출력할 대상 (기본값: _blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '피드 갱신 주기');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', '피드 내용은 캐시에 저장되었다가 X 초가 지나면 갱신이 됨 (기본값: 3시간)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', '피드 종류');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '원격 피드의 형태를 선택');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '글머리표 그림');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '각 제목 앞에 표시될 그림 지정');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '날짜 표시');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '제목 밑에 날짜를 표시');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php # $Id$
|
||||
|
||||
/**
|
||||
* @version $Revision$
|
||||
* @author Kostas CoSTa Brzezinski <costa@kofeina.net>
|
||||
* EN-Revision: Revision of lang_en.inc.php
|
||||
*/
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Kana³y RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Pokazuje wpisy z zewnêtrznych kana³ów RSS/OPML (np. Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Ilo¶æ wpisów');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Jak wiele wpisów ma byæ pokazywanych? (Standardowo: wszystkie wpisy danego feedu)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Tytu³ feedu');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Tytu³ feedu - bêdzie pokazywany jako tytu³ na Panelu Bocznym');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML URI');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'URI kana³u RSS/OPML, który chcesz pokazaæ');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Nie wybrano adresu kana³u RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Docelowy adres linku RSS/OPML');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Adres docelowy linków podawanych przez kana³ RSS/OPML (Standardowo: _blank - linki bêd± otwierane w nowym oknie przegl±darki)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Jak czêsto pobieraæ dane?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'Zawarto¶æ feedu jest buforowana. Tu ustalasz jak czêsto bufor ma byæ uaktualniany (w sekundach). (Standardowo: co 3 godziny - 10800 sekund)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Typ feedu');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Wybierz format podawanych przez kana³ danych');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Znak graficzny');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Mo¿esz tu podaæ link do obrazka, jaki bêdzie wy¶wietlany przed ka¿dym pobranym wpisem.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Wy¶wietlaæ datê?');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Czy wy¶wietlaæ datê pod ka¿d± lini± z wpisem?');
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php # $Id: lang_ja.inc.php,v 1.4 2005/05/17 11:37:42 garvinhicking Exp $
|
||||
|
||||
##########################################################################
|
||||
# serendipity - another blogger... #
|
||||
##########################################################################
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# João P. Matos <jmatos@math.ist.utl.pt> #
|
||||
# #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', 'Feed RSS/OPML externo');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', 'Mostra os itens dum feed RSS/OPML externo (exemplo: blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', 'Número de entradas');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', 'Quantas entradas devem ser mostradas? (Por omissão, todas as entradas do feed)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Título do feed');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', 'Título do feed na barra lateral');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'Endereço do feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', 'Endereço do feed RSS/OPML que quer mostrar');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', 'Nenhum feed RSS/OPML seleccionado');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'Alvo das ligações');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', 'Alvo das ligações das entradas mostradas. Por omissão: _blank');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', 'Intervalo de actualização');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'O conteúdo de um feed é guardado numa cache que é actualizada de X em X minutos. Valor por omissão: 3');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'Tipo de feed');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', 'Esclha o formato do feed remoto');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', 'Imagem');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', 'Imagem a mostrar antes de cada título.');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', 'Mostrar a data');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', 'Mostrar a data da entrada sob o título?');
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php # $Id: $
|
||||
##########################################################################
|
||||
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity #
|
||||
# Developer Team) All rights reserved. See LICENSE file for licensing #
|
||||
# details #
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# (c) 2004-2005 CapriSkye <admin@capriskye.com> #
|
||||
# http://open.38.com #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '遠端 RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '顯示遠端的 RSS/OPML feed (例如 Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '文章數量');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '要顯示多少篇文章?(預設:全部文章)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed 的標題');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '側列顯示的 feed 標題');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML 網址');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '顯示 RSS/OPML feed 的網址');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', '沒有 RSS/OPML feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 連結目標');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '顯示 RSS 的目標屬性 (預設:_blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '更新 feed 的時間?');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'feed 的內容會儲存在快取資料內,時間過後會自動更新 (預設:3 小時)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'feed 類型');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '顯示遠端 feed 的形式');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '子彈型圖示');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '每個標題旁的圖示');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '顯示日期');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '在標題下顯示日期?');
|
||||
?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php # $Id: $
|
||||
##########################################################################
|
||||
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity #
|
||||
# Developer Team) All rights reserved. See LICENSE file for licensing #
|
||||
# details #
|
||||
# #
|
||||
# (c) 2003 Jannis Hermanns <J@hacked.it> #
|
||||
# http://www.jannis.to/programming/serendipity.html #
|
||||
# #
|
||||
# Translated by #
|
||||
# (c) 2006 Aphonex Li <aphonex.li@gmail.com> #
|
||||
# http://www.exten.cn #
|
||||
##########################################################################
|
||||
|
||||
@define('PLUGIN_REMOTERSS_TITLE', '远端 RSS/OPML-Blogroll Feed');
|
||||
@define('PLUGIN_REMOTERSS_BLAHBLAH', '显示远端的 RSS/OPML feed (例如 Blogroll)');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER', '文章数量');
|
||||
@define('PLUGIN_REMOTERSS_NUMBER_BLAHBLAH', '要显示多少篇文章(预设:全部文章)');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE', 'Feed 的标题');
|
||||
@define('PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH', '则列显示 feed 标题');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI', 'RSS/OPML 网址');
|
||||
@define('PLUGIN_REMOTERSS_RSSURI_BLAHBLAH', '显示 RSS/OPML feed 的网址');
|
||||
@define('PLUGIN_REMOTERSS_NOURI', '没有 RSS/OPML feed');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET', 'RSS/OPML 连接目标');
|
||||
@define('PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH', '显示 RSS 的目标属性 (预设:_blank)');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME', '更新 feed 的时间');
|
||||
@define('PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH', 'feed 的内容会储存在快取资料内,时间过后会自动更新 (预设:3 小时)');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE', 'feed 类型');
|
||||
@define('PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH', '显示远端 feed 的形式');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG', '子弹型图标');
|
||||
@define('PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH', '每个标题旁的图标');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE', '显示日期');
|
||||
@define('PLUGIN_REMOTERSS_DISPLAYDATE_BLAHBLAH', '在标题下显示日期');
|
||||
?>
|
||||
@@ -0,0 +1,608 @@
|
||||
<?php # $Id$
|
||||
|
||||
// Contributed by Udo Gerhards <udo@babyblaue-seiten.de>
|
||||
// OPML Contributed by Richard Thomas Harrison <rich@mibnet.plus.com>
|
||||
|
||||
// Probe for a language include with constants. Still include defines later on, if some constants were missing
|
||||
$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';
|
||||
if (file_exists($probelang)) {
|
||||
include $probelang;
|
||||
}
|
||||
|
||||
include dirname(__FILE__) . '/lang_en.inc.php';
|
||||
|
||||
class s9y_remoterss_XMLTree {
|
||||
function GetChildren($vals, &$i) {
|
||||
$children = array();
|
||||
$cnt = sizeof($vals);
|
||||
while (++$i < $cnt) {
|
||||
// compare type
|
||||
switch ($vals[$i]['type']) {
|
||||
case 'cdata':
|
||||
$children[] = $vals[$i]['value'];
|
||||
break;
|
||||
|
||||
case 'complete':
|
||||
$children[] = array(
|
||||
'tag' => $vals[$i]['tag'],
|
||||
'attributes' => $vals[$i]['attributes'],
|
||||
'value' => $vals[$i]['value']
|
||||
);
|
||||
break;
|
||||
|
||||
case 'open':
|
||||
$children[] = array(
|
||||
'tag' => $vals[$i]['tag'],
|
||||
'attributes' => $vals[$i]['attributes'],
|
||||
'value' => $vals[$i]['value'],
|
||||
'children' => $this->GetChildren($vals, $i)
|
||||
);
|
||||
break;
|
||||
|
||||
case 'close':
|
||||
return $children;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function GetXMLTree($file) {
|
||||
require_once S9Y_PEAR_PATH . 'HTTP/Request.php';
|
||||
serendipity_request_start();
|
||||
$req = &new HTTP_Request($file);
|
||||
|
||||
if (PEAR::isError($req->sendRequest()) || $req->getResponseCode() != '200') {
|
||||
$data = file_get_contents($file);
|
||||
} else {
|
||||
// Fetch file
|
||||
$data = $req->getResponseBody();
|
||||
}
|
||||
serendipity_request_end();
|
||||
|
||||
// Global replacements
|
||||
// by: waldo@wh-e.com - trim space around tags not within
|
||||
$data = eregi_replace('>[[:space:]]+<', '><', $data);
|
||||
|
||||
// Flatten the input opml file to not have nested categories
|
||||
$data = preg_replace('@<outline[^>]+[^/]>@imsU', '', $data);
|
||||
$data = str_replace('</outline>', '', $data);
|
||||
|
||||
// XML functions
|
||||
$xml_string = '<?xml version="1.0" encoding="UTF-8" ?>';
|
||||
if (preg_match('@(<\?xml.+\?>)@imsU', $data, $xml_head)) {
|
||||
$xml_string = $xml_head[1];
|
||||
}
|
||||
|
||||
$encoding = 'UTF-8';
|
||||
if (preg_match('@encoding="([^"]+)"@', $xml_string, $xml_encoding)) {
|
||||
$encoding = $xml_encoding[1];
|
||||
}
|
||||
|
||||
$p = xml_parser_create($encoding);
|
||||
// by: anony@mous.com - meets XML 1.0 specification
|
||||
@xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0);
|
||||
xml_parser_set_option($p, XML_OPTION_TARGET_ENCODING, LANG_CHARSET);
|
||||
xml_parse_into_struct($p, $data, $vals, $index);
|
||||
xml_parser_free($p);
|
||||
|
||||
$i = 0;
|
||||
$tree = array();
|
||||
$tree[] = array(
|
||||
'tag' => $vals[$i]['tag'],
|
||||
'attributes' => $vals[$i]['attributes'],
|
||||
'value' => $vals[$i]['value'],
|
||||
'children' => $this->GetChildren($vals, $i)
|
||||
);
|
||||
|
||||
return $tree;
|
||||
}
|
||||
}
|
||||
|
||||
define('OPMLDEBUG', '0');
|
||||
|
||||
class s9y_remoterss_OPML {
|
||||
var $cacheOPMLHead;
|
||||
var $cacheOPMLBody;
|
||||
var $cacheOPMLOutline;
|
||||
|
||||
function s9y_remoterss_OPML() {
|
||||
$this->cacheOPMLHead = array();
|
||||
$this->cacheOPMLBody = array();
|
||||
$this->cacheOPMLOutline = array();
|
||||
}
|
||||
|
||||
function parseOPML($file) {
|
||||
$xmltree = new s9y_remoterss_XMLTree();
|
||||
$opmltree = $xmltree->GetXMLTree($file);
|
||||
|
||||
return $opmltree[0];
|
||||
}
|
||||
|
||||
function findOPMLTag($arr, $tag) {
|
||||
$i = 0;
|
||||
$tagindex = false;
|
||||
$children = $arr['children'];
|
||||
$cnt = count($children);
|
||||
|
||||
while ($i < $cnt) {
|
||||
|
||||
if ($children[$i]['tag'] == $tag) {
|
||||
$tagindex = $i;
|
||||
break;
|
||||
}
|
||||
|
||||
++$i;
|
||||
}
|
||||
|
||||
return $tagindex !== false ? $tagindex : false;
|
||||
}
|
||||
|
||||
function getOPMLTag($tree, $tag) {
|
||||
$tagindex = $this->findOPMLTag($tree, $tag);
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\ngetOPMLTag('" . $tag . "') = " . $tagindex . "<pre>\n";
|
||||
print_r($tree['children'][$tagindex]);
|
||||
echo "\n</pre>\n";
|
||||
}
|
||||
|
||||
return $tagindex !== false ? $tree['children'][$tagindex] : false;
|
||||
}
|
||||
|
||||
function getOPMLHead($tree) {
|
||||
$head = array();
|
||||
|
||||
if (isset($this->cacheOPMLHead) && count($this->cacheOPMLHead) != 0) {
|
||||
$head = $this->cacheOPMLHead;
|
||||
} else {
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\ngetOPMLHead<br />\n";
|
||||
}
|
||||
|
||||
$head = $this->getOPMLTag($tree, 'head');
|
||||
|
||||
if ($head !== false) {
|
||||
$this->cacheOPMLHead = $head;
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\nCaching head<pre>\n";
|
||||
print_r($this->cacheOPMLHead);
|
||||
echo "\n</pre>\n";
|
||||
}
|
||||
} elseif (OPMLDEBUG == 1) {
|
||||
echo "\nfalse<br />\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $head['tag'] == 'head' ? $head : false;
|
||||
}
|
||||
|
||||
function getOPMLBody($tree) {
|
||||
$body = array();
|
||||
|
||||
if (isset($this->cacheOPMLBody) && count($this->cacheOPMLBody) != 0) {
|
||||
$body = $this->cacheOPMLBody;
|
||||
} else {
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\ngetOPMLBody<br />\n";
|
||||
}
|
||||
|
||||
$body = $this->getOPMLTag($tree, 'body');
|
||||
|
||||
if ($body !== false) {
|
||||
$this->cacheOPMLBody = $body;
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\nCaching body<pre>\n";
|
||||
print_r($this->cacheOPMLBody);
|
||||
echo "\n</pre>\n";
|
||||
}
|
||||
|
||||
} elseif (OPMLDEBUG == 1) {
|
||||
echo "\nfalse<br />\n";
|
||||
}
|
||||
}
|
||||
|
||||
return $body['tag'] == 'body' ? $body : false;
|
||||
}
|
||||
|
||||
function getOPMLOutline($tree, $index) {
|
||||
|
||||
if (isset($this->cacheOPMLOutline[$index])) {
|
||||
return $this->cacheOPMLOutline[$index];
|
||||
}
|
||||
|
||||
$body = $this->getOPMLBody($tree);
|
||||
|
||||
if (!$body) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$outline = $body['children'][$index];
|
||||
|
||||
if ($outline['tag'] == 'outline') {
|
||||
$this->cacheOPMLOutline[$index] = $outline;
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\ngetOPMLOutline[" . $index . "]<br />\n";
|
||||
echo "\nCaching outline[" . $index . "]<pre>\n";
|
||||
print_r($this->cacheOPMLOutline[$index]);
|
||||
echo "\n</pre>\n";
|
||||
}
|
||||
|
||||
return $outline;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getOPMLOutlineAttr($tree, $index) {
|
||||
$outline = $this->getOPMLOutline($tree, $index);
|
||||
|
||||
return $outline != false ? $outline['attributes'] : false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class serendipity_plugin_remoterss extends serendipity_plugin {
|
||||
var $title = PLUGIN_REMOTERSS_TITLE;
|
||||
var $encoding = null;
|
||||
|
||||
function introspect(&$propbag) {
|
||||
$this->title = $this->get_config('sidebartitle', $this->title);
|
||||
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_TITLE);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_BLAHBLAH);
|
||||
$propbag->add('stackable', true);
|
||||
$propbag->add('author', 'Udo Gerhards, Richard Thomas Harrison');
|
||||
$propbag->add('version', '1.5');
|
||||
$propbag->add('requirements', array(
|
||||
'serendipity' => '0.8',
|
||||
'smarty' => '2.6.7',
|
||||
'php' => '4.1.0'
|
||||
));
|
||||
$propbag->add('configuration', array('number', 'displaydate', 'dateformat', 'sidebartitle', 'rssuri', 'charset', 'target', 'cachetime', 'feedtype', 'bulletimg', 'markup'));
|
||||
$propbag->add('groups', array('FRONTEND_EXTERNAL_SERVICES'));
|
||||
}
|
||||
|
||||
function introspect_config_item($name, &$propbag) {
|
||||
switch($name) {
|
||||
case 'markup':
|
||||
$propbag->add('type', 'boolean');
|
||||
$propbag->add('name', DO_MARKUP);
|
||||
$propbag->add('description', DO_MARKUP_DESCRIPTION);
|
||||
$propbag->add('default', 'false');
|
||||
break;
|
||||
|
||||
case 'charset':
|
||||
$propbag->add('type', 'radio');
|
||||
$propbag->add('name', CHARSET);
|
||||
$propbag->add('description', CHARSET);
|
||||
$propbag->add('default', 'native');
|
||||
|
||||
$charsets = array();
|
||||
if (LANG_CHARSET != 'UTF-8') {
|
||||
$charsets['value'][] = $charsets['desc'][] = 'UTF-8';
|
||||
}
|
||||
if (LANG_CHARSET != 'ISO-8859-1') {
|
||||
$charsets['value'][] = $charsets['desc'][] = 'ISO-8859-1';
|
||||
}
|
||||
|
||||
$charsets['value'][] = 'native';
|
||||
$charsets['desc'][] = LANG_CHARSET;
|
||||
$propbag->add('radio', $charsets);
|
||||
break;
|
||||
|
||||
case 'feedtype':
|
||||
$select = array('rss' => 'RSS', 'opml' => 'OPML');
|
||||
$propbag->add('type', 'select');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_FEEDTYPE);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_FEEDTYPE_BLAHBLAH);
|
||||
$propbag->add('select_values', $select);
|
||||
$propbag->add('default', 'rss');
|
||||
break;
|
||||
|
||||
case 'number':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_NUMBER);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_NUMBER_BLAHBLAH);
|
||||
$propbag->add('default', '0');
|
||||
break;
|
||||
|
||||
case 'dateformat':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', GENERAL_PLUGIN_DATEFORMAT);
|
||||
$propbag->add('description', sprintf(GENERAL_PLUGIN_DATEFORMAT_BLAHBLAH, '%A, %B %e. %Y'));
|
||||
$propbag->add('default', '%A, %B %e. %Y');
|
||||
break;
|
||||
|
||||
case 'sidebartitle':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_SIDEBARTITLE);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_SIDEBARTITLE_BLAHBLAH);
|
||||
$propbag->add('default', '');
|
||||
break;
|
||||
|
||||
case 'rssuri':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_RSSURI);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_RSSURI_BLAHBLAH);
|
||||
$propbag->add('default', '');
|
||||
break;
|
||||
|
||||
case 'target':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_RSSTARGET);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_RSSTARGET_BLAHBLAH);
|
||||
$propbag->add('default', '_blank');
|
||||
break;
|
||||
|
||||
case 'cachetime':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_CACHETIME);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_CACHETIME_BLAHBLAH);
|
||||
$propbag->add('default', 10800);
|
||||
break;
|
||||
|
||||
case 'bulletimg':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_BULLETIMG);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_BULLETIMG_BLAHBLAH);
|
||||
$propbag->add('default', '');
|
||||
break;
|
||||
|
||||
|
||||
case 'displaydate':
|
||||
$propbag->add('type', 'boolean');
|
||||
$propbag->add('name', PLUGIN_REMOTERSS_DISPLAYDATE);
|
||||
$propbag->add('description', PLUGIN_REMOTERSS_BLAHBLAH);
|
||||
$propbag->add('default', 'true');
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Check if a given URI is readable.
|
||||
function urlcheck($uri) {
|
||||
|
||||
// These two substring comparisons are faster than one regexp.
|
||||
if ('http://' != substr($uri, 0, 7) && 'https://' != substr($uri, 0, 8)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Disabled by now. May get enabled in the future, but for now the extra HTTP call isn't worth trying.
|
||||
return true;
|
||||
require_once S9Y_PEAR_PATH . 'HTTP/Request.php';
|
||||
serendipity_request_start();
|
||||
$req = &new HTTP_Request($uri);
|
||||
|
||||
if (PEAR::isError($req->sendRequest()) || !preg_match('@^[23]..@', $req->getResponseCode())) {
|
||||
serendipity_request_end();
|
||||
return false;
|
||||
} else {
|
||||
serendipity_request_end();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function debug($msg) {
|
||||
static $debug = false;
|
||||
|
||||
if ($debug === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$fp = fopen('rss.log', 'a');
|
||||
fwrite($fp, '[' . date('Y-m-d H:i') . '] ' . $msg . "\n");
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
function generate_content(&$title) {
|
||||
global $serendipity;
|
||||
|
||||
$number = $this->get_config('number');
|
||||
$displaydate = $this->get_config('displaydate','true');
|
||||
$dateformat = $this->get_config('dateformat');
|
||||
$sidebartitle = $title = $this->get_config('sidebartitle', $this->title);
|
||||
$rssuri = $this->get_config('rssuri');
|
||||
$target = $this->get_config('target');
|
||||
$cachetime = $this->get_config('cachetime');
|
||||
$feedtype = $this->get_config('feedtype', 'rss');
|
||||
$markup = $this->get_config('markup', 'false');
|
||||
$bulletimg = $this->get_config('bulletimg');
|
||||
$charset = $this->get_config('charset', 'native');
|
||||
|
||||
if (!$number || !is_numeric($number) || $number < 1) {
|
||||
$showAll = true;
|
||||
} else {
|
||||
$showAll = false;
|
||||
}
|
||||
|
||||
if (!$dateformat || strlen($dateformat) < 1) {
|
||||
$dateformat = '%A, %B %e. %Y';
|
||||
}
|
||||
|
||||
if (!$cachetime || !is_numeric($cachetime)) {
|
||||
$cachetime = 10800; // 3 hours in seconds
|
||||
}
|
||||
|
||||
if (trim($rssuri)) {
|
||||
$feedcache = $serendipity['serendipityPath'] . 'templates_c/remoterss_cache_' . preg_replace('@[^a-z0-9]*@i', '', $rssuri) . '.dat';
|
||||
if (!file_exists($feedcache) || filesize($feedcache) == 0 || filemtime($feedcache) < (time() - $cachetime)) {
|
||||
$this->debug('Cachefile does not existing.');
|
||||
if (!$this->urlcheck($rssuri)) {
|
||||
$this->debug('URLCheck failed');
|
||||
echo '<!-- No valid URL! -->';
|
||||
} elseif ($feedtype == 'rss') {
|
||||
$this->debug('URLCheck succeeded. Touching ' . $feedcache);
|
||||
// Touching the feedcache file will prevent loops of death when the RSS target is the same URI than our blog.
|
||||
@touch($feedcache);
|
||||
require_once S9Y_PEAR_PATH . 'Onyx/RSS.php';
|
||||
$c = &new Onyx_RSS($charset);
|
||||
$this->debug('Running Onyx Parser');
|
||||
$c->parse($rssuri);
|
||||
$this->encoding = $c->rss['encoding'];
|
||||
|
||||
$i = 0;
|
||||
$content = '';
|
||||
while (($showAll || ($i < $number)) && ($item = $c->getNextItem())) {
|
||||
if (empty($item['title'])) {
|
||||
continue;
|
||||
}
|
||||
$content .= '<a href="' . $this->decode($item['link']) . '" ' . (!empty($target) ? 'target="'.$target.'"' : '') . '>';
|
||||
if (!empty($bulletimg)) {
|
||||
$content .= '<img src="' . $bulletimg . '" border="0" alt="*" /> ';
|
||||
}
|
||||
$content .= $this->decode($item['title']) . "</a><br />\n";
|
||||
$item['timestamp'] = @strtotime(isset($item['pubdate']) ? $item['pubdate'] : $item['dc:date']);
|
||||
if (!($item['timestamp'] == -1) AND ($displaydate == 'true')) {
|
||||
$content .= '<div class="serendipitySideBarDate">'
|
||||
. htmlspecialchars(serendipity_formatTime($dateformat, $item['timestamp'], false))
|
||||
. '</div><br />';
|
||||
|
||||
}
|
||||
++$i;
|
||||
}
|
||||
|
||||
$this->debug('Caching Feed (' . strlen($content) . ' bytes)');
|
||||
$fp = @fopen($feedcache, 'w');
|
||||
if (trim($content) != '' && $fp) {
|
||||
fwrite($fp, $content);
|
||||
fclose($fp);
|
||||
$this->debug('Feed cache written');
|
||||
} else {
|
||||
$this->debug('Could not write (empty?) cache.');
|
||||
echo '<!-- Cache failed to ' . $feedcache . ' in ' . getcwd() . ' --><br />';
|
||||
if (trim($content) == '') {
|
||||
$this->debug('Getting old feedcache');
|
||||
$content = @file_get_contents($feedcache);
|
||||
}
|
||||
}
|
||||
$this->debug('RSS Plugin finished.');
|
||||
} elseif ($feedtype == 'opml') {
|
||||
// Touching the feedcache file will prevent loops of death when the RSS target is the same URI than our blog.
|
||||
@touch($feedcache);
|
||||
|
||||
$opml = new s9y_remoterss_OPML();
|
||||
$opmltree = $opml->parseOPML($rssuri);
|
||||
|
||||
if (OPMLDEBUG == 1) {
|
||||
echo "\n<pre>\n";
|
||||
print_r($opmltree);
|
||||
echo "\n</pre>\n";
|
||||
}
|
||||
|
||||
if ($opmltree['tag'] === 'opml') {
|
||||
$head = $opml->getOPMLHead($opmltree);
|
||||
$ownerName = $opml->getOPMLTag($head, 'ownerName');
|
||||
$blogrolling = $ownerName != false ? ($ownerName['value'] == 'Blogroll Owner' ? true : false) : false;
|
||||
|
||||
$i = 0;
|
||||
$content = '';
|
||||
while (($showAll || ($i < $number)) && ($item = $opml->getOPMLOutlineAttr($opmltree, $i))) {
|
||||
if (!empty($item['url'])) {
|
||||
$url = $this->decode($item['url']);
|
||||
} elseif (!empty($item['htmlUrl'])) {
|
||||
$url = $this->decode($item['htmlUrl']);
|
||||
} elseif (!empty($item['xmlUrl'])) {
|
||||
$url = $this->decode($item['xmlUrl']);
|
||||
} elseif (!empty($item['urlHTTP'])) {
|
||||
$url = $this->decode($item['urlHTTP']);
|
||||
} else {
|
||||
$url = '';
|
||||
}
|
||||
|
||||
if (!empty($item['text'])) {
|
||||
$text = htmlspecialchars($this->decode($item['text']));
|
||||
} elseif (!empty($item['title'])) {
|
||||
$text = htmlspecialchars($this->decode($item['title']));
|
||||
} elseif (!empty($item['description'])) {
|
||||
$text = htmlspecialchars($this->decode($item['description']));
|
||||
} else {
|
||||
$text = '';
|
||||
}
|
||||
|
||||
if ($blogrolling === true && (!empty($text) || !empty($url))) {
|
||||
$content .= '• <a href="' . $url . '" ' . (!empty($target) ? 'target="'.$target.'"' : '') . ' title="' . $text . '">' . htmlspecialchars($text) . "</a>";
|
||||
if (isset($item['isRecent'])) {
|
||||
$content .= ' <span style="color: Red; ">*</span>';
|
||||
}
|
||||
$content .= "<br />";
|
||||
} elseif ((isset($item['type']) && $item['type'] == 'url') || !empty($url)) {
|
||||
$content .= '• <a href="' .$url . '" ' . (!empty($target) ? 'target="'.$target.'"' : '') . ' title="' . $text . '">' . $text . "</a>";
|
||||
$content .= "<br />";
|
||||
}
|
||||
++$i;
|
||||
}
|
||||
|
||||
/* Pretend to be a html_nugget so we can apply markup events. */
|
||||
if ($markup == 'true') {
|
||||
$entry = array('html_nugget' => $content);
|
||||
serendipity_plugin_api::hook_event('frontend_display', $entry);
|
||||
$content = $entry['html_nugget'];
|
||||
}
|
||||
|
||||
$fp = @fopen($feedcache, 'w');
|
||||
if (trim($content) != '' && $fp) {
|
||||
fwrite($fp, $content);
|
||||
fclose($fp);
|
||||
} else {
|
||||
echo '<!-- Cache failed to ' . $feedcache . ' in ' . getcwd() . ' --><br />';
|
||||
if (trim($content) == '') {
|
||||
$content = @file_get_contents($feedcache);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo '<!-- Not a valid OPML feed -->';
|
||||
}
|
||||
} else {
|
||||
echo '<!-- no valid feedtype -->';
|
||||
}
|
||||
} else {
|
||||
$this->debug('Got feed from cache ' . $feedcache);
|
||||
$content = file_get_contents($feedcache);
|
||||
}
|
||||
|
||||
echo $content;
|
||||
} else {
|
||||
echo PLUGIN_REMOTERSS_NOURI;
|
||||
}
|
||||
}
|
||||
|
||||
function &decode($string) {
|
||||
$target = $this->get_config('charset', 'native');
|
||||
|
||||
// xml_parser_* functions to recoding from ISO-8859-1/UTF-8
|
||||
if (LANG_CHARSET == 'ISO-8859-1' || LANG_CHARSET == 'UTF-8') {
|
||||
return $string;
|
||||
}
|
||||
|
||||
switch($target) {
|
||||
case 'native':
|
||||
return $string;
|
||||
|
||||
case 'ISO-8859-1':
|
||||
if (function_exists('iconv')) {
|
||||
$out = iconv('ISO-8859-1', LANG_CHARSET, $string);
|
||||
} elseif (function_exists('recode')) {
|
||||
$out = recode('iso-8859-1..' . LANG_CHARSET, $string);
|
||||
} else {
|
||||
return $string;
|
||||
}
|
||||
|
||||
return $out;
|
||||
|
||||
case 'UTF-8':
|
||||
default:
|
||||
$out = utf8_decode($string);
|
||||
return $out;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
Reference in New Issue
Block a user