Пример #1
0
function plugin_back_convert()
{
    global $script;
    $qm = get_qm();
    if (func_num_args() > 4) {
        return $qm->replace('fmt_err_cvt', 'back', $qm->m['err_usage']);
    }
    list($word, $align, $hr, $href) = array_pad(func_get_args(), 4, '');
    $word = trim($word);
    $word = $word == '' ? $qm->m['plg_back']['back_word'] : htmlspecialchars($word);
    $align = strtolower(trim($align));
    switch ($align) {
        case '':
            $align = 'center';
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'center':
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'left':
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'right':
            break;
        default:
            return $qm->replace('fmt_err_cvt', 'back', $qm->m['err_usage']);
    }
    $hr = trim($hr) != '0' ? '<hr class="full_hr" />' . "\n" : '';
    $link = TRUE;
    $href = trim($href);
    if ($href != '') {
        if (PLUGIN_BACK_ALLOW_PAGELINK) {
            if (is_url($href)) {
                $href = rawurlencode($href);
            } else {
                $array = anchor_explode($href);
                $array[0] = rawurlencode($array[0]);
                $array[1] = $array[1] != '' ? '#' . rawurlencode($array[1]) : '';
                $href = $script . '?' . $array[0] . $array[1];
                $link = is_page($array[0]);
            }
        } else {
            $href = rawurlencode($href);
        }
    } else {
        if (!PLUGIN_BACK_ALLOW_JAVASCRIPT) {
            return $qm->replace('fmt_err_cvt', 'back', $qm->m['err_usage']) . ': ' . $qm->m['plg_back']['usage_hint'];
        }
        $href = 'javascript:history.go(-1)';
    }
    if ($link) {
        // Normal link
        return $hr . '<div style="text-align:' . $align . '">' . '[ <a href="' . $href . '">' . $word . '</a> ]</div>' . "\n";
    } else {
        // Dangling link
        return $hr . '<div style="text-align:' . $align . '">' . '[ <span class="noexists">' . $word . '<a href="' . $href . '">?</a></span> ]</div>' . "\n";
    }
}
Пример #2
0
function plugin_back_convert()
{
    global $_msg_back_word, $script;
    if (func_num_args() > 4) {
        return PLUGIN_BACK_USAGE;
    }
    list($word, $align, $hr, $href) = array_pad(func_get_args(), 4, '');
    $word = trim($word);
    $word = $word == '' ? $_msg_back_word : htmlsc($word);
    $align = strtolower(trim($align));
    switch ($align) {
        case '':
            $align = 'center';
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'center':
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'left':
            /*FALLTHROUGH*/
        /*FALLTHROUGH*/
        case 'right':
            break;
        default:
            return PLUGIN_BACK_USAGE;
    }
    $hr = trim($hr) != '0' ? '<hr class="full_hr" />' . "\n" : '';
    $link = true;
    $href = trim($href);
    if ($href != '') {
        if (PLUGIN_BACK_ALLOW_PAGELINK) {
            if (is_url($href)) {
                $href = rawurlencode($href);
            } else {
                $array = anchor_explode($href);
                $array[0] = rawurlencode($array[0]);
                $array[1] = $array[1] != '' ? '#' . rawurlencode($array[1]) : '';
                $href = $script . '?' . $array[0] . $array[1];
                $link = is_page($array[0]);
            }
        } else {
            $href = rawurlencode($href);
        }
    } else {
        if (!PLUGIN_BACK_ALLOW_JAVASCRIPT) {
            return PLUGIN_BACK_USAGE . ': Set a page name or an URI';
        }
        $href = 'javascript:history.go(-1)';
    }
    if ($link) {
        // Normal link
        return $hr . '<div style="text-align:' . $align . '">' . '[ <a href="' . $href . '">' . $word . '</a> ]</div>' . "\n";
    } else {
        // Dangling link
        return $hr . '<div style="text-align:' . $align . '">' . '[ <span class="noexists">' . $word . '<a href="' . $href . '">?</a></span> ]</div>' . "\n";
    }
}
Пример #3
0
function plugin_edit_inline()
{
    static $usage = '&edit(pagename#anchor[[,noicon],nolabel])[{label}];';
    global $script, $vars, $fixed_heading_anchor_edit;
    if (PKWK_READONLY) {
        return '';
    }
    // Show nothing
    // Arguments
    $args = func_get_args();
    // {label}. Strip anchor tags only
    $s_label = strip_htmltag(array_pop($args), FALSE);
    $page = array_shift($args);
    if ($page == NULL) {
        $page = '';
    }
    $_noicon = $_nolabel = FALSE;
    foreach ($args as $arg) {
        switch (strtolower($arg)) {
            case '':
                break;
            case 'nolabel':
                $_nolabel = TRUE;
                break;
            case 'noicon':
                $_noicon = TRUE;
                break;
            default:
                return $usage;
        }
    }
    // Separate a page-name and a fixed anchor
    list($s_page, $id, $editable) = anchor_explode($page, TRUE);
    // Default: This one
    if ($s_page == '') {
        $s_page = isset($vars['page']) ? $vars['page'] : '';
    }
    // $s_page fixed
    $isfreeze = is_freeze($s_page);
    $ispage = is_page($s_page);
    // Paragraph edit enabled or not
    $short = htmlspecialchars('Edit');
    if ($fixed_heading_anchor_edit && $editable && $ispage && !$isfreeze) {
        // Paragraph editing
        $id = rawurlencode($id);
        $title = htmlspecialchars(sprintf('Edit %s', $page));
        $icon = '<img src="' . IMAGE_DIR . 'paraedit.png' . '" width="9" height="9" alt="' . $short . '" title="' . $title . '" /> ';
        $class = ' class="anchor_super"';
    } else {
        // Normal editing / unfreeze
        $id = '';
        if ($isfreeze) {
            $title = 'Unfreeze %s';
            $icon = 'unfreeze.png';
        } else {
            $title = 'Edit %s';
            $icon = 'edit.png';
        }
        $title = htmlspecialchars(sprintf($title, $s_page));
        $icon = '<img src="' . IMAGE_DIR . $icon . '" width="20" height="20" alt="' . $short . '" title="' . $title . '" />';
        $class = '';
    }
    if ($_noicon) {
        $icon = '';
    }
    // No more icon
    if ($_nolabel) {
        if (!$_noicon) {
            $s_label = '';
            // No label with an icon
        } else {
            $s_label = $short;
            // Short label without an icon
        }
    } else {
        if ($s_label == '') {
            $s_label = $title;
        }
        // Rich label with an icon
    }
    // URL
    if ($isfreeze) {
        $url = $script . '?cmd=unfreeze&amp;page=' . rawurlencode($s_page);
    } else {
        $s_id = $id == '' ? '' : '&amp;id=' . $id;
        $url = $script . '?cmd=edit&amp;page=' . rawurlencode($s_page) . $s_id;
    }
    $atag = '<a' . $class . ' href="' . $url . '" title="' . $title . '">';
    static $atags = '</a>';
    if ($ispage) {
        // Normal edit link
        return $atag . $icon . $s_label . $atags;
    } else {
        // Dangling edit link
        return '<span class="noexists">' . $atag . $icon . $atags . $s_label . $atag . '?' . $atags . '</span>';
    }
}