7 changed files with 105 additions and 63 deletions
@ -1,53 +0,0 @@ |
|||
<?php |
|||
|
|||
use App\Dataclasses\DatabaseFolkTuneDetails; |
|||
use App\Dataclasses\TuneVariant; |
|||
use App\Wrappers\DatabaseInteractions; |
|||
use App\Wrappers\SQLQueryBuilderWrapper; |
|||
|
|||
$tuneDir = __DIR__ . '/../../../LocalStorage/Tunes'; |
|||
$targetTuneVariantID = $_GET['tune-variant-id']; |
|||
|
|||
$db = new DatabaseInteractions(); |
|||
|
|||
$variantDetails = $db->RunOneSelect( |
|||
queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( |
|||
table: 'TuneVariants', |
|||
id: $targetTuneVariantID |
|||
) |
|||
->cols([ |
|||
'T.ID AS TuneVariantID', |
|||
'T.TuneID AS TuneID', |
|||
"CONCAT('[', GROUP_CONCAT( |
|||
CONCAT( |
|||
'{\"TimeSignature\":', JSON_QUOTE(T_TVP.TimeSignature), ',', |
|||
'\"KeySignature\":', JSON_QUOTE(T_TVP.KeySignature), ',', |
|||
'\"ABCNotation\":', JSON_QUOTE(T_TVP.ABCNotation), '}' |
|||
) |
|||
), ']') AS Parts" |
|||
]) |
|||
->join( |
|||
join: 'INNER', |
|||
spec: 'TuneVariantParts AS T_TVP', |
|||
cond: 'T.ID = T_TVP.TuneVariantID' |
|||
) |
|||
->groupBy(spec: [ |
|||
'T.ID', |
|||
]) |
|||
); |
|||
|
|||
$tuneDetails = $db->RunOneSelect( |
|||
queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( |
|||
table: 'Tunes', |
|||
id: $variantDetails['TuneID'] |
|||
) |
|||
); |
|||
|
|||
|
|||
$tuneDetails = new DatabaseFolkTuneDetails($tuneDetails); |
|||
$variantDetails = new TuneVariant($tuneDetails, $variantDetails); |
|||
|
|||
|
|||
header(header: "Content-type: text/text"); |
|||
echo $variantDetails->Build(); |
|||
die(); |
@ -0,0 +1,46 @@ |
|||
<?php |
|||
|
|||
use App\Dataclasses\DatabaseFolkTuneDetails; |
|||
use App\Wrappers\DatabaseInteractions; |
|||
use App\Wrappers\SQLQueryBuilderWrapper; |
|||
|
|||
require_once __DIR__ . "/../../../vendor/autoload.php"; |
|||
|
|||
$tuneDir = __DIR__ . '/../../../LocalStorage/Tunes'; |
|||
$targetTuneVariantID = $_GET['tune-id']; |
|||
|
|||
$db = new DatabaseInteractions(); |
|||
|
|||
$tuneDetails = $db->RunOneSelect( |
|||
queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( |
|||
table: 'Tunes', |
|||
id: $targetTuneVariantID |
|||
) |
|||
->cols([ |
|||
'T.ID AS TuneID', |
|||
"CONCAT('[', GROUP_CONCAT( |
|||
CONCAT( |
|||
'{\"TimeSignature\":', JSON_QUOTE(T_TP.TimeSignature), ',', |
|||
'\"KeySignature\":', JSON_QUOTE(T_TP.KeySignature), ',', |
|||
'\"PartLetter\":', JSON_QUOTE(T_TP.PartLetter), ',', |
|||
'\"ABCNotation\":', JSON_QUOTE(T_TP.ABCNotation), '}' |
|||
) |
|||
), ']') AS Parts" |
|||
]) |
|||
->join( |
|||
join: 'INNER', |
|||
spec: 'TuneParts AS T_TP', |
|||
cond: 'T.ID = T_TP.TuneID' |
|||
) |
|||
->groupBy(spec: [ |
|||
'T.ID', |
|||
]) |
|||
); |
|||
|
|||
|
|||
$tuneDetails = new DatabaseFolkTuneDetails($tuneDetails); |
|||
|
|||
|
|||
header(header: "Content-type: text/text"); |
|||
echo $tuneDetails->BuildSimple(); |
|||
die(); |
Loading…
Reference in new issue