[FIX] JE dois pouvoir modifier les nomes des parties d'un morceau

complexe #6
This commit is contained in:
NADAL Jean-Baptiste
2026-02-26 18:25:54 +01:00
parent 96628ef4b8
commit 5275acc4ff
5 changed files with 138 additions and 2 deletions

View File

@@ -489,6 +489,47 @@ class ScoreScanner {
return ['success' => true];
}
public function updatePieces(string $scoreId, array $pieces): array {
$scoreDir = $this->scoresPath . $scoreId;
$iniFile = $scoreDir . '/score.ini';
if (!file_exists($iniFile)) {
return ['success' => false, 'error' => 'Score not found'];
}
$ini = @parse_ini_file($iniFile, true);
if ($ini === false) {
return ['success' => false, 'error' => 'Failed to parse score.ini'];
}
// Get existing info
$name = $ini['info']['name'] ?? '';
$compositor = $ini['info']['compositor'] ?? '';
$ressource = $ini['info']['ressource'] ?? '';
// Rebuild ini content with new pieces
$content = "[info]\n";
$content .= "name = $name\n";
$content .= "compositor = $compositor\n";
if ($ressource) {
$content .= "ressource = $ressource\n";
}
$content .= "\n[pieces]\n";
$content .= "count = " . count($pieces) . "\n";
foreach ($pieces as $piece) {
$num = $piece['number'] ?? $piece['id'];
$pieceName = $piece['name'] ?? '';
$content .= "$num = $pieceName\n";
}
if (file_put_contents($iniFile, $content) === false) {
return ['success' => false, 'error' => 'Failed to write score.ini'];
}
return ['success' => true];
}
public function deleteScore(string $scoreId): array {
$scoreDir = $this->scoresPath . $scoreId;