Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. In shipping.class.php: Find near lines 237-240: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); } else { Change to: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); $closest_match_zone_id = $this->_all_zones[$i]['id']; break; } else { The above is the exact same edit as was posted earlier, just the line numbers have changed.
  2. Good. There seems to be an extensive collection of zones based on ranges of ZIP codes. There seems to be an extensive collection of zones based on sets of States. So, there is a match on Zone 2 Zips, and a match on Zone 2 States. Aside from the idea that ranges of zips versus sets of states could be considered the exact same thing, I see that the setting "First Match" isn't working as expected. So, as a work around, which the edit you posted above seems to be that solution, we might try to make that edit to AIOS v1.0.26. Instead of line 212, look at the code starting at line 237.
  3. Sorry, no, not what I was looking for. In admin, Store Settings, Advanced tab, Make sure you have your local IP address in the "Restrict..." text entry field (www.showmyip.com). Then, in the AIOS module settings screen, enable the AIOS Verbose debugging. There should now be a red preamble to CubeCart's checkout page. This is what I would like to see.
  4. AIOS v1.0.26 restricts showing the debug report to only those who are configured to see CubeCart's debug data (admin, Store Settings, Advanced tab, "IP Addresses". So, no worries about customers seeing weird stuff. In AIOS, enable verbose debugging. Start a checkout. There should now be a red preamble to CubeCart's checkout page detailing how AIOS module calculated the package of rates. Please copy/paste that to a text file and attach it to a reply.
  5. Above, I said: "Unfortunately, Offline Mode does not allow the debug data to be sent." Technically, the debug data gets 'spooled into session'. On the next legitimate page sent (likely, an admin page), the spooled data gets unspooled and is seen in the debug area. But this requires the same session between Offline Mode and accessing the admin. If these are the same session, we probably wouldn't be having this conversation.
  6. In admin, Store Settings, Advanced tab, enable Debug mode. Enter your local IP address in the following field (www.showmyip.com). Save. When the next page loads, your browser may complain about an application wanting to show a popup window. Permit this. (You may need to close the popup and reload that page.) Unfortunately, Offline Mode does not allow the debug data to be sent. So we will need to make an edit to a file so that we can log some messages to the System Error Log. Two things: hopefully, you are familiar with editing a file on the server, and you are familiar with how to get your browser to show you the cookies being used. In the file /includes/functions.inc.php, near line 775, make this edit: Find: if ($GLOBALS['config']->get('config', 'offline')) { Change to: if ($GLOBALS['config']->get('config', 'offline')) { trigger_error("The store is offline. The admin is ".(Admin::getInstance()->is() ? "" : "not " )."logged in. The session_id is ".$GLOBALS['session']->getId()); Visit a page in admin. Note the cookie value(s) being sent back and forth. Then, visit the storefront page. Note the cookie value(s) being sent back and forth. Back in admin, view Error Log, System Error Log tab. Undoubtedly, the message will say that the admin is not logged in. Compare the session_id with the cookie value(s) noted earlier.
  7. Are you and the client using the same admin login details? However, I don't think that matters. When you set the store to the Offline state, the Clear Cache button should have caught your attention. Did you clear CubeCart's cache? And what exact version of CubeCart are you running?
  8. Having deleted the 'config' row in CubeCart_config, as you saw, caused all of the drop-down selectors to show the first choice (instead of the selected choice) of the range of choices. For Country, that would be Afganistan, for default currency it might be Australian Dollar, default language might be English (UK), etc, and all of the checkboxed settings to be unchecked.
  9. From a search on the Internat, most hits coming from ServerFault.com, that AH01797 most definitely points to the web server having been upgraded to v2.4 from an earlier version, and not using a new configuration syntax for something.
  10. The store settings are saved in the database table CubeCart_config, in the row where 'name' = "config". The settings are all grouped into an array when being used by CubeCart's 'Config' class' (/classes/config.class.php). Otherwise, that array is given to PHP's function json_encode(), then to the function base64_encode(), then databased. We have discovered that the size of all the config data, when attempting to serialize or encode, would fault because all that data was too big. And the most likely culprit turned out to be the Offline Store message (admin, Store Settings, Offline tab). Please review all the Store Settings where there could possibly an abundance of content, and if any seems to be excessive, trim it down. (The Offline Store messages had been created in Microsoft Word, and saved as an HTML file -- which included lots and lots of Word-specific formatting cruft.)
  11. I haven't verified that the IP addresses belong to BingBot, but this Warning, generated by CubeCart, happens on occasion when an entity (Google, Bing, residential internet connection, sometimes cell phones, sometime Chrome - which seems to upgrade every hour) uses the same cookie but is using a different IP address or web browser/version. This will drop the session (like when logging out), but will not cause a 403 response. The 403 response... Did the page shown appear to be a CubeCart page, or a very plain-looking 403 page? The page should have been initiated by the web server. However, CubeCart will log the response code, whatever it is, when CubeCart makes a "Request" to a third-party site. But it won't crash CubeCart. There is a new feature in CubeCart, a "cron" capability, that if an external request is made to that capability, but with bad data, will simply quit (looks like a crash) having sent a 403 code in the HTML 'header'. But this doesn't happen trying to login to admin. There is also a new feature whereby CubeCart uses ElasticSearch as a search engine that gets coupled to the MySQL database. I see evidence that the ElasticSearch server might send a 403 response back to CubeCart, but, I think, that won't cause CubeCart to crash. Where was this error seen? In PHP's error log available in your hosted site's control panel? Try to find the web server's error log. You might need to get your hosting provider's help.
  12. The above button simply will display the Delivery Address form, at checkout, for not-logged-in customers, when the "Deliver to Billing address" is not checked. When you say "to go back", do you mean that after having moved to the next step in the checkout process, the customer wants to go back to the Confirm stage and change the delivery address? If so, and depending on the skin (I tested with Kurouto), there is at the top: 1-Basket 2-Checkout 3-Payment 4-Complete where each is a link to that stage - if appropriate.
  13. If "all of a sudden", it means you should contact your hosting provider and ask them to look at the web server error logs to determine what resource the web server says access is being denied. Your hosted account's control panel may have a web server error log, or a way to turn it on for a day.
  14. If you wish to use the ALL-in-One Shipping module, on the General tab, click the Show advanced setting link. Check the Flat Rate and Per Item checkboxes. No other checkboxes need to be checked. Save. Then create a Shipping Zone, and then create a Shipping Rate. Name the Rate whatever you want, and for Shipping Price, in the first box enter 10.00 and in the second box enter 2.50. Save and test.
  15. Uh, well, no. That was not good. Let's create a template to get that back. In admin, Email Templates, Email Templates tab, click Create a Template. A new page will show. There will be three tabs. Copy the following content for each of the tabs as indicated. General Tab: Default Emails HTML Content Tab: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> html, body, table { font-family: Arial; font-size: 14px; } .w3w{ color: #E11F26; display: block }.w3w a{ color: #333333; text-decoration: none } </style> <title>Default HTML Template</title> <base href="{$DATA.storeURL}" /> </head> <body bgcolor="#f7f7f7"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td align="center"><table bgcolor="#ffffff" border="0" cellpadding="15" cellspacing="0" width="580"> <tbody> <tr> <td><a href="{$DATA.storeURL}"><img alt="{$DATA.storeName}" border="0" src="{$DATA.logoURL}" /></a></td> </tr> <tr> <td> {$EMAIL_CONTENT}</td> </tr> <tr> <td><p> Kind regards,</p> <p> The {$DATA.storeName} Staff<br /> <a href="{$DATA.storeURL}">{$DATA.storeURL}</a></p></td> </tr> </tbody> </table></td> </tr> </tbody> </table> </body> </html> Plain Text Content Tab: {$EMAIL_CONTENT} Kind regards, The {$DATA.storeName} Staff {$DATA.storeURL} Save. When the list of templates come back, click the radio button in the Default column. Save.
  16. The email templates, contained in files located in the /language/ folder, has nothing to do with a skin package (such as, Basix). Having deleted template content (however that happened), it was restored when you last imported the file that was a renamed copy of 'email.definitions.xml'. So, I'm not sure what it is that you are questioning are necessary.
  17. So, does the US flag show for User: Verify Newsletter Subscription in the list of Email Contents table?
  18. I am not familiar with a loss of encrypted card data when using a newer version of CubeCart (which may use a newer or different encryption method), a newer version of PHP (which may have different encryption protocols), nor when going through CubeCart's upgrade process (that may want to actually delete old very sensitive data to satisfy GDPR). Using an external database utility, verify that the data has actually been deleted. (I am not sure where it gets saved, maybe CubeCart_order_summary, 'offline_capture' column.)
  19. Instead, do this: Delete the existing /language/email_en-US.xml' file. Make a copy of the existing file 'email_definitions.xml' to a new file having the name 'email_en-US.xml'. Import this language.
  20. Unfortunately, en-US does not have the "newsletter.verify_email" phrase in that language file. I am currently checking if this language pack has this phrase in the pack version 1.0.2. No, it does not. (I will post a bug report.) A work-around is to open the file 'email_definitions.xml' and copy the group of lines that span near lines 427-436, and paste them in 'email_en-US.xml', at the end, just above the final line: </emails>. Then try the import again. But you have said: "I've clicked Import, selected the enUS option, and then save. Nothing happens." Specifically, is the choice enUS or en-US? And by 'nothing', do mean there was no change, or absolutely nothing happened, as if you didn't even click the button and Cubecart didn't show you a new page?
  21. In CubeCart's folder /language/, please list all files that have this format: 'email_xx-XX.xml'.
  22. In admin, Email Templates, Email Contents tab, how many and which flags are shown for the User: Verify Newsletter Subscription line in the table?
  23. The file /includes/global.inc.php is often set to be read-only. But you would have come across that obvious situation. I recall only one other instance similar to your description and it involved (I think) some sort of security application that prevents unauthorized changes to files. Both the admin.php script and /admin/ folder have custom hashes appended as an approach to security by obscurity. Of the two folders that start with 'admin_', one will be dated later than the other. Pick that one and change the corresponding value in globals.inc.php.
  • Create New...