Zen Cart Logo
Forums / Built-in Shipping and Payment Modules / Error installing cloned zone shipping module

Error installing cloned zone shipping module

Locked

Views: 3,396

Results 1 to 12 of 12
This thread is locked. New replies are disabled.
9 Aug 2007, 5:00 AM
#1
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Error installing cloned zone shipping module

I've followed the instructions in http://www.zen-cart.com/forum/showthread.php?t=26216

But when installing the newly cloned shipping module the following error is displayed.

[B]Warning[/B]:  reset() [[URL="http://nahidfashions.com/boutique/admin/function.reset"]function.reset[/URL]]: Passed variable is not an array or object in [B]/home/alifina/public_html/boutique/admin/modules.php[/B] on line [B]279[/B]

[B]Warning[/B]:  Variable passed to each() is not an array or object in [B]/home/alifina/public_html/boutique/admin/modules.php[/B] on line [B]280
[/B]

Did I miss something?

thanks

15 Aug 2007, 1:57 AM
#2
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Re: Error installing cloned zone shipping module

Anyone know why this error message appears? What did i miss?

15 Aug 2007, 2:19 AM
#3
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Error installing cloned zone shipping module

What name did you give your new cloned shipping module?

Did you do the replacements as case sensative changes?

What happens if you delete your new cloned shipping module from the:
/includes/modules/shipping

NOTE: be sure you have a backup ...

NOTE: make sure you do NOT have extra files in this self loading directory ...

15 Aug 2007, 5:57 AM
#4
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Re: Error installing cloned zone shipping module

  1. I copied includes/modules/shipping/zones.php to EMS.php (same directory).
  2. I then replace occurencess of 'zones' and 'ZONES' to ems and EMS respectively.

this is the EMS.php file

 class ems {

    var $code, $title, $description, $enabled, $num_zones;



// class constructor

    function ems() {

      $this->code = 'ems';

      $this->title = MODULE_SHIPPING_EMS_TEXT_TITLE;

      $this->description = MODULE_SHIPPING_EMS_TEXT_DESCRIPTION;

      $this->sort_order = MODULE_SHIPPING_EMS_SORT_ORDER;

      $this->icon = '';

      $this->tax_class = MODULE_SHIPPING_EMS_TAX_CLASS;

      $this->tax_basis = MODULE_SHIPPING_EMS_TAX_BASIS;



      // disable only when entire cart is free shipping

      if (zen_get_shipping_enabled($this->code)) {

        $this->enabled = ((MODULE_SHIPPING_EMS_STATUS == 'True') ? true : false);

      }



      // CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED

      $this->num_zones = 3;

    }



// class methods

    function quote($method = '') {

      global $order, $shipping_weight, $shipping_num_boxes, $total_count;

      $dest_country = $order->delivery['country']['iso_code_2'];

      $dest_zone = 0;

      $error = false;



      for ($i=1; $i<=$this->num_zones; $i++) {

        $countries_table = constant('MODULE_SHIPPING_EMS_COUNTRIES_' . $i);

        $countries_table = strtoupper(str_replace(' ', '', $countries_table));

        $country_zones = split("[,]", $countries_table);

        if (in_array($dest_country, $country_zones)) {

          $dest_zone = $i;

          break;

        }

        if (in_array('00', $country_zones)) {

          $dest_zone = $i;

          break;

        }

      }



      if ($dest_zone == 0) {

        $error = true;

      } else {

        $shipping = -1;

        $zones_cost = constant('MODULE_SHIPPING_EMS_COST_' . $dest_zone);



        $zones_table = split("[:,]" , $zones_cost);

        $size = sizeof($zones_table);

        $done = false;

        for ($i=0; $i<$size; $i+=2) {

          switch (MODULE_SHIPPING_EMS_METHOD) {

              case (MODULE_SHIPPING_EMS_METHOD == 'Weight'):

              if (round($shipping_weight,9) <= $zones_table[$i]) {

                $shipping = $zones_table[$i+1];



                switch (SHIPPING_BOX_WEIGHT_DISPLAY) {

                case (0):

                  $show_box_weight = '';

                  break;

                case (1):

                  $show_box_weight = ' (' . $shipping_num_boxes . ' ' . TEXT_SHIPPING_BOXES . ')';

                  break;

                case (2):

                  $show_box_weight = ' (' . number_format($shipping_weight * $shipping_num_boxes,2) . MODULE_SHIPPING_EMS_TEXT_UNITS . ')';

                  break;

                default:

                  $show_box_weight = ' (' . $shipping_num_boxes . ' x ' . number_format($shipping_weight,2) . MODULE_SHIPPING_EMS_TEXT_UNITS . ')';

                  break;

                }



//                $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country . (SHIPPING_BOX_WEIGHT_DISPLAY >= 2 ? ' : ' . $shipping_weight . ' ' . MODULE_SHIPPING_EMS_TEXT_UNITS : '');

                $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country . $show_box_weight;

                $done = true;

                break;

                }

              break;

              case (MODULE_SHIPPING_EMS_METHOD == 'Price'):

// shipping adjustment

              if (($_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices()) <= $zones_table[$i]) {

                $shipping = $zones_table[$i+1];

                $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country;

                $done = true;

                break;

                }

              break;

              case (MODULE_SHIPPING_EMS_METHOD == 'Item'):

// shipping adjustment

              if (($total_count - $_SESSION['cart']->free_shipping_items()) <= $zones_table[$i]) {

                $shipping = $zones_table[$i+1];

                $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country;

                $done = true;

                break;

                }

              break;

          }

          if ($done == true) {

            break;

          }

        }



        if ($shipping == -1) {

          $shipping_cost = 0;

          $shipping_method = MODULE_SHIPPING_EMS_UNDEFINED_RATE;

        } else {

          switch (MODULE_SHIPPING_EMS_METHOD) {

              case (MODULE_SHIPPING_EMS_METHOD == 'Weight'):

              // charge per box when done by Price

              $shipping_cost = ($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

              break;

              case (MODULE_SHIPPING_EMS_METHOD == 'Price'):

              // don't charge per box when done by Price

              $shipping_cost = ($shipping) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

            break;

              case (MODULE_SHIPPING_EMS_METHOD == 'Item'):

              // don't charge per box when done by Item

              $shipping_cost = ($shipping) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

            break;

          }

        }

      }

      $this->quotes = array('id' => $this->code,

                            'module' => MODULE_SHIPPING_EMS_TEXT_TITLE,

                            'methods' => array(array('id' => $this->code,

                                                     'title' => $shipping_method,

                                                     'cost' => $shipping_cost)));



      if ($this->tax_class > 0) {

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

      }



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



      if (strstr(MODULE_SHIPPING_EMS_SKIPPED, $dest_country)) {

        // don't show anything for this country

        $this->quotes = array();

      } else {

        if ($error == true) $this->quotes['error'] = MODULE_SHIPPING_EMS_INVALID_ZONE;

      }



      return $this->quotes;

    }



    function check() {

      global $db;

      if (!isset($this->_check)) {

        $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_EMS_STATUS'");

        $this->_check = $check_query->RecordCount();

      }

      return $this->_check;

    }



    function install() {

      global $db;

      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Enable EMS Method', 'MODULE_SHIPPING_EMS_STATUS', 'True', 'Do you want to offer EMS rate shipping?', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");

      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Calculation Method', 'MODULE_SHIPPING_EMS_METHOD', 'Weight', 'Calculate cost based on Weight, Price or Item?', '6', '0', 'zen_cfg_select_option(array(\'Weight\', \'Price\', \'Item\'), ', now())");

      $db->Execute("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_SHIPPING_EMS_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");

      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Tax Basis', 'MODULE_SHIPPING_EMS_TAX_BASIS', 'Shipping', 'On what basis is Shipping Tax calculated. Options are<br />Shipping - Based on customers Shipping Address<br />Billing Based on customers Billing address<br />Store - Based on Store address if Billing/Shipping Zone equals Store zone', '6', '0', 'zen_cfg_select_option(array(\'Shipping\', \'Billing\', \'Store\'), ', now())");

      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_EMS_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");

      $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Skip Countries, use a comma separated list of the two character ISO country codes', 'MODULE_SHIPPING_EMS_SKIPPED', '', 'Disable for the following Countries:', '6', '0', 'zen_cfg_textarea(', now())");



      for ($i = 1; $i <= $this->num_zones; $i++) {

        $default_countries = '';

        if ($i == 1) {

          $default_countries = 'US,CA';

        }

        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Countries', 'MODULE_SHIPPING_EMS_COUNTRIES_" . $i ."', '" . $default_countries . "', 'Comma separated list of two character ISO country codes that are part of Zone " . $i . ".<br />Set as 00 to indicate all two character ISO country codes that are not specifically defined.', '6', '0', 'zen_cfg_textarea(', now())");

        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Shipping Table', 'MODULE_SHIPPING_EMS_COST_" . $i ."', '3:8.50,7:10.50,99:20.00', 'Shipping rates to Zone " . $i . " destinations based on a group of maximum order weights/prices. Example: 3:8.50,7:10.50,... Weight/Price less than or equal to 3 would cost 8.50 for Zone " . $i . " destinations.', '6', '0', 'zen_cfg_textarea(', now())");

        $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zone " . $i ." Handling Fee', 'MODULE_SHIPPING_EMS_HANDLING_" . $i."', '0', 'Handling Fee for this shipping zone', '6', '0', now())");

      }

    }



    function remove() {

      global $db;

      $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

    }



    function keys() {

      $keys = array('MODULE_SHIPPING_EMS_STATUS', 'MODULE_SHIPPING_EMS_METHOD', 'MODULE_SHIPPING_EMS_TAX_CLASS', 'MODULE_SHIPPING_EMS_TAX_BASIS', 'MODULE_SHIPPING_EMS_SORT_ORDER', 'MODULE_SHIPPING_EMS_SKIPPED');



      for ($i=1; $i<=$this->num_zones; $i++) {

        $keys[] = 'MODULE_SHIPPING_EMS_COUNTRIES_' . $i;

        $keys[] = 'MODULE_SHIPPING_EMS_COST_' . $i;

        $keys[] = 'MODULE_SHIPPING_EMS_HANDLING_' . $i;

      }



      return $keys;

    }

  }

If I delete the EMS.php file, the EMS shipping module doesn't display under Admin > Modules > Shipping

Thanks for your attention

15 Aug 2007, 6:14 AM
#5
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Error installing cloned zone shipping module

EMS.php should be ems.php ...

Filenames are case sensative ...

Did you cut off the top and bottom of the file for this? Or is that really missing?

15 Aug 2007, 6:23 AM
#6
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Error installing cloned zone shipping module

Also, what version Zen Cart are you running?

15 Aug 2007, 6:46 AM
#7
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: Error installing cloned zone shipping module

shocker:

  1. I copied includes/modules/shipping/zones.php to EMS.php (same directory).
  2. I then replace occurencess of 'zones' and 'ZONES' to ems and EMS respectively.

this is the EMS.php file

class ems {

var $code, $title, $description, $enabled, $num_zones;

// class constructor

function ems() {

  $this->code = 'ems';

  $this->title = MODULE_SHIPPING_EMS_TEXT_TITLE;

  $this->description = MODULE_SHIPPING_EMS_TEXT_DESCRIPTION;

  $this->sort_order = MODULE_SHIPPING_EMS_SORT_ORDER;

  $this->icon = '';

  $this->tax_class = MODULE_SHIPPING_EMS_TAX_CLASS;

  $this->tax_basis = MODULE_SHIPPING_EMS_TAX_BASIS;



  // disable only when entire cart is free shipping

  if (zen_get_shipping_enabled($this->code)) {

    $this->enabled = ((MODULE_SHIPPING_EMS_STATUS == 'True') ? true : false);

  }



  // CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED

  $this->num_zones = 3;

}

// class methods

function quote($method = '') {

  global $order, $shipping_weight, $shipping_num_boxes, $total_count;

  $dest_country = $order->delivery['country']['iso_code_2'];

  $dest_zone = 0;

  $error = false;



  for ($i=1; $i<=$this->num_zones; $i++) {

    $countries_table = constant('MODULE_SHIPPING_EMS_COUNTRIES_' . $i);

    $countries_table = strtoupper(str_replace(' ', '', $countries_table));

    $country_zones = split("[,]", $countries_table);

    if (in_array($dest_country, $country_zones)) {

      $dest_zone = $i;

      break;

    }

    if (in_array('00', $country_zones)) {

      $dest_zone = $i;

      break;

    }

  }



  if ($dest_zone == 0) {

    $error = true;

  } else {

    $shipping = -1;

    $zones_cost = constant('MODULE_SHIPPING_EMS_COST_' . $dest_zone);



    $zones_table = split("[:,]" , $zones_cost);

    $size = sizeof($zones_table);

    $done = false;

    for ($i=0; $i<$size; $i+=2) {

      switch (MODULE_SHIPPING_EMS_METHOD) {

          case (MODULE_SHIPPING_EMS_METHOD == 'Weight'):

          if (round($shipping_weight,9) <= $zones_table[$i]) {

            $shipping = $zones_table[$i+1];



            switch (SHIPPING_BOX_WEIGHT_DISPLAY) {

            case (0):

              $show_box_weight = '';

              break;

            case (1):

              $show_box_weight = ' (' . $shipping_num_boxes . ' ' . TEXT_SHIPPING_BOXES . ')';

              break;

            case (2):

              $show_box_weight = ' (' . number_format($shipping_weight * $shipping_num_boxes,2) . MODULE_SHIPPING_EMS_TEXT_UNITS . ')';

              break;

            default:

              $show_box_weight = ' (' . $shipping_num_boxes . ' x ' . number_format($shipping_weight,2) . MODULE_SHIPPING_EMS_TEXT_UNITS . ')';

              break;

            }

// $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country . (SHIPPING_BOX_WEIGHT_DISPLAY >= 2 ? ' : ' . $shipping_weight . ' ' . MODULE_SHIPPING_EMS_TEXT_UNITS : '');

            $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country . $show_box_weight;

            $done = true;

            break;

            }

          break;

          case (MODULE_SHIPPING_EMS_METHOD == 'Price'):

// shipping adjustment

          if (($_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices()) <= $zones_table[$i]) {

            $shipping = $zones_table[$i+1];

            $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country;

            $done = true;

            break;

            }

          break;

          case (MODULE_SHIPPING_EMS_METHOD == 'Item'):

// shipping adjustment

          if (($total_count - $_SESSION['cart']->free_shipping_items()) <= $zones_table[$i]) {

            $shipping = $zones_table[$i+1];

            $shipping_method = MODULE_SHIPPING_EMS_TEXT_WAY . ' ' . $dest_country;

            $done = true;

            break;

            }

          break;

      }

      if ($done == true) {

        break;

      }

    }



    if ($shipping == -1) {

      $shipping_cost = 0;

      $shipping_method = MODULE_SHIPPING_EMS_UNDEFINED_RATE;

    } else {

      switch (MODULE_SHIPPING_EMS_METHOD) {

          case (MODULE_SHIPPING_EMS_METHOD == 'Weight'):

          // charge per box when done by Price

          $shipping_cost = ($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

          break;

          case (MODULE_SHIPPING_EMS_METHOD == 'Price'):

          // don't charge per box when done by Price

          $shipping_cost = ($shipping) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

        break;

          case (MODULE_SHIPPING_EMS_METHOD == 'Item'):

          // don't charge per box when done by Item

          $shipping_cost = ($shipping) + constant('MODULE_SHIPPING_EMS_HANDLING_' . $dest_zone);

        break;

      }

    }

  }

  $this->quotes = array('id' => $this->code,

                        'module' => MODULE_SHIPPING_EMS_TEXT_TITLE,

                        'methods' => array(array('id' => $this->code,

                                                 'title' => $shipping_method,

                                                 'cost' => $shipping_cost)));



  if ($this->tax_class > 0) {

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

  }



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



  if (strstr(MODULE_SHIPPING_EMS_SKIPPED, $dest_country)) {

    // don't show anything for this country

    $this->quotes = array();

  } else {

    if ($error == true) $this->quotes['error'] = MODULE_SHIPPING_EMS_INVALID_ZONE;

  }



  return $this->quotes;

}



function check() {

  global $db;

  if (!isset($this->_check)) {

    $check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_EMS_STATUS'");

    $this->_check = $check_query->RecordCount();

  }

  return $this->_check;

}



function install() {

  global $db;

  $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Enable EMS Method', 'MODULE_SHIPPING_EMS_STATUS', 'True', 'Do you want to offer EMS rate shipping?', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");

  $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('Calculation Method', 'MODULE_SHIPPING_EMS_METHOD', 'Weight', 'Calculate cost based on Weight, Price or Item?', '6', '0', 'zen_cfg_select_option(array(\'Weight\', \'Price\', \'Item\'), ', now())");

  $db->Execute("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_SHIPPING_EMS_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");

  $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Tax Basis', 'MODULE_SHIPPING_EMS_TAX_BASIS', 'Shipping', 'On what basis is Shipping Tax calculated. Options are<br />Shipping - Based on customers Shipping Address<br />Billing Based on customers Billing address<br />Store - Based on Store address if Billing/Shipping Zone equals Store zone', '6', '0', 'zen_cfg_select_option(array(\'Shipping\', \'Billing\', \'Store\'), ', now())");

  $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_EMS_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");

  $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Skip Countries, use a comma separated list of the two character ISO country codes', 'MODULE_SHIPPING_EMS_SKIPPED', '', 'Disable for the following Countries:', '6', '0', 'zen_cfg_textarea(', now())");



  for ($i = 1; $i <= $this->num_zones; $i++) {

    $default_countries = '';

    if ($i == 1) {

      $default_countries = 'US,CA';

    }

    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Countries', 'MODULE_SHIPPING_EMS_COUNTRIES_" . $i ."', '" . $default_countries . "', 'Comma separated list of two character ISO country codes that are part of Zone " . $i . ".<br />Set as 00 to indicate all two character ISO country codes that are not specifically defined.', '6', '0', 'zen_cfg_textarea(', now())");

    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Zone " . $i ." Shipping Table', 'MODULE_SHIPPING_EMS_COST_" . $i ."', '3:8.50,7:10.50,99:20.00', 'Shipping rates to Zone " . $i . " destinations based on a group of maximum order weights/prices. Example: 3:8.50,7:10.50,... Weight/Price less than or equal to 3 would cost 8.50 for Zone " . $i . " destinations.', '6', '0', 'zen_cfg_textarea(', now())");

    $db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Zone " . $i ." Handling Fee', 'MODULE_SHIPPING_EMS_HANDLING_" . $i."', '0', 'Handling Fee for this shipping zone', '6', '0', now())");

  }

}



function remove() {

  global $db;

  $db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

}



function keys() {

  $keys = array('MODULE_SHIPPING_EMS_STATUS', 'MODULE_SHIPPING_EMS_METHOD', 'MODULE_SHIPPING_EMS_TAX_CLASS', 'MODULE_SHIPPING_EMS_TAX_BASIS', 'MODULE_SHIPPING_EMS_SORT_ORDER', 'MODULE_SHIPPING_EMS_SKIPPED');



  for ($i=1; $i<=$this->num_zones; $i++) {

    $keys[] = 'MODULE_SHIPPING_EMS_COUNTRIES_' . $i;

    $keys[] = 'MODULE_SHIPPING_EMS_COST_' . $i;

    $keys[] = 'MODULE_SHIPPING_EMS_HANDLING_' . $i;

  }



  return $keys;

}

}

> 
> If I delete the EMS.php file, the EMS shipping module doesn't display under Admin > Modules > Shipping
> 
> Thanks for your attention

I just installed this and it works fine ... no errors.
Granted, I did remove all your double-spacing first.
15 Aug 2007, 8:26 AM
#8
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Re: Error installing cloned zone shipping module

I'm running ZenCart 1.3.7.
I renamed my EMS.php to ems.php and uploaded it. Now I get this error when loading shipping modules from Admin>Modules>Shipping.

[B]Warning[/B]:  main(/home/alifina/public_html/boutique/includes/languages/english/modules/shipping/ems.php) [[URL="http://nahidfashions.com/boutique/admin/function.main"]function.main[/URL]]: failed to open stream: No such file or directory in [B]/home/alifina/public_html/boutique/admin/modules.php[/B] on line [B]174[/B]

[B]Warning[/B]:  main() [[URL="http://nahidfashions.com/boutique/admin/function.include"]function.include[/URL]]: Failed opening '/home/alifina/public_html/boutique/includes/languages/english/modules/shipping/ems.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in [B]/home/alifina/public_html/boutique/admin/modules.php[/B] on line [B]174[/B]

Sorry, I just copied and pasted the part of ems.php that I thought was relevant. The spaces in the file are from the original. I didn't ad them.

15 Aug 2007, 10:23 AM
#9
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Re: Error installing cloned zone shipping module

I forgot to rename the language/modules/shipping/EMS.php to ems.php
I think that's the problem.

16 Aug 2007, 2:28 AM
#10
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Error installing cloned zone shipping module

Let us know if you get this working with the filename written correctly ... :smile:

16 Aug 2007, 3:00 AM
#11
shocker avatar

shocker

Zen Follower

Join Date:
Jul 2007
Location:
Jakarta
Posts:
346
Plugin Contributions:
0

Re: Error installing cloned zone shipping module

Yes Linda, renaming the file worked.
Thanks for your attention.

have a nice day

sa

16 Aug 2007, 3:15 AM
#12
ajeh avatar

ajeh

Oba-san

Join Date:
Sep 2003
Location:
Ohio
Posts:
62,757
Plugin Contributions:
1

Re: Error installing cloned zone shipping module

Thanks for the update that the filenames are also case sensative on the modules ...

NOTE: in the land of unix ... lower case filenames, directories, extentions, etc. etc. etc. are always the way to go ... that includes no spaces, special characters and the like ... :smile: