function plugin_rss10_action() { pkwk_headers_sent(); header('Status: 301 Moved Permanently'); header('Location: ' . get_location_uri('rss', '', 'ver=1.0')); // HTTP exit; }
function plugin_read_action() { global $vars, $_title_invalidwn, $_msg_invalidiwn; $page = isset($vars['page']) ? $vars['page'] : ''; if (is_page($page)) { // ページを表示 check_readable($page, true, true); header_lastmod($page); return array('msg' => '', 'body' => ''); // } else if (! PKWK_SAFE_MODE && is_interwiki($page)) { } else { if (!auth::check_role('safemode') && is_interwiki($page)) { return do_plugin_action('interwiki'); // InterWikiNameを処理 } else { if (is_pagename($page)) { $realpages = get_autoaliases($page); if (count($realpages) == 1) { $realpage = $realpages[0]; if (is_page($realpage)) { header('HTTP/1.0 301 Moved Permanently'); header('Location: ' . get_page_location_uri($realpage)); return; } elseif (is_url($realpage)) { header('HTTP/1.0 301 Moved Permanently'); header('Location: ' . $realpage); return; } elseif (is_interwiki($realpage)) { header('HTTP/1.0 301 Moved Permanently'); $vars['page'] = $realpage; return do_plugin_action('interwiki'); // header('Location'); } else { // 存在しない場合、直接編集フォームに飛ばす // To avoid infinite loop header('Location: ' . get_location_uri('edit', $realpage)); return; } } elseif (count($realpages) >= 2) { $body = '<p>'; $body .= _('This pagename is an alias to') . '<br />'; $link = ''; foreach ($realpages as $realpage) { $link .= '[[' . $realpage . '>' . $realpage . ']]&br;'; } $body .= make_link($link); $body .= '</p>'; return array('msg' => _('Redirect'), 'body' => $body); } $vars['cmd'] = 'edit'; return do_plugin_action('edit'); // 存在しないので、編集フォームを表示 } else { // 無効なページ名 return array('msg' => $_title_invalidwn, 'body' => str_replace('$1', htmlspecialchars($page), str_replace('$2', 'WikiName', $_msg_invalidiwn))); } } } }
function check_role_die($msg) { global $defaultpage, $vars; if (!empty($vars['page']) && $defaultpage == $vars['page']) { die_message($msg); } header('Location: ' . get_location_uri()); // 飛ばないときしかメッセージは表示されない die($msg); }
function plugin_amazon_action() { global $vars, $script; global $amazon_body; global $_amazon_msg; $check = new amazon_check_asin(htmlspecialchars(rawurlencode(strip_bracket($vars['asin'])))); if (!$check->is_asin) { $retvars['msg'] = $_amazon_msg['msg_BookReviewEdit']; $retvars['refer'] = $vars['refer']; $s_page = $vars['refer']; $r_page = $s_page . '/' . $check->asin; $retvars['body'] = plugin_amazon_convert(); return $retvars; } $s_page = $vars['refer']; $r_page = $s_page . '/' . $check->asin; // $r_page_url = rawurlencode($r_page); if (!check_readable($r_page, false, false)) { header('Location: ' . get_page_location_uri($r_page)); } elseif (check_editable($r_page, false, false)) { $info = new amazon_getinfo($check->asin, 'heavy'); $title = $info->items['title']; if ($title == '' or preg_match('/^\\//', $s_page)) { header('Location: ' . get_script_absuri() . '?' . encode($s_page)); } $body = "#amazon({$check->asin},,image)\n*{$title}\n" . $amazon_body; amazon_review_save($r_page, $body); header('Location: ' . get_location_uri('edit', $r_page)); } else { return false; } die; }
function plugin_openid_jump_url() { global $vars; $page = empty($vars['page']) ? '' : $vars['page']; return get_location_uri('openid', $page); }
function plugin_jugemkey_jump_url($inline = 0) { global $vars; $page = empty($vars['page']) ? '' : $vars['page']; $callback_url = get_location_uri('jugemkey', $page); $obj = new auth_jugemkey(); $url = $obj->make_login_link($callback_url); return $inline ? $url : str_replace('&', '&', $url); }