This returns an array of all object_ids currently in this tmpPlaylist. This has gotten a little more complicated because of type, the values are an array
being ID 1 being TYPE
FIXME: This is too complex, it makes my brain hurt [VOTE COUNT] [DATE OF NEWEST VOTE] [ROW ID] [OBJECT_ID] [OBJECT_TYPE]
Sorting does the following sort largest VOTE COUNT to top sort smallest DATE OF NEWEST VOTE]
This returns the next object in the tmp_playlist most of the time this will just be the top entry, but if there is a base_playlist and no items in the playlist then it returns a random entry from the base_playlist
This is called to remove a vote by a user for an object, it uses the object_id As that's what we'll have most the time, no need to check if they've got an existing vote for this, just remove anything that is there
This function is called by users to vote on a system wide playlist This adds the specified objects to the tmp_playlist and adds a 'vote' by this user, naturally it checks to make sure that the user hasn't already voted on any of these objects