/* Prove per phpmailer */
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require '../PHPMailer/src/Exception.php';
require '../PHPMailer/src/PHPMailer.php';
require '../PHPMailer/src/SMTP.php';
$host = "smtp.gmail.com";
$port = 587;
// $port = 25 ;
$secure = "tls";
// or the following configurations through SSL should work as well. kdlp pith ssih uuja
// $port = 465;
// $secure = "ssl";
$username = "fabrizio.curcio@gmail.com";
$password = "kdlp pith ssih uuja";
try {
$mailer = new PHPMailer(true);
$mailer->IsHTML(true);
$mailer->IsSMTP();
$mailer->From = $username ;
$mailer->FromName = "Fabrizio Curcio";
$mailer->ClearAllRecipients();
$mailer->AddAddress("fabrizio.curcio@yodigito.com", "Recipent");
$mailer->Subject = "Ordine";
$mailer->Body = "Buonasera,
in allegato i dati per un ordine.
A presto" ;
$mailer->AddAttachment('C:/php_app/test.pdf');
$mailer->SMTPAuth = true; // enable SMTP authentication
$mailer->SMTPSecure = $secure; // sets the prefix to the servier
$mailer->Host = $host; // sets GMAIL as the SMTP server
$mailer->Port = $port; // set the SMTP port for the GMAIL server
$mailer->Username = $username; // GMAIL username
$mailer->Password = $password; // GMAIL password
$result = $mailer->Send();
echo "Mail sent";
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ';
var_dump($e);
}
exit ;
/* Fine Prove per phpmailer */
include ("../common/public.php") ;
/*
$swal = false ;
$url = "https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);
$result = curl_exec($curl);
if ($result !== false) {
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE) ;
if ($statusCode == 404) {
echo "URL non esiste" ;
$swal = false ;
}
else {
echo "URL esiste";
$swal = true ;
}
}
else {
echo "URL non esiste" ;
$swal = false ;
}
*/
// session_start() ;
$swal = $_SESSION["swal"] ;
?>
Evento tasto destro
Clicca con il tasto destro qui
Muovi il mouse per vedere le coordinate
exit ;
?>
SweetAlert
if ($swal) : ?>
else : ?>
endif ?>
exit ;
include ("../common/public.php") ;
// print_r($_GET + $_POST) ;
debug (0, "profilo = $profilo " . $GLOBALS["anno"] ) ;
$anno = $GLOBALS["anno"] ;
$q = "
select
O.IdOrdini,
O.Anno,
O.IdFornitore,
F.Nome as NomeF,
C.Nome as NomeC,
C.NomePDF as NomeCPDF
from
Ordini O
inner join Fornitori F on O.IdFornitore = F.IdFornitori
inner join Clienti C on O.idCliente = C.IdClienti
where
O.IdOrdini NOT IN (
select
RPO.IdOrdine
from
relprovvigioneordini RPO
where
RPO.AnnoOrdine = '$anno' )
and
O.Anno = '$anno'
order by
O.IdOrdini
" ;
debug (0, $q) ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
$str = "Ordine n. " . $d['IdOrdini'][$i] . " - " . $d['NomeC'][$i] . " - " . $d['NomeCPDF'][$i] . " - " . $d['NomeF'][$i];
debug (1, $str) ;
}
$q = "
select distinct
CONCAT(P.IdProvvigioni, '/', P.Anno) as IdP,
F.Nome
from
provvigioni P
inner join fornitori F on F.IdFornitori = P.Fornitore
where
P.Anno >= '$anno'
order by
P.Anno, P.IdProvvigioni
" ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
$str = "Provvigione n. " . $d['IdP'][$i] . " di " . $d['Nome'][$i];
debug (1, $str) ;
}
exit ;
$idFornitore = 20 ;
$idCliente = 352 ;
$idProdotto = 423 ;
/**********************************************************
* 17.02.2024
* Function SistemaQuantita
* aggiorna la tabella QuantitaProdotti in base
* ai valori dei prodotti venduti / sconto merce ricavati
* dalle tabelle dettagli e scontomerce.
**********************************************************/
function SistemaQuantita()
{
$arrDati = array() ;
$arrDatiTot = array() ;
$db = new FC_SQL ;
/**********************************************************
* recupero la quantità assegnata per ogni singolo prodotto
* La quantità assegnata corretta è nella tabella
* QuantitaProdotti per cui non viene modificata.
* La quantita utilizzata corretta la ricavo dalla tabella
* dettagli andando a considerare ogni singolo ordine
* Stesso discorso per le quantita in sconto merce. In
* questo caso la tabella da considerare è la scontomerce
***********************************************************/
$qdett = "
select
D.*
from
dettagli D
where
D.Anno = 2024
order by
D.IdProdotto
" ;
list($ndett, $ddett) = $db->RecuperaDati($qdett) ;
// print_r($ddett) ;
for ($i=0; $i<$ndett; $i++)
{
$idPrd = $ddett['IdProdotto'][$i] ;
$idOrd = $ddett['IdOrdine'][$i] ;
$numBott = $ddett['NumCartoni'][$i] * $ddett['ConfezioniDa'][$i] ;
debug (0, "IdProdotto = $idPrd") ;
if (!array_key_exists($idPrd, $arrDati))
{
$arrDati[$idPrd][$idOrd] = array("NumBott" => $numBott) ;
$arrDatiTot[$idPrd] = array("NumBott" => $numBott) ;
}
else
{
$arrDati[$idPrd][$idOrd] = array("NumBott" => $numBott) ;
$arrDatiTot[$idPrd]['NumBott'] += $numBott ;
}
}
$qsm = "
select
SM.*
from
scontomerce SM
where
SM.Anno = 2024
order by
SM.IdProdotto
" ;
list($nsm, $dsm) = $db->RecuperaDati($qsm) ;
// print_r($dsm) ; exit ;
for ($i=0; $i<$nsm; $i++)
{
$idPrd = $dsm['IdProdotto'][$i] ;
$idOrd = $dsm['IdOrdine'][$i] ;
$numBott = $dsm['NumCartoni'][$i] * $dsm['ConfezioniDa'][$i] ;
debug (0, "IdProdotto = $idPrd") ;
if (!array_key_exists($idPrd, $arrDati))
{
$arrDati[$idPrd][$idOrd] = array("NumBottSM" => $numBott) ;
$arrDatiTot[$idPrd] = array("NumBottSM" => $numBott) ;
}
else
{
$arrDati[$idPrd][$idOrd] = array("NumBottSM" => $numBott) ;
$arrDatiTot[$idPrd]['NumBottSM'] += $numBott ;
}
}
// print_r($arrDatiTot) ;
$qqp = "
SELECT
QP.*
FROM
`quantitaprodotti` QP
WHERE
QP.Anno = 2024
order by
QP.IdProdotto
" ;
list($nqp, $dqp) = $db->RecuperaDati($qqp) ;
// print_r($d) ; exit ;
for ($i=0; $i<$nqp; $i++)
{
$idPrd = $dqp['IdProdotto'][$i] ;
$QUti = $dqp['QUtilizzata'][$i] ;
$QUtiSM = $dqp['QUtilizzataSM'][$i] ;
debug (0, "IdProdotto = $idPrd") ;
if (!array_key_exists($idPrd, $arrDati))
{
$arrDatiTot[$idPrd] = array("QUtilizzata" => $QUti) ;
$arrDatiTot[$idPrd] = array("QUtilizzataSM" => $QUtiSM) ;
}
else
{
$arrDatiTot[$idPrd]['QUtilizzata'] += $QUti ;
$arrDatiTot[$idPrd]['QUtilizzataSM'] += $QUtiSM ;
}
}
// print_r($arrDati) ;
// print_r($arrDatiTot) ;
ksort($arrDatiTot) ;
// print_r($arrDatiTot) ; exit ;
foreach ($arrDatiTot as $idP=>$arrVal)
{
if ($arrVal['NumBott'] != 0 or
$arrVal['Qutilizzata'] != 0 or
$arrVal['NumBottSM'] != 0 or
$arrVal['QUtilizzataSM']
)
{
$quti = $arrVal['NumBott'] ;
$qutiSM = $arrVal['NumBottSM'] ;
if ($quti == '')
$quti = 0 ;
if ($qutiSM == '')
$qutiSM = 0 ;
$qup = "
update
quantitaprodotti
set
Qutilizzata = $quti,
QutilizzataSM = $qutiSM
where
Anno = 2024 and
IdProdotto = $idP
" ;
debug (1, $qup) ;
$db->EseguiQuery($qup) ;
/*
if ($arrVal['NumBott'] != $arrVal['QUtilizzata'])
debug (1, "Per il prodotto con Id = $idP il numBott = " . $arrVal['NumBott'] . " mentre la quantita utilizzata è " . $arrVal['QUtilizzata'] . "\n") ;
if ($arrVal['NumBottSM'] != $arrVal['QUtilizzataSM'])
debug (1, "Per il prodotto con Id = $idP il numBottSM = " . $arrVal['NumBottSM'] . " mentre la quantita utilizzata SM è " . $arrVal['QUtilizzataSM'] . "\n") ;
*/
}
}
}
// SistemaQuantita() ;
exit ;
$aCheck = array_fill(1, $n, false) ;
function CaricaSingolaVoce($d, $i)
{
global $aCheck ;
debug(0, "In caricasingola = " . $d['Id'][$i]) ;
if ($aCheck[$d['Id'][$i]] == false)
{
if ($d['Id'][$i] != 55) {
$aCheck[$d['Id'][$i]] = true ;
}
return (" " . $d['Voce'][$i] . "\n") ;
}
}
function CaricaCambiaAnno($d, $i)
{
global $aCheck ;
$dbf = new FC_SQL ;
$strRet = "" ;
debug(0, "In caricacambiaAnno = " . $aCheck[$d['Id'][$i]]) ;
if ($aCheck[$d['Id'][$i]] == false)
{
$aCheck[$d['Id'][$i]] = true ;
$strRet .= "
" . $d['Voce'][$i] . "
\n" ;
$dbf->query("select * from annigestione order by anno") ;
while ($dbf->next_record())
{
$strRet .= ' - ' . $dbf->f("Anno") . "
\n";
$lastAnno = $dbf->f("Anno") ;
}
}
$strRet .= "
\n" ;
return ($strRet) ;
}
function CaricaVoceGenerica($d, $i)
{
global $aCheck ;
if ($aCheck[$d['Id'][$i]] == false)
{
$aCheck[$d['Id'][$i]] = true ;
return ("
" . $d['Voce'][$i] . "
\n") ;
}
}
function CaricaFigli($idPadre)
{
$dbf = new FC_SQL ;
global $aCheck ;
global $profilo ;
$strRet = "" ;
$qf = "
select
M.*
from
menu M
where
M.IdPadre = $idPadre and
M.IdProfilo >= $profilo
order by
M.OrdineInMenu
" ;
list($nf, $df) = $dbf->RecuperaDati($qf) ;
debug (0, "ID PADRE = $idPadre") ;
// print_r($df) ;
for ($x=0; $x<$nf; $x++)
{
debug (0, "ARRAYCHECK di " . $df['Id'][$x] . " = " . $aCheck[$df['Id'][$x]]) ;
if ($df['IdMenu'][$x] != -1)
{
if ($aCheck[$df['Id'][$x]] == false)
{
$strRet .= " - " . $df['Voce'][$x] . "
\n" ;
$aCheck[$df['Id'][$x]] = true ;
}
}
else
{
$strRet .= CaricaVoceGenerica($df, $x) ;
if ($df['HaFigli'][$x] == 1)
{
debug(0, "PP = " . $df['Id'][$x]) ;
$strRet .= CaricaFigli($df['Id'][$x]) ;
}
$strRet .= "
\n" ;
}
}
return $strRet ;
}
$q = "
select
M.*
from
menu M
where
M.IdProfilo >= $profilo
order by
M.OrdineInMenu
" ;
$strToPrint = "
" ;
list($n, $d) = $db->RecuperaDati($q) ;
$aCheck = array_fill(1, $n, false) ;
// print_r($aCheck) ; exit ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
if ($d['IdMenu'][$i] == 0)
{
$strToPrint .= CaricaSingolaVoce($d, $i) ;
}
if (($d['Id'][$i] == 55) and ($d['IdMenu'][$i] == -1)) // voce di menu CAMBIA ANNO
{
debug (1, "CAMBIA ANNO") ;
// $strToPrint .= CaricaSingolaVoce($d, $i) ;
$strToPrint .= CaricaCambiaAnno($d, $i) ;
}
elseif ($d['IdMenu'][$i] == -1)
{
$strToPrint .= CaricaVoceGenerica($d, $i) ;
if ($d['HaFigli'][$i] == 1)
{
$strToPrint .= CaricaFigli($d['Id'][$i]) ;
}
$strToPrint .= "
\n" ;
}
}
$strToPrint .= "
" ;
// print_r($aCheck) ;
debug (1, " StrToPrint = $strToPrint" ) ;
exit ;
?>
exit ;
/*****************************************************
* File utilizzato per scopi vari come utility
******************************************************/
// include ("../common/public.php") ;
include ("../classi/ClasseOrdini.php") ;
print_r($_GET + $_POST) ;
/******************************************************
* Inizializzo la tabella QuantitaProdotti
******************************************************/
$q = "
Insert Into
QuantitaProdotti
(
SELECT
P.Anno,
P.IdProdotti,
P.Qassegnata,
P.QUtilizzata,
0
FROM
prodotti P
where
P.Anno = 2015
); " ;
exit ;
/*--------------------------------------------------------------
--------------------------------------------------------------*/
$q = "
SELECT
QP.*,
P.QAssegnata as AssP,
P.QUtilizzata as UtiP
FROM
quantitaprodotti QP
inner join Prodotti P on P.Anno = QP.Anno and P.IdProdotti = QP.IdProdotto
WHERE
QP.Anno = 2023 and
" ;
list($n, $d) = $db->RecuperaDati($q) ;
print_r($d) ;
exit ;
/*************************************************
* Quanto è un singolo ordine secondo i calcoli
* dei dettagli dei singoli prodotti?
**************************************************/
$An = 2021 ;
$Tab = "dettagli" ;
$n = 0 ;
$q = "
SELECT
D.IdOrdine,
D.IdProdotto,
D.DescDettaglio,
P.IdProdotti,
P.CodiceProdotto,
P.Nome as NomeProdotto
FROM
$Tab D,
prodotti P
WHERE
P.Anno = $An AND
D.Anno = $An AND
P.IdProdotti = D.IdProdotto AND
P.Nome <> D.DescDettaglio
ORDER BY
D.IdOrdine ASC
" ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
$IdOrd = $d['IdOrdine'][$i] ;
$IP = $d['IdProdotto'][$i] ;
$CP = $d['CodiceProdotto'][$i] ;
$DD = addslashes($d['NomeProdotto'][$i]) ;
if ($CP != '')
$DD = $CP . ' - ' . $DD ;
$DesDett = $d['DescDettaglio'][$i] ;
$qupd = "
update
$Tab D
set
D.DescDettaglio = '$DD'
where
D.Anno = $An and
D.idordine = $IdOrd and
D.idprodotto = $IP
" ;
debug (0, "DescDettaglio = $DesDett ; " . $qupd) ;
$db->EseguiQuery($qupd) ;
}
debug (1, "Ho Finito Anno $An x $Tab -- Righe interessate $n") ;
exit ;
$clOrdini = new Ordine ;
$dbAVO = new FC_SQL ;
$impDett = 0 ;
$impAvo = 0 ;
$q = "
select
O.idordini
from
Ordini O
where
O.Anno = 2022 and
O.DataOrdine <= '2022-10-24' and
O.idfornitore = 5
order by
O.idordini
-- limit 0,100
" ;
list($n, $d) = $db->RecuperaDati($q) ;
for ($i=0 ; $i < $n; $i++)
{
$clOrdini->ArrayProdotti = array() ;
$clOrdini->TotaleOrdine = array() ;
$idOrd = $d['idordini'][$i] ;
$clOrdini->GetDettagliProdottiOrdine($idOrd, false) ;
$impDett += $clOrdini->TotaleOrdine[$idOrd]['Imponibile'] ;
debug (0, "IMPARZ = " . nfp($clOrdini->TotaleOrdine[$idOrd]['Imponibile'])) ;
$qAVO = "
select
AVO.*
from
ammontarevariordini AVO
where
AVO.Anno = 2022 and
AVO.idordine = $idOrd
" ;
list($nAVO, $dAVO) = $dbAVO->RecuperaDati($qAVO) ;
$impAvo += $dAVO['AmmontareOrdineSenzaIva'][0] ;
}
debug (2, "Ho Finito con impDett = " . nfp($impDett) . " e impAvo = " . nfp($impAvo)) ;
$q = "
select
O.idordini
from
Ordini O
where
O.Anno = 2022 and
O.DataOrdine <= '2022-10-24' and
O.idfornitore = 5
" ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0 ; $i < $n; $i++)
{
$clOrdini->ArrayProdotti = array() ;
$clOrdini->TotaleOrdine = array() ;
$idOrd = $d['idordini'][$i] ;
$qAVO = "
select
AVO.*
from
ammontarevariordini AVO
where
AVO.Anno = 2022 and
AVO.idordine = $idOrd
" ;
list($nAVO, $dAVO) = $dbAVO->RecuperaDati($qAVO) ;
$clOrdini->GetDettagliProdottiOrdine($idOrd, false) ;
if ($clOrdini->TotaleOrdine[$idOrd]['Imponibile'] != round($dAVO['AmmontareOrdineSenzaIva'][0], 2))
{
$arrDiv[$idOrd]['DETTAGLI'] = $clOrdini->TotaleOrdine[$idOrd]['Imponibile'] ;
$arrDiv[$idOrd]['AVO'] = $dAVO['AmmontareOrdineSenzaIva'][0] ;
debug (0, "ORDINE N. $idOrd DIVERSI " . $clOrdini->TotaleOrdine[$idOrd]['Imponibile'] . " -- " . round($dAVO['AmmontareOrdineSenzaIva'][0], 2)) ;
}
else
debug (0, "UGUALI") ;
debug (0, "ID ORDINE") ;
// print_r($clOrdini->ArrayProdotti) ;
// print_r($clOrdini->TotaleOrdine) ;
}
print_r($arrDiv) ;
debug (2, "Ho Finito con totalone = $totalone") ;
$An = 2022 ;
$Tab = "dettagli" ;
$n = 0 ;
$q = "
SELECT
D.IdOrdine,
D.IdProdotto,
D.DescDettaglio,
P.IdProdotti,
P.CodiceProdotto,
P.Nome as NomeProdotto
FROM
$Tab D,
prodotti P
WHERE
P.Anno = $An AND
D.Anno = $An AND
P.IdProdotti = D.IdProdotto AND
P.Nome <> D.DescDettaglio
ORDER BY
D.IdOrdine ASC
" ;
list($n, $d) = $db->RecuperaDati($q) ;
// print_r($d) ;
for ($i=0; $i<$n; $i++)
{
$IdOrd = $d['IdOrdine'][$i] ;
$IP = $d['IdProdotto'][$i] ;
$CP = $d['CodiceProdotto'][$i] ;
$DD = addslashes($d['NomeProdotto'][$i]) ;
if ($CP != '')
$DD = $CP . ' - ' . $DD ;
$qupd = "
update
$Tab D
set
D.DescDettaglio = '$DD'
where
D.Anno = $An and
D.idordine = $IdOrd and
D.idprodotto = $IP
" ;
debug (0, $qupd) ;
$db->EseguiQuery($qupd) ;
}
debug (1, "Ho Finito Anno $An x $Tab -- Righe interessate $n") ;
exit ;
$An = 2022 ;
$query = "
SELECT
O.idordini as IdOrdine,
D.IdProdotto as IdProdotto,
D.DescDettaglio as DescDettaglio,
P.CodiceProdotto as CodiceProdotto,
P.IdProdotti as IdProdotti,
P.Nome as NomeProdotto
FROM
ordini O
inner join scontomerce D on O.IdOrdini = D.IdOrdine and D.Anno = 2022
inner join prodotti P on D.IdProdotto = P.IdProdotti
WHERE
O.Anno = $An and
D.DescDettaglio <> P.Nome; " ;
list($n, $d) = $db->RecuperaDati($query) ;
// print_r($d) ;
// exit ;
for ($i=0; $i<$n; $i++)
{
$IdOrd = $d['IdOrdine'][$i] ;
$IP = $d['IdProdotto'][$i] ;
$CP = $d['CodiceProdotto'][$i] ;
$DD = addslashes($d['NomeProdotto'][$i]) ;
if ($CP != '')
$DD = $CP . ' - ' . $DD ;
$qupd = "
update
scontomerce D
set
D.DescDettaglio = '$DD'
where
D.Anno = $An and
D.idordine = $IdOrd and
D.idprodotto = $IP
" ;
debug (0, $qupd) ;
$db->EseguiQuery($qupd) ;
}
debug (1, "Ho Finito Anno $An x Scontomerce") ;
// giovedi 4 16,45
// 213462
// 86274 6 bobine
// 13544 sacchi neri 90 x 120 4 pezzi
// 32773 barchette cartoncino avana 4 file
// 79908 bicchieri biocompostabili 6 pezzi
// 88364 piatti biocompostabili fondi 2 pacchi
// 5289 moretti 66 i confezione
?>