osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [résolu]comment faire pour integrer module transporteur dans phoenix
thiery
posté 30 Dec 2019, 12:15
Message #1


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 308
Inscrit : 10-November 02
Membre no 574



Bonjour
je voudrais intégrer le module du transporteur DPD dans phoenix 1.0.4.0
mon module tourne correctement sur 2.3.4 mais pas sur phoenix


voici les modifications à faire

Code
Modifiez les fichiers suivants :

1.    catalog/admin/includes/boxes/customers.php -> ajouter les arrays suivants :

     ,array(
        'code' => "icirelaisadmin.php",
        'title' => "ICI relais",
        'link' => tep_href_link("icirelaisadmin.php")
      ),
    array(
        'code' => "exapredictadmin.php",
        'title' => "EXAPAQ Predict",
        'link' => tep_href_link("exapredictadmin.php")
      )

2.    catalog/checkout_shipping.php -> remplacer les lignes 126 à 132 :

// Lignes 126 à 132 originales
    if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {
              $shipping = array('id' => $shipping,
                                'title' => (($free_shipping == true) ?  $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),
                                'cost' => $quote[0]['methods'][0]['cost']);

              tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
            }
            
    par

// Ajout EXAPAQ
if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {
if (substr($shipping,0,9) == 'icirelais') {
    $shippingArray = explode("|||", $shipping); // Séparation des données du PR dans des variables
    $idPR = substr($shipping,10,6);
    $nomPR = $shippingArray[1];
    $adressePR = $shippingArray[2];
    $codepostalPR = $shippingArray[3];
    $villePR = $shippingArray[4];
    $cost = $shippingArray[5];
                    
    $shipping = array(  'id' => $shipping,
    'title' => 'ICI relais par EXAPAQ' . '<br/>'.$nomPR.' ('.$idPR.')<br/>'.$adressePR.'<br/>'.$codepostalPR.' '.$villePR,
    'cost' => $cost);
    }else{
        if (substr($shipping,0,10) == 'exapredict') {
            $gsmDest = substr($shipping,11,10);
                        
            $shipping = array(  'id' => $shipping,
            'title' => 'Predict par EXAPAQ (GSM:'.$gsmDest.')',
            'cost' => $quote[0]['methods'][0]['cost']);
        }else{
            $shipping = array(  'id' => $shipping,
            'title' => (($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'].'('.$quote[0]['methods'][0]['title'].')'),
            'cost' => $quote[0]['methods'][0]['cost']);
        }
    }
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
} // Fin EXAPAQ

3.    catalog/checkout_shipping.php, ligne 183 -> ajouter cette fonction javascript après <link rel="stylesheet" type="text/css" href="stylesheet.css">

<!-- Ajout EXAPAQ Predict -->
<script type="text/javascript" src="ext/jquery/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="ext/jquery/ui/jquery-ui-1.8.22.min.js"></script>
<script language="JavaScript">
    function in_array(search, array){
        for (i = 0; i < array.length; i++){
            if(array[i] == search ){
                return false;
            }
        }
    return true;
    }
    
    function valideGsm(frm){
        var regex = new RegExp(/^((\+33|0)[67])(?:[ _.-]?(\d{2})){4}$/);
        var gsmDest = document.getElementById('exapredict_gsm_dest');
        var numbers = gsmDest.value.substr(-8);
        var pattern = new Array('00000000','11111111','22222222','33333333','44444444','55555555','66666666','77777777','88888888','99999999','12345678','23456789','98765432');
        if (regex.test(gsmDest.value) && in_array(numbers, pattern)){
            // GSM OK : champs verts
            $("input:radio[value*=exapredict]:checked").val('exapredict_'+gsmDest.value);
            $('#exapredict_gsm_dest').css('background-color','#ccffcc');
            $('#exapredict_gsm_submit').css('background-color','#ccffcc');
            $('#exapredict_gsm_submit').val('OK !');
            return true;
        }else{
            // Mauvais GSM : champs rouges + alerte JS
            $('#exapredict_gsm_dest').css('background-color','#ffcccc');
            $('#exapredict_gsm_submit').val('>');
            $('#exapredict_gsm_submit').css('background-color','');
            alert("Votre livraison Predict par EXAPAQ: Afin de vous livrer dans les meilleures conditions, merci de renseigner un n° de portable français correct avant de valider votre mode de livraison (commençant par 06 ou 07, sur 10 chiffres).");
            return false;
        }
    }
</script>
<!-- Fin EXAPAQ Predict -->

4.    catalog/checkout_process.php -> insérer ceci entre les lignes 123 : $insert_id = tep_db_insert_id();) "et" 124 (for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {

    // Ajout EXAPAQ
    if(substr($shipping['id'],0,9)=="icirelais"){
        tep_db_query("update " . TABLE_ORDERS . " set shipping_icirelais_selected = '" . substr($shipping['id'],10,6) . "' where  orders_id = '".$insert_id."'");
    }
    if(substr($shipping['id'],0,10)=="exapredict"){
        tep_db_query("update " . TABLE_ORDERS . " set shipping_exapredict_selected = '" . substr($shipping['id'],11,10) . "' where  orders_id = '".$insert_id."'");
    }
    // Fin EXAPAQ



les fichiers dans
\Fichiers à copier\admin\includes\languages\french (2 fichiers)
\Fichiers à copier\images\
\Fichiers à copier\includes\languages\french\modules\shipping (2fichiers)
\Fichiers à copier\includes\modules\shipping (2 fichiers)

si je peux avoir une petite aide pour adapter
merci par avance
à bientôt thierry

Ce message a été modifié par thiery - 6 Jan 2020, 22:14.


--------------------
oscommerce 2.3.3.4 , ,easy_populate,Ultimate SEO,Discount Codes,Multiple Produit Manager,Multiorders,
phoenix 1.0.8.6
Go to the top of the page
 
thiery
posté 3 Jan 2020, 23:16
Message #2


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 308
Inscrit : 10-November 02
Membre no 574



bonjour
j'avance doucement sur le module

donc voici les problèmes

voici les messages d'erreur
dans l'admin j'ai

Code
Warning: Use of undefined constant MODULE_SHIPPING_DPDFRANCE_RELAIS_SORT_ORDER - assumed 'MODULE_SHIPPING_DPDFRANCE_RELAIS_SORT_ORDER' (this will throw an Error in a future version of PHP) in /home/****/******.com/includes/modules/shipping/dpdfrrelais.php on line 77

Warning: Use of undefined constant MODULE_SHIPPING_DPDFRANCE_RELAIS_TAX_CLASS - assumed 'MODULE_SHIPPING_DPDFRANCE_RELAIS_TAX_CLASS' (this will throw an Error in a future version of PHP) in /home/***/****.com/includes/modules/shipping/dpdfrrelais.php on line 79

Warning: Use of undefined constant MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS - assumed 'MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS' (this will throw an Error in a future version of PHP) in /home/****/****.com/includes/modules/shipping/dpdfrrelais.php on line 80


ca correspond à

Code
77$this->sort_order = MODULE_SHIPPING_DPDFRANCE_RELAIS_SORT_ORDER;
    78    $this->icon = '';
        79$this->tax_class = MODULE_SHIPPING_DPDFRANCE_RELAIS_TAX_CLASS;
               80 $this->enabled = ((MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS == 'True') ? true : false);


pour installer le module j' fait // devant les lignes, après plus de message d'erreur

puis dans catalog/checkout_shipping.php j'ai modifié

Code
if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {
              $way = '';
              
                // Ajout DPD France
                switch (substr($shipping,0,8))
                {
                    case 'dpdfrrel':
                        $shippingArray = explode("|||", $shipping); // Séparation des données du PR dans des variables
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Relais' . '<br/>'.$shippingArray[1].' ('.substr($shipping,12,6).')<br/>'.$shippingArray[2].'<br/>'.$shippingArray[3].' '.$shippingArray[4],
                                            'cost' => $shippingArray[5]);
                        break;
                    case 'dpdfrpre':
                        $gsmDest = substr($shipping,13,10);
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Predict (GSM:'.(is_numeric($gsmDest) ? $gsmDest : 'Non communiqué').')',
                                            'cost' => $quote[0]['methods'][0]['cost']);
                        break;
                    case 'dpdfrcla':
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Classic',
                                            'cost' => $quote[0]['methods'][0]['cost']);    
                        break;
                    case 'dpdfrwor':
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'DPD Delivery',
                                            'cost' => $quote[0]['methods'][0]['cost']);    
                        break;
                    default:
                        $shipping = array(    'id' => $shipping,
                                            'title' => (($free_shipping == true) ?  $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')') . $way),
                                            'cost' => $quote[0]['methods'][0]['cost']);
                } // Fin DPD France

              tep_redirect(tep_href_link('checkout_payment.php', '', 'SSL'));


à la place de

Code
if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {
                // Ajout DPD France
                switch (substr($shipping,0,8))
                {
                    case 'dpdfrrel':
                        $shippingArray = explode("|||", $shipping); // Séparation des données du PR dans des variables
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Relais' . '<br/>'.$shippingArray[1].' ('.substr($shipping,12,6).')<br/>'.$shippingArray[2].'<br/>'.$shippingArray[3].' '.$shippingArray[4],
                                            'cost' => $shippingArray[5]);
                        break;
                    case 'dpdfrpre':
                        $gsmDest = substr($shipping,13,10);
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Predict (GSM:'.(is_numeric($gsmDest) ? $gsmDest : 'Non communiqué').')',
                                            'cost' => $quote[0]['methods'][0]['cost']);
                        break;
                    case 'dpdfrcla':
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'Livraison DPD Classic',
                                            'cost' => $quote[0]['methods'][0]['cost']);    
                        break;
                    case 'dpdfrwor':
                        $shipping = array(    'id' => $shipping,
                                            'title' => 'DPD Delivery',
                                            'cost' => $quote[0]['methods'][0]['cost']);    
                        break;
                    default:
                        $shipping = array(    'id' => $shipping,
                                            'title' => (($free_shipping == true) ?  $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),
                                            'cost' => $quote[0]['methods'][0]['cost']);
                } // Fin DPD France
                tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));


quand je test en production au moment d'arriver au choix du type de livraison

j'ai
Code
1146 - Table '*****.TABLE_ZONES_TO_GEO_ZONES' doesn't exist

select zone_id from TABLE_ZONES_TO_GEO_ZONES where geo_zone_id = '2' and zone_country_id = '73' order by zone_id


après contrôle la table TABLE_ZONES_TO_GEO_ZONES est bien presente id 2 correspond bien à la france code 73

du coup la je bloque, si vous pouvez me mettre sur la voie
je vous remercie d'avance
à bientôt thierry

Ce message a été modifié par thiery - 4 Jan 2020, 17:14.


--------------------
oscommerce 2.3.3.4 , ,easy_populate,Ultimate SEO,Discount Codes,Multiple Produit Manager,Multiorders,
phoenix 1.0.8.6
Go to the top of the page
 
Bonbec
posté 6 Jan 2020, 12:01
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

C'est quelle version de Phoenix ?

Sinon, quelle que soit la version de Phoenix, il faut remplacer les "define" par leur vraie définition dans les scripts, par exemple FILENAME_CHECKOUT_PAYMENT devient checkout_payment.php

Quelle est la ligne qui génère ceci ? : select zone_id from TABLE_ZONES_TO_GEO_ZONES where geo_zone_id = '2' and zone_country_id = '73' order by zone_id

Pour les erreurs Warning: Use of undefined constant je reviendrais dessus tout à l'heure, c'est dû à la version de PHP, il faut modifier le code.

PS la contrib DPD c'est celle-ci ? : https://apps.oscommerce.com/3EONJ&dpd-france-v5-1-1





--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
thiery
posté 6 Jan 2020, 19:22
Message #4


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 308
Inscrit : 10-November 02
Membre no 574



bonsoir Bonbec

c'est phoenix 1.0.4.0
je pense faire la mise à jours di 1.0.4.1

merci pour la mise sur la voie
l'add c'est celui ci https://apps.oscommerce.com/8iSny&dpd-f...&c=shipping

je regarde ce soir ou demain matin pour la ligne qui génère ceci select zone_id from TABLE_ZONES_TO_GEO_ZONES where geo_zone_id = '2' and zone_country_id = '73' order by zone_id

j'avais oublier de mettre les départements dans la zone dans le sql, je ne sais pas si c'est ca je vais refaire un test
merci

Ce message a été modifié par thiery - 6 Jan 2020, 20:09.


--------------------
oscommerce 2.3.3.4 , ,easy_populate,Ultimate SEO,Discount Codes,Multiple Produit Manager,Multiorders,
phoenix 1.0.8.6
Go to the top of the page
 
Bonbec
posté 6 Jan 2020, 21:02
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Ok, je viens de charger la contrib et de jeter un oeil rapidement.
Il va falloir modifier certaines choses dans les fichiers car les FILENAME_ n'existent plus dans Phoenix (la 1.0.4.2 vient de sortir).
Par exemple :
Code
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

devient
Code
tep_redirect(tep_href_link('checkout_payment.php', '', 'SSL'));


Idem pour les TABLE_ dans les requêtes sql seulement.
Par exemple dans catalog/includes/modules/shipping/dpdfrclassic.php la ligne 52:
Code
$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_DPDFRANCE_CLASSIC_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");

devient
Code
$check_query = tep_db_query("select zone_id from zones_to_geo_zones where geo_zone_id = '" . MODULE_SHIPPING_DPDFRANCE_CLASSIC_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");

Autre exemple : Tous les " . TABLE_CONFIGURATION . " se transforment en configuration

Tous les $HTTP_GET_VARS se transforment en $_GET

Pour ton erreur en ligne 77 et suivantes, remplace ce code :
Code
$this->sort_order = MODULE_SHIPPING_DPDFRANCE_RELAIS_SORT_ORDER;
        $this->icon = '';
        $this->tax_class = MODULE_SHIPPING_DPDFRANCE_RELAIS_TAX_CLASS;
               $this->enabled = ((MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS == 'True') ? true : false);

par
Code
        if ( defined('MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS') ) {
        $this->sort_order = MODULE_SHIPPING_DPDFRANCE_RELAIS_SORT_ORDER;
        $this->icon = '';
        $this->tax_class = MODULE_SHIPPING_DPDFRANCE_RELAIS_TAX_CLASS;
        $this->enabled = ((MODULE_SHIPPING_DPDFRANCE_RELAIS_STATUS == 'True') ? true : false);
        }


J'ai modifié tous les fichiers mais j'ai pas testé, n'étant pas client DPD.
SI les fichiers t'intéressent, tu me files une adresse mail par MP.




--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
thiery
posté 6 Jan 2020, 22:13
Message #6


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 308
Inscrit : 10-November 02
Membre no 574



Bonsoir Bonbec
super merci
avec les modifications tout est ok
merci
à bientôt thierry


--------------------
oscommerce 2.3.3.4 , ,easy_populate,Ultimate SEO,Discount Codes,Multiple Produit Manager,Multiorders,
phoenix 1.0.8.6
Go to the top of the page
 
christian21
posté 24 Jan 2022, 21:44
Message #7


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 125
Inscrit : 3-September 04
Lieu : Bourgogne
Membre no 3169



Bonjour à tous meilleurs voeux

Après quelques années à faire fonctionner une "CRELOAD 6" très remanier équivalent à une "OSCOMMERCE 2.2", je cherche maintenant à basculer sur une "CE-Phoenix-1.0.7.5" qui est la proche.

J'ai donc basculer la base de données sur la "CE-Phoenix-1.0.7.5". Pas de soucis (enfin si pas de travail).

Mais y a un mais, j'essaye de mettre en place le module "MondialRelay", tout s'affiche dans partie admin pour l'installation pas de soucis et mes commandes arrive bien avec le point relais.

Mais lorsque que j'effectue une commande mes points relais s'affichent bien, mais c'est toujours le même point relais du début de la liste qui se sélectionne, et non pas celui que je choisis. Je le retrouve aussi dans mes commandes du Back-Office la sélection du début de liste.

Donc en résumé impossible de choisir un point relais de mon choix malgré l'affichage complet de la liste proche du lieu de résidence.

Je cherche donc dans quel parti du fichier "MondialRelay" se trouve le problème. Là je sèche.

Ci dessous mon fichier "mondialrelay"
Code
<?php

function accents($chaine)
    {
        $conversion = array("¥" => "Y", "µ" => "u", "À" => "A", "Á" => "A",
                "Â" => "A", "Ã" => "A", "Ä" => "A", "Å" => "A",
                "Æ" => "A", "Ç" => "C", "È" => "E", "É" => "E",
                "Ê" => "E", "Ë" => "E", "Ì" => "I", "Í" => "I",
                "Î" => "I", "Ï" => "I", "Ð" => "D", "Ñ" => "N",
                "Ò" => "O", "Ó" => "O", "Ô" => "O", "Õ" => "O",
                "Ö" => "O", "Ø" => "O", "Ù" => "U", "Ú" => "U",
                "Û" => "U", "Ü" => "U", "Ý" => "Y", "ß" => "s",
                "à" => "a", "á" => "a", "â" => "a", "ã" => "a",
                "ä" => "a", "å" => "a", "æ" => "a", "ç" => "c",
                "è" => "e", "é" => "e", "ê" => "e", "ë" => "e",
                "ì" => "i", "í" => "i", "î" => "i", "ï" => "i",
                "ð" => "o", "ñ" => "n", "ò" => "o", "ó" => "o",
                "ô" => "o", "õ" => "o", "ö" => "o", "ø" => "o",
                "ù" => "u", "ú" => "u", "û" => "u", "ü" => "u",
                "ý" => "y", "ÿ" => "y");
    
return strtr("$chaine", $conversion);
    }

     class mondialrelay{
    
     function log($teste)
     {
     $log = fopen(DIR_FS_CATALOG."/logs/log.txt", "a");
     if($teste!=NULL)
     {
     fprintf($log,print_r($teste,true)."\n");
     }
     else
     {
     fprintf($log,"variable vide\n");
     }
     fclose($log);
     }
  var $code, $icon, $title, $sort_order, $description, $enabled;
     function __construct(){

     $this->code="mondialrelay";
$this->title = MODULE_SHIPPING_MONDIAL_RELAY_TEXT_TITLE;
$this->sort_order = MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER;
$this->icon = 'images/mr_FR.png';
$this->description = MODULE_SHIPPING_MONDIAL_RELAY_DESCRIPTION;
$this->enabled = MODULE_SHIPPING_MONDIAL_RELAY_STATUS;
$this->enabled = ((MODULE_SHIPPING_MONDIAL_RELAY_STATUS == 'True') ? true : false);
$this->tax_class = MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS;
$this->frais_fixes = MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES;

$this ->tarif = MODULE_SHIPPING_MONDIAL_RELAY_TARIF;
$this ->tarif1 = MODULE_SHIPPING_MONDIAL_RELAY_TARIF1;

$this->franco = MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER;
$this->trop_lourd = MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY;
}

function quote($method = '')
{
        global $total_weight, $shipping_weight, $shipping_num_boxes;
//soap
if($shipping_weight>=00.1)
{
  global $order, $cart;
  // Début calcul du nombre de colis
          $shipping_num_boxes = 1;
          $shipping_weight = $total_weight;
  
          if (SHIPPING_BOX_WEIGHT >= $shipping_weight*SHIPPING_BOX_PADDING/100) {
            $shipping_weight = $shipping_weight+SHIPPING_BOX_WEIGHT;
          } else {
            $shipping_weight = $shipping_weight + ($shipping_weight*SHIPPING_BOX_PADDING/100);
          }
  
          if ($shipping_weight > $this->trop_lourd) { // Split into many boxes
            $shipping_num_boxes = ceil($shipping_weight/$this->trop_lourd);
            $shipping_weight = $shipping_weight/$shipping_num_boxes;
          }
  // Fin calcul nombre de boîtes
$client = new SoapClient("https://www.mondialrelay.fr/WebService/Web_Services.asmx?WSDL");

$params = array('Enseigne'     => MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE
//,'Pays'         => $order->delivery['country']['iso_code_2']
,'Pays' => accents($order->delivery['country']['iso_code_2'])
,'Ville'        => accents($order->delivery['city'])
,'CP'           => $order->delivery['postcode']
,'Poids'        => round($shipping_weight*1000));
//On crée le code de sécurité
$code = implode("",$params);
$code .= MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE;

//On le rajoute aux paramétres
$params["Security"] = strtoupper(md5($code));
$pointsRelais = $client->WSI2_RecherchePointRelais($params)->WSI2_RecherchePointRelaisResult;// récuperer la liste des points relais
if($pointsRelais->STAT==0)
{
// calcul du tarif
  // ajout livraison gratuite
  if ($cart->show_total() >= $this->franco){
$tarif=0;
  // Fin ajout livraison gratuite*/
}else{
//$table = split("[:,]" , MODULE_SHIPPING_MONDIAL_RELAY_TARIF);
$table = preg_split("/[:,]/" , MODULE_SHIPPING_MONDIAL_RELAY_TARIF);
//$table = split("[:,]" , MODULE_SHIPPING_MONDIAL_RELAY_TARIF1);
$tarifTrouve=true;
for ($i = 0; $i < sizeof($table); $i+=2) {
          if ($shipping_weight > $table[$i])
    continue;
    if (($shipping_weight < $table[$i]) AND $tarifTrouve) {
                $tarif=$table[$i+1];
                $tarifTrouve=false;
                }
                }
  $tarif += $this->frais_fixes;
  $tarif=$tarif*$shipping_num_boxes;
  }
                $methods = array();
                foreach($pointsRelais as $pointRelais)
                {
                if( is_object($pointRelais) && trim($pointRelais->Num) != '' ){
        
        //On crée le code de sécurité
        $code = implode("",$params);
        $code .= MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE;
        
        //On le rajoute aux paramêtres
        $params["Security"] = strtoupper(md5($code));
        // Et on effectue la requête
                            $detail_pointrelais = $client->WSI2_DetailPointRelais($params)->WSI2_DetailPointRelaisResult;
            
            $popup_params = array(
            'ens'     => MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL
        ,'Num'    => $pointRelais->Num
            ,'Pays'   => $pointRelais->Pays
            );
            
            $popup_code = '<'.MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL.'>'.$pointRelais->Num.$pointRelais->Pays.'<'.MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL.'>';
                    
                    
                    $security = strtoupper(md5($popup_code));
                    
                    $link = 'http://www.mondialrelay.com/public/permanent/details_relais.aspx?ens='. MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL .'&num='.$pointRelais->Num.'&pays='.$pointRelais->Pays.'&crc='.$security;
    
            $methods[]=array('id'     => $pointRelais->Num . $pointRelais->Pays,'title'  => $pointRelais->LgAdr1 ." à ".$pointRelais->Ville ." ".$pointRelais->CP ." <a onclick=\"window.open ('". $link ."', '', 'height=200, width=200');\"><b>Détails</b></a>",'cost' => $tarif );
  // window.open ('". $link ."'');\"><b>Détails</b></a>"
                //    ,'cost'   => $tarif + $this->frais_fixes);                    
            }    
            }

  // Début préparation affichage nombre de colis et poids
  $info_plus = ( $shipping_num_boxes>1 ) ? ''. $shipping_num_boxes . ' x ' : '';
  $info_envoi = ' ( '. $info_plus . $shipping_weight . 'kg )    ';
  // Fin préparation affichage nombre de colis
            $this->quotes = array('id' => $this->code,
  'module' => $this->title . $info_envoi,
                    'methods' => $methods);

      if ($this->tax_class > 0) $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);

      if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon,$this->title,40,42,'align="middle"');
                  

                    return $this->quotes;
            }
            else
            {
            $this->quotes = array('module' => $this->title,
                    'error' => MODULE_SHIPPING_MONDIAL_RELAY_ERROR);
                    return $this->quotes;
            }
            }
            else
            {
                    return;
            }
            }
                                        
    function check() {
        $retourdb = tep_db_query("select configuration_value FROM configuration WHERE configuration_key= 'MODULE_SHIPPING_MONDIAL_RELAY_STATUS' ");
        $this->checked = tep_db_num_rows($retourdb);
        return $this->checked;
                }
    function remove() {
        tep_db_query("delete from configuration where configuration_key in ('" . implode("', '", $this->keys()) . "')");
        tep_db_query("ALTER table orders DROP shipping_pointrelay");
        tep_db_query("ALTER table orders DROP shipping_traking");
                }
                                        
                                        
    function install() {
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ordre de tri', 'MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER', '10', 'Ordre de tri pour l\'affichage (Le plus petit nombre est montr&eacute; en premier).', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Enseigne', 'MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE', 'BDTEST13', 'Enseigne fournie par mondial relay.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Marque', 'MODULE_SHIPPING_MONDIAL_RELAY_MARQUE', '13', 'Marque fournie par mondial relay.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Clé privée', 'MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE', 'PrivateK', 'Clé fournie par mondial relay.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Marque(url)', 'MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL', '13', 'Marque(url) fournie par mondial relay.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Clé privée (url)', 'MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL', 'PrivateK', 'Clé fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('activer le module', 'MODULE_SHIPPING_MONDIAL_RELAY_STATUS', 'True', 'activer le module du front', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
    //  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Activer ce mode de livraison', 'MODULE_SHIPPING_MONDIAL_RELAY_STATUS', 'True', 'Voulez-vous utiliser ce mode de livraison?', '6', '0', 'tep_cfg_select_option(array(\'Oui\', \'Non\'), ', now())");
      
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Civilité Nom Prénom', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD1', '".STORE_NAME."', 'Civilité Nom Prénom(Civilités acceptées:\'MR\',\'M\',\'M.\', \'MME\', \'MLE\' et \'MLLE\').', '6', '0', now())");
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Pays d\'expédition', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS', 'FR', 'Pays d\'expédition(Pays acceptées:\'FR\',\'BE\',\'LU\' et \'ES\').', '6', '0', now())");    
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Pays d\'expédition2', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS1', 'DE', 'Pays d\'expédition(Pays acceptées:\'DE\').', '6', '0', now())");    
        
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Rue', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD3', 'Les Mésanges 2', 'Rue.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ville', 'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_VILLE', 'PONT EVEQUE', 'ville.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Code Postal', 'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_CP', '38780', 'Code Postal.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Téléphone', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_TEL1', '0661913838', 'Téléphone Fixe.', '6', '0', now())");
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('TVA applicable', 'MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS', '0', 'Sélectionnez la TVA applicable sur le montant de la livraison.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tarif', 'MODULE_SHIPPING_MONDIAL_RELAY_TARIF', '20.00:4.55', 'Tarif appliqué suivant le poids.', '6', '0', now())");
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tarif', 'MODULE_SHIPPING_MONDIAL_RELAY_TARIF1', '20.00:9.50', 'Tarif appliqué suivant le poids.', '6', '0', now())");
        
        
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Frais fixes', 'MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES', '0', 'Frais fixes (emballage).', '6', '0', now())");
  tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Seuil Franco (TTC)', 'MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER', '1000', 'Port gratuit à partir de (TTC) en marchandises', '6', '0', now())");
  tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Poids maximum du colis', 'MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY', '20', 'Poids brut maximum (kg) ', '6', '60', now())");
  
        tep_db_query("insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Format des étiquettes', 'MODULE_SHIPPING_MONDIAL_RELAY_FORMAT_PDF', 'A5', 'Format des PDF des étiquettes', '6', '0', 'tep_cfg_select_option(array(\'A4\', \'A5\'), ', now())");
        
        
        tep_db_query("ALTER table orders ADD shipping_pointrelay char(8)");
        tep_db_query("ALTER table orders ADD shipping_traking char(8)");
        }
    function keys() {
        return array("MODULE_SHIPPING_MONDIAL_RELAY_STATUS"
        ,"MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE"
        ,"MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE"
        ,"MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL"
        ,"MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL"
        ,"MODULE_SHIPPING_MONDIAL_RELAY_MARQUE"
        
        ,"MODULE_SHIPPING_MONDIAL_RELAY_TARIF"        
        ,"MODULE_SHIPPING_MONDIAL_RELAY_TARIF1"
        
        ,"MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES"    
        ,"MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER"
        
        ,"MODULE_SHIPPING_MONDIAL_RELAY_FORMAT_PDF"
        
        ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS1'
        
        ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD1'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_Ad3'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_VILLE'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_CP'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_TEL1'
        ,"MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER"
        ,'MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY'
        ,'MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS');
        }
        }
?>


Merci d'avance pour le coup de main.


--------------------
Actuellement Phoenix 1.0.5.0, installation de "Activate_or_inactivate_category" , "Mondialrelais", En cours "Systempay"

Oscommerce 2.2 (php5)
Ultimate_seo_urls5,Salemaker,admin_dhtml_menu_v2.1,Ckeditor,define_mainpage_v1.3
.3_MS2,Page_cache_2,Ckeditor

Oscommerce 2.3
Salemaker,admin_dhtml_menu_v2.1,Ckeditor,define_mainpage_v1.3.3_MS2,Dynamic_Temp
late_System_V2_FR,Ultimate_URL_REWRITING,Generic_box

MS2 creaload 6 , mini zero, Email Confirmation de commande html,admin_dhtml_menu_v2, Hide Price if $0_2b,• Administrator 1.2.2 (Multi administrateur)•Salemakers• Featured products (Présentation des nouveaux produits aux choix)
• cookmenu•Seo Assistants.SiteMaps.SeoHTML
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 19th March 2024 - 03:46
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)