function plugin_rename_action() { global $whatsnew; // if (PKWK_READONLY) die_message('PKWK_READONLY prohibits this'); if (auth::check_role('readonly')) { die_message('PKWK_READONLY prohibits this'); } $method = plugin_rename_getvar('method'); if ($method == 'regex') { $src = plugin_rename_getvar('src'); if ($src == '') { return plugin_rename_phase1(); } $src_pattern = '/' . preg_quote($src, '/') . '/'; $arr0 = preg_grep($src_pattern, auth::get_existpages()); if (!is_array($arr0) || empty($arr0)) { return plugin_rename_phase1('nomatch'); } $dst = plugin_rename_getvar('dst'); $arr1 = preg_replace($src_pattern, $dst, $arr0); foreach ($arr1 as $page) { if (!is_pagename($page)) { return plugin_rename_phase1('notvalid'); } } return plugin_rename_regex($arr0, $arr1); } else { // $method == 'page' $page = plugin_rename_getvar('page'); $refer = plugin_rename_getvar('refer'); if ($refer === '') { return plugin_rename_phase1(); } else { if (!is_page($refer)) { return plugin_rename_phase1('notpage', $refer); } else { if ($refer === $whatsnew) { return plugin_rename_phase1('norename', $refer); } else { if ($page === '' || $page === $refer) { return plugin_rename_phase2(); } else { if (!is_pagename($page)) { return plugin_rename_phase2('notvalid'); } else { return plugin_rename_refer(); } } } } } } }
function plugin_rename_refer() { $page = plugin_rename_getvar('page'); $refer = plugin_rename_getvar('refer'); if (is_cantedit($page)) { return plugin_rename_phase2('notvalid'); } $pages[encode($refer)] = encode($page); if (plugin_rename_getvar('related') != '') { $from = strip_bracket($refer); $to = strip_bracket($page); foreach (plugin_rename_getrelated($refer) as $_page) { $pages[encode($_page)] = encode(str_replace($from, $to, $_page)); } } return plugin_rename_phase3($pages); }