Jump to content


Popular Content

Showing content with the highest reputation since 05/26/2018 in all areas

  1. 2 points
    Works fine,it's pretty simple and could do with some refinement in the future to make the UI a little nicer and add additional features such as an API so those of us with a larger catalogue can setup automated order processing (for licenses etc). PayPal do also take a fee on top of the CubeCart fee.
  2. 2 points
    Your database and dB user names and passwords will almost certainly be different on your new hosting and you need to update the /includes/global.ini.php file with the new values Ian
  3. 2 points
    Seems to have levelled off the cache at around 35,000 objects at the moment, will keep an eye and report back later.
  4. 1 point
    I switched to Ubuntu 18.04 from Windows 10 on my main computer a couple of years back and haven't looked back. Now with Ubuntu's minimal installation option too I have my computer running just the software I want with no annoying desktop apps being pushed on me or that nasty new start menu. Which operating system do you use, and why?
  5. 1 point
    Please make this edit. In /classes/catalogue.class.php: Lines 1835-1849: From: if (isset($search_data['featured'])) { $where[] = "I.featured = '1'"; } // Only look for items that are in stock if (isset($search_data['inStock'])) { $where[] = $this->outOfStockWhere(); } $whereString = (isset($where) && is_array($where)) ? implode(' AND ', $where) : ''; if (!empty($whereString)) { $whereString = ' AND '.$whereString; } $whereString .= $this->_where_live_from; $joinString = (isset($joins) && is_array($joins)) ? implode(' JOIN ', $joins) : ''; To: if (isset($search_data['featured'])) { $where[] = "I.featured = '1'"; } $whereString = (isset($where) && is_array($where)) ? implode(' AND ', $where) : ''; // Only look for items that are in stock if (true || isset($search_data['inStock'])) { // Forcing a filter for only in-stock items. Includes _where_live_from. $whereString .= $this->outOfStockWhere(false,'I'); // BUG!! Using this method at this location requires using the table alias. } else { $whereString .= $this->_where_live_from; // Adding the _where_live_from to the $whereString. } if (!empty($whereString)) { $whereString = ' AND '.$whereString; $whereString = str_replace('AND AND', 'AND', $whereString); // Hack to kill double verb from empty $where[] causing _where_live_from being first. Note two spaces between verbs. } $joinString = (isset($joins) && is_array($joins)) ? implode(' JOIN ', $joins) : '';
  6. 1 point
    In CubeCart's administration backend, on the left navigation panel, click Email Templates. The Email Contents tab is a list of all the main contents of CubeCart's emails - click the flag of the language you wish to edit. The Email Templates tab is a list of the email's overall common content - click the Edit icon of Default Emails. On the page that is now shown, click the HTML Content tab. (Do Not Edit Anything. Possible bug here.) Hover the mouse over the blue squares to see a tooltip as to what protected content is here.
  7. 1 point
    Thanks Al. It's working great now.
  8. 1 point
    Thank you,I changed this part of code.I decided to move to other host,so I hope it will be than solved.But your work-arround code works,so at least for now it is some solution to solve this issue for a moment.Thank you.I always appreciate your quick and helpful advices.David
  9. 1 point
    Mycrypt library missing from server required to encrypt credit card details I upgraded from 6.0.11 to CubeCart Version 6.2.2 PHP Version (5.6 Recommended) 7.3.2 MySQL Version 5.5.41-MariaDB and now cannot accept credit card information Need advice or help Thank you Doc
  10. 1 point
    The scenario is that there is some part of a document where the HTML for that part must not be present when the document is being displayed on a mobile device. The version of CubeCart must support parsing Smarty tags in the document (apparently, all versions of CC6). The mobile device must send a User Agent (UA) string that CubeCart will recognize as being a mobile device. When editing the Content of a document (the HomePage's BXSlider, for example), use the following: {if !GUI::getInstance()->mobile} <ul class="bxslider"> <li><img src="skins/foundation/images/examples/slide1.jpg" title="Message Foo" /></li> <li><img src="skins/foundation/images/examples/slide2.jpg" title="Message Bar" /></li> <li><img src="skins/foundation/images/examples/slide3.jpg" title="Message Baz" /></li> </ul> {/if} Be sure to have "Parse Smarty Tags" setting enabled. Then, create a snippet. In admin, Manage Hooks, Code Snippets tab, click Add Snippet. In the form that appears, fill in fields as follows: Enabled: Checked Unique ID: [email protected]+ Execution Order: 1 Description: Forces CubeCart to detect if a mobile device Trigger: class.gui.css Version: 1.0 Author: https://forums.cubecart.com/topic/54744-how-to-turn-bxslider-off-on-mobile-homepage PHP Code: <?php $current_disable_mobile_skin_setting = $GLOBALS['config']->get('config', 'disable_mobile_skin'); $GLOBALS['config']->set('config', 'disable_mobile_skin', false); $this->_detectMobile(); $GLOBALS['config']->set('config', 'disable_mobile_skin', $current_disable_mobile_skin_setting); The reason we use the "class.gui.css" hook is because CubeCart processes this hook early - before processing the action of getting a document ready for display. It also has to be a hook in the GUI class because that is where the private code is located that determines if the UA string is mobile. Let me know if I left anything out.
  11. 1 point
    Click on the "Follow" button top right of the page just above the green "Reply to this topic" button
  12. 1 point
    To follow up on this, I contacted FastComet support and spent a little time trying to figure out the problem, and looked at a few other shopping carts... But aside from the problem I was having I did like CubeCart so decided to just download CubeCart 6.2.4 and install a new Database... The new version appears to be working perfectly! So if you have a similar problem a reinstall may be a quick and simple solution. Regards, Dave
  13. 1 point
    In admin, Languages, click the Edit icon of the language(s) you use in your store. From the drop-down selector, choose Basket. From the list that appears a few seconds later, change 'shipping_select' to what you desire. I am going to experiment with the Store Collection module. I will experiment by using two of these modules and renaming them to Summit and Milton. In the e-Tone template content.checkout.php, near line 120, find: <p class="basket_actions"> <a href="{$STORE_URL}/index.php?_a=basket&empty-basket=true" class="button_submit left"><span class="icon icon-cross"></span> {$LANG.basket.basket_empty}</a> <button type="submit" name="update" class="button_submit update"><span class="icon icon-cycle"></span> {$LANG.basket.basket_update}</button> {if $DISABLE_CHECKOUT_BUTTON!==true} <input type="submit" name="proceed" class="button_submit" value="{$CHECKOUT_BUTTON}" /> {/if} </p> Change to: <p class="basket_actions"> <a href="{$STORE_URL}/index.php?_a=basket&empty-basket=true" class="button_submit left"><span class="icon icon-cross"></span> {$LANG.basket.basket_empty}</a> </p> <p class="basket_actions"> <button type="submit" name="update" class="button_submit update"><span class="icon icon-cycle"></span> {$LANG.basket.basket_update}</button> </p> {if $DISABLE_CHECKOUT_BUTTON!==true} <p class="basket_actions"> By clicking Secure Checkout, you are creating an order...etc.<br> <input type="submit" name="proceed" class="button_submit" value="{$CHECKOUT_BUTTON}" /> </p> {/if}
  14. 1 point
    Agreed - failed upgrades have been very common in the past when done via the built in upgrade option and often result in a mix of files from different versions - this will cause this type of problem. It has been covered in quite a few threads on here before and a manual upgrade would definitely solve it. Ian
  15. 1 point
    Yes the reply to address is wrong. Well get this fixed first thing tomorrow we will also let you know the correct email address to reply to.
  16. 1 point
    Please make the following edits: In /classes/seo.class.php, find: public function buildURL($type, $item_id = false, $amp = '&') { // Some SEO paths are not stored in the database if (!$item_id && in_array($type, $this->_static_sections)) { if (($item = $GLOBALS['db']->select('CubeCart_seo_urls', array('path'), array('type' => $type))) !== false) { return $GLOBALS['storeURL'].'/'.$item[0]['path'].$this->_extension; } else { return $GLOBALS['storeURL'].'/'.$this->setdbPath($type, '', '', false).$this->_extension; } } elseif (($item = $GLOBALS['db']->select('CubeCart_seo_urls', array('path'), array('type' => $type, 'item_id' => $item_id))) !== false) { return $GLOBALS['storeURL'].'/'.$item[0]['path'].$this->_extension; } else { return $GLOBALS['storeURL'].'/'.$this->setdbPath($type, $item_id, '', false).$this->_extension; } } Change to: public function buildURL($type, $item_id = false, $amp = '&', $absolute = true) { // Some SEO paths are not stored in the database $url = ($absolute) ? $GLOBALS['storeURL'].'/' : $GLOBALS['rootRel']; if (!$item_id && in_array($type, $this->_static_sections)) { if (($item = $GLOBALS['db']->select('CubeCart_seo_urls', array('path'), array('type' => $type))) !== false) { return $url.$item[0]['path'].$this->_extension; } else { return $url.$this->setdbPath($type, '', '', false).$this->_extension; } } elseif (($item = $GLOBALS['db']->select('CubeCart_seo_urls', array('path'), array('type' => $type, 'item_id' => $item_id))) !== false) { return $url.$item[0]['path'].$this->_extension; } else { return $url.$this->setdbPath($type, $item_id, '', false).$this->_extension; } } In the file /classes/gui.class.php, near the end of the file, find: private function _makeTree($tree_data) { A few lines later, find: $branch['url'] = $GLOBALS['seo']->buildURL('cat', $branch['cat_id'], '&'); Change to: $branch['url'] = $GLOBALS['seo']->buildURL('cat', $branch['cat_id'], '&', false); Then find: private function _displayNavigation() { A few lines later, find: 'saleitems' => $GLOBALS['seo']->buildURL('saleitems',false,'&'), 'certificates' => $GLOBALS['seo']->buildURL('certificates',false,'&') Change to: 'saleitems' => $GLOBALS['seo']->buildURL('saleitems',false,'&',false), 'certificates' => $GLOBALS['seo']->buildURL('certificates',false,'&',false) You will need to have CubeCart clear its internal cache.
  17. 1 point
    I have yet to confirm CC6011 contributes to this problem. I will check on this shortly.
  18. 1 point
    CubeCart 6.2.2 uses openssl instead of mcrypt making it compatible with the newest PHP versions. If you still get mcrypt errors then your store code is not up to date. See: https://github.com/cubecart/v6/issues/2113
  19. 1 point
    Welcome Doc! Glad to see you made it to the forums. Ignore everything below. Completely confused with something else. -------------------- If you have your store hosted somewhere, then your host should have given you a control panel for that account (Cpanel?). There, you should find a way to select which version of PHP you want to use and to choose which PHP extensions you need. You will find MBString as an extension to be enabled. If you cannot find where to do this, please contact your hosting provider to enable this for you. If you have direct and total control of your server installation, you will need to edit the PHP.INI file to enable the MBString extension.
  20. 1 point
    Have to agree with Havenswift here. I had a similar problem and changed to a recommended hosting company (yes it was Havenswift) and not had the problem again. Its the old adage you pay for what yo get.
  21. 1 point
  22. 1 point
    Here is the fix. classes/cubecart.class.php Find: $old_addresses = md5(serialize(array_merge($this->_basket['billing_address'], $this->_basket['delivery_address']))); Replace with: $old_addresses = $GLOBALS['user']->addressCompare($this->_basket['billing_address'], $this->_basket['delivery_address']); Find: $new_addresses = md5(serialize(array_merge($this->_basket['billing_address'], $this->_basket['delivery_address']))); Replace with: $new_addresses = $GLOBALS['user']->addressCompare($this->_basket['billing_address'], $this->_basket['delivery_address']); Save then open classes/user.class.php Find: /** * Change a user password * * @return bool */ public function changePassword() ABOVE this add: public function addressCompare($address1, $address2) { $allowed_keys = array('line1','line2','town','postcode','state_id','state','state_abbrev','country','country_id','country_iso','country_name'); $address1_filtered = array(); foreach($address1 as $key => $value) { if(in_array($key, $allowed_keys)) $address1_filtered[$key] = strtolower($value); } $address2_filtered = array(); foreach($address2 as $key => $value) { if(in_array($key, $allowed_keys)) $address2_filtered[$key] = strtolower($value); } return md5(serialize($address1_filtered).serialize($address2_filtered)); } This will be released in 6.2.3.
  23. 1 point
    Solved it Al - Many thanks. I'd not noticed that before.
  24. 1 point
    You need to clear the cache in your store. Top right of admin control panel.
  25. 1 point
    Cheers guys Look forward to sharing my creations
  26. 1 point
    Hi @NiteFox This is correct. It's a legal obligation for us to collect taxes on your behalf as a marketplace. Say you sell a £100 skin to an Italian customer (22% VAT rate). You will receive £70, we will take £30 and the tax man will get £22. Please note that PayPal may take a transaction fee from the £70 but I'm not entirely sure.
  27. 1 point
    Out of the box, as a Trexle product, here is our Cubecart NAB Transact Integration.
  28. 1 point
    Yes, CC622 will work with PHP 7.2. Be aware, however, plugins provided by some third-parties will need to have new versions replace older versions. These plugins require the ionCube loader, and ionCube is such that there are specific versions of the loader for respective versions of PHP, and also that PHP code that requires the loader be "compiled" against that specific version of the loader being used. That is, if upgrade PHP, then also upgrade the ionCube loader to match, then the plugin author will need to recompile their PHP scripts against that new loader version, and the plugin user replaces the previous version of the plugin with the new version. Also, there are PHP extensions that CubeCart 622 needs that have, on the rare occasion, not been enabled with PHP 7: ZIPArchive and MBString. So, in admin, PHP Info, scroll through the tables verifying the presence of these extensions.
  29. 1 point
    Vanilla 1.0.3 (originally for CC5) is coded to be compatible with the latest reCaptcha methods incorporated for CC6. The code posted above is not from Vanilla 1.0.3. The best info I have is that Galaxy X is at v1.8 (April 2017). Send me a PM and I will help you get Galaxy X coded for the latest reCaptcha methods.
  30. 1 point
    The description of: https://www.cubecart.com/extensions/plugins/promotional-code-enhancements suggests it has this capability.
  31. 1 point
    CubeCart will create and cache a skin-based rendering of the category tree, then make that "cameo" available to box.navigation.php in $CATEGORIES. The "pro" of this is to expend just once what could be a time-intensive task in building the tree. The "con" is that (at least for some versions of CubeCart) the URLs have the host address of the store when the tree was built. (Thus, should the web address change, the links do not work anymore.) By adding {debug} to the end of the main.php template, you should see the $CATEGORIES variable in the left pane of the Smarty popup.
  32. 1 point
    Name: Ebay Sales Price: £104.95 Category: Plugins Homepage: https://www.cubecart.com/extensions/plugins/ebay-sales
  33. 1 point
    It sounds like the server your website is hosted on, previously had memcached installed and configured but either it now doesnt have that installed or it has been disabled. Most shared hosting doesnt have memcached available (we do across all of our servers !) so you will need to speak to your hosting company - unless you own and manage the server there will be nothing you can do. To get back into the site edit your includes/global.inc.php file and change memcached to file to switch back to the standard but slower file based caching Ian
  34. 1 point
    Welcome Sycho! Glad to see you made it to the forums. After the successful transaction, CubeCart places a link in the customer's "Downloads" page of their Account section. However, "guest' customers (those who did not create a customer account) do not have an Account section. In addition, CubeCart also sends a link in an email to the customer. CubeCart also can expire a digital download by time (from 30 minutes to never), or by count (x-number or unlimited) -- on a global approach. That is, it is not possible to limit ProdA to 6 downloads while ProdB has 10 downloads. The availability of the download is immediate, although there are some customizations that will delay the appearance and emailed delivery of the link until the admin "approves" the sale (for whatever reason). CubeCart also allows the admin to reset any limits and to resend the email containing the download link.
  35. 1 point
    Thank you guys. For the reason that this platform was made available for free, It would be a great idea for me to keep it too as a thank you.
  36. 1 point
    If you are running cPanel AND your hosting companies allows you access to Multi PHP INI Editor AND you are allowed by them to change the values - that is by far the best way of doing it. Once you have changed it, then go into PHP Info and go to the sessions section and check that it has changed If your statement in your last post of the setting of your memory_limit at 15M is correct and it isnt a typo, then you need to change or better still remove that line !
  37. 1 point
  38. 1 point
    I'm going to add an extra step to the joyride on first admin login.
  39. 1 point
    UPDATE: forgot to actually push the "submit" button on this post yesterday.... DOH Reporting back.. something is still not right for sure. So I've been writing data to the log all day, the cache has been cleared at least twice but the number of actual writes doesn't add up. In 9 hours, 377,000 new file writes. But, I am seeing a lot of duplicate hashes being written, an example of this is: even if caching WAS working correctly, and cache was cleared we should NOT have written the same item to cache 8442 times since this morning. Most things in the log do appear to be duplicated many thousands of times. Assuming the overwriting of cache is working correctly, this is incorrect and will add to increased IO for file cache. Here is my log amendment for reference: modified _writeCache function: protected function _writeCache($data, $query) { $query_hash = md5($query); if (isset($GLOBALS['cache']) && is_object($GLOBALS['cache'])) { $fp = fopen('query_log.txt', 'a+'); fwrite($fp, time() . " ### " . $query_hash . "\r\n"); fclose($fp); return $GLOBALS['cache']->write($data, 'sql.'.$query_hash); } return false; } maybe I did something wrong... but, initial results suggest cache is being written mode than it should. I'll need to check the write function to see if it does a check first. won't have time until this evening.
  40. 1 point
    One final experiment before we take a different approach: Log out of admin. Log out of the storefront. Clear the cookies to your site (or use a different browser or computer). Change those values in global.inc.php to be the latest file and folder names. Save the file. Go to the page www.store.com/admin.php. Attempt to log in.
  41. 1 point
    Please see GitHub issue #2084 and commit f9e9059.
  42. 1 point
    There is this: https://github.com/cubecart/v6/issues/1427 which could be enhanced to include the case where there is just one product in the listing of a category and there are no child categories. (I'll add this to my to-do list.)
  43. 1 point
    Hello Havenswift. Just for the record, Im absolutely impressed with cubecart, dont have any problems and have been impressed with the fact that cubecart looks so easy and small time, but once you start using it you find that its just as good as the big boys. Ive got my own shopfront using cubecart and dont intend to swap. I was looking at the possibility of using majento to setup a takeaway food shops online ordering system. They dont want to go to justeat, as justeat charge too much, so this shop wants it "inhouse". Obviously there needs to be sub options when ordering product A, like size and whether the customer wants all salad, or salad no onion etc. So I was going to setup majento on my site to try and figure it out, and let the shop see a running test before installing on their own host. But does cubecart allow for sub selections, IE what size pizza, and if you order that type of tee shirt, then select the size etc. Thanks
  44. 1 point
    I've been recommended this https://www.taxjar.com/ What do you think?
  45. 1 point
    We would ask that you verify the name of the database as stated in /includes/global.inc.php matches the actual name of the database as seen in your hosting account's control panel (Cpanel?). Also, if the database tables have a prefix, make sure it matches what is given in global.inc.php. Not allowing a table column's name as the "key" to fetch the row's contents usually means the requested table doesn't exist, or CubeCart is using a table prefix when it shouldn't, or v.v.
  46. 1 point
    Provided that the digital file is publically accessible, in admin, Add/Edit Product, Digital tab, Custom File Path section, you may enter either a direct path to a folder on CubeCart's server, or a Full Web Address that points to anywhere on the Internet. If your AWS repository requires a login, that may pose an obstacle unless you know how to overcome it.
  47. 1 point
    Ah THAT's why you haven't paid your bill! Too busy with your new toy, which wasn't cheap I imagine.
  48. 1 point
    Thank's Al. I reinstalled and it seems to be fine now. Thanks for your help too Noodleman!
  49. 1 point
    At about line 66 in main.php, find: <div class="sidebar" id="sidebar_left"> {$CATEGORIES} {$SALE_ITEMS} {$MAIL_LIST} </div> Change to: <div class="sidebar" id="sidebar_left"> {$CATEGORIES} {$SALE_ITEMS} {* $MAIL_LIST *} </div>
  50. 1 point
    Try this. Line numbers refer to CC6114: In the admin skin template dashboard.index.php, near line 162: <td align="right"> {if isset($order.notes)} <a href="?_g=orders&action=edit&order_id={$order.cart_order_id}&source=dashboard#order_notes" title="{foreach $order.notes as $note}{$note.time} {$note.content}{"\r\n"}{/foreach}"><i class="fa fa-sticky-note" title="{$LANG.common.notes}" aria-hidden="true"></i></a> {/if} <a href="{$order.link_print}" class="print" target="_blank" title="{$LANG.common.print}"><i class="fa fa-print" title="{$LANG.common.print}"></i></a> Change to: <td align="right" NOWRAP> {if isset($order.notes)} <a href="?_g=orders&action=edit&order_id={$order.cart_order_id}&source=dashboard#order_notes" title="{foreach $order.notes as $note}{$note.time} {$note.content}{"\r\n"}{/foreach}"><i class="fa fa-sticky-note" title="{$LANG.common.notes}" aria-hidden="true"></i></a> {/if} <!-- --> {if isset($order.items)} <a href="?_g=orders&action=edit&order_id={$order.cart_order_id}&source=dashboard#order_inventory" title="{foreach $order.items as $item}{$item.quantity}{" x "}{$item.product_code}{"\r\n"}{/foreach}"><i class="fa fa-shopping-cart" alt="{$LANG.common.items}"></i></a> {/if} <!-- --> <a href="{$order.link_print}" class="print" target="_blank" title="{$LANG.common.print}"><i class="fa fa-print" title="{$LANG.common.print}"></i></a> In the admin source file dashboard.index.inc.php, near line 299, find: foreach ($GLOBALS['hooks']->load('admin.dashboard.unsettled_orders') as $hook) include $hook; We can use this hook. But to complete this experiment, on a new blank line after this, add: /**/ if (($order_inventory = $GLOBALS['db']->select('CubeCart_order_inventory', '`cart_order_id`,`product_code`,`quantity`', array('cart_order_id' => $cart_order_ids))) !== false) { foreach ($order_inventory as $inventory) { $order_items[$inventory['cart_order_id']]['items'][] = $inventory; } $orders = merge_array($orders, $order_items); } /**/ In admin, Dashboard, Unsettled Orders tab, this gives an icon (shopping basket - available in latest versions of CubeCart having a recent version of the Font Awesome files) that, when hovering the mouse over it, will show a 'tooltip' listing the products of that order.

  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
  • Create New...