$_page";
}
$page = $tmp;
}
if ($page != '')
{
$body = sprintf($body, htmlspecialchars($page));
}
$msg = sprintf($_rename_messages['err'], $body);
return $msg;
}
//第一段階:ページ名または正規表現の入力
function rename_phase1($err = '', $page = '')
{
global $script, $_rename_messages;
$msg = rename_err($err, $page);
$refer = rename_getvar('refer');
$method = rename_getvar('method');
$radio_regex = $radio_page = '';
if ($method == 'regex')
{
$radio_regex =' checked';
}
else
{
$radio_page = ' checked';
}
$select_refer = rename_getselecttag($refer);
$s_src = htmlspecialchars(rename_getvar('src'));
$s_dst = htmlspecialchars(rename_getvar('dst'));
$ret = array();
$ret['msg'] = $_rename_messages['msg_title'];
$ret['body'] = << {$_rename_messages['msg_related']}
{$_rename_messages['msg_regex']}:
From:
To:
';
}
$msg_rename = sprintf($_rename_messages['msg_rename'], make_pagelink($refer));
$s_page = htmlspecialchars($page);
$s_refer = htmlspecialchars($refer);
$ret = array();
$ret['msg'] = $_rename_messages['msg_title'];
$ret['body'] = <<
{$_rename_messages['msg_newname']}:
$msg_related
";
sort($related);
foreach ($related as $name)
{
$ret['body'] .= '
';
}
return $ret;
}
//ページ名と関連するページを列挙し、phase3へ
function rename_refer()
{
$page = rename_getvar('page');
$refer = rename_getvar('refer');
$pages[encode($refer)] = encode($page);
if (rename_getvar('related') != '')
{
$from = strip_bracket($refer);
$to = strip_bracket($page);
foreach (rename_getrelated($refer) as $_page)
{
$pages[encode($_page)] = encode(str_replace($from, $to, $_page));
}
}
return rename_phase3($pages);
}
//正規表現でページを置換
function rename_regex($arr_from, $arr_to)
{
$exists = array();
foreach ($arr_to as $page)
{
if (is_page($page))
{
$exists[] = $page;
}
}
if (count($exists) > 0)
{
return rename_phase1('already', $exists);
}
$pages = array();
foreach ($arr_from as $refer)
{
$pages[encode($refer)] = encode(array_shift($arr_to));
}
return rename_phase3($pages);
}
function rename_phase3($pages)
{
global $script, $_rename_messages;
$msg = $input = '';
$files = rename_get_files($pages);
$exists = array();
foreach ($files as $_page=>$arr)
{
foreach ($arr as $old=>$new)
{
if (file_exists($new))
{
$exists[$_page][$old] = $new;
}
}
}
$pass = rename_getvar('pass');
if ($pass != '' && pkwk_login($pass))
{
return rename_proceed($pages, $files, $exists);
}
else if ($pass != '')
{
$msg = rename_err('adminpass');
}
$method = rename_getvar('method');
if ($method == 'regex')
{
$s_src = htmlspecialchars(rename_getvar('src'));
$s_dst = htmlspecialchars(rename_getvar('dst'));
$msg .= $_rename_messages['msg_regex'] . '
';
$input .= "";
$input .= "";
$input .= "";
}
else
{
$s_refer = htmlspecialchars(rename_getvar('refer'));
$s_page = htmlspecialchars(rename_getvar('page'));
$s_related = htmlspecialchars(rename_getvar('related'));
$msg .= $_rename_messages['msg_page'] . '
';
$input .= "";
$input .= "";
$input .= "";
$input .= "";
}
if (count($exists) > 0)
{
$msg .= $_rename_messages['err_already_below'] . "";
foreach ($exists as $page=>$arr)
{
$msg .= '
\n";
foreach ($arr as $ofile=>$nfile)
{
$msg .= '
';
}
$msg .= "
\n";
$input .= '' . $_rename_messages['msg_exist_none'] . '
';
$input .= '' . $_rename_messages['msg_exist_overwrite'] . '
';
}
$ret = array();
$ret['msg'] = $_rename_messages['msg_title'];
$ret['body'] = <<
{$_rename_messages['msg_confirm']}
EOD; ksort($pages); $ret['body'] .= "