action_abandonner_commande_dist()
Abandonne une commande
action_abandonner_commande_dist([mixed $id_commande = null ]) : mixed
Parameters
- $id_commande : mixed = null
Abandonne une commande
action_abandonner_commande_dist([mixed $id_commande = null ]) : 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_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)
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
Identifiant de la commande
Identifiant de la commande et message d'erreur eventuel
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
Paramètre inutilisé, présent pour compatibilité avec api modifier objet
Couples des champs/valeurs par défaut
Appelle les fonctions de modification d'une commande
commande_modifier(int $id_commande[, array<string|int, mixed>|null $set = null ]) : mixed|string
Identifiant de la commande
Couples des champs/valeurs à modifier
Message d'erreur éventuel
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
Identifiant de la commande
Couples champ/valeur à modifier
(?) Inutilisé
Fabrique la requête d'institution de la commande
editer_commande_details(int $id_commande, array<string|int, mixed> $champs[, bool $cond = true ]) : mixed
Modifie la commande en calculant les dépendances des détails
Identifiant de la commande
Couples des champs/valeurs à modifier
(?) inutilisé
Enregistre une modification d'une commande
Alias de 'commande_modifier' pour rétro-compatibilité
revision_commande(int $id_commande[, array<string|int, mixed> $c = false ]) : mixed|string
Identifiant de la commande
Couples des champs/valeurs modifiées
Crée une nouvelle commande
Alias de 'commande_inserer' pour rétro-compatibilité
commande_insert([array<string|int, mixed> $champs = [] ]) : mixed
Couples des champs/valeurs par défaut
Appelle les fonctions de modification d'une commande
Alias de 'commande_modifier' pour rétro-compatibilité
commande_set(int $id_commande[, array<string|int, mixed>|null $set = null ]) : mixed
Identifiant de la commande
Couples des champs/valeurs à modifier
Modifie des éléments à part que sont l'auteur, la date, le statut
Alias de 'commande_instituer' pour rétro-compatibilité
instituer_commande(int $id_commande, array<string|int, mixed> $c[, bool $calcul_details = true ]) : mixed
Identifiant de la commande
Couples des champs/valeurs à modifier
(?) Inutilisé
Change le statut d'une commande
action_instituer_commande([string $arg = null ]) : mixed
arguments séparés par un charactère non alphanumérique
"Lie" une commande à un objet
action_lier_commande_dist([string $arg = null ]) : mixed
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
.
arguments séparés par un slash /
Supprime une commande et ses données associées (détails + adresses)
action_supprimer_commande_dist([string $id_commande = null ]) : mixed
id_commande : identifiant de la commande
Supprime un détail d'une commande, dans la table `spip_commandes_details`
action_supprimer_detail_commande([string $arg = null ]) : mixed
arguments séparés par un charactère non alphanumérique
Déclaration des alias de tables et filtres automatiques de champs
commandes_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Déclarations d'interface pour le compilateur
Déclarations d'interface pour le compilateur
Déclaration des objets éditoriaux
commandes_declarer_tables_objets_sql(array<string|int, mixed> $tables) : array<string|int, mixed>
Description des tables
Description complétée des tables
Déclaration de la table de liaison
commandes_declarer_tables_auxiliaires(array<string|int, mixed> $tables_auxiliaires) : array<string|int, mixed>
Taableau contenant les tables auxiliaires
Retourne le tableau des tables auxiliaires possiblement modifié
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>
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(mixed $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : int
Retourne la quantité arrondie
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
(optionnel) identifiant de l'auteur
reference de la commande
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.
Identifiant de la commande
Si vrai, force la recherche de toutes les infos même si ça avait déjà été fait dans le même hit
Retourne un tableau avec les clés possibles suivantes, optionnelles suivant ce qui est trouvé :
Passer les code_pays en code alpha 3 si besoin
commandes_normalise_code_pays(mixed $code_pays) : mixed|string
Remplit le champ `id_auteur` d'une commande
commande_lier_auteur_dist(int $id_commande, int $id_auteur) : mixed|string
identifiant de la commande
identifiant de l'auteur
Message d'erreur éventuel
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
Fonction d'installation et de mise à jour du plugin Commandes.
commandes_upgrade(string $nom_meta_base_version, string $version_cible) : mixed
Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
commandes_maj_0_7_4() : mixed
Retourne l'identifiant du premier webmestre
commandes_trouver_id_premier_webmestre() : int|bool
identifiant du premier webmestre false sinon (improbable...)
Fonction de désinstallation du plugin Commandes.
commandes_vider_tables(string $nom_meta_base_version) : mixed
Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
Fonction d'appel pour le pipeline
commandes_autoriser() : mixed
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
encours
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
Action demandée
Type d'objet sur lequel appliquer l'action
Identifiant de la commande
Description de l'auteur demandant l'autorisation
Options de cette autorisation
true s'il a le droit, false sinon
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
v2.4.0
commandes_hash(mixed $id_commande) : mixed
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
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
v2.4.0
commande_totalise_taxes([mixed $prix_ht = null ][, mixed $prix_ttc = null ]) : mixed
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
v2.4.0
commandes_arrondir_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
Afficher la quantite si differente de 1
filtre_commandes_afficher_quantite_descriptif_dist(int|float $quantite[, string $objet = '' ][, int $id_objet = 0 ]) : string
v2.4.0
commandes_afficher_quantite_descriptif(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
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
v2.4.0
commandes_afficher_quantite(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : mixed
filtre_commandes_afficher_prix_detaille_abbr_dist(mixed $prix_ttc, mixed $quantite, mixed $prix_unit_ht, mixed $reduction, mixed $taxe) : mixed|string
v2.4.0
commandes_afficher_prix_detaille_abbr(mixed $prix_ttc, mixed $quantite, mixed $prix_unit_ht, mixed $reduction, mixed $taxe) : mixed
filtre_commandes_afficher_reduction_si_dist(mixed $reduction) : mixed
v2.4.0
commandes_afficher_reduction_si(mixed $reduction) : mixed
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
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.
Numéro de la commande ou 0 s'il n'y en a pas
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
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
Insertion de la feuille de style CSS sur les pages publiques
commandes_insert_head_css(string $flux) : string
Données du pipeline
Données du pipeline
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
Données du pipeline
Données du pipeline
Ajout de contenu sur certaines pages
commandes_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>
Données du pipeline
Données du pipeline
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>
Données du pipeline
Données du pipeline
Ajout de liste sur la vue d'un auteur
commandes_affiche_auteurs_interventions(array<string|int, mixed> $flux) : array<string|int, mixed>
Données du pipeline
Données du pipeline
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
Données du pipeline
Données du pipeline
Renseigner les infos de facturation liee a une commande
commandes_bank_dsp2_renseigner_facturation(array<string|int, mixed> $flux) : array<string|int, mixed>
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_pre_facturer_reglement(array<string|int, mixed> $flux) : array<string|int, mixed>
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>
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_attente(array<string|int, mixed> $flux) : array<string|int, mixed>
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_trig_bank_reglement_en_echec(array<string|int, mixed> $flux) : array<string|int, mixed>
mixed
Déclarer les échéances à la banque
commandes_bank_abos_decrire_echeance(mixed $flux) : mixed
Lier une commande à un identifiant bancaire lorsqu'un prélèvement bancaire est bien validé
commandes_bank_abos_activer_abonnement(mixed $flux) : mixed
Créer la transaction correspondant à la prochaine échéance d'une commande
commandes_bank_abos_preparer_echeance(mixed $flux) : 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_bank_abos_resilier(mixed $flux) : mixed
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
Description des saisies du formulaire de configuration
formulaires_configurer_commandes_saisies_dist() : array<string|int, mixed>
Description des saisies
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
Identifiant de la commande
creation|paiement|envoi
Adresse de redirection
Environnement du formulaire
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
Identifiant de la commande
creation|paiement|envoi
Adresse de redirection
Hash du formulaire
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
Identifiant de la commande
creation|paiement|envoi
Adresse de redirection
Tableau des erreurs
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
Identifiant de la commande
creation|paiement|envoi
Adresse de redirection
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>
Identifiant du commande. 'new' pour une nouvelle commande.
URL de redirection après le traitement
Description des saisies
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
Identifiant du commande. 'new' pour une nouvelle commande.
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Hash du formulaire
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
Identifiant du commande. 'new' pour une nouvelle commande.
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Environnement du formulaire
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
Identifiant du commande. 'new' pour une nouvelle commande.
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Tableau des erreurs
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
Identifiant du commande. 'new' pour une nouvelle commande.
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Retours des traitements
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>
URL de redirection après le traitement
Description des saisies
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
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Hash du formulaire
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
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Environnement du formulaire
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
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Tableau des erreurs
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
URL de redirection après le traitement
Identifiant éventuel d'un commande source d'une traduction
Nom de la fonction ajoutant des configurations particulières au formulaire
Valeurs de la ligne SQL du commande, si connu
Contenu HTML ajouté en même temps que les champs cachés du formulaire.
Retours des traitements
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
Identifiant du commande.
Identifiant du commande.
Identifiant de l'objet
URL de redirection après le traitement
Environnement du formulaire
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
Identifiant du commande.
Identifiant du commande.
Identifiant de l'objet
URL de redirection après le traitement
Tableau des erreurs
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
Identifiant du commande.
Identifiant du commande.
Identifiant de l'objet
URL de redirection après le traitement
Retours des traitements
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)
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)
identifiant SQL de la commande
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 :
Identifiant d'une commande ou tableau d'identifiants
Supprimer des commandes
Alias de commandes_supprimer() pour rétro-compatibilité
commandes_effacer(int|array<string|int, mixed> $ids_commandes) : bool
Identifiant d'une commande ou tableau d'identifiants
Ajouter une ligne de detail dans une commande
commandes_ajouter_detail(int $id_commande, array<string|int, mixed> $emplette[, bool $ajouter = true ]) : int
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)
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.
Identifiant de la commande
Identifiant d'un détail ou tableau d'identifiants
true pour effacer la commande si elle est vide après l'opération
false si pas d'identifiant de commande transmis, ou si pas autorisé à supprimer true sinon
Envoyer un mail de notification
commandes_envoyer_notification(string $qui, string $id_type, int $id_commande, string $expediteur, array<string|int, mixed> $destinataires) : mixed
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.: vendeur ou client
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.
Identifiant de la commande
Mettre a jour les taxes d'une commande selon exoneration ou non
commandes_appliquer_taxes(int $id_commande, string $exoneration_raison) : mixed
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
legacy
traiter_notifications_commande([int $id_commande = 0 ]) : mixed
inc_commandes_arrondir_quantite_dist(mixed $quantite[, mixed $objet = '' ][, mixed $id_objet = 0 ]) : float
Retourne la quantité arrondie
Lister un à un les paiements des échéances prévus
commandes_lister_paiements_echeances(array<string|int, mixed> $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),
)
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))
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>
Retourne un tableau listant uniquement les montants un par un :
array(40, 40, 50)
commandes_nb_echeances_payees(mixed $id_commande) : mixed
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
Identifiant de la commande
Montant unique ou tableau décrivant des échéances complexes
Retourne la description de la prochaine échéance
commandes_trouver_prochaine_echeance(mixed $id_commande[, mixed $echeances = null ][, bool $ignorer_derniere = false ]) : bool|mixed
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
(optionnel) identifiant de l'auteur
reference de la commande
Remplit le champ `id_auteur` d'une commande
inc_lier_commande_auteur_dist(int $id_commande, int $id_auteur) : mixed|string
identifiant de la commande
identifiant de l'auteur
Message d'erreur éventuel
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>
Identifiant de la commande
options
Liste des destinataires
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
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>
Identifiant de la commande
options
Liste des destinataires
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
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
Identifiant de la commande
Retourne le prix HT de la commande sinon 0
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
Identifiant de la commande
Prix HT de la commande, si null, on le calcule automatiquement
Retourne le prix TTC de la commande sinon 0
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
Identifiant du détail (paramètre inutilisé)
Couples champs / valeurs décrivant le détail Il faut au moins $ligne['quantite'] et $ligne['prix_unitaire_ht']
Retourne le prix HT du détail sinon 0
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)
Identifiant du détail
Prix HT du détail
Retourne le prix TTC du détail sinon 0