• Content count

  • Joined

  • Last visited

  • Days Won


bsandall last won the day on May 8

bsandall had the most liked content!

Community Reputation

13 Good

About bsandall

  1. So what you're saying is you're at the pub right now replying from your phone, right? Because it's around 11 pm in London right now.
  2. I've found I can edit my posts so long as it is right after I post it. If I wait too long or someone else posts in the same thread, the option to edit seems to become unavailable.
  3. You can always find where Smarty variables are assigned by doing a global search for them in your CubeCart directory. On Windows, for example, open a console in said directory and run: findstr /i /n /s /c:"CHECKOUT_BUTTON" *.* The output will look something like this: classes\cubecart.class.php:571: $GLOBALS['smarty']->assign('CHECKOUT_BUTTON', true); classes\cubecart.class.php:1702: $checkout_button = (CC_SSL) ? $GLOBALS['language']->checkout['secure_checkout'] : $GLOBALS['language']->checkout['checkout']; . . . Usually you will have to actually open the files and read the code around the lines mentioned, but in this case you can probably safely conclude that the language entries you need to change are under checkout.secure_checkout and checkout.checkout. Also, you can search for 'checkout' in the definitions.xml file - you will see entries in both the basket and checkout groups; I do not know whether both need to be changed or just the ones in the checkout group, and there may be others (I stopped looking).
  4. @Dirty Butter The reason I didn't make a GitHub issue originally is because I wanted to determine steps to replicate the issue, since it's nearly impossible to fix an issue that you can't replicate (as Al and any other developer can attest to). That said, good luck @Al Brookbanks - you've been on a roll lately! I suspect you haven't been sleeping as I see you online at odd hours of the night (your time).
  5. This was my option #1 if fixing the indexes didn't resolve it: It can easily be kept up-to-date after the initial calculation whenever an order is created, modified, or deleted, perhaps with a total recalculation on demand feature.
  6. This is what I use in my .htaccess file - put this right after enabling the RewriteEngine and setting the RewriteBase: # Require SSL SSLOptions +StrictRequire SSLRequireSSL SSLRequire %{HTTP_HOST} eq "" ErrorDocument 403 # Require SSL without mod_ssl RewriteCond %{HTTPS} !=on [NC] RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
  7. It looks like your database is missing some indexes - this could explain why your query is taking so long to run. Here are my results: id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE S range cart_order_id_2,status,cart_order_id status 1 NULL redacted Using index condition; Using temporary; Using file... 1 SIMPLE O ref product_id,cart_order_id cart_order_id 56 S.cart_order_id 1 NULL 1 SIMPLE I eq_ref PRIMARY PRIMARY 4 O.product_id 1 NULL Note the key 'status' in the first row with a key_length of 1; also note that row 2 returns rows on a 1-to-1 basis, whereas yours returned 96 products. I recommend you go through each of your tables and compare them to CubeCart's database setup file. You may also be able to check the indexes from your Admin's Maintenance tab. By the way, running the actual query only takes 0.0053 seconds for me. Other options to consider if fixing your table indexes doesn't work: 1. Create a summary table (and regularly update it) containing a running tally of quantities sold so that the database doesn't have to actually SUM potentially tens of thousands of rows. This wouldn't be a bad idea for core CubeCart to implement. 2. If you have control over the server hardware, you could swap in an SSD drive to store the database on, increase RAM, etc. to improve query speeds. If you cannot manage the hardware, you may still be able to contact your host and see if they have better options for you. 3. Partition the table (look up table partitioning) so that there aren't such huge amounts of data to query against, especially since the Dashboard only cares about the most recent ones. I don't think this is actually a viable solution in your case, but it is a common practice when dealing with large amounts of data.
  8. By "disable the reCaptcha" do you mean you solved the challenge or you disabled reCaptcha in the admin side? If you disabled it via admin, did you clear the skin cache before trying to register? I've had issues with 6.1.7 and invisible reCaptcha, but once it is disabled everything works fine.
  9. I can confirm it works with the latest GitHub code as well:
  10. @keat When you are editing or adding a product's options, there is a new column, 'Default', with a checkbox. Set one option per required option group as the default to allow it to be added directly via the 'Add to Basket' button. Furthermore, any option set as the default will automatically be selected when first viewing the product page.
  11. One thing I forgot to mention is that it is now possible to designate 'default' options for your products; doing so will allow the 'Add to Basket' button to work directly from the catalogue or home page. Note, however, that the database query that requests the product price does not yet query options at all, so you should set the overall product price to whatever it is for the default set of options.
  12. I recommend Git. While it may have a steeper learning curve than some other software, it is a full on version control system, not just a file comparison tool. For example, to update to the latest version, I simply run the following Git command: git pull upstream master Now my store is up-to-date and still includes all of my customizations - all I have to do from here is FTP the files to my live server.
  13. Do you understand HTML / SMARTY at all? If so, compare the parts that I deleted above and remove those from your code. If not, you may need to hire a developer to help you.
  14. But it's not resolved for me, and I was the one who started the thread... :\ I use version control to manage changes to my store's code and can quickly compare the files to the code from GitHub - none of my skin files are missing that code and it still has not worked for me. I will re-test the invisible reCaptcha after 6.1.8 is released and update this thread with my results.
  15. You should be able to remove some lines from `content.category.php` to achieve your desired result. I removed all of the code between lines 98 and 128 (if using unmodified code): // keep this line and the closing div - remove everything else <div class="small-3 columns"> <h3> {if $product.ctrl_sale}<span class="old_price">{$product.price}</span> <span class="sale_price">{$product.sale_price}</span> {else} {$product.price} {/if} </h3> {if $product.available <= 0} <div class="row collapse"> <div class="small-12 columns"> <input type="submit" value="{$LANG.common.unavailable}" class="button small postfix disabled expand marg-top" disabled> </div> </div> {* ctrl_stock True when a product is considered 'in stock' for purposes of allowing a purchase, either by actually being in stock or via certain settings *} {elseif $product.ctrl_stock && !$CATALOGUE_MODE} <div class="row collapse"> <div class="small-4 columns"> <input type="text" name="quantity" value="1" class="quantity text-center"> </div> <div class="small-8 columns"> <button type="submit" value="{$LANG.catalogue.add_to_basket}" class="button small postfix">{$LANG.catalogue.add_to_basket}</button> </div> </div> {elseif !$CATALOGUE_MODE} <div class="row collapse"> <div class="small-12 columns"> <input type="submit" value="{$LANG.catalogue.out_of_stock_short}" disabled class="button disabled expand small"> </div> </div> {/if} </div> That does not affect the home page nor the side bars (e.g. best sellers), but you can look around in the skin templates for similar code and change as desired.