2017-08-04 16:28:16 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
switch ( post ( 'op' )) {
2019-04-19 17:29:54 +02:00
case 'add' :
2019-05-04 00:32:28 +02:00
$data = post ( 'data' );
$tipo = post ( 'tipo' );
$da_pagare = post ( 'da_pagare' );
$descrizione = post ( 'descrizione' );
2019-04-19 17:29:54 +02:00
2019-07-31 18:22:35 +02:00
$dbo -> query ( 'INSERT INTO co_scadenziario(descrizione, tipo, data_emissione, scadenza, da_pagare, pagato) VALUES(' . prepare ( $descrizione ) . ', ' . prepare ( $tipo ) . ', CURDATE(), ' . prepare ( $data ) . ', ' . prepare ( - $da_pagare ) . " , '0') " );
2019-04-19 17:29:54 +02:00
$id_record = $dbo -> lastInsertedID ();
2019-05-04 00:32:28 +02:00
2019-04-19 17:29:54 +02:00
flash () -> info ( tr ( 'Scadenza inserita!' ));
break ;
2017-08-04 16:28:16 +02:00
case 'update' :
2019-07-25 18:05:47 +02:00
$tipo = post ( 'tipo' );
$descrizione = post ( 'descrizione' );
$iddocumento = post ( 'iddocumento' ) ? : 0 ;
2017-08-04 16:28:16 +02:00
// Calcolo il totale da pagare
2019-07-25 18:05:47 +02:00
$scadenza = $dbo -> fetchOne ( 'SELECT SUM(da_pagare) AS totale_da_pagare, iddocumento FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento=(SELECT iddocumento FROM co_scadenziario s WHERE id=' . prepare ( $id_record ) . ')' );
$totale_da_pagare = sum ( $scadenza [ 'totale_da_pagare' ], null );
2017-08-04 16:28:16 +02:00
$totale_utente = 0 ;
2019-04-19 17:42:16 +02:00
// Verifico se il totale sommato è uguale al totale da pagare (solo per le scadenze delle fatture)
2019-07-25 18:05:47 +02:00
foreach ( post ( 'da_pagare' ) as $id_scadenza => $da_pagare ) {
2018-11-30 16:10:15 +01:00
$totale_utente = sum ( $totale_utente , $da_pagare );
2017-08-04 16:28:16 +02:00
}
2019-07-25 18:05:47 +02:00
if ( $totale_utente == $totale_da_pagare || empty ( $scadenza [ 'iddocumento' ])) {
foreach ( post ( 'da_pagare' ) as $id => $da_pagare ) {
$pagato = post ( 'pagato' )[ $id ];
$scadenza = post ( 'scadenza' )[ $id ];
$data_concordata = post ( 'data_concordata' )[ $id ];
$nuova = post ( 'nuova' )[ $id ];
if ( empty ( $nuova )) {
$database -> update ( 'co_scadenziario' , [
'da_pagare' => $da_pagare ,
'pagato' => $pagato ,
'scadenza' => $scadenza ,
'data_concordata' => $data_concordata ,
], [ 'id' => $id ]);
if ( $da_pagare == 0 ) {
$database -> delete ( 'co_scadenziario' , [ 'id' => $id ]);
}
} else {
$database -> insert ( 'co_scadenziario' , [
'descrizione' => $descrizione ,
'tipo' => $tipo ,
'iddocumento' => $iddocumento ,
'da_pagare' => $da_pagare ,
'pagato' => $pagato ,
'scadenza' => $scadenza ,
'data_concordata' => $data_concordata ,
'data_emissione' => date ( 'Y-m-d' ),
]);
}
2017-08-04 16:28:16 +02:00
}
2018-07-19 17:29:21 +02:00
flash () -> info ( tr ( 'Scadenze aggiornate!' ));
2017-08-04 16:28:16 +02:00
} else {
2018-07-19 17:29:21 +02:00
flash () -> error ( tr ( 'Il totale degli importi inseriti non corrisponde al totale da pagare!' ));
2017-08-04 16:28:16 +02:00
}
break ;
2019-04-19 17:29:54 +02:00
2019-05-04 00:32:28 +02:00
case 'delete' :
2019-04-19 17:29:54 +02:00
$dbo -> query ( " DELETE FROM co_scadenziario WHERE id=' " . $id_record . " ' " );
flash () -> info ( tr ( 'Scadenza eliminata!' ));
break ;
2017-08-04 16:28:16 +02:00
}