GlisWeb framework
_default.esito.php
Vai alla documentazione di questo file.
1 <?php
2 
3 /*
4 
5  TODO
6  - SE è presente un carrello e la modalità di pagamento coincide e il cliente ha confermato, allora chiudere l'ordine (timestamp_checkout/session_checkout)
7  - ALTRIMENTI cercare con la session un ordine pagato e in base al provider rilevato
8  - SE il ritorno è effettuato con dati, gestirli
9  - ALTRIMENTI ringraziare il cliente e bona
10 
11  // se la modalità di pagamento scelta prevede un provider esterno, creo il modulo
12  switch( $_SESSION['carrello']['provider_pagamento'] ) {
13 
14  case 'nexi':
15 
16  break;
17 
18  case NULL:
19 
20  // registro il momento del checkout
21  mysqlQuery(
22  $cf['mysql']['connection'],
23  'UPDATE carrelli SET timestamp_checkout = ? WHERE id = ?',
24  array(
25  array( 's' => time() ),
26  array( 's' => $_SESSION['carrello']['id'] )
27  )
28  );
29 
30  break;
31 
32  }
33 
34 */
35 
36  // SE è presente un carrello
37  if( isset( $_SESSION['carrello']['id'] ) ) {
38 
39  // valuto il comportamento in base al provider dipagamento
40  switch( $_SESSION['carrello']['provider_pagamento'] ) {
41 
42  case 'contanti':
43 
44  // SE si sta confermando un carrello aperto
45  if( empty( $_SESSION['carrello']['timestamp_checkout'] ) ) {
46 
47  // ricavo la session del carrello
48  $session = mysqlSelectValue( $cf['mysql']['connection'], 'SELECT session FROM carrelli WHERE id = ?', array( array( 's' => $_SESSION['carrello']['id'] ) ) );
49 
50  // assegno il tempo di checkout
51  $_SESSION['carrello']['timestamp_checkout'] = time();
52 
53  // registro il momento del checkout
54  mysqlQuery(
55  $cf['mysql']['connection'],
56  'UPDATE carrelli SET timestamp_checkout = ?, session = ?, session_pagamento = ? WHERE id = ?',
57  array(
58  array( 's' => $_SESSION['carrello']['timestamp_checkout'] ),
59  array( 's' => NULL ),
60  array( 's' => $session ),
61  array( 's' => $_SESSION['carrello']['id'] )
62  )
63  );
64 
65  // specifico che sta avvenendo un acquisto
66  $ct['page']['metadati']['ruolo'] = 'acquisto';
67 
68  // a beneficio delle operazioni post checkout
69  // NOTA perché prima era così?
70  // $id = array( $_SESSION['carrello']['id'] );
71  $id = $_SESSION['carrello']['id'];
72 
73  // operazioni post checkout
74  $cnts = array_merge(
75  glob( DIRECTORY_BASE . '{,_}mod/{,_}4500.ecommerce/{,_}src/{,_}inc/{,_}controllers/{,_}checkout.messages.success.php', GLOB_BRACE ),
76  glob( DIRECTORY_BASE . '{,_}mod/{,_}4500.ecommerce/{,_}src/{,_}inc/{,_}controllers/{,_}checkout.finally.success.php', GLOB_BRACE )
77  );
78 
79  // inclusione
80  foreach( $cnts as $cnt ) {
81  require $cnt;
82  }
83 
84  }
85 
86  break;
87 
88  }
89 
90 // } elseif( isset( $_REQUEST['xpay__lb__token'] ) && isset( $_REQUEST['codTrans'] ) ) {
91  } elseif( isset( $_REQUEST['codTrans'] ) ) {
92 
93  // recupero i dati del carrello in base al codTrans
94  $ids = explode( '.', $_REQUEST['codTrans'] );
95 
96  // id e timestamp di checkout del carrello
97  $_SESSION['carrello']['id'] = $ids[0];
98  $_SESSION['carrello']['timestamp_checkout'] = mysqlSelectValue( $cf['mysql']['connection'], 'SELECT timestamp_checkout FROM carrelli WHERE id = ?', array( array( 's' => $_SESSION['carrello']['id'] ) ) );
99 
100  // valuto la risposta del keyclient
101  if( $_REQUEST['esito'] == 'OK' ) {
102  $cnts = glob( DIRECTORY_BASE . '{,_}mod/{,_}4500.ecommerce/{,_}src/{,_}inc/{,_}controllers/{,_}checkout.messages.success.php', GLOB_BRACE );
103  } else {
104  $cnts = glob( DIRECTORY_BASE . '{,_}mod/{,_}4500.ecommerce/{,_}src/{,_}inc/{,_}controllers/{,_}checkout.messages.fail.php', GLOB_BRACE );
105  }
106 
107  // inclusione
108  foreach( $cnts as $cnt ) {
109  require $cnt;
110  }
111 
112  } elseif( isset( $_REQUEST['chargeId'] ) ) {
113 
114  $cnts = glob( DIRECTORY_BASE . '{,_}mod/{,_}4500.ecommerce/{,_}src/{,_}inc/{,_}controllers/{,_}checkout.messages.success.php', GLOB_BRACE );
115 
116  // inclusione
117  foreach( $cnts as $cnt ) {
118  require $cnt;
119  }
120 
121  }
122 
123 ?>
if(isset( $cx['contatti'])) if(isset( $cf['site']['contatti'])) $ct['contatti']
Definition: _035.common.php:24
mysqlQuery( $c, $q, $p=false, &$e=array())
$cf['ricerca']['template']
Definition: _030.common.php:7
mysqlSelectValue( $c, $q, $p=false, &$e=array())
const DIRECTORY_BASE
Definition: _osm.php:3
if(isset( $_REQUEST['amazonCheckoutSessionId'])) $_SESSION['carrello']
if(! isset( $_REQUEST['__view__'][ $ct['view']['id']]['__extra__']['assegnato'])|| $_REQUEST['__view__'][ $ct['view']['id']]['__extra__']['assegnato']=='__me__') elseif($_REQUEST[ '__view__'][$ct[ 'view'][ 'id']][ '__extra__'][ 'assegnato']=='__nessuno__')
$_REQUEST['__view__'][ $ct['view']['id']]['__restrict__']['id_progetto']['EQ']