Jump to content

bsmither

Member
  • Posts

    18,132
  • Joined

  • Last visited

  • Days Won

    607

Everything posted by bsmither

  1. "and the breadcrumb path was correct" The sequence of breadcrumbs may have been correct, but when one hovers the mouse of a category showing as a breadcrumb element, the web address of the category link would be shown at the bottom of the browser window.
  2. I had looked at just the Nav bar. (True, links to the products were good.) I wonder what the category breadcrumb link would have been when viewing a product. Now that you have switched off caching, the Combine function is no longer in play. Even the Chosen CSS rules are no longer corrupted.
  3. Sorry, I meant the Sale Items link on the Nav bar.
  4. I recommend that one does not use Dreamweaver. (Disclaimer: last time I used it with any seriousness was, like, 20 years ago, and not proficiently, at all. I understand later versions got better, but I still do not trust it to not muck up things.) The file ini.inc.php, lines 143-155, will use these $glob array elements only when the page requested is not using the SSL protocol. The constants are defined accordingly, then the appropriate $GLOBALS are assigned. So, no, I don't think that made a difference with this problem. In addition to all the Category links in the Nav bar, even the Sale Items is corrupted -- and that URL is constructed from some other core function of CubeCart. It will be interesting to see what the differences in the generated HTML page actually are when caching is switched off.
  5. I think it has to do with the Smarty plugin 'combine', where it calls CSSMin::minify() using $dirname that (probably) contains the server's root path, as opposed to the domain's httpdocs path. In the combined CSS file, the set of CSS rules that pertain to the Chosen feature have wrong background:url("path") values. (A clue!) In admin, Store Settings, Advanced tab, set "Enable Caching" to 'Disabled'.
  6. I think this is not an issue with domain aliases. I see {$ROOT_PATH} getting corrupted somehow. In the template main.php, at the end of the file, add {DEBUG}. In the template box.navigation.php, at the end of the file, add {DEBUG}. Call up the homepage. The browser will want to open a popup window. Let it. (You may need to refetch the homepage.) Now that you have the popup window(s), restore the files from these edits. In the popup window(s), in the left pane, find every instance the variable $ROOT_PATH. Note the value. Are they different from each other? Are they really strange? Could you switch off "Accordion Panel Magic 3" for a brief moment?
  7. There is CubeCart's "Catalogue Mode". This displays the prices but inhibits the ability to make purchases. The following is a code snippet that will switch off "Catalogue Mode" for the user(s) that have logged in. In admin, Manage Hooks, Code Snippets tab, click the Add Snippet link. When the page reloads, there will be a form at the bottom of the page. Enabled: Checked Unique ID: NotCatMode4LoggedIn@cc640+ Execution Order: 99 Description: Switches off Catalogue Mode when that user is logged in. Trigger: class.user.load.user Version: 1.0 Author: https://forums.cubecart.com/topic/57901-registration-to-be-approved/ Note-- the first line of the PHP Code must be a less-than symbol, then a question mark, then these three characters: php The forum will not allow what looks like code to be executed onto the forums. After that first line of code, the rest of the lines in the PHP Code block are: /* Uses the hook 'class.user.load.user' located in code that * runs when a user gets logged in. * In admin, enable Catalogue Mode. * These statements will disable catalogue mode for this user * and have the templates show respective details. */ $GLOBALS['config']->merge('config', 'catalogue_mode', false); $GLOBALS['smarty']->assign('CATALOGUE_MODE', false); Click Save. To test, visit the storefront as a not-logged-in visitor. Verify that there is opportunity to add something to the basket, and there is no basket to view. Using a different browser, or an isolated tab of the browser (such as Firefox's Multi-Account Containers), visit the storefront and log in. Verify that this customer has a shopping basket. Verify that the not-logged-in visitor still does not have the opportunity to add to the (non-existent) basket.
  8. In admin, Store Settings, Misc section, "Hide prices until logged in", checked. Save and have CubeCart clear its internal cache. Note: an admin viewing the storefront will still see prices. Without prices, one cannot make purchases.
  9. Please make this edit: In /classes/catalogue.class.php, near line 1809, find: $this->_search_mode = $search_mode; Change to: //$this->_search_mode = $search_mode; Then, Near line 1871, find: $this->_sort_by_relevance = true; Add after: $this->_search_mode = $search_mode; This has been solved at the Github issue #3626.
  10. In admin/source/customer.index.inc, find: if (isset($_POST['venue_sold_site']) && is_array($_POST['venue_sold_site']) && Admin::getInstance()->permissions('customers', CC_PERM_EDIT)) { foreach ($_POST['venue_sold_site'] as $customer_id => $venue_sold_site) { $result = $result || $GLOBALS['db']->update('CubeCart_customer', array('venue_sold_site' => $venue_sold_site), array('customer_id' => (int)$customer_id)); } if ($result) { $GLOBALS['main']->successMessage("Some or all venue sold sites updated."); } $send_redirect = true; } if (isset($_POST['venue_id']) && is_array($_POST['venue_id']) && Admin::getInstance()->permissions('customers', CC_PERM_EDIT)) { foreach ($_POST['venue_id'] as $customer_id => $venue_id) { $result = $result || $GLOBALS['db']->update('CubeCart_customer', array('venue_id' => $venue_id), array('customer_id' => (int)$customer_id)); } if ($result) { $GLOBALS['main']->successMessage("Some or all venue id updated."); } $send_redirect = true; } Replace with: if (isset($_POST['venue_sold_site']) && is_array($_POST['venue_sold_site']) && Admin::getInstance()->permissions('customers', CC_PERM_EDIT)) { $venue_sold_site = false; foreach ($_POST['venue_sold_site'] as $customer_id => $venue_sold_site) { if (($GLOBALS['db']->update('CubeCart_customer', array('venue_sold_site' => $venue_sold_site), array('customer_id' => (int)$customer_id))) !==false) { $venue_sold_site = true; } } if ($venue_sold_site) { $GLOBALS['main']->successMessage("Some or all venue sold sites updated."); } $send_redirect = true; } if (isset($_POST['venue_id']) && is_array($_POST['venue_id']) && Admin::getInstance()->permissions('customers', CC_PERM_EDIT)) { $venue_id = false; foreach ($_POST['venue_id'] as $customer_id => $venue_id) { if (($GLOBALS['db']->update('CubeCart_customer', array('venue_id' => $venue_id), array('customer_id' => (int)$customer_id))) !==false) { $venue_id = true; } } if ($venue_id) { $GLOBALS['main']->successMessage("Some or all venue id updated."); } $send_redirect = true; }
  11. This part of each of two statements: $result = $result || $GLOBALS['db']->update('CubeCart_customer' PHP will first analyze the statement to 'optimize' it. In doing so, the conclusion is that either $result or update() must be true. PHP will first evaluate $result and, if that is true-like, won't bother with the rest of the statement -- it has its true-ness and that is all that mattered. So, this is what I recommend: $venue_sold_site = false; foreach ($_POST['venue_sold_site'] as $customer_id => $venue_sold_site) { if (($GLOBALS['db']->update( 'CubeCart_customer', array('venue_sold_site' => $venue_sold_site), array('customer_id' => (int)$customer_id)) ) !==false) { $venue_sold_site = true; } } if ($venue_sold_site) { $GLOBALS['main']->successMessage("Some or all venue sold sites updated."); } Do the same for the other POST column.
  12. The sequence ??= is called a "Null Coalescing Assignment" operator, and was adopted into PHP 7.4. Please know that PHP can be run in either of two ways: as an 'application' (for lack of a better word) spun up by a web browser server, and as a 'command-line script' (in a text-based console window). Each of these two ways can specify which specific version of PHP will be used to run the PHP code files. Receiving that error would suggest that the version of PHP running CubeCart's code files, in whatever particular environment you are seeing this, is prior to PHP 7.4.
  13. Interesting conundrum. I will try to find what, if any, persistent data is attached to a guest/ghost customer.
  14. First, we need to clarify how you are accomplishing the administration of multiple stores with one admin panel. CubeCart isn't built to do that. Is it the case where you have several domain names (or sub-domains) each pointing to the same installation of CubeCart?
  15. According to Github issue $2388, this situation was brought up before: https://forums.cubecart.com/topic/55293-disabled-customer-still-ordered/ This was resolved in CC627. When the admin disables a customer, their session also gets deleted. (There was also an edit to a PayPal module, but I cannot determine if it has any bearing on this issue.)
  16. As best I can tell, this error message is generated from a failed reCaptcha (or hCaptcha) challenge. A recent CubeCart version made a (minor?) change to a the Foundation skin that may be causing this *if* your skin has not been updated to match the changes. Please see: https://github.com/cubecart/v6/issues/3536
  17. My experiments show that this procedure should work: In admin, clear the Status checkbox of that customer's details. Save. Have CubeCart clear its internal cache. Then, go to admin, Maintenance, Rebuild tab, Logs section, check the box for "Clear all session data". Submit. This will (unfortunately) log everyone out (but, for some reason, not you). That customer should now not be able to log back in.
  18. In admin.js, near line 568, there is: $("div.dropzone").dropzone({url: dropzone_url, resizeWidth: 2000, resizeMimeType: 'image/webp', acceptedFiles: 'image/gif,image/jpeg,image/png,image/webp', renameFile: function (file) { return file.name.substr(0, file.name.lastIndexOf(".")) + ".webp"; Change to: $("div.dropzone").dropzone({url: dropzone_url, resizeWidth: 2000, resizeMimeType: 'image/jpeg', acceptedFiles: 'image/gif,image/jpeg,image/png,image/webp', renameFile: function (file) { return file.name.substr(0, file.name.lastIndexOf(".")) + ".jpg"; This should name all future image uploads (via the DropZone) to have a jpg file extension. As for the security error, that was discussed earlier.
  19. The CSS background property shown earlier is: background: url(../images/0.png); But in the post just above, it is shown to be: background: url('../../../00-CC-Version-6.5.5/Original/admin_xxxxxx/skins/default/images/0.png'); I suggest changing that back, as well as 1.png, (and have CubeCart clear its internal cache and force the browser to reload the page resources).
  20. CubeCart's web "base" starts at the /admin_xxxxxx/ folder. This folder is the second-top-most folder the web server has access to. There is the need to find out why CubeCart is wanting to think that /00-CC-Version-6.5.5/Original/ is a part of it's web address. In the file /includes/global.inc.php, if these variables exist, what values are given for: $glob['storeURL'] $glob['standard_url'] $glob['rootRel']
  21. Somehow, the URLs for the image(s) assigned to this product are being created using the full path of your workstation. A web browser will NOT allow page resources be fetched directly from the computer's filesystem. Page resources must be a web address. (This has nothing to do with whether the image is a jpg or webp. But I hear you.) The Developer Tools will show why the 0.png image file is not getting shown.
  22. If you are having to manually add the <div> tags, then the javascript isn't doing it's job. Did you see the <div> tags in the HTML pane of the Developer Tools window? The Developer Tools window will have Console tab. If the javascript is having any problems, the Console tab will list those errors.
  23. Be Careful! In admin, Maintenance, Query Database tab, enter: TRUNCATE CubeCart_newsletter_subscriber; then click the Go button.
  24. Now, need to see if any other CSS rules are in play. If using Firefox, right-click on the spot where the checkbox should be showing. Select 'Inspect' from the context menu. A "Developer Tools" window should display. (If using other than Firefox, getting to the Developer Tools should be similar.) The line of HTML that represents the <input type="checkbox"> should be highlighted in the pane that shows HTML. Also, in a separate pane of the Developer Tools window should be a list of all the CSS rules that are affecting that element. The HTML should be: <td style="text-align:center"> <div class="custom-checkbox"> <input type="checkbox" id="cat_7" name="categories[7]" value="7" class="check_cat"> </div> </td> Click on the <div> line of HTML. See what all CSS rules are being applied. (Note: The <div> code was added via javascript - it is not the source template code.)
×
×
  • Create New...