Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by KirkM

  1. My guess: Boooooom!  😄

    Really, you don't have to go through all that.  I don't want to hack CC just because I am a type A PITA.  I can wait for everything to catch up in a future release... I swear I can...  Really... ahhhhhhhhhhhh!

  2. That would be very generous of you to do.  PHP 8 has only been out since the very end of November 2020, so that's just under 18 months.  Lots of changes and depreciated / removed functions and conventions so it will understandably take a while for everyone to clean their code.   

    All my stuff works fine on 7.4 too, I just am a bit impatient to work with some of the 8.1 improvements.  I have it installed in my MAMP Pro testing server and develop only with that to future-proof as far out as possible so it is important that I have it on my production server, which I do for the domains I use.

    For CC, I can just leave it on 7.4 until all is ready and then I will clean 7.4 off the server.

    As always, thanks for your help and response Brian.  It is greatly appreciated.

  3. Thanks Brian. 

    Do you know if Smarty 4 in CC645?  Obviously, if a single third-party component isn't compatible, then the whole thing isn't.

    I run PHP as a PFM Application per domain so I will keep 7.4 for the CC clients and wait for the plugins to catch up if they haven't yet.

    It would be great if Al specifically announces when the CC version is released that is tested compatible with PHP 8.1.  (wink, wink, nudge, nudge)..

  4. Searched around and didn't see much about CC compatibility with the latest php version 8.1.  Just a single post back in 2021 or so about problems with php 8.0 breaking CC.  What's happening with CC and php 8.1?  I am using CC 6.4.4 with php 7.4 right now (CC still recommends using php 7.3, which is now outdated), but all my data systems and some client wordpress sites are moved to php 8.1.  CC is the only thing hanging me up from having 8.1 as the only php version on my server.

    Any info on a timeline for this would be greatly appreciated.

  5. Well, I feel like an idiot (not the first time).  I was totally focused on where the coupon was applied and not on the shipping module.  Uncommenting that line of code did the trick and makes perfect sense.  It was right there in the shipping.class.php file, with a big flag of a comment to tell dummies like me "HEY! right here!".  Sheesh.

    Thanks Brian for always jumping in to help.  Your remark made me take a look over at the AIOS class after being so focused on the coupon class code.

  6. Sorry, I realize this is not really clear.  The example of what he needs is over-simplified with just the one product.  There could be multiple products.  The coupon in this case is for $15 off the whole order.  Plus, his promotion also has free shipping for all orders $49 or more.  He needs the shipping to be considered AFTER all coupons and any other discounts are deducted.

    The way the store works now, the coupon looks at the subtotal and the shipping looks at the subtotal ignoring the subtraction for the coupon, because the coupon also happens AFTER the subtotal.  There is no consideration by the shipping for a modified subtotal because of the coupon.

    He will always need the shipping promotion to be on the final amount AFTER any discounts.  To me, he is right, that is the way this should work or at least have the option for it to work that way.

    I hope that is a bit clearer on what the issue is with the current way CC handles the checkout flow.

  7. Been trying to figure out a way to get the coupon to be part of the calculation of subtotal.  The more I examine the function of the cart / checkout process from the store owner's point of view and possible marketing approaches, the more I see that the coupon logic is deficient in it's ability to be used in conjunction with other marketing tools.  I realize my point of view is rather simplistic since I am not intimately familiar with the code, but I have been reading through the relevant scripts and it seems that even with the complication of coupons for particular products or other variables, those discounts should be taken BEFORE the subtotal that all other things act upon, like shipping.

    Do you have any suggestions or ideas of how to hack this?  Combining coupons with variable shipping zones / rates is pretty common for my client and seems to me to be a pretty basic marketing approach.


  8. All in one shipping.  What I was thinking was that the coupon should have the user choice of either calculating on the subtotal or as part of the calculation of the subtotal.  That way the shipping or any other module can stay looking at the subtotal for their calculations.  It would be a really nice flexibility feature in the coupon module.

    • Like 1
  9. Interesting situation with a client on CC 6.4.4:

    He has shipping set up for a fixed rate of $7.95 for orders $0 - $48.99.
    He has another rate of free shipping for $49.00 - $100,000.

    He also has a coupon for $15 off for new customers.  He needs the coupon to be subtracted BEFORE the store calculates the shipping rate.
    Here what is happening:

    Product Z    49.96
    Subtotal     49.96
    Certificate                  -15.00
    Free Shipping

    Total                           34.96

    What he needs:

    Product Z    49.96
    Certificate                  -15.00
    Subtotal                     34.96
    Ship Charge                7.95

    Total                           42.91

    I don't see a way to get this to happen.  Anyone know if this is possible?

  10. Upgraded store from 6.2.9 to 6.4.4.  No error messages in the upgrade.  However, now product options print in what looks like a hash of some sort instead of the color, size, etc. (See attachment)

    Everything seems correct in the admin and I even deleted and re-added the options but it still prints out this hash on the order.  I went in to the tables to make sure it wasn't something getting written that way but the options are correct and in plain text there.

    Any help on where I should start looking for this would be greatly appreciated.


  11. I just did a test with the original code restored and the CCD enabled and it appears you are correct.  Thanks for tracking that down.  

    Seeing that the GDPR extends to any company who could possibly do business with anyone in Europe, I suppose it should just be enabled by default in CC since theoretically every store on the web is doing business "worldwide".

  12. Using DevTools in Chrome, I cleared all cookies from the site and then loaded a couple of pages.  I see a lot of cookies being stored from the CC store, but none that appear to be any of the listed cookie names used by Smarty.  I need to find out where the $smarty.cookies.accept_cookies variable is stored and how it is triggered to true.  Perhaps this is a result of the "Cookie Compliance Dialog" not being active in the store?

  13. So it has something to do with the cookie acceptance.  If I go to skins/foundation/templates/element.google_analytics.php and take out the smarty {if} statement, it works fine.

    Original code:

    {if isset($smarty.cookies.accept_cookies) && $smarty.cookies.accept_cookies=='true'}
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    ga('create', '{/literal}{$ANALYTICS}{literal}', 'auto');
    ga('set', 'anonymizeIp', true);
    ga('send', 'pageview');

    Removed the {if} statement and that works:

    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    ga('create', '{/literal}{$ANALYTICS}{literal}', 'auto');
    ga('set', 'anonymizeIp', true);
    ga('send', 'pageview');

    I don't see where this cookie acceptance is unless it is in the GDPR settings.  In this store, they are both off.  Does the cookie compliance dialog have to be on for the GA code to work?


  14. My skin is basically the Foundation skin with a few css tweaks.  It should be doing exactly what the Foundation skin does.

    I will have to hunt around and see if I can find what you are talking about.  In the mean time, I see a LOT of this in the error logs:

    File: [controller.admin.pre_session.inc.php] Line: [26] "SET @@time_zone = 'America/Los_Angeles'" - Unknown or incorrect time zone: 'America/Los_Angeles'
    File: [controller.index.inc.php] Line: [27] "SET @@time_zone = 'America/Los_Angeles'" - Unknown or incorrect time zone: 'America/Los_Angeles'

    Don't understand how that can be since it is the correct formatting for a timezone and it is selected from the admin drop-down menu.  Edit: It does it with all timezone choices. Edit #2: It appears it is not relevant to this situation per this thread - https://forums.cubecart.com/topic/55533-error-about-timezone/


  15. Strangest thing - I upgraded from 6.1.13 to 6.2.9 a little bit ago and my client just noticed that there is no GA feed to his GA account.  The really strange part of it is that it isn't an instant drop off.  It goes from Feb 2 to Feb 17 in a sharp decline to zero over days.  I don't know if the upgrade has anything to do with it or not.  If it did, you would think it would have dropped to zero instantly when the upgrade was done.  I have diffmerged all of the files to make sure that everything is the same on my installation as the clean version of 6.2.9, including matching my custom skin to the foundation skin with only my css changes the difference.  Everything seems to be there.

    Also, I noticed that Google Tag manager shows no Google Pixel on the site when I go to it in Chrome.  I also checked to make sure the element.google_analytics.php file is there in the skin templates file.

    Not sure where to start looking for this.

  16. Here is what I have from tonight's test:

    - Order DOES go to "processing" even if the customer bails out after hitting the "Pay" button and doesn't go back to the store by clicking the "Confirm" button on the Auth.net results window.  This is great.

    - Created a copy of the "Default emails" template, called it "Hard-coded emails", replaced the header image and signature macros with hard-coded urls and made it the default.

    - Under the "Email Contents" tab, I modified Cart: Order Confirmed and Admin: Order Received, replacing the macro {$DATA.link} with a hybrid hard-code / macro combination of https://mystore.com/index.php?_a=vieworder&amp;cart_order_id={$DATA.cart_order_id} (where mystore.com is the actual store domain and the order number is handled by the dynamic macro {$DATA.cart_order_id}).

    - Have NOT been able to solve the gigantic store title issue on the Auth.net transaction results page.  Will have to keep looking or call their support and find out how to get this under control.

    It looks like all of the information is being sent correctly and the transaction was successful. (NOTE: I only tested auth only since my clients all capture funds when the item ships.).

    Generally, it works with a few workarounds and the need for a small formatting tweak.  I much prefer the new embedded frame and the clean form look and operation to the old SIM.  It works well enough for me to put it live in one of my client's stores.  We will see how it goes over the next 24 hours of live use.

    • Like 1
  17. 8 hours ago, Al Brookbanks said:

    The silent post url should be triggered before the button is clicked anyway? Maybe I'm wrong. 

    Or maybe you are right.  It happened when I first tested this extension but there were other things misfiring so that could have been it. I know the old SIM extension did that but we didn't employ the silent post URL with that.  I will check v4 overnight (HST) and look at the status in admin before I click the CONFIRM button.

    8 hours ago, Al Brookbanks said:

    anything in the documentation that looks like it can do that seems to break the request to build the iframe URL

    Seems to be the standard M.O. with their API and documentation.  Lots of blanks you have to fill in yourself.

    One other thing - Do you know if it is possible to format this?

    "settingName": "hostedPaymentOrderOptions",
    "settingValue": "{\"show\": true, \"merchantName\": \"'.addslashes($GLOBALS['config']->get('config', 'store_name')).'\"}"

    The store name is HUGE.  I have searched around the Auth.net docs and I don't see it.  If the store name is a moderately long word, it word-breaks and wraps.  It looks pretty terrible.

  18. Yes, it went to processing and returned to the store correctly and displayed the receipt / summary CC page when the "confirm" button was clicked.  Perhaps the customers aren't clicking the "confirm" button to complete the return to the store?

    I would love to get this extension to return without that extra step by the customer to return to the store.  If they bail out without clicking the "confirm" button after the transaction is submitted, the order stays pending even though the transaction was completed on the authorize.net side.

    I wish I could get some quality time to work with this.  I will try to get back to it as soon as I can.  I am just hammered right now.

  • Create New...