Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 05/29/2021 in Posts

  1. In the skin's config.xml, find the <image reference="category">. It is set for 800 pixels on the longest dimension. Change this to 900. It will auto-scale down to fit the container (which is 848 px wide). Next, you will need to find the CSS rule (I do not know where it would be.): .cat-hdr-img img { margin: 0px auto 5px; } Change to: .cat-hdr-img img { margin: 0 0 5px; } This CSS change will remove the margin that the browser adds to either side of the image, in equal part, to center the image in the slightly wider container. Be sure to clear Cubecart's cache.
    2 points
  2. Ok in that case try 1.9.7 (just released): https://www.cubecart.com/extensions/plugins/paypal-commerce
    1 point
  3. This issue will be resolved with an upgrade to the latest version. I'd recommend using the latest build: https://github.com/cubecart/v6/archive/refs/heads/v6.5-master.zip
    1 point
  4. I'll note here that my store is set to reduce stock on processing, but I've had customers with this same problem even before PayPal Commerce.
    1 point
  5. There will be some problems with PHP 8.0+. There are several incompatible changes compared to earlier PHP version families. PHP 7.3 is in the same situation as PHP 5 - end of life. I think PHP 7.4 would work without too much trouble for CC642, - again, end of life.
    1 point
  6. From what I see, the CBurst "View Product" page will show a "Swipe Gallery" if there are more than one image assigned to the product. (This is not images assigned to options.) If there is only one main image assigned to the product, there is no gallery. (The images posted above suggest there is more than one image assigned to that product.) So, there are edits that need to be made to the skin so that "Images Assigned to Options" feature will work. But not on a Gallery. I will post what those edits are soon. (There also seems to be a problem with some CSS code bleeding over into the Short Description area.)
    1 point
  7. The knowledgebase article that (sparsely) covers this is: https://cubecart.zendesk.com/hc/en-gb/articles/360003794038-How-do-I-create-a-new-front-end-dynamic-section-or-page (Ignore the mention about the encoded index file.) A deeper discussion can be had here on the forums.
    1 point
  8. It could be that the Apache web server, in its main config settings, has not yet been set to allow for directory overrides. Please see: https://stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
    1 point
  9. Great! Thank you very much. It is working, I used the database credential and host localhost:9200. In the search box, to get the drop down list product, need to use mouse cursor. Can we add keyboard up,down to reach to the downward list instead of mouse cursor. Even after click outside of the search box, ES search dropdown list wont disappear. Need to used ESC key. It would be good idea to add one click functionality to clear search dropdown list like ESC key.
    1 point
  10. Did this transaction pass 3D secure? If so I believe it should be protected and you shouldn't be liable to chargeback fees. Our PayPal integration has much more granular settings. If you want to you can choose to only accept payments that pass 3D secure. With that setting enabled you are never liable to chargeback fees. The square extension could have this feature added.
    1 point
  11. Why, why, why you have to be so smart @bsmither? That's exactly what the issue was, since initially they both had the same route /powerball the system added a re-direct when leaving blank, creating the redirection. Is there a module, under product page, tab #product spec, to have custom stuff? I could jam everything into the actual product page but it would be cool to add some custom stuff, in our case we don't need to specify the code or if it's new or used. Thanks again kid, Happy Thanksgiving of whatever you celebrate today!
    1 point
  12. Since upgrading to version 6.5.2 we have the following issue: For reference our shop is located at https://www.airbornesappers.org.uk/shop/index.php We do have products with a Sale price entered, which are less than retail and greater than zero In Store Settings - Features we have Sales Mode set to Per Product, with Number of sale items to display set to 20 I don't know if the upgrade to 6.5.2 has caused this, all I can say is that prior to the upgrade Sale Items were displayed in the Sale Items category I've searched other topics and checked as much as I know what to check but can't fix this error Any help appreciated Thank you
    1 point
  13. Have done that for you on Github now. Hopefully that can be sorted, as those skins are a big plus.
    1 point
  14. That makes sense. I think I'll keep making the change instead of changing the rate rule. Thanks!
    1 point
  15. In shipping.class.php: Find near lines 237-240: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); } else { Change to: $this->debug(sprintf('<strong>&gt;&gt;&gt; Shipping zone [ID %s] matches the delivery address! Use this zone for shipping calculations.</strong>', $this->_all_zones[$i]['id'])); if ($this->_settings['multiple_zones'] == 'first') { $this->debug('Looking for first matching zone of best match (instead of searching for all matching zones - see AIOS module settings)'); $closest_match_zone_id = $this->_all_zones[$i]['id']; break; } else { The above is the exact same edit as was posted earlier, just the line numbers have changed.
    1 point
  16. 1 point
  17. Please bring up the extension for viewing the settings in admin, Extensions, find Card Capture and click the Edit icon. On the next page shown, what does the Description field show?
    1 point
  18. Yes, you can. Having different content implies having a distinct and separate database - or, at least a distinct table prefix (can be on the same database server).
    1 point
  19. I'm only running All in One Shipping v 1.0.24, Card Capture v 1.0.12, and Google Base v 1.0.3. So far, so good, but I'll keep an eye on them.
    1 point
  20. In admin, Email Templates, click the language of the email you wish to edit. On the next screen, on the HTML Content tab, note that in the list of Available Macros, there is {$DATA.customer_comments}. Add this to the HTML of the email wherever you wish. For example: Find: <p><a href="{$DATA.link}">{$DATA.link}</a></p> Add after: <p>Your comments about this order: &quot;{$DATA.customer_comments}&quot;</p>
    1 point
  21. It sounds like you may be encountering a technical issue while trying to generate a token. Without additional information, it's difficult to provide specific troubleshooting advice. However, one possible solution could be to clear your browser cache and cookies, and then try generating the token again. Regarding your question about the tracking ID, it depends on which version of Google Analytics you are using. If you are using the newer Google Analytics 4, then you would enter the g-tag number (e.g. G-0K5RYTYZ11) as the tracking ID. If you are still using the older Universal Analytics, then you would enter the UA number (e.g. UA-26600668-1) as the tracking ID. UPSers Login
    1 point
  22. You are getting the address items from the admin, Order Summary page? If so, try the following: In the admin /sources/orders.index.inc.php: Near line 419, find: $overview_summary['country'] = is_numeric($overview_summary['country']) ? getCountryFormat($overview_summary['country'], 'numcode', 'name') : $overview_summary['country']; After that, add: $overview_summary['state_abbrev_d'] = is_numeric($overview_summary['state_d']) ? getStateFormat($overview_summary['state_d'], 'id', 'abbrev') : $overview_summary['state_d']; $overview_summary['state_abbrev'] = is_numeric($overview_summary['state']) ? getStateFormat($overview_summary['state'], 'id', 'abbrev') : $overview_summary['state']; In the admin template orders.index.php: Near lines 163-164, from: {$OVERVIEW_SUMMARY.town_d|upper}<br> {if !empty($OVERVIEW_SUMMARY.state_d)}{$OVERVIEW_SUMMARY.state_d|upper}, {/if}{$OVERVIEW_SUMMARY.postcode_d}<br> To: {$OVERVIEW_SUMMARY.town_d|upper}&nbsp; {if !empty($OVERVIEW_SUMMARY.state_abbrev_d)}{$OVERVIEW_SUMMARY.state_abbrev_d|upper}, {/if}{$OVERVIEW_SUMMARY.postcode_d}<br> Near lines 174-175, from: {$OVERVIEW_SUMMARY.town|upper}<br> {if !empty($OVERVIEW_SUMMARY.state)}{$OVERVIEW_SUMMARY.state|upper}, {/if}{$OVERVIEW_SUMMARY.postcode}<br> To: {$OVERVIEW_SUMMARY.town|upper}&nbsp; {if !empty($OVERVIEW_SUMMARY.state_abbrev)}{$OVERVIEW_SUMMARY.state_abbrev|upper}, {/if}{$OVERVIEW_SUMMARY.postcode}<br>
    1 point
  23. I added more to my post above. Please reload this forum page. There is no urgency in removing the debugging code. It does not affect how CubeCart runs.
    1 point
  24. You might be able to set identifier exists = false in the feed rules on Google's end:
    1 point
  25. A Zone, for whatever purpose (i.e., having countries), but no shipping rates for that zone, will not have any rates to offer the customer to choose. Yes, the zone will match (Canada, for example), but there will be no rate available -- neither because, for any of the rates that could be supplied, none fit the conditions, nor because there are no rates at all. Thus (in later versions of AIOS), the module will try to match a rate's conditions listed in "Rest of World". So, short answer, a zone with no rates is as good as being disabled (suspended), and as good as having been deleted, and as good as not having been created at all. The point of the "Uncheck to Suspend" feature is to keep the zone with its list of rates intact, but to not use them.
    1 point
  26. Please try this edit: In /classes/language.class.php, line 106: From: if(ADMIN_CP == false && isset($d[$url['host']]) && !empty($d[$url['host']])) { To: if( (!defined('ADMIN_CP') || ADMIN_CP == false) && isset($d[$url['host']]) && !empty($d[$url['host']])) {
    1 point
  27. We are in the middle of developing a plug-in to cover both these areas of functionality. It is a big job to do it fully so have no release date yet but will be in the first half (hopefully first quarter) of next year. If you want to register as a client at our website and open a support ticket asking about this, we are interested in people’s views on functionality and we can keep you updated regarding progress
    1 point
  28. An enhancement regarding Gift Cards allows: the admin to assign a collection of images to the Gift Card system. One image is the default (master). the admin to have a text editor to add more content to the Gift Card purchase page. the customer to choose an image when purchasing a Gift Card. for the additional content to appear on the Gift Card purchase page. At checkout, a small-sized image of the chosen image appears in the list of basket items. For a physical Gift Card, the card can be (pre)printed with the chosen image. For an emailed notice, the HTML content can now include a link to the image the customer chose. For example, the collection of images may include birthday, Mother's day, Winter holiday, Valentine's day, Thank You, and other themes. This enhancement is not a plugin. It involves hard code edits.
    1 point
  29. My solution was to remove the registration page link from my skin and form fields within the registration page. I only have the the option to create an account on the checkout, therefore users and spammers will need to place an order to create an account, genuine users will do so but the spammers wont proceed. Has worked well for me for 2 years, no fake accounts created. I believe they create fake accounts so your shop sends registration emails or password resets to their targets & used to spam people and will give your store/email a bad reputation, some users may report these emails as spam and accounts like google mail will auto junk any future mail you send or your report your site to your hosting provider for sending spam.
    1 point
  30. Currently, no. But, CubeCart has the ability to respect a custom API call that a "cron job" would execute on schedule, as well as hooks that could be used every time that a web page is requested to update if a specified amount of time has elapsed since the last update.
    1 point
  31. 1 point
  32. If there is a blank page, then there could be error messages in admin, System Error Log.
    1 point
  33. If you have CubeCart's debug mode enabled, turn it off. I *believe* that switching off Debug mode will quiet the PHP8 Warnings (used to be Notices in PHP7). As for Google, please see: https://github.com/cubecart/v6/issues/3047
    1 point
  34. If you are used to using it, then it should not have gotten out of hand like I am theorizing it did -- if it did! You can always try a sandboxed effort of applying the CC646 edits of the new code to a copy of that file from CC645 and see if it happens again. If you have a mind to. Good reviews about Notepad++. (I don't use it because it doesn't do a few things I find very useful.)
    1 point
  35. Experiments have shown that making these two edits will resolve this issue.
    1 point
  36. CubeCart version 6.4.6 is now available. This is a maintenance release with full PHP 8 and 8.1 support. This release is backward compatible to earlier PHP versions so your hosting environment doesn't need PHP 8 or above to run it. What's New? - PHP 8 Support - Miscellaneous bug fixes Download: CubeCart-6.4.6.zip Download: CubeCart-6.4.7.zip
    1 point
  37. Brains suggestion is definately the way to go initially. Create a new file ini-custom.inc.php in the root of your store. I did have issues with the memory size when i did this, so you might want to play with this. <?php # Custom initialization commands # Filename: ini-custom.inc.php # File location: main CubeCart folder ini_set('memory_limit', '256M'); ini_set('max_execution_time', '60'); ini_set('error_log', 'error_log'); ini_set('log_errors', 'on'); ?> To add to this, Cubecart support is extermely fair. You'd be hard pushed to find dedicated product support at such a price anywhere else. https://www.cubecart.com/technical-support
    1 point
  38. Attached is a report that covers the edits needed to make CC645 run under PHP 8.1. Of course, without a comprehensive testing procedure plan - preferably automated - hitting every feature and function that CubeCart can do is impractical. As such, I advise against running this in a production environment, for now. However, I believe I've found and fixed the Fatal Errors, Warnings, Deprecated Notices, as well as a number of general notices that became visible under PHP 8.1, and made a number of code optimizations, but only in the core code. I have chosen to not make a fork of CC645. For those who want to slog through the edits, I hope they will be able to discern the reasons for each change. Any module encoded with ionCube will need a new version from the publisher. The publisher should also take it upon themselves to test their modules under PHP 8.1. Some additional insights can be found reading the latest Github issues. PHP8.1_Changes.txt.zip
    1 point
  39. Hi, I just tried this again with with PayPal Commerce 1.6.2 and still no joy, therefore I downloaded the 1.6.2 code to get a better look .. And this is what I found - /** * CubeCart v6 * ======================================== * CubeCart is a registered trade mark of CubeCart Limited * Copyright CubeCart Limited 2019. All rights reserved. * UK Private Limited Company No. 5323904 * ======================================== * Web: http://www.cubecart.com * Email: [email protected] * License: GPL-3.0 http://opensource.org/licenses/GPL-3.0 */ function ppcp_body_js($tpl_output, Smarty_Internal_Template $template) { $skins = $GLOBALS['gui']->getSkinData()['info']; // $skin = $GLOBALS['gui']->getSkinData(); if (($pp_config = $GLOBALS['cache']->read('pp_config.'.$skins['name'])) === false) { if(file_exists('modules/plugins/paypal_commerce/config.custom.json')) { $pp_config = file_get_contents('modules/plugins/paypal_commerce/config.custom.json'); } else if(file_exists('modules/plugins/paypal_commerce/config.'.$skins['name'].'.json')) { $pp_config = file_get_contents('modules/plugins/paypal_commerce/config.'.$skins['name'].'.json'); } else { $pp_config = file_get_contents('modules/plugins/paypal_commerce/config.foundation.json'); } $GLOBALS['cache']->write($pp_config, 'pp_config.'.$skins['name']); } if(isset($GLOBALS['cart']->basket['total']) && $GLOBALS['cart']->basket['total'] > 0) { $pp_amount = $GLOBALS['cart']->basket['total']; } else { $pp_amount = "null"; } return preg_replace('/\<\/body\>/i','<script id="pp_config" type="application/json">'.$pp_config.'</script><script> var pp_config = JSON.parse(document.getElementById(\'pp_config\').textContent) var pp_amount = '.$pp_amount.';</script></body>', $tpl_output); return $tpl_output; } $GLOBALS['smarty']->registerFilter("output","ppcp_body_js"); On about the third line of code you can see I have replaced a line. Now the thing is that this was never going to work the variable '$skin' is never referenced in the code so its clearly in error. The question is why did nobody else experience the same ? Its probably because, and this is just a guess, many other skins are strongly based upon the foundation skin, but as I say that's only a guess .. Anyway it seems to be working now but no production test yet.. Chris.
    1 point
  40. Thanks, I realised it but forgot to hide it!
    1 point
  41. Hi Al. Any update on this?
    1 point
  42. PHP 7.2 stopped even receiving critical security updates over 1 1/2 years ago so running any site on this version is 100% not advised. You would be much better contacting @Noodleman directly via his website and simply asking for a 7.4 encoded version of them and ensuring you stay on the latest supported version of PHP Ian
    1 point
  43. It should, however it hasen't been updated since 2017. Which only means that, since it is encoded with ionCube, the encoded files must have been built with a matching version of the encoder for the version of PHP it is running under. Even though the current encoded files are built for "PHP 5.6 and above", this does not mean they will work on any version of PHP7 - which your hosting provider has likely configured your hosted account to use. The publisher, @Noodleman, will need to build encoded files for PHP 7.
    1 point
  44. In a stock install of CC6, the list of images to play in the slider is part of the HomePage document. In admin, Documents, click the Edit icon of the document shown as having the HomePage button selected. You may have an easier time of it by using the editor's Source mode. The slider is optimized to show 1000x300 pixel images.
    1 point
  45. That would be in the AIOS module's control panel. On the admin Navigation pane, click the Manage Extensions. From the list of extensions shown, click the Edit icon for All in One Shipping. On the module's administration control panel, General tab, Debugging, select "Debug Enabled (Verbose)".
    1 point
  46. It is 'responsive', so it works regardless of the device's viewport width.
    1 point
  47. Hi, Wish to make the sales report with the product details, which sql should I edit on? "product_code" is a new attributes that I add in, since it is not inside the table "CubeCart_order_summary". Actually, it is from table "CubeCart_order_inventory". And, How to sum the product_code? As the product code is in integer, digit form. The below code is from admin_LsSCSi/sources/reports.index.inc.php $fields = array( 'title', 'cart_order_id', 'product_code', 'order_date', 'status', 'subtotal', 'discount', 'shipping', 'total_tax', 'total', 'customer_id', 'first_name', 'last_name', 'company_name', 'line1', 'line2', 'town', 'state', 'country', 'postcode', 'title_d', 'first_name_d', 'last_name_d', 'company_name_d', 'line1_d', 'line2_d', 'town_d', 'state_d', 'country_d', 'postcode_d', 'phone', 'email', 'gateway' ); foreach ($GLOBALS['hooks']->load('admin.reports.order.pre') as $hook) include $hook; $orders = $GLOBALS['db']->select('CubeCart_order_summary', $fields, $where); foreach ($GLOBALS['hooks']->load('admin.reports.order.post') as $hook) include $hook; if ($orders) { ## If we are wanting an external report start new External class if (isset($_POST['external_report']) && is_array($_POST['external_report'])) { $module_name = array_keys($_POST['external_report']); $external_class_path = 'modules/external/'.$module_name[0].'/external.class.php'; if (file_exists($external_class_path)) { include $external_class_path; $external_report = new External($GLOBALS['config']->get($module_name[0])); } } ## Tally up totals $tally = array(); $i = 0; foreach ($orders as $order_summary) { $order_summary['status'] = $lang['order_state']['name_'.(int)$order_summary['status']]; foreach ($order_summary as $field => $value) { if (in_array($field, array('subtotal', 'discount', 'shipping', 'total_tax', 'total'))) { if (!isset($tally[$field])) $tally[$field] = 0; $tally[$field] += $value; } } $order_summary['country'] = (is_numeric($order_summary['country'])) ? getCountryFormat($order_summary['country']) : $order_summary['country']; $order_summary['state'] = (is_numeric($order_summary['state'])) ? getStateFormat($order_summary['state']) : $order_summary['state']; $order_summary['country_d'] = (is_numeric($order_summary['country_d'])) ? getCountryFormat($order_summary['country_d']) : $order_summary['country_d']; $order_summary['state_d'] = (is_numeric($order_summary['state_d'])) ? getStateFormat($order_summary['state_d']) : $order_summary['state_d']; $order_summary['date'] = formatTime($order_summary['order_date'],false,true); ## Run line of external report data if (isset($external_report) && is_object($external_report)) $external_report->report_order_data($order_summary); unset($order_summary['order_date'], $values); foreach ($order_summary as $field => $value) { if ($i == 0) $headers[] = $field; $values[] = (is_numeric($value) || !strpos($value, ',')) ? $value : sprintf('"%s"', addslashes($value)); } if ($i == 0 && $add_headers) $data[] = implode(',', $headers); $data[] = implode(',', $values); $smarty_data['report_date'][] = $order_summary; $i++; } $GLOBALS['smarty']->assign('REPORT_DATE', $smarty_data['report_date']); if (isset($_POST['download']) || (isset($_POST['external_report']) && is_array($_POST['external_report']))) { $GLOBALS['debug']->supress(true); if (isset($_POST['download'])) { $file_content = implode("\r\n", $data); $file_name = $lang['reports']['sales_data'].' '.$download_range; } else { $file_content = $external_report->_report_data; $file_name = ucfirst($module_name[0]).' '.$lang['reports']['data'].' '.$download_range; } deliverFile(false, false, $file_content, $file_name.'.csv'); exit; } ## Show table footer $tally['orders'] = count($orders); foreach ($tally as $key => $value) { $tallyformatted[$key] = ($key=='orders') ? $value : sprintf('%.2F', $value); } $smarty_data['tally'] = $tallyformatted; $GLOBALS['smarty']->assign('DOWNLOAD', true); ## Get external module export code $where = array('module' => 'external', 'status' => '1'); ## Start classes for external reports if (($module = $GLOBALS['db']->select('CubeCart_modules', 'folder', $where)) !== false) { foreach ($module as $module_data) { if(file_exists(CC_ROOT_DIR.'/modules/external/'.$module_data['folder'])) { $module_data['description'] = ucfirst(str_replace('_',' ',$module_data['folder'])); $smarty_data['export'][] = $module_data; } } $GLOBALS['smarty']->assign('EXPORT', $smarty_data['export']); } } else { if (isset($_POST['download'])) httpredir(currentPage()); $smarty_data['tally'] = array('orders' => 0); } $GLOBALS['smarty']->assign('TALLY', $smarty_data['tally']); $GLOBALS['smarty']->assign('POST', $report_filter); foreach ($GLOBALS['hooks']->load('admin.reports.order.filter') as $hook) include $hook; Thanks~
    1 point
  48. If i enter in to admin > products and bring up a list of products, there's no indication which items are discounted or on sale. So the only way to see which items we have listed on sale is via the customer side. Am i missing something obvious ?
    1 point
×
×
  • Create New...