Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. Currently, I am not aware of a "First Price - Sealed Bid Auction" solution for CubeCart. https://en.wikipedia.org/wiki/First-price_sealed-bid_auction
  2. This post is an exact duplicate of: https://forums.cubecart.com/topic/54173-how-to-make-card-capture-work/
  3. Same question asked on StackOverFlow six years ago. Site is unreachable.
  4. Ok, so, now that we know that CubeCart is getting a zero-length-string (zls) for 'minimum_quantity' and 'maximum_quantity' form elements in POST, we need to deal with that. Even though the database is getting a zls for an integer type column, that zls is getting converted to zero instead of using the column's default value. In the admin script products.index.inc.php, find near line 65: //Need to remove these in some cases to stop SQL errors $records = array('product_id', 'product_weight', 'stock_level', 'stock_warning'); foreach ($records as $r) { if (empty($record[$r]) && !is_numeric($record[$r])) { unset($record[$r]); } } Change to: //Need to remove these in some cases to stop SQL errors $records = array('product_id', 'product_weight', 'stock_level', 'stock_warning', 'minimum_quantity', 'maximum_quantity'); foreach ($records as $r) { if (empty($record[$r]) && !is_numeric($record[$r])) { unset($record[$r]); } } OR, be sure to enter a 1 in the Minimum Quantity Purchase field when entering the prices.
  5. I said: "There should not be 'minimum_quantity' in POST if that field was left blank." My experiment (just now) shows that Firefox is, in fact, including 'minimum_quantity' and 'maximum_quantity' form elements in POST. That is really odd. Maybe this was a fundamental misunderstanding of how I thought browsers worked.
  6. Please use a database management utility (such as phpMyAdmin) to examine the structure of the CubeCart database table CubeCart_inventory, the 'minimum_quantity' column. That column should have a default value of 1. When creating a new Inventory item, and leaving the Minimum Quantity Purchase field blank, can you verify that a POST value exists for the minimum_quantity form element when Saving? You can do this by having the browser's Developer Tools open, watching the Network tab. When Saving, a POST line will appear in the Network list. Clicking once on that line will highlight it, and viewing the Parameters sub-tab will show if 'minimum_quantity' is an element in the POST. There should not be 'minimum_quantity' in POST if that field was left blank. Likewise, have CubeCart in Debug mode (and enter your IP address in the adjacent field - www.showmyip.com). Then when Saving, note the POST array in the first debug section, and also find the INSERT database SQL query for CubeCart_inventory. There should not be 'minimum_quantity' if that field was left blank.
  7. Would you please summarize where and what you want to show in small, medium, and large. Also, be aware that there are also display rules for whether the device is in portrait (taller than width) or landscape (wider than height) orientation.
  8. Generally, the switch overs (small to medium to large) happen at 640 pixels and 1024 pixels wide. Your phone is probably wider than 640 pixels in "landscape" orientation.
  9. We would ask that you create PHP's error log. https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/
  10. Using a programmer's text editor, open the skin template main.php for editing. You will find statements similar to these: <html> <head> <!-- THIS IS THE HEAD BLOCK --> </head> <body> If your site is hosted, the hosting company probably provides you with a control panel to manage your site's contents. In the control panel, there will be a text editor to use to make simple edits to files.
  11. I would think the instruction is meant to say something like "Log an error in the order's transaction log and keep the order at Pending." Many of the current CubeCart payment gateways have code in the gateway class, process() method (sometimes the call() method), that sends data to Order->logTransaction.
  12. Please use a database management utility (such as phpMyAdmin) to examine the structure of the CubeCart database table CubeCart_inventory, the 'minimum_quantity' column. That column should have a default value of 1. The values in 'minimum_quantity' in all the rows should be 1 as well, unless you do have any products where there is a minimum quantity greater than 1 that is being enforced. When creating a new product, the Pricing tab should have a Minimum Quantity Purchase text entry field that is blank. When that is left as blank, the database table structure (called 'schema') says to use the default value of 1 for 'minimum_quantity' when inserting a new record. From what I can see, the value for the 'minimum_quantity' column is getting set to zero. I am specifically mentioning minimum quantity because only if the maximum quantity is greater or equal to the minimum quantity, will the maximum quantity be part of the HTML coding of the Quantity to Add to Basket spinner. Because the minimum quantity is 0, that minimum quantity is equal to the default value of the maximum quantity, thus controlling the spinner's maximum value permitted.
  13. Hmm. May we have a web address where we can see this?
  14. Adding a <meta> tag inside the <head> block of statements is one way to do this, but it seems another is to download a file from Google ('googlehashcode.html') and then deposit that file in CubeCart's main folder.
  15. There may be a URL in the Location column that cannot be broken. That is, if a string in a table cell is too long, and there isn't a character that the browser can break the line with (a dash, comma, etc), the cell will be as wide as it takes to show the unbroken string. So, scroll through the table looking for contents that are as wide as the Location column. The barely visible URL at the bottom would be a good suspect, but there are dashes that could break the line. So that's not it.
  16. The phrase "Leave blank to disable" is less than ideally worded. The database column that holds this setting is configured to hold an integer value. That means, even if the INSERT statement has no value for that column, the database engine will use the closest equivalent -- a zero value. That zero will then be returned when CubeCart makes a SELECT query for data. So, accept the zero value. CubeCart knows not to enforce a "Maximum purchase quantity" of zero. The "Maximum purchase quantity" is a recent enhancement for those merchants who sell items that are subject to "panic buying" (disinfectant wipes and toilet paper, most recently).
  17. No. The error message was logged because the database server rejected executing the query because there was already a record with that same email address. No more than one record can have any specific email address. FYI: There is a conversation on the forums that will have new code added to the CubeCart start-up file which will test for certain conditions on the POST data from the Registration form. One condition is if the same two capital letters are at the end of the first and last name entries. If the test passes, PHP stops executing the script.
  18. There isn't a distinct column in the list of products and documents (but there is in the list of categories). However, by hovering the mouse cursor over any of the icons in the right-most "Actions" column, the browser will show the URL that will be requested. That request URL will have a "product_id", "cat_id", or "doc_id" in the querystring.
  19. Please try replacing that code (do not forget to include the final closing brace for the else block) with this code: $filter = '(S.session_last > S.session_start) AND '; $GLOBALS['smarty']->assign('BOTS', false); if (isset($_GET['bots']) && $_GET['bots']=='true') { $filter = ''; $GLOBALS['smarty']->assign('BOTS', true); }
  20. Your browser's Network panel observes who and what your browser, working on your personal workstation, is communicating with. CubeCart, working on the server machine, has sent a request for some info to an external source. This is activity out of context of your workstation and even before CubeCart has built any web page to send out.
  21. A 'renamed' admin screen. Can we assume that the originally named admin screen (the folder name I think you mean) did not have a two minute delay? You can pretty much ignore anything and everything your browser could complain about with regards to time waiting for first byte to be received from the site. However, after receiving that first Dashboard page, editing a product will have the browser ask for image folders and image names. That may take a while, but because that happens after the whole page loads, it is not pertinent to your situation. With CubeCart's debug mode enabled, look at the very last line of the debug section. It will say how many seconds PHP took in getting everything built for output. If that value seems overly large, scan through the SQL queries taking note of the Hack values. Find any adjacent pair of queries where the hack values seem to have an overly large difference.
  22. Welcome garydes! Glad to see you made it to the forums. The easiest fix, if you can do it, is to migrate the database that CC3 is using back to MySQL 5.6 (as opposed to what is most likely MySQL 8). One might think to upgrade PHP to v7 for CC3 but that will introduce numerous incompatibilities. Keep in mind that an "upgrade" is "whole-cloth". That is, (almost) everything gets replaced. Please see: https://support.cubecart.com/hc/en-gb/articles/360003794258-How-do-I-upgrade-from-CubeCart-v3-to-v6- It is important that /includes/global.inc.php is not deleted, as well as the other three things to not delete in the deletion step. Or are you wanting to upgrade CC3 to the latest version of the CC3 family? (CC3.0.21) You will still have problems/concerns because even the latest version of CC3 does not work completely free of issues with PHP 5.6, and has major issues with PHP 7. The MySQL document page: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html About halfway down the page: Important change: The default character set has changed from latin1 to utf8mb4. According to: https://dev.mysql.com/doc/refman/8.0/en/set-names.html https://www.php.net/manual/en/mysqli.set-charset.php You might be able to set the server for latin1 by making this edit: In the file /classes/db.inc.php, find: function db() { global $glob; $this->db = mysqli_connect($glob['dbhost'], $glob['dbusername'], $glob['dbpassword'], $glob['dbdatabase']); if (!$this->db) die ($this->debug('connect')); Add after: mysqli_set_charset($this-db, 'latin1'); (I haven't tested any of this.) Even so, the error may be getting generated immediately during the connection to the database -- mysqli_connect() -- where executing the mysqli_set_charset() is too late. If so, one will need to reconfigure the database server itself, such as this article details: https://thisinterestsme.com/charset-255-unknown-mysql/
  23. In my Firefox, I see the .ico image on the browser tab, but only has three "pages", 256, 128, and 64 pixels square.
  24. Determine if the following statement already exists in the templates 'main.php' and 'main.checkout.php': <link href="{$ROOT_PATH}favicon.ico" rel="shortcut icon" type="image/x-icon"> If it is not there, add it just before the </head> tag. Next, acquire a square image you want to use. Upload it to a free online ICO file maker, such as: https://www.icoconverter.com/ Place the .ico file in CubeCart's main folder.
  25. Depending on the skin, the template file you want to edit is either 'element.meta.php' or, 'main.php' and 'main.checkout.php'. This is what Foundation has in element.meta.php: <meta name="viewport" content="width=device-width, initial-scale=1.0">
  • Create New...