36 lines
929 B
PHP
36 lines
929 B
PHP
<?php
|
|
|
|
require_once __DIR__ . '/auth_check.php';
|
|
|
|
mnt_require_permission('maintenance.manage');
|
|
|
|
try {
|
|
$pdo = mnt_pdo();
|
|
|
|
$fileId = (int)($_POST['file_id'] ?? 0);
|
|
|
|
if ($fileId <= 0) {
|
|
mnt_json_fail('ID non valido.');
|
|
}
|
|
|
|
$stmt = $pdo->prepare("SELECT equipment_id, kind FROM inv_equipment_files WHERE id = ?");
|
|
$stmt->execute([$fileId]);
|
|
$file = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$file) {
|
|
mnt_json_fail('Immagine non trovata.');
|
|
}
|
|
if ($file['kind'] !== 'photo') {
|
|
mnt_json_fail('Solo una foto può essere usata come copertina.');
|
|
}
|
|
|
|
$pdo->prepare("UPDATE inv_equipment SET cover_file_id = ? WHERE id = ?")
|
|
->execute([$fileId, (int)$file['equipment_id']]);
|
|
|
|
mnt_log($pdo, 'cover_changed', (int)$file['equipment_id'], null, null, $currentUserId);
|
|
|
|
mnt_json_ok();
|
|
} catch (Throwable $e) {
|
|
mnt_json_fail('Errore: ' . $e->getMessage());
|
|
}
|