Quesito per ordini superiori a € 100

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

eros23
membro Junior
membro Junior
Messaggi: 30
Iscritto il: 09/07/2008, 23:04
Contatta:

Re: Quesito per ordini superiori a € 100

Messaggio da eros23 »

Ragazzi io pure ho interesse per il contrassegno però non ho capito niente...vi scpiego il mio problema.

I miei utenti quando vanno a pagare deve uscire se selezionano Contrassegno le spese supplementari...quindi quale modulo devo usare?

questo:

http://addons.oscommerce.com/info/3334

o questo:

http://www.oscommerce.com/community/con ... ot_cod_fee

Aiutatemi
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re:

Messaggio da jerys1974 »

[quote="dr_ock"]Ad essere sincero non saprei dove mettere le mani...
Qui di seguito ti posto il codice :

Codice: Seleziona tutto

<?php
/*
  $Id: ot_cod_fee.php,v 1.00 2002/11/30 17:02:00 harley_vb Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2002 osCommerce

  Released under the GNU General Public License
*/
/********************************************************************
*	Copyright (C) 2002 TheMedia, Dipl.-Ing Thomas Pl"nkers. 
*       http://www.themedia.at & http://www.oscommerce.at
*
*                    All rights reserved. 
*
* This program is free software licensed under the GNU General Public License (GPL).
*
*    This program is free software; you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation; either version 2 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program; if not, write to the Free Software
*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
*    USA
*
*********************************************************************/

  class ot_cod_fee {
    var $title, $output;

    function ot_cod_fee() {
      $this->code = 'ot_cod_fee';
      $this->title = MODULE_ORDER_TOTAL_COD_TITLE;
      $this->description = MODULE_ORDER_TOTAL_COD_DESCRIPTION;
      $this->enabled = ((MODULE_ORDER_TOTAL_COD_STATUS == 'true') ? true : false);
      $this->sort_order = MODULE_ORDER_TOTAL_COD_SORT_ORDER;

      $this->output = array();
    }

    function process() {
      global $order, $currencies, $cod_cost, $cod_country, $shipping;

      if (MODULE_ORDER_TOTAL_COD_STATUS == 'true') {
        $tax = tep_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS);

        //Will become true, if cod can be processed.
        $cod_country = false;

        //check if payment method is cod. If yes, check if cod is possible.
        if ($GLOBALS['payment'] == 'cod') {
          //process installed shipping modules
          if (substr_count($shipping['id'], 'flat') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);
          if (substr_count($shipping['id'], 'item') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);
          if (substr_count($shipping['id'], 'table') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);
          if (substr_count($shipping['id'], 'ups') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_UPS);
          if (substr_count($shipping['id'], 'usps') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_USPS);
          if (substr_count($shipping['id'], 'fedex') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FEDEX);
          if (substr_count($shipping['id'], 'zones') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);
          if (substr_count($shipping['id'], 'ap') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);
          if (substr_count($shipping['id'], 'dp') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);
          if (substr_count($shipping['id'], 'corriere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1);
          if (substr_count($shipping['id'], 'postepaccocelere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1);
          if (substr_count($shipping['id'], 'postepaccocelere3') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3);
          if (substr_count($shipping['id'], 'postepaccoordinario') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO);
          if (substr_count($shipping['id'], 'postepostaordinaria') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA);
          if (substr_count($shipping['id'], 'postepostaprioritaria') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA);
          if (substr_count($shipping['id'], 'postepostaraccomandata') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA);
	  //satt inn av Pompel
	  if (substr_count($shipping['id'], 'servicepakke') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE);
	  
            for ($i = 0; $i < count($cod_zones); $i++) {
              if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
                  $cod_cost = $cod_zones[$i + 1];
                  $cod_country = true;
                  //print('match' . $i . ': ' . $cod_cost);
                  break;
                } elseif ($cod_zones[$i] == '00') {
                  $cod_cost = $cod_zones[$i + 1];
                  $cod_country = true;
                  //print('match' . $i . ': ' . $cod_cost);
                  break;
                } else {
                  //print('no match');
                }
              $i++;
            }
          } else {
            //COD selected, but no shipping module which offers COD
          }

        if ($cod_country) {
            $cod_tax_description = tep_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']);
            $order->info['tax'] += tep_calculate_tax($cod_cost, $tax);
            $order->info['tax_groups']["{$cod_tax_description}"] += tep_calculate_tax($cod_cost, $tax);
            $order->info['total'] += $cod_cost + tep_calculate_tax($cod_cost, $tax);
            $this->output[] = array('title' => $this->title . ':',
                                    'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
                                    'value' => $cod_cost);

        } else {
//Following code should be improved if we can't get the shipping modules disabled, who don't allow COD
// as well as countries who do not have cod
//          $this->output[] = array('title' => $this->title . ':',
//                                  'text' => 'No COD for this module.',
//                                  'value' => '');
        }
      }
    }

    function check() {
      if (!isset($this->_check)) {
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_COD_STATUS'");
        $this->_check = tep_db_num_rows($check_query);
      }

      return $this->_check;
    }
//lagt tilk servicepakke her!!!!
    function keys() {
      return array('MODULE_ORDER_TOTAL_COD_STATUS', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA','MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS');
    }

    function install() {
      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 ('Display COD', 'MODULE_ORDER_TOTAL_COD_STATUS', 'true', 'Do you want this module to display?', '6', '1','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, date_added) values ('Sort Order', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', '4', 'Sort order of display.', '6', '2', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'AT:3.00,DE:3.58,00:9.99', 'FLAT: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '3', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'AT:3.00,DE:3.58,00:9.99', 'ITEM: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'AT:3.00,DE:3.58,00:9.99', 'TABLE: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '5', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for UPS', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'CA:4.50,US:3.00,00:9.99', 'UPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '6', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for USPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'CA:4.50,US:3.00,00:9.99', 'USPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '7', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'CA:4.50,US:3.00,00:9.99', 'ZONES: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '8', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Austrian Post', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'AT:3.63,00:9.99', 'Austrian Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '9', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for German Post', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:3.58,00:9.99', 'German Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for CORRIERE1', 'MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1', 'IT:7.00,00:9.99', 'CORRIERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '11', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE1', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE3', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE3: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '13', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'IT:7.50,00:9.99', 'POSTEPACCOORDINARIO: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '14', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTAORDINARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA', 'IT:7.50,00:9.99', 'POSTEPOSTAORDINARIA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '15', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTAPRIORITARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA', 'IT:7.50,00:9.99', 'POSTEPOSTAPRIORITARIA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '16', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTARACCOMANDATA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', 'IT:7.50,00:9.99', 'POSTEPOSTARACCOMANADATA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '17', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Servicepakke', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'NO:69', 'Servicepakke: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '18', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FedEx', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'US:3.00', 'FedEx: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '19', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '11', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
    }
    

    function remove() {
      $keys = '';
      $keys_array = $this->keys();
      $keys_size = sizeof($keys_array);
      for ($i=0; $i<$keys_size; $i++) {
        $keys .= "'" . $keys_array[$i] . "',";
      }
      $keys = substr($keys, 0, -1);

      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");
    }
  }
?>
Ciao Marcus,
sto provando il codice che hai postato ma mi da sempre degli errori di sintassi e per la precisione:
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /includes/modules/order_total/ot_cod_fee.php on line 40
Ora proverò con altri moduli
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re:

Messaggio da jerys1974 »

marcus ha scritto:Con riferimento al modulo di Ruggero, ecco il file modificato. Le aggiunte sono marcate da /*FREE SHIP COD FEE ADD * /.

Procedura:

- disinstalla il modulo ot_cod_fee
- backuppa il file
- aggiorna il file
- reinstalla il modulo

Dovrebbe comparire una nuova casella che ti consente di settare il supplemento per la spedizione gratuita.

Codice: Seleziona tutto

<?php
/*
$Id: ot_cod_fee.php,v 1.00 2002/11/30 17:02:00 harley_vb Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2002 osCommerce

Released under the GNU General Public License
*/
/********************************************************************
*   Copyright (C) 2002 TheMedia, Dipl.-Ing Thomas Pl"nkers.
*       http://www.themedia.at & http://www.oscommerce.at
*
*                    All rights reserved.
*
* This program is free software licensed under the GNU General Public License (GPL).
*
*    This program is free software; you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation; either version 2 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program; if not, write to the Free Software
*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
*    USA
*
*********************************************************************/

class ot_cod_fee {
	var $title, $output;

	function ot_cod_fee() {
		$this->code = 'ot_cod_fee';
		$this->title = MODULE_ORDER_TOTAL_COD_TITLE;
		$this->description = MODULE_ORDER_TOTAL_COD_DESCRIPTION;
		$this->enabled = ((MODULE_ORDER_TOTAL_COD_STATUS == 'true') ? true : false);
		$this->sort_order = MODULE_ORDER_TOTAL_COD_SORT_ORDER;

		$this->output = array();
	}

	function process() {
		global $order, $currencies, $cod_cost, $cod_country, $shipping;

		if (MODULE_ORDER_TOTAL_COD_STATUS == 'true') {
			$tax = tep_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS);

			//Will become true, if cod can be processed.
			$cod_country = false;

			//check if payment method is cod. If yes, check if cod is possible.
			if ($GLOBALS['payment'] == 'cod') {
				//process installed shipping modules
				if (substr_count($shipping['id'], 'flat') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);
				if (substr_count($shipping['id'], 'item') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);
				if (substr_count($shipping['id'], 'table') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);

				/*FREE SHIP COD FEE ADD */
				if (substr_count($shipping['id'], 'free_free') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREESHIP);
				/*FREE SHIP COD FEE ADD */

				if (substr_count($shipping['id'], 'ups') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_UPS);
				if (substr_count($shipping['id'], 'usps') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_USPS);
				if (substr_count($shipping['id'], 'fedex') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FEDEX);
				if (substr_count($shipping['id'], 'zones') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);
				if (substr_count($shipping['id'], 'ap') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);
				if (substr_count($shipping['id'], 'dp') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);
				if (substr_count($shipping['id'], 'corriere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1);
				if (substr_count($shipping['id'], 'postepaccocelere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1);
				if (substr_count($shipping['id'], 'postepaccocelere3') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3);
				if (substr_count($shipping['id'], 'postepaccoordinario') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO);
				if (substr_count($shipping['id'], 'postepostaordinaria') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA);
				if (substr_count($shipping['id'], 'postepostaprioritaria') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA);
				if (substr_count($shipping['id'], 'postepostaraccomandata') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA);
				//satt inn av Pompel
				if (substr_count($shipping['id'], 'servicepakke') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE);

				for ($i = 0; $i < count($cod_zones); $i++) {
					if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
						$cod_cost = $cod_zones[$i + 1];
						$cod_country = true;
						//print('match' . $i . ': ' . $cod_cost);
						break;
					} elseif ($cod_zones[$i] == '00') {
						$cod_cost = $cod_zones[$i + 1];
						$cod_country = true;
						//print('match' . $i . ': ' . $cod_cost);
						break;
					} else {
						//print('no match');
					}
					$i++;
				}
			} else {
				//COD selected, but no shipping module which offers COD
			}

			if ($cod_country) {
				$cod_tax_description = tep_get_tax_description(MODULE_ORDER_TOTAL_COD_TAX_CLASS, $order->delivery['country']['id'], $order->delivery['zone_id']);
				$order->info['tax'] += tep_calculate_tax($cod_cost, $tax);
				$order->info['tax_groups']["{$cod_tax_description}"] += tep_calculate_tax($cod_cost, $tax);
				$order->info['total'] += $cod_cost + tep_calculate_tax($cod_cost, $tax);
				$this->output[] = array('title' => $this->title . ':',
				'text' => $currencies->format($cod_cost, true,  $order->info['currency'], $order->info['currency_value']),
				'value' => $cod_cost);

			} else {
				//Following code should be improved if we can't get the shipping modules disabled, who don't allow COD
				// as well as countries who do not have cod
				//          $this->output[] = array('title' => $this->title . ':',
				//                                  'text' => 'No COD for this module.',
				//                                  'value' => '');
			}
		}
	}

	function check() {
		if (!isset($this->_check)) {
			$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_COD_STATUS'");
			$this->_check = tep_db_num_rows($check_query);
		}

		return $this->_check;
	}
	//lagt tilk servicepakke her!!!!



	function keys() {
		return array('MODULE_ORDER_TOTAL_COD_STATUS', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', /*FREE SHIP COD FEE ADD */'MODULE_ORDER_TOTAL_COD_FEE_FREESHIP'/*FREE SHIP COD FEE ADD */, 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA','MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS');
	}


	function install() {
		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 ('Display COD', 'MODULE_ORDER_TOTAL_COD_STATUS', 'true', 'Do you want this module to display?', '6', '1','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, date_added) values ('Sort Order', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', '4', 'Sort order of display.', '6', '2', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'AT:3.00,DE:3.58,00:9.99', 'FLAT: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '3', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'AT:3.00,DE:3.58,00:9.99', 'ITEM: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '4', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'AT:3.00,DE:3.58,00:9.99', 'TABLE: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '5', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for UPS', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'CA:4.50,US:3.00,00:9.99', 'UPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '6', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for USPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'CA:4.50,US:3.00,00:9.99', 'USPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '7', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'CA:4.50,US:3.00,00:9.99', 'ZONES: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '8', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Austrian Post', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'AT:3.63,00:9.99', 'Austrian Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '9', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for German Post', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:3.58,00:9.99', 'German Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for CORRIERE1', 'MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1', 'IT:7.00,00:9.99', 'CORRIERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '11', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE1', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE3', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE3: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '13', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'IT:7.50,00:9.99', 'POSTEPACCOORDINARIO: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '14', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTAORDINARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAORDINARIA', 'IT:7.50,00:9.99', 'POSTEPOSTAORDINARIA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '15', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTAPRIORITARIA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTAPRIORITARIA', 'IT:7.50,00:9.99', 'POSTEPOSTAPRIORITARIA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '16', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTARACCOMANDATA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', 'IT:7.50,00:9.99', 'POSTEPOSTARACCOMANADATA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '17', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Servicepakke', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'NO:69', 'Servicepakke: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '18', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FedEx', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'US:3.00', 'FedEx: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '19', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '11', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");

		/*FREE SHIP COD FEE ADD */
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FREE SHIP', 'MODULE_ORDER_TOTAL_COD_FEE_FREESHIP', 'IT:7.00,00:9.99', 'COD Fee for FREE SHIPPING', '6', '3', now())");
		/*FREE SHIP COD FEE ADD */
	}


	function remove() {
		$keys = '';
		$keys_array = $this->keys();
		$keys_size = sizeof($keys_array);
		for ($i=0; $i<$keys_size; $i++) {
			$keys .= "'" . $keys_array[$i] . "',";
		}
		$keys = substr($keys, 0, -1);

		tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");
	}
}
?>
Saluti
Marcus
Anche questo non mi funziona e mi da sempre lo stesso errore.
Perché? Cosa sbaglio?
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re: Quesito per ordini superiori a € 100

Messaggio da jerys1974 »

dopo varie modifiche ancora non mi funziona.
La cosa strana è che se abilito le spese di consegna gratuite per ordini superiori un certo importo (esempio €200), non mi da più la possibilità di scegliere con cosa spedire e, a patto che dia per scontato che qualsiasi cosa vada bene visto che paga il mittente, non mi compare la scritta del supplemento.
Idee???
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re: Quesito per ordini superiori a € 100

Messaggio da jerys1974 »

se inserisco i codici indicati da Marcus

/*FREE SHIP COD FEE ADD */
          if ($shipping['id']=='free_free') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREESHIP);
          /*FREE SHIP COD FEE ADD */
oppure
 /*FREE SHIP COD FEE ADD */
           if (substr_count($shipping['id'], 'free_free') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREESHIP);
           /*FREE SHIP COD FEE ADD */

non cambia nulla. per il sistema non installa nulla e mi dice che c'è un Parse error: syntax error, unexpected T_STRING
Marcuuuuuussssssss :(
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re: Quesito per ordini superiori a € 100

Messaggio da jerys1974 »

io posto tutto il code del file ot_cod_fee.php
se riscrivo a mano (quindi no copia e incolla) il codice indicato da Marcus, non mi da più l'errore di sintassi ma, in ogni caso, non funziona. Per il programma, il supplemento alla consegna con le spedizioni a costo 0, non esiste. Ovviamente se l'importo dell'ordine è inferiore ai € 200 (o comunque all'importo indicato) funziona tutto.

Codice: Seleziona tutto

<?php
/*
  $Id: ot_cod_fee.php,v 1.00 2002/11/30 17:02:00 harley_vb Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2002 osCommerce

  Released under the GNU General Public License
*/
/********************************************************************
*	Copyright (C) 2002 TheMedia, Dipl.-Ing Thomas Pl?nkers. 
*       http://www.themedia.at & http://www.oscommerce.at
*
*                    All rights reserved. 
*
* This program is free software licensed under the GNU General Public License (GPL).
*
*    This program is free software; you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation; either version 2 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License
*    along with this program; if not, write to the Free Software
*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
*    USA
*
*********************************************************************/

  class ot_cod_fee {
    var $title, $output;

    function ot_cod_fee() {
      $this->code = 'ot_cod_fee';
      $this->title = MODULE_ORDER_TOTAL_COD_TITLE;
      $this->description = MODULE_ORDER_TOTAL_COD_DESCRIPTION;
      $this->enabled = ((MODULE_ORDER_TOTAL_COD_STATUS == 'true') ? true : false);
      $this->sort_order = MODULE_ORDER_TOTAL_COD_SORT_ORDER;

      $this->output = array();
    }

    function process() {
      global $order, $currencies, $cod_cost, $cod_country, $shipping;

      if (MODULE_ORDER_TOTAL_COD_STATUS == 'true') {
        $tax = tep_get_tax_rate(MODULE_ORDER_TOTAL_COD_TAX_CLASS);

        //Will become true, if cod can be processed.
        $cod_country = false;

        //check if payment method is cod. If yes, check if cod is possible.
        if ($GLOBALS['payment'] == 'cod') {
          //process installed shipping modules
          if ($shipping['id'] == 'flat_flat') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FLAT);
          if ($shipping['id'] == 'item_item') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ITEM);
          if ($shipping['id'] == 'table_table') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_TABLE);
          /*Free ship cod fee add */
          if (substr_count($shipping['id'], 'free_free') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_FREESHIP);
          /*FREE SHIP COD FEE ADD */
          
          if ($shipping['id'] == 'ups_ups') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_UPS);
          if (substr_count($shipping['id'], 'corriere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1);
          if (substr_count($shipping['id'], 'postepaccocelere1') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1);
          if (substr_count($shipping['id'], 'postepaccocelere3') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3);
          if (substr_count($shipping['id'], 'postepaccoordinario') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO);
          if (substr_count($shipping['id'], 'postepostaraccomandata') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA);
          if ($shipping['id'] == 'usps_usps') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_USPS);
          if ($shipping['id'] == 'zones_zones') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_ZONES);
          if ($shipping['id'] == 'ap_ap') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_AP);
          if ($shipping['id'] == 'dp_dp') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DP);
		  if (substr_count($shipping['id'], 'servicepakke') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE);
		  if (substr_count($shipping['id'], 'canadapost') !=0) $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_CANADA_POST);
          if ($shipping['id'] == 'dhl_dhl') $cod_zones = split("[:,]", MODULE_ORDER_TOTAL_COD_FEE_DHL);

            for ($i = 0; $i < count($cod_zones); $i++) {
              if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
                  $cod_cost = $cod_zones[$i + 1];
                  $cod_country = true;
                  //print('match' . $i . ': ' . $cod_cost);
                  break;
                } elseif ($cod_zones[$i] == '00') {
                  $cod_cost = $cod_zones[$i + 1];
                  $cod_country = true;
                  //print('match' . $i . ': ' . $cod_cost);
                  break;
                } else {
                  //print('no match');
                }
              $i++;
            }
          } else {
            //COD selected, but no shipping module which offers COD
          }

        if ($cod_country) {
            $order->info['tax'] += tep_calculate_tax($cod_cost, $tax);
            $order->info['tax_groups']["{$tax}"] += tep_calculate_tax($cod_cost, $tax);
            $order->info['total'] += $cod_cost + tep_calculate_tax($cod_cost, $tax);

            $this->output[] = array('title' => $this->title . ':',
                                    'text' => $currencies->format(tep_add_tax($cod_cost, $tax), true,  $order->info['currency'], $order->info['currency_value']),
                                    'value' => tep_add_tax($cod_cost, $tax));
        } else {
//Following code should be improved if we can't get the shipping modules disabled, who don't allow COD
// as well as countries who do not have cod
//          $this->output[] = array('title' => $this->title . ':',
//                                  'text' => 'No COD for this module.',
//                                  'value' => '');
        }
      }
    }

    function check() {
      if (!isset($this->_check)) {
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ORDER_TOTAL_COD_STATUS'");
        $this->_check = tep_db_num_rows($check_query);
      }

      return $this->_check;
    }

    function keys() {
      return array('MODULE_ORDER_TOTAL_COD_STATUS', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'MODULE_ORDER_TOTAL_COD_FEE_DHL','MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3','MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', /*FREE SHIP COD FEE ADD */'MODULE_ORDER_TOTAL_COD_FEE_FREESHIP'/*FREE SHIP COD FEE ADD */,'MODULE_ORDER_TOTAL_COD_TAX_CLASS');
    }

    function install() {
      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 ('Display COD', 'MODULE_ORDER_TOTAL_COD_STATUS', 'true', 'Do you want this module to display?', '6', '1','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, date_added) values ('Sort Order', 'MODULE_ORDER_TOTAL_COD_SORT_ORDER', '4', 'Sort order of display.', '6', '2', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FLAT', 'MODULE_ORDER_TOTAL_COD_FEE_FLAT', 'AT:3.00,DE:3.58,00:9.99', 'FLAT: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '3', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ITEM', 'MODULE_ORDER_TOTAL_COD_FEE_ITEM', 'AT:3.00,DE:3.58,00:9.99', 'ITEM: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for TABLE', 'MODULE_ORDER_TOTAL_COD_FEE_TABLE', 'AT:3.00,DE:3.58,00:9.99', 'TABLE: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '5', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for UPS', 'MODULE_ORDER_TOTAL_COD_FEE_UPS', 'CA:4.50,US:3.00,00:9.99', 'UPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '6', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for USPS', 'MODULE_ORDER_TOTAL_COD_FEE_USPS', 'CA:4.50,US:3.00,00:9.99', 'USPS: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '7', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for ZONES', 'MODULE_ORDER_TOTAL_COD_FEE_ZONES', 'CA:4.50,US:3.00,00:9.99', 'ZONES: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '8', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Austrian Post', 'MODULE_ORDER_TOTAL_COD_FEE_AP', 'AT:3.63,00:9.99', 'Austrian Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '9', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for CORRIERE1', 'MODULE_ORDER_TOTAL_COD_FEE_CORRIERE1', 'IT:7.00,00:9.99', 'CORRIERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '3', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE1', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE1', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE1: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '4', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOCELERE3', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOCELERE3', 'IT:7.50,00:9.99', 'POSTEPACCOCELERE3: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '5', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPACCOORDINARIO', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPACCOORDINARIO', 'IT:7.50,00:9.99', 'POSTEPACCOORDINARIO: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '6', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for POSTEPOSTARACCOMANDATA', 'MODULE_ORDER_TOTAL_COD_FEE_POSTEPOSTARACCOMANDATA', 'IT:7.50,00:9.99', 'POSTEPOSTARACCOMANADATA: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '7', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '8', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for German Post', 'MODULE_ORDER_TOTAL_COD_FEE_DP', 'DE:3.58,00:9.99', 'German Post: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for Servicepakke', 'MODULE_ORDER_TOTAL_COD_FEE_SERVICEPAKKE', 'NO:69', 'Servicepakke: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for FedEx', 'MODULE_ORDER_TOTAL_COD_FEE_FEDEX', 'US:3.00', 'FedEx: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '12', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('COD Fee for DHL Worldwide', 'MODULE_ORDER_TOTAL_COD_FEE_DHL', 'DE:3.58,00:9.99', 'DHL Worldwide: <Country code>:<COD price>, .... 00 as country code applies for all countries. If country code is 00, it must be the last statement. If no 00:9.99 appears, COD shipping in foreign countries is not calculated (not possible)', '6', '10', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_ORDER_TOTAL_COD_TAX_CLASS', '0', 'Use the following tax class on the COD fee.', '6', '11', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
      /*FREE SHIP COD FEE ADD */
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_desciption, configuration_group_id, sort_order, date_added) values ('COD Fee for FREE SHIP', 'MODULE_ORDER_TOTAL_COD_FEE_FREESHIP', 'IT:7.00,00:9.99', COD Fee for FREE SHIPPING', '6', '3', now())");
      /*FREE SHIP COD FEE ADD*/
   
    }

    function remove() {
      $keys = '';
      $keys_array = $this->keys();
      $keys_size = sizeof($keys_array);
      for ($i=0; $i<$keys_size; $i++) {
        $keys .= "'" . $keys_array[$i] . "',";
      }
      $keys = substr($keys, 0, -1);

      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");
    }
  }
?>
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re:

Messaggio da 06voip »

marcus ha scritto:Con riferimento al modulo di Ruggero, ecco il file modificato. Le aggiunte sono marcate da /*FREE SHIP COD FEE ADD * /.

Procedura:

- disinstalla il modulo ot_cod_fee
- backuppa il file
- aggiorna il file
- reinstalla il modulo

Dovrebbe comparire una nuova casella che ti consente di settare il supplemento per la spedizione gratuita.

[cut]

Saluti
Marcus
Questa volta pensavo di non uscirne facilmente..

Grazie anche da me!
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
Avatar utente
jerys1974
membro Regular
membro Regular
Messaggi: 213
Iscritto il: 07/02/2004, 1:00
Località: Italia
Contatta:

Re: Quesito per ordini superiori a € 100

Messaggio da jerys1974 »

noto un abbandono da parte degli storici veterani di questo forum...
sono un po' di settimane che mi collego per vedere soluzioni o altre cose e, in basso, on line son sempre solo, senza contare che non ricevo neanche risposte agli appelli di aiuto.
Forum morto?
Emanuele
----------------------------
www.emanuelcristalli.com
rendiamo la tua vita brillante!
Rispondi