Select Git revision
styled_button.dart
-
Benoît Harrault authoredBenoît Harrault authored
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';