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

HowTo Show Mounted Hard Drives Partition

[root@dc4 ~]# df -aTh
Filesystem     Type         Size  Used Avail Use% Mounted on
/dev/md126     ext4         212G  7.9G  194G   4% /
proc           proc            0     0     0    - /proc
sysfs          sysfs           0     0     0    - /sys
devpts         devpts          0     0     0    - /dev/pts
tmpfs          tmpfs        7.8G     0  7.8G   0% /dev/shm
/dev/md127     ext4         453M   87M  343M  21% /boot
/dev/sdc1      ext4         917G   72M  871G   1% /backup
none           binfmt_misc     0     0     0    - /proc/sys/fs/binfmt_misc
[root@dc4 ~]# 

HowTo Check Software Raid Status with Mdstat

[root@dc1 /]# cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sda2[0] sdb2[1]
      204736 blocks super 1.0 [2/2] [UU]
      
md5 : active raid1 sdb8[1] sda8[0]
      901087040 blocks super 1.1 [2/2] [UU]
      [=======>.............]  check = 37.4% (337859904/901087040) finish=132.8min speed=70676K/sec
      bitmap: 3/7 pages [12KB], 65536KB chunk

md4 : active raid1 sdb7[1] sda7[0]
      2096064 blocks super 1.1 [2/2] [UU]
      	resync=DELAYED
      bitmap: 1/1 pages [4KB], 65536KB chunk

md2 : active raid1 sdb1[1] sda1[0]
      20955008 blocks super 1.1 [2/2] [UU]
      	resync=DELAYED
      bitmap: 0/1 pages [0KB], 65536KB chunk

md1 : active raid1 sdb5[1] sda5[0]
      41910144 blocks super 1.1 [2/2] [UU]
      	resync=DELAYED
      bitmap: 1/1 pages [4KB], 65536KB chunk

md3 : active raid1 sdb6[1] sda6[0]
      2096064 blocks super 1.1 [2/2] [UU]
      	resync=DELAYED
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>