166 lines
6.5 KiB
PHP
166 lines
6.5 KiB
PHP
<?php
|
|
include_once( realpath( dirname( __FILE__ ) ) . "/../../../classes/PluginsTransports.class.php" );
|
|
include_once( realpath( dirname( __FILE__ ) ) . "/../../../classes/Message.class.php" );
|
|
include_once( realpath( dirname( __FILE__ ) ) . "/../../../classes/Messagedesc.class.php" );
|
|
include_once( realpath( dirname( __FILE__ ) ) . "/../../../classes/Variable.class.php" );
|
|
include_once( realpath( dirname( __FILE__ ) ) . "/Tarifcolissimoexpert.class.php" );
|
|
|
|
class ColissimoExpert extends PluginsTransports {
|
|
|
|
public function __construct() {
|
|
parent::__construct( "colissimoexpert" );
|
|
}
|
|
|
|
public function init() {
|
|
$this->ajout_desc("Chronopost avec signature", "Livraison par Chronopost National et International avec signature", "", 1);
|
|
|
|
// Création de la table tarifcolissimoexpert
|
|
|
|
$cnx = new Cnx();
|
|
$sql = "CREATE TABLE `tarifcolissimoexpert` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `poidsmax` FLOAT NOT NULL , tarif` FLOAT NOT NULL , `zone` INT NOT NULL)";
|
|
$resultat = mysql_query( $sql , $cnx->link );
|
|
|
|
// Ajout d'une ligne dans la table variable
|
|
|
|
$listeZones = $this->getZones();
|
|
foreach ( $listeZones as $zone ) {
|
|
$variable = new Variable();
|
|
if ( !$variable->charger( 'colissimoexpert_tarifmax' . $zone->id ) ) {
|
|
$objVariableTarifMax = new Variable();
|
|
$variable->nom = 'colissimoexpert_tarifmax' . $zone->id ;
|
|
$variable->valeur = 0;
|
|
$variable->protege = 0;
|
|
$variable->cache = 0;
|
|
$variable->add();
|
|
}
|
|
}
|
|
|
|
// Message de livraison
|
|
|
|
$messageExiste = new Message();
|
|
if ( !$messageExiste->charger( "colissimoexpert" ) ) {
|
|
$message = new Message();
|
|
$message->nom = "colissimoexpert";
|
|
$lastid = $message->add();
|
|
$messagedesc = new Messagedesc();
|
|
$messagedesc->message = $lastid;
|
|
$messagedesc->lang = 1;
|
|
$messagedesc->titre = "Chronopost avec signature";
|
|
$messagedesc->description = "__RAISON__ __NOM__ __PRENOM__,\n\nNous vous remercions de votre commande sur notre site __URLSITE__\n\nUn colis concernant votre commande __COMMANDE__ du __DATE__ __HEURE__ a quitté nos entrepôts pour être pris en charge par Chronopost le __DATEDJ__.\n\nSon numéro de suivi est le suivant : __COLIS__\nIl vous permet de suivre votre colis en ligne sur le site de Chronopost : www.chronopost.fr\n\nNous restons à votre disposition pour toute information complémentaire.\nCordialement";
|
|
$messagedesc->add();
|
|
}
|
|
}
|
|
|
|
public function calcule() {
|
|
$listeTarifs = $this->getTarifs( $this->zone );
|
|
$fin = $_SESSION['navig']->panier->nbart;
|
|
for ($i = 0; $i < $fin; $i++) {
|
|
$totalpanier = & $_SESSION['navig']->panier->tabarticle[$i]->produit->prix;
|
|
$quantitepanier = & $_SESSION['navig']->panier->tabarticle[$i]->quantite;
|
|
$aupanier += $totalpanier*$quantitepanier;
|
|
}
|
|
|
|
foreach ( $listeTarifs as $ligneTarif ) {
|
|
if ( $this->poids <= $ligneTarif->poidsmax ) {
|
|
if($this->zone == 1 && $aupanier > 30){
|
|
return $ligneTarif->tarif = 0.00;
|
|
}elseif($this->zone != 1 && $aupanier > 300){
|
|
return $ligneTarif->tarif = 0.00;
|
|
}else{
|
|
return $ligneTarif->tarif;
|
|
}
|
|
}
|
|
}
|
|
return $this->getTarifMax( $this->zone );
|
|
}
|
|
|
|
function statut( $commande ) {
|
|
if ( $commande->statut == "4" ) {
|
|
if ( !$commande->colis ) {
|
|
return;
|
|
}
|
|
|
|
$modTransport = new Modules();
|
|
$modTransport->charger( 'colissimoexpert' );
|
|
if ( $modTransport->id != $commande->transport ) {
|
|
return;
|
|
}
|
|
|
|
$message = new Message();
|
|
$message->charger( "colissimoexpert" );
|
|
$messagedesc = new Messagedesc();
|
|
$messagedesc->charger( $message->id );
|
|
$client = new Client();
|
|
$client->charger_id( $commande->client );
|
|
$tabRaisons = array(
|
|
"1" => "Madame" ,
|
|
"2" => "Mademoiselle" ,
|
|
"3" => "Monsieur"
|
|
);
|
|
|
|
if ( isset( $tabRaisons[$client->raison] ) ) {
|
|
$raison = $tabRaisons[$client->raison];
|
|
}
|
|
|
|
$urlsite = new Variable();
|
|
$urlsite->charger("urlsite");
|
|
$emailcontact = new Variable();
|
|
$emailcontact->charger("emailcontact");
|
|
$jour = substr($commande->date, 8, 2);
|
|
$mois = substr($commande->date, 5, 2);
|
|
$annee = substr($commande->date, 0, 4);
|
|
$heure = substr($commande->date, 11, 2);
|
|
$minute = substr($commande->date, 14, 2);
|
|
$seconde = substr($commande->date, 17, 2);
|
|
$messagedesc->description = str_replace("__RAISON__", "$raison", $messagedesc->description);
|
|
$messagedesc->description = str_replace("__NOM__", $client->nom, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__PRENOM__", $client->prenom, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__URLSITE__", $urlsite->valeur, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__COMMANDE__", $commande->ref, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__DATE__", $jour . "/" . $mois . "/" . $annee, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__HEURE__", $heure . ":" . $minute . ":" . $seconde, $messagedesc->description);
|
|
$messagedesc->description = str_replace("__DATEDJ__", date("d") . "/" . date("m") . "/" . date("Y"), $messagedesc->description);
|
|
$messagedesc->description = str_replace("__COLIS__", $commande->colis, $messagedesc->description);
|
|
mail($client->email, $messagedesc->titre, $messagedesc->description, "From: " . $emailcontact->valeur);
|
|
}
|
|
}
|
|
|
|
public function getTarifs( $zone = 1 ) {
|
|
$listeTarifs = array();
|
|
$sql = "SELECT * FROM tarifcolissimoexpert WHERE zone = " . intval( $zone ) . " ORDER BY poidsmax";
|
|
$cnx = new Cnx();
|
|
$resultat = mysql_query( $sql , $cnx->link );
|
|
while ( $ligneTarif = mysql_fetch_object( $resultat ) ) {
|
|
$listeTarifs[] = $ligneTarif;
|
|
}
|
|
return $listeTarifs;
|
|
}
|
|
|
|
public function getZones() {
|
|
$listeZones = array();
|
|
$sql = "SELECT * FROM zone ORDER BY id";
|
|
|
|
$cnx = new Cnx();
|
|
$resultat = mysql_query( $sql , $cnx->link );
|
|
while ( $ligneZone = mysql_fetch_object( $resultat ) ) {
|
|
$listeZones[] = $ligneZone;
|
|
}
|
|
return $listeZones;
|
|
}
|
|
|
|
public function getTarifMax( $zone = 1 ) {
|
|
$objVariable = new Variable( 'colissimoexpert_tarifmax' . intval( $zone ) );
|
|
$valeur = $objVariable->valeur;
|
|
if ( !$valeur ) {
|
|
$valeur = 0;
|
|
}
|
|
return $valeur;
|
|
}
|
|
|
|
public function majTarifMax( $nouveauTarifMax , $zone ) {
|
|
$objVariable = new Variable( 'colissimoexpert_tarifmax' . intval( $zone ) );
|
|
$objVariable->valeur = $nouveauTarifMax;
|
|
$objVariable->maj();
|
|
}
|
|
}
|
|
?>
|