Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 09/24/2015 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. 2 points
    Try this: In includes/ckeditor/config.js, at the bottom, find: config.allowedContent = true; }; Change to: config.allowedContent = true; config.coreStyles_italic = {element : 'em'}; config.extraAllowedContent = 'i[*]{*}(*)'; }; CKEDITOR.dtd.$removeEmpty = '{i: 0}'; The same added statements can be used for other HTML tags used in unorthodox ways.
  5. 2 points
    Email routing will automatically be set to "Automatic" or sometimes "Local Mail Exchanger" which in 99.99% of cases will be the same thing. You only need to set it to Remote if you are using external MX records pointing away from your hosting company which is effectively what Godaddy are forcing you to do by closing email ports. Some people choose to use gmail or other email service providers, but why should you have to ? Disabling php mail() is standard practice now for security reasons (WHM built in security advisor flags this as a high security risk if it is enabled !) and SMTP should always be used and configured to use SSL / TLS. Email sent via SMTP is much more secure, more likely to be delivered and not rejected or put into spam and isnt complicated to use. So much so, I would recommend that php mail() is removed as an option in CubeCart as it is very likely to disappear as an option in the near future Ian
  6. 2 points
    For anyone that uses git with CubeCart (or any other packages for that matter), cPanel have been adding a huge amount of functionality which will be included in V68 - see https://features.cpanel.net/topic/allow-users-to-install-websites-from-version-control V68 is already in Edge release status so most people will not have access to it yet, but V68 should be into general release in a few months (V66 has just been released in the last week) Ian
  7. 2 points
    The 'top menu' is the "Navigation" bar (or sometimes "Shop by Category" box). The menu is built from all the categories (enabled and unhidden) there are. There are also three special items: Home, Sale Items, and Gift Certificates. To add any other links to this group would require editing the skin template "box.navigation.php".
  8. 1 point
    A problem with the AIOS module is that adding, editing, deleting rates will submit all the rates on the tabs, regardless even if they have not changed. This could lead to submitting a very large number of data points (key/value pairs). (This is because browsers submit arrayed keys even with empty values.) PHP has a default limit of 1000 key/value pairs of data input. Exceeding this limit will cause PHP to truncate the collection of data, including the security token that had been added at the end. No security token, nothing gets updated. This hack makes each tab of the administrative screen of AIOS to function as an independent form. This then drastically cuts down the number of key/value pairs. There is a consequence to doing this --- Each separate zone tab is a complete and distinct "form". This is different than any other admin settings area. That is, (as of CC611 and earlier) when editing a Product, all the various tabs and the content displayed for each tab is considered to be all on one single form -- the data from ALL tabs' contents are submitted all at once. Thus, you can progress through the various tabs making ALL the settings and properties for that one product. Clicking Save will save ALL the data from all the tab contents. If you are experienced with using your browser's waterfall diagnostics, you can verify what data gets sent out by the browser. NOT SO with this alternate template for the AIOS module. That is, making changes on the first zone tab (USA for example), then making changes on a second zone tab (Canada for example), then clicking the Save button while still viewing that second zone (Canada), will ONLY send the data on the second zone (Canada). The changes on the first zone tab (USA), not being visible, was NOT submitted. So please keep this in mind -- each zone tab is a separate form and only the data for the form being viewed will get submitted. Copy the existing file: /modules/shipping/All_In_One_Shipping/skin/admin/index.tpl to some other name, and using a programmer's text editor, make the following edits. The edits are made from the bottom up so as to not disturb line numbers. Line 314: From: </form> To: </form> *} Line 301 - 304: From: </fieldset> </div> {/if} <div class="form_control"> To: </fieldset> {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {/if} {* <div class="form_control"> Line 149 - 155: From: {include file='admin/shipping_rates.tpl'} </div> {/foreach} {/if} {/if} {if isset($DISPLAY_FORM)} <div id="All_In_One_Shipping" class="tab_content"> To: {include file='admin/shipping_rates.tpl'} {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {/foreach} {/if} {/if} {if isset($DISPLAY_FORM)} {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="All_In_One_Shipping" class="tab_content"> Line 140 - 145: From: </table> </div> {if $MULTIPLE_ZONES} {foreach from=$ZONES item=zone} <!-- TAB --> <div id="zone_{$zone.id}" class="tab_content"> To: </table> {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} {if $MULTIPLE_ZONES} {foreach from=$ZONES item=zone} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="zone_{$zone.id}" class="tab_content"> Line 91 - 94: From: {/if} </div> <!-- TAB --> <div id="shipping_zones" class="tab_content"> To: {/if} {* NEW *} <div class="form_control"> <input type="hidden" name="save" value="{$FORM_HASH}" /> <input type="hidden" name="previous-tab" id="previous-tab" value="" /> <input type="submit" value="{$LANG.allinoneshipping.save_this_tab}" /> </div> <input type="hidden" name="token" value="{$SESSION_TOKEN}" /> </div> </form> {* /NEW *} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="shipping_zones" class="tab_content"> Line 4 - 8: From: </style> <form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> {if isset($DISPLAY_RATES)} <!-- TAB --> <div id="All_In_One_Shipping" class="tab_content"> To: </style> {* <form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> *} {if isset($DISPLAY_RATES)} <!-- TAB --> {* NEW *}<form action="{$VAL_SELF}" method="post" enctype="multipart/form-data"> <div id="All_In_One_Shipping" class="tab_content"> In the AIOS module's language file: Find: <string name="save_all_changes"><![CDATA[Save all changes]]></string> Add After: <string name="save_this_tab"><![CDATA[Save this tab's settings]]></string> This is a change in a Smarty-powered template, so clear the skin cache. You can verify the reduction in the amount of data sent out by re-examining the waterfall.
  9. 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.
  10. 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.
  11. 1 point
    https://github.com/cubecart/v6/issues/2016
  12. 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.
  13. 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
  14. 1 point
  15. 1 point
    According to this conversation on Stack Overflow, your page needs a <link>, and then you need to tell FB to re-fetch the targeted image using a LINT or DEBUG tool. In the <head> section, add: <link rel="image_src" href="{$PRODUCT.small}" /> That conversation also mentions using Open Graph tags, but the latest Foundation skin uses only two of the six required, and only if FBOG is true -- which I cannot find where that happens. Your skin may or may not have that code.
  16. 1 point
    Congratulations Al
  17. 1 point
    Hi Coders! I am in the need of a couple of modifications. The website concerned is http://www.firstchoicemobility.com I currently have a large dropdown menu that works fine apart from when the web browser is resized. the text then gathers up on the left hand side. Apparently this is because the coding used (Isotope) for the menu should not be used like that so there is no fix. So I would like a new menu created the same without the browser resizing issue. The ability to print off or save a PDF of a product page (I have a sample of what i would like the layout to look like) The ability to re-order images to display on the product page in the order i wish. Please contact me if you are able to carry one or all of the modifications. Thank You Gary
  18. 1 point
    In admin, Store Settings, Features tab, Misc. section, "Order status for admin email notifications" can be set to Pending.
  19. 1 point
    Fixed by adding facility to specify exact form rather then trying to find via parent DOM. https://github.com/cubecart/v6/commit/4e5f6f42dec0c51f9c512210736b9ddb764718c8
  20. 1 point
    We are excited announce the release of CubeCart 6.2 which sports a number of fabulous new features. Maintenance release 6.1.15 is also available for those who are not ready or are not keen to make use of the new features. Massive thanks to all those who have tested and reported any 6.2 bugs. What's New in 6.2? Incremental order numbers (with dynamic prefix/suffix). #636 Tools to help with GDPR. #1892, #354 * Automatically minified and compressed HTML, CSS & JS. #1905 * Checkout state/county can be required, optional or disabled. #1870 * Invoice template editor tool. #1904 Caching improvements. #1536 Product category added to Google Analytics for eCommerce. #1859 * Order summary to show "guide" currency used. #1913 Ability to show hide site document titles. #1907 * Email log to show fail reason. #1899 Email configuration test to work prior to save. #1894 reCaptcha added to newsletter signup. #1891 * Colours added to admin control panel order statuses. #1888 Introduction of "Safe Mode". #892 Product dimensions (width, height & depth). #828 * Changed admin URL emailed on setup (if changed). #1314 "Continue Shopping" added to cart at all times. #1381 * Search redirect to product detail page for single result. #1427 Auto delete captured card details when order status changes from pending. #1886 Upgrade Instructions: https://support.cubecart.com/Knowledgebase/Article/View/228/43/how-do-i-upgrade-from-cubecart-v6-to-latest-v6 Download: CubeCart-6.2.0.zip Download: CubeCart-6.1.15.zip 6.2 Release Notes - Please Read!! * These features will require skin updates if you do not use the default "Foundation" skin from the 6.2 release. This release has a clear cache on demand tool which significantly optimises the caching system and lowers server load. This means that inventory or configuration changes made in the admin control panel will not be reflected on the front end of the store until the "Clear Cache" button is clicked. This can be found at the top right hand side of every page of the admin control panel. We very much appreciate that this may be seen as an unwelcome new feature but the technical significance is worthy. Unless you have a critical change to make we suggest clearing the cache habitually at the end of each admin session. If the cache is not cleared it may take up to 24 hours for your changes to show. To help comply with GDPR CubeCart 6.2 now has "double opt-in" for email marketing signup and a tool to create a report of all customer data based on an email address. This can be found in the "Customer" section of the admin control panel under the "GDPR Report" tab. A customer can be "forgotten" by deleting their account, newsletter subscription, review(s) and any orders they may have placed. Please note that it may be a legal obligation to keep their order data on file if you have an existing financial contract. The GDPR report can be disclosed to your customer printed or saved as a PDF and/or used to help remove their data from the system. To be GDPR compliant please be sure to have a suitable privacy policy which should contain other such information such as what each site cookie does. Further information and support may be available from your local "Information Commissioner" such as the ICO (in the UK). GDPR is still a very confused and misunderstood subject of which there is no one solution for every business. We will prioritise further development to help compliance based on your feedback if merchants feel they still need extra tools.
  21. 1 point
    ok will give it a try thanks yes it is working thanks a lot uploaded the files as in the other discussion Grts Rob
  22. 1 point
    In one of your skin template files, probably main.php, find these statements: <div class="row {$SECTION}_wrapper"> <div class="small-12 large-9 columns" id="main_content"> <div> <div data-alert="" class="alert-box alert"> <ul class="nomarg no-bullet"> <li>JavaScript is required by this website. Please enable this in your browser settings.</li> Change the large-9 to large -12. The various CSS sizing classes instructs the browser how much of the available container to give to this row section. There are 12 columns per row (within the parent container). So, when the browser viewport is 'large', this section of 9 columns will take 75% of the row. A section of 12 columns will take 100% of the row.
  23. 1 point
    Ok, I see that you have the friendly names of the database columns as the CSV headers. I hope you can change those headers. I suggest using the database table actual column names: 'available','status','name','image','product_code','cat_id','description', 'description_short','manufacturer','price','sale_price','cost_price', etc You can see the complete list of table column names in the admin /sources/products.import.inc.php file, lines 299-333. If you cannot change the CSV headers, then try using this: In the admin skin template products.import.php Find near line 68: {foreach from=$COLUMNS item=column}<option value="{$column.column}">{$column.title}</option>{/foreach} Change to: {foreach from=$COLUMNS item=column}<option value="{$column.column}"{if $map.example eq $column.title} selected="selected"{/if}>{$column.title}</option>{/foreach} Note we are looking now to compare example with title.
  24. 1 point
    Great Plugin, now I don't have 700 odd microdata warnings in Google merchant, upsetting me all the time.
  25. 1 point
    Please note that the template rendering engine (Smarty) builds the page before the web browser gets it. Putting HTML comment tags around the Smarty commands does not stop Smarty from replacing those {commands-in-braces} with the intended content. That intended content could also have HTML comment tags. That results in nested comment tags. Look for those statements in the template as mentioned earlier, but change them to look like this: {* include file='templates/box.newsletter.php' *} and {* include file='templates/box.popular.php' *} The brace-asterisk-space sequence is Smarty's comment tag. Thus, the content will not appear in the rendered page sent out to the browser.
  26. 1 point
    I've added another version of this skin, which uses the same layout but a different look. You never know: someone may be interested one day!
  27. 1 point
    If you now know what the current username and password is, then edit the file /includes/global.inc.php to have that new information.
  28. 1 point
    We need to keep looking at where the code finds certain data objectionable. You have an address_id of "1". I would like for you to use an external database manager. If you are being hosted, you probably have a hosted account control panel (Cpanel, maybe?). One of the tools provided in your control panel is phpMyAdmin. Using this, you can look at the database directly. Once you have phpMyAdmin showing you your database follow my instructions earlier.
  29. 1 point
    This plugin does everything that you are looking to do (and a lot more !). The ability for the customer to complete payment after the admin has entered the order was added in the latest release (this is not a trivial piece of functionality !). As with all of our plugins, you can install a fully working 7 day trial to check it does everything that you need Ian
  30. 1 point
    Welcome son caocao! Glad to see you made it to the forums. One of the differences between CC615 and the latest version is that a lot of XSS deterrence has been implemented. That means for many events, the correct security token needs to accompany the request. If that correct token is not there, the session will get discarded.
  31. 1 point
    It is best to make sure the data going into the table is correct in the first place so bsmithers solution will do that. If you have a lot of data already in there you can change existing post codes by running queries on the tables with post codes in e.g In the order summary table you can update post codes by using the following queries UPDATE `cc_CubeCart_order_summary` SET `postcode` = UPPER( `postcode` ) UPDATE `cc_CubeCart_order_summary` SET `postcode_d` = UPPER( `postcode_d` )
  32. 1 point
    When uploading the new CubeCart package, you will be 'overwriting' all existing files. The existing file /includes/global.inc.php contains info specific to your installation - thus this file cannot exist in a CubeCart downloaded package. It won't have the right info, and you wouldn't want an empty file overwriting the existing file. Existing files not found in the downloaded package will not be overwritten (images, other skins, languages, plugins, etc). Look in the existing global.inc.php file and rename the extracted admin.php and admin folder from the downloaded package to those names. Then, the upload will correctly overwrite the existing admin file and folder with the accurately-named admin file and folder from the package. For most scenarios, you may ignore the file /includes/global.inc.php-dist. This is included for those who want to study what information is required should they wish to fool about with the installation. An upgrade (or same-version reload) uses the existing global.inc.php, and a fresh installation creates a new global.inc.php, renaming any existing global.inc.php to have a dated backup filename.
  33. 1 point
  34. 1 point
    CC618 will use the product's Short Description if it exists. If not, the product's Main Description will be used after stripping away all HTML tags. Whichever is used, if the description needs truncating, the first action is to decode entities, such as &#34; to a quote mark. But the use of this function employs the ENT_COMPAT filter which does not convert the apostrophe - &#39. The second action is to discard everything after the product precis limit. The third action is to re-encode all the entities. The use of this function will see &#39 and encode the ampersand - &amp;#39;. Thus, at the browser, after decoding &amp;, we still see &#39;. In the file /classes/catalogue.class.php, near line 218: Find: return htmlentities(substr(html_entity_decode($short_description, ENT_COMPAT, 'UTF-8'), 0, $product_precis), ENT_QUOTES, 'UTF-8').'&hellip;'; Change to: return htmlentities(substr(html_entity_decode($short_description, ENT_QUOTES, 'UTF-8'), 0, $product_precis), ENT_QUOTES, 'UTF-8').'&hellip;'; This will be fixed in CC619.
  35. 1 point
    OK, I have taken the above two points out of your OP. 1) You can combine WordPress with CubeCart but they are not integrated as such. You can develop a WP theme to match your CubeCart skin so tha it looks like an integrated site. We have developed custom WP themes based on existing or custom built CubeCart skins and to use them, you have a choice of : (a) CubeCart at the top level with WP installed in a sub-directory (say for example /blog) and a link to that from the CubeCart menu. This is most often used where you want to have an active blog or other manageable content. (b) WP at the top level with CubeCart in a sub-directory such as /shop and this is less commonly used but useful if the main purpose of the site is to provide a content driven site that also sells things 2) That could be accomplished using CubeCart and simply needs a custom skin. The concept of having everything full width is a good one and much more modern and is something we started to do with our Retail Therapy skin (which currently just has a full width slideshow section) and the next release will have be full width by default with the current layout as an "old style" sub-theme. However, most of that example site could be done now with that skin plus two of our plugins (Multiple Homepage Documents and Manage Site Document Location) Ian
  36. 1 point
    Making CC3 work with later versions of PHP will require some edits to the code. The latest versions of all the CubeCart version families are now configured to not have any licensing requirements.
  37. 1 point
    I am not finding any significant differences that would explain the behavior. Still looking.
  38. 1 point
    The other option is if you are interested in moving your hosting, then we provide free and full support for CubeCart as part of our E-Commerce packages, and can sort this out for you. I will do the migration of your site over to one of our servers for free as well ! Ian
  39. 1 point
    This is the first time using this cart. Like it a lot, easy to work with and the CMS feature is excellent, my previous cart didn't have that. Didn't customize too much but happy with the way it came out. Don's Vintage Audio Feedback welcome!
  40. 1 point
    http://semperfiwebservices.com/site-testimonials-cc6-plugin.html
  41. 1 point
  42. 1 point
    What version of CC and what skin are you using? Have you recently upgraded? from what?
  43. 1 point
    you might need to delete the .htaccess file and let it re-create. ensure permissions are correct on the newly created directory.
  44. 1 point
    If you have SSL enabled login to the admin side of the store. Go to "Settings" then the SSL tab. Update the paths to reflect the new one. Once done create the folder you want to move it to. Select all the files with an FTP client and move them to the new folder. Empty the stores cache folder. All should be fine.
  45. 1 point
    Welcome to the forums @twistedsymphony! Do you have Store Settings>Stock set to Reduce stock levels on Processing? Is Store Settings>Misc>Features set to Order Status send on Processing? Have you run the email TEST after saving all correct settings for Store Settings>Advanced>Email?
  46. 1 point
    I've seen this before on rare occasions. Has data in the database been changed manually? Maybe some data was deleted outside of CubeCart. To fix it change the cardinality if the auto increment of the customer_id to be greater than the maximum customer I'd in the CubeCart_addressbook table.
  47. 1 point
    Not quite the answer you were looking for, but if you create a new zone, give it an abreviation like MTY (empty),and in the name field add about 4 blank spaces. You can save this as an empty county which also appears at the top of your county list so easy to find. I suppose a lazy customer could also use this though.
  48. 1 point
    yes lol...what safe to leave or change back
  49. 1 point
    We have never certified or tested the Softaculous installs/upgrades. The auto upgrade tool from 6.1.6 should be ok but there is still potential file permission issues. I always use FTP personally to be sure.
  50. 1 point
    Yes this is coming with 6.1.6 but skin edits will be required.


  • Newsletter

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

    Sign Up
×
×
  • Create New...