opf.inc.php

サマリページを指定したフレームに開くプラグイン
リビジョン0.1.3
対応バージョン1.4.2
投稿者kent
投稿日2004-01-06 (TUE) 00:54:17

概要

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

履歴

注意

http://hogehoge/pukiwiki.php?うへ/もげ/むぐ のようにページ名に/を含むページではfunc.phpのis_urlがfalseを返すので、こういう場合はURLエンコードされたURLをコピペするか、ブラケットネームを使ってください。*1

説明

うちのページにおいておきます。
PukiWikiプラグイン-フレーム指定でページを開く-

コメント

  • tiro? 2004-03-03 (WED) 16:20:25

    urlに日本語を指定した場合、エラーになってしまいます。InterWikiだと問題ないのですが対処方法はあるのでしょうか?

    • kent 2004-03-04 (THU) 01:15:35

      tiroさん、こんばんは。一応対応してみました。試してみてください。

      • tiro? 2004-03-09 (TUE) 16:48:17

        kentさん、ありがとうございます。早速使わせてもらいます。

  • tiro? 2004-03-09 (TUE) 16:54:10

    kentさんのプラグインを大変便利に使わせてもらっているのですが

    &ref()の様に添付ファイルもこのプラグインで呼べるようにしていただきたいです。

    • kent 2004-03-10 (WED) 02:25:38

      tiroさんこんばんは、出来ればどのようなことがしたいのか詳しく教えていただけますか?

      • tiro? 2004-03-10 (WED) 08:21:27

        kentさん、おはようございます。

        たとえば、ページ内に添付ファイルがあった場合、その添付ファイルもopfで開きたいのですが、可能でしょうか?

      • tiro? 2004-03-15 (MON) 13:08:26

        kentさんの更新履歴を見逃していました。

        ・URLエンコードされたURLをコピペするか

        これを実際に行ってみましたが、うまく動作できませんでした。

        opfに渡している値とopfで開いた値が違っていました。

  • kent 2004-03-15 (MON) 22:19:09

    申し訳ありません土日にかけて出かけておりました。よろしければURLの例を示していただけませんか?

    • tiro? 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 2004-03-16 (TUE) 17:37:45

        %がURLエンコードされてますね・・・すみません。ちょっと待っていてください。

  • kent 2004-03-16 (TUE) 21:22:44

    添付ファイルについてはrefプラグインを改造したものを添付ファイルを別窓に開くにおいておきましたので使ってみてください。

  • tiro? 2004-03-17 (WED) 10:10:23

    kentさん、確認しました。

    何点か気になる点があるので、ご報告します。

    ・echoが、362行目にあるのですがこれは必要ないですよね?

    ・オプションのframeとnoiconの記述順番を入れ替えると動作が違う。

     ・ref(ほげ,noicon,frame=_blank);は問題ない

     ・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう

    • kent 2004-03-17 (WED) 18:31:35

      お?ちょっと見てみますね。報告ありがとうございます。

      • kent 2004-03-18 (THU) 17:53:32

        echoについては削除しておきました。オプションですが当方の環境では再現しませんでした。具体的にはどのように表示が化けるのか教えていただけますでしょうか。

  • tiro? 2004-03-22 (MON) 11:11:19

    返事が遅くなりまして、申し訳ございません。

    ・ref(ほげ,frame=_blank,noicon);は表示が乱れてしまう

     ・「noicon,ほげ」と表示されてしまいます。

  • 別窓に開くプログラムでエラーがでました。 -- rin? 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 2004-09-10 (金) 19:03:39
  • phpinfo()で調べてみたところ、サーバー側でmbstringに対応していないようでした。 -- rin? 2004-09-10 (金) 23:28:51

    レンタルサーバのことですので、こちらのPukiWiki/mbstring無しのPHPでの動作の方法で動かそうと思ったのですが、jcode1.35を展開しても動作しません。上と同じエラーになってしまいます。(FAQ末尾にあった変更点はそのとおりに書き直しています)

    まだ何か足りないのでしょうか? 関係あるのかないのか分かりませんが、借りているサーバーはこちらの第2サーバです。

  • 多少強引な方法になりますがopf.inc.phpプラグインでmbstringを使わないように改造してみてはどうでしょうか。具体的には関数名 mb_* を全て mb_ を外したものに置換するだけです(mb_eregi → eregi等)。8ヶ所だと思います。 -- teanan 2004-09-11 (土) 00:51:03
  • mb_をはずした所、エラーの場所が87行目のereg_matchに移りました。このプラグインはこの鯖では無理なんでしょうか…。 -- rin? 2004-09-11 (土) 02:23:33
  • すみません、嘘つきでした :( mb_ereg_matchはpreg_matchにしてみてください。 -- teanan 2004-09-11 (土) 02:36:58
  • 何度もすみません。Fatal errorは出なくなったのですが、「OPFエラー : 引数を指定してください。」と言われるようになりました。メイン関数も書き換える必要があるのでしょうか。 -- rin? 2004-09-11 (土) 10:35:30
  • 単純にはいかないみたいですね :( ちょっと調べていますのでもう少々おまちを。 -- teanan 2004-09-11 (土) 14:59:59
  • mb_ereg_matchを ereg にすればよさそうですよ :) -- teanan 2004-09-11 (土) 15:02:22
  • ↑の改変を行ったところ、引数にダブルクォートとカギカッコをつけると「不正なページ名あるいはURLです。確認してください。」と言われるので両者を外して引数にすると動作します。 -- rin? 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? 2004-10-16 (土) 12:51:05
  • リンク先URLにポート番号が指定されている場合、欠落してしまうようです。 -- しらす? 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;
    }
    に変更


*1 中身です。[[もげ]]ならもげ

添付ファイル: fileopen_uri_in_new_window.js.1 2351件 [詳細] fileopf.inc.php.1.3 3122件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-12-23 (日) 07:36:09
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.345 sec.

OSDN