Skip to content
Snippets Groups Projects
Select Git revision
  • a03e837fa22e2e7f6e727bb163d770d504e51834
  • master default protected
  • 88-upgrade-framework-and-dependencies
  • 82-reword-settings
  • 67-improve-app-metadata
  • 54-improve-discoveries-page
  • 7-add-lastfm-link
  • Release_0.9.0_77 protected
  • Release_0.8.4_76 protected
  • Release_0.8.3_75 protected
  • Release_0.8.2_74 protected
  • Release_0.8.1_73 protected
  • Release_0.8.0_72 protected
  • Release_0.7.0_71 protected
  • Release_0.6.0_70 protected
  • Release_0.5.0_69 protected
  • Release_0.4.2_68 protected
  • Release_0.4.1_67 protected
  • Release_0.4.0_66 protected
  • Release_0.3.1_65 protected
  • Release_0.3.0_64 protected
  • Release_0.2.2_63 protected
  • Release_0.2.1_62 protected
  • Release_0.2.0_61 protected
  • Release_0.1.2_60 protected
  • Release_0.1.1_59 protected
  • Release_0.1.0_58 protected
27 results

statistics_card.dart

Blame
  • index.php 1.55 KiB
    <?php
    session_start();
    
    require '../vendor/autoload.php';
    require '../config.php';
    
    if (isset($_GET['logout'])) {
        $_SESSION['accessToken'] = '';
        $_SESSION['refreshToken'] = '';
    }
    
    $accessToken = '';
    if (isset($_SESSION['accessToken'])) {
        $accessToken = $_SESSION['accessToken'];
    }
    $refreshToken = '';
    if (isset($_SESSION['refreshToken'])) {
        $refreshToken = $_SESSION['refreshToken'];
    }
    
    if (!$accessToken) {
        header('Location: auth.php');
        die();
    }
    
    $session = new SpotifyWebAPI\Session(
        $CLIENT_ID,
        $CLIENT_SECRET
    );
    
    // Use previously requested tokens fetched from session
    if ($accessToken) {
        $session->setAccessToken($accessToken);
        $session->setRefreshToken($refreshToken);
    } else {
        // Or request a new access token
        $session->refreshAccessToken($refreshToken);
    }
    
    $scopes = $session->getScope();
    
    $options = [
      'scope' => [
          'playlist-read-private',
          'playlist-modify-private',
          'user-read-private',
      ],
    'auto_refresh' => true,
    ];
    
    $api = new SpotifyWebAPI\SpotifyWebAPI($options, $session);
    
    // Save new tokens, they might have been updated
    $_SESSION['accessToken'] = $session->getAccessToken();
    $_SESSION['refreshToken'] = $session->getRefreshToken();
    
    // ################################################################
    
    $user = $api->me();
    
    $templateData = [];
    
    $templateData['user'] = $user;
    $templateData['userImageUrl'] = '';
    if ($user->images[0]) {
        $templateData['userImageUrl'] = $user->images[0]->url;
    }
    $templateData['playlists'] = $api->getUserPlaylists($user->id)->items;
    
    require '../template.php';