**opf.inc.php [#f4a9cea5]
|RIGHT:100|LEFT:360|c
|~サマリ|ページを指定したフレームに開くプラグイン|
|~リビジョン|0.1.3|
|~対応バージョン|1.4.2|
|~投稿者|[[kent]]|
|~投稿日|&new{2004-01-06 (TUE) 00:54:17};|

***概要 [#u36d145b]
[[質問箱/373]]で質問して、[[dev:PukiWiki/1.4/ちょっと便利に/リンクを別窓で開く]]で解決した別窓表示ですが、同じウィンドウの別のフレームや同じウィンドウに、フレームの含まれたページを読み込ませたい時には対応できません。
もっとフレキシブルにフレームを指定できるように、プラグインにしました。

***履歴 [#te233098]
-リリース[2004-01-06 (TUE) 00:54:17]
--&ref(opf.inc.php.1.3);
---%をURLエンコードしてました。
--&ref(open_uri_in_new_window.js.1);
***注意 [#e99c940d]
http://hogehoge/pukiwiki.php?うへ/もげ/むぐ のようにページ名に/を含むページではfunc.phpのis_urlがfalseを返すので、こういう場合はURLエンコードされたURLをコピペするか、ブラケットネームを使ってください。((中身です。[[もげ]]ならもげ))

***説明 [#p3a79ce1]
うちのページにおいておきます。~
[[PukiWikiプラグイン-フレーム指定でページを開く->http://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?PukiWiki%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3-%A5%D5%A5%EC%A1%BC%A5%E0%BB%D8%C4%EA%A4%C7%A5%DA%A1%BC%A5%B8%A4%F2%B3%AB%A4%AF-]]

***コメント [#gfbe707c]
-[[tiro]] &new{2004-03-03 (WED) 16:20:25};
~urlに日本語を指定した場合、エラーになってしまいます。InterWikiだと問題ないのですが対処方法はあるのでしょうか?
--[[kent]] &new{2004-03-04 (THU) 01:15:35};
~tiroさん、こんばんは。一応対応してみました。試してみてください。
---[[tiro]] &new{2004-03-09 (TUE) 16:48:17};
~kentさん、ありがとうございます。早速使わせてもらいます。
-[[tiro]] &new{2004-03-09 (TUE) 16:54:10};
~kentさんのプラグインを大変便利に使わせてもらっているのですが
~&ref()の様に添付ファイルもこのプラグインで呼べるようにしていただきたいです。
--[[kent]] &new{2004-03-10 (WED) 02:25:38};
~tiroさんこんばんは、出来ればどのようなことがしたいのか詳しく教えていただけますか?
---[[tiro]] &new{2004-03-10 (WED) 08:21:27};
~kentさん、おはようございます。
~たとえば、ページ内に添付ファイルがあった場合、その添付ファイルもopfで開きたいのですが、可能でしょうか?
---[[tiro]] &new{2004-03-15 (MON) 13:08:26};
~kentさんの更新履歴を見逃していました。
~・URLエンコードされたURLをコピペするか
~これを実際に行ってみましたが、うまく動作できませんでした。
~opfに渡している値とopfで開いた値が違っていました。
-[[kent]] &new{2004-03-15 (MON) 22:19:09};
~申し訳ありません土日にかけて出かけておりました。よろしければURLの例を示していただけませんか?
--[[tiro]] &new{2004-03-16 (TUE) 08:34:42};
~たとえば、&ref(電話番号表.pdf)を開くと
 /index.php?plugin=attach&openfile=%C5%C5%CF%C3%C8%D6%B9%E6%C9%BD.pdf&refer=%C5%C5%CF%C3%C8%D6%B9%E6%C9%BD
でも、&opf()で上記のURLを開くと以下の様になってしまいます。
 /index.php?plugin=attach&openfile=%25C5%25C5%25CF%25C3%25C8%25D6%25B9%25E6%25C9%25BD.pdf&refer=%25C5%25C5%25CF%25C3%25C8%25D6%25B9%25E6%25C9%25BD
う~ん、何か記述のしかたが間違っているような気がします。
---[[kent]] &new{2004-03-16 (TUE) 17:37:45};
~%がURLエンコードされてますね・・・すみません。ちょっと待っていてください。
-[[kent]] &new{2004-03-16 (TUE) 21:22:44};
~添付ファイルについてはrefプラグインを改造したものを[[添付ファイルを別窓に開く>http://inagi.himitsukichi.com/~aozora/cgi-bin/pukiwiki/pukiwiki.php?%C5%BA%C9%D5%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%CA%CC%C1%EB%A4%C7%B3%AB%A4%AF]]においておきましたので使ってみてください。
-[[tiro]] &new{2004-03-17 (WED) 10:10:23};
~kentさん、確認しました。
~何点か気になる点があるので、ご報告します。
~・echoが、362行目にあるのですがこれは必要ないですよね?
~・オプションのframeとnoiconの記述順番を入れ替えると動作が違う。
~ ・ref(ほげ,noicon,frame=_blank);は問題ない
~ ・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう
--[[kent]] &new{2004-03-17 (WED) 18:31:35};
~お?ちょっと見てみますね。報告ありがとうございます。
---[[kent]] &new{2004-03-18 (THU) 17:53:32};
~echoについては削除しておきました。オプションですが当方の環境では再現しませんでした。具体的にはどのように表示が化けるのか教えていただけますでしょうか。
-[[tiro]] &new{2004-03-22 (MON) 11:11:19};
~返事が遅くなりまして、申し訳ございません。
~・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう
~ ・「noicon,ほげ」と表示されてしまいます。
-別窓に開くプログラムでエラーがでました。 -- [[rin]] &new{2004-09-10 (金) 15:21:19};
~・&opfを埋め込んだページを開こうとすると
 Fatal error: Call to undefined function: mb_eregi() in d:\user_ftp\rin\plugin\opf.inc.php on line 86
~とでます。opf.inc.phpの中身はDLしたまままったく替えていません。PukiWiki1.4.3,PHP4.3.8の環境で動作を行っています。
-PHPでmbstringが有効になっていないのではないでしょうか。 -- [[teanan]] &new{2004-09-10 (金) 19:03:39};
-phpinfo()で調べてみたところ、サーバー側でmbstringに対応していないようでした。 -- [[rin]] &new{2004-09-10 (金) 23:28:51};
~レンタルサーバのことですので、こちらの[[PukiWiki/mbstring無しのPHPでの動作]]の方法で動かそうと思ったのですが、jcode1.35を展開しても動作しません。上と同じエラーになってしまいます。(FAQ末尾にあった変更点はそのとおりに書き直しています)
~まだ何か足りないのでしょうか? 関係あるのかないのか分かりませんが、借りているサーバーは[[こちら>http://www.freespace.jp]]の第2サーバです。
-多少強引な方法になりますがopf.inc.phpプラグインでmbstringを使わないように改造してみてはどうでしょうか。具体的には関数名 mb_* を全て mb_ を外したものに置換するだけです(mb_eregi → eregi等)。8ヶ所だと思います。 -- [[teanan]] &new{2004-09-11 (土) 00:51:03};
-mb_をはずした所、エラーの場所が87行目のereg_matchに移りました。このプラグインはこの鯖では無理なんでしょうか…。 -- [[rin]] &new{2004-09-11 (土) 02:23:33};
-すみません、嘘つきでした :( mb_ereg_matchはpreg_matchにしてみてください。 -- [[teanan]] &new{2004-09-11 (土) 02:36:58};
-何度もすみません。Fatal errorは出なくなったのですが、「OPFエラー : 引数を指定してください。」と言われるようになりました。メイン関数も書き換える必要があるのでしょうか。 -- [[rin]] &new{2004-09-11 (土) 10:35:30};
-単純にはいかないみたいですね :( ちょっと調べていますのでもう少々おまちを。 -- [[teanan]] &new{2004-09-11 (土) 14:59:59};
-mb_ereg_matchを ereg にすればよさそうですよ :) -- [[teanan]] &new{2004-09-11 (土) 15:02:22};
-↑の改変を行ったところ、引数にダブルクォートとカギカッコをつけると「不正なページ名あるいはURLです。確認してください。」と言われるので両者を外して引数にすると動作します。 -- [[rin]] &new{2004-09-11 (土) 20:23:30};
 呼び出し例;
 &opf(frame=_blank, page=http://pukiwiki.sourceforge.jp){表示する名前};
~が、この時呼び出されるはずのopen_uri_in_new_window.jsが何故か呼び出されず、onclick属性が効かない状態だったので、pukiwiki.skin.ja.php内でjsファイルを常時呼び出すことになりそうです。
~もしくは、opf.ini.phpの17行目を
 define("OPF_LINK_STYLE", "<a href=\"%s\" target=\"%s\">%s</a>");
~としても良さそうな気がします。o0(まずやってみようと試してみたらjs常時呼び出さなくてもこれだけで動きました)
~当面、不具合はこれで解消の模様です。teananさん、お時間を割いて付き合っていただいてありがとうございましたm(_ _)m
-はじめまして。45行目あたりのif(empty($args[OPF_ARG_PAGE])において値がいずれも空となってしまう事象が発生してしまい困っております。pageの値としては値無し、http://www.yahoo.co.jpなどを試しましたがいずれもダメでした。(1.4rc4, php4.3.9になります) -- [[oggy]] &new{2004-10-16 (土) 12:51:05};
- リンク先URLにポート番号が指定されている場合、欠落してしまうようです。 -- [[しらす]] &new{2007-12-23 (日) 07:28:38};~
以下のコード変更で対応できそうです。~
【opf.inc.php 97行目付近】
 $arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . $path . $query;
を
 $port = $url["port"];
 if($port == "80" || empty($port)) {
     $arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . $path . $query;
 }else{
     $arguments[$cmd] = $url["scheme"] . "://" . rawurlencode($url["host"]) . ":" . $port . $path . $query;
 }
に変更

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.039 sec.

OSDN