$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 =<<
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();
}