Jump to content

bsmither

Member
  • Posts

    18,014
  • Joined

  • Last visited

  • Days Won

    605

Posts posted by bsmither

  1. Getting back to CubeCart's debug mode... In that mode, at the bottom of the web page shown, there is a grey diagnostics section. We are interested in the query that looks like it is selecting products against a specific manufacturer id. And any query that gets data from the CubeCart_manufacturers database table.

    Once those queries are found, they can be used in your database management utility to see what, if anything, is actually being returned from the database.

     

  2. I find that a collection of plugins and code snippets might be a solution.

    This plugin:

    https://www.cubecart.com/extensions/plugins/age-verification-splash-screen

    In concept, prevents access to the whole store unless the test passes. This plugin becomes far less useful if it cannot be customized -- the explanatory text, test question(s), and the acceptable answers.

    Following that, there is a simple plugin I wrote, "Register Customers as Disabled", which keeps newly registered customers to remain as "not logged in" but able to view the store. CubeCart can be configured to not show prices unless logged in, meaning no ability to purchase anything. The admin must manually 'enable' the customer.

    Additionally, this code snippet:

    https://www.cubecart.com/extensions/code-snippets/send-registration-confirmation-email

    sends an email to the customer (may be able to customize the message) and, possibly, to the admin.

  3. So, this part suggests that the checked state of the checkboxes must be recorded with all other data in the Order Summary:

    "This means: In the event of a dispute, the shop operator must prove (italics added) that the consumer actually gave his consent to the start of the contract and his confirmation that he consciously waived the right of withdrawal. [The opt-in checkbox] should not be pre-checked, but require an explicit action by the consumer. Obtaining consent within the [T&C document] is therefore not sufficient."

    This, then, answers my question above.

    However, this part has me wondering if there is something lost in translation:

    "Thereafter, the customer must be confirmed (perhaps meant to say informed?) again after the order on a durable medium (e-mail, PDF, paper form) that the trader starts (started?) to perform the contract before the end of the cooling-off period and the customer consciously waives (waived?) his right of withdrawal."

    Does this phrase mean the customer must again opt in using a durable medium, or does the phrase say the customer must be advised that they did previously acknowledge waiving their right?

  4. I think these are phrases you want to have all of your customers agree to, such that, as you say, there will be no work performed or product delivered otherwise.

    If you wish to strictly enforce this, perhaps adding these phrases to the "Terms & Conditions" document that all customers must have agreed to when making any purchase. Enforcing the reading of the T&C document is a standard Cubecart feature.

     

     

  5. I cannot find these phrases in the Deutsch (de-DE.xml v2.0.1) language file.

    Please let us know what these phrases might be related to, and where they may be coming from.

    "I have taken note of the right of withdrawal."
    "I agree and would like to start downloading immediately before the end of the cancellation period. I am aware that I will lose my right of withdrawal once the download has started."
    "I agree and expressly request that you start performing the commissioned service before the end of the cancellation period. I am aware that if you completely fulfill the contract, I lose my right of withdrawal."

  6. The thought came to me that the module's admin screen must have some sort of advisory phrasings that would warn if the module is being used outside its licensed environment.

    Ok, so it is in its trial period.

    Getting back to CubeCart's debug mode... In that mode, at the bottom of the web page shown, there is a grey diagnostics section. We are interested in the query that looks like it is selecting products against a specific manufacturer id.

    Once that query is found, it can be used in your database management utility to see if anything is actually being returned from the database.

     

  7. I don't see this as an issue with ionCube.

    The 'Undefined index' messages can be ignored. As can the 'Unknown or incorrect time zone' messages.

    The errors with 'unserialize()' and the following 'access array offset' are concerning, and may be because of...

    Do the instructions that came with Havenswift's module indicate that the module is locked to a given domain name? Any mention that the module will also work in 'localhost' - regardless of being locked to a domain name? When you purchased the module, did you have to indicate exactly where you would be using it? Is the module still in it's FREE seven-day trial period?

     

  8. I cannot help troubleshoot the code -- it is likely ioncube encoded (as is essentially all of Haveswift's products).

    If you enable CubeCart's debug mode, then call up a page of a manufacturer's assigned products, we should be able to see the database query the module makes when fetching the products of that manufacturer (assuming the module uses CubeCart's database code).

  9. Recently had to change the password on a friend's Outlook 2013 (which does not do OAuth like Thunderbird).

    Now, I have not actually done this for my development installations of CubeCart yet, but I have every expectation that this will work.

    What you need to do is to acquire an "app password" for your "less-than-secure" app (as Google puts it). See:

    https://support.google.com/accounts/answer/185833

    To do this, you will need a cell-phone.

    In your GMail account settings page, find the Security section. Enable "Two-step Verification". (This is not as bad as it sounds.) This is only to verify that the person doing this process is, in fact, you. Google will text a code when you begin the process of generating an app password.

    There should now be a new option in the "Signing in to Google" section for App Passwords. Select this option.

    On the App Password page, choose Select App, and for the name of the app, choose something like FettleBox Store (something in one or two words to describe what you are to use this app password for). Then choose Generate.

    The 16-digit number in a yellow banner is what you will enter in CubeCart's SMTP Password field (the banner shows spaces between each set of four digits that are not part of the password - do not include the spaces).

    This is all how it worked for Outlook 2013. I expect it to also work when wanting to use GMail as the SMTP server for CubeCart.

    • Thanks 1
  10. In admin, Maintenance, Rebuild tab, Miscellaneous section, there is a checkbox to have CubeCart rebuild the Site Map.

    Once the Site Map has been rebuilt, Cubecart will 'ping' Google with the location of the site map so that it can be easily absorbed into Google's databases.

    I have no knowledge of how long it would take for Google to make these pages from the Site Map appear in their search results.

     

  11. I've looked at your site, and can agree that a search targeting a category would be useful to you.

    Specifically, searching 'Electropop' returns nothing.

    Only because 'Electropop' is a sub-category of 'Music/Genres', where the sub-categories of 'Genres' is a list so long (tall) that a goodly number of genres disappear off the bottom of the browser window.

    So, because of this (but not so much 'antiques'), searching for a category is a practical necessity - in your case.

    Alternatively, the 'Genres' category can be modified to not have any sub-categories, and compose a 'mini-directory' contained within the 'Genres' description.

    Alternatively, a different skin might have a suitable navigation layout that would accommodate a large number of sub-categories.

     

  12. Try this:

    The skin's template content.category.php, find:
    
                <div class="product_pricing text-right clearfix">
                  {if $product.ctrl_sale}
                  <span class="old_price">{$product.price}</span> <span class="sale_price">{$product.sale_price}</span>
                  {else}
                  <div><span>{$product.price}</span></div>
                  {/if}
    
    Add immediately after:
    
    {if $product.available lte 0}
    <span>{$LANG.common.unavailable}</span>
    {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
    <form action="{$VAL_SELF}" method="post">
    <span><input type="text" name="quantity" value="{$product.minimum_quantity|default:'1'}" maxlength="3" class="btn btn-success quantity text-center" style="width:3em;height:1.1em;">
    <button type="submit" value="{$LANG.catalogue.add_to_basket}" class="btn btn-success" style="height:1.1em;line-height:0">{$LANG.catalogue.add_to_basket}</button></span>
    <input type="hidden" name="add" value="{$product.product_id}">
    </form>
    {elseif !$CATALOGUE_MODE}
    <span>{$LANG.catalogue.out_of_stock_short}</span>
    {/if}

     

  13. After analyzing the code, I find that a recent change in ini.inc.php will test for the version of PHP it is running under.

    The test will have PHP die with the message that CubeCart is not ready for PHP8+ and recommends that PHP7.4 be used.

    So, right from the start, a stock install of CC645 is a 'no-go' on PHP8+.

    But, I will defeat that kill switch, swap out Smarty 3 for Smarty 4, and see what happens under PHP 8.1.

     

  14. CC645 does not have Smarty 4. But I will experiment with a PHP 8.1 environment, swap out Smarty 3 with Smarty 4, and trial CC645.

    I do know that there are some issues in the Github related to PHP 8 that are still open.

     

×
×
  • Create New...