push
This commit is contained in:
@@ -1,31 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?= $album->albumName ?> - Details</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.0/css/bulma.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title"><?= $album->albumName ?></h1>
|
||||
<div class="columns">
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column is-one-third">
|
||||
<figure class="image">
|
||||
<figure class="image is-square">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($album->jpeg) ?>" alt="<?= $album->albumName ?> Cover">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p><strong>Artist:</strong> <?= $album->artistName ?></p>
|
||||
<h1 class="title"><?= $album->albumName ?></h1>
|
||||
<p><strong>Artiste:</strong> <?= $album->artistName ?></p>
|
||||
<p><strong>Genre:</strong> <?= $album->genreName ?></p>
|
||||
<p><strong>Year:</strong> <?= $album->year ?></p>
|
||||
<p><strong>Année:</strong> <?= $album->year ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="title is-4">Songs</h2>
|
||||
<ul>
|
||||
<?php foreach ($songs as $song): ?>
|
||||
<li><?= anchor("music/view/{$song->trackId}", $song->trackName) ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<h2 class="title is-4">Chansons</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-striped is-fullwidth">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Titre</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($songs as $song): ?>
|
||||
<tr>
|
||||
<td><?= anchor("music/view/{$song->trackId}", $song->trackName) ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
|
@@ -1,24 +1,44 @@
|
||||
<h5 class="title is-5 has-text-white">Liste des Albums</h5>
|
||||
<section class="columns is-multiline">
|
||||
<?php foreach($albums as $album): ?>
|
||||
<div class="column is-one-quarter">
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<figure class="image is-4by3">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($album->jpeg) ?>" alt="<?= $album->name ?>">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<p class="title is-4">
|
||||
<?= anchor("albums/view/{$album->id}", $album->name) ?>
|
||||
</p>
|
||||
<p class="subtitle is-6"><?= "{$album->year} - {$album->artistName}" ?></p>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Liste des Albums - Dix heures</title>
|
||||
<link rel="stylesheet" href="<?= base_url('assets/style.css') ?>">
|
||||
</head>
|
||||
<body>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title is-4 has-text-dark">Liste des Albums</h1>
|
||||
<div class="columns is-multiline is-centered">
|
||||
<?php foreach ($albums as $album): ?>
|
||||
<div class="column is-one-quarter-desktop is-half-tablet is-full-mobile">
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<figure class="image is-4by3">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($album->jpeg) ?>" alt="<?= $album->name ?>">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<p class="title is-4 album-title"><?= anchor("albums/view/{$album->id}", $album->name) ?></p>
|
||||
<p class="subtitle is-6"><?= "{$album->year} - {$album->artistName}" ?></p>
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<form method="post" action="<?= site_url('playlist/selectPlaylist') ?>">
|
||||
<input type="hidden" name="itemId" value="<?= $album->id ?>">
|
||||
<input type="hidden" name="itemType" value="album">
|
||||
<button type="submit" class="button is-link is-fullwidth">Ajouter à la playlist</button>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</section>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -1,31 +1,36 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?= $album->albumName ?> - Details</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.0/css/bulma.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title has-text-white"><?= $album->albumName ?></h1>
|
||||
<div class="columns">
|
||||
<div class="column is-one-third">
|
||||
<figure class="image is-square">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($album->jpeg) ?>" alt="<?= $album->albumName ?> Cover">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p><strong>Artist:</strong> <?= $album->artistName ?></p>
|
||||
<p><strong>Genre:</strong> <?= $album->genreName ?></p>
|
||||
<p><strong>Year:</strong> <?= $album->year ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="title is-4 has-text-white">Songs</h2>
|
||||
<ul>
|
||||
<?php foreach ($songs as $song): ?>
|
||||
<li><?= anchor("music/view/{$song->trackId}", $song->trackName) ?></li>
|
||||
<h1 class="title"><?= $artist->artistName ?></h1>
|
||||
<h2 class="title is-4">Albums</h2>
|
||||
<?php if ($albums): ?>
|
||||
<?php foreach ($albums as $album): ?>
|
||||
<div class="box">
|
||||
<div class="columns">
|
||||
<div class="column is-one-third">
|
||||
<figure class="image">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($album->jpeg) ?>" alt="<?= $album->albumName ?> Cover">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h3 class="title is-5"><?= $album->albumName ?></h3>
|
||||
<p><strong>Genre:</strong> <?= $album->genreName ?></p>
|
||||
<p><strong>Year:</strong> <?= $album->year ?></p>
|
||||
<h4 class="title is-6">Songs</h4>
|
||||
<ul>
|
||||
<?php foreach ($album->songs as $song): ?>
|
||||
<li><?= anchor("music/view/{$song->trackId}", $song->songName) ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php else: ?>
|
||||
<p>No albums found for this artist.</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
|
@@ -1,11 +1,27 @@
|
||||
<h5>Liste des Artistes</h5>
|
||||
<section class="list">
|
||||
<?php
|
||||
foreach($artists as $artist){
|
||||
echo "<div><article>";
|
||||
echo "<header class='short-text'>";
|
||||
echo anchor("artistes/view/{$artist->artistId}","{$artist->artistName}");
|
||||
echo "</header></article></div>";
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title is-4">Liste des Artistes</h1>
|
||||
<div class="columns is-multiline">
|
||||
<?php foreach ($artists as $artist): ?>
|
||||
<div class="column is-one-quarter-desktop is-half-tablet is-full-mobile">
|
||||
<div class="card artist-card">
|
||||
<div class="card-content">
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<p class="title is-4 artist-title"><?= anchor("artistes/view/{$artist->artistId}", $artist->artistName) ?></p>
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<form method="post" action="<?= site_url('playlist/selectPlaylist') ?>">
|
||||
<input type="hidden" name="itemId" value="<?= $artist->artistId ?>">
|
||||
<input type="hidden" name="itemType" value="artist">
|
||||
<button type="submit" class="button is-link">Ajouter à la playlist</button>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
@@ -1,32 +1,59 @@
|
||||
<?=validation_errors(); ?>
|
||||
<?=form_open('connect/create')?>
|
||||
<!-- Grid -->
|
||||
<div class="grid">
|
||||
|
||||
<label for="prenom">
|
||||
Prénom
|
||||
<input type="text" id="prenom" name="prenom" placeholder="Prénom" value="<?=set_value('prenom')?>" required>
|
||||
</label>
|
||||
|
||||
<label for="nom">
|
||||
Nom
|
||||
<input type="text" id="nom" name="nom" placeholder="Nom" value="<?=set_value('nom')?>" required>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<label for="email">Adresse mail</label>
|
||||
<input type="email" id="email" name="email" placeholder="Email" value="<?=set_value('email')?>" required>
|
||||
|
||||
<div class="grid">
|
||||
<label for="password">Password
|
||||
<input type="password" id="password" name="password" placeholder="Password" value="<?=set_value('password')?>" required>
|
||||
</label>
|
||||
|
||||
<label for="cpassword">Confirmation password
|
||||
<input type="password" id="cpassword" name="cpassword" placeholder="Confirmation Password" value="<?=set_value('cpassword')?>" required>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<!-- Button -->
|
||||
<button type="submit">Submit</button>
|
||||
</form>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<body>
|
||||
<section class="hero is-fullheight">
|
||||
<div class="hero-body">
|
||||
<div class="container">
|
||||
<div class="columns is-centered">
|
||||
<div class="column is-5">
|
||||
<div class="box">
|
||||
<h1 class="title is-1 has-text-centered">Inscription</h1>
|
||||
<?=validation_errors(); ?>
|
||||
<?=form_open('connect/create')?>
|
||||
<div class="field">
|
||||
<label class="label" for="prenom">Prénom</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="text" id="prenom" name="prenom" placeholder="Prénom" value="<?=set_value('prenom')?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="nom">Nom</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="text" id="nom" name="nom" placeholder="Nom" value="<?=set_value('nom')?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="email">Adresse mail</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="email" id="email" name="email" placeholder="Email" value="<?=set_value('email')?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="password">Mot de passe</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="password" id="password" name="password" placeholder="Mot de passe" value="<?=set_value('password')?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="cpassword">Confirmation mot de passe</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="password" id="cpassword" name="cpassword" placeholder="Confirmation mot de passe" value="<?=set_value('cpassword')?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button class="button is-primary is-fullwidth is-large" type="submit">S'inscrire</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="has-text-centered">
|
||||
<p>Vous avez déjà un compte ? <a href="<?= site_url('connect/login') ?>" class="has-text-primary">Connexion</a></p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -17,6 +17,7 @@
|
||||
<!-- Div contenant les filtres, cachée par défaut -->
|
||||
<div id="filters" style="display: none;">
|
||||
<form method="GET" action="">
|
||||
<?php if ($this->uri->segment(1) != 'artistes'): ?>
|
||||
<!-- Filtre par artiste -->
|
||||
<div class="field">
|
||||
<label class="label" for="artist">Artiste</label>
|
||||
@@ -31,6 +32,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Filtre par genre -->
|
||||
<div class="field">
|
||||
|
@@ -1,58 +1,48 @@
|
||||
<!doctype html>
|
||||
<html lang="en" class="has-navbar-fixed-top">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Dix heures</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?= $title ?? 'Dix heures' ?></title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1.0.0/css/bulma.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<?= link_tag('assets/style.css') ?>
|
||||
<style>
|
||||
body {
|
||||
background-color: #121212;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.navbar {
|
||||
background-color: #000000;
|
||||
}
|
||||
.navbar-item {
|
||||
color: white;
|
||||
}
|
||||
.hero {
|
||||
background-color: #282828;
|
||||
color: white;
|
||||
}
|
||||
.card {
|
||||
background-color: #1e1e1e;
|
||||
color: white;
|
||||
}
|
||||
.button, .input, .select {
|
||||
background-color: #282828;
|
||||
color: white;
|
||||
border-color: #282828;
|
||||
}
|
||||
.button:hover, .input:hover, .select:hover {
|
||||
background-color: #3b3b3b;
|
||||
border-color: #3b3b3b;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="<?= base_url('assets/style.css') ?>">
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="#">Dix heures</a>
|
||||
</div>
|
||||
<div class="navbar-menu">
|
||||
<div class="navbar-end">
|
||||
<a class="navbar-item" href="<?= site_url('albums') ?>">Albums</a>
|
||||
<a class="navbar-item" href="<?= site_url('artistes') ?>">Artistes</a>
|
||||
<a class="navbar-item" href="<?= site_url('music') ?>">Music</a>
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<a class="navbar-item" href="<?= site_url('playlist') ?>">Playlist</a>
|
||||
<a class="navbar-item" href="<?= site_url('connect/logout') ?>">Déconnexion</a>
|
||||
<?php else: ?>
|
||||
<a class="navbar-item" href="<?= site_url('connect/login') ?>">Connexion</a>
|
||||
<?php endif; ?>
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="#">
|
||||
<img src="<?= base_url('assets/logo.png') ?>" alt="Logo">
|
||||
</a>
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start">
|
||||
<a class="navbar-item" href="<?= site_url('albums') ?>">Albums</a>
|
||||
<a class="navbar-item" href="<?= site_url('artistes') ?>">Artistes</a>
|
||||
<a class="navbar-item" href="<?= site_url('music') ?>">Musiques</a>
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<a class="navbar-item" href="<?= site_url('playlist') ?>">Playlists</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end">
|
||||
<div class="navbar-item">
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<a class="button is-light" href="<?= site_url('connect/logout') ?>">Déconnexion</a>
|
||||
<?php else: ?>
|
||||
<a class="button is-light" href="<?= site_url('connect/login') ?>">Connexion</a>
|
||||
<a class="button is-primary" href="<?= site_url('connect/create') ?>">Inscription</a>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<main class="container">
|
||||
<main class="container" style="padding-top: 90px;"> <!-- Ajout de padding-top pour éviter que la navbar ne masque le contenu -->
|
||||
|
@@ -1,29 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Login</title>
|
||||
</head>
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<body>
|
||||
<?= validation_errors(); ?>
|
||||
|
||||
<?php if (isset($error)): ?>
|
||||
<p style="color: red;"><?= $error ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<?= form_open('connect/login') ?>
|
||||
<!-- Grid -->
|
||||
<div class="grid">
|
||||
<label for="email">Adresse mail</label>
|
||||
<input type="email" id="email" name="email" placeholder="Email" value="<?= set_value('email') ?>" required>
|
||||
|
||||
<label for="password">Password</label>
|
||||
<input type="password" id="password" name="password" placeholder="Password" value="<?= set_value('password') ?>" required>
|
||||
</div>
|
||||
<!-- Button -->
|
||||
<button type="submit">Submit</button>
|
||||
|
||||
<?= anchor('connect/create', "Pas de compte ? Créez-en un !"); ?>
|
||||
</form>
|
||||
<section class="hero is-fullheight">
|
||||
<div class="hero-body">
|
||||
<div class="container">
|
||||
<div class="columns is-centered">
|
||||
<div class="column is-5">
|
||||
<div class="box">
|
||||
<h1 class="title is-1 has-text-centered">Connexion</h1>
|
||||
<?= validation_errors(); ?>
|
||||
<?php if (isset($error)): ?>
|
||||
<p class="has-text-danger"><?= $error ?></p>
|
||||
<?php endif; ?>
|
||||
<?= form_open('connect/login') ?>
|
||||
<div class="field">
|
||||
<label class="label" for="email">Adresse mail</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="email" id="email" name="email" placeholder="Email" value="<?= set_value('email') ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="password">Mot de passe</label>
|
||||
<div class="control">
|
||||
<input class="input is-dark" type="password" id="password" name="password" placeholder="Mot de passe" value="<?= set_value('password') ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button class="button is-primary is-fullwidth is-large" type="submit">Se connecter</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="has-text-centered">
|
||||
<p>Vous n'avez pas de compte ? <a href="<?= site_url('connect/create') ?>" class="has-text-primary">Inscription</a></p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@@ -2,14 +2,6 @@
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="en" class="has-navbar-fixed-top">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Dix heures</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css"/>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<?=link_tag('assets/style.css')?>
|
||||
</head>
|
||||
<body>
|
||||
<main class='container'>
|
||||
<nav>
|
||||
|
@@ -1,16 +1,33 @@
|
||||
<h5>Liste des musiques</h5>
|
||||
<section class="list">
|
||||
<?php
|
||||
foreach($musics as $music){
|
||||
echo "<div><article>";
|
||||
echo "<header class='short-text'>";
|
||||
if(isset($music->trackName)) {
|
||||
echo anchor("music/view/{$music->trackId}", $music->trackName);
|
||||
}
|
||||
echo "</header>";
|
||||
echo '<img src="data:image/jpeg;base64,'.base64_encode($music->jpeg).'" />';
|
||||
echo "<footer class='short-text'>{$music->year} - {$music->artistName} - {$music->albumName}</footer>
|
||||
</article></div>";
|
||||
}
|
||||
?>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title is-4 has-text-dark">Liste des musiques</h1>
|
||||
<div class="columns is-multiline">
|
||||
<?php foreach ($musics as $music): ?>
|
||||
<div class="column is-one-quarter-desktop is-half-tablet is-full-mobile">
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<figure class="image is-4by3">
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($music->jpeg) ?>" alt="<?= $music->trackName ?>">
|
||||
</figure>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<p class="title is-4 music-title"><?= anchor("music/view/{$music->trackId}", $music->trackName) ?></p>
|
||||
<p class="subtitle is-6"><?= "{$music->year} - {$music->artistName} - {$music->albumName}" ?></p>
|
||||
<?php if (isset($is_logged_in) && $is_logged_in): ?>
|
||||
<form method="post" action="<?= site_url('playlist/selectPlaylist') ?>">
|
||||
<input type="hidden" name="itemId" value="<?= $music->trackId ?>">
|
||||
<input type="hidden" name="itemType" value="song">
|
||||
<button type="submit" class="button is-link">Ajouter à la playlist</button>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
38
application/views/playlist_details.php
Normal file
38
application/views/playlist_details.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">Détails de la Playlist</h1>
|
||||
|
||||
<?php if ($items): ?>
|
||||
<div class="table-container" style="max-height: 400px; overflow-y: auto;">
|
||||
<table class="table is-fullwidth is-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Titre</th>
|
||||
<th>Artiste</th>
|
||||
<th>Album</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($items as $item): ?>
|
||||
<tr>
|
||||
<td><?= anchor("music/view/{$item->item_id}", $item->songName) ?></td>
|
||||
<td><?= $item->artistName ?></td>
|
||||
<td><?= $item->albumName ?></td>
|
||||
<td>
|
||||
<form method="post" action="<?= site_url('playlist/deleteItem/'.$item->playlist_id.'/'.$item->item_id) ?>" style="display:inline;">
|
||||
<button type="submit" class="button is-danger is-small">Supprimer</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<p>La playlist est vide.</p>
|
||||
<?php endif; ?>
|
||||
|
||||
<a href="<?= site_url('playlist') ?>" class="button is-link">Retour aux playlists</a>
|
||||
</div>
|
||||
</section>
|
154
application/views/playlists_list.php
Normal file
154
application/views/playlists_list.php
Normal file
@@ -0,0 +1,154 @@
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title">Mes Playlists</h1>
|
||||
|
||||
<?php if (isset($error)): ?>
|
||||
<div class="notification is-danger">
|
||||
<?= $error ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($playlists): ?>
|
||||
<div class="columns is-multiline">
|
||||
<?php foreach ($playlists as $playlist): ?>
|
||||
<div class="column is-one-third">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<div class="media">
|
||||
<div class="media-content">
|
||||
<p class="title is-4"><?= anchor("playlist/view/{$playlist->id}", $playlist->name) ?></p>
|
||||
</div>
|
||||
<div class="media-right buttons-right">
|
||||
<?= form_open('playlist/duplicate/'.$playlist->id, ['style' => 'display:inline;']) ?>
|
||||
<button type="submit" class="button is-info is-small">Dupliquer</button>
|
||||
<?= form_close() ?>
|
||||
<button class="button is-warning is-small" onclick="showRenameModal('<?= $playlist->id ?>', '<?= $playlist->name ?>')">Renommer</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="card-footer">
|
||||
<?= form_open('playlist/delete/'.$playlist->id, ['class' => 'card-footer-item']) ?>
|
||||
<button type="submit" class="button is-danger is-small">Supprimer</button>
|
||||
<?= form_close() ?>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<p>Vous n'avez pas encore de playlists.</p>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="box">
|
||||
<form method="post" action="<?= site_url('playlist/add') ?>">
|
||||
<div class="field">
|
||||
<label class="label">Nom de la playlist</label>
|
||||
<div class="control">
|
||||
<input type="text" name="name" class="input" placeholder="Nom de la playlist" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">Type de Playlist</label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select name="type" id="playlistType" onchange="toggleRandomOptions()">
|
||||
<option value="empty">Vide</option>
|
||||
<option value="random">Aléatoire</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="randomOptions" style="display: none;">
|
||||
<div class="field">
|
||||
<label class="label">Nombre de chansons</label>
|
||||
<div class="control">
|
||||
<input type="number" name="numSongs" class="input" placeholder="Nombre de chansons">
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">Artiste</label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select name="artist">
|
||||
<option value="">Tous</option>
|
||||
<?php foreach($artists as $artist): ?>
|
||||
<option value="<?= $artist->name ?>"><?= $artist->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label">Genre</label>
|
||||
<div class="control">
|
||||
<div class="select">
|
||||
<select name="genre">
|
||||
<option value="">Tous</option>
|
||||
<?php foreach($genres as $genre): ?>
|
||||
<option value="<?= $genre->name ?>"><?= $genre->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button type="submit" class="button is-link">Créer une playlist</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Rename Modal -->
|
||||
<div id="renameModal" class="modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Renommer la Playlist</p>
|
||||
<button class="delete" aria-label="close" onclick="closeRenameModal()"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form id="renameForm" method="post" action="<?= site_url('playlist/rename') ?>">
|
||||
<div class="field">
|
||||
<label class="label">Nouveau Nom</label>
|
||||
<div class="control">
|
||||
<input type="hidden" name="playlistId" id="renamePlaylistId">
|
||||
<input type="text" name="newName" class="input" id="renameNewName" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button type="submit" class="button is-link">Renommer</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function toggleRandomOptions() {
|
||||
var playlistType = document.getElementById('playlistType').value;
|
||||
var randomOptions = document.getElementById('randomOptions');
|
||||
if (playlistType === 'random') {
|
||||
randomOptions.style.display = 'block';
|
||||
} else {
|
||||
randomOptions.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
function showRenameModal(playlistId, playlistName) {
|
||||
document.getElementById('renamePlaylistId').value = playlistId;
|
||||
document.getElementById('renameNewName').value = playlistName;
|
||||
document.getElementById('renameModal').classList.add('is-active');
|
||||
}
|
||||
|
||||
function closeRenameModal() {
|
||||
document.getElementById('renameModal').classList.remove('is-active');
|
||||
}
|
||||
</script>
|
31
application/views/select_playlist.php
Normal file
31
application/views/select_playlist.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title is-4">Sélectionner une playlist</h1>
|
||||
|
||||
<?php if ($playlists): ?>
|
||||
<form method="post" action="<?= site_url('playlist/addItems') ?>">
|
||||
<input type="hidden" name="itemId" value="<?= $itemId ?>">
|
||||
<input type="hidden" name="itemType" value="<?= $itemType ?>">
|
||||
<div class="field">
|
||||
<label class="label">Choisir une playlist</label>
|
||||
<div class="control">
|
||||
<div class="select is-dark">
|
||||
<select name="playlistId">
|
||||
<?php foreach ($playlists as $playlist): ?>
|
||||
<option value="<?= $playlist->id ?>"><?= $playlist->name ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="control">
|
||||
<button type="submit" class="button is-link">Ajouter</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<p>Vous n'avez pas encore de playlists. Veuillez en créer une.</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</section>
|
@@ -1,14 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?= $song['songName'] ?> - Details</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1><?= $song['songName'] ?></h1>
|
||||
<p><strong>Album:</strong> <?= anchor("music/view/{$song['albumId']}", $song['albumName']) ?> (<?= $song['year'] ?>)</p>
|
||||
<p><strong>Artist:</strong> <?= $song['artistName'] ?></p>
|
||||
<?php if(isset($song['jpeg']) && $song['jpeg'] != ''): ?>
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($song['jpeg']) ?>" alt="<?= $song['albumName'] ?> Cover">
|
||||
<?php endif; ?>
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<h1 class="title"><?= $song['songName'] ?></h1>
|
||||
<div class="columns">
|
||||
<div class="column is-one-third">
|
||||
<figure class="image">
|
||||
<?php if(isset($song['jpeg']) && $song['jpeg'] != ''): ?>
|
||||
<img src="data:image/jpeg;base64,<?= base64_encode($song['jpeg']) ?>" alt="<?= $song['albumName'] ?> Cover">
|
||||
<?php else: ?>
|
||||
<img src="path_to_default_image" alt="Default Cover">
|
||||
<?php endif; ?>
|
||||
</figure>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p><strong>Album:</strong> <?= anchor("albums/view/{$song['albumId']}", $song['albumName']) ?> (<?= $song['year'] ?>)</p>
|
||||
<p><strong>Artist:</strong> <?= $song['artistName'] ?></p>
|
||||
<p><strong>Disk Number:</strong> <?= $song['diskNumber'] ?></p>
|
||||
<p><strong>Track Number:</strong> <?= $song['number'] ?></p>
|
||||
<p><strong>Duration:</strong> <?= $song['duration'] ?> seconds</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user