aboutsummaryrefslogtreecommitdiff
path: root/www/api/posts_update.php
blob: 0e08ee759f038a53d66a6c8e48509ad755b4c678 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/**
 * API for retrieving a user's last update time.
 * That is the time the user changed a bookmark lastly.
 * The delicious API is implemented here.
 *
 * Delicious also returns "the number of new items in
 *  the user's inbox since it was last visited." - we do
 * that too, so we are as close at the API as possible,
 * not breaking delicious clients.
 *
 * SemanticScuttle supports an extra parameter:
 * - ?datemode=modified
 *   - sorts by modified date and returns modification time
 *     instead of creation time
 *
 * SemanticScuttle - your social bookmark manager.
 *
 * PHP version 5.
 *
 * @category Bookmarking
 * @package  SemanticScuttle
 * @author   Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
 * @author   Christian Weiske <cweiske@cweiske.de>
 * @author   Eric Dane <ericdane@users.sourceforge.net>
 * @license  GPL http://www.gnu.org/licenses/gpl.html
 * @link     http://sourceforge.net/projects/semanticscuttle
 * @link     http://www.delicious.com/help/api
 */

// Force HTTP authentication first!
$httpContentType = 'text/xml';
require_once 'httpauth.inc.php';

// parameter "datemode=modified" will get last modified date
// instead of last created date
$orderby   = null;
$timeField = 'bDatetime';
if (isset($_GET['datemode']) && $_GET['datemode'] == 'modified') {
    $orderby = 'modified_desc';
    $timeField = 'bModified';
}

$bs = SemanticScuttle_Service_Factory::get('Bookmark');

$bookmarks = $bs->getBookmarks(0, 1, $userservice->getCurrentUserId(), null, null, $orderby);

// Set up the XML file and output all the tags.
echo '<?xml version="1.0" standalone="yes" ?' . ">\r\n";
//foreach is used in case there are no bookmarks
foreach ($bookmarks['bookmarks'] as $row) {
    echo '<update time="'
        . gmdate('Y-m-d\TH:i:s\Z', strtotime($row[$timeField]))
        . '"'
        . ' inboxnew="0"'
        . ' />';
}
?>