www_archline_hu/cadline/backend/maintenance2/maintenance/class/selectprogram.class.php
LÁZÁR Imre AI Agent 3d4158c3ac 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

93 lines
5.2 KiB
PHP

<?php
/*******************************************************************************
* test url: www.archline.hu/maintenance/al.php?action=selectprogram&npid=b559bb8b-46f0-46ed-8cd5-8403369a1745&pwd=9600018350430116&isid=C9EB
******************************************************************************/
class SelectProgram
{
function __construct()
{
if (!class_exists('crm_hardlock')) require_once($_SERVER['DOCUMENT_ROOT'] . "/common_cadline_libraries/crm_hardlock.class.php");
}
public static function getXML($pwd = '', $npid = '', $isid = '', $namirialNonProfit = false, $BIMLadderNonProfit = false, $userid = '', $commercial = false)
{
$multiple = false;
//$resultXml = '<'.'?'.'xml version="1.0"'.'?'.'><SelectProgramResult>';
if ($pwd == '' || $npid == '' || $isid == '') return (void);
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`computers` WHERE `computer_id`='" . $npid . "' LIMIT 1;");
$res2 = crm_database::getInstance()->fetchNext();
if (empty($res2))
$compid = crm_hardlock::AddOrUpdateComputer($npid, '');
else
$compid = $res2['id'];
$password = '';
$actcode = '';
if ($commercial) {
//ba figyelem, teszteletlen ag!!!
if (substr($pwd, 6, 1) == 'L') {
$actualPrograms = crm_hardlock::GetAllPrograms($nUserID, 2, $verid);
} else {
$actualPrograms = crm_hardlock::GetAllPrograms($nUserID, 1, $verid);
}
if (count($actualPrograms) > 1) {
$password = $actualPrograms[0]['prHlNum'];
$actcode = $actualPrograms[0]['prActCode'];
//$resultXml .= '<Password>'.$actualPrograms[0]['prHlNum'].'</Password><DayCode>'.$actualPrograms[0]['prActCode'].'</DayCode>';
} else if (count($actualPrograms) == 1) {
$password = $actualPrograms[0]['prHlNum'];
$actcode = $actualPrograms[0]['prActCode'];
//$resultXml .= '<Password>'.$actualPrograms[0]['prHlNum'].'</Password><DayCode>'.$actualPrograms[0]['prActCode'].'</DayCode>';
}
} else {
if (!$namirialNonProfit && !$BIMLadderNonProfit)
$queryString = "SELECT * FROM `" . CRMADATBAZIS . "`.`nonprofit` WHERE `computer_id`='" . $compid . "' AND `isid`='" . $isid . "' AND partnerID is null LIMIT 1;";
else if ($namirialNonProfit)
$queryString = "SELECT * FROM `" . CRMADATBAZIS . "`.`nonprofit` WHERE `computer_id`='" . $compid . "' AND `isid`='" . $isid . "' AND partnerID = '2nt' LIMIT 1;";
else if ($BIMLadderNonProfit)
$queryString = "SELECT * FROM `" . CRMADATBAZIS . "`.`nonprofit` WHERE `computer_id`='" . $compid . "' AND `isid`='" . $isid . "' AND partnerID = 'kbl' LIMIT 1;";
crm_database::getInstance()->query($queryString);
$res = crm_database::getInstance()->fetchNext();
$multiple = true;
if (count($res)) {
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`p_versions` WHERE `verPassword8and9`='" . $res['verid'] . "' LIMIT 1;");
$ver = crm_database::getInstance()->fetchNext();
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`h_programs` WHERE `prHlNum`='" . $res['hlID'] . "' AND `prVerID`='" . $ver['verID'] . "' LIMIT 1;");
$res = crm_database::getInstance()->fetchNext();
$password = $res['prPass'];
$actcode = $res['prActCode'];
}
}
header('Content-Type: text/xml; charset=utf-8');
header('Content-Disposition: inline; filename=response.xml');
echo '<' . '?' . 'xml version="1.0"' . '?' . '><SelectProgramResult><Password>' . $password . '</Password><DayCode>' . $actcode . '</DayCode><MultiplePrograms>false</MultiplePrograms></SelectProgramResult>';
}
public static function checkNonProfitExists($npid = '', $isid = '')
{
if ($npid == '' || $isid == '') return (void);
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`computers` WHERE `computer_id`='" . $npid . "' LIMIT 1;");
$res2 = crm_database::getInstance()->fetchNext();
$compid = $res2['id'];
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`nonprofit` WHERE `computer_id`='" . $compid . "' AND `isid`='" . $isid . "' LIMIT 1;");
$res = crm_database::getInstance()->fetchNext();
if (!empty($res)) {
$user = $res['nUserID'];
crm_database::getInstance()->query("SELECT * FROM `" . CRMADATBAZIS . "`.`users` WHERE `nUserID`=" . $user . " LIMIT 1;");
$res = crm_database::getInstance()->fetchNext();
header('Content-Type: text/xml; charset=utf-8');
header('Content-Disposition: inline; filename=response.xml');
echo '<' . '?' . 'xml version="1.0"' . '?' . '><NonProfitDatabaseResult><Name>' . $res['strName'] . '</Name><Email>' . $res['strEMail'] . '</Email><Telephone>' . $res['strTel'] . '</Telephone><Company>' . $res['strCompany'] . '</Company></NonProfitDatabaseResult>';
}
}
}