How to use a conditional ORDER BY in MySQL?
A case expression returns an atomic value so you can't return:

favoritedDate, dateUpload


I think this will do what you want:

ORDER BY
    CASE favorited WHEN 1 THEN favoritedDate 
                          ELSE dateUpload 
    END DESC, dateUpload