Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by bsmither

  1. An advertisement? Do you mean an advert placement on another web site, that when clicked on, under some javascript control, will "inform" a CubeCart installation to add that item, the quantity of that item, and the item's options (somehow) chosen, to a Shopping Basket? While still staying on the site where the ad is placed? If so, then when the customer arrives at the CubeCart installation, there won't be the necessary cookie to identify that browser to the session containing the shopping basket. If the ad is actually a link and does actually take the browser to the store site, that might be workable.
  2. The actual problem is that the Category Discounts plugin is too old. That is, Noodleman has yet to "compile" that module using an ionCube encoder built to encode scripts for running in an environment for PHP 7.1 or higher. Since you tagged Noodleman's screenname above, he should be getting notified that his modules need to be encoded for PHP 7.1+ (at least). The other Notices are because the modules got "installed", but then forceably removed. To continue the forced removal, visit the database tables CubeCart_hooks, CubeCart_config, and Cubecart_modules. Delete the rows that reference the plugins that were forceably removed. FYI: There is a manual edit that can be performed that will inhibit all plugins and snippets. In /includes/global.inc.php: Add the line: $glob['safe_mode'] = true; It's not what I wanted, but will suffice in an emergency: https://github.com/cubecart/v6/issues/892 https://github.com/cubecart/v6/issues/2082
  3. Did anything get posted to the error_log? https://forums.cubecart.com/topic/51550-how-to-create-the-error-log/
  4. Welcome Cindy! Glad to see you made it to the forums. If your website is hosted, the hosting company has probably provided you with a Control Center to manage the site's contents. If so, there will be a file text editor. Using a programmer's text editor, make the following changes to these skin templates: box.session.php Line 28: From: <a href="{$STORE_URL}/login.html" class="button white small nopad-sides">{$LANG.account.login}</a> / <a href="{$STORE_URL}/register.html" class="button white small nopad-sides">{$LANG.account.register}</a> To: <a href="{$STORE_URL}/login{$CONFIG.seo_ext}" class="button white small nopad-sides">{$LANG.account.login}</a> / <a href="{$STORE_URL}/register{$CONFIG.seo_ext}" class="button white small nopad-sides">{$LANG.account.register}</a> box.search.php Line 13: From: <form action="{$STORE_URL}/search.html" id="search_form" method="get"> To: <form action="{$STORE_URL}/search{$CONFIG.seo_ext}" id="search_form" method="get"> box.off_canvas.left.php Line 28: From: <li><a href="{$STORE_URL}/login.html">{$LANG.account.login} / {$LANG.account.register}</a></li> To: <li><a href="{$STORE_URL}/login{$CONFIG.seo_ext}">{$LANG.account.login} / {$LANG.account.register}</a></li> box.navigation.php Line 25: From: <li><a href="{$STORE_URL}/gift-certificates.html" title="{$LANG.navigation.giftcerts}">{$LANG.navigation.giftcerts}</a></li> To: <li><a href="{$STORE_URL}/gift-certificates{$CONFIG.seo_ext}" title="{$LANG.navigation.giftcerts}">{$LANG.navigation.giftcerts}</a></li> Line 28: From: <li><a href="{$STORE_URL}/sale-items.html" title="{$LANG.navigation.saleitems}">{$LANG.navigation.saleitems}</a></li> To: <li><a href="{$STORE_URL}/sale-items{$CONFIG.seo_ext}" title="{$LANG.navigation.saleitems}">{$LANG.navigation.saleitems}</a></li>
  5. If you are hosted, and are given a control center to manage the contents of that hosting, the center may have a panel that deals with the version of PHP to use and any extensions to PHP you may need to have enabled. If so, look for the ability to enable ionCube. If not, please consider having it enabled for your hosted account -- your hosting provider may need to get involved.
  6. I have no answer for the stale sig block, but as I understand it, these badges are a new feature of the forum application (Invision Power Board). I have also read anecdotes that there is an admin procedure to "re-calculate" the badges earned according to past activity. (Yeah, took me by surprise, but now-a-days, nothing much takes me by surprise anymore.)
  7. I do not recall seeing a specific solution. There are "Related Items" extensions in the Marketplace (a couple belonged to SemperFi, but are no longer available). Whether these available plugins solve your situation, I do not know. Another suggestion was to offer Bulk Pricing -- One=15.00, Two=30.00, Three=30.00, etc. Another suggestion was a Customer Rewards program -- deliver a coupon or gift certificate for up to X.00 usable on the next order.
  8. "Seems odd that they are even displayed" That is a weird one. Good catch!
  9. CubeCart creates these tables to have the ID column auto-increment so that each new insertion acquires the next highest value that the table has ever had. That is, if the table once had the highest 'cat_id' value of 5, the next insertion would automatically have a 'cat_id' of 6. Yes, you can manually change the 'cat_id' values (using phpMyAdmin, for example) but each row must continue to have a unique 'cat_id' value. If, for example, 'TestCat2', when inserted into the table, acquired a 'cat_id' of 7, you can manually change that to 2 as long as there is no other row that currently has a 'cat_id' of 2. To completely start over with a fresh CubeCart_category table, issue the TRUNCATE TABLE CubeCart_category statement. (You can do this in phpMyAdmin, or using CubeCart's admin, Maintenance, Database Query tab.) Having a fresh table means the table will start the auto-increment at 1. Just to remind everyone, the 'cat_id' is the value that all other tables that deal with categories use to make their reference to: category images, sub-categories, assigned products, etc.
  10. I am still flummoxed over an initial reported 2G memory_limit, then the host says they doubled it (4G???)! Yet, in PHP Info afterwards, PHP reports 256M memory_limit - of which you are using 8M. So, something is successful at giving PHP a legitimate amount of memory for CubeCart. As I said, I think 8M used is a bit high - but that's just me.
  11. If the database is on the same machine as is CubeCart, then using the local loopback IP address will be "". Note the missing period. Note also, the database Users access list will specify if "" must be used, if "localhost" must be used, or if either can be used with this user.
  12. Yes. Of concern to me is that the HTTP_HOST is said to be "ontas.net", that the DOCUMENT_ROOT is at "/public_html/", and that you got to the admin (REQUEST_URI) via "/storetgb/admin_#.php". I strongly recommend that you use the "tasgingerbread.com/admin_#.php" URL to access admin (as well as the storefront). Once you get into admin, clear the cache, then log out, making sure that every web address you use is only "tasgingerbread.com" for everything. (Please blank out the HTTP_REFERRER link above.)
  13. In admin, PHP Info, PHP Variables table, there will list pertinent $_SERVER variables. When everything is working right (as it would when the latest page requested is an admin page from tasgingerbread.com), what are the relevant $_SERVER elements?
  14. Please let us know the exact version of CubeCart you are using. Looking at CC644, for example, in the file /ini.inc.php, line 100, we see: $server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : strtolower($_SERVER['SERVER_NAME']); So, if the Request Headers has: Host: tasgingerbread.com, then PHP should set $server_name to that value. If, on the other hand, LiteSpeed did not give PHP a proper http_host name, then the $server_name will be what LiteSpeed knows to be what it is really called, the server_name. This is discussed here: https://www.w3schools.com/Php/php_superglobals_server.asp In admin, at the bottom of the side Navigation bar, click on PHP Info (may be named differently depending on the version of CubeCart). Scroll to the PHP Variables table and verify the values. The "View Basket" link in the Site Docs box appears to be a customization. Check how it is coded.
  15. Please examine the file /includes/global.inc.php. Are there any $glob array elements making a reference to "ontas.net" or "storetgb". Also, check the contents of the .htaccess file in CubeCart's root folder. The 'Home' link and Original Recipe links in the breadcrumbs are correct, but the Homepage link in the Shop by Category ('navigation') list is misdirected, and all the category links are not correct. (The navigation structure is cached. And will get rebuilt and re-cached if the URL used to get to your store changes.) In the Site Docs box at the bottom, the View Basket link is misdirected.
  16. A few messages back, we used $GLOBALS['debug']->debugMessage() at key places just before the values were assigned to the template variables. I would next place these statements all over the code snippet looking for any anomalies or differences. $GLOBALS['debug']->debugMessage("At line ".__LINE__.", the stock_status is: ".($stock_status?"True":"False")); $GLOBALS['debug']->debugMessage("At line ".__LINE__.", the stock_level is: ".$stock_level); Put an appropriate version after each and every statement that gets or changes something. Get a page view. Change the value but do not clear the cache. Get another page view. Compare the debug messages.
  17. Please look again, closely, at the list of SQL queries in the debug section - looking for a query that includes the table name of your custom table.
  18. A logic flaw has been reported in the GitHub. See: https://github.com/cubecart/v6/issues/2899 As noted there, Fedex is saying there is only one service available (for the package parameters I submitted in my experiments), which exposes the logic flaw.
  19. If the Fedex module is enabled (I assume it is), and you have selected at least one service to use, and Cubecart is in Debug mode, then any faults at getting a rate could be logged in two places: the admin System Error Log, and at the very bottom of the debug diagnostic section (Debug Messages). Here is what my experiment's response was: System Error Log: [<strong>Warning</strong>] /modules/shipping/FedEx/shipping.class.php:255 - FedEx Error: No shipping quotes could be obtained for <zip>, <country> Debug report (buried in a large XML structure): <Notifications> <Severity>WARNING</Severity> <Source>crs</Source> <Code>872</Code> <Message>Rating is temporarily unavailable for one or more services: FIRST_OVERNIGHT; PRIORITY_OVERNIGHT; STANDARD_OVERNIGHT; FEDEX_2_DAY_AM; FEDEX_2_DAY; FEDEX_EXPRESS_SAVER; ; ; ; ; . Please try again later. </Message> But, the settings in my module say I am only interested in 1, 2, 3-Day Freight, or Ground. The response (buried in the XML) that includes those service choices which Fedex lists as eligible shipping options are: <RateReplyDetails> <ServiceType>FEDEX_GROUND</ServiceType> ... 32lb at 28.91USD I did not get a shipping rate for UPS listed at checkout. In looking at the UPS shipping class code, I think I see a logic flaw. I will need to make some experiments.
  20. It looks like 256M is a good, working memory limit. Another common memory limit is 512M. Your peak usage of 8.15MB has me wondering what is using that much memory. My peak usage is 3MB. Did we learn what is the exact version of CubeCart you are using? Please examine the file /classes/debug.class.php, looking for this function near line 564: private function _debugMemoryUsage($peak = false) If that function is present, then look near line 222 at the bottom of the public function debugSQL(): $this->_sql[$type][] = $this->_debugMemoryUsage(true).'<br />'.'<span style="color:#'.$colour.'">Hack: '.str_pad($this->_getTime(),16,'0').(isset($message[1])?' --- Duration: '.$message[1]:'').' ['.$tag.']'.((!$cache&&!$source)?'':' --- Key: sql.'.md5($message[0])).'<br />'.htmlentities($message[0], ENT_COMPAT, 'UTF-8').'</span>'; return true; } return false; } Having a call to $this->_debugMemoryUsage at this location will give us a running indicator and allow us to narrow down where the jumps in memory usage occur.
  21. According to this, you have the standard 256M of memory given to PHP -- a very standard amount. But, in the second debug section, there are no SQL queries listed. That cannot happen. And when I said, "there will be a leading point of info: how much memory has been consumed (for each SQL query listed)," I guess that must be a customization of mine.
  22. So now the finger of blame is swinging around to point at a plugin?
  23. It seems you installed a plugin (Noodleman? HavenSwift?) that requires an extension to PHP. There may be an easy way to enable this extension via a panel in your hosting control panel (Cpanel?, PHP Version Control?). You may need to get some assistance from your hosting provider.
  24. I cannot duplicate the problem. As an experiment, in /includes/global.inc.php, add this line at the bottom (just above the very last line): $glob['safe_mode'] = true; This will inhibit all plugins and code snippets. (But not any custom coding.) Make the test. Did the displayed stock level change? Undo the change made above to restore normal operation.
  25. "host confirmed that it is reaching the resource limit for php memory" I am not sure I understand this expression. Are they saying that, yes indeed, your script is consuming all of the 2GiB of memory given to your hosted environment? If things are now working, be sure debug mode is enabled and request the admin, Products page. In the degug section at the bottom of the page, for each SQL query, there will be a leading point of info: how much memory has been consumed (peak amount) and the total amount available. At the very bottom, there will be a summary of memory usage. Examine these data points looking for a serious jump in memory used.
  • Create New...