Guest User

Untitled

a guest
Jun 19th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. <?php
  2. public static function getLegacyAutocoolPlaylistID($user, $object = 'Playlist')
  3. {
  4. $db = DB::getInstance();
  5. $userName = 'My';
  6. $userID = Widget::ANONYMOUS_USERID;
  7. if ($user instanceof User) {
  8. $userName = $user->getUsername();
  9. $userID = $user->getUserID();
  10. }
  11. $userName = ($userName=='My') ? $userName : CommonObj_String::possessive($userName);
  12. $dbSafeUserName = $db->quote($userName);
  13. $sql = "SELECT Name FROM Playlists WHERE
  14. UserID = '$userID'
  15. AND Name LIKE '$dbSafeUserName $object %'
  16. AND NOT Playlists.IsDeleted
  17. ORDER BY PlaylistID DESC
  18. LIMIT 1";
  19. $regs = array();
  20. if ($row = $db->getOne($sql)) {
  21. $plName = $row;
  22. preg_match("@$userName $object (\d+)$@", $plName, $regs);
  23. }
  24. if (isset($regs[1])) {
  25. $plNumber = $regs[1];
  26. } else {
  27. $plNumber = 0;
  28. }
  29. return $plNumber;
  30. }
  31.  
  32. public static function getAutoCoolPlaylistName($user, $object = 'Playlist')
  33. {
  34. $userName = 'My';
  35. $userID = Widget::ANONYMOUS_USERID;
  36.  
  37. if ($user instanceof User) {
  38. $userName = $user->getUsername();
  39. $userID = $user->getUserID();
  40. }
  41.  
  42. // if the sequence for the given user doesn't exist create it
  43. // using the legacy method as a basis if necessary
  44. if (!GMongo_Sequence::getID(PlaylistMongo::CLUSTER, 'autocool', $userID) > 0) {
  45. $autocoolInc = self::getLegacyAutocoolPlaylistID($user);
  46. GMongo_Sequence::setID(PlaylistMongo::CLUSTER, 'autocool', $userID, $autocoolInc);
  47. }
  48.  
  49. $plNumber = GMongo_Sequence::nextID(PlaylistMongo::CLUSTER, 'autocool', $userID);
  50. $userName = ($userName=='My') ? $userName : CommonObj_String::possessive($userName);
  51.  
  52. $plName = "$userName $object $plNumber";
  53. return $plName;
  54. }
  55. ?>
Add Comment
Please, Sign In to add comment