// 最終更新日:2005/3/9
// 変数
$page_title = "p2 ime";
$refresh_time = 1;
$refresh_flag = false;
$query = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
// enc=1 がついていれば、urlをデコードするのフラグ
//http://akid.s17.xrea.com/p2ime.php?enc=1&m=1&url=http%3A%2F%2Fpage2.skr.jp%2Frep2%2F
$pettern = '/^enc=1(&|&)/i';
if (preg_match($pettern, $query)) {
$query = preg_replace($pettern, '', $query);
$enc_flag = true;
}
//↓手動転送用追記部分
//手動転送
//m=1なら手動転送するフラグ
//手動転送処理はエンコード処理の後に記述しておく
$pettern = '/^m=1(&|&)/i';
if (preg_match($pettern, $query)) {
$query = preg_replace($pettern, '', $query);
//ここでは$man_mv_flagとしているが別に変数の名前はなんだってOK
$man_mv_flag = true;
}
// URL指定取得
$target_url = preg_replace("/url=(.+)/", "$1", $query, 1);
// エンコード指定があれば、デコードしておく
if (!empty($enc_flag)) {
$target_url = rawurldecode($target_url);
}
$view_ht['target_url'] = htmlspecialchars($target_url);
if (!$target_url) {
$htm['msg'] = "エラー:URLが指定されていません。";
} elseif (!preg_match("{^(http|ftp)}i", $target_url)) {
$htm['msg'] = "http*, ftp以外のスキームは自動転送表示しません。
" . $view_ht['target_url'];
} else {
$htm['msg'] = "" . $view_ht['target_url'] . "";
//この下の $reflesh_flagは使わない
//$refresh_flag = true;
}
/*ここから追記部分
もとのp2ime.php.txtそのままだとすべてのURLが自動転送となる
また、手動転送フラグ(m=1)が機能しないため
m=1が立っていると
http*, ftp以外のスキームは自動転送表示しません。
の表示となり転送できないので手動転送できるようにうまく記述*/
//man_mv_flagが立っている(true)の時の処理
if ($man_mv_flag) {
//$htm['movement']:後のHTML出力時のメッセージ
$htm['movement'] ="手動転送";
} else {
//man_mv_flagが立っていない時の処理
$htm['movement'] ="自動転送";
//ここに $refresh_flagwo持ってきておく
$refresh_flag = ture;
}
//ここまで追記
if ($refresh_flag) {
$htm['refresh_time'] = "";
}
// HTML表示
//なるべくhttp://akid.s17.xrea.com/p2ime.phpのような感じの表示になるようにしてあります
//charsetはutf-8でもShift_JISでも何でもOK。文字化けしなければ
echo <<
{$htm['refresh_time']}
{$page_title}
{$htm['movement']}
{$htm['msg']}
by p2 ime
EOP;