1 changed files with 45 additions and 16 deletions
@ -1,35 +1,64 @@ |
|||||
<?php |
<?php |
||||
|
|
||||
|
use App\Dataclasses\DatabaseFolkTuneDetails; |
||||
|
use App\Dataclasses\TuneVariant; |
||||
use App\Wrappers\DatabaseInteractions; |
use App\Wrappers\DatabaseInteractions; |
||||
use App\Wrappers\SQLQueryBuilderWrapper; |
use App\Wrappers\SQLQueryBuilderWrapper; |
||||
|
|
||||
$tuneDir = __DIR__ . '/../../../LocalStorage/Tunes'; |
$tuneDir = __DIR__ . '/../../../LocalStorage/Tunes'; |
||||
$targetTuneID = $_GET['tune-id']; |
$targetTuneID = $_GET['tune-id']; |
||||
|
|
||||
|
$db = new DatabaseInteractions(); |
||||
|
|
||||
$result = (new DatabaseInteractions())->RunOneSelect( |
$tuneDetails = (new DatabaseInteractions())->RunOneSelect( |
||||
queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( |
queryBuilder: SQLQueryBuilderWrapper::SELECT_ONE( |
||||
table: 'Tunes', |
table: 'Tunes', |
||||
id: $targetTuneID |
id: $targetTuneID |
||||
) |
) |
||||
->cols(cols: [ |
->cols(cols: [ |
||||
'T.*', |
'T.*', |
||||
]) |
]) |
||||
); |
); |
||||
|
|
||||
$temp = new \App\Dataclasses\ABCWrapper($result); |
$variants = $db->RunOneSelect( |
||||
|
queryBuilder: SQLQueryBuilderWrapper::SELECT( |
||||
|
table: 'Tunes' |
||||
|
) |
||||
|
->cols([ |
||||
|
'T.ID AS TuneID', |
||||
|
'T_TV.ID AS TuneVariantID', |
||||
|
'T.Title', |
||||
|
"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: 'TuneVariants T_TV', |
||||
|
cond: 'T.ID = T_TV.TuneID' |
||||
|
) |
||||
|
->join( |
||||
|
join: 'INNER', |
||||
|
spec: 'TuneVariantParts T_TVP', |
||||
|
cond: 'T_TV.ID = T_TVP.TuneVariantID' |
||||
|
) |
||||
|
->where(cond: 'T.ID = :__tune_id__') |
||||
|
->groupBy(spec: [ |
||||
|
'T.ID', |
||||
|
'T_TV.ID', |
||||
|
'T.Title', |
||||
|
]) |
||||
|
->bindValue(name: '__tune_id__', value: $targetTuneID) |
||||
|
); |
||||
|
|
||||
/* |
$tuneDetails = new DatabaseFolkTuneDetails($tuneDetails); |
||||
header(header: "Content-type: text/text"); |
$tuneDetails->Variants[] = new TuneVariant($tuneDetails, $variants); |
||||
echo($temp->Build()); |
|
||||
die(); |
|
||||
*/ |
|
||||
|
|
||||
/* |
|
||||
$filePath = "$tuneDir/$targetTuneID/primary.abc"; |
|
||||
$temp = file_get_contents(filename: $filePath); |
|
||||
*/ |
|
||||
|
|
||||
header(header: "Content-type: text/xml"); |
header(header: "Content-type: text/text"); |
||||
echo $temp->Build(); |
echo $tuneDetails->Variants[0]->Build(); |
||||
die(); |
die(); |
||||
|
Loading…
Reference in new issue