summaryrefslogtreecommitdiff
path: root/www/api/posts_delete.php
blob: d24ba59b7e3f9c356c2d9f4779ca74d5011cd9c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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') .'" />';
?>