Documentation du code de SPIP et de ses plugins

Commandes

Documentation

Table of Contents

Packages

SPIP
Application

Functions

action_abandonner_commande_dist()  : void
Abandonne une commande
action_distribuer_commande_dist()  : mixed
Distribuer une commande : pour chaque ligne de la commande on appelle l'api distribuer si elle est implementee pour l'objet concerne permet les distributions des produits dematerialises : par email, activation abonnement etc.
action_editer_commande_dist()  : array<string|int, mixed>
Point d'entrée d'édition d'une commande
commande_inserer()  : int|bool
Crée une nouvelle commande et retourne son identifiant
commande_modifier()  : mixed|string
Appelle les fonctions de modification d'une commande
commande_instituer()  : mixed|string
Instituer une commande
editer_commande_details()  : void
Fabrique la requête d'institution de la commande
revision_commande()  : mixed|string
Enregistre une modification d'une commande
commande_insert()  : mixed
Crée une nouvelle commande
commande_set()  : mixed
Appelle les fonctions de modification d'une commande
instituer_commande()  : mixed
Modifie des éléments à part que sont l'auteur, la date, le statut
action_instituer_commande()  : void
Change le statut d'une commande
action_lier_commande_dist()  : void
"Lie" une commande à un objet
action_supprimer_commande_dist()  : void
Supprime une commande et ses données associées (détails + adresses)
action_supprimer_detail_commande()  : void
Supprime un détail d'une commande, dans la table `spip_commandes_details`
commandes_declarer_tables_interfaces()  : array<string|int, mixed>
Déclaration des alias de tables et filtres automatiques de champs
commandes_declarer_tables_objets_sql()  : array<string|int, mixed>
Déclaration des objets éditoriaux
commandes_declarer_tables_auxiliaires()  : array<string|int, mixed>
Déclaration de la table de liaison
inc_rechercher_joints_commande_auteur_dist()  : array<string|int, mixed>
Définir la jointure `commande_auteur` qui n'est pas sur `spip_commandes_auteurs`
commande_arrondir_quantite_dist()  : int
Arrondir la quantite d'une ligne de commande, en fonction de ce que permet l'objet par defaut c'est en entier pour tout le monde, mais un plugin peut etendre cela
commande_generer_reference_dist()  : string
Génère un numéro unique utilisé pour remplir le champ `reference` lors de la création d'une commande.
commande_infos_client_dist()  : array<string|int, mixed>
Informations importantes d'une commande dans un tableau normé, extensible dans un pipeline
commandes_normalise_code_pays()  : mixed|string
Passer les code_pays en code alpha 3 si besoin
commande_lier_auteur_dist()  : mixed|string
Remplit le champ `id_auteur` d'une commande
commande_notification_contenu_dist()  : array<string|int, mixed>
Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible
commandes_upgrade()  : void
Fonction d'installation et de mise à jour du plugin Commandes.
commandes_maj_0_7_4()  : mixed
commandes_trouver_id_premier_webmestre()  : int|bool
Retourne l'identifiant du premier webmestre
commandes_vider_tables()  : void
Fonction de désinstallation du plugin Commandes.
commandes_autoriser()  : mixed
Fonction d'appel pour le pipeline
autoriser_commander_dist()  : bool
Autorisation à passer une commande
autoriser_commande_voir_dist()  : bool
Autorisation à voir une commande
autoriser_commande_supprimer_dist()  : bool
Autorisation à supprimer une commande
autoriser_commande_supprimerdetail_dist()  : bool
Autorisation à supprimer un détail d'une commande
autoriser_commande_modifier_dist()  : bool
Autorisation à modifier une commande
autoriser_commande_dater_dist()  : bool
Autorisation à dater une commande
autoriser_commandesdetail_modifier_dist()  : bool
Autorisation à modifier un détail de commande
autoriser_commandesdetail_supprimer_dist()  : bool
Autorisation à supprimer un détail de commande
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
commandes_insert_head_css()  : string
Insertion de la feuille de style CSS sur les pages publiques
commandes_optimiser_base_disparus()  : array<string|int, mixed>
Optimiser la base de donnée en abandonnant toutes les commandes en cours qui sont trop vieilles
commandes_affiche_milieu()  : array<string|int, mixed>
Ajout de contenu sur certaines pages
commandes_accueil_encours()  : array<string|int, mixed>
Ajout de contenu dans la liste des éléments en attente de validation
commandes_affiche_auteurs_interventions()  : array<string|int, mixed>
Ajout de liste sur la vue d'un auteur
commandes_types_coordonnees()  : array<string|int, mixed>
Compléter la liste des types d'adresses du plugin Coordonnées
commandes_bank_dsp2_renseigner_facturation()  : array<string|int, mixed>
Renseigner les infos de facturation liee a une commande
commandes_bank_pre_facturer_reglement()  : array<string|int, mixed>
Avant facturation, remettre encours une commande en attente ou en erreur suite à une première tentative de paiement sinon le modeles/transaction_details renvoie du vide, et la facture et vide (et potentiellement autres soucis de workflow)
commandes_bank_traiter_reglement()  : array<string|int, mixed>
Enregistrer le bon reglement d'une commande liee a une transaction du plugin bank
commandes_trig_bank_reglement_en_attente()  : array<string|int, mixed>
Enregistrer le reglement en attente d'une commande liee a une transaction du plugin bank (cas du reglement par cheque par exemple)
commandes_trig_bank_reglement_en_echec()  : array<string|int, mixed>
Enregistrer le reglement en echec d'une commande liee a une transaction du plugin bank (cas du reglement annule ou du refus de carte etc)
commandes_bank_abos_decrire_echeance()  : mixed
Déclarer les échéances à la banque
commandes_bank_abos_activer_abonnement()  : mixed
Lier une commande à un identifiant bancaire lorsqu'un prélèvement bancaire est bien validé
commandes_bank_abos_preparer_echeance()  : mixed
Créer la transaction correspondant à la prochaine échéance d'une commande
commandes_bank_abos_resilier()  : mixed
Mettre en erreur une commande dont le prélèvement automatique aurait échoué on repere ce cas via le flag erreur=true envoyer lors de la resiliation
commandes_pre_edition()  : mixed
Si le plugin Bank est activé, un changement de statut vers Payée redirige vers la page de paiement de la transaction
formulaires_configurer_commandes_saisies_dist()  : array<string|int, mixed>
Description des saisies du formulaire de configuration
formulaires_dater_commande_charger_dist()  : array<string|int, mixed>
Chargement du formulaire de datation d'une commande
formulaires_dater_commande_identifier_dist()  : string
Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
formulaires_dater_commande_verifier()  : array<string|int, mixed>
Vérifications du formulaire de datation d'une commande
formulaires_dater_commande_traiter_dist()  : array<string|int, mixed>
Traitement du formulaire de datation d'une commande
formulaires_editer_commande_saisies()  : array<string|int, mixed>
Description des saisies du formulaire d'édition d'une commande
formulaires_editer_commande_identifier_dist()  : string
Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
formulaires_editer_commande_charger()  : array<string|int, mixed>
Chargement du formulaire d'édition d'une commande
formulaires_editer_commande_verifier()  : array<string|int, mixed>
Vérifications du formulaire d'édition d'une commande
formulaires_editer_commande_traiter()  : array<string|int, mixed>
Traitement du formulaire d'édition d'une commande
formulaires_editer_commandes_detail_saisies()  : array<string|int, mixed>
Description des saisies du formulaire d'édition d'un détail de commande
formulaires_editer_commande_identifier_dist()  : string
Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
formulaires_editer_commandes_detail_charger()  : array<string|int, mixed>
Chargement du formulaire d'édition d'un détail de commande
formulaires_editer_commandes_detail_verifier()  : array<string|int, mixed>
Vérifications du formulaire d'édition d'un détail de commande
formulaires_editer_commandes_detail_traiter()  : array<string|int, mixed>
Traitement du formulaire d'édition d'un détail de commande
formulaires_lier_commande_charger_dist()  : array<string|int, mixed>
Chargement du formulaire de "liaison" d'une commande
formulaires_lier_commande_verifier_dist()  : array<string|int, mixed>
Vérifications du formulaire de "liaison" d'une commande
formulaires_lier_commande_traiter_dist()  : array<string|int, mixed>
Traitement du formulaire de "liaison" d'une commande
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()  : void
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
inc_commandes_arrondir_quantite_dist()  : float
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.
inc_lier_commande_auteur_dist()  : mixed|string
Remplit le champ `id_auteur` d'une commande
notifications_commande_client_destinataires_dist()  : array<string|int, mixed>
Détermine le client destinataire des notifications d'une commande
notifications_commande_client_contenu_dist()  : array<string|int, mixed>
Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible
notifications_commande_vendeur_destinataires_dist()  : array<string|int, mixed>
Détermine le ou les vendeurs destinataires des notifications d'une commande
notifications_commande_vendeur_contenu_dist()  : array<string|int, mixed>
Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible
prix_commande_ht_dist()  : float
Permet d'obtenir le prix HT d'une commande.
prix_commande_dist()  : float
Permet d'obtenir le prix final TTC d'une commande
prix_commandes_detail_ht_dist()  : float
Permet d'obtenir le prix HT d'un détail d'une commande.
prix_commandes_detail_dist()  : float
Permet d'obtenir le prix final TTC d'un détail d'une commande

Functions

action_abandonner_commande_dist()

Abandonne une commande

action_abandonner_commande_dist([mixed $id_commande = null ]) : void
Parameters
$id_commande : mixed = null
Tags
note

appel conventionnel par abandonner_transaction

example
#URL_ACTION_AUTEUR{supprimer_commande,#ID_COMMANDE,#SELF}

action_distribuer_commande_dist()

Distribuer une commande : pour chaque ligne de la commande on appelle l'api distribuer si elle est implementee pour l'objet concerne permet les distributions des produits dematerialises : par email, activation abonnement etc.

action_distribuer_commande_dist(int $id_commande[, mixed $statut_ancien = null ]) : mixed

le statut du detail doit etre passe a 'envoye' apres distribution, pour ne pas risquer une double distribution mais on ne gere pas ici, c'est a chaque fonction distribuer de decider (ie cas des retour ou exotiques)

Parameters
$id_commande : int
$statut_ancien : mixed = null

action_editer_commande_dist()

Point d'entrée d'édition d'une commande

action_editer_commande_dist([int $id_commande = null ]) : array<string|int, mixed>

On ne peut entrer que par un appel en fournissant $id_commande mais pas pas une url

Parameters
$id_commande : int = null

Identifiant de la commande

Tags
uses
commande_inserer()
uses
commande_modifier()
Return values
array<string|int, mixed>

Identifiant de la commande et message d'erreur eventuel

commande_inserer()

Crée une nouvelle commande et retourne son identifiant

commande_inserer([null $id_parent = null ][, array<string|int, mixed> $champs = [] ]) : int|bool

Les notifications par email sont traitées après l'insertion en base et l'appel des pipelines

Parameters
$id_parent : null = null

Paramètre inutilisé, présent pour compatibilité avec api modifier objet

$champs : array<string|int, mixed> = []

Couples des champs/valeurs par défaut

Tags
uses
commandes_notifier()
pipeline_appel

pre_insertion

pipeline_appel

post_insertion

used-by
action_editer_commande_dist()
used-by
commande_insert()
used-by
creer_commande_encours()
Return values
int|bool
  • Identifiant de la commande si succès
  • False en cas d'erreur

commande_modifier()

Appelle les fonctions de modification d'une commande

commande_modifier(int $id_commande[, array<string|int, mixed>|null $set = null ]) : mixed|string
Parameters
$id_commande : int

Identifiant de la commande

$set : array<string|int, mixed>|null = null

Couples des champs/valeurs à modifier

Tags
uses
commande_instituer()
uses
objet_modifier_champs()
used-by
action_editer_commande_dist()
used-by
revision_commande()
used-by
commande_set()
used-by
commande_lier_auteur_dist()
Return values
mixed|string

$err Message d'erreur éventuel

commande_instituer()

Instituer une commande

commande_instituer(int $id_commande, array<string|int, mixed> $c[, bool $calcul_details = true ]) : mixed|string

Modifie des éléments à part que sont l'auteur, la date, le statut

Parameters
$id_commande : int

Identifiant de la commande

$c : array<string|int, mixed>

Couples champ/valeur à modifier

$calcul_details : bool = true

(?) Inutilisé

Tags
uses
editer_commande_details()
uses
commandes_notifier()
pipeline_appel

pre_edition

pipeline_appel

post_edition

used-by
commande_modifier()
used-by
instituer_commande()
used-by
action_instituer_commande()
Return values
mixed|string

editer_commande_details()

Fabrique la requête d'institution de la commande

editer_commande_details(int $id_commande, array<string|int, mixed> $champs[, bool $cond = true ]) : void

Modifie la commande en calculant les dépendances des détails

Parameters
$id_commande : int

Identifiant de la commande

$champs : array<string|int, mixed>

Couples des champs/valeurs à modifier

$cond : bool = true

(?) inutilisé

Tags
used-by
commande_instituer()

revision_commande()

Enregistre une modification d'une commande

revision_commande(int $id_commande[, array<string|int, mixed> $c = false ]) : mixed|string
Parameters
$id_commande : int

Identifiant de la commande

$c : array<string|int, mixed> = false

Couples des champs/valeurs modifiées

Tags
uses
commande_modifier()
deprecated

Alias de 'commande_modifier' pour rétro-compatibilité

Return values
mixed|string

commande_insert()

Crée une nouvelle commande

commande_insert([array<string|int, mixed> $champs = [] ]) : mixed
Parameters
$champs : array<string|int, mixed> = []

Couples des champs/valeurs par défaut

Tags
deprecated

Alias de 'commande_inserer' pour rétro-compatibilité

uses
commande_inserer()

commande_set()

Appelle les fonctions de modification d'une commande

commande_set(int $id_commande[, array<string|int, mixed>|null $set = null ]) : mixed
Parameters
$id_commande : int

Identifiant de la commande

$set : array<string|int, mixed>|null = null

Couples des champs/valeurs à modifier

Tags
uses
commande_modifier()
deprecated

Alias de 'commande_modifier' pour rétro-compatibilité

instituer_commande()

Modifie des éléments à part que sont l'auteur, la date, le statut

instituer_commande(int $id_commande, array<string|int, mixed> $c[, bool $calcul_details = true ]) : mixed
Parameters
$id_commande : int

Identifiant de la commande

$c : array<string|int, mixed>

Couples des champs/valeurs à modifier

$calcul_details : bool = true

(?) Inutilisé

Tags
deprecated

Alias de 'commande_instituer' pour rétro-compatibilité

uses
commande_instituer()

action_instituer_commande()

Change le statut d'une commande

action_instituer_commande([ $arg = null ]) : void
Parameters
$arg : = null

string arguments séparés par un charactère non alphanumérique

  • id_commande : identifiant de la commande
  • statut : nouveau statut
Tags
example
#URL_ACTION_AUTEUR{instituer_commande,#ID_COMMANDE-envoye,#SELF}
uses
commande_instituer()

action_lier_commande_dist()

"Lie" une commande à un objet

action_lier_commande_dist([ $arg = null ]) : void

Attention : il n'y a pas de table de liens spip_commandes_liens, il ne s'agit donc pas à proprement parler d'associer une commande avec un objet. L'action fait appel à la fonction lier_commande_{objet} s'il y a un fichier éponyme dans /inc. Si l'objet est un auteur, la fonction appelée remplit le champ id_auteur dans la table spip_commandes.

Parameters
$arg : = null

string arguments séparés par un slash /

  • id_commande : identifiant de la commande
  • id_objet : identifiant de l'objet
  • objet : type d'objet
Tags
example
#URL_ACTION_AUTEUR{lier_commande,#ID_COMMANDE/#ID_AUTEUR/auteur,#SELF}

action_supprimer_commande_dist()

Supprime une commande et ses données associées (détails + adresses)

action_supprimer_commande_dist([string $id_commande = null ]) : void
Parameters
$id_commande : string = null

id_commande : identifiant de la commande

Tags
example
#URL_ACTION_AUTEUR{supprimer_commande,#ID_COMMANDE,#SELF}
uses
commandes_supprimer()

action_supprimer_detail_commande()

Supprime un détail d'une commande, dans la table `spip_commandes_details`

action_supprimer_detail_commande([ $arg = null ]) : void
Parameters
$arg : = null

string arguments séparés par un charactère non alphanumérique

  • id_commande : identifiant de la commande
  • id_commandes_details : identifiant du détail
Tags
example
#URL_ACTION_AUTEUR{supprimer_detail_commande,#ID_COMMANDE-#ID_COMMANDES_DETAIL,#SELF}
uses
commandes_supprimer_detail()

commandes_declarer_tables_interfaces()

Déclaration des alias de tables et filtres automatiques de champs

commandes_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Parameters
$interfaces : array<string|int, mixed>

Déclarations d'interface pour le compilateur

Tags
pipeline

declarer_tables_interfaces

Return values
array<string|int, mixed>

Déclarations d'interface pour le compilateur

commandes_declarer_tables_objets_sql()

Déclaration des objets éditoriaux

commandes_declarer_tables_objets_sql(array<string|int, mixed> $tables) : array<string|int, mixed>
Parameters
$tables : array<string|int, mixed>

Description des tables

Tags
pipeline

declarer_tables_objets_sql

Return values
array<string|int, mixed>

Description complétée des tables

commandes_declarer_tables_auxiliaires()

Déclaration de la table de liaison

commandes_declarer_tables_auxiliaires(array<string|int, mixed> $tables_auxiliaires) : array<string|int, mixed>
Parameters
$tables_auxiliaires : array<string|int, mixed>

Taableau contenant les tables auxiliaires

Tags
pipeline

declarer_tables_auxiliaires

Return values
array<string|int, mixed>

Retourne le tableau des tables auxiliaires possiblement modifié

inc_rechercher_joints_commande_auteur_dist()

Définir la jointure `commande_auteur` qui n'est pas sur `spip_commandes_auteurs`

inc_rechercher_joints_commande_auteur_dist(array<string|int, mixed> $table, array<string|int, mixed> $table_liee, int $ids, string $serveur) : array<string|int, mixed>
Parameters
$table : array<string|int, mixed>
$table_liee : array<string|int, mixed>
$ids : int
$serveur : string
Tags
note

cf. inc/rechercher.php

Return values
array<string|int, mixed>

commande_arrondir_quantite_dist()

Arrondir la quantite d'une ligne de commande, en fonction de ce que permet l'objet par defaut c'est en entier pour tout le monde, mais un plugin peut etendre cela

commande_arrondir_quantite_dist( $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : int
Parameters
$quantite :
$objet : string = ''
$id_objet : int = 0
Return values
int

Retourne la quantité arrondie

commande_generer_reference_dist()

Génère un numéro unique utilisé pour remplir le champ `reference` lors de la création d'une commande.

commande_generer_reference_dist(int $id_commande[, int $id_auteur = 0 ]) : string

Le numéro retourné est le nombre de secondes écoulées depuis le 1er janvier 1970

Parameters
$id_commande : int
$id_auteur : int = 0

(optionnel) identifiant de l'auteur

Tags
example
$fonction_reference = charger_fonction('generer_reference', 'commande/');
used-by
inc_commandes_reference_dist()
Return values
string

reference de la commande

commande_infos_client_dist()

Informations importantes d'une commande dans un tableau normé, extensible dans un pipeline

commande_infos_client_dist(int $id_commande[, bool $forcer_calcul = false ]) : array<string|int, mixed>

Afin de garder une compatibilité avec les anciens comportements,la fonction recherche déjà les informations en plusieurs endroits, notamment pour les coordonnées.

Parameters
$id_commande : int

Identifiant de la commande

$forcer_calcul : bool = false

Si vrai, force la recherche de toutes les infos même si ça avait déjà été fait dans le même hit

Return values
array<string|int, mixed>

Retourne un tableau avec les clés possibles suivantes, optionnelles suivant ce qui est trouvé :

  • int id_auteur : compte utilisateur de la personne qui a fait la commande
  • string nom : nom complet de la personne ou orga qui a fait la commande
  • array livraison
    • string nom : nom complet de la personne à qui livrer
    • string organisation : nom complet de l'organisation à qui livrer
    • array adresse
      • string voie
      • string complement
      • string code_postal
      • string ville
      • string localite_dependante
      • string zone_administrative
      • string pays : code international
    • string telephone : numero de téléphone pour la livraison
  • array facturation
    • string nom : nom complet de la personne à qui facturer
    • string organisation : nom complet de l'organisation à qui facturer
    • array adresse
      • string voie
      • string complement
      • string code_postal
      • string ville
      • string localite_dependante
      • string zone_administrative
      • string pays : code international
    • string no_tva_intra : numero de TVA intracommunautaire utilisé pour la facturation
    • string telephone : numero de téléphone pour la facturation (contact administratif)

commandes_normalise_code_pays()

Passer les code_pays en code alpha 3 si besoin

commandes_normalise_code_pays( $code_pays) : mixed|string
Parameters
$code_pays :
Return values
mixed|string

commande_lier_auteur_dist()

Remplit le champ `id_auteur` d'une commande

commande_lier_auteur_dist(int $id_commande, int $id_auteur) : mixed|string
Parameters
$id_commande : int

identifiant de la commande

$id_auteur : int

identifiant de l'auteur

Tags
uses
commande_modifier()
used-by
inc_lier_commande_auteur_dist()
Return values
mixed|string

$err Message d'erreur éventuel

commande_notification_contenu_dist()

Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible

commande_notification_contenu_dist(string $quoi, int $id, array<string|int, mixed> $options, array<string|int, mixed> $destinataire, string $mode[, mixed $contexte = null ]) : array<string|int, mixed>

Cherche dans l'ordre un squelette {$quoi}{$statut}depuis{$statut_ancien} {$quoi}{$statut} {$quoi}depuis{$statut_ancien} {$quoi} pour chaque partie ['', '_court', '_html']

Si on en trouve un, on renseigne la valeur, sinon on laisse vide et notifications_envoyer() finira le traitement

Parameters
$quoi : string
$id : int
$options : array<string|int, mixed>
$destinataire : array<string|int, mixed>
$mode : string
$contexte : mixed = null
Tags
see
notifications_envoyer()
used-by
notifications_commande_client_contenu_dist()
used-by
notifications_commande_vendeur_contenu_dist()
Return values
array<string|int, mixed>

commandes_upgrade()

Fonction d'installation et de mise à jour du plugin Commandes.

commandes_upgrade(string $nom_meta_base_version, string $version_cible) : void
Parameters
$nom_meta_base_version : string

Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP

$version_cible : string

Version du schéma de données dans ce plugin (déclaré dans paquet.xml)

Tags
uses
commandes_id_premier_webmestre()
uses
commandes_lister_statuts()

commandes_trouver_id_premier_webmestre()

Retourne l'identifiant du premier webmestre

commandes_trouver_id_premier_webmestre() : int|bool
Return values
int|bool

identifiant du premier webmestre false sinon (improbable...)

commandes_vider_tables()

Fonction de désinstallation du plugin Commandes.

commandes_vider_tables(string $nom_meta_base_version) : void
Parameters
$nom_meta_base_version : string

Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP

autoriser_commander_dist()

Autorisation à passer une commande

autoriser_commander_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool

Par defaut il faut que le client soit identifie, cad id_auteur>0 Pour le reste (existence d'un contact lie ou autre moyen de renseigner le profil), c'est a la discretion des applications

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commande_voir_dist()

Autorisation à voir une commande

autoriser_commande_voir_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool
  • l'auteur de la commande
  • admin (mais pas restreint)
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commande_supprimer_dist()

Autorisation à supprimer une commande

autoriser_commande_supprimer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool
  • statut encours
  • admin (mais pas restreint) ou auteur de la commande
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commande_supprimerdetail_dist()

Autorisation à supprimer un détail d'une commande

autoriser_commande_supprimerdetail_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool
  • par défaut la même chose que pour modifier la commande
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commande_modifier_dist()

Autorisation à modifier une commande

autoriser_commande_modifier_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool
  • l'auteur de la commande si celle-ci est encore "encours"
  • sinon admin (mais pas restreint)
Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commande_dater_dist()

Autorisation à dater une commande

autoriser_commande_dater_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool

Idem autorisation modifier

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commandesdetail_modifier_dist()

Autorisation à modifier un détail de commande

autoriser_commandesdetail_modifier_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool

Pouvoir modifier la commande

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

autoriser_commandesdetail_supprimer_dist()

Autorisation à supprimer un détail de commande

autoriser_commandesdetail_supprimer_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opts) : bool

Pouvoir modifier la commande

Parameters
$faire : string

Action demandée

$type : string

Type d'objet sur lequel appliquer l'action

$id : int

Identifiant de la commande

$qui : array<string|int, mixed>

Description de l'auteur demandant l'autorisation

$opts : array<string|int, mixed>

Options de cette autorisation

Return values
bool

true s'il a le droit, false sinon

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
string

commandes_hash()

commandes_hash(mixed $id_commande) : mixed
Parameters
$id_commande : mixed
Tags
deprecated

v2.4.0

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
filtre
used-by
commandes_upgrade()
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
filtre
Return values
array<string|int, mixed>|string

commande_totalise_taxes()

commande_totalise_taxes([mixed $prix_ht = null ][, mixed $prix_ttc = null ]) : mixed
Parameters
$prix_ht : mixed = null
$prix_ttc : mixed = null
Tags
deprecated

v2.4.0

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
filtre
Return values
int|float

commandes_arrondir_quantite()

commandes_arrondir_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
$quantite : mixed
$objet : mixed = ''
$id_objet : mixed = 0
Tags
deprecated

v2.4.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
filtre
Return values
string

commandes_afficher_quantite_descriptif()

commandes_afficher_quantite_descriptif(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
$quantite : mixed
$objet : mixed = ''
$id_objet : mixed = 0
Tags
deprecated

v2.4.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
filtre
Return values
string

commandes_afficher_quantite()

commandes_afficher_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Parameters
$quantite : mixed
$objet : mixed = ''
$id_objet : mixed = 0
Tags
deprecated

v2.4.0

filtre_commandes_afficher_prix_detaille_abbr_dist()

filtre_commandes_afficher_prix_detaille_abbr_dist( $prix_ttc,  $quantite,  $prix_unit_ht,  $reduction,  $taxe) : mixed|string
Parameters
$prix_ttc :
$quantite :
$prix_unit_ht :
$reduction :
$taxe :
Tags
filtre
Return values
mixed|string

commandes_afficher_prix_detaille_abbr()

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
Tags
deprecated

v2.4.0

filtre_commandes_afficher_reduction_si_dist()

filtre_commandes_afficher_reduction_si_dist(mixed $reduction) : mixed
Parameters
$reduction : mixed

commandes_afficher_reduction_si()

commandes_afficher_reduction_si(mixed $reduction) : mixed
Parameters
$reduction : mixed
Tags
deprecated

v2.4.0

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
example

<BOUCLE_commande(COMMANDES) {encours_visiteur}>

uses
commandes_calculer_critere_encours_visiteur()

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>|mixed

filtre_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>|mixed

commandes_insert_head_css()

Insertion de la feuille de style CSS sur les pages publiques

commandes_insert_head_css(string $flux) : string
Parameters
$flux : string

Données du pipeline

Tags
pipeline

insert_head_css

Return values
string

Données du pipeline

commandes_optimiser_base_disparus()

Optimiser la base de donnée en abandonnant toutes les commandes en cours qui sont trop vieilles

commandes_optimiser_base_disparus(array<string|int, mixed> $flux) : array<string|int, mixed>

Le délai de "péremption" est défini dans les options de configuration du plugin. Par défaut, c'est 24h

Parameters
$flux : array<string|int, mixed>

Données du pipeline

Tags
pipeline

optimiser_base_disparus

Return values
array<string|int, mixed>

Données du pipeline

commandes_affiche_milieu()

Ajout de contenu sur certaines pages

commandes_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
  • Formulaires pour modifier les dates sur la fiche d'une commande
Parameters
$flux : array<string|int, mixed>

Données du pipeline

Tags
pipeline

affiche_milieu

Return values
array<string|int, mixed>

Données du pipeline

commandes_accueil_encours()

Ajout de contenu dans la liste des éléments en attente de validation

commandes_accueil_encours(array<string|int, mixed> $flux) : array<string|int, mixed>
  • Liste des commandes aux statuts définis comme "actifs" dans les options de configuration
Parameters
$flux : array<string|int, mixed>

Données du pipeline

Tags
pipeline

accueil_encours

Return values
array<string|int, mixed>

Données du pipeline

commandes_affiche_auteurs_interventions()

Ajout de liste sur la vue d'un auteur

commandes_affiche_auteurs_interventions(array<string|int, mixed> $flux) : array<string|int, mixed>
  • Liste des commandes de l'auteur
Parameters
$flux : array<string|int, mixed>

Données du pipeline

Tags
pipeline

affiche_auteurs_interventions

Return values
array<string|int, mixed>

Données du pipeline

commandes_types_coordonnees()

Compléter la liste des types d'adresses du plugin Coordonnées

commandes_types_coordonnees(array<string|int, mixed> $liste) : array<string|int, mixed>

Ajout de 2 types d'adresses : facturation et livraison

Parameters
$liste : array<string|int, mixed>

Données du pipeline

Tags
pipeline

types_coordonnees

Return values
array<string|int, mixed>

Données du pipeline

commandes_bank_dsp2_renseigner_facturation()

Renseigner les infos de facturation liee a une commande

commandes_bank_dsp2_renseigner_facturation(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

mixed

commandes_bank_pre_facturer_reglement()

Avant facturation, remettre encours une commande en attente ou en erreur suite à une première tentative de paiement sinon le modeles/transaction_details renvoie du vide, et la facture et vide (et potentiellement autres soucis de workflow)

commandes_bank_pre_facturer_reglement(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Return values
array<string|int, mixed>

commandes_bank_traiter_reglement()

Enregistrer le bon reglement d'une commande liee a une transaction du plugin bank

commandes_bank_traiter_reglement(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Tags
pipeline

bank_traiter_reglement

Return values
array<string|int, mixed>

mixed

commandes_trig_bank_reglement_en_attente()

Enregistrer le reglement en attente d'une commande liee a une transaction du plugin bank (cas du reglement par cheque par exemple)

commandes_trig_bank_reglement_en_attente(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Tags
pipeline

trig_bank_reglement_en_attente

Return values
array<string|int, mixed>

mixed

commandes_trig_bank_reglement_en_echec()

Enregistrer le reglement en echec d'une commande liee a une transaction du plugin bank (cas du reglement annule ou du refus de carte etc)

commandes_trig_bank_reglement_en_echec(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>
Tags
pipeline

trig_bank_reglement_en_echec

Return values
array<string|int, mixed>

mixed

commandes_bank_abos_decrire_echeance()

Déclarer les échéances à la banque

commandes_bank_abos_decrire_echeance(mixed $flux) : mixed
Parameters
$flux : mixed
Tags
pipeline

bank_abos_decrire_echeance

commandes_bank_abos_activer_abonnement()

Lier une commande à un identifiant bancaire lorsqu'un prélèvement bancaire est bien validé

commandes_bank_abos_activer_abonnement(mixed $flux) : mixed
Parameters
$flux : mixed
Tags
pipeline

bank_abos_activer_abonnement

commandes_bank_abos_preparer_echeance()

Créer la transaction correspondant à la prochaine échéance d'une commande

commandes_bank_abos_preparer_echeance(mixed $flux) : mixed
Parameters
$flux : mixed
Tags
pipeline

bank_abos_preparer_echeance

commandes_bank_abos_resilier()

Mettre en erreur une commande dont le prélèvement automatique aurait échoué on repere ce cas via le flag erreur=true envoyer lors de la resiliation

commandes_bank_abos_resilier(mixed $flux) : mixed
Parameters
$flux : mixed
Tags
pipeline

bank_abos_resilier

commandes_pre_edition()

Si le plugin Bank est activé, un changement de statut vers Payée redirige vers la page de paiement de la transaction

commandes_pre_edition(mixed $flux) : mixed
Parameters
$flux : mixed
Tags
pipeline

pre_edition

formulaires_configurer_commandes_saisies_dist()

Description des saisies du formulaire de configuration

formulaires_configurer_commandes_saisies_dist() : array<string|int, mixed>
Return values
array<string|int, mixed>

Description des saisies

formulaires_dater_commande_charger_dist()

Chargement du formulaire de datation d'une commande

formulaires_dater_commande_charger_dist(int $id_commande[, string $type_date = 'creation' ][, string $retour = '' ]) : array<string|int, mixed>

Déclarer les champs postés et y intégrer les valeurs par défaut

Parameters
$id_commande : int

Identifiant de la commande

$type_date : string = 'creation'

creation|paiement|envoi

$retour : string = ''

Adresse de redirection

Return values
array<string|int, mixed>

Environnement du formulaire

formulaires_dater_commande_identifier_dist()

Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité

formulaires_dater_commande_identifier_dist(int $id_commande[, string $type_date = 'creation' ][, string $retour = '' ]) : string
Parameters
$id_commande : int

Identifiant de la commande

$type_date : string = 'creation'

creation|paiement|envoi

$retour : string = ''

Adresse de redirection

Return values
string

Hash du formulaire

formulaires_dater_commande_verifier()

Vérifications du formulaire de datation d'une commande

formulaires_dater_commande_verifier(int $id_commande[, string $type_date = 'creation' ][, string $retour = '' ]) : array<string|int, mixed>

Vérifier les champs postés et signaler d'éventuelles erreurs

Parameters
$id_commande : int

Identifiant de la commande

$type_date : string = 'creation'

creation|paiement|envoi

$retour : string = ''

Adresse de redirection

Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_dater_commande_traiter_dist()

Traitement du formulaire de datation d'une commande

formulaires_dater_commande_traiter_dist(int $id_commande[, string $type_date = 'creation' ][, string $retour = '' ]) : array<string|int, mixed>

Traiter les champs postés

Parameters
$id_commande : int

Identifiant de la commande

$type_date : string = 'creation'

creation|paiement|envoi

$retour : string = ''

Adresse de redirection

Return values
array<string|int, mixed>

formulaires_editer_commande_saisies()

Description des saisies du formulaire d'édition d'une commande

formulaires_editer_commande_saisies([int|string $id_commande = 'new' ][, string $retour = '' ]) : array<string|int, mixed>
Parameters
$id_commande : int|string = 'new'

Identifiant du commande. 'new' pour une nouvelle commande.

$retour : string = ''

URL de redirection après le traitement

Return values
array<string|int, mixed>

Description des saisies

formulaires_editer_commande_identifier_dist()

Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité

formulaires_editer_commande_identifier_dist([int|string $id_commande = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : string
Parameters
$id_commande : int|string = 'new'

Identifiant du commande. 'new' pour une nouvelle commande.

$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Return values
string

Hash du formulaire

formulaires_editer_commande_charger()

Chargement du formulaire d'édition d'une commande

formulaires_editer_commande_charger([int|string $id_commande = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Déclarer les champs postés et y intégrer les valeurs par défaut

Parameters
$id_commande : int|string = 'new'

Identifiant du commande. 'new' pour une nouvelle commande.

$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_charger()
Return values
array<string|int, mixed>

Environnement du formulaire

formulaires_editer_commande_verifier()

Vérifications du formulaire d'édition d'une commande

formulaires_editer_commande_verifier([int|string $id_commande = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Vérifier les champs postés et signaler d'éventuelles erreurs

Parameters
$id_commande : int|string = 'new'

Identifiant du commande. 'new' pour une nouvelle commande.

$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_verifier()
Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_editer_commande_traiter()

Traitement du formulaire d'édition d'une commande

formulaires_editer_commande_traiter([int|string $id_commande = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Traiter les champs postés

Parameters
$id_commande : int|string = 'new'

Identifiant du commande. 'new' pour une nouvelle commande.

$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_traiter()
Return values
array<string|int, mixed>

Retours des traitements

formulaires_editer_commandes_detail_saisies()

Description des saisies du formulaire d'édition d'un détail de commande

formulaires_editer_commandes_detail_saisies([mixed $id_commandes_detail = 'new' ][, string $retour = '' ]) : array<string|int, mixed>
Parameters
$id_commandes_detail : mixed = 'new'
$retour : string = ''

URL de redirection après le traitement

Return values
array<string|int, mixed>

Description des saisies

formulaires_editer_commande_identifier_dist()

Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité

formulaires_editer_commande_identifier_dist([mixed $id_commandes_detail = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : string
Parameters
$id_commandes_detail : mixed = 'new'
$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Return values
string

Hash du formulaire

formulaires_editer_commandes_detail_charger()

Chargement du formulaire d'édition d'un détail de commande

formulaires_editer_commandes_detail_charger([mixed $id_commandes_detail = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Déclarer les champs postés et y intégrer les valeurs par défaut

Parameters
$id_commandes_detail : mixed = 'new'
$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_charger()
Return values
array<string|int, mixed>

Environnement du formulaire

formulaires_editer_commandes_detail_verifier()

Vérifications du formulaire d'édition d'un détail de commande

formulaires_editer_commandes_detail_verifier([mixed $id_commandes_detail = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Vérifier les champs postés et signaler d'éventuelles erreurs

Parameters
$id_commandes_detail : mixed = 'new'
$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_verifier()
Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_editer_commandes_detail_traiter()

Traitement du formulaire d'édition d'un détail de commande

formulaires_editer_commandes_detail_traiter([mixed $id_commandes_detail = 'new' ][, string $retour = '' ][, int $lier_trad = 0 ][, string $config_fonc = '' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Traiter les champs postés

Parameters
$id_commandes_detail : mixed = 'new'
$retour : string = ''

URL de redirection après le traitement

$lier_trad : int = 0

Identifiant éventuel d'un commande source d'une traduction

$config_fonc : string = ''

Nom de la fonction ajoutant des configurations particulières au formulaire

$row : array<string|int, mixed> = []

Valeurs de la ligne SQL du commande, si connu

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés du formulaire.

Tags
uses
formulaires_editer_objet_traiter()
Return values
array<string|int, mixed>

Retours des traitements

formulaires_lier_commande_charger_dist()

Chargement du formulaire de "liaison" d'une commande

formulaires_lier_commande_charger_dist(int|string $id_commande, string $objet[, int|string $id_objet = null ][, string $redirect = '' ]) : array<string|int, mixed>

Déclarer les champs postés et y intégrer les valeurs par défaut

Parameters
$id_commande : int|string

Identifiant du commande.

$objet : string

Identifiant du commande.

$id_objet : int|string = null

Identifiant de l'objet

$redirect : string = ''

URL de redirection après le traitement

Return values
array<string|int, mixed>

Environnement du formulaire

formulaires_lier_commande_verifier_dist()

Vérifications du formulaire de "liaison" d'une commande

formulaires_lier_commande_verifier_dist(int|string $id_commande, string $objet[, int|string $id_objet = null ][, string $redirect = '' ]) : array<string|int, mixed>

Vérifier les champs postés et signaler d'éventuelles erreurs

Parameters
$id_commande : int|string

Identifiant du commande.

$objet : string

Identifiant du commande.

$id_objet : int|string = null

Identifiant de l'objet

$redirect : string = ''

URL de redirection après le traitement

Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_lier_commande_traiter_dist()

Traitement du formulaire de "liaison" d'une commande

formulaires_lier_commande_traiter_dist(int|string $id_commande, string $objet[, int|string $id_objet = null ][, string $redirect = '' ]) : array<string|int, mixed>

Traiter les champs postés

Parameters
$id_commande : int|string

Identifiant du commande.

$objet : string

Identifiant du commande.

$id_objet : int|string = null

Identifiant de l'objet

$redirect : string = ''

URL de redirection après le traitement

Return values
array<string|int, mixed>

Retours des traitements

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
uses
commandes_reference()
uses
commande_inserer()
Return values
int

$id_commande 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
used-by
action_supprimer_commande_dist()
used-by
commandes_supprimer_detail()
Return values
bool
  • false si pas d'identifiant de commande transmis
  • true sinon

commandes_effacer()

Supprimer des commandes

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
deprecated

Alias de commandes_supprimer() pour rétro-compatibilité

see
commandes_supprimer()
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>

objet : type de l'objet ajoute id_objet : id de l'objet ajoute quantite : quantite ajoutee infos_extras : tableau PHP d'informations quelconques

$ajouter : bool = true
Return values
int

commandes_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
uses
commandes_supprimer()
used-by
action_supprimer_detail_commande()
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
deprecated
see
commandes_notifier()

commandes_notifier()

Traitement des notifications par email d'une commande

commandes_notifier([int|string $id_commande = 0 ][, string|null $statut_ancien = null ]) : void

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
uses
notifications()
used-by
commande_inserer()
used-by
commande_instituer()
used-by
traiter_notifications_commande()

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|string

traiter_notifications_commande()

legacy

traiter_notifications_commande([int $id_commande = 0 ]) : mixed
Parameters
$id_commande : int = 0
Tags
uses
commandes_notifier()

inc_commandes_arrondir_quantite_dist()

inc_commandes_arrondir_quantite_dist(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : float
Parameters
$quantite : mixed
$objet : mixed = ''
$id_objet : mixed = 0
Tags
deprecated
uses
commande_arrondir_quantite_dist()
Return values
float

Retourne la quantité arrondie

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>
Tags
deprecated
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( $id_commande[, null $echeances = null ][, bool $ignorer_derniere = false ]) : bool|mixed
Parameters
$id_commande :
$echeances : null = null
$ignorer_derniere : bool = false
Tags
deprecated
Return values
bool|mixed

inc_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
deprecated
uses
commande_generer_reference_dist()
Return values
string

reference de la commande

inc_lier_commande_auteur_dist()

Remplit le champ `id_auteur` d'une commande

inc_lier_commande_auteur_dist(int $id_commande, int $id_auteur) : mixed|string
Parameters
$id_commande : int

identifiant de la commande

$id_auteur : int

identifiant de l'auteur

Tags
deprecated
uses
commande_lier_auteur_dist()
Return values
mixed|string

$err Message d'erreur éventuel

notifications_commande_client_destinataires_dist()

Détermine le client destinataire des notifications d'une commande

notifications_commande_client_destinataires_dist(int $id_commande, array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
$id_commande : int

Identifiant de la commande

$options : array<string|int, mixed>

options

Return values
array<string|int, mixed>

Liste des destinataires

notifications_commande_client_contenu_dist()

Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible

notifications_commande_client_contenu_dist(int $id, array<string|int, mixed> $options, array<string|int, mixed> $destinataire, string $mode[, mixed $contexte = null ]) : array<string|int, mixed>

Cherche dans l'ordre un squelette commande_client_{$statut}depuis{$statut_ancien} commande_client_{$statut} commande_client_depuis_{$statut_ancien} commande_client pour chaque partie ['', '_court', '_html']

Si on en trouve un, on renseigne la valeur, sinon on laisse vide et notifications_envoyer() finira le traitement

Parameters
$id : int
$options : array<string|int, mixed>
$destinataire : array<string|int, mixed>
$mode : string
$contexte : mixed = null
Tags
uses
commande_notification_contenu_dist()
see
notifications_envoyer()
Return values
array<string|int, mixed>

notifications_commande_vendeur_destinataires_dist()

Détermine le ou les vendeurs destinataires des notifications d'une commande

notifications_commande_vendeur_destinataires_dist(int $id_commande, array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
$id_commande : int

Identifiant de la commande

$options : array<string|int, mixed>

options

Return values
array<string|int, mixed>

Liste des destinataires

notifications_commande_vendeur_contenu_dist()

Calcul le contenu des notifications si une variante selon le statut/statut_ancien est disponible

notifications_commande_vendeur_contenu_dist(int $id, array<string|int, mixed> $options, array<string|int, mixed> $destinataire, string $mode[, mixed $contexte = null ]) : array<string|int, mixed>

Cherche dans l'ordre un squelette commande_vendeur_{$statut}depuis{$statut_ancien} commande_vendeur_{$statut} commande_vendeur_depuis_{$statut_ancien} commande_vendeur pour chaque partie ['', '_court', '_html']

Si on en trouve un, on renseigne la valeur, sinon on laisse vide et notifications_envoyer() finira le traitement

Parameters
$id : int
$options : array<string|int, mixed>
$destinataire : array<string|int, mixed>
$mode : string
$contexte : mixed = null
Tags
uses
commande_notification_contenu_dist()
see
notifications_envoyer()
Return values
array<string|int, mixed>

prix_commande_ht_dist()

Permet d'obtenir le prix HT d'une commande.

prix_commande_ht_dist(int $id_commande) : float

Prix HT = total HT de ses détails

Parameters
$id_commande : int

Identifiant de la commande

Return values
float

Retourne le prix HT de la commande sinon 0

prix_commande_dist()

Permet d'obtenir le prix final TTC d'une commande

prix_commande_dist(int $id_commande[, float $prix_ht = null ]) : float

Prix TTC = total TTC de ses détails

Parameters
$id_commande : int

Identifiant de la commande

$prix_ht : float = null

Prix HT de la commande, si null, on le calcule automatiquement

Return values
float

Retourne le prix TTC de la commande sinon 0

prix_commandes_detail_ht_dist()

Permet d'obtenir le prix HT d'un détail d'une commande.

prix_commandes_detail_ht_dist(int $id_commandes_detail, array<string|int, mixed> $ligne) : float

C'est le résultat de cette fonction qui est utilisée pour calculer le prix TTC. Prix HT = quantité * prix unitaire HT

Parameters
$id_commandes_detail : int

Identifiant du détail (paramètre inutilisé)

$ligne : array<string|int, mixed>

Couples champs / valeurs décrivant le détail Il faut au moins $ligne['quantite'] et $ligne['prix_unitaire_ht']

Return values
float

Retourne le prix HT du détail sinon 0

prix_commandes_detail_dist()

Permet d'obtenir le prix final TTC d'un détail d'une commande

prix_commandes_detail_dist(int $id_commandes_detail, float $prix_ht) : float

Prix TTC = prix HT + (prix HT * taxe)

Parameters
$id_commandes_detail : int

Identifiant du détail

$prix_ht : float

Prix HT du détail

Return values
float

Retourne le prix TTC du détail sinon 0

Search results