*xpwiki [#ybf73919]
[[xpwiki>+http://xoops.hypweb.net/modules/xpwiki/]]
*recchal [#c92a5529]
Linux上に構築したPT2録画サーバから地デジ/BS/CS放送をLAN内へUDP配信する際に、
Windows等のクライアント側から配信チャンネルを変更するソフトウェア。
recpt1コマンドが使用できるPT2サーバなら使用できる可能性があるが、自分はPT2環境しか持っていない為PT3は未検証。
~

*xpwiki別窓リンク [#l98973f4]
ファイルの編集箇所は[[PukiWikiでの別窓リンク方法>PukiWiki/改良/別窓リンク]]と似ているのだが、編集箇所の一部が違うのでメモ
使い方はPukiWikiでの場合と同じでURLの先頭に”+”を付加する

 # cd [XOOPS_TRUST_PATH]/modules/xpwiki/class
 # cp make_link.php make_link.php-
 # chown root.root make_link.php-
 # chmod 400 make_link.php-
 # vi make_link.php
*注意事項 [#o2e73bae]
+このソフトを使用して何が起こっても責任を取らないので、自己責任で使用してください。
+クライアント・サーバ間でのメッセージ送受信にて通信内容の暗号化をしていない為、WAN経由では使用しないで下さい。
+プログラムの例外処理等、通常は行う事をやっていません(自分のプログラム技術が未熟な為(´・ω:;.:...)
+サーバサイドを動作させるとポート待ち受けが脆弱性になる可能性があります。録画サーバではWAN向けのサービスを動作させない事を推奨します。
~

以後の書き換える場所は、xpwikiのバージョンによって変化
[[ver 4.x>#vc76c24f]]
[[ver 5.x>#g5d8add3]]
~
*使用環境 [#v7b2b17f]
サーバサイドとクライアントサイドでは使用するソフトウェアが違います。それぞれ、対応するファイルをダウンロードし手順に従ってインストールして下さい。
-サーバサイド(recchal-server)
[対応OS] Linux i386 , Linux x86_64
[必須環境] PT2録画機能(recpt1) , Linux用.NET開発環境(mono) , 仮想端末マネージャ(screen)

*xpwiki別窓リンク - ver 4.x [#vb3cc41c]

-&size(16){&font(b){クラス名:XpWikiLink_url extends XpWikiLink};};

-メソッド名:function get_pattern()
 -(                 # (3) url
 - (?:(?:https?|ftp|news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 -)
_/_/_/_/_/
 +(                 # (3) url
 + (?:(?:\+?https?|\+?ftp|\+?news):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 +)
-クライアントサイド(recchal-client)
[対応OS] WindowsXP , Vista , 7 , Linux
[必須環境] .NET Framework 2.0以上 , VLC MediaPlayer 2.0.0以上(UDPストリーミングを再生できるマルチメディアプレイヤー)
~

-メソッド名:function toString()
 -    $img = ($this->is_image)? ' type="img"' : '';
 -    return '<a href="'.$this->name.'"'.$title.$rel.$class.$img.$target.'>'.$this->alias.'</a>';
_/_/_/_/_/
 +    $img = ($this->is_image)? ' type="img"' : '';
 +    if (ereg("^(\+)(.*)", $this->name, $regs)) {
 +        return '<a href="' . $regs[2] . '" target="_blank" ' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>';
 +    }else{
 +        return '<a href="' . $this->name . '"' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>';
 +    }

----
-&size(16){&font(b){クラス名:XpWikiLink_url_i18n extends XpWikiLink};};

-メソッド名:function get_pattern()
 -(                  # (3) scheme
 - (?:(?:https?|ftp|news):\/\/|mailto:)
 -)
_/_/_/_/_/
 +(                  # (3) scheme
 + (?:(?:\+?https?|\+?ftp|\+?news):\/\/|mailto:)
 +)
*利用方法 [#qd923d0c]
サーバサイドとクライアントサイドでは利用方法が異なるので気を付けてください。
-[[サーバサイド>Software/recchal/server]]
-クライアントサイド
~

-メソッド名:function toString()
 -        return '<a href="'.$this->name.'"'.$title.$rel.$class.$img.$target.'>'.$this->alias.'</a>'.$host;
_/_/_/_/_/
 +        if (ereg("^(\+)(.*)", $this->name, $regs)) {
 +            return '<a href="' . $regs[2] . '" target="_blank" ' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>' . $host;
 +        }else{
 +            return '<a href="' . $this->name . '"' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>' . $host;
 +        }
*ダウンロード [#va91d9f0]
recchal-server_ver1.0.0.tar.gz
recchal-client_ver1.0.0.zip
~

*xpwiki別窓リンク - ver 5.x [#kf4ae9ac]
*更新履歴 [#p6a7129e]
-ver 1.0.0
初期バージョン公開

-&size(16){&font(b){クラス名:XpWikiLink_url extends XpWikiLink};};

-メソッド名:function get_pattern()
 -(                 # (3) url
 - (?:(?:https?|ftp|news|site):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 -)
_/_/_/_/_/
 +(                 # (3) url
 + (?:(?:\+?https?|\+?ftp|\+?news|\+?site):\/\/|mailto:)[\w\/\@\$()!?&%#:;.,~'=*+-]+
 +)
~

-メソッド名:function toString()
 -    $img = ($this->is_image)? ' type="img"' : '';
 -    return '<a href="'.$this->name.'"'.$title.$rel.$class.$img.$target.'>'.$this->alias.'</a>';
_/_/_/_/_/
 +    $img = ($this->is_image)? ' type="img"' : '';
 +    if (ereg("^(\+)(.*)", $this->name, $regs)) {
 +        return '<a href="' . $regs[2] . '" target="_blank" ' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>';
 +    }else{
 +        return '<a href="' . $this->name . '"' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>';
 +    }

----
-&size(16){&font(b){クラス名:XpWikiLink_url_i18n extends XpWikiLink};};

-メソッド名:function get_pattern()
 -(                  # (3) scheme
 - (?:(?:https?|ftp|news|site):\/\/|mailto:)
 -)
_/_/_/_/_/
 +(                  # (3) scheme
 + (?:(?:\+?https?|\+?ftp|\+?news|\+?site):\/\/|mailto:)
 +)
~

-メソッド名:function toString()
 -        return '<a href="'.$this->name.'"'.$title.$rel.$class.$img.$target.'>'.$this->alias.'</a>'.$host;
_/_/_/_/_/
 +        if (ereg("^(\+)(.*)", $this->name, $regs)) {
 +            return '<a href="' . $regs[2] . '" target="_blank" ' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>' . $host;
 +        }else{
 +            return '<a href="' . $this->name . '"' . $title.$rel.$class.$img.$target . '>' . $this->alias . '</a>' . $host;
 +        }
~