".(isset($MarkletDeleteText)?$MarkletDeleteText:'Delete').""); $HandleActions['makemark'] = 'HandleAddMark'; $HandleActions['makemarklet'] = 'AddMarklet'; $HandleActions['marklet-delete'] = 'HandleDeleteMarklet'; function HandleDeleteMarklet() { global $pagename; if (isset($_REQUEST['marklet'])) { $marklet = $_REQUEST['marklet']; $marklet = stripmagic($marklet); $page = RetrieveAuthPage($pagename, 'edit', true); if (!$page) Abort('?cannot read $pagename'); $new = $page; $new['text'] = preg_replace("/^(.*?)\(:marklet-delete-$marklet:\).*?\n/m", '', $page['text'], 1); PostPage($pagename, $page, $new); MarkletRedirect($pagename, "Deleted"); } else { Redirect($pagename); } } function AddMarklet($pagename, $argv) { global $Now, $PageRedirectFmt, $HandleActions, $HTMLHeaderFmt; global $MarkletRedirectDelay, $MarkletDateFmt, $MarkletAddText; global $MarkletRedirectMessage; global $HTMLStylesFmt; $title = $_REQUEST['title']; $link = $_REQUEST['url']; $summary = $_REQUEST['summary']; $category = ($_REQUEST['new_category']) ? $_REQUEST['new_category'] : $_REQUEST['category']; $newpage = ($category) ? join('-', array($pagename, $category)) : $pagename; $time = strftime($MarkletDateFmt, $Now); $key = md5($link); SDV($MarkletAddText, "* [[$link|$title]] $summary $time (:marklet-delete-$key:)\n"); $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: $link."); } 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 HandleAddMark($pagename) { global $HandleActions, $EnableAddLinkToEnd, $AddLinkText; Lock(2); $link = $_REQUEST['url']; $title = $_REQUEST['title']; if ($_REQUEST['hurry']) { AddMarklet($pagename, ''); } $form = MakeMarkForm($pagename, $link, $title); print $form; } function MakeMarkForm($pagename, $link, $title) { global $ScriptUrl; $pages = ListPages("/^$pagename-/"); $cats = array(); foreach ($pages as $p) { list(, $c) = split('-', $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(); }