1e51ef7def
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
38 lines
870 B
PHP
38 lines
870 B
PHP
<?php
|
|
/**
|
|
* GET /api/lehrplan/anker/<code>
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
require_once __DIR__ . '/../../bootstrap.php';
|
|
|
|
v2_validate_method('GET');
|
|
v2_auth_require('any');
|
|
|
|
$code = $_GET['code'] ?? '';
|
|
if (!$code && !empty($_SERVER['PATH_INFO'])) {
|
|
$code = trim($_SERVER['PATH_INFO'], '/');
|
|
}
|
|
if (!$code) {
|
|
v2_response_error(400, 'missing_code', 'Lehrplan-Code fehlt.');
|
|
}
|
|
|
|
$row = v2_db_one("
|
|
SELECT code, country, scheme, level, topic, competence
|
|
FROM lehrplan_anchors_v2
|
|
WHERE code = :code AND is_active = 1
|
|
", [':code' => $code]);
|
|
|
|
if (!$row) {
|
|
v2_response_error(404, 'not_found', "Lehrplan-Anker '$code' nicht gefunden.");
|
|
}
|
|
|
|
v2_response_ok([
|
|
'code' => $row['code'],
|
|
'country' => $row['country'],
|
|
'scheme' => $row['scheme'],
|
|
'level' => $row['level'],
|
|
'topic' => $row['topic'],
|
|
'competence' => $row['competence'],
|
|
]);
|