$text"; $html = "(:if auth edit:)[=$link=](:if:)"; return $html; } function MarkletHandleDelete() { global $pagename; if (isset($_REQUEST['mid'])) { $mid = $_REQUEST['mid']; $mid = stripmagic($mid); $page = RetrieveAuthPage($pagename, 'edit', true); if (!$page) Abort('?cannot read $pagename'); $new = $page; $new['text'] = preg_replace("/^(.*?)\(:marklet-delete-$mid:\).*?\n/m", '', $page['text'], 1); PostPage($pagename, $page, $new); MarkletRedirect($pagename, "Deleted"); } else { Redirect($pagename); } } function MarkletSplitPagename($page) { global $MarkletCategorySplitPoint; return split($MarkletCategorySplitPoint, $page); } function MarkletAdd($pagename, $argv) { global $Now, $PageRedirectFmt, $HandleActions; global $HTMLStylesFmt, $HTMLHeaderFmt; global $MarkletRedirectDelay, $MarkletDateFmt, $MarkletAddText; global $MarkletRedirectMessage, $MarkletAddTextToEnd; global $MarkletCategorySplitPoint; $title = stripslashes($_REQUEST['title']); $url = $_REQUEST['url']; $summary = $_REQUEST['summary']; $category = ($_REQUEST['new_category']) ? $_REQUEST['new_category'] : $_REQUEST['category']; list($pre, $post) = MarkletSplitPagename($pagename);# BCWI #$newpage = ($category) ? join('-', array($pagename, $category)) : $pagename; $newpage = ($category) ? join($MarkletCategorySplitPoint, array($pre, $category)) : $pagename; $time = strftime($MarkletDateFmt, $Now); $key = md5($link); $link = ($title) ? "[[$url|$title]]" : "[[$url]]"; SDV($MarkletAddText, "* $link $summary $time (:marklet-delete-$key:)\n"); $MarkletAddText = stripslashes($MarkletAddText); $page = RetrieveAuthPage($newpage, 'edit'); if (!$page) Abort("?cannot edit $pagename"); $text = $page['text']; if (preg_match("/$key/", $text)) { $MarkletAddText = preg_replace("/\*/", '* %red% (duplicate)', $MarkletAddText); } if (@$_REQUEST['url']) { $text = (IsEnabled($MarkletAddTextToEnd,0)) ? "$text$MarkletAddText" : "$MarkletAddText$text"; } $page['text'] = $text; $page['text'] .= $vote; WritePage($newpage, $page); $newpage = preg_replace('/\./', '/', $newpage); if ($_REQUEST['return']) { $HTMLHeaderFmt['marklet'] = ""; } MarkletRedirect($newpage, "New bookmark: $url."); } function MarkletDuplicateCheck($test, $key) { MarkletDuplicateCheck($test, $key); } # function to create the bookmarklet function MarkletCreateLinks($pagename, $linkpage) { global $MarkletEnableReturn; $return = ($MarkletEnableReturn) ? '&return=1' : ''; if ($linkpage) $pagename = MakePageName($pagename, $linkpage); $first = FmtPageName("+=$pagename", $pagename); $first .= FmtPageName("
+=$pagename (hurrymode)", $pagename); return $first; } # function to handle ?action=addlink (prepends the url to the page and # then passes control to the edit function). function MarkletHandleAdd($pagename) { global $HandleActions, $EnableAddLinkToEnd, $AddLinkText; Lock(2); $link = $_REQUEST['url']; $title = stripslashes($_REQUEST['title']); if ($_REQUEST['hurry']) { MarkletAdd($pagename, ''); } $form = MakeMarkForm($pagename, $link, $title); print $form; } function MakeMarkForm($pagename, $link, $title) { global $ScriptUrl, $MarkletCategorySplitPoint; $pages = ListPages("/^$pagename*/"); $cats = array(); foreach ($pages as $p) { #list(, $c) = split('-', $p); #list(, $c) = split($MarkletCategorySplitPoint, $p); list(, $c) = MarkletSplitPagename($p); $cats[] = ""; } sort($cats); array_unshift($cats, ""); $categories = join("\n", $cats); $form =<<
Title:
Link:
Create in Category:
Add Category:
Summary:
MAKELINKFORM; return $form; } function MarkletRedirect($page, $msg) { global $PageRedirectFmt, $HTMLStylesFmt; $HTMLStylesFmt[marklets] = " /* styling of marklet messages */ #markletMessage { padding: 0.5em; margin-bottom: 1em; background: #FFD; border: 3px double red; } "; $_GET['from'] = 1; $PageRedirectFmt = "
$msg
"; HandleBrowse($page); exit(); }