| 取扱説明書 | 吉見直人(管理人) | お便り | Nucleus CMS Japan |

2004年12月22日

NP_Heelloworld導入

[ 投稿者 : fratdrive ブログ : [ f ]雑記系 カテゴリー : Nucleus ]

メールからアイテムを追加できるプラグイン「NP_Heelloworld」を導入。

まずこちらにあった、複数ユーザー投稿用バージョンを入れてみるが、うまくいかない。
(詳細は上記に)

次に、管理画面上でもろもろの設定ができるNP_HeelloWorld v0.8 + CLES patch 2を入れてみる。うまく動いたので、とりあえずこれを使うことに。ただし、課題が2点。
1.複数ユーザーに対応しておらず、メール投稿は管理人fratdriveのみ可能。メアドはいくつでも指定できるのだけど、全部fratdriveの投稿と見なされてしまう。
2.いまのところ、ムービーの投稿がエラーになる。解決するまでは静止画オンリーでの使用。
いずれも、プラグインがupdateされるか、あるいは、改造法が見つかるのを待つしかない。

なお、PCからは、auとFOMAのムービーは正常にアップロードできる(はず)。amcだけ確認済み。

メール投稿は、トップブログあるいは各コンテンツブログのメインの目次ページを開いたタイミングで取り込まれるが、メール送信直後にアイテム追加する技も導入したので、ほぼリアルタイムの時刻を反映させることが可能。

なお、NP_Heelloworldの元のバージョンはこちら。くわしい説明も。

⇒この記事をふくむカテゴリー [ Nucleus ] もどうぞ。
at 19:02:50 | この記事のURL |


トラックバック

このアイテムのトラックバックURL:
http://fratdrive.net/about/item_195.trackback

このエントリにトラックバックはありません
もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。

コメント

NP_Heelloworld導入の翌日、NP_HeelloWorld v0.8 + CLES patch 3が出たので、さっそくこちらに差し替え、動作確認済。
http://blog.cles.jp/item/583
これ、複数ユーザー対応なのがとってもうれしい。つまり、課題1はクリアできた(とはいえ、テストはぼくだけしかやってないけど)
もう一方の課題2は解消されていませんが、とりあえずハッピー。
posted by fratdrive at 2004-12-24 10:15:24

課題2(ムービー)についてもクリア。NP_HeelloWorld v0.8 + CLES patch 3の471行目を以下のように書き換え。
$body = '<div class="leftbox"><%media('.$this->memid.'/'.$attach.'|)%></a></div>'.$text;
posted by fratdrive at 2004-12-25 18:36:46

ケータイから投稿した画像のポップアップが小さいことに気づいた。
ソースを見ると、余計な<a>タグが。それに、ポップアップ画像幅がwidth=200になっている。Popup Image NetPBMの設定では、サムネイルはwidthとheightを最大200にしてはいるが…。
まず余計な<a>タグを取る。これは「サムネイルがない場合のソース」にあったもの。(というか、HeelloWorldでのサムネイル機能はOFFにしてあり、Popup Image NetPBMのほうでサムネイルを作るようにしている。HeelloWorld⇒Popup Image NetPBMという処理の順番らしいので、画像は全部この「サムネイルがない場合のソース」で処理している)
HeelloWorldの設定で、「アイテム内に表示する画像の最大横幅」をいろいろ変えてみるが駄目。200に戻す。で、NP_HeelloWorldのプラグインを修正。「サムネイルがない場合のソース」のimageタグ内の画像サイズ情報をPopup Image NetPBMは読んでいるらしく、これが空だとサイズの取得ができない。よし、ここに元のサイズをここに出せばいいんだな。
http://hotwired.goo.ne.jp/w...
http://www.club-e.co.jp/~ty...
http://jp2.php.net/function...
これらのサイトを参考にすると、プラグイン229行の、
$size = GetImageSize($src);
ここから、
.$size[0]. これが幅で、
.$size[1]. これが高だとわかった。
これで書きかえてみたら成功。ポップアップが元画像サイズに。さらに、
$smallH = round($this->smallW / $size[0] * $size[1] , 0);
これもいらないので消す。
…phpいじり初体験でした。
posted by fratdrive at 2004-12-25 23:49:40

複数ユーザー対応のプラグインだけど、管理人のぼく以外からのメール投稿が失敗する。
1.添付画像はmediaディレクトリに取り込まれているので、動作はしている模様。
2.ただ、取り込まれる先が、管理人であるぼくのディレクトリで、投稿者のディレクトリではない。
3.投稿自体は画面に反映されない。
これはおいおい解決するつもり(解決したい)。

また、メール投稿のさい、テキストの最後に余計な改行が入ってしまうのが気になっていた。少なくともぼくのケータイ(au A5403CA)の場合、文末に余計な改行が入ってしまうのが、たぶん主因。あとで修正していたのだが面倒なので、プラグインの398行以降あたりをいじり、とりあえず改行は無視する設定に。PCからの投稿では改行できるけれども、ケータイからの投稿では、文中の改行はぜんぶ無視される設定になりました。
posted by fratdrive at 2005-01-08 18:43:15

複数ユーザー投稿に成功しました。単にPOPアカウントを分けただけですが。そうか、複数ユーザー(メンバー)からのメール投稿をするためには、メンバー数だけのPOPアカウントが必要になるんですね。

さらに設定変更。画像の横幅が200ピクセル以下だと、画像がページ内に表示されず、画像へのリンクになってしまっていた。これは、NP_HeelloWorldのオプションで、「アイテム内に表示する画像の最大横幅」に、サムネイル幅とおなじ200を指定していたため。これよりも小さいと、ムービーファイルのようなmediaタグをつけるようにしている。「アイテム内に表示する画像の最大横幅」を1にする。つまり、サイズ情報が取得できたものには、サイズにかかわらずimageタグを、ムービーなどのサイズ情報が取得できないものにはmediaタグをつけるようにした。これで、小さい画像もリンクではなく、インライン表示できるようになった。(最初、プラグインのif( $size[0] > $this->smallW)の部分、smallWを1にしてみたらエラーになったので、それ以上はやめた。たぶん、やり方はあるはずだけど)

ただし、サムネイル幅が200より小さい画像も、クリックするとインライン画像と同じサイズでポップアップしてしまう。このポップアップは無意味なのでやめたいが、これは別のプラグイン(Popup Image NetPBM)の動作なので、NP_HeelloWorldは関係ない。NP_HeelloWorldは、ケータイ投稿をとりこみ、タグを出力するところまでで、出力されたタグを設定どおりに処理して、ポップアップとかの動きをつけるのはPopup Image NetPBM。投稿後、タグをimageからImageにかえれば、ポップアップはしなくなるのだけれど…。
posted by fratdrive at 2005-01-23 12:03:37

コメント記入



プレビュー

ブログ内新着記事

コメントの設定を変更しました - [ f ]雑記系
画像ポップアップウィンドウ変更 - [ f ]雑記系
レンタルサーバー移転(さくらスタンダード→CORESERVER「CORE-B」) - [ f ]雑記系
ふらっとどらいぶネットにメール購読機能をつけました。 - [ f ]雑記系
NP_CustomURL導入記録 - [ f ]雑記系