2008年08月20日
extfile_importer.inc.php
プラグインを設置したページに外部CSSや外部JavaScriptをインポートするプラグインです。
ページのデザインテストなどであるページだけページのデザインを変えたいときやJavaScript関数を上書きしたいときなどにご利用下さい。
なお、インターネット上に公開するページで常設する使い方は、ページの見た目を乗っ取られる危険性などありますので、お勧めしません。
(このような環境で利用される場合はデザインなどの変更作業時のみアップロードして、終わり次第削除するようにしてください。)
ダウンロードはこちらから↓
Download - extfile_importer.inc.php
【使い方】
現在のバージョンでは拡張子がjsのファイルとcssのファイルしか読み込めません。
それぞれ以下のように利用します。
#extfile_importer(PATH/hoge.js);
#extfile_importer(PATH/foo.css);続きを読む...
2008年02月29日
nicocale.inc.php 0.7.0リリース
ニコニコカレンダーをPukiWikiで作るためのプラグイン「nicocale.inc.php」の0.7.0をリリースしました。
リスト表示で指定のメンバーのみの表示が出来るようになりました。
最新版はこちらのエントリから入手してください。
思いつきで実装したので、テストが不十分です。
うまく動かなかったら一つ前のバージョンをご利用下さい。
2008年02月24日
nicocale.inc.php 0.6.0リリース
ニコニコカレンダーをPukiWikiで作るためのプラグイン「nicocale.inc.php」の0.6.0をリリースしました。
今まで入力と当日分の表示しか出来ませんでしたが、今回のバージョンアップで普通のニコニコカレンダーのように数日分の一覧表示が可能になりました。
最新版はこちらのエントリから入手してください。
なお、0.2.0から0.6.0にバージョン番号が飛んだのは開発率20%→60%だと思っていてください(笑)
一通り思いつくものを実装したら1.0.0に上げる予定ですが、現状でとりあえず必要な機能は載せたと思うので、次回バージョンアップがあるかどうかは怪しいかも知れません(^^;
ただ、ソースコードがかなりスパゲッティになってるので、着手するとしたら、その辺の整理をモチベーションにしてやるかと思います。
2008年02月10日
ref.inc.phpでThickBoxを使う
最近ブログなどで画像をクリックすると画面が暗くなってその上に対象の画像が表示される場合がありますが、そう言う機能を実現する一つの方法としてただ、これを何も考えずにPukiWikiに組み込んでみるといろいろと不具合があるので、今回それを何とかしてみました。
なお、対象はPukiWiki1.4.7なので、それ以外のバージョンの方は適宜読み替えてください。
また、導入するとThickBoxの仕様で全ての要素のpaddingとmarginのデフォルト値が0になりますので、CSSの状況によっては表示が破綻する可能性があります。
特に、<P>タグで空行が出来なくなるので、これが気になる場合は、事前にskin/pukiwiki.css.phpの最後の行以降に以下を追加しておいてください。
さて導入方法ですが、以下の手順となります。P { margin-bottom:1em; }
- PukiWiki対応ThickBoxの導入
- skin/pukiwiki.skin.phpへjsやcssの追加
- plugin/ref.inc.phpの変更
以下のファイルをダウンロードして入手してください。
- 拙作のThickBox3.1 for PukiWiki をダウンロードして解凍
- ThickBox 3.1から「loadingAnimation.gif」を入手
- jQueryのサイトからjquery-1.2.3.min.jsをダウンロードして「jquery.js」にリネーム
(Downloadの所に3つ並んでいるうちの、一番上のリンクです。同じバージョンが見つからない場合は最新版で試してみてください。
また、別にMinified版でなくても動作するとは思いますが、ファイルサイズと実行速度からMinifiedがお勧めです)
2008年01月23日
ローカルファイルにリンクを貼る
PukiWikiでローカルリンクを貼るための手法として「lib/make_link.php」の363行目のを編集して(?:(?:https?|ftp|news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
にする方法が一般的ですが、リンクの貼り方を熟知してないと(?:(?:https?|ftp|news|file):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
有効な InterWikiName ではありません
また、上記の方法で日本語ファイル名のローカルファイルに対してリンクを張るとFireFoxなどではセキュリティの設定を変えて使えるようにしても文字コードの問題で見れなかったりするので汎用性も低いです。
で、何とかならないかと考えたのがInterWikiNameを利用する方法です。
2008年01月21日
nicocale.inc.php
ニコニコカレンダーっぽいものをPukiWikiで実現するためのプラグインです。使い方次第では簡易的な行き先掲示板や在席確認表に使えるかも知れません。
ダウンロードはこちらから↓
- Download - nicocale.inc.php (Ver. 0.7.2)
まず、導入方法ですが、上記のファイルをダウンロードして「nicocale.inc.php」と言う名前にリネームしてPukiWikiのpluginフォルダにアップロードしてください。
なお、デフォルトではEUCになっていますのでUTFで運用している方は、アップロードまでにUTF-8への文字コード変換が必要です。
また、入力値の凡例が必要になりますので、「:config/plugin/nicocale」と言う名称で以下の内容を記載した表を準備してください。
|表示するアイコンや顔文字|その説明|↓例です
なお、表の左側はPukiWikiの書式にしたがった物なら何でも大丈夫です。| (^^) |普通| | (^_- |好調| | (^-^ |絶好調| | (..; |体調悪い| | (--; |イライラ| | (^^; |不調| | (T-T |絶不調| | (^Q^ |やる気無し|
(上記の例の場合はinputtoolbar.inc.phpを導入しているPukiWikiで画像アイコン置換の書式を利用して画像を表示します。
この機能を利用する場合は、顔文字の前に「全角スペース半角スペース」の順番で置かないとPukiWikiがうまくアイコン変換してくれません)
また、凡例の表の右側はテキストのみを想定していますので、テキスト以外(たとえばPukiWikiの書式)で内容が変換される物が記載されていると入力欄が化けますので注意してください。
なお、もっとニコニコカレンダーっぽくしたい場合は、好きな顔アイコンなどを自分のサーバに事前にアップロードしてそれを表示する設定にして利用してください。
2008年01月07日
fusen.inc.phpの'&'処理を修正
以前のエントリでも紹介した便利な付箋プラグインの
&に展開されて、それを保存して再編集すると
&amp;と言うふうにどんどんamp;が増えるバグがあります。
ただ、簡単に直せそうだったので、さっくり直してみました。
skin/fusen.jsの203行目の
をfusen_getElement('edit_body').value = fusenObj[id].txt
に直して終了です。fusen_getElement('edit_body').value = fusenObj[id].txt.replace(/\&/g,'&');
非常に簡単な修正で効果抜群なのでお勧めです。
続きを読む...2007年03月12日
添付ファイルがUPできなくなった
検索で少しでもヒットするようなタイトルにしてみました(笑)と言うわけでPukiWikiでPHPのアップデート後や、レンタルサーバなんかを使っていてある日突然ファイル添付ができなくなったときの対応。
同様の問題が一応、公式サイトにも質問が出ていますが結局解決していないので新たにエントリを起こすことにしました。
で、まず症状は以下のような感じ。
- 「○○にアップロードしました」と表示されるのに実際はアップロードされていない
- attachフォルダを見てみるとファイルの実体は見あたらず、アップロードした時刻のlogファイル(中身は1だけ)が作成されている
- 本体のソースは全然弄ってないのに発症
- PHPを古めのバージョンから最近のバージョンへアップデートしたら発症
- もしくはレンタルサーバなどでサーバメンテ後に急に発症
まぁ、どのぐらいの頻度で修正されているかは
注意: move_uploaded_file() は セーフモード と open_basedir の両者を考慮しています。 しかしながら、アップロードされたファイルを移動する destination パスのみ制限が設けられます。 そこでは filename がそれらの制限に抵触する可能性があるためです。 move_uploaded_file() は PHP を通じてアップロードされたファイルのみを移動できるようにすることで この操作の安全性を保証しています。
2006年04月30日
成分解析 plug-in
そろそろ賞味期限だと思う成分解析ソフトウェア(Clock氏作成)のPukiWiki plug-in版をGWのPHP自習課題として作成しました。
ご利用の際はファイル名の末尾から0.0.1.txtを取り除いてから自分のPukiWikiのpluginフォルダにアップロードしてください。また、自分のPukiWikiのサイトからこのプラグインを使う場合は、分析結果を掲載したいサイトを編集して、任意の場所に
#seibunkaiseki(分析したい言葉)と記入してください。
なお、ブロックプラグインなので、上記だけを書いた1行を用意するか、テーブルのセル一つ丸々に上記を書いた場合しか動作しません。
なお、コードはψ(プサイ)氏の
また、公開に当たり
開発者の方々への注意事項
現状の公開方法で問題あるようでしたらご連絡下さい<関係各位
続きを読む...2006年04月17日
tracker_listで表示されない
といっても、tracker_plus_list.inc.phpプラグインの方ですが。事の起こりはtracker_plusで管理しているページ内でcommentプラグインで何行か記述すると解析に失敗するらしくて、tracker_plus_listの方で空っぽのページとして表示されます。
もちろんコメントを削れば表示されるんですが、そんなアホな方法はないので、いろいろとテンプレートの方を弄ってみたのですが、それもNG。
commentを置き換えてmemoプラグインなどにすれば良さそうですが、既に100以上あるページを全部書き換えるのも大変なんでこれも無し。
で、しょうがないのでネットで検索していたのですが、それっぽい記事を発見。
「/page」の内容が長すぎると、preg_match()が失敗するようです。
とのことで、既に織り込み済みでした// "/page"の内容が長すぎるとpreg_match()が失敗するバグ(?)があるので // "//////////"までをマッチ対象とさせる // ( see http://dex.qp.land.to/pukiwiki.php, Top/Memo/Wikiメモ)
どうもこの対策では「//////////」があるところまでが解析対象になるようなので、該当ページのcommentの前に「//////////」を置いて見ましたがなんか効果無し。
あれっ、と思ってテンプレートの方においてみたらちゃんと動きました。
ということで、trackerでページの長くなりそうな前には「//////////」をおいておくと良いようです。
なお、tracker_plus_listはtracker_listの追加修正版なので、ぞちらでも上記の対策は有効です
PukiWiki/Download/1.4.6 - PukiWiki-officialPukiWiki 1.4.6: 2005/10/19ファイルリリース
2005/10/31 リリースということで、いろいろなイベントを経てPukiWIkiの最新版がリリースされました。 変更点は上記サイトを見てもらうことにして、とりあえず初期不良もなさそうだし入れ替える時間も出来たんで、手元のサイ
スラッシュドット ジャパン | pukiwiki.org存亡の危機現在、sedo.co.ukというドメインオークションで売りに出されています。これは、本来ドメインの更新を忘れ、猶予期間の間も気がつかず、 resumeになって初めて気がつき、すでに更新が出来ない状態でした。 30日後の放出に向けて、ドメイン予約サイトで予約を入れておいた
PukiWikiでtrackerプラグインを本気で使おうと思ったらちょっと性能に不満を感じたのでtracker_plus.inc.phpプラグインを用いて色々がんばろうと思って FrontPage - Twilight-Breeze こちらを参考に色々がんばっていたんですがその際に、コメントの入力に便利なヘルパーが使われているのに気が付く。 これって何だろうと思
PukiWiki/Errata - PukiWiki.orgPukiWikiのattachプラグイン(ファイル添付機能)を利用したXSS(クロスサイトスクリプティング)が可能であることが解りました。XSSを通じて: 第三者がアップロードした任意のスクリプトを(添付したそのWikiサイトの権限で、閲覧者のPCにおいて)実行する可能性があります。また、それによって:
そう言えば下でもちらっと触れましたが自作プラグイン/fusen.inc.php - PukiWiki.orgが便利です。 これは以前もちょっと紹介したwema - 付箋指向の多目的ツールを元にしたPukiWikiプラグインで、Plaguinを入れてページ中にて「#fusen」と書くことで、そのページないで付箋が自由に使えるようになります。 これは、wemaの
FrontPage - PukiWiki.orgPukiWiki 1.4.5_1 リリース -- (2005-02-21) † 1.4系列の最新版 PukiWiki 1.4.5_1 がリリースされました。これは 1.4.5 リリースの問題に対する修正を含んだマイナーアップデートです。というわけでバグフィックス版登場です。 1.4.5のtarボールとの間でdiffを取ってみると75KB強でその大部分がc
こっちでも触れてなおかつhenoheno氏からコメントまでいただいてしまいましたが、今一度自分的PukiWiki入れ替え方なんかをまとめてみます。 とりあえず、私の入れ替え方針としては、極力正式版に近い状態を維持手抜きをして穴を残して攻撃されるのが最悪のシナリオ他サイトで便利なHackが掲載されたときに簡単に適用できる
PukiWiki/ダウンロード/1.4.5 - PukiWiki.orgPukiWiki 1.4.5 2005/02/01 リリース 編集の禁止、推奨されない機能の利用禁止、上部/下部のナビゲーションリンクの表示切替えを始めとする、大がかりな機能制限が可能になりました。個人あるいはチーム限定のCMSとして、あるいはオンラインドキュメントのためのツールとし
matsuda氏作のPukiWiki用プラグイン「graphviz.inc.php」を手元のRedHat9上で動作しているPukiWikiに入れた時のお話。 まず、プラグイン本体はターミナル経由でソースをviでコピペしてさっくり終了。 で、問題のgraphvizのインストールですが、面倒だったのとapt-getを入れてあったのでapt-get source graphvizでソースを
+PHP 4.3.10 です(笑) いや、全部入れるとタイトル長くて気持ち悪かったので。 さて、PHP: Hypertext PreprocessorPHP 4.3.10 & 5.0.3 released!でスラッシュドット ジャパン | PHP 4.3.10, 5.0.3リリース基本的にメンテナンスリリースとはされていますが、双方のバージョン共に複数の重要なセキュリティ問題に対する対処
こちらで作成したPukiWiki用のリンクを作成するスクリプトですが、さすがに「スクリプトによる貼り付け処理の許可」を有効にしているのに自分で耐えられなくなったのでもうちょっとまともな動作をするスクリプトを作成しました。 var pnir; var document; var id; pnir = new ActiveXObject("Sleipnir.API"); id
PukiWiki/Errata - PukiWiki.orgPukiWiki 1.4.x に含まれている color プラグイン (r1.5-1.9まで) に XSS脆弱性が含まれていることがわかりました。PukiWiki 1.4.x を運用されている方は速やかにcolorプラグインをアップデートして下さい。これまでに配布された1.4.4以前のバージョンのPukiWikiに深刻な脆弱性が発見されま
わりと重要な用途で使っているPukiWikiでちょっと限定したユーザーにしか見せられない情報を掲載するに辺り、閲覧制限をかけることにしました。 で、閲覧制限がどれぐらいの信頼性なのかちょっと調べたところBugTrack/657 - PukiWiki閲覧できないページが編集できてしまうBugTrack/598 - PukiWiki雛形とするページを読むこ
最近忙しくてチェックしてなかったのですがFrontPage - PukiWiki.orgPukiWiki 1.4.4がリリースされました -- (2004-09-04) ということで1.4.4がリリースされました。 PukiWikiのアップデートには前回えらく苦労させられたので、今回は最初っからpatchを使ってひとまず自分専用の情報まとめ用Wikiをアップデートしてみるこ
AH-K3001V用にPukiWikiに自分専用着メロサイト作ろうと思ったんですが、midをページに添付してそのファイルへのリンクをクリックすると、保存するかどうか聴いてくるだけでそのままでは演奏出来ません。
なのでJavaScriptを利用した演奏ボタンを作成してみました。 以下の赤字の項目を追加してください PukiWiki 1.4.3
こっちでやった作業の続き 一覧から無事「カレンダー/」で始まるページを除外出来たと喜んでいたら、今度はページ新規作成時のテンプレートリストにごっそり表示されている事を発見(苦笑) これも何とかしようとソースをいじっていたらやっと変更すべき場所を見つけました。 変更するのはpukiwikiの本体と同じディレクト
Pukiwikiでcalendar2プラグインを使って予定の掲示をしているのですが、3ヶ月も運用していると一覧で見たときにカレンダーで始まるページだらけになって見にくい限りになります。 かといってpukiwiki.ini.phpの設定で「一覧・更新一覧に含めないページ名」に含めると今度はカレンダーの更新が新着の方に出なくて、使用する
続・質問箱/67 - PukiWiki.org日本語ファイルをダウンロードすると文字化け 上記の問題結構重要なので対策してみました。 変更はplugin/attach.inc.phpに以下のパッチを当てるだけです。 *** attach.inc.php.old Sun Apr 25 23:11:10 2004 --- attach.inc.php Sun Apr 25 23:13:18 2004 *************** *** 622,628 ****
気が付いたらPukiwiki1.4.3が出ていたのでPukiWiki1.4.2からバージョンアップして見ることにしました。 とりあえずFULLは必要なかったので「1.4.2から変更のあったファイルのみ」をダウンロードして展開してみたところ ・・・なんで設定ファイル(pukiwiki.ini.php)まで含まれてますか(;´д`)ノ どうにも設定項目が増え
MovableType+bookmarklet+Sleipnirで快適にリンクを張るのに慣れてしまうと、PukiWikiで手動でリンクを作成する際にストレスが溜まってしょうがないので、PukiWiki用のSleipnirスクリプトを作成してみました。 var pnir; var document; var id; pnir = new ActiveXObject("Sleipnir.API"); id = pnir.GetDocumen
trackerプラグインで入力した投稿者名がブランケットネームになるのをどうやったら抑止出来るのだろうとしばらく悩んでソースまでみてやっとこ気が付きました。 Pukiwikiで「:config/plugin/tracker/ページ名」にアクセスして「fields」の「形式」が「page」になっているとブランケットネームで表示されると言うことに・・
先月にプラグインの修正版が出ていたようなので、手元の環境も差し替えてみました。:news - PukiWiki.orgPukiWiki 1.4系のbackupプラグインにタグの不整合 -- (2004-02-17)CVS log for pukiwiki/pukiwiki/plugin/source.inc.php閲覧認証をチェック (修正)後者のsource.inc.phpのバグはPukiwikiの認証を使っている場合はセキ
PukiWikiを閉じた環境で運用していると、各ページに結構重要な情報を載せることが多くなると思いますが、ついうっかり「ネットワーク機器設定一覧」なんて言うページを作って、そんなページから外部にリンクを張ってしまうとリファラにばっちり残ってしまい攻撃の際の目処になりかねません。 そこでRefererでページ名称が
手元で使っているWikiもエントリが増えてきてきました。
で、ページの一覧を開くと「日本語」の項目にごっそりと溜まって見にくい事この上ないので、日本語分類することにしました。 で、やろうと思ったんですが、やり方が判らない・・・
あんまりやってる人見かけないので、てっきりどこか改造するのかと思っ
Pukiwikiで// TrackBack機能を使用する
$trackback = 0;を1にするとリンクしたURLがtracebackに対応していると自動でtraceback送ります。 それ自体は良いんですが、これってもしかして編集するたんびに送ってたりとかしませんか?<このまえ2件連続で来ていたんで おまけにTracebackもらったところには必ず見に行っ
pukiwikiの外部プラグインのlistbox2ですが、どうもこのプラグインを呼び出したページだけ、htmlの先頭に空行が入るという謎な状態になりました。 最初はプラグインのせいかと思っていろいろと見回してみたんですが、どうもどこにも改行入れて居る様子もないし、他のブロック型プラグインではそんな状況ないしと思っていろ
内部向けにPukiWikiでドキュメントを書きまくって居るんですが、FAQコーナーを作ろうと思ってtrackerプラグインを使おうと思ったんですが:config/plugin/tracker/〜っていうファイルがどこなのかさっぱり判らなくて悩むこと30分 ネットをさまよっていてこんなページを発見自問自答【pukiwiki】/2 - soanWikiここにある、「