X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/440af55d72c65f5c149718dc52abd00f512ffb71..0024bde0fcca14f018c647f41d8192b4564df96e:/lib/trackdb-playlists.c diff --git a/lib/trackdb-playlists.c b/lib/trackdb-playlists.c index fb01d20..f9f8252 100644 --- a/lib/trackdb-playlists.c +++ b/lib/trackdb-playlists.c @@ -32,6 +32,7 @@ #include "log.h" #include "configuration.h" #include "vector.h" +#include "eventlog.h" static int trackdb_playlist_get_tid(const char *name, const char *who, @@ -81,7 +82,7 @@ int playlist_parse_name(const char *name, if(!valid_username(name)) return -1; owner = 0; - share = "public"; + share = "shared"; } if(ownerp) *ownerp = owner; @@ -229,6 +230,7 @@ static int trackdb_playlist_get_tid(const char *name, /** @brief Modify or create a playlist * @param name Playlist name + * @param who User modifying playlist * @param tracks List of tracks to set, or NULL to leave alone * @param ntracks Length of @p tracks * @param share Sharing status, or NULL to leave alone @@ -293,6 +295,7 @@ static int trackdb_playlist_set_tid(const char *name, struct kvp *k; int e; const char *s; + const char *event = "playlist_modified"; if((e = trackdb_getdata(trackdb_playlistsdb, name, &k, tid)) && e != DB_NOTFOUND) @@ -311,6 +314,7 @@ static int trackdb_playlist_set_tid(const char *name, k = 0; kvp_set(&k, "count", 0); kvp_set(&k, "sharing", defshare); + event = "playlist_created"; } /* Check that the modification is allowed */ if(!(s = kvp_get(k, "sharing"))) { @@ -354,7 +358,11 @@ static int trackdb_playlist_set_tid(const char *name, kvp_set(&k, "count", b); } /* Store the resulting record */ - return trackdb_putdata(trackdb_playlistsdb, name, k, tid, 0); + e = trackdb_putdata(trackdb_playlistsdb, name, k, tid, 0); + /* Log the event */ + if(!e) + eventlog(event, name, kvp_get(k, "sharing"), (char *)0); + return e; } /** @brief Get a list of playlists @@ -468,7 +476,10 @@ static int trackdb_playlist_delete_tid(const char *name, if(!playlist_may_write(name, who, s)) return EACCES; /* Delete the playlist */ - return trackdb_delkey(trackdb_playlistsdb, name, tid); + e = trackdb_delkey(trackdb_playlistsdb, name, tid); + if(!e) + eventlog("playlist_deleted", name, 0); + return e; } /*