Fichier inc/commandes.php

Fonctions (bis) du plugin Commandes

Plugin

  • Commandes

Author

  • Ateliers CYM, Matthieu Marcillaud, Les Développements Durables

Licence

  • GPL 3

Source

Liste des fonctions

integer commandes_ajouter_detail( integer $id_commande , array $emplette , boolean $ajouter = true )

Paramètres

  1. integer $id_commande
  2. array $emplette

    objet : type de l'objet ajoute id_objet : id de l'objet ajoute quantite : quantite ajoutee

  3. boolean $ajouter = true

Retour

  • integer

Package

void commandes_appliquer_taxes( integer $id_commande , string $exoneration_raison )

Paramètres

  1. integer $id_commande
  2. string $exoneration_raison

Package

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.

void commandes_notifier( integer | string $id_commande , string | null $statut_ancien = null )

Paramètres

  1. integer | string $id_commande

    Identifiant de la commande

  2. string | null $statut_ancien = null

Retour

  • void

Utilise

  • notifications()

Package

La fonction va supprimer :

  • les détails des commandes
  • les liens entre les commandes et leurs adresses
  • les adresses si elles sont devenues orphelines
boolean commandes_supprimer( integer | array $ids_commandes )

Paramètres

  1. integer | array $ids_commandes

    Identifiant d'une commande ou tableau d'identifiants

Retour

  • boolean
    • false si pas d'identifiant de commande transmis
    • true sinon

Package

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.

boolean commandes_supprimer_detail( integer $id_commande , integer | array $ids_details = array() , boolean $supprimer_commande = false )

Paramètres

  1. integer $id_commande

    Identifiant de la commande

  2. integer | array $ids_details = array()

    Identifiant d'un détail ou tableau d'identifiants

  3. boolean $supprimer_commande = false

    true pour effacer la commande si elle est vide après l'opération

Retour

  • boolean

    false si pas d'identifiant de commande transmis, ou si pas autorisé à supprimer true sinon

Package

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)

integer creer_commande_encours( integer $id_auteur )

Paramètres

  1. integer $id_auteur

    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)

Retour

  • integer

    $id_commande identifiant SQL de la commande

Utilise

Package

void traiter_notifications_commande( integer $id_commande )

Paramètres

  1. integer $id_commande

Package

Dépréciées

boolean commandes_effacer( integer | array $ids_commandes )

Paramètres

  1. integer | array $ids_commandes

    Identifiant d'une commande ou tableau d'identifiants

Retour

  • boolean
    • false si pas d'identifiant de commande transmis
    • true sinon

Voir également

Package

Deprecated

  • Alias de commandes_supprimer() pour rétro-compatibilité
  • 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.
void commandes_envoyer_notification( string $qui , string $id_type , integer $id_commande , string $expediteur , array $destinataires )

Paramètres

  1. string $qui

    : vendeur ou client

  2. string $id_type
  3. integer $id_commande
  4. string $expediteur
  5. array $destinataires

Package

Deprecated

  • Voir traiter_notifications_commande()

Liste des erreurs

GravitéLigneDescription
Notice 39
  • Référence de @uses introuvable dans creer_commande_encours : \commandes_reference()
Notice 322
  • Référence de @uses introuvable dans commandes_notifier : \notifications()