91 lines
3.1 KiB
PHP
91 lines
3.1 KiB
PHP
<?php
|
|
require_once dirname(__DIR__, 2) . '/vendor/autoload.php';
|
|
require_once __DIR__ . '/class/db-functions.php';
|
|
|
|
header('Content-Type: application/json');
|
|
ini_set('display_errors', '0');
|
|
error_reporting(E_ALL);
|
|
|
|
try {
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
http_response_code(405);
|
|
echo json_encode(['success' => false, 'message' => 'Method not allowed']);
|
|
exit;
|
|
}
|
|
|
|
$partId = isset($_POST['part_id']) ? (int)$_POST['part_id'] : 0;
|
|
$iddatadb = isset($_POST['iddatadb']) ? (int)$_POST['iddatadb'] : 0;
|
|
$idmatrice = isset($_POST['idmatrice']) ? (int)$_POST['idmatrice'] : 0;
|
|
$analysisRecordkey = trim($_POST['analysis_recordkey'] ?? '');
|
|
$analysisName = trim($_POST['analysis_name'] ?? '');
|
|
$analysisMethod = trim($_POST['analysis_method'] ?? '');
|
|
$analysisLevel = isset($_POST['analysis_level']) && $_POST['analysis_level'] !== '' ? (int)$_POST['analysis_level'] : null;
|
|
$isWebSelectable = isset($_POST['is_web_selectable']) ? (int)$_POST['is_web_selectable'] : 0;
|
|
$isAccredited = isset($_POST['is_accredited']) ? (int)$_POST['is_accredited'] : 0;
|
|
|
|
if ($partId <= 0 || $analysisRecordkey === '') {
|
|
http_response_code(400);
|
|
echo json_encode(['success' => false, 'message' => 'Missing required data']);
|
|
exit;
|
|
}
|
|
|
|
$db = DBHandlerSelect::getInstance();
|
|
$pdo = $db->getConnection();
|
|
|
|
$stmt = $pdo->prepare("
|
|
INSERT INTO identification_parts_analyses (
|
|
part_id,
|
|
iddatadb,
|
|
idmatrice,
|
|
analysis_recordkey,
|
|
analysis_name,
|
|
analysis_method,
|
|
analysis_level,
|
|
is_web_selectable,
|
|
is_accredited
|
|
) VALUES (
|
|
:part_id,
|
|
:iddatadb,
|
|
:idmatrice,
|
|
:analysis_recordkey,
|
|
:analysis_name,
|
|
:analysis_method,
|
|
:analysis_level,
|
|
:is_web_selectable,
|
|
:is_accredited
|
|
)
|
|
ON DUPLICATE KEY UPDATE
|
|
analysis_name = VALUES(analysis_name),
|
|
analysis_method = VALUES(analysis_method),
|
|
analysis_level = VALUES(analysis_level),
|
|
is_web_selectable = VALUES(is_web_selectable),
|
|
is_accredited = VALUES(is_accredited),
|
|
iddatadb = VALUES(iddatadb),
|
|
idmatrice = VALUES(idmatrice),
|
|
updated_at = CURRENT_TIMESTAMP
|
|
");
|
|
|
|
$stmt->execute([
|
|
':part_id' => $partId,
|
|
':iddatadb' => $iddatadb ?: null,
|
|
':idmatrice' => $idmatrice ?: null,
|
|
':analysis_recordkey' => $analysisRecordkey,
|
|
':analysis_name' => $analysisName ?: null,
|
|
':analysis_method' => $analysisMethod ?: null,
|
|
':analysis_level' => $analysisLevel,
|
|
':is_web_selectable' => $isWebSelectable,
|
|
':is_accredited' => $isAccredited,
|
|
]);
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'message' => 'Association saved'
|
|
]);
|
|
} catch (Throwable $e) {
|
|
http_response_code(500);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => $e->getMessage()
|
|
]);
|
|
}
|