Beispiel #1
0
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&amp;action=delete&amp;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);
}
Beispiel #2
0
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&amp;action=delete&amp;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);
}
Beispiel #3
0
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&amp;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&amp;action=delete&amp;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);
}
Beispiel #4
0
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";
}
Beispiel #6
0
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;
 }