Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
*

Bug ou mauvais paramétrage


Pages: [1]
  Imprimer  

  Bug ou mauvais paramétrage
Auteur Message
peterdin
Nouveau membre
*

Points gagnés: 0
Messages: 25



Voir le profil WWW
Bug ou mauvais paramétrage
« le: 17 Août 2011 à 02:10:34 »

Bonsoir,

Cela fait plusieurs mois que j'utilise ma boutique et je n'ai jamais rencontré le problème qui m'amène aujourd'hui.

Lors d'une commande de livres un client italien totalise un poids de 14 kg 2896 et se voit attribuer un montant de 6 € seulement de frais de port :

Colissimo (1 x 14.2896 kg ItalyMODULE_SHIPPING_COLISSIMO_DELAY_INTERNAT):    6.00€

J'ai vérifié mon module colissimo, il comporte bien les bonnes sommes, pour les bons poids.

Je ne comprends pas, pourquoi sur ce seul client, j'ai une telle erreur, la différence est de près de 50 €, alors que sur les autres tout semble bon.

J'ai cru un instant que la destination Italie n'était pas référencée, mais ce n'est pas le cas; Voir ci dessous, mon module.
(je prends qu'à partir de l'international)

function _national_vers_international($depart, $iso_code, $method_id = '') {

      /* ZONES INTERNATIONALES COLISSIMO */
      /* Codes ISO des pays en zone A, séparés par une virgule.
         Açores, Allemagne, Autriche, Belgique, Chypre, Danemark, Espagne, Estonie, Finlande, Gibraltar, Grande-Bretagne, Gernesey, Grèce,
         Hongrie, Irlande, Italie, Jersey, Lettonie, Lituanie, Liechtenstein, Luxembourg, Madère, Malte, Norvège, Pays-Bas, Pologne, Portugal,
         Slovaquie, Slovénie, Saint-Marin, Suède, Suisse, Tchèque (Rép.), Vatican.
      */
      $inter_countries_1 = 'AC,AT,BE,CH,CY,CZ,DE,DK,EE,ES,FI,GB,GI,GR,GS,HU,IE,IT,JE,LI,LT,LU,LV,ME,MT,NL,NO,PL,PT,SE,SI,SK,SM,VA';
      /* Codes ISO des pays en zone B, séparés par une virgule.
         Algérie, Albanie, Arménie, Azerbaïdjan, Belarus, Bosnie-Herzégovine, Bulgarie, Croatie, Géorgie, Islande, Macédoine, Roumanie,
         Russie (Fédération de), Serbie et Monténégro, Turquie, Ukraine, Maroc, Moldova, Tunisie.
      */
      $inter_countries_2 = 'AL,AM,AZ,BA,BG,BY,CS,DZ,GE,HR,IS,MA,MD,MK,RO,RU,TN,TR,UA';
      /* Codes ISO des pays en zone C, séparés par une virgule.
         Afrique du Sud, Angola, Arabie Saoudite (Royaume), Bahraïn, Bénin, Botswana, Burkina Faso, Burundi, Cameroun, Canada,
         Cap-Vert, Centrafrique, Comores, Congo (Rép. du), Congo (Rép. Dém. du ex-Zaïre), Côte d’Ivoire (Rép. de la), Djibouti, Egypte,
         Emirats Arabes Unis, Erythrée, Etats Unis, Ethiopie, Gabon, Gambie, Ghana,Guinée (Rép. de), Guinée-Bissau, Guinée Equatoriale,
         Iran, Iraq, Israël, Jordanie, Kenya, Lesotho, Liban, Libéria, Libye (Jamahiriya Libyenne), Madagascar, Malawi, Mali, Maurice,
         Mauritanie, Mozambique, Namibie, Niger, Nigéria, Ouganda, Porto-Rico, Qatar, Rwanda, Seychelles, Sao Tome et Principe, Sénégal,
         Sierra Leone, Somalie, Soudan, Swaziland,  Syrie (Rép. Arabe Syrienne), Tanzanie, Tchad, Togo, Yémen, Zambie, Zimbabwe.
      */
      $inter_countries_3 = 'AE,AO,BF,BH,BI,BJ,BW,CA,CD,CF,CG,CI,CM,CV,DJ,EG,ER,ET,GA,GH,GM,GN,GQ,GW,IL,IQ,IR,JO,KE,KM,LB,LR,LS,LY,MG,ML,MR,MU,MW,MZ,NA,NE,NG,PR,QA,RW,SA,SC,SD,SL,SN,SO,ST,SY,SZ,TD,TG,TZ,UG,US,YE,ZA,ZM,ZW';
      /* Codes ISO des pays en zone D, séparés par une virgule.
         Afghanistan, Anguilla, Antigua & Barbuda, Argentine, Aruba, Australie, Bahamas, Bangladesh, Barbade, Belize, Bermudes, Bhoutan,
         Bolivie, Bonaire, Bresil, Brunei Darussalam, Cambodge, Canaries, Cayman, Chili, Chine, Colombie, Cook, Corée du Nord, Corée du Sud,
         Costa Rica, Cuba, Curacao, Dominicaine (République), Dominique, El Salvador, Equateur, Féroe (Iles), Fidji, Grenade, Groenland,
         Guam, Guatemala, Guyana, Haiti, Honduras, Hong Kong, Inde, Indonésie, Jamaique, Japon, Kazakhstan, Kirghizistan, Kiribati,
         Koweit, Laos, Macao, Malaisie, Maldives, Marshall (îles), Mexique, Micronésie, Mongolie, Montserrat, Myanmar, Nauru, Népal,
         Nicaragua, Nouvelle Zélande, Oman, Ouzbékistan, Pakistan, Palau, Palestine, Panama, Papouasie Nlle Guinée, Paraguay, Pérou,
         Philippines, Saba, Saint Barthelemy, Saint Christophe & Névis, Saint Eustache, Saint Martin (partie française), Saint Martin (partie
         hollandaise), Saint Thomas, Saint Vincent & Grenadines, Sainte Croix, Sainte Lucie, Saipan (Iles Mariannes), Salomon, Samoa,
         Samoa Américaines, Singapour, Sri Lanka, Surinam, Tadjikistan, Taiwan, Thailande, Timor Oriental, Tonga (Iles), Trinité & Tobago,
         Turkménistan, Turques & Caiques, Tuvalu, Uruguay, Vanuatu, Vénézuela, Vierges Américaines (îles), Vierges Britanniques (îles),
         Vietnam.
      */
      $inter_countries_4  = 'AF,AG,AI,AN,AN,AN,AN,AR,AS,AU,AW,BB,BD,BM,BN,BO,BR,BS,BT,BZ,CK,CL,CN,CO,CR,CU,DM,DO,EC,FJ,FM,FO,GD,GL,GP,GP,GT,GU,GY,HK,HN,HT,IC,ID,IN,JM,JP,KG,KH,KI,KN,KP,KR,KW,KY,KZ,LA,LC,LK,MH,MI,MM,MN,MO,MP,MS,MV,MX,MY,NI,NP,NR,OM,PA,PE,PG,PH,PK,PS,PW,PY,SB,SG,SR,SV,TC,TH,TJ,TL,TM,TO,TT,TV,TW,UY,UZ,VC,VE,VG,VI,VI,VI,VN VU,WS';

      /* Recherche zone de destination */
      $dest_zone = 0;
      for ($i = 1; $i <= 4; $i ++) {
         $c = 'inter_countries_' . $i;
         $countries = split("[,]", $$c);
         if (in_array($iso_code, $countries)) {
           $dest_zone = $i;
           break;
         }
      }

      if ($dest_zone == 0) { /* Code pays dans aucune zone */
         $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY;
         return;
      }

      /* Tarifs au départ de la France métropolitaine, Monaco, Andorre vers l'International (zones A, B, C et D)*/
      $inter_NORMAL_1 = '1:16.15,2:17.85,3:21.55,4:22.25,5:28,95,6:32.65,7:38.35,8:40.05,9:43.75,10:47.45,15:54.65,20:61.85,25:69.05,30:76.25';
      $inter_NORMAL_2 = '1:19.80,2:21.70,3:26.25,4:30.8,5:35.35,6:39.90,7:44.45,8:49,9:53.55,10:58.10,15:68.5,20:78.9';
      $inter_NORMAL_3 = '1:23.20,2:31.10,3:40.90,4:50.70,5:60.50,6:70.30,7:80.10,8:89.9,9:99.70,10:109.50,15:133.6,20:157.7';
      $inter_NORMAL_4 = '1:26.40,2:39.70,3:52.90,4:66.10,5:79.30,6:92.50,7:105.70,8:118.9,9:132.10,10:145.3,15:171,3,20:197.30';

      /* Tarifs économiques au départ de la France métropolitaine, Monaco, Andorre vers l'International (zones B, C et D) */
      $inter_ECONOM_2 = '1:19.80,2:21.70,3:26.25,4:30.8,5:35.35,6:39.90,7:44.45,8:49,9:53.55,10:58.10,15:68.5,20:78.9';
      $inter_ECONOM_3 = '1:23.20,2:31.10,3:40.90,4:50.70,5:60.50,6:70.30,7:80.10,8:89.9,9:99.70,10:109.50,15:133.6,20:157.7';
      $inter_ECONOM_4 = '1:26.40,2:39.70,3:52.90,4:66.10,5:79.30,6:92.50,7:105.70,8:118.9,9:132.10,10:145.3,15:171,3,20:197.30';

      if ($method_id == '') {
         $t = 'inter_NORMAL_' . $dest_zone;
         $this->_add_method($$t, 'NORMAL', '', $this->ad_valorem, MODULE_SHIPPING_COLISSIMO_DELAY_INTERNAT);
         if ($dest_zone != 1) {  /* ECONOM pas admis pour la zone A */
            $t = 'inter_ECONOM_' . $dest_zone;
            $this->_add_method($$t, 'ECONOM', '', false, MODULE_SHIPPING_COLISSIMO_DELAY_INTERNAT_ECO);
         }
      }
      else if ($method_id == 'NORMAL') {
         $t = 'inter_NORMAL_' . $dest_zone;
         $this->_add_method($$t, $method_id, '', $this->ad_valorem, MODULE_SHIPPING_COLISSIMO_DELAY_INTERNAT);
      }
      else if ($method_id == 'ECONOM' and $dest_zone != 1) {
         $t = 'inter_ECONOM_' . $dest_zone;
         $this->_add_method($$t, $method_id, '', false, MODULE_SHIPPING_COLISSIMO_DELAY_INTERNAT_ECO);
      }
      $this->_verifier_methodes();
   }

   function _dom_vers_international($depart, $iso_code, $method_id = '') {

      switch ($depart) {
      case '971' : /* Guadeloupe + St Barthelemy + St Martin */
      case '972' : /* Martinique */
         /* Codes ISO des pays en zone A, séparés par une virgule.
            Antigua, Antilles Néerlandaises, Barbade, Dominique, Etats-Unis, Grenade, Guyana, Haiti, Montserrat, Saint-Christophe et Névis,
            Saint-Vincent, Sainte-Lucie, Trinité, Iles Vierges */
         $inter_countries_1 = 'AG,AN,BB,DM,GD,GY,HT,KN,LC,MS,TT,US,VC,VG,VI';
         /* Codes ISO des pays en zone B, séparés par une virgule. */
         $inter_countries_2 = 'AC,AD,AE,AF,AI,AL,AM,AO,AR,AS,AT,AU,AW,AZ,BA,BD,BE,BF,BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CS,CU,CV,CY,CZ,DE,DJ,DK,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FM,FO,GA,GB,GB,GE,GF,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,HK,HN,HR,HU,IC,ID,IE,IL,IN,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KP,KR,KW,KY,KZ,LA,LB,LI,LK,LR,LS,LT,LU,LV,LY,MA,MD,ME,MG,MH,MI,MK,ML,MM,MN,MO,MP,MQ,MR,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NG,NI,NL,NO,NP,NR,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TG,TH,TJ,TL,TM,TN,TO,TR,TV,TW,TZ,UA,UG,UY,UZ,VA,VE,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW';
         break;

      case '973' : /* Guyanne Française */
         /* Codes ISO des pays en zone A, séparés par une virgule.
            Guyana, Haiti, Sainte-Lucie
         */
         $inter_countries_1 = 'GY,HT,LC';
         /* Codes ISO des pays en zone B, séparés par une virgule. */
         $inter_countries_2 = 'AC,AD,AE,AF,AG,AI,AL,AM,AN,AO,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CS,CU,CV,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FM,FO,GA,GB,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,HK,HN,HR,HU,IC,ID,IE,IL,IN,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LI,LK,LR,LS,LT,LU,LV,LY,MA,MD,ME,MG,MH,MI,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NG,NI,NL,NO,NP,NR,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TG,TH,TJ,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW';
         break;

      case '974' : /* Réunion */
      case '976' : /* Mayotte */
         /* Codes ISO des pays en zone A, séparés par une virgule.
            Afrique du Sud, Comores, Kenya, Madagascar, Maurice, Seychelles
         */
         $inter_countries_1 = 'KE,KM,MG,MU,SC,ZA';
         /* Codes ISO des pays en zone B, séparés par une virgule. */
         $inter_countries_2 = 'AC,AD,AE,AF,AG,AI,AL,AM,AN,AO,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CS,CU,CV,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FM,FO,GA,GB,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HN,HR,HT,HU,IC,ID,IE,IL,IN,IQ,IR,IS,IT,JE,JM,JO,JP,KG,KH,KI,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MD,ME,MH,MI,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MV,MW,MX,MY,MZ,NA,NC,NE,NG,NI,NL,NO,NP,NR,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TG,TH,TJ,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZM,ZW';
         break;

      case '975' : /* St Pierre & Miquelon */
         /* Codes ISO des pays en zone A, séparés par une virgule. */
         $inter_countries_1 = '';
         /* Codes ISO des pays en zone B, séparés par une virgule. */
         $inter_countries_2 = 'AC,AD,AE,AF,AG,AI,AL,AM,AN,AO,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BW,BY,BZ,CA,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CS,CU,CV,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ER,ES,ET,FI,FJ,FM,FO,GA,GB,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HN,HR,HT,HU,IC,ID,IE,IL,IN,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MD,ME,MG,MH,MI,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NG,NI,NL,NO,NP,NR,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PR,PS,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SI,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TG,TH,TJ,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW';
         break;

      default :
         break;
      } /* end switch */

      /* Recherche zone de destination */
      $dest_zone = 0;
      for ($i = 1; $i <= 2; $i ++) {
         $c = 'inter_countries_' . $i;
         $countries = split("[,]", $$c);
         if (in_array($iso_code, $countries)) {
           $dest_zone = $i;
           break;
         }
      }
      if ($dest_zone == 0) { /* Code pays dans aucune zone */
         $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY;
         return;
      }

      /* Tarifs au départ des DOM et Mayotte, Saint-Pierre et Miquelon vers l'International (zones A et B) */
      $inter_NORMAL_1 = '1:13.4,2:17.5,3:21.6,4:25.7,5:29.8,6:33.9,7:38,8:42.1,9:46.2,10:50.3,15:60.55,20:70.8,25:81.05,30:91.3';
      $inter_NORMAL_2 = '1:26.8,2:35,3:43.2,4:51.4,5:59.6,6:67.8,7:76,8:84.2,9:92.4,10:100.6,15:141.6,20:182.6,25:223.6,30:264.6';

      /* Tarif économique au départ des DOM et Mayotte, Saint-Pierre et Miquelon vers l'International (zone B). */
      $inter_ECONOM_2 = '1:22.65,2:27.8,3:32.95,4:38.1,5:43.25,6:48.4,7:53.55,8:58.7,9:63.85,10:69,15:94.75,20:120.5,25:146.25,30:172';

      /* Les tarifs de la zone B s'appliquent pour toutes les destinations au départ de St Pierre & Miquelon */
      if ($depart == '975') $dest_zone = 2;

      if ($method_id == '') {
         $t = 'inter_NORMAL_' . $dest_zone;
         $this->_add_method($$t, 'NORMAL', '', $this->ad_valorem, MODULE_SHIPPING_COLISSIMO_DELAY_DOM_INTERNAT);
         if ($dest_zone != 1) {  /* ECO pas admis pour la zone A */
            $t = 'inter_ECONOM_' . $dest_zone;
            $this->_add_method($$t, 'ECONOM', '', false, MODULE_SHIPPING_COLISSIMO_DELAY_DOM_INTERNAT_ECO);
         }
      }
      else if ($method_id == 'NORMAL') {
         $t = 'inter_NORMAL_' . $dest_zone;
         $this->_add_method($$t, $method_id, '', $this->ad_valorem, MODULE_SHIPPING_COLISSIMO_DELAY_DOM_INTERNAT);
      }
      else if ($method_id == 'ECONOM' and $dest_zone != 1) {
         $t = 'inter_ECONOM_' . $dest_zone;
         $this->_add_method($$t, $method_id, '', false, MODULE_SHIPPING_COLISSIMO_DELAY_DOM_INTERNAT_ECO);
      }
      $this->_verifier_methodes();
   }



   /***** Public functions *****/
   function quote($method_id = '') {
      global $order, $shipping_weight, $shipping_num_boxes;

      if (zen_not_null($method_id)) {
         if (($method_id != 'NORMAL') and ($method_id != 'ECONOM') and
            ($method_id != 'RECOMM') and ($method_id != 'RECOMMCR')) return;
      }

      $this->quotes = array('id' => $this->code,
                          'module' => MODULE_SHIPPING_COLISSIMO_TEXT_TITLE,
                          'methods' => array());

      if (zen_not_null($this->icon))
         $this->quotes['icon'] = zen_image($this->icon, $this->title);

      /* Récupération du colisage effectué par osCommerce (Voir fractionnement des colis dans la classe 'shipping'). */
      $this->poids_unitaire = $shipping_weight;
      $this->nb_boites = $shipping_num_boxes;

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

      /* Code postal de la boutique expéditrice */
      $orig2 = substr(trim(SHIPPING_ORIGIN_ZIP), 0, 2);
      $orig3 = substr(trim(SHIPPING_ORIGIN_ZIP), 0, 3);
      
      if ($orig2 == '97')  $origine = 'DOM';
      elseif ($orig2 == '98')  $origine = 'TOM';
      else $origine = 'NAT';

      $destination = $order->delivery['country']['iso_code_2'];  /* Pays de destination */

      /* Correction avec code postal destinataire en cas mauvaise saisie utilisateur pour DOM,TOM,CT */
      if ($destination == 'FR' or $destination == 'FX') {
         $dest3 = substr(trim($order->delivery['postcode']), 0, 3);
         if ($dest3 == '971') $destination = 'GP';
         elseif ($dest3 == '972') $destination = 'MQ';
         elseif ($dest3 == '973') $destination = 'GF';
         elseif ($dest3 == '974') $destination = 'RE';
         elseif ($dest3 == '975') $destination = 'PM';
         elseif ($dest3 == '976') $destination = 'YT';
         elseif ($dest3 == '984') $destination = 'TF';
         elseif ($dest3 == '986') $destination = 'WF';
         elseif ($dest3 == '987') $destination = 'PF';
         elseif ($dest3 == '988') $destination = 'NC';
      }

      switch ($destination) {
      case 'FR' :
      case 'FX' :
      case 'AD' :
      case 'MC' :
         if ($origine == 'NAT') $this->_national_vers_national($method_id);
         elseif ($origine == 'DOM') $this->_entre_national_et_dom($method_id);
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'GP' :
      case 'MQ' :
         if ($origine == 'NAT') $this->_entre_national_et_dom($method_id);
         elseif ($origine == 'DOM') {
            if (($orig3 == '971') or ($orig3 == '972')) $this->_national_vers_national($method_id);
            elseif ($orig3 == '973') $this->_dom_vers_dom_de_proximite($method_id);
            elseif (($orig3 == '974') or ($orig3 == '975') or ($orig3 == '976')) $this->_dom_vers_dom_eloigne($method_id);
         }
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'GF' :
         if ($origine == 'NAT') $this->_entre_national_et_dom($method_id);
         elseif ($origine == 'DOM') {
            if (($orig3 == '971') or ($orig3 == '972')) $this->_dom_vers_dom_de_proximite($method_id);
            elseif ($orig3 == '973') $this->_national_vers_national($method_id);
            elseif (($orig3 == '974') or ($orig3 == '975') or ($orig3 == '976')) $this->_dom_vers_dom_eloigne($method_id);
         }
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'RE' :
         if ($origine == 'NAT') $this->_entre_national_et_dom($method_id);
         elseif ($origine == 'DOM') {
            if (($orig3 == '971') or ($orig3 == '972') or ($orig3 =='973') or ($orig3 == '975')) $this->_dom_vers_dom_eloigne($method_id);
            elseif ($orig3 == '974') $this->_national_vers_national($method_id);
            elseif ($orig3 == '976') $this->_dom_vers_dom_de_proximite($method_id);
         }
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'YT' :
         if ($origine == 'NAT') $this->_entre_national_et_dom($method_id);
         elseif ($origine == 'DOM') {
            if (($orig3 == '971') or ($orig3 == '972') or ($orig3 =='973') or ($orig3 == '975')) $this->_dom_vers_dom_eloigne($method_id);
            elseif ($orig3 == '976') $this->_national_vers_national($method_id);
            elseif ($orig3 == '974') $this->_dom_vers_dom_de_proximite($method_id);
         }
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'PM' :
         if ($origine == 'NAT') $this->_entre_national_et_dom($method_id);
         elseif ($origine == 'DOM') {
            if (($orig3 == '971') or ($orig3 == '972') or ($orig3 =='973') or ($orig3 == '974') or ($orig3 == '976'))
               $this->_dom_vers_dom_eloigne($method_id);
            elseif ($orig3 == '975') $this->_national_vers_national($method_id);
         }
         else $this->_national_ou_dom_vers_tom($method_id);
         break;

      case 'NC' :
      case 'PF' :
      case 'WF' :
      case 'TF' :
         if (($origine == 'NAT') or ($origine == 'DOM')) $this->_national_ou_dom_vers_tom($method_id);
         else $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY;
         break;

      default :
         if ($this->international) {
            if ($origine == 'NAT') $this->_national_vers_international($orig3, $destination, $method_id);
            elseif ($origine == 'DOM') $this->_dom_vers_international($orig3, $destination, $method_id);
            else $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY;
         }
         else   $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY;
         break;
      } /* end switch */

      return $this->quotes;
   }

   /* Retourne le statut du module (activé/désactivé) */
   function check() {
      global $db;

      /* _check: nom utilisé par OsCommerce. */
      if (!isset($this->_check)) {
         $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_COLISSIMO_STATUS'");
         $this->_check = $check_query->RecordCount();
      }
      return $this->_check;
   }

   /* Constantes stockées dans BDD */
   function install() {
      global $db;

      /* Activation du module */
      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Module Colissimo activé ?', 'MODULE_SHIPPING_COLISSIMO_STATUS', 'True', 'Voulez-vous activer l\'expédition par Colissimo ?', '6', '0','zen_cfg_select_option(array(\'True\', \'False\'), ', now())");




Je vous remercie de votre aide
Amicalement
Peter Din
Journalisée

gob33
Acharné
****

Points gagnés: -1
Messages: 264


Voir le profil
Re : Bug ou mauvais paramétrage
« Répondre #1 le: 17 Août 2011 à 13:29:39 »

C'est parce que tu utilises encore une vieille version non-compatible PHP 5.3 et que ton hébergeur a du upgrader PHP entre-temps. Tu devrais vérifier aussi ta version de ZC pour PHP 5.3.
Journalisée

peterdin
Nouveau membre
*

Points gagnés: 0
Messages: 25



Voir le profil WWW
Re : Bug ou mauvais paramétrage
« Répondre #2 le: 17 Août 2011 à 20:20:46 »

Bonsoir,

Merci pour ta réponse, j'utilsie la version 1.3.9.h et le site me dit que ma version est à jour.

Il y a sans doute une nouvelle version de colissimo mais sur le site, il n'y a que des versions anciennes et je ne sais pas ou trouver les versions récentes.

Dans tous les cas, merci de votre aide.
Amicalement
Peter Din
Journalisée

jean-luc
Modérateurs
Intarissable
*****

Points gagnés: 3
Messages: 1561



Voir le profil WWW
Re : Bug ou mauvais paramétrage
« Répondre #3 le: 19 Août 2011 à 22:11:01 »

Bonsoir,

Va chez Gob il  ça en magasin...
Journalisée

jean-luc Evil or Very Mad

pas bon, mais promis j'essaye de m'améliorer tous les jours Evil or Very Mad

www.anneg-lingerie.com

Pages: [1]
  Imprimer  
 

Aller à: