1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| public function save( appli_name: $appli_name,
activate_date: $activate_date,
platform: $platform,
sesaid: $sesaid,
deactivate_date: ?string $deactivate_date = null,
id: ?int $id = null,
idupdate: ?int $idupdate = null
) {
//les
// paramètres avec valeur par défaut doivent être placés à la fin
try
{
$ppp = new PDOPlusPlus();
$ppp->startTransaction();
$res = $this->getAP_PL_ident();
$ap_ident = $res['ap_ident'];
$pl_ident = $res['pl_ident'];
if (!$id)
{ //si pas sesaid pour cet appli_name en bdd
if ($deactivate_date)
{
$sql_insert = <<<sql
INSERT INTO `li_license`
(
`LI_activate_date`,
`LI_deactivate_date`,
`PL_ident`,
`AP_ident`,
`US_sesa_OWNLIC`)
VALUES (
{$ppp($activate_date)},
{$ppp($deactivate_date)},
{$ppp($pl_ident)},
{$ppp($ap_ident)},
{$ppp($sesaid)}
)
sql;
}
else
{
$sql_insert = <<<sql
INSERT INTO `li_license`
(
`LI_activate_date`,
`PL_ident`,
`AP_ident`,
`US_sesa_OWNLIC`)
VALUES (
{$ppp($activate_date)},
{$ppp($pl_ident)},
{$ppp($ap_ident)},
{$ppp($sesaid)}
)
sql;
}
$id = $ppp->insert($sql_insert);
dispResult::${$nb_insert}++;
return $id;
}
elseif ($idupdate)
{ //LI_ident <- sesaid et application_name
$sql = <<<sql
SELECT LI_ident from li_license LI
JOIN own_owner_license OWN ON LI.US_sesa_OWNLIC = OWN.US_sesa_OWNLIC
JOIN ap_application APP ON LI.AP_ident = APP.AP_ident;
sql;
$li_ident = $ppp->select($sql)[0]['LI_ident'];
if ($deactivate_date)
{
$sql = <<<sql
UPDATE `li_license`
SET
`LI_activate_date` = {$ppp($activate_date)},
`LI_deactivate_date` = {$ppp($deactivate_date)},
`PL_ident` = {$ppp($pl_ident)},
`AP_ident` = {$ppp($ap_ident)},
`US_sesa_OWNLIC` = {$ppp($sesaid)}
WHERE `LI_ident` = {$ppp($li_ident)};
sql;
}
else
{
$sql = <<<sql
UPDATE `li_license`
SET
`LI_activate_date` = {$ppp($activate_date)},
`PL_ident` = {$ppp($pl_ident)},
`AP_ident` = {$ppp($ap_ident)},
`US_sesa_OWNLIC` = {$ppp($sesaid)}
WHERE `LI_ident` = {$ppp($li_ident)};
sql;
}
$exec = $ppp->update($sql);
DispResult::${$nb_update}++;
return (bool)$exec;
}
$ppp->commit();
}
catch (\Exception $e) {
$ppp->rollback();
}
} |
Partager