Jump to content

bsmither

Member
  • Posts

    17,993
  • Joined

  • Last visited

  • Days Won

    603

Posts posted by bsmither

  1. 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.

  2. 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.

  3. 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.

     

  4. 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.

  5. 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.

     

  6. 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.)

     

  7. 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?

  8. 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.

  9. Please make this check: in /includes/globals.inc.php, find the following statement,

    $glob['dbprefix'] = 'something';

    where something could be anything, or nothing (leaving just two quote marks with nothing inside them).

    It could be the case where [[dbprefix]] is what is between the quote marks.

    What needs to happen is that the characters inside the quote marks must be the same as the actual characters in front of the database table names (as seen from your hosted account's control panel's database utility - phpMyAdmin, for example).

  10. Everything (well, 99.999% for CC6) that is viewed on the storefront is contained entirely in the named skin folder -- Foundation, for example.

    When wanting to experiment with how the skin looks, it is best to have CubeCart's "Cache" setting at 'Disabled' (admin, Store Settings, Advanced tab, Enable Caching). This will prevent CubeCart from combining and squeezing the javascript and CSS files into single, cached files. (Doing this minification makes it a pain to see changes.)

    No, these forums do not contain any organized instruction of CubeCart, nor how to construct a CC6 skin.

     

     

  11. It is still confounding that this "only started over the last week".

    Here are a couple of edits that were implemented in CC646 to fix an issue with CubeCart's "cart". This will likely not have any effect on your situation.

    In /controllers/controller.index.inc.php, near line 78, find:
    
    $GLOBALS['cart'] = Cart::getInstance();
    
    On a new blank line after that, add:
    
    $GLOBALS['cart']->init();
    
    In /classes/cart.class.php, near lines 94-95, find:
    
        final protected function __construct()
        {
    
    Change to:
    
        final protected function __construct() { }
        public function init() {

     

  12. If the customer is at PayPal, with a "spinning circle", I have no theory that this could have anything to do with the CubeCart code.

    Regarding getting bounced back to PayPal:

    Quote

    I didn’t press anything but a screen message said there were insufficient items of one thing (I can’t remember what) in stock and it had been removed from my cart, I clicked OK, then it transferred me straight back to PayPal.

    The phrases CubeCart has are, most likely: "Sorry, but [product_name] is no longer available and has been removed from your basket," and less likely: "Sorry, you can't buy more than we have. We have automatically reduced your quantity to the maximum available."

    These phrases get displayed when the basket contents are 'updated', and that happens more frequently than you might imagine.

    But, again, it seems PayPal is sending the customer back to your store with bad info (the wrong querystring).

  13. In the admin skin templates folder, find the orders.print.php file. You can make edits there.

    However, CubeCart may have stored a copy of this file in the database, and will prefer to use this databased version if it is there. It is stored in the database table CubeCart_invoice_template. (Which asks an interesting question: why use a database table for only one record?)

  14. I would have a text editor open and ready on your computer.

    I would view the cPanel error log, select the last hundred lines (or however many you want), then Copy (using the clipboard), then Paste into the first text editor (so that the selection won't get lost). Then have cPanel delete the error log file. Have cPanel create a new file with the same name (assuming your site isn't so busy that the error log gets recreated right-away), then copy-paste the selection back into the new file. That is, if keeping the selected error messages locally is not something you want to do.

     

     

  15. What is the nature of the error log in cPanel? A text file viewable in a text editor? If so, what does "clear the log" refer to? Do you simply wish to delete the text file? Maybe you cannot edit the file (being so large), but cPanel should be able to delete it. If it is a simple error log file, whatever the code would be that logs messages to it will simply re-create it if it does not already exist.

    When you upgraded the PayPal Commerce extension, did you visit the extension's control panel and actually Save the settings - even if no changes were made?

    I see a new-ish ApplePay setting that will not become part of the extension's configuration details until the admin control panel is positively saved (and CubeCart's internal cache is cleared). Doing that should then stop PHP complaining about an undefined array key.

     

  16. This is the procedure for the latest versions of CubeCart where the administration section has an Invoice Editor tab in the Documents area.

    The Invoice Editor brings the Invoice's HTML code into an editor (set to Source Mode). There are no line numbers, so you will be looking for actual code to change:

    Find:
    
    {foreach from=$order.items item=item}
    
    Change to:
    
    {$running_count = 0}{foreach from=$order.items item=item}{$running_count = $running_count + $item.quantity}
    
    Find:
    
    <div class="total"><strong>{$LANG.basket.total_grand} {$order.total}</strong></div>
    
    Change to:
    
    <div class="total"><strong>Total Items: {$running_count}</strong></div>
    <div class="total"><strong>{$LANG.basket.total_grand} {$order.total}</strong></div>

    Then click the Save button and have CubeCart clear its internal cache.

×
×
  • Create New...