Changes.
This commit is contained in:
parent
4a5e5d224a
commit
70c8a87e15
25 changed files with 508 additions and 187 deletions
61
classes/Playcount.php
Normal file
61
classes/Playcount.php
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
namespace DJMixHosting;
|
||||
|
||||
class Playcount
|
||||
{
|
||||
|
||||
private $db;
|
||||
private $mix_id;
|
||||
|
||||
public function __construct($mix, $db)
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->mix_id = $mix;
|
||||
}
|
||||
|
||||
public function getPlaycount()
|
||||
{
|
||||
$sql = "SELECT value FROM mix_meta WHERE mix_id = ? AND attribute = 'playcount'";
|
||||
$stmt = $this->db->prepare($sql);
|
||||
$stmt->execute([$this->mix_id]);
|
||||
$result = $stmt->get_result();
|
||||
$row = $result->fetch_assoc();
|
||||
return $row['value'];
|
||||
}
|
||||
|
||||
public function updatePlaycount(): void
|
||||
{
|
||||
if ($this->checkForPlaycount()) {
|
||||
$this->incrementPlaycount();
|
||||
} else {
|
||||
$this->addPlaycount();
|
||||
}
|
||||
}
|
||||
|
||||
private function checkForPlaycount()
|
||||
{
|
||||
$sql = "SELECT meta_id FROM mix_meta WHERE mix_id = ? AND attribute = 'playcount'";
|
||||
$stmt = $this->db->prepare($sql);
|
||||
$stmt->bind_param('i', $this->mix_id);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
return $result->fetch_assoc();
|
||||
}
|
||||
|
||||
private function incrementPlaycount()
|
||||
{
|
||||
$sql = "UPDATE mix_meta SET value = value + 1 WHERE mix_id = ? AND attribute = 'playcount'";
|
||||
$stmt = $this->db->prepare($sql);
|
||||
$stmt->execute([$this->mix_id]);
|
||||
}
|
||||
|
||||
public function addPlaycount()
|
||||
{
|
||||
$sql = "INSERT INTO mix_meta (mix_id, attribute, value) VALUES (?, 'playcount', 1)";
|
||||
$stmt = $this->db->prepare($sql);
|
||||
$stmt->execute([$this->mix_id]);
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue