HowTo Fix Interspire Shopping Cart Hiding Shipping Methods for Free Shipping Items

Bug

All shipping methods are hidden for “Free Shipping” items

Fix

Open:

includes/classes/class.quote.address.shipping.php

Find:

      // Free shipping method
      if ($this->allowsFreeShipping()) {
         $shippingQuotes[] = array(
            'description'   => getLang('FreeShipping'),
            'price'         => 0,
            'methodId'      => -1,
            'module'      => '',
            'handling'      => $zoneHandlingFee,
         );

         if (empty($shippingQuoteItems)) {
            return $shippingQuotes;
         }
      }

Replace with:

      // Free shipping method
      if ($this->allowsFreeShipping()) {
         $shippingQuotes[] = array(
            'description'   => getLang('FreeShipping'),
            'price'         => 0,
            'methodId'      => -1,
            'module'      => '',
            'handling'      => $zoneHandlingFee,
         );
//MOD Allow other shipping method options
/*
         if (empty($shippingQuoteItems)) {
            return $shippingQuotes;
         }
*/
//MOD END
      }

HowTo Fix Interspire Shopping Cart “View Order Details” Error

URL

account.php?action=view_order&order_id=12345&x=a&y=b

Bug

The associated SQL query will pull down all the rows from the order_products table including those from other orders so if you have a lot of orders PHP will eventually run out of memory to pull the full query down so it can come out of left field.

Fix

Open:

/includes/classes/class.account.php

Find:

         $query = "
            SELECT
               
               o.*,
               op.*,
               oa.address_1,
               oa.address_2,
               oa.city,
               oa.zip,
               oa.country,
               oa.state,
               p.productid,
               p.prodpreorder,
               p.prodreleasedate,
               p.prodpreordermessage
            FROM
               [|PREFIX|]orders o
               LEFT JOIN [|PREFIX|]order_products op ON op.orderorderid
               LEFT JOIN [|PREFIX|]products p ON p.productid = op.ordprodid
               LEFT JOIN [|PREFIX|]order_addresses oa ON oa.`id` = op.order_address_id
            WHERE
               o.orderid = ". (int)$order['orderid'] ."
            ORDER BY
               op.order_address_id";

Replace with:

         $query = "
            SELECT
               
               o.*,
               op.*,
               oa.address_1,
               oa.address_2,
               oa.city,
               oa.zip,
               oa.country,
               oa.state,
               p.productid,
               p.prodpreorder,
               p.prodreleasedate,
               p.prodpreordermessage
            FROM
               [|PREFIX|]orders o
               LEFT JOIN [|PREFIX|]order_products op ON op.orderorderid
               LEFT JOIN [|PREFIX|]products p ON p.productid = op.ordprodid
               LEFT JOIN [|PREFIX|]order_addresses oa ON oa.`id` = op.order_address_id
            WHERE
               o.orderid = ". (int)$order['orderid'] ."
               AND op.orderorderid = ". (int)$order['orderid'] ."
            ORDER BY
               op.order_address_id";

HowTo Enable Perfect Forward Secrecy (PFS) in cPanel

Update SSLCipherSuite as below:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:AES:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK

Edit Apache Configuration > Include Editor > Pre Main Include > All Versions

SSLHonorCipherOrder On
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

Verify at