Fonctions
Table of Contents
Functions
- filtre_commandes_hash_dist() : string
- Un fitre que l'on peut utiliser en argument d'une inclusion si on veut etre sur que l'affichage change quand la commande change <INCLURE{fond=macommande,id_commande,hash=#ID_COMMANDE|commandes_hash} />
- commandes_hash() : mixed
- commandes_lister_statuts() : array<string|int, mixed>|string
- Retourne les différents statuts possibles pour une commande ou le nom d'un statut précis
- filtre_commande_totalise_taxes_dist() : array<string|int, mixed>|string
- Une fonction pour memoriser les taxes par taux et retourner le tableau de detail en recap
- commande_totalise_taxes() : mixed
- filtre_commandes_arrondir_quantite_dist() : int|float
- Filtre pour utiliser la fonction d'arrondi des quantite
- commandes_arrondir_quantite() : mixed
- filtre_commandes_afficher_quantite_descriptif_dist() : string
- Afficher la quantite si differente de 1
- commandes_afficher_quantite_descriptif() : mixed
- filtre_commandes_afficher_quantite_dist() : string
- Afficher la quantite, en arrondissant eventuellement (par defaut fait juste l'arrondi int natif)
- commandes_afficher_quantite() : mixed
- filtre_commandes_afficher_prix_detaille_abbr_dist() : mixed|string
- commandes_afficher_prix_detaille_abbr() : mixed
- filtre_commandes_afficher_reduction_si_dist() : mixed
- commandes_afficher_reduction_si() : mixed
- critere_COMMANDES_encours_visiteur_dist() : mixed
- Critère pour prendre la commande en cours du visiteur, qu'il soit connecté ou non
- commandes_id_commande_encours_visiteur() : int
- Retourne le numéro de la commande en cours du visiteur, qu'il soit connecté ou non
- generer_commande_infos_client() : array<string|int, mixed>|mixed
- La fonction peut-être appellee par la fonction générique generer_objet_info($id_commande, 'commmande', 'infos_client') dans ce cas $ligne_sql_commande est fournie en second argument mais n'est pas utile ici et $cle vaut 'infos_client'
- filtre_generer_commande_infos_client_dist() : array<string|int, mixed>|mixed
- Filtre helper pour utiliser les infos clients dans un squelette
- creer_commande_encours() : int
- Créer une commande avec le statut `encours` pour le visiteur actuel.
- commandes_supprimer() : bool
- Supprimer une ou plusieurs commandes et leurs données associées
- commandes_effacer() : bool
- Supprimer des commandes
- commandes_ajouter_detail() : int
- Ajouter une ligne de detail dans une commande
- commandes_supprimer_detail() : bool
- Supprimer un ou plusieurs détails d'une commande
- commandes_envoyer_notification() : mixed
- Envoyer un mail de notification
- commandes_notifier() : mixed
- Traitement des notifications par email d'une commande
- commandes_appliquer_taxes() : mixed
- Mettre a jour les taxes d'une commande selon exoneration ou non
- commandes_actualiser_statut_si_commande_envoyee() : false|string
- Mettre à jour le statut envoye/retour/retour_partiel d'une commande après envois appelee automatiquement au changement de statut de commande a appeler manuellement si on marque des details 'envoye' ou 'retour'
- traiter_notifications_commande() : mixed
- legacy
- commandes_lister_paiements_echeances() : array<string|int, mixed>
- Lister un à un les paiements des échéances prévus
- commandes_lister_montants_echeances() : array<string|int, mixed>
- Lister un à un les montants des échéances prévus idem commandes_lister_paiements_echeances mais retourne uniquement le montant (ttc) pour chaque echeance, et pas un tableau
- commandes_nb_echeances_payees() : mixed
- commandes_trouver_prochaine_echeance_desc() : array<string|int, mixed>|bool
- Trouver la prochaine échéance à payer pour une commande
- commandes_trouver_prochaine_echeance() : bool|mixed
- inc_commandes_reference_dist() : string
- Génère un numéro unique utilisé pour remplir le champ `reference` lors de la création d'une commande.
Functions
filtre_commandes_hash_dist()
Un fitre que l'on peut utiliser en argument d'une inclusion si on veut etre sur que l'affichage change quand la commande change <INCLURE{fond=macommande,id_commande,hash=#ID_COMMANDE|commandes_hash} />
filtre_commandes_hash_dist(int $id_commande) : string
Parameters
- $id_commande : int
Return values
stringcommandes_hash()
v2.4.0
commandes_hash(mixed $id_commande) : mixed
Parameters
- $id_commande : mixed
commandes_lister_statuts()
Retourne les différents statuts possibles pour une commande ou le nom d'un statut précis
commandes_lister_statuts([bool|string $statut = false ]) : array<string|int, mixed>|string
Parameters
- $statut : bool|string = false
-
- vide ou false pour retourner un tableau
- nom d'un statut précis pour retourner sa chaîne de langue
Tags
Return values
array<string|int, mixed>|string —- array: tableau associatif des statuts possibles et leurs chaînes de langue
- string: chaîne de langue d'un statut
filtre_commande_totalise_taxes_dist()
Une fonction pour memoriser les taxes par taux et retourner le tableau de detail en recap
filtre_commande_totalise_taxes_dist([null|float $prix_ht = null ][, null|float $prix_ttc = null ][, null|float $taxe = null ]) : array<string|int, mixed>|string
Parameters
- $prix_ht : null|float = null
- $prix_ttc : null|float = null
- $taxe : null|float = null
Tags
Return values
array<string|int, mixed>|stringcommande_totalise_taxes()
v2.4.0
commande_totalise_taxes([mixed $prix_ht = null ][, mixed $prix_ttc = null ]) : mixed
Parameters
- $prix_ht : mixed = null
- $prix_ttc : mixed = null
filtre_commandes_arrondir_quantite_dist()
Filtre pour utiliser la fonction d'arrondi des quantite
filtre_commandes_arrondir_quantite_dist(int|float $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : int|float
Parameters
- $quantite : int|float
- $objet : string = ''
- $id_objet : int = 0
Tags
Return values
int|floatcommandes_arrondir_quantite()
v2.4.0
commandes_arrondir_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
- $quantite : mixed
- $objet : mixed = ''
- $id_objet : mixed = 0
filtre_commandes_afficher_quantite_descriptif_dist()
Afficher la quantite si differente de 1
filtre_commandes_afficher_quantite_descriptif_dist(int|float $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : string
Parameters
- $quantite : int|float
- $objet : string = ''
- $id_objet : int = 0
Tags
Return values
stringcommandes_afficher_quantite_descriptif()
v2.4.0
commandes_afficher_quantite_descriptif(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
- $quantite : mixed
- $objet : mixed = ''
- $id_objet : mixed = 0
filtre_commandes_afficher_quantite_dist()
Afficher la quantite, en arrondissant eventuellement (par defaut fait juste l'arrondi int natif)
filtre_commandes_afficher_quantite_dist(int|float $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : string
Parameters
- $quantite : int|float
- $objet : string = ''
- $id_objet : int = 0
Tags
Return values
stringcommandes_afficher_quantite()
v2.4.0
commandes_afficher_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
- $quantite : mixed
- $objet : mixed = ''
- $id_objet : mixed = 0
filtre_commandes_afficher_prix_detaille_abbr_dist()
filtre_commandes_afficher_prix_detaille_abbr_dist(mixed $prix_ttc, mixed $quantite, mixed $prix_unit_ht, mixed $reduction, mixed $taxe) : mixed|string
Parameters
- $prix_ttc : mixed
- $quantite : mixed
- $prix_unit_ht : mixed
- $reduction : mixed
- $taxe : mixed
Tags
Return values
mixed|stringcommandes_afficher_prix_detaille_abbr()
v2.4.0
commandes_afficher_prix_detaille_abbr(mixed $prix_ttc, mixed $quantite, mixed $prix_unit_ht, mixed $reduction, mixed $taxe) : mixed
Parameters
- $prix_ttc : mixed
- $quantite : mixed
- $prix_unit_ht : mixed
- $reduction : mixed
- $taxe : mixed
filtre_commandes_afficher_reduction_si_dist()
filtre_commandes_afficher_reduction_si_dist(mixed $reduction) : mixed
Parameters
- $reduction : mixed
commandes_afficher_reduction_si()
v2.4.0
commandes_afficher_reduction_si(mixed $reduction) : mixed
Parameters
- $reduction : mixed
critere_COMMANDES_encours_visiteur_dist()
Critère pour prendre la commande en cours du visiteur, qu'il soit connecté ou non
critere_COMMANDES_encours_visiteur_dist(string $idb, object &$boucles, object $crit) : mixed
Parameters
- $idb : string
- $boucles : object
- $crit : object
Tags
commandes_id_commande_encours_visiteur()
Retourne le numéro de la commande en cours du visiteur, qu'il soit connecté ou non
commandes_id_commande_encours_visiteur() : int
Soit la commande est en session, soit on prend celle dans la db. Nb : il ne peut en théorie y avoir qu'une seule commande en cours par auteur, dans le cas improbable où il y en aurait plusieurs, on prend la plus récente.
Return values
int —Numéro de la commande ou 0 s'il n'y en a pas
generer_commande_infos_client()
La fonction peut-être appellee par la fonction générique generer_objet_info($id_commande, 'commmande', 'infos_client') dans ce cas $ligne_sql_commande est fournie en second argument mais n'est pas utile ici et $cle vaut 'infos_client'
generer_commande_infos_client(int $id_commande[, mixed $ligne_sql_commande = [] ][, string $cle = '' ]) : array<string|int, mixed>|mixed
Parameters
- $id_commande : int
- $ligne_sql_commande : mixed = []
- $cle : string = ''
Return values
array<string|int, mixed>|mixedfiltre_generer_commande_infos_client_dist()
Filtre helper pour utiliser les infos clients dans un squelette
filtre_generer_commande_infos_client_dist(int $id_commande, string $cle) : array<string|int, mixed>|mixed
Parameters
- $id_commande : int
- $cle : string
Return values
array<string|int, mixed>|mixedcreer_commande_encours()
Créer une commande avec le statut `encours` pour le visiteur actuel.
creer_commande_encours([int $id_auteur = 0 ]) : int
On part du principe qu'il ne peut y avoir qu'une seule commande encours
par session,
aussi on supprime de la base toute ancienne commande encours
présente en session avant d'en créer une nouvelle.
L'identifiant de la nouvelle commande est ensuite placé dans la session.
Si le visiteur n'est pas identifie mais connu, on peut passer son id_auteur en argument pour permettre le rattachement de la commande a son compte mais attention dans tous les cas la commande sera associee a la session en cours. C'est utile si par exemple on demande l'email au visiteur dans le processus d'achat mais on veut pas l'obliger a se connecter pour simplifier le workflow : il peut faire tout le processus en restant non connecte, mais la commande sera quand meme rattachee a son compte Et ca permet aussi de faire une commande pour le compte de quelqu'un d'autre sans avoir besoin de ses identifiants (ie payer un abonnement a un ami)
Parameters
- $id_auteur : int = 0
-
permet de preciser l'id_auteur de la session au cas ou le visiteur n'est pas connecte mais connu (par son email qu'il a rentre dans le processus de commande par exemple)
Tags
Return values
int —identifiant SQL de la commande
commandes_supprimer()
Supprimer une ou plusieurs commandes et leurs données associées
commandes_supprimer(int|array<string|int, mixed> $ids_commandes) : bool
La fonction va supprimer :
- les détails des commandes
- les liens entre les commandes et leurs adresses
- les adresses si elles sont devenues orphelines
Parameters
- $ids_commandes : int|array<string|int, mixed>
-
Identifiant d'une commande ou tableau d'identifiants
Tags
Return values
bool —- false si pas d'identifiant de commande transmis
- true sinon
commandes_effacer()
Supprimer des commandes
Alias de commandes_supprimer() pour rétro-compatibilité
commandes_effacer(int|array<string|int, mixed> $ids_commandes) : bool
Parameters
- $ids_commandes : int|array<string|int, mixed>
-
Identifiant d'une commande ou tableau d'identifiants
Tags
Return values
bool —- false si pas d'identifiant de commande transmis
- true sinon
commandes_ajouter_detail()
Ajouter une ligne de detail dans une commande
commandes_ajouter_detail(int $id_commande, array<string|int, mixed> $emplette[, bool $ajouter = true ]) : int
Parameters
- $id_commande : int
- $emplette : array<string|int, mixed>
-
string $objet : type de l'objet ajoute int $id_objet : id de l'objet ajoute float $quantite : quantite ajoutee float $prix_ht : prix_ht pour la ligne considérée si différent du prix par défaut de l'objet (facultatif) float $taxe : taxe pour la ligne considérée (facultatif) float $reduction : reduction (facultatif) string $infos_extras : tableau PHP d'informations quelconques (facultatif)
- $ajouter : bool = true
Return values
intcommandes_supprimer_detail()
Supprimer un ou plusieurs détails d'une commande
commandes_supprimer_detail([int $id_commande = 0 ][, int|array<string|int, mixed> $ids_details = [] ][, bool $supprimer_commande = false ]) : bool
On supprime les détails correspondant à commande dans la table spip_commandes_details
.
Si tous ses détails sont supprimés par l'opération, la commande peut également être supprimée en présence du paramètre adéquat.
Parameters
- $id_commande : int = 0
-
Identifiant de la commande
- $ids_details : int|array<string|int, mixed> = []
-
Identifiant d'un détail ou tableau d'identifiants
- $supprimer_commande : bool = false
-
true pour effacer la commande si elle est vide après l'opération
Tags
Return values
bool —false si pas d'identifiant de commande transmis, ou si pas autorisé à supprimer true sinon
commandes_envoyer_notification()
Envoyer un mail de notification
commandes_envoyer_notification(string $qui, string $id_type, int $id_commande, string $expediteur, array<string|int, mixed> $destinataires) : mixed
- On veut envoyer du html pour que le tableau de commandes soit lisible par le client
- On peut avoir un expediteur specifique
- Mais
notifications_envoyer_mails()
de spip ne peut pas envoyer de mails en html. On ne peut pas non plus y specifier un expediteur. Donc si les plugins notifications_avancees et Facteur sont presents, on prepare un joli mail en html. Sinon un moche en texte.
Parameters
- $qui : string
-
: vendeur ou client
- $id_type : string
- $id_commande : int
- $expediteur : string
- $destinataires : array<string|int, mixed>
Tags
commandes_notifier()
Traitement des notifications par email d'une commande
commandes_notifier([int|string $id_commande = 0 ][, string|null $statut_ancien = null ]) : mixed
Selon les options de configuration et le statut de la commande, des emails seront envoyés au(x) vendeur(s) et optionnellement au client. Nécessite le plugin "Notifications avancées" pour fonctionner. Avec le plugin Facteur, les messages seront au format HTML, sinon au format texte.
Parameters
- $id_commande : int|string = 0
-
Identifiant de la commande
- $statut_ancien : string|null = null
Tags
commandes_appliquer_taxes()
Mettre a jour les taxes d'une commande selon exoneration ou non
commandes_appliquer_taxes(int $id_commande, string $exoneration_raison) : mixed
Parameters
- $id_commande : int
- $exoneration_raison : string
commandes_actualiser_statut_si_commande_envoyee()
Mettre à jour le statut envoye/retour/retour_partiel d'une commande après envois appelee automatiquement au changement de statut de commande a appeler manuellement si on marque des details 'envoye' ou 'retour'
commandes_actualiser_statut_si_commande_envoyee(int $id_commande[, mixed $statut_ancien = null ][, mixed $instituer = true ]) : false|string
Parameters
- $id_commande : int
- $statut_ancien : mixed = null
- $instituer : mixed = true
Return values
false|stringtraiter_notifications_commande()
legacy
traiter_notifications_commande([int $id_commande = 0 ]) : mixed
Parameters
- $id_commande : int = 0
Tags
commandes_lister_paiements_echeances()
Lister un à un les paiements des échéances prévus
commandes_lister_paiements_echeances(array<string|int, mixed> $echeances) : array<string|int, mixed>
Parameters
- $echeances : array<string|int, mixed>
-
Tableau des échéances décrites suivant ce qu'on attend pour les commandes :
array( array('montant' => 40, 'montant_ht' => 33.33, 'nb' => 2), array('montant' => 50), )
Return values
array<string|int, mixed> —Retourne un tableau listant uniquement les montants un par un :
array(array('montant' => 40, 'montant_ht' => 33.33), array('montant' => 40, 'montant_ht' => 33.33), array('montant' => 50, 'montant_ht' => 50))
commandes_lister_montants_echeances()
Lister un à un les montants des échéances prévus idem commandes_lister_paiements_echeances mais retourne uniquement le montant (ttc) pour chaque echeance, et pas un tableau
commandes_lister_montants_echeances(array<string|int, mixed> $echeances) : array<string|int, mixed>
Parameters
- $echeances : array<string|int, mixed>
Return values
array<string|int, mixed> —Retourne un tableau listant uniquement les montants un par un :
array(40, 40, 50)
commandes_nb_echeances_payees()
commandes_nb_echeances_payees(mixed $id_commande) : mixed
Parameters
- $id_commande : mixed
commandes_trouver_prochaine_echeance_desc()
Trouver la prochaine échéance à payer pour une commande
commandes_trouver_prochaine_echeance_desc(int $id_commande[, array<string|int, mixed>|float $echeances = null ][, mixed $ignorer_derniere = false ]) : array<string|int, mixed>|bool
Parameters
- $id_commande : int
-
Identifiant de la commande
- $echeances : array<string|int, mixed>|float = null
-
Montant unique ou tableau décrivant des échéances complexes
- $ignorer_derniere : mixed = false
Return values
array<string|int, mixed>|bool —Retourne la description de la prochaine échéance
commandes_trouver_prochaine_echeance()
commandes_trouver_prochaine_echeance(mixed $id_commande[, mixed $echeances = null ][, bool $ignorer_derniere = false ]) : bool|mixed
Parameters
- $id_commande : mixed
- $echeances : mixed = null
- $ignorer_derniere : bool = false
Return values
bool|mixedinc_commandes_reference_dist()
Génère un numéro unique utilisé pour remplir le champ `reference` lors de la création d'une commande.
inc_commandes_reference_dist(int $id_commande[, int $id_auteur = 0 ]) : string
Parameters
- $id_commande : int
- $id_auteur : int = 0
-
(optionnel) identifiant de l'auteur
Tags
Return values
string —reference de la commande