<?php
// Implements the del.icio.us API request to delete a post.

// del.icio.us behavior:
// - returns "done" even if the bookmark doesn't exist;
// - does NOT allow the hash for the url parameter;
// - doesn't set the Content-Type to text/xml (we do).

// Force HTTP authentication first!
require_once('httpauth.inc.php');
require_once('../header.inc.php');

/* Service creation: only useful services are created */
$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');


// Note that del.icio.us only errors out if no URL was passed in; there's no error on attempting
// to delete a bookmark you don't have.

// Error out if there's no address
if (is_null($_REQUEST['url'])) {
    $deleted = false;
} else {
    $bookmark = $bookmarkservice->getBookmarkByAddress($_REQUEST['url']);
    $bid = $bookmark['bId'];
    $delete = $bookmarkservice->deleteBookmark($bid);
    $deleted = true;
}

// Set up the XML file and output the result.
header('Content-Type: text/xml');
echo '<?xml version="1.0" standalone="yes" ?'.">\r\n";
echo '<result code="'. ($deleted ? 'done' : 'something went wrong') .'" />';
?>