commandes.php
Fonctions (bis) du plugin Commandes
Tags
Table of Contents
Functions
- 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
Functions
creer_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