www_archline_hu/cadline/backend/maintenance/get_program_details.php
LÁZÁR Imre AI Agent edb18f07b5 feat(cadline): add common_cadline_libraries + maintenance backend
common_cadline_libraries (CRM hardlock/db/users classes; upstream cadline_web/cadcommonlib), maintenance/ (ARCHLine.XP license backend; upstream cadline_web/maintenance), maintenance2/. Vetted live files (byte-truth); upstream repos in PROVENANCE.md. NOTE: could be git submodules — kept as live files for byte-fidelity.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:34:30 +02:00

40 lines
1.7 KiB
PHP

<?php
header("Access-Control-Allow-Origin: *");
if (!class_exists('crm_hardlock')) require_once("common_cadline_libraries/crm_hardlock.class.php");
$serials = "'" . implode("', '", $_POST['serials']) . "'";
$query = "SELECT p.prPass AS prPass, p.prVerID AS prVerID, h.hlLan AS hlLan, p.prTypeID AS prTypeID,
p.prFizetve AS prFizetve, p.prActCode AS prActCode, h.isFloating AS isFloating
FROM cl_hlusers.h_programs p
LEFT JOIN cl_hlusers.hardlock h ON h.hlNum = p.prHlNum
WHERE p.prPass IN ({$serials})
GROUP BY p.prPass;";
Database::getInstance()->query($query);
$programs = Database::getInstance()->fetchAssoc();
$encodedSession = isset($_POST["session"]) ? $_POST["session"] : $_GET["session"];
$session = base64_decode($encodedSession);
$privatekey = Webform::GetWebformPrivateKey();
$param = $_POST["param"];
$decoded_param = Webform::decode($privatekey, $session, $param);
$decoded_param = "?" . $decoded_param;
$isid = Webform::get_valueFromStringUrl($decoded_param, "isid");
$response = array();
foreach ($programs as $program) {
$availabelProgram = '';
$freeLic = '';
$response[$program['prPass']]['available'] = crm_hardlock::isProgramAvailable('', $program['prPass'], $program['prFizetve'], $isid, $program['hlLan'], $program['prActCode'], $availabelProgram, $freeLic, 39, $program['isFloating']);
if (!$response[$program['prPass']]['available'] || $freeLic != '') {
$response[$program['prPass']]['message'] = crm_hardlock::getInfoForProgramDialog($program['prFizetve'], $availabelProgram, $freeLic, $ctrID);
}
$response[$program['prPass']]['lan'] = $program['hlLan'];
}
echo json_encode($response);