Skip to main content.

Archives

This is the archive for March 2004

amazon Web Servicesの仕様変わった?

2004-03-21くらいから、NP_ISBNで書籍情報をxmlでひっぱってこれなくなっている様子。
urlを直に叩くと、
Invalid locale parameter "jp". Valid locales are: us (localeにjpは指定できません)
と出る。
なんか仕様が変わった?
っつーか、jp指定はやってみたらできたという程度の物であくまでも実験中のサービスで..みたいなくだりも確かにあったように記憶しているから仕方のないことなんだけど。

ちょっと目下調査中。 解決!答えはここに。

NP_ISBNを修正してください!118行目付近。
×修正前↓
        $xmlurl = "http://xml.amazon.com/onca/xml3";

○修正後↓
        $xmlurl = "http://xml.amazon.co.jp/onca/xml3";

NP_FootNote バージョン 0.3

すでにお気づきの方もいらっしゃるかと思いますが、注釈のない記事にも無駄なコードを追加していたので、それを修正しました。

ダウンロード: NP_FootNote03.zip

NP_ShowBlogsを最新のバージョンで使う方法

NP_ShowBlogsに限らず、アイテムを抽出する関連のプラグインに共通する話なんですが。
まもなくリリースのNucleus2.5(もしくは2.5RC)からは、MySQLサーバの時差に対応している関係で、SQL文に「UNIX_TIMESTAMP」を使わなくなりました。
意味はわかんなくても良いんですが(^_^;

具体的な修正方法は、ソースの中で、
UNIX_TIMESTAMP(i.itime) as timestamp
とあるところは、
i.itime
に置換してやらないと、例えば時刻表示なんかが00:00:00になっちゃいます。
NP_ShowBlogsだと、2箇所ですね。

ページスイッチリンクをFancyURL化する

ページスイッチリンクをFancyURL化する - 竜の巣日記 - Dragon's Nest
↑ここに書いておられました。
格好良い!

1:Nucleusをインストールしたルートディレクトリに「page」という名前のファイルを作成。
中身は↓
<? 
include('./fancyurls.config.php'); 
include('./config.php'); 
selector(); 
?> 


2:そのディレクトリにある.htaccessに以下の3行を追加。
<FilesMatch "^page$"> 
    ForceType application/x-httpd-php 
</FilesMatch> 


3:NP_ShowBlogsのソースを書き換え
NP_ShowBlogsをpage=で検索してpage/に書き換えます。途中一箇所page==の部分は書き換えないので注意です。


4:NP_ShowBlogsのソースを書き換え その2
修正前↓
        if($uri['query']){ 
            $pagelink .= '&'; 
            $pagelink = str_replace('&&','&',$pagelink); 
        }else{ 
            $pagelink .= '?'; 
        } 

修正後↓
        if($uri['query']){ 
            $pagelink .= '/'; 
            $pagelink = str_replace('&/','/',$pagelink); 
        } 

NP_HighlightSource バージョン0.7

バグ(?)フィックス。

ダウンロード: NP_HighlightSource07.zip

不具合報告、引き続き募集中。

cvs情報

2004-03-17 12:00頃の状態。
→別ウィンドウで。

デフォのcss格納ディレクトリ名が「gray」に変更になるみたいだけど、install.sqlではまだ「base/」になってるから、丸ごと取ってきてもまだ使えないだろうな。

TrackbackURLを短くする 続編

407番の続報。(って違う人が書いてんだけど)
TrackBackのFancyURL化 - 竜の巣日記 - Dragon's Nest
↑ああ、かっこいい。
TrackBackURLが
http://**.com/trackback/123
になっちゃうとな。
そりゃいいぞ!

あーちなみに、rsscodeなんかも対応しないと格好よさを徹底できないですよねー


mysqlサーバの時差にも対応したらしい...

サーバーに時差がある場合... - xx.nakahara21.net
時差問題は - xx.nakahara21.net
↑ここで書いていたんですが、phpサーバの時差はblog設定で解決できるのに、mysqlサーバの時差はNucleusで対応し切れていませんでした。

でも、2.5cvsバージョンで、無事対応したんだって
それはとってもhappyなニュース!

あーでも
The problem should be fixed in the current CVS version.

I removed all UNIX_TIMESTAMP() calls from the SQL queries.
All unix timestamp <-> string conversions are now done on the PHP server.
らしいので、っつー事は、プラグインの中でsqlクエリにUNIX_TIMESTAMP()を使っているものは、全部書き直さなくちゃダメじゃん!
(実害はほとんどないと思うけどね)
それって、Nucleusでグローバルなfunction用意されているのかな??だといいが...でも、やっぱ用意されてるよねーきっと。
と思ったら、
$timestamp = strtotime($obj->itime);
だけでいいんだな(笑)



NP_FootNote 0.2にバージョンアップ

インストールすると、拡張文がなくっても全部アリになってしまっていたバグ修正。

ダウンロード: NP_FootNote02.zip
※バージョン「0.1+」からのバージョンアップの際は、上書き転送のみでOK。
バージョン「0.1」以下からのバージョンアップは、一度アンインストールしてから再インストールが必要。

◆注解を表示する場所について
プラグインの編集オプションで、bodyとmoreで注解を分けて表示する、という指定にしている場合は、
本文→本文の注解→拡張文→拡張文の注解
という順序で表示されます。
ただし、
1:アイテム詳細ページ(index.php?itemid=**)では、注解の全部をまとめて最下部に表示します。
2:拡張文の入力がないアイテムについては、分けて表示指定をしていても本文の最後に注解を表示します。


NP_HighlightSource 0.6へ

NP_HighlightSourceのバグフィックスしました。

ダウンロード: NP_HighlightSource06.zip
バージョンアップは上書き転送のみで。

使い方等は、[こちら]

NP_HighlightSource 作ってみました

アイテムの中にphpソースとか書く時、特殊文字を変換したりしなくちゃならないし、preタグ使うと自動折り返ししなかったり、かといってcodeタグ使うときれいにインデントしなかったり、面倒なことがたくさんあります。

そこで、自動的にソースをきれいに表示させるプラグイン作ってみました。

ダウンロード: NP_HighlightSource05.zip
※文字コードは関係ありません。

使い方:
インストールするだけ。
ソースを「<hs>」と「</hs>」で囲う。
サンプルがてら、↓で使っています。
<hs>を書き込むことも面倒だったら、
        $this->currentItem->body = preg_replace_callback('#<hs>(.*?)<\/hs>#s', array(&$this, 'phpHighlight'), $this->currentItem->body); 
        $this->currentItem->more = preg_replace_callback('#<hs>(.*?)<\/hs>#s', array(&$this, 'phpHighlight'), $this->currentItem->more); 
の「hs」を「i」なんかに変えちゃうと、普通にNucleusエディタボタンでイタリック指定したらその部分がソース変換されるかと。(もちろん、今までの記事でイタリック指定したところも変換されちゃう。ちなみに、私はイタリック使ったことないぞ...)

あ、プラグインの編集オプションで、ソースの行番号を表示する指定ができます。でも、コピーする時は番号はコピーされないというのがミソ?

問題なのは、Trackback送信時の要約文とか、RSS吐出しの要約文の中に、このソース部分がかかっている時かも。場合によってはTrackback送信フォームが最後まで表示されなかったりするかもね。その点は忘れないでください。
だから、拡張部分に使うとか、本文の下の方に使うとかの方がいいかもね。

それにしても、このサイトにプラグインを新規インストールしたのはすごく久しぶり。まだNP_PageSwitchのままだし...(^_^;

NP_UpdateTime 0.6

バージョンアップ。
ドラフト保存の際には更新情報を記録しないように変更。
DBに無駄な情報を記録しないように変更。
プラグインの編集オプションで指定した日付形式を反映。
最新更新リスト表示の際、タイトルのタグ除去。

ダウンロード: NP_UpdateTime06.zip

バージョンアップの人は、
DBの「**21_nucleus_plugin_rectime」の「itemtime」フィールドを削除してください。(そのままでも大丈夫かもしれないけど無駄なので)
アンインストール後に再インストールした方がいいかも。

NP_UpdateTime 0.4 作ってみました

アイテムを書き直す時に、更新日時を記録するプラグイン。

ダウンロード: NP_UpdateTime04.zip
※EUC-JPで書いていますので、UTF-8の人は文字コード変換して再保存してください。

このプラグインのはたらき:
アイテムの編集画面の「オプション」で
=============
1.アイテム日時として上書きする
2.更新日時を記録するのみ
3.何もしない
=============
が選べるようになっています。

アイテム日時上書きを選んだら...
○そのアイテムの日時は更新した瞬間の日時に書き換えられます。
○アイテム内に「このアイテムの前回保存日時は2004-02-15 14:25でした」みたいに一個前の保存日時を表示します。

更新日時を記録するのみを選んだら....
○そのアイテムの日時は更新されません。
○アイテム内の表示は「この記事は2004-02-15 14:25に最終更新しています」みたいに最後に更新した日時を表示します。

使い方:

NP_UpdateTime 設計中

アイテムを編集した時に更新日時をメモできるプラグインが欲しくて設計中です。

その1:アイテムの日時を書き換える機能
今のところ、アイテム編集オプションで「現在の日時にする?」のyes/no形式です。(いちいち数字を入れるよりは楽、という程度)
これをプラグインの編集オプションでデフォはyesかnoかを選択できるようにしようかな、と思っています。

その2:アイテムの日時は書き換えないで更新日時を表示するだけ機能
もう一つの案は、テンプレートの<%date%>と<%time%>の他に<%updatetime%>を追加させる形式。
例えばアイテム本文の最後に「この記事は2004-03-02 14:52に最終更新」みたいに自動表示させることが可能になるかな、と。
でもって、メニューエリアに「最近更新された記事10」みたいにリンクリストを吐き出す機能もつけるとか。(これって、読んでいてついていたらいいなぁと思うサイトがあるので)

この2つって、まったく別物か?

特定のアイテムを一番最初に見せる方法

お知らせとか近況とかに使うと思うのですが。
ある特定の(複数の)アイテムだけを一番最初に表示させるには、プラグインが便利です。(というか、プラグインじゃないとできなかったっけ?)

これは古くからありまして、
NP_StickyItem
NP_Sticky
がそれです。
でも、これ達は、複数指定はできないっすよね(たしか)。
ちなみに、2つの違いは調べてません。

ただ、これ使っても、その下に普通にblog展開すると、このお知らせアイテムがまた登場するんですよ。
で、お知らせアイテムを一番最初に表示させつつ、blog展開の際はこのアイテムは除くという機能を盛り込んだのがNP_ShowBlogsなんです。
このNP_ShowBlogsでは複数アイテム指定にも対応してます。

なんか、最近、NP_ShowBlogsが固定アイテム表示機能の元祖みたいに誤解されているような雰囲気だったので、念のために。(ってフォーラムに書くべきか?)

あーそれでですね、普通にNP_StickyItemで複数の指定ができるように改造したモノ(+使用するテンプレートも指定できるモノ)って誰か必要でしょうか...
サークルクラブさんなんかがこんなかんじのリクエスト?
sen2orさんは、固定アイテムの表示期限が欲しいらしい(と読めたが合ってるかな)。

表示期限か。別テーブル管理だな。
あーくそ。こういう時にタカちゃんいたらつきあってくれそうなのに....。
キーボード買ってあげるから復活してくれぇ!
(お読みの皆さん、「タカ」リンクからいっぱいジャンプしてください。reffer溜まって声が届くかも)

管理エリアを飾るセット 配布

[ここ]に書いた、管理エリアの見た目をちょっと可愛くするセットです。

ダウンロード:admin-image.zip
解凍するとフォルダが3つありますから、nucleus/ディレクトリの中のそれぞれ同じ名前のディレクトリの中のファイルを上書きしてください。
imagesの中にあるのは、上書きじゃなくて追加ファイルになりますけど。

別に機能をどうこうするモノじゃないので危険性はありません。
Nucleusのバージョンは何でも大丈夫です。


NP_LatestWritebacks バージョン0.8

Nucleus(JP)フォーラム :: トピックを表示 - NP_LatestWritebacks
↑ここで配布しています。

バージョンアップの場合は一度アンインストール後に再インストールしてください。(これをしないとトラックバックを混在表示しなくなります)

0.6からの改善点(引用)
1)コメントもトラックバックも存在しない時に出るエラーに対応。
2)トラックバックを混在させるかどうか選択可能に(プラグインの編集オプションで指定します)。デフォはyesです。
※トラックバックプラグインをアンインストールさせた場合も(DB上に存在していても)混在表示しなくなります。
3)文字数切り詰めにshorten使用。
4)時間のかかるarray_sliceを不使用に。
5)他のblogに属するレスも表示させる時のリンク先URLの見直し。

プラグインリストの説明文表示を正しくする

Nucleusのバージョン2.5betaから、管理エリアの「プラグインの管理」画面で、プラグインの説明文をきれいに表示してくれなくなっています。
困った点1:「<br />」も文字列として表示されて改行してくれない
困った点2:プラグインの説明文が日本語だと文字化け。

それを改善する改造方法。
lis/ADMIN.phpのソースを編集。
改変前
=============
function encode_desc(&$data)
{ $to_entities = get_html_translation_table(HTML_ENTITIES);
$from_entities = array_flip($to_entities);
$data = strtr($data,$from_entities);
$data = strtr($data,$to_entities);
return $data;
}
=============

改変後
=============
function encode_desc(&$data){
$to_entities = get_html_translation_table(HTML_SPECIALCHARS);
$from_entities = array_flip($to_entities);
$data = str_replace('<br />','\n',$data);
$data = strtr($data,$from_entities);
$data = strtr($data,$to_entities);
$data = str_replace('\n','<br />',$data);
return $data;
}
=============

文字化けは、HTML_ENTITIESをHTML_SPECIALCHARSにするだけで解消。
他の追加行は、ブラウザで改行させるためです。




NP_ShowBlogsByDateEX どうでしょう?

NP_ShowBlogsの日付管理版、NP_ShowBlogsByDateの、さらに機能拡張版としてNP_ShowBlogsByDateEX作ってみました(^_^;

indexページで、コンテンツ内に、そのページに表示されているアイテム(+トラックバック)も表示する機能を追加。
NP_LatestWritebacksのページ限定表示ってイメージ。

ダウンロード:NP_ShowBlogsByDateEX10.zip

1日ずつ表示だと、tDiaryでいう「本日のつっこみ」ってかんじかな。
わかりにくいと思うけど、最新日付のアイテムが3つあった場合、
<%ShowBlogsByDateEX(default,1,,2)%>
って書いてやると、indexページで最新日付の3つのアイテムを表示しつつ、「本日のつっこみ」表示ができる訳です....
(まぁ、デフォ状態ではコメント日付しか出なくしちゃってるけど、編集すればコメント本文なんかも表示できます)

使う人はいないと思うけどね(^_^;

ちなみに、同じ機能を追加したNP_ShowBlogsEXっつーのもありますが、配布して欲しい人がいたら手を挙げてください。

TrackbackURLを短くする

Trackback URLをすっきり短くする - Nucleusだとか
↑ここに書いてありました。
TrackbackURLを、
http://***.com/trackback.php?id=***
みたく短くするワザ。
かっこいい〜!



すいませんでした

このサイト、この3日ほど不通にしてしまいました。
今、復活を確認(^_^;