temp-utils.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /* GNUkebox -- a free software server for recording your listening habits
  3. Copyright (C) 2009 Free Software Foundation, Inc
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU Affero General Public License as published by
  6. the Free Software Foundation, either version 3 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. require_once('database.php'); // include the database connection string
  16. // these functions should be short-lived while things go through a transition
  17. function username_to_uniqueid($username) {
  18. global $adodb;
  19. $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
  20. try {
  21. $uniqueid = $adodb->GetOne('SELECT uniqueid from Users where lower(username) = lower(' . $adodb->qstr($username) . ')');
  22. } catch (Exception $e) {
  23. return 0;
  24. }
  25. return $uniqueid;
  26. }
  27. function uniqueid_to_username($uniqueid) {
  28. global $adodb;
  29. $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
  30. try {
  31. $username = $adodb->GetOne('SELECT username from Users where uniqueid = ' . ($uniqueid));
  32. } catch (Exception $e) {
  33. return "BROKEN($uniqueid)";
  34. }
  35. return $username;
  36. }
  37. function useridFromSID($session_id) {
  38. //derive the username from a session ID
  39. global $adodb; // include the Database connector
  40. // Delete any expired session ids
  41. $adodb->Execute('DELETE FROM Scrobble_Sessions WHERE expires < ' . time());
  42. try {
  43. $res = $adodb->GetOne('SELECT userid FROM Scrobble_Sessions WHERE sessionid = ' . $adodb->qstr($session_id)); // get the username from the table
  44. } catch (Exception $e) {
  45. die('FAILED ufs ' . $e->getMessage() . '\n');
  46. // die is there is an error, printing the error
  47. }
  48. if (!$res) {
  49. die("BADSESSION\n");
  50. // the user has no session
  51. }
  52. return $res;
  53. // return the first user
  54. }