Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. For step D, be sure that the updated plugins (that needs the ionCube that works with PHP 7.4) are not enabled. Otherwise, there is still the situation of an ionCube-encoded plugin wanting a later version of ionCube that is not running under PHP 5.6. Otherwise, the above is the sequence of steps I would suggest.
  2. When you click the Save button for adding a new category, when the page comes back, which banner gets displayed: "Category successfully created", or "Error creating category"? Or do you not get any banner?
  3. So, where is the stale stock level appearing on your site? Could this be a detail provided by a plugin or code snippet? Could the observed product, where the stock level seems to be stale, have options that are managed in the Options Matrix Table? If so, then the code that calls getProductStock() could be passing a parameter that says '$return_max = true'. If this is happening, then the stock level of the specific option combination that has the greatest stock level is what is going to be displayed. Please also let us know what the setting is for admin, Store Settings, Stock tab, "Main stock level as matrix stock level summary".
  4. Do you have any other category, anywhere, named 'OTF Knives'? For adding any new category, do you routinely enter a Custom SEO URL Path on the Search Engines tab? Or do you leave it blank?
  5. While in admin, CubeCart does not use the cache. So, every detail is 'fresh'. Since the inventory stock level is correct (results of a fresh query), we must look at the storefront code to see if the stock level detail is coming from a fresh query or from the cache. There is a function in the catalogue.class.php file, getProductStock(). Here, there are two database queries: Somewhere in line 1394: $GLOBALS['db']->select('CubeCart_option_matrix', $rows, $where, false, 1, false, false) Somewhere in line 1405: $GLOBALS['db']->select('CubeCart_inventory', array('stock_level'), array('product_id' => (int)$product_id), false, 1, false, false) The last false of these statements tells the select() function to not use the cache -- always get results from a fresh database query. So, where is the stale stock level appearing on your site? Could this be a detail provided by a plugin or code snippet?
  6. Your site says, "All prices listed on this website exclude GST." So, does that mean that the "+ GST" is somehow manually added to the price? That is to say, is "+ GST" is an edit to the skin template -- to hint that there will be GST eventually added to the price shown at checkout? If this is an edit to the template, then examine the template code file element.product.call_to_action.php: Near line 17, find: <span class="sale_price" id="ptp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.sale_price} + GST</span> Change to: <span class="sale_price" id="ptp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.sale_price}</span> + GST Near line 20, find: <span id="ptp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.price} + GST</span> Change to: <span id="ptp"{if !$CTRL_HIDE_PRICES} data-price="{$PRODUCT.price_to_pay}"{/if}>{$PRODUCT.price}</span> + GST
  7. Try to get back to PHP 5.6. Hopefully, you can resume store operations. If not, please add this statement, as the next-to-last line, to the /includes/global.inc.php file: $glob['safe_mode'] = true; This will have CubeCart not load any plugins. Doing this is based on the assumption that perhaps there is an installed plugin that requires the ionCube extension to PHP. That extension may still be a PHP 5.6 version. Additionally, plugins that use ionCube are coded against a specific version of the ionCube extension. So, even if the installed version of the ionCube extension is for PHP 7.1, the plugin also requires a new 'build' against that specific version of the ionCube extension. Please determine if there are any plugins by Noodleman or Havenswift that are installed on your site. If so, request updated versions of those plugins for PHP 7.4 (and switch to PHP 7.4 for your site).
  8. Manually moving an order to Processing should also send the download email. (Will be double-checking on that for CC644.) Additionally, a download link will appear on the customer's Profile section, Downloads page (if they are registered as a customer).
  9. I will assume that the Basix skin has the feature whereby, when the page gets loaded into the browser, a javascript routine is executed that makes a specific request (via ajax) for the current calculated price of the product. That price is the answer to a calculation that uses the product's base price, sale price, any alternate price based on the customer's "group" membership, quantity chosen (bulk pricing), and price differentials from options selected. The data sent back from that ajax request seems to not include any formatting or content other than having added the currency symbol (and any locale-specific characters). Research will need to be made.
  10. Resolving the 'deprecation' errors is an ongoing effort. Many issues were resolved in CC647 with many more resolved in the upcoming CC648. Please know that even if a statement throws a 'deprecated' error message, the statement still executes its functionality just as it did in PHP7.4. To quiet the reporting of these messages, disable CubeCart's Debug mode (admin, Store Settings, Advanced tab).
  11. If there is a blank page, then there could be error messages in admin, System Error Log.
  12. Because there is this expression on line 81: if(isset($GLOBALS['cart'])) { then by adding the new piece of code to line 501, there should be no problem. In fact, your recent error log points to a problem on line 66 in the order.class.php file - not in the gateway.class.php file as seen in the first post. In the order.class.php file, lines 59-78, a comment suggests that these lines can be removed. If you choose to re-instate the edit on line 501, and then also remove lines 59-78, please let us know what happens.
  13. I don't understand why PHP would complain "Attempt to modify property "basket" on null" for these lines. Very strange! FYI: this error does not happen for me.
  14. In your file: /classes/order.class.php, line 66, please show what the statement is for that line. This is what I have for lines 64-66: if (!defined('ORDER_PROCESS')) { define('ORDER_PROCESS', self::ORDER_PROCESS); }
  15. For a work-around, please try this: In /classes/order.class.php: Near line 501, find: if(!empty($order_summary['gateway']) && file_exists(CC_ROOT_DIR.'/modules/gateway/'.$order_summary['gateway'].'/gateway.class.php')) { Change to: if(isset($GLOBALS['cart']) && !empty($order_summary['gateway']) && file_exists(CC_ROOT_DIR.'/modules/gateway/'.$order_summary['gateway'].'/gateway.class.php')) {
  16. This has been revealed because PHP8 is less forgiving than PHP7. We will look for a solution.
  17. If you install CC647 via Softaculous, you will be in the same position you were earlier -- still running PHP 7.0 -- where CC647 requires PHP 7.1+. An empty backup file (other than the database contents)??? You can download CC645, unzip, and FTP the contents to your site. CC645 is the latest version that *should* still run under PHP7.0. https://forums.cubecart.com/topic/57773-cubecart-645-released/ And hopefully, all of your product image files are still on your site. The backup would not have deleted those. Once you get CC645 uploaded to your site, run the setup.
  18. To get back your store, first find where the backup of the codebase is located. The backup may also contain the database contents, depending how you made the backup. You said you did a complete backup. Was this through CubeCart's backup feature (which made a ZIP file)? Or did you manually FTP transfer down to a local computer all the files that comprised your site? Depending how you made the backup: 1. You will use any utility you have available on the Control Panel (CPanel?) to unzip the backup over-writing the CubeCart 6.4.x codebase. 2. Or you will simply FTP all the files you downloaded back up to your site. It seems like CubeCart 6.4.x quit (the correct term is 'died') before any work was done on the database. So, there will be no need to restore anything concerning the database. Or, you could insist to your host that your site has PHP 7.0 as there is the PHP Info output to prove it.
  19. If you still have the /setup/ folder, in that folder will be a file named info.php. Have your browser request that file: http://www.yourdomain.com/setup/info.php This output will show you the actual version of PHP that is serving your site.
  20. The 'admin.dashboard.unsettled_orders' is the name of a hook in /admin/sources/dashboard.index.inc.php (near line 309). In admin, look at Manage Hooks, Code Snippets tab. Are there any snippets that use this hook (Trigger column)? On the Hooks tab, review each of the enabled plugins. (The plugin name on this list is a link that will show all the hooks used by this plugin.)
  21. What about the 'backtrace'? Is there one that can be displayed?
  22. Is there a time entry logged for the above error message? If so, is that time very near when you were running the setup?
  23. If you hover the mouse cursor over this log entry, does a popover appear with a 'backtrace'? If so, you can swipe the mouse cursor over it to copy the contents. Please let us see that.
  24. However, looking at your error list, they are all Notices (for undefined things). That tells me you are running PHP7. Still, turning off debug should suppress 99.9999% of these errors getting logged. Smarty may have different ideas about throwing error messages. An error message that references a file in /cache/skin/ is when Smarty complains.
  • Create New...