Jump to content

bsmither

Member
  • Posts

    17,989
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. There is this: https://www.cubecart.com/extensions/plugins/registration-email-manager
  2. To me, the ACP is the admin control panel. There is no method by which to suppress inventory that have a sale price from being administered. How would you then ever be able to edit it's description, for example? On the storefront, however, by administratively switching off "sale mode", that will cancel any and all discounts. Also, in admin, Store Settings, Features tab, "Number of sale items to display", setting this to zero will suppress the Sale Items sidebox. This will not, however, remove the "Sale Items" navigation link in the menu. To remove the nav link, an edit to the skin will be required.
  3. In admin, Store Settings, Offline tab, set "Take store offline?" to No.
  4. Welcome Fractal! Glad to see you made it to the forum. Your local development environment may be using "localhost" or (recommended) 127.0.0.1. If your environment also includes your own dedicated DNS resolver in your firewall, that may help when you create a specific subdomain, such as localtest.fractal.com. When having copied the files to your local machine, you should delete everything in the /cache/ folder except the .htaccess file. There may be files in here that contain complete URLs to the site they were copied from. Then, in /includes/global.inc.php, add statements to force an override over the store's address. See: https://forums.cubecart.com/topic/52829-clean-install-6110-add-to-basket-not-working/?tab=comments#comment-228794
  5. I will look at the code in CC6110. In the meantime, please view in CubeCart's admin, the Email Log. You should see almost all attempts at having sent an email and the 'Sent' results of each attempt. If the result is a checkmark, then we need to look more towards if the email got lost in transit. If the result is an X, we may find the reason in an error log. If the attempt is not even listed, we need to look at CubeCart's code.
  6. That is an anomaly. Which is to say, this is the first time we have heard of this. Has this happened to more than one purchase where those customers are registered? Please let us know the exact version of CubeCart you are using, and if you have any third-party plugins installed.
  7. On the warning that is shown, click the Advanced link. You should be given an opportunity to learn more about the certificate -- specifically the Common Name and Alt Name that the cert was created for.
  8. This might be a bit onerous for the customer, but in admin, Store Settings, Layout tab, we can force CubeCart to show the View Basket page for every occurrence of having added something to the basket. That would be the "Jump to basket on add" setting. Otherwise, we can adjust the time it takes after fading in to fade out. That setting is near: Line 531 in CC618's /skins/foundation/js/2.cubecart.js function mini_basket_action() { $('#basket-detail, #small-basket-detail').fadeIn('fast', function() { $(this).delay(4000).fadeOut('slow'); }); } Change to 4000 to a desired value (in milliseconds). We can also incorporate jQuery UI into Foundation, then add some special effects, like shaking the basket so that the customer's attention is absolutely acquired. Because we edited this page's resource (a javascript file), we need to force the browser to reload all page resources. This is usually done with CTRL-F5.
  9. Sorry, but if the best suggestions put forward in that discussion isn't doing what is supposed to happen, then maybe something else is interfering. What statements did you choose to add to the .htaccess file?
  10. CubeCart's upgrade procedure replaces files with new files if those new files exist. So, the .htaccess file if it already existed, should not have been overwritten with files from the CC6110 package. Which means if the redirect via .htaccess doesn't happen with CC6110, then the redirect via .htaccess was not being done in CC619 either. Which means if there was a redirect happening, it was being managed by some other process. Whatever, Stack Overflow has a few good suggestions for the .htaccess file (if your hosting account uses a web server that respects .htaccess directives). https://stackoverflow.com/questions/12050590/redirect-non-www-to-www-in-htaccess
  11. Having a column in the imported file to indicate a tax class by number -- I haven't studied that. It might be new. But specifying the actual tax amount, which is what I thought you were asking, is something I doubt can be done (without customizing the code). I have not seen a plugin that will mass assign a tax class to chosen categories. However, a SQL query (outside of CubeCart) can be written to do that.
  12. Welcome Marques! Glad to see you made it to the forum. In CubeCart, tax is calculated, not specified. So, please do not believe it can be imported from an external source. In admin, Taxes, CubeCart comes with a stock three tax classes: Standard, Reduced, and Exempt. These are generic, semantic names. If you wish to have any other tax class, like "Pittance", add it here. Then Save. Returning to Taxes, see the Tax Details tab. For however Netherlands names the actual taxes, add them here. There may be a name for the 6% and a name for the 21%. Then Save. Returning to taxes, Tax Rules tab, here is where you specify the 6% for that tax detail and class. Same for 21%. Save. To make it easy, the Tax Classes tab will allow you to mass assign a given class to all the inventory. Then, for products entitled to any other tax class, you will need to individually edit those on the Product's Pricing tab.
  13. The Marketplace has Additional Product Fields and Tabs plugins. Might be a solution for you.
  14. I corrected the instructions above. Thanks for noticing that. If you edited *just* the return false; statement, and did not disturb the following original stock line that has a single closing parenthesis, then this syntax error should not have happened. So, do not disturb any statements after the to-be-edited return false;
  15. Change *just* the "return false;" statement. I said to make the first find so that you would not mistake any other statement for the second find.
  16. But are those notices from the error_log, or the admin, Error Log, System Error Log? CC616 (I think) started the whole problem of logging everything. I'll double-check the CC6110 code, but I think that the overblown logging to the database is now tame.
  17. Currently, not everyone has PHP logging to an active error log. Some hosting configurations *may* have this enabled by default, and if so, I would imagine the PHP error log is kept trimmed by some internal mechanism. Others who I have worked with did not shut off user-initiated PHP's error logging and the log has grown to several ten thousand megabytes. The latest versions of CubeCart will trim it's internal database system error log table to 30 days. In CubeCart's admin, Store Settings, Advanced tab, disabling debug mode (I think) will suppress the logging of all but the most serious of PHP errors. (I think.) So, under normal operations, I would think CubeCart's current dealing with PHP error logging is adequate.
  18. Here is my solution for CC618/CC6110 (and possibly later). It will inhibit PHP's Notices unless overridden - discussed later. classes/debug.class.php =================================================================== Find: protected static $_instance; Add BEFORE: /** * Suppress logging of PHP Notices * * @var bool */ private $_suppress_php_notices = true; Find: final protected function __construct() { Change to: final protected function __construct($suppress_php_notices) { $this->_suppress_php_notices = $suppress_php_notices; Find: public static function getInstance() { if (!(self::$_instance instanceof self)) { self::$_instance = new self(); Change to: public static function getInstance($suppress_php_notices = true) { if (!(self::$_instance instanceof self)) { self::$_instance = new self($suppress_php_notices); Find: case E_NOTICE: case E_USER_NOTICE: $type = 'Notice'; Change to: case E_NOTICE: $type = 'Notice'; $log = ($this->_suppress_php_notices) ? false : $can_log; break; case E_USER_NOTICE: $type = 'USERNotice'; Find (edited for originally taking this from my development version - the stock code is as follows): $error = "[<strong>".$type."</strong>] \t".$error_file.":".$error_line." - ".$error_string; $this->_errors[] = $error; if($log) { $this->_writeErrorLog($error, $type); } Then find: return false; Change to: return ($this->_suppress_php_notices && $type == 'Notice') ? true : false; // See PHP manual for set_error_handler() callback function return value /controllers/controller.admin.pre_session.inc.php =================================================================== Find: $GLOBALS['debug'] = Debug::getInstance(); Change to: $GLOBALS['debug'] = Debug::getInstance(!$GLOBALS['config']->has('config','debug_ignore_notices') ?: $GLOBALS['config']->get('config','debug_ignore_notices')); /controllers/controller.index.inc.php =================================================================== Find: $GLOBALS['debug'] = Debug::getInstance(); Change to: $GLOBALS['debug'] = Debug::getInstance(!$GLOBALS['config']->has('config','debug_ignore_notices') ?: $GLOBALS['config']->get('config','debug_ignore_notices')); /ini-custom.inc.php (if present) =================================================================== Find: <?php Add after: // Un-comment to log PHP Notices //$config_default['debug_ignore_notices'] = false; By having the statement that (eventually) adds a config setting to say that "do NOT ignore PHP Notices," these notices will get logged to the error log and to CubeCart's System Error Log in admin. If you have CubeCart's Debug enabled, you will still see them in the debug section at the bottom of the page. The reason we are adding to the $config_default array is that this array is Config->merged()'d into the overall configuration and can be seen everywhere, but when shutting down, these merged elements are removed before the configuration is written back to the database. We do not want this setting persisting.
  19. "Is there anyway to turn PHP Notices off so they don't get reported in the error log? By error log, are you referring to the listing in the admin's Error Log, System Error Log tab, or the "error_log" file that PHP creates because of instructions a file named "ini-custom.inc.php" that tells PHP to be logging errors to that file? CC618 (carried over to CC6110) started logging everything - as opposed to CC615. Short answer: we can adjust the reporting that gets logged through a code edit. You can ignore all Undefined index and Undefined variable notices. You can ignore Invalid Security Token warnings as this is probably using the browser back button or having more than one admin screen open at once. For the most part, you can ignore Invalid argument warnings. The above helps to find what may be causing unexpected results in CubeCart's operations - but mostly it is just the consequences of the programming style that is used to code CubeCart. That leaves a few errors that may need to have some explanation: Security Warning: Illegal array key &quot;sort%5Bdate_added%5D&quot; was detected and was removed There may be a customization in the code that is incompatible with later versions of CubeCart. The array key mentioned should just be sort, but something is encoding sort[date_added] to sort%5Bdate_added%5D which has characters CubeCart deems dangerous (the %). No customer information detected. Order summary was not built or inserted. This is interesting. Something really outside the bounds of the normal sequence of events must have happened. curl_setopt(): Disabling safe uploads is no longer supported You will need to get with SemperFi and get an updated version of the "Automatic Social Media Posts" plugin.
  20. REGEX rules discuss the concept of 'character classes'. Anything inside a set of brackets is treated as things to search for. There are a few special characters that must be escaped: \s for things like spaces, tabs, new lines, etc., a 'dash allows for ranges of characters, and a couple others. So, the period goes inside the brackets. Note that, just inside the opening bracket, there is a circumflex (^). This means to negate the class. This statement is wanting to replace any other character not in this class with nothing, that is, remove from the search string any character that is not in the class. We do not want the period removed. So, we need to look elsewhere why a search is not finding a product name/code/description with a period in it.
  21. And, actually, I see that the code will insert the new product's info, and use the database inventory table's new product_id value to have the FileManager assign the product images.
  22. As you say, a show/hide aspect of a child selector based on the choice made would be nice. I haven't seen one.
  23. PHP 5.6 is the better choice compared to PHP 5.4 - provided all the necessary PHP extensions are still enabled. Please try having your browser force re-load all the page's resources (javascript, CSS and image files). This is usually done with CTRL-F5.
  24. There is an extension that will populate a drop-down selector once it's "parent" selector has had a choice selected. (The example situation for which this plugin was created is for selecting car parts. Choose Model, then Make, then Year, etc.) CubeCart is currently not coded to show/hide/enable options based on prior options. However, we can explore the Options Matrix Table. We can enable the OPTION option and the PAINTED option for the Matrix table, then somehow inhibit the availability of the OPTION-1/PAINTED and OPTION-1/NOT-PAINTED Matrix choices.
×
×
  • Create New...