function plugin_diff_view($page) { global $script, $hr; global $_msg_notfound, $_msg_goto, $_msg_deleted, $_msg_addline, $_msg_delline, $_title_diff; global $_title_diff_delete; $r_page = rawurlencode($page); $s_page = htmlsc($page); $menu = array('<li>' . $_msg_addline . '</li>', '<li>' . $_msg_delline . '</li>'); $is_page = is_page($page); if ($is_page) { $menu[] = ' <li>' . str_replace('$1', '<a href="' . $script . '?' . $r_page . '">' . $s_page . '</a>', $_msg_goto) . '</li>'; } else { $menu[] = ' <li>' . str_replace('$1', $s_page, $_msg_deleted) . '</li>'; } $filename = DIFF_DIR . encode($page) . '.txt'; if (file_exists($filename)) { if (!PKWK_READONLY) { $menu[] = '<li><a href="' . $script . '?cmd=diff&action=delete&page=' . $r_page . '">' . str_replace('$1', $s_page, $_title_diff_delete) . '</a></li>'; } $msg = '<pre>' . diff_style_to_css(htmlsc(join('', file($filename)))) . '</pre>' . "\n"; } elseif ($is_page) { $diffdata = trim(htmlsc(join('', get_source($page)))); $msg = '<pre><span class="diff_added">' . $diffdata . '</span></pre>' . "\n"; } else { return array('msg' => $_title_diff, 'body' => $_msg_notfound); } $menu = join("\n", $menu); $body = <<<EOD <ul> {$menu} </ul> {$hr} EOD; return array('msg' => $_title_diff, 'body' => $body . $msg); }
function plugin_diff_view($page) { global $script, $hr; // global $_msg_notfound, $_msg_goto, $_msg_deleted, $_msg_addline, $_msg_delline; // global $_title_diff, $_title_diff_delete; if (auth::check_role('safemode')) { die_message('PKWK_SAFE_MODE prohibits this'); } $_msg_notfound = _('The page was not found.'); $_msg_addline = _('The added line is <span class="diff_added">THIS COLOR</span>.'); $_msg_delline = _('The deleted line is <span class="diff_removed">THIS COLOR</span>.'); $_msg_goto = _('Go to $1.'); $_msg_deleted = _(' $1 has been deleted.'); $_title_diff = _('Diff of $1'); $_title_diff_delete = _('Deleting diff of $1'); $r_page = rawurlencode($page); $s_page = htmlspecialchars($page); $menu = array('<li>' . $_msg_addline . '</li>', '<li>' . $_msg_delline . '</li>'); $is_page = is_page($page); if ($is_page) { $menu[] = ' <li>' . str_replace('$1', '<a href="' . get_page_uri($page) . '">' . $s_page . '</a>', $_msg_goto) . '</li>'; } else { $menu[] = ' <li>' . str_replace('$1', $s_page, $_msg_deleted) . '</li>'; } $filename = DIFF_DIR . encode($page) . '.txt'; if (file_exists($filename)) { // if (! PKWK_READONLY) { if (!auth::check_role('readonly')) { $menu[] = '<li><a href="' . $script . '?cmd=diff&action=delete&page=' . $r_page . '">' . str_replace('$1', $s_page, $_title_diff_delete) . '</a></li>'; } $source = join('', file($filename)); auth::is_role_page($source); $msg = '<pre>' . diff_style_to_css(htmlspecialchars($source)) . '</pre>' . "\n"; } else { if ($is_page) { $source = join('', get_source($page)); auth::is_role_page($source); $diffdata = trim(htmlspecialchars($source)); $msg = '<pre><span class="diff_added">' . $diffdata . '</span></pre>' . "\n"; } else { return array('msg' => $_title_diff, 'body' => $_msg_notfound); } } $menu = join("\n", $menu); $body = <<<EOD <ul> {$menu} </ul> {$hr} EOD; return array('msg' => $_title_diff, 'body' => $body . $msg); }
function plugin_diff_view($page) { global $script, $hr; global $layout_pages; $qm = get_qm(); $r_page = rawurlencode($page); $s_page = htmlspecialchars($page); $menu = array('<li>' . $qm->m['fmt_msg_addline'] . '</li>', '<li>' . $qm->m['fmt_msg_delline'] . '</li>'); //レイアウト部品の場合、スタイルを変更する $is_layout = FALSE; if (isset($layout_pages) && isset($layout_pages[$page])) { $is_layout = TRUE; } $is_page = is_page($page); if ($is_page && $is_layout) { $menu[] = ' <li><a href="' . h($script) . '?cmd=edit&page=' . $r_page . '">' . h($layout_pages[$page]) . 'を編集する</a></li>'; } else { if ($is_page) { $menu[] = ' <li>' . str_replace('$1', '<a href="' . $script . '?' . $r_page . '">' . $s_page . '</a>', $qm->m['fmt_msg_goto']) . '</li>'; } else { $menu[] = ' <li>' . str_replace('$1', $s_page, $qm->m['fmt_msg_deleted']) . '</li>'; } } $filename = DIFF_DIR . encode($page) . '.txt'; if (file_exists($filename)) { if (!PKWK_READONLY) { $menu[] = '<li><a href="' . $script . '?cmd=diff&action=delete&page=' . $r_page . '">' . $qm->replace('plg_diff.title_delete', $s_page) . '</a></li>'; } $msg = '<pre>' . diff_style_to_css(htmlspecialchars(join('', file($filename)))) . '</pre>' . "\n"; } else { if ($is_page) { $diffdata = trim(htmlspecialchars(join('', get_source($page)))); $msg = '<pre><span class="diff_added">' . $diffdata . '</span></pre>' . "\n"; } else { return array('msg' => $qm->m['plg_diff']['title'], 'body' => $qm->m['fmt_err_notfound']); } } $menu = join("\n", $menu); $body = <<<EOD <ul> {$menu} </ul> {$hr} EOD; $title = $qm->m['plg_diff']['title']; if ($is_layout) { $title = h($layout_pages[$page]) . 'の変更点'; } return array('msg' => $title, 'body' => $body . $msg); }
function plugin_backup_diff($str) { global $hr; $qm = get_qm(); $ul = <<<EOD {$hr} <ul> <li>{$qm->m['fmt_msg_addline']}</li> <li>{$qm->m['fmt_msg_delline']}</li> </ul> EOD; return $ul . '<pre>' . diff_style_to_css(htmlspecialchars($str)) . '</pre>' . "\n"; }
function plugin_backup_diff($str) { // global $_msg_addline, $_msg_delline; global $hr; $_msg_addline = _('The added line is <span class="diff_added">THIS COLOR</span>.'); $_msg_delline = _('The deleted line is <span class="diff_removed">THIS COLOR</span>.'); $ul = <<<EOD {$hr} <ul> <li>{$_msg_addline}</li> <li>{$_msg_delline}</li> </ul> EOD; return $ul . '<pre>' . diff_style_to_css(htmlspecialchars($str)) . '</pre>' . "\n"; }
function plugin_backup_diff($str) { global $_msg_addline, $_msg_delline, $hr; $ul = <<<EOD {$hr} <ul> <li>{$_msg_addline}</li> <li>{$_msg_delline}</li> </ul> EOD; return $ul . '<pre>' . diff_style_to_css(htmlsc($str)) . '</pre>' . "\n"; }
function preview($apage, $diff) { global $script; if ($apage == '' || $diff == '') { return '<div>No page found or nothing changed.</div>'; } unset($this->options['pass']); unset($this->options['pcmd']); foreach ($this->options as $key => $val) { $this->setcookie($key, $val); } $msg = '<div>A preview, <b>' . make_pagelink($apage) . '</b></div>'; //$diff = '<pre>' . htmlspecialchars($diff) . '</pre>'; $msg .= '<pre>' . diff_style_to_css(htmlspecialchars($diff)) . '</pre>'; // Pukiwiki API $form = array(); $form[] = '<form action="' . $script . '?cmd=replaceplugin" method="post">'; $form[] = '<div>'; $form[] = ' Do you want to replace all pages? '; $form[] = ' <input type="hidden" name="cmd" value="replaceplugin" />'; $form[] = ' <input type="hidden" name="pcmd" value="replace" />'; foreach ($this->options as $key => $val) { $form[] = ' <input type="hidden" name="' . $key . '" value="' . $val . '" />'; } $form[] = ' <input type="submit" name="submit" value="Yes" /><br />'; $form[] = '</div>'; $form[] = '</form>'; $form = implode("\n", $form); return $msg . $form; }