user-station.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /* GNU FM -- a free network service for sharing your music 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');
  16. require_once('user-menu.php');
  17. require_once('templating.php');
  18. require_once('data/User.php');
  19. require_once('data/RemoteUser.php');
  20. require_once('data/TagCloud.php');
  21. require_once('data/Server.php');
  22. if (!isset($_GET['user']) && $logged_in == false) {
  23. displayError("Error", "User not set. You shouldn't be here.");
  24. }
  25. try {
  26. if(strstr($_GET['user'], '@')) {
  27. $user = new RemoteUser($_GET['user']);
  28. $remote = true;
  29. } else {
  30. $user = new User($_GET['user']);
  31. $remote = false;
  32. }
  33. } catch (Exception $e) {
  34. $user = null;
  35. }
  36. if (isset($user->name)) {
  37. if (isset($_GET['type'])) {
  38. $type = $_GET['type'];
  39. } elseif($remote) {
  40. $type = 'recommended';
  41. } else {
  42. $type = 'loved';
  43. }
  44. $smarty->assign('me', $user);
  45. $smarty->assign('pagetitle', $user->name . '\'s Radio ' . ucfirst($type) . ' Station');
  46. $station = 'librefm://user/' . $user->name . '/' . $type;
  47. if (isset($this_user)) {
  48. $smarty->assign('station', $station);
  49. } else {
  50. $radio_session = Server::getRadioSession($station);
  51. $smarty->assign('radio_session', $radio_session);
  52. }
  53. $submenu = user_menu($user, 'Radio Stations');
  54. $smarty->assign('submenu', $submenu);
  55. $smarty->assign('type', $type);
  56. $smarty->assign('remote', $remote);
  57. $smarty->display('user-station.tpl');
  58. } else {
  59. displayError("User not found", "User not found, shall I call in a missing persons report?");
  60. }