code = 'freeamount'; $this->title = MODULE_SHIPPING_FREEAMOUNT_TEXT_TITLE; $this->description = MODULE_SHIPPING_FREEAMOUNT_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_FREEAMOUNT_SORT_ORDER; // -> 0000004: ajout icone dans choix de livraison $this->icon = DIR_WS_DESIGN . 'logo/logo_caddie_84x84.gif'; // <- 0000004 $this->enabled = ((MODULE_SHIPPING_FREEAMOUNT_STATUS == 'True') ? true : false); if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FREEAMOUNT_ZONE > 0) ) { $check_flag = false; $check_query = tep_db_query("select zone_id, zone_country_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FREEAMOUNT_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); $order_shipping_country = $order->delivery['country']['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']) { } elseif ($check['zone_country_id'] == $order->delivery['country']['id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } // class methods function quote($method = '') { global $order, $cart, $shipping_weight, $currencies; $dest_country = $order->delivery['country']['id']; $currency = $order->info['currency']; $get_total = false; $get_weight = false; $cart_total = $cart->show_total(); if (MODULE_SHIPPING_FREEAMOUNT_HIDE_SPECIALS == 'True') { // 28-9-2005 Check for articles on special which should not get free shipment // Adjust the cart total price for this $total_specials = 0; if ($cart->count_contents() > 0) { $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { if ($special_price = tep_get_products_special_price($products[$i]['id'])) { $products_price = $special_price; $total_specials += $products_price; } } } $cart_total = $cart_total - $total_specials; } // -> VDFIXFREEAMOUNT if (MODULE_SHIPPING_FREEAMOUNT_AMOUNT > 0 and $cart_total < MODULE_SHIPPING_FREEAMOUNT_AMOUNT) { if (MODULE_SHIPPING_FREEAMOUNT_DISPLAY == 'True') { $this->quotes['error'] = sprintf(MODULE_SHIPPING_FREEAMOUNT_TEXT_TOO_CHEAP, $cart_total); // <- VDFIXFREEAMOUNT } $get_total = false; } else { $get_total = true; } // -> VDFIXFREEAMOUNT if (MODULE_SHIPPING_FREEAMOUNT_WEIGHT_MAX > 0 and $shipping_weight > MODULE_SHIPPING_FREEAMOUNT_WEIGHT_MAX) { if (MODULE_SHIPPING_FREEAMOUNT_DISPLAY == 'True') { $this->quotes['error'] = sprintf(MODULE_SHIPPING_FREEAMOUNT_TEXT_TOO_HEAVY, $shipping_weight); } $get_weight = false; } else { $get_weight = true; } if (($get_total == true && $get_weight == true)) { $title = MODULE_SHIPPING_FREEAMOUNT_ADDRESS; if ( MODULE_SHIPPING_FREEAMOUNT_AMOUNT > 0 ) { $title .= " " . MODULE_SHIPPING_FREEAMOUNT_TEXT_CHEAP_WAY; } if ( MODULE_SHIPPING_FREEAMOUNT_WEIGHT_MAX > 0 ) { if ( $title != MODULE_SHIPPING_FREEAMOUNT_ADDRESS ) { $title .= ", "; } $title .= " " . MODULE_SHIPPING_FREEAMOUNT_TEXT_HEAVY_WAY; } $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_FREEAMOUNT_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => $title, 'cost' => MODULE_SHIPPING_FREEAMOUNT_COST))); } else { $this->quotes['module'] = MODULE_SHIPPING_FREEAMOUNT_TEXT_TITLE; } // <- VDFIXFREEAMOUNT if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_FREEAMOUNT_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 ('Activer la livraison gratuite', 'MODULE_SHIPPING_FREEAMOUNT_STATUS', 'True', 'Voulez-vous activer la livraison gratuite?', '6', '7', '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 ('Poid maximum', 'MODULE_SHIPPING_FREEAMOUNT_WEIGHT_MAX', '10', 'Quel est le poids maximum pour la livraion gratuite?', '6', '8', 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 l\'affichage', 'MODULE_SHIPPING_FREEAMOUNT_DISPLAY', 'True', 'Voulez-vous afficher un texte si le minimum n\'est pas atteint?', '6', '7', '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 ('Prix minimum', 'MODULE_SHIPPING_FREEAMOUNT_AMOUNT', '50.00', 'Le montant minimum à atteindre pour la livraison gratuite?', '6', '8', 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 ('Désactiver pour produits spéciaux', 'MODULE_SHIPPING_FREEAMOUNT_HIDE_SPECIALS', 'True', 'Voulez-vous désactiver la livraison gratuite pour les produits spéciaux?', '6', '7', '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 ('Trier affichage', 'MODULE_SHIPPING_FREEAMOUNT_SORT_ORDER', '0', 'L\'ordre d\'affichage.', '6', '0', 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 ('Zone de livraison', 'MODULE_SHIPPING_FREEAMOUNT_ZONE', '0', 'si une zone est sélectionnée, activer seulement la livraison gratuite pour cette zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); // -> VDADDR: ajout de l'adresse de livraison tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Adresse de livraison', 'MODULE_SHIPPING_FREEAMOUNT_ADDRESS', '', 'texte à afficher à coté du module', '6', '0', now())"); // <- VDADDR: ajout de l'adresse de livraison } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { $keys = array( 'MODULE_SHIPPING_FREEAMOUNT_STATUS', 'MODULE_SHIPPING_FREEAMOUNT_WEIGHT_MAX', 'MODULE_SHIPPING_FREEAMOUNT_SORT_ORDER', 'MODULE_SHIPPING_FREEAMOUNT_DISPLAY', 'MODULE_SHIPPING_FREEAMOUNT_HIDE_SPECIALS', 'MODULE_SHIPPING_FREEAMOUNT_AMOUNT', 'MODULE_SHIPPING_FREEAMOUNT_ZONE', // -> VDADDR: ajout de l'adresse de livraison 'MODULE_SHIPPING_FREEAMOUNT_ADDRESS' // <- VDADDR: ajout de l'adresse de livraison ); return $keys; } } ?>