source: spip-zone/_plugins_/reservations_bank/trunk/reservation_bank_pipelines.php @ 113833

Last change on this file since 113833 was 113833, checked in by abelass@…, 10 days ago

nettoyage

File size: 21.0 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Réservations Bank
4 *
5 * @plugin     Réservations Bank
6 * @copyright  2015-2018
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Reservation_bank\Pipelines
10 */
11if (!defined('_ECRIRE_INC_VERSION'))
12        return;
13
14/**
15 * permet de modifier le tableau de valeurs envoyé par la fonction charger d’un formulaire CVT
16 *
17 * @pipeline formulaire_charger
18 *
19 * @param array $flux
20 *              Données du pipeline
21 * @return array Données du pipeline
22 */
23function reservation_bank_formulaire_charger($flux) {
24        $form = $flux['args']['form'];
25
26        if ($form == 'encaisser_reglement') {
27                $id_transaction = $flux['data']['_id_transaction'];
28
29                // Les infos supplémentaires de la transaction
30                $transaction = sql_fetsel('id_reservation,montant,auteur', 'spip_transactions', 'id_transaction=' . $id_transaction);
31                $id_reservation = $flux['id_reservation'] = $transaction['id_reservation'];
32                $montant_transaction = $flux['montant'] = $transaction['montant'];
33
34                // Cas spécial pour les crédits
35                if ($flux['data']['_mode'] == 'credit' and $credit = credit_client('', $transaction['auteur'])) {
36                        $flux['data']['credit'] = '';
37                        $flux['data']['email_client'] = $email_client = $transaction['auteur'];
38                        $flux['_hidden'] .= '<input name="email_client" value="' . $email_client . '" type="hidden"/>';
39                }
40
41                // Définir les champs pour les détails de réservation.
42                $sql = sql_select('id_reservations_detail,prix,prix_ht,quantite,devise,taxe,descriptif,montant_paye', 'spip_reservations_details', 'id_reservation=' . $id_reservation);
43
44                $montant_detail = array();
45                $montant_reservations_detail_defaut = array();
46                $montant_reservations_detail_total = array();
47                $count = sql_count($sql);
48                $montant_transaction_detail = '';
49                if ($count > 0) {
50                        $montant_transaction_detail = $montant_transaction / $count;
51                }
52
53                $montant_ouvert = '';
54                $montant_defaut = '';
55                $fonction_prix = '';
56                if (charger_fonction('prix', 'inc/', TRUE)) {
57                        $fonction_prix = charger_fonction('prix', 'inc/');
58                }
59
60                while ($data = sql_fetch($sql)) {
61                        $id_reservations_detail = $data['id_reservations_detail'];
62                        $devise = $data['devise'];
63                        $montant_paye[$id_reservations_detail] = $data['montant_paye'];
64
65                        if ($fonction_prix) {
66                                $montant = $fonction_prix('reservations_detail', $id_reservations_detail);
67                        }
68                        else {
69                                $montant = $data['prix'];
70                                if ($montant <= 0) {
71                                        $montant = $data['prix_ht'] + $data['taxe'];
72                                }
73                        }
74
75                        $montant_reservations_detail_total[$id_reservations_detail] = $montant;
76
77                        $montant_ouvert = $montant_defaut = $montant - $data['montant_paye'];
78
79                        if ($montant_ouvert < $montant_transaction_detail and $montant_ouvert >= 0) {
80                                if (!$montant_defaut = _request('montant_reservations_detail_' . $id_reservations_detail)) {
81                                        $montant_defaut = $montant_ouvert;
82                                }
83                        }
84
85                        if ($credit[$devise] > 0 and ($credit[$devise] / $count) <= $montant_defaut) {
86                                $montant_defaut = $credit[$devise] / $count;
87                        }
88
89                        if ($montant_defaut > 0) {
90
91                                $montant_detail[] = array(
92                                        'saisie' => 'input',
93                                        'options' => array(
94                                                'nom' => 'montant_reservations_detail_' . $id_reservations_detail,
95                                                'label' => $data['descriptif'],
96                                                'defaut' => $montant_defaut,
97                                                'size' => 20
98                                        )
99                                );
100                        }
101
102                        $flux['data']['montant_reservations_detail_' . $id_reservations_detail] = '';
103                        $montant_reservations_detail_defaut[$id_reservations_detail] = $montant_ouvert;
104                }
105
106                if ($credit) {
107                        $flux['credit'] = '';
108                        $flux['_hidden'] .= '<input name="credit" value="' . $credit[$devise] . '" type="hidden"/>';
109                }
110
111                $flux['_mes_saisies'] = array(
112                        array(
113                                'saisie' => 'fieldset',
114                                'options' => array(
115                                        'nom' => 'specifier',
116                                        'label' => _T('reservation_bank:label_fieldset_specifier')
117                                ),
118                                'saisies' => array(
119                                        array(
120                                                'saisie' => 'oui_non',
121                                                'options' => array(
122                                                        'nom' => 'specifier_montant',
123                                                        'label' => _T('reservation_bank:label_specifier_montant'),
124                                                        'defaut' => _request('specifier_montant')
125                                                )
126                                        )
127                                )
128                        ),
129                        array(
130                                'saisie' => 'fieldset',
131                                'options' => array(
132                                        'nom' => 'montant',
133                                        'label' => _T('reservation_bank:label_fieldset_montant_detail', array(
134                                                'devise' => $devise
135                                        )),
136                                        'afficher_si' => '@specifier_montant@ == "on"'
137                                ),
138                                'saisies' => $montant_detail
139                        )
140                );
141                $flux['data']['specifier_montant'] = _request('specifier_montant');
142                $flux['data']['montant_reservations_detail_defaut'] = '';
143                $flux['data']['montant_paye'] = $montant_paye;
144                $flux['_hidden'] .= '<input name="id_reservation" value="' . $id_reservation . '" type="hidden"/>';
145                $flux['_hidden'] .= '<input name="id_transaction" value="' . $id_transaction . '" type="hidden"/>';
146
147                $montant_reservations_detail_defaut = serialize($montant_reservations_detail_defaut);
148                $montant_reservations_detail_total = serialize($montant_reservations_detail_total);
149                $flux['_hidden'] .= "<input name='montant_reservations_detail_defaut' value='$montant_reservations_detail_defaut' type='hidden'/>";
150                $flux['_hidden'] .= "<input name='montant_reservations_detail_total' value='$montant_reservations_detail_total' type='hidden'/>";
151        }
152        return $flux;
153}
154
155/**
156 * Intervientpendant la vérification d'un formulaire CVT
157 *
158 * @pipeline formulaire_verifier
159 *
160 * @param array $flux
161 *              Données du pipeline
162 * @return array Données du pipeline
163 */
164function reservation_bank_formulaire_verifier($flux) {
165        $form = $flux['args']['form'];
166        if ($form == 'encaisser_reglement') {
167                $id_reservation = _request('id_reservation');
168
169                $montant_reservations_detail_defaut = _request('montant_reservations_detail_defaut') ? unserialize(_request('montant_reservations_detail_defaut')) : array();
170                $montant_reservations_detail_total = _request('montant_reservations_detail_total') ? unserialize(_request('montant_reservations_detail_total')) : array();
171
172                if ($montant_reservations_detail_defaut) {
173                        set_request('montant_reservations_detail_defaut', $montant_reservations_detail_defaut);
174                }
175                if ($montant_reservations_detail_total) {
176                        set_request('montant_reservations_detail_total', $montant_reservations_detail_total);
177                }
178
179                $sql = sql_select('id_reservations_detail,montant_paye', 'spip_reservations_details', 'id_reservation=' . $id_reservation);
180                $montant_ouvert = array();
181                $montant_paye = array();
182                $montants = array();
183                while ($data = sql_fetch($sql)) {
184                        $id_reservations_detail = $data['id_reservations_detail'];
185                        $montant = _request('montant_reservations_detail_' . $id_reservations_detail);
186                        $montant_defaut = $montant_reservations_detail_defaut[$id_reservations_detail];
187
188                        $montant_paye[$id_reservations_detail] = $paye = $data['montant_paye'];
189                        $montants[] = $montant;
190
191                        if (_request('specifier_montant') and $montant > $montant_defaut) {
192                                $flux['data']['montant_reservations_detail_' . $id_reservations_detail] = _T('reservation_bank:message_erreur_montant_reservations_detail', array(
193                                        'montant_ouvert' => $montant_defaut
194                                ));
195                        }
196                }
197                set_request('montant_paye', $montant_paye);
198                if ($credit = _request('credit') and $credit < array_sum($montants)) {
199                        $flux['data']['specifier_montant'] = _T('reservation_bank:message_erreur_montant_credit', array(
200                                'credit' => $credit
201                        ));
202                }
203                session_set('encaisser_montant_regle', array_sum($montants));
204        }
205        return $flux;
206}
207
208/**
209 * Intervient au traitement d'un formulaire CVT
210 *
211 * @pipeline formulaire_traiter
212 *
213 * @param array $flux
214 *              Données du pipeline
215 * @return array Données du pipeline
216 */
217function reservation_bank_formulaire_traiter($flux) {
218        $form = $flux['args']['form'];
219
220        // Affiche le formulaire de paiement au retour du formulaire réservation
221        if ($form == 'reservation') {
222                if (!_request('gratuit')) {
223                        include_spip('inc/config');
224                        $config = lire_config('reservation_bank', array());
225                        $cacher_paiement_public = isset($config['cacher_paiement_public']) ? $config['cacher_paiement_public'] : '';
226                        $id_reservation = session_get('id_reservation');
227                        rb_inserer_transaction($id_reservation);
228                        if (!$cacher_paiement_public) {
229                                $flux['data']['redirect'] = generer_url_public(
230                                        'paiement_reservation',
231                                        "id_reservation=$id_reservation");
232
233                        }
234                }
235        }
236
237        // Adapte la transaction après la modification du montan payé.
238        if ($form == 'editer_reservations_detail') {
239                if ($id_reservation = sql_getfetsel('id_reservation',
240                                'spip_reservations_details',
241                                'id_reservations_detail=' . _request('id_reservations_detail'))) {
242                        $inserer_transaction = charger_fonction ("inserer_transaction", "bank" );
243                        $donnees = unserialize (recuperer_fond('inclure/paiement_reservation', array(
244                                'id_reservation' => $id_reservation,
245                                'cacher_paiement_public' => TRUE
246                        )));
247                        $donnees['options']['force'] = FALSE;
248                        $inserer_transaction($donnees['montant'], $donnees['options']);
249                }
250
251        }
252
253        return $flux;
254}
255
256/**
257 * Intervient lors de l’édition d’un élément éditorial.
258 *
259 * @pipeline pre_edition
260 *
261 * @param array $flux
262 *              Données du pipeline
263 * @return array Données du pipeline.
264 */
265function reservation_bank_pre_edition($flux) {
266        $table = $flux['args']['table'];
267
268        if (!_request('gratuit') &&
269                        $table == 'spip_reservations' &&
270                        $flux['args']['statut_ancien'] == 'encours' &&
271                        _request('statut') == 'encours' &&
272                        $montants = _request('montants')
273                        ) {
274                        $id_reservation = $flux['args']['id_reservation'];
275                        $prix_ht = array_sum(array_column($montants, 'prix_ht'));
276                        $prix = array_sum(array_column($montants, 'prix'));
277                        if ($prix_ht <= 0 && $prix <= 0) {
278                                $id_transaction = rb_inserer_transaction($id_reservation);
279                                $row = sql_fetsel('*','spip_transactions','id_transaction='.intval($id_transaction));
280
281                                $set = array(
282                                        "mode"=>'gratuit',
283                                        "montant_regle" => 0,
284                                        "date_paiement" => date('Y-m-d H:i:s'),
285                                        "statut"=>'ok',
286                                        "reglee"=>'oui'
287                                );
288                                sql_updateq("spip_transactions", $set,  "id_transaction=".intval($id_transaction));
289                                spip_log("call_resonse : id_transaction $id_transaction, reglee",$mode);
290                                set_request('gratuit', TRUE);
291
292                                $regler_transaction = charger_fonction('regler_transaction', 'bank');
293                                $regler_transaction($id_transaction, array('row_prec'=>$row));
294                        }
295
296        }
297
298
299        if ($table == 'spip_reservations_details' and $montant_reservations_detail_total = _request('montant_reservations_detail_total') and $montant_paye = _request('montant_paye')) {
300
301                $id_reservations_detail = $flux['args']['id_reservations_detail'];
302
303                $montant_total = $montant_reservations_detail_total[$id_reservations_detail];
304                $montant_reservations_detail = _request('montant_reservations_detail_' . $id_reservations_detail);
305
306                $montant_paye = $montant_paye[$id_reservations_detail] + $montant_reservations_detail;
307
308                // Si le montant payé est inférieur au montant dû on change les statuts.
309
310                $statut = $flux['data']['statut'];
311
312                if ($montant_paye < $montant_total and (!empty($montant_total) and $montant_total != 0)) {
313                        if ($statut == 'accepte') {
314                                $flux['data']['statut'] = 'accepte_part';
315                        }
316                        elseif ($statut == 'attente') {
317                                $flux['data']['statut'] = 'attente_part';
318                        }
319                }
320                // Si montant égal, mais statut en attente, on met en attente_paye.
321                elseif ($statut == 'attente') {
322                        $flux['data']['statut'] = 'attente_paye';
323                }
324
325                // Enregistre le montant payé
326                $flux['data']['montant_paye'] = $montant_paye;
327        }
328        return $flux;
329}
330
331/**
332 * Permet de compléter ou modifier le résultat de la compilation d’un squelette donné.
333 *
334 * @pipeline recuperer_fond
335 *
336 * @param array $flux
337 *              Données du pipeline
338 * @return array Données du pipeline
339 */
340function reservation_bank_recuperer_fond($flux) {
341        $fond = $flux['args']['fond'];
342        $contexte = $flux['data']['contexte'];
343
344        // Ajoute des champs supplémentaires pour le paiment des réservations dans l'espace privé.
345        if ($fond == 'formulaires/encaisser_reglement' and _request('exec') == 'payer_reservation') {
346                $reservation_bank = recuperer_fond('formulaires/inc-encaisser_reglement_reservation', $contexte);
347                $flux['data']['texte'] = str_replace('<ul class="editer-groupe">', $reservation_bank . '<ul class="editer-groupe">', $flux['data']['texte']);
348        }
349
350        // Ajoute un colonne en plus à la liste des réservations
351        if ($fond == 'prive/objets/liste/inc-reservations_reservations') {
352                $row = recuperer_fond('prive/objets/liste/inc-reservations_thead', $contexte);
353                $flux['data']['texte'] = str_replace("<th class='client' scope='col'>", $row . "<th class='client' scope='col'>", $flux['data']['texte']);
354        }
355
356        // Ajoute un colonne en plus à la liste des réservations
357        if ($fond == 'prive/objets/liste/inc-reservations_row') {
358                $row = recuperer_fond('prive/objets/liste/inc-reservations_row_paiement', $contexte);
359                $flux['data']['texte'] = str_replace("<td class='client'>", $row . "<td class='client'>", $flux['data']['texte']);
360        }
361
362        // Ajoute le lien de paiement à la page réservation
363        if ($fond == 'prive/objets/contenu/inc-reservation_montant') {
364                $id_reservation = $contexte['id_reservation'];
365                $sql = sql_select('montant_paye', 'spip_reservations_details', 'id_reservation=' . $id_reservation);
366
367                $montant_paye = array();
368                while ($data = sql_fetch($sql)) {
369                        $montant_paye[] = $data['montant_paye'];
370                }
371                $contexte['montant_paye'] = array_sum($montant_paye);
372                $row = recuperer_fond('prive/objets/contenu/inc-reservation_montant_paiement', $contexte);
373                $flux['data']['texte'] = str_replace('</div>', '</div>' . $row, $flux['data']['texte']);
374        }
375
376        // Le recapitulatif de la réservation.
377        if ($fond == 'inclure/reservation' and
378                        $id_reservation = $flux['data']['contexte']['id_reservation']) {
379
380                // Ajouite le montant payé
381                $texte_montant_paye = recuperer_fond('inclure/texte_montant_paye', array('id_reservation' => $id_reservation));
382
383                $flux['data']['texte'] = str_replace(
384                                '</tr>
385                        </tfoot>',
386                                "</tr>\n
387                                $texte_montant_paye \n
388                        </tfoot>\n"     ,
389                        $flux['data']['texte']);
390
391
392                // Ajoute le message de paiement à la notification de réservation.
393                if ($statut = sql_getfetsel('statut', 'spip_reservations', 'id_reservation=' . $id_reservation) and
394                                $statut == 'attente_paiement' or $statut == 'accepte') {
395                        $qui = $flux['data']['contexte']['qui'];
396                        $transaction = sql_fetsel('mode, id_transaction, transaction_hash, message, tracking_id', 'spip_transactions', 'id_reservation=' . $id_reservation, '', 'date_transaction DESC');
397                        $mode = $transaction['mode'];
398                        $id_transaction = $transaction['id_transaction'];
399                        if ($qui == 'client') {
400                                if ($statut == 'attente_paiement') {
401                                        $pattern = array(
402                                                '|<p class="titre h4">|',
403                                                '|</p>|'
404                                        );
405                                        $replace = array(
406                                                '<h3>',
407                                                '</h3>'
408                                        );
409                                        $texte = preg_replace(
410                                                        $pattern,
411                                                        $replace, bank_afficher_attente_reglement($mode, $id_transaction, $transaction['transaction_hash'], ''));
412                                }
413                                else {
414                                        $texte = '<p>' . $transaction['message'] . '</p>';
415                                }
416                        }
417                        elseif ($qui == 'vendeur') {
418                                $url = generer_url_ecrire('transaction', 'id_transaction=' . $id_transaction);
419                                $texte = '<h2>' . _T('reservation_bank:titre_paiement_vendeur') . '</h2>';
420                                $texte .= '<p>' . _T('reservation_bank:message_paiement_vendeur', array(
421                                        'mode' => $mode,
422                                        'url' => $url
423                                )) . '</p>';
424                        }
425                        $flux['data']['texte'] .= $texte;
426                }
427        }
428
429        // Ajouter le message pour la référence su paiement par virement.
430        if ($fond == 'presta/virement/payer/attente' and $tracking_id = sql_getfetsel('tracking_id', 'spip_transactions', 'id_transaction=' . $contexte['id_transaction']) and $id_reservation = sql_getfetsel('id_reservation', 'spip_reservations', 'reference LIKE ' . sql_quote($tracking_id))) {
431
432                $texte = '<strong>' . _T('reservation_bank:reservation_paiement_reference', array(
433                        'reference' => $tracking_id
434                )) . '</strong>';
435                $flux['data']['texte'] = str_replace('</div>', $texte . '</div>', $flux['data']['texte']);
436        }
437
438        // Ajoute un bouton de paimeent pour le réservations en cours.
439        if ($fond == 'prive/squelettes/navigation/reservation') {
440                if ($statut = sql_getfetsel('statut', 'spip_reservations', 'id_reservation= ' . $contexte['id_reservation']) and $statut == 'encours') {
441                        $button = recuperer_fond('inclure/bouton_inserer_prestataire', $contexte);
442                        $flux['data']['texte'] = str_replace('<!-- Infos extras -->', $button . ' <!-- Infos extras -->', $flux['data']['texte']);
443                }
444        }
445
446        // Ajoute le champ montant payé au formulaire d'édition.
447        if ($fond == 'formulaires/inc-editer_reservations_details_champs') {
448                        $flux['data']['texte'] .= recuperer_fond('formulaires/champ_montant_paye', $contexte);
449        }
450
451        // Ajoute le champ montant `la page du détail de réservation.
452        if ($fond == 'prive/objets/contenu/reservations_detail') {
453                        $flux['data']['texte'] .= recuperer_fond('prive/objets/contenu/inc-reservation_detail_montant_paye', $contexte);
454        }
455
456        return $flux;
457}
458
459/**
460 * Enregistrer le bon reglement d'une commande liee a une transaction du plugin bank
461 *
462 * @pipeline bank_traiter_reglement
463 *
464 * @param array $flux
465 * @return array mixed
466 */
467function reservation_bank_bank_traiter_reglement($flux) {
468        // Si on est dans le bon cas d'un paiement de reservation et qu'il y a un id_reservation et que la reservation existe toujours
469
470        if ($id_transaction = $flux['args']['id_transaction'] and
471                        $transaction = sql_fetsel("*", "spip_transactions", "id_transaction=" . intval($id_transaction)) and
472                        $id_reservation = $transaction['id_reservation'] and
473                        $reservation = sql_fetsel('statut, reference', 'spip_reservations', 'id_reservation=' . intval($id_reservation))) {
474
475                $paiement_detail = array();
476                if (!_request('gratuit')) {
477                        if (!$montant_reservations_detail_total = _request('montant_reservations_detail_total')) {
478                                include_spip('inc/reservation_bank');
479                                $montant_reservations_detail_total = montant_reservations_detail_total($id_reservation);
480                        }
481
482                        foreach (array_keys($montant_reservations_detail_total) as $id_reservation_detail) {
483                                $paiement_detail[$id_reservation_detail] = _request('montant_reservations_detail_' . $id_reservation_detail);
484                        }
485
486                        if (!$montant_regle = array_sum($paiement_detail)) {
487                                $montant_regle = $transaction['montant_regle'];
488                        }
489                        elseif (is_array($montant_regle)) {
490                                $montant_regle = array_sum($montant_regle);
491                        }
492
493
494
495                set_request('montant_regle', $montant_regle);
496
497                $set = array(
498                        'montant_regle' => $montant_regle,
499                        'paiement_detail' => serialize($paiement_detail)
500                );
501
502                sql_updateq('spip_transactions', $set, 'id_transaction=' . $id_transaction);
503                }
504
505                include_spip('action/editer_objet');
506                objet_instituer('reservation', $id_reservation, array(
507                        'statut' => 'accepte',
508                        'date_paiement' => $transaction['date_transaction']
509                ));
510
511                // un message gentil pour l'utilisateur qui vient de payer, on lui rappelle son numero de commande
512                $flux['data'] .= "<br />" . _T('reservation_bank:merci_de_votre_reservation_paiement', array(
513                        'reference' => $reservation['reference']
514                ));
515
516        }
517
518        return $flux;
519}
520
521/**
522 * Changer de statut si transaction en attente
523 *
524 * @pipeline trig_bank_reglement_en_attente
525 *
526 * @param array $flux
527 * @return array
528 */
529function reservation_bank_trig_bank_reglement_en_attente($flux) {
530        if ($id_reservation = sql_getfetsel('id_reservation', 'spip_transactions', 'id_transaction=' . $flux['args']['id_transaction'])) {
531                include_spip('action/editer_objet');
532                objet_instituer('reservation', $id_reservation, array(
533                        'statut' => 'attente_paiement'
534                ));
535        }
536
537        return $flux;
538}
539
540/**
541 * Insertion de css.
542 *
543 * @pipeline insert_head_css
544 *
545 * @param array $flux
546 *              Données du pipeline
547 * @return array Données du pipeline
548 */
549function reservation_bank_insert_head_css($flux) {
550        $css = find_in_path('css/reservations_bank.css');
551        $flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n";
552        return $flux;
553}
554
555/**
556 * Ajouter les configurations dans celle de réservation événements.
557 *
558 * @pipeline reservation_evenement_objets_configuration
559 *
560 * @param array $flux
561 *              Données du pipeline
562 * @return array Données du pipeline
563 */
564function reservation_bank_reservation_evenement_objets_configuration($flux) {
565        $objets = array(
566                'bank' => array(
567                        'label' => _T('bank:titre_menu_configurer')
568                ),
569                'reservation_bank' => array(
570                        'label' => _T('reservation_bank:reservation_bank_titre')
571                )
572        );
573
574        $flux['data'] = array_merge($flux['data'], $objets);
575
576        return $flux;
577}
578
579/**
580 * Ajouter une entré au menu de navigation de résrvation événement.
581 *
582 * @pipeline reservation_evenement_objets_navigation
583 *
584 * @param array $flux
585 *              Données du pipeline
586 * @return array Données du pipeline
587 */
588function reservation_bank_reservation_evenement_objets_navigation($flux) {
589        $flux['data']['transactions'] = array(
590                'label' => _T('bank:titre_menu_transactions'),
591                'icone' => 'credit-card-16.png'
592        );
593
594        return $flux;
595}
596
597/**
598 * Intervention sur les détails de réservation.
599 *
600 * @pipeline reservation_evenement_donnees_details.
601 *
602 * @param array $flux
603 *              Données du pipeline
604 * @return array
605 *          Données du pipeline
606 */
607function reservation_bank_reservation_evenement_donnees_details($flux) {
608        $data = $flux['data'];
609        if ($flux['args']['statut'] == 'encours') {
610                if (isset($data['prix_ht']) && isset($data['prix'])) {
611                        $prix_ht = $data['prix_ht'];
612                        $prix = $data['prix'];
613                        if ($prix <= 0 && $prix_ht <= 0) {
614                                $flux['data']['statut'] = 'accepte';
615                        }
616                }
617        }
618
619
620        return $flux;
621}
622
Note: See TracBrowser for help on using the repository browser.