Pagamento alla consegna..Ordine Massimo

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
DANIELEDAVE
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 29/04/2006, 10:33

Pagamento alla consegna..Ordine Massimo

Messaggio da DANIELEDAVE »

Ciao a tutti...dopo ore sono riuscito a fare andare sto maledetto supplemento per pagamento alla consegna.

Volevo sapere se era possibile editare qualche comando in modo tale da far si che con ordini superiori a 500€ non sia possibile scegliere l'opzione contrassegno?
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Pagamento alla consegna..Ordine Massimo

Messaggio da marcus »

DANIELEDAVE ha scritto:Ciao a tutti...dopo ore sono riuscito a fare andare sto maledetto supplemento per pagamento alla consegna.

Volevo sapere se era possibile editare qualche comando in modo tale da far si che con ordini superiori a 500€ non sia possibile scegliere l'opzione contrassegno?
Basta aggiungere una condizione che valuta il totale ordine nel modulo COD.

Sotto trovi il file cod.php con l'aggiunta compresa tra i commenti:
//ordini superiori a 500€ BEGIN
//ordini superiori a 500€ END

Codice: Seleziona tutto

<?php
/*
$Id: cod.php,v 1.28 2003/02/14 05:51:31 hpdl Exp $

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

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

class cod {
	var $code, $title, $description, $enabled;

	// class constructor
	function cod() {
		global $order;

		$this->code = 'cod';
		$this->title = MODULE_PAYMENT_COD_TEXT_TITLE;
		$this->description = MODULE_PAYMENT_COD_TEXT_DESCRIPTION;
		$this->sort_order = MODULE_PAYMENT_COD_SORT_ORDER;
		if ( tep_get_payment_unallowed($this->code)=='true' )
		$this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);

		if ((int)MODULE_PAYMENT_COD_ORDER_STATUS_ID > 0) {
			$this->order_status = MODULE_PAYMENT_COD_ORDER_STATUS_ID;
		}

		if (is_object($order)) $this->update_status();
		$this->email_footer = MODULE_PAYMENT_COD_TEXT_EMAIL_FOOTER;
	}

	// class methods
	function update_status() {
		global $order;

		if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_COD_ZONE > 0) ) {
			$check_flag = false;
			$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_COD_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
			while ($check = tep_db_fetch_array($check_query)) {
				if ($check['zone_id'] < 1) {
					$check_flag = true;
					break;
				} elseif ($check['zone_id'] == $order->delivery['zone_id']) {
					$check_flag = true;
					break;
				}
			}

			if ($check_flag == false) {
				$this->enabled = false;
			}
		}

		// disable the module if the order only contains virtual products
		if ($this->enabled == true) {
			if ($order->content_type == 'virtual') {
				$this->enabled = false;
			}

// Ordini superiori a 500€ BEGIN

		// Disabilita il modulo per ordini superiori a 500 
			if ($order->info['total'] >= '500') {
				$this->enabled = false;
			}

// Ordini superiori a 500€ END
	
	        }
	}

	function javascript_validation() {
		return false;
	}

	function selection() {
		return array('id' => $this->code,
		'module' => $this->title);
	}

	function pre_confirmation_check() {
		return false;
	}

	function confirmation() {
		return false;
	}

	function process_button() {
		return false;
	}

	function before_process() {
		return false;
	}

	function after_process() {
		return false;
	}

	function get_error() {
		return false;
	}

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

	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 ('Enable Cash On Delivery Module', 'MODULE_PAYMENT_COD_STATUS', 'True', 'Do you want to accept Cash On Delevery payments?', '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, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_COD_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_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 ('Sort order of display.', 'MODULE_PAYMENT_COD_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
		tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
	}

	function remove() {
		tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
	}

	function keys() {
		return array('MODULE_PAYMENT_COD_STATUS', 'MODULE_PAYMENT_COD_ZONE', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', 'MODULE_PAYMENT_COD_SORT_ORDER');
	}
}
?>
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
jaki
membro Junior
membro Junior
Messaggi: 27
Iscritto il: 10/06/2006, 13:12

Messaggio da jaki »

Ciao Marcus Grazie, interessa anche a me solo chericevo questo errore al momento della scelta del pagamento.

Fatal error: Call to undefined function: tep_get_payment_unallowed() in /***/catalogo/includes/modules/payment/cod.php on line 2

Dov'è lo sbaglio??

Grazie
DANIELEDAVE
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 29/04/2006, 10:33

perfetto.

Messaggio da DANIELEDAVE »

Grazie marcus funziona perfettamente
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

jaki ha scritto:Ciao Marcus Grazie, interessa anche a me solo chericevo questo errore al momento della scelta del pagamento.

Fatal error: Call to undefined function: tep_get_payment_unallowed() in /***/catalogo/includes/modules/payment/cod.php on line 2

Dov'è lo sbaglio??

Grazie
E' una funzione di una mod istallata sul mio pacchetto.

Modifica la riga:

Codice: Seleziona tutto

if ( tep_get_payment_unallowed($this->code)=='true' )
      $this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false); 
in:

Codice: Seleziona tutto

$this->enabled = ((MODULE_PAYMENT_COD_STATUS == 'True') ? true : false);
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
jaki
membro Junior
membro Junior
Messaggi: 27
Iscritto il: 10/06/2006, 13:12

Messaggio da jaki »

Grazie Marcus Ho risolto con la tua modifica, sei grande!
Rispondi