+ $list = true;
+
+ // actions
+ if ($step == 'delete' && $param != null) {
+ S::assert_xsrf_token();
+ XDB::execute('DELETE FROM payment_reconcilations WHERE id = {?}', $param);
+ // FIXME: hardcoding !!!
+ XDB::execute('UPDATE payment_transactions SET recon_id = NULL,commission = NULL WHERE recon_id = {?} AND method_id = 2', $param);
+ XDB::execute('UPDATE payment_transactions SET recon_id = NULL WHERE recon_id = {?} AND method_id = 1', $param);
+ $page->trigSuccess("L'entrée " . $param . ' a été supprimée.');
+
+ } elseif ($step == 'edit') {
+ $page->trigError("L'édition n'est pas implémentée.");
+
+ } elseif ($step == 'step5') {
+ $page->trigSuccess("La réconciliation est terminée. Il est maintenant nécessaire de générer les virements.");
+
+ }
+
+ if($list) {
+ // show list of reconciliations, with a "add" button
+ $page->assign('title', 'Réconciliation - Liste');
+ $page->assign('step', 'list');
+
+ $recongps = array();
+
+ $res = XDB::query("SELECT r.id, short_name AS method, period_start, period_end, status,
+ payment_count, sum_amounts, sum_commissions
+ FROM payment_reconcilations AS r
+ LEFT JOIN payment_methods AS m ON (r.method_id = m.id)
+ WHERE recongroup_id IS NULL
+ ORDER BY period_end DESC, period_start DESC");
+ foreach ($res->fetchAllAssoc() as $recon)
+ $recongps[] = array('recons' => array($recon), 'transfers' => array());
+
+ $res = XDB::query("SELECT recongroup_id AS id
+ FROM payment_reconcilations
+ GROUP BY recongroup_id
+ ORDER BY MAX(period_end) DESC, MIN(period_start) DESC");
+ foreach ($res->fetchAllAssoc() as $recongp) {
+ $res = XDB::query("SELECT r.id, short_name AS method, period_start, period_end, status,
+ payment_count, sum_amounts, sum_commissions
+ FROM payment_reconcilations AS r
+ LEFT JOIN payment_methods AS m ON (r.method_id = m.id)
+ WHERE recongroup_id = {?}
+ ORDER BY period_end DESC, period_start DESC",
+ $recongp['id']);
+ $recongp['recons'] = $res->fetchAllAssoc();
+
+ $res = XDB::query('SELECT id, payment_id, amount, account_id, message, date
+ FROM payment_transfers
+ WHERE recongroup_id = {?}',
+ $recongp['id']);
+ $recongp['transfers'] = $res->fetchAllAssoc();
+
+ $recongps[] = $recongp;
+ }
+ $page->assign_by_ref('recongps', $recongps);
+ }
+ }
+
+ function handler_adm_importlogs($page, $step, $param = null) {
+ $page->setTitle('Administration - Paiements - Réconciliations');
+ $page->changeTpl('payment/reconcile.tpl');
+ $page->assign('step', $step);
+
+ if (isset($_SESSION['paymentrecon_data'])) {