mirror of
https://github.com/WhatCD/Gazelle.git
synced 2024-12-13 19:06:27 +00:00
71 lines
2.0 KiB
PHP
71 lines
2.0 KiB
PHP
<?
|
|
authorize();
|
|
|
|
$UserID = $LoggedUser['ID'];
|
|
$Artist1ID = db_string($_POST['artistid']);
|
|
$Artist2Name = db_string($_POST['artistname']);
|
|
|
|
if (!is_number($Artist1ID)) {
|
|
error(0);
|
|
}
|
|
|
|
if (empty($Artist2Name)) {
|
|
error('Blank artist name.');
|
|
}
|
|
|
|
$DB->query("
|
|
SELECT ag.ArtistID
|
|
FROM artists_group AS ag
|
|
WHERE ag.Name LIKE '$Artist2Name'");
|
|
list($Artist2ID) = $DB->next_record();
|
|
|
|
if (!empty($Artist2ID)) { // artist was found in the database
|
|
|
|
// Let's see if there's already a similar artists field for these two
|
|
$DB->query("
|
|
SELECT s1.SimilarID
|
|
FROM artists_similar AS s1
|
|
JOIN artists_similar AS s2 ON s1.SimilarID = s2.SimilarID
|
|
WHERE s1.ArtistID = '$Artist1ID'
|
|
AND s2.ArtistID = '$Artist2ID'");
|
|
list($SimilarID) = $DB->next_record();
|
|
|
|
if ($SimilarID) { // The similar artists field already exists, just update the score
|
|
$DB->query("
|
|
UPDATE artists_similar_scores
|
|
SET Score = Score + 200
|
|
WHERE SimilarID = '$SimilarID'");
|
|
} else { // No, it doesn't exist - create it
|
|
$DB->query("
|
|
INSERT INTO artists_similar_scores (Score)
|
|
VALUES ('200')");
|
|
$SimilarID = $DB->inserted_id();
|
|
$DB->query("
|
|
INSERT INTO artists_similar (ArtistID, SimilarID)
|
|
VALUES ('$Artist1ID', '$SimilarID')");
|
|
$DB->query("
|
|
INSERT INTO artists_similar (ArtistID, SimilarID)
|
|
VALUES ('$Artist2ID', '$SimilarID')");
|
|
}
|
|
|
|
$DB->query("
|
|
SELECT SimilarID
|
|
FROM artists_similar_votes
|
|
WHERE SimilarID = '$SimilarID'
|
|
AND UserID = '$UserID'
|
|
AND Way = 'up'");
|
|
if (!$DB->has_results()) {
|
|
$DB->query("
|
|
INSERT INTO artists_similar_votes (SimilarID, UserID, way)
|
|
VALUES ('$SimilarID', '$UserID', 'up')");
|
|
}
|
|
|
|
$Cache->delete_value("artist_$Artist1ID"); // Delete artist cache
|
|
$Cache->delete_value("artist_$Artist2ID"); // Delete artist cache
|
|
$Cache->delete_value("similar_positions_$Artist1ID"); // Delete artist's similar map cache
|
|
$Cache->delete_value("similar_positions_$Artist2ID"); // Delete artist's similar map cache
|
|
}
|
|
|
|
header('Location: '.$_SERVER['HTTP_REFERER']);
|
|
?>
|