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"; } }
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"; } }
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&page=' . rawurlencode($s_page); } else { $s_id = $id == '' ? '' : '&id=' . $id; $url = $script . '?cmd=edit&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>'; } }