aboutsummaryrefslogtreecommitdiffstats
path: root/public/catalog/model/extension/shipping/free.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/catalog/model/extension/shipping/free.php')
-rw-r--r--public/catalog/model/extension/shipping/free.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/public/catalog/model/extension/shipping/free.php b/public/catalog/model/extension/shipping/free.php
new file mode 100644
index 0000000..b52cc05
--- /dev/null
+++ b/public/catalog/model/extension/shipping/free.php
@@ -0,0 +1,44 @@
+<?php
+class ModelExtensionShippingFree extends Model {
+ function getQuote($address) {
+ $this->load->language('extension/shipping/free');
+
+ $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('shipping_free_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
+
+ if (!$this->config->get('shipping_free_geo_zone_id')) {
+ $status = true;
+ } elseif ($query->num_rows) {
+ $status = true;
+ } else {
+ $status = false;
+ }
+
+ if ($this->cart->getSubTotal() < $this->config->get('shipping_free_total')) {
+ $status = false;
+ }
+
+ $method_data = array();
+
+ if ($status) {
+ $quote_data = array();
+
+ $quote_data['free'] = array(
+ 'code' => 'free.free',
+ 'title' => $this->language->get('text_description'),
+ 'cost' => 0.00,
+ 'tax_class_id' => 0,
+ 'text' => $this->currency->format(0.00, $this->session->data['currency'])
+ );
+
+ $method_data = array(
+ 'code' => 'free',
+ 'title' => $this->language->get('text_title'),
+ 'quote' => $quote_data,
+ 'sort_order' => $this->config->get('shipping_free_sort_order'),
+ 'error' => false
+ );
+ }
+
+ return $method_data;
+ }
+} \ No newline at end of file