Results 1 to 7 of 7
  1. #1
    Join Date
    Jul 2009
    Posts
    402
    Plugin Contributions
    0

    Default new shipping module

    Hi,
    I want to add the following shipping module.
    I cloned an existing one but there is no way to have it loaded in the admin area and install it.
    This is the module

    PHP Code:
    <?php
    //
    // +----------------------------------------------------------------------+
    // |zen-cart Open Source E-commerce                                       |
    // +----------------------------------------------------------------------+
    // | Copyright (c) 2004 The zen-cart developers                           |
    // |                                                                      |
    // | http://www.zen-cart.com/index.php                                    |
    // |                                                                      |
    // | Portions Copyright (c) 2003 osCommerce                               |
    // +----------------------------------------------------------------------+
    // | This source file is subject to version 2.0 of the GPL license,       |
    // | that is bundled with this package in the file LICENSE, and is        |
    // | available through the world-wide-web at the following url:           |
    // | http://www.zen-cart.com/license/2_0.txt.                             |
    // | If you did not receive a copy of the zen-cart license and are unable |
    // | to obtain it through the world-wide-web, please send a note to       |
    // | [email protected] so we can mail you a copy immediately.          |
    // +----------------------------------------------------------------------+
    // $Id: celere1plus_insurance.php 2011-03-21 22:11:00 cloned from celere1plus.php drbyte $
    //

      
    class celere1plusins {
        var 
    $code$title$description$icon$enabled;

    // class constructor
        
    function celere1plusins() {
          global 
    $order$db;

          
    $this->code 'celere1plusins';
          
    $this->title MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TEXT_TITLE;
          
    $this->description MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TEXT_DESCRIPTION;
          
    $this->sort_order MODULE_SHIPPING_CELERE1PLUS_INSURANCE_SORT_ORDER;
          
    $this->icon '';
          
    $this->tax_class MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TAX_CLASS;
          
    $this->tax_basis MODULE_SHIPPING_CELERE1PLUS_ISURANCE_TAX_BASIS;

          
    // disable only when entire cart is free shipping
          
    if (zen_get_shipping_enabled($this->code)) {
            
    $this->enabled = ((MODULE_SHIPPING_CELERE1PLUS_INSURANCE_STATUS == 'True') ? true false);
          }

          if ( (
    $this->enabled == true) && ((int)MODULE_SHIPPING_CELERE1PLUS_INSURANCE_ZONE 0) ) {
            
    $check_flag false;
            
    $check $db->Execute("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_SHIPPING_CELERE1PLUS_INSURANCE_ZONE "' and zone_country_id = '" $order->delivery['country']['id'] . "' order by zone_id");
            while (!
    $check->EOF) {
              if (
    $check->fields['zone_id'] < 1) {
                
    $check_flag =  true;
                break;
              } elseif (
    $check->fields['zone_id'] == $order->delivery['zone_id']) {
                
    $check_flag true;
                break;
              }
              
    $check->MoveNext();
            }

            if (
    $check_flag == false) {
              
    $this->enabled false;
            }
          }
        
    //if (($this->enabled == true) && (IS_ADMIN_FLAG === false && $_SESSION['cart']->weight > 30)) $this->enabled = false;
        
    }

    // class methods 
        
    function quote($method '') {
          global 
    $order;

          
    $this->quotes = array('id' => $this->code,
                                
    'module' => MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TEXT_TITLE,
                                
    'methods' => array(array('id' => $this->code,
                                                         
    'title' => MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TEXT_WAY,
                                                         
    'cost' => MODULE_SHIPPING_CELERE1PLUS_INSURANCE_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);

          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_CELERE1PLUS_INSURANCE_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 ('Abilita la spedizione via Paccocelere 1 Plus ASSICURATO', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_STATUS', 'True', 'Vuoi offrire la spedizione via Paccocelere 1 Plus ASSICURATA?', '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, date_added) values ('Costo di Spedizione', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_COST', '15.30', 'Spese di Spedizione per Paccocelere 1 Plus fino a 30 KG.', '6', '0', 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 ('Classe IVA', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TAX_CLASS', '0', 'Applica la seguente aliquota IVA ai costi di spedizione.', '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 ('Base di Tassa', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TAX_BASIS', 'Shipping', 'Su quali basi vengono calcolate le Tasse sulle Spese di Spedizione.  Le opzioni sono:<br />Shipping - Basata sull\'indirizzo di Spedizione del Cliente<br />Billing - Basata sull\'indirizzo di Fatturazione del Cliente<br />Store - Basata sull\'indirizzo del Negozio se la Zona di Fatturazione/Spedizione &egrave; uguale alla Zona del Negozio', '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, use_function, set_function, date_added) values ('Zona di Spedizione', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_ZONE', '0', 'Se viene selezionata una Zona, attiva questo metodo di spedizione soltanto per questa Zona.', '6', '0', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
          
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ordine di Visualizzazione', 'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_SORT_ORDER', '0', 'Ordine di Visualizzazione.', '6', '0', now())");
        }

        function 
    remove() {
          global 
    $db;
          
    $db->Execute("delete from " TABLE_CONFIGURATION " where configuration_key like 'MODULE\_SHIPPING\_CELERE1PLUS\_INSURANCE\_%'");
        }

        function 
    keys() {
          return array(
    'MODULE_SHIPPING_CELERE1PLUS_INSURANCE_STATUS''MODULE_SHIPPING_CELERE1PLUS_INSURANCE_COST''MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TAX_CLASS''MODULE_SHIPPING_CELERE1PLUS_INSURANCE_TAX_BASIS''MODULE_SHIPPING_CELERE1PLUS_INSURANCE_ZONE''MODULE_SHIPPING_CELERE1PLUS_INSURANCE_SORT_ORDER');
          
        }
      }
    ?>
    I do not understand what I am missing in order to have it shown in the modules>shipping section of the admin area.
    Can some one help me?
    Thanks

  2. #2
    Join Date
    Jan 2007
    Location
    Australia
    Posts
    6,167
    Plugin Contributions
    7

    Default Re: new shipping module

    Quote Originally Posted by enzo-ita View Post
    I do not understand what I am missing in order to have it shown in the modules>shipping section of the admin area.
    Can some one help me?
    Thanks
    You probably just need to create a langauge file (even if it is unused/empty. It simply needs to exist)

    Cheers
    Rod

  3. #3
    Join Date
    Jul 2009
    Posts
    402
    Plugin Contributions
    0

    Default Re: new shipping module

    Thanks Rod,
    but unfortunately that is not the case.
    I created the language file simply copying the english one in the italian folder.
    If you do not have the language file the sistems warns you saying that the module can not be loaded because the language file does isnot there.
    Any other idea?
    Thanks

  4. #4
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: new shipping module

    I copied your code to:
    /includes/modules/shipping/celere1plusins.php

    and made a blank language file and placed it in:
    /includes/languages/english/modules/shipping/celere1plusins.php

    and installed the Shipping module and did a complete checkout with it ...

    Can you check in the:
    /cache

    to see what debug logs you may be creating when you go to install this file?
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today!]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

  5. #5
    Join Date
    Jul 2009
    Posts
    402
    Plugin Contributions
    0

    Default Re: new shipping module

    Quote Originally Posted by Ajeh View Post
    I copied your code to:
    /includes/modules/shipping/celere1plusins.php

    and made a blank language file and placed it in:
    /includes/languages/english/modules/shipping/celere1plusins.php

    and installed the Shipping module and did a complete checkout with it ...

    Can you check in the:
    /cache

    to see what debug logs you may be creating when you go to install this file?
    Oh Well!!
    I do not know if you did it on purpose, but you suggested me one thing. The file name must be the same of the class.
    I renamed the files to match the class name et voilą! Installed without problems.
    I have learned a lesson, the hard way, but it is the best way, because i will never forget this one!!

    Thanks a lot!!
    never wrote a php line before, so excuse me for my newbieism.

    enzo

  6. #6
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: new shipping module

    That was a subtle hint ... but I wasn't quite ready to just say ... "Did you call the filename the right name or just make it up as you went along?"
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today!]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

  7. #7
    Join Date
    Jul 2009
    Posts
    402
    Plugin Contributions
    0

    Default Re: new shipping module

    People from Ohio have one more gear .....

 

 

Similar Threads

  1. Clone a shipping module or define a new shipping attribute under table rate module?
    By meeven in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 4 Sep 2007, 04:56 PM
  2. New shipping module
    By macpcpro in forum Addon Shipping Modules
    Replies: 1
    Last Post: 10 Feb 2007, 03:39 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg