Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. Please check on this: In admin, Email Log, find a problematic email log entry (that sent the 'stock' email instead of the custom email). Click on the Edit icon for that row. You will be taken to the Edit screen for that Email Content. What language is shown in the drop-down?
  2. It always did before? But not anymore with CC651? You wrote "en - US" with spaces. Is that actually correct as spelled, or is it actually "en-US" without spaces? We should determine what language CubeCart is using when sending the custom templates.
  3. You said you made the edits many CC versions ago. Did CubeCart ever send the edited versions?
  4. Please directly examine the database again. Find your edited content in the CubeCart_email_content table. Note the value in the 'language' column for that row. CubeCart will use the content (maybe from the cached database query, so be sure to have CubeCart clear its internal cache after saving the edited content) that matches the purpose (admin.order_received) and also matches the language specified (customer's choice or default).
  5. If working with product options, how might we determine labor rate? What measurable aspect of the product could equate to time? You said that $1/min for 17 total items. Are you saying it takes you one minute to extrude each individual item regardless of length? Or would that be an average across all orders? Which is to ask: If I wanted a 2km length, so far that would cost $320,000. But how many minutes would be needed? Is there a way to express the minutes of labor in units of length? Like, 1 minute per 10mm? Or is it truly 1 minute per item - on average across a month's worth of sales?
  6. There is this: https://www.cubecart.com/extensions/plugins/file-uploads-attach-files-as-product-options
  7. Is the formula elementary? That is, if the product "Rigatoni" has, as options, a minimum to maximum continuously variable length, and an optional offset for a hole, plus whatever else can be modified to the product, can the equation be shown on the product's description? Or is the formula so complex that it would take human-judgement to polish off any rough edges and outlier conditions?
  8. I wrote a "Bundle Products" plugin. However, now that you mention it, I am not sure I covered the case where the stock level of the "Kits" is based on the lowest stock level of the kit members. I will have to check. Send a PM with your email address if you wish to experiment with it.
  9. I believe the essential difference with why your rate schedules require this edit is because, among more than one zone, there are same-named Shipping Rates. That is to say: Zone 2 Zips has a selection rule for 40100 - 40299, with a rate rule named "USPS First Class" equals 4.81. Zone 2 States has a selection rule for [IN, KY] named "USPS First Class" equals 4.81. So, the "First Match" feature seems to be working correctly as it finds the first match in each Zone, on the assumption only one Zone would find any match.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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?
  17. 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.
  18. 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.
  19. 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.)
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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.
  25. 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.
  • Create New...