Jump to content

bsmither

Member
  • Posts

    17,976
  • Joined

  • Last visited

  • Days Won

    603

Everything posted by bsmither

  1. The code suggests that searching on the zip code happens first. All the zones are examined. For each zone, if it has anything entered in the zipcode box, the code ranges are parsed and compared to the first five digits of the delivery zip code of the order. If the delivery zip code does not fall within a range, then another comparison is made with the assumption the zone's zip codes are expressions (for example, 900* is for all of Los Angeles). If the zone has no postcodes specified for it, then the code tries matching any states that were chosen for this zone. (You can have postcodes or states or neither, not both.) If your test delivery address is not getting a match in a range or an expression of zip codes, we will need to verify that the range or expression is stated correctly.
  2. I would imagine that if you have calculated postage, and have included it in the price of the item, then to make sure it does not affect weight-based shipping, set its weight to zero. If you have shipping based on anything else, we will need to explore some work-arounds.
  3. Try this edit: In All in One Shipping module, shipping.class.php, near line 212, find: $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 { $this->debug('Searching for all matching shipping zones (instead of stopping at first matching zone - see AIOS module settings)'); } 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 { $this->debug('Searching for all matching shipping zones (instead of stopping at first matching zone - see AIOS module settings)'); }
  4. I have replicated this situation. Looking into why "Use First Matching Zone" is not being honored.
  5. I am not aware of a plugin for CubeCart that will do this automatically. But for a CC3 store some years ago, I coded CubeCart to make available the digital download only when the order went to Completed. This allowed me the opportunity to customize the PDF and store it in the download folder under a specific name, then I moved the order to completed.
  6. Looking at the code for AIOS v1.0.10, I do not find anything that is wrong with the code. What I do find is a set of diagnostic phrases that are very misleading. The code seems to be testing all zones, not stopping at the first, even if matched. But if "First" is selected, then only only the first matched zone is returned, containing all the various shipping methods in that zone. It may help if you were to send me the contents of CubeCart_shipping_rates and CubeCart_shipping_zones, and the hash from CubeCart_config, the All-In_One_Shipping row.
  7. In CubeCart's admin, Store Settings, Advanced tab, enable debugging and enter your IP address in the adjacent field (www.whatismyip.com). For every page delivered to you, there will be a diagnostic block of data at the bottom. Then, when you get the blank screen, see if there are any new clues in the error_log and/or the admin System Error Log. And, if the diagnostic block shows, but not the actual page itself, we may be able to find a clue there.
  8. We would ask that some consideration be given to having your hosting provider get involved and answer some questions regarding any extraordinarily low limits on web server and/or PHP settings. Settings that might affect what kind of data or how much data can be POSTed to CubeCart. CubeCart can operate in many kinds of hosting packages - but probably not overly restrictive (memory, mod_security rules, etc) or have any sort of super-aggressive page caching mechanism.
  9. The error_log found in CubeCart's main folder has no clues? See if there is anything logged in admin, System Log, System Error Log tab.
  10. Welcome Mike101za! Glad to see you made it to the forums. There could be an issue with how PHP has been installed, or one or more of its settings. Is your site being hosted by a hosting company? Generally, a CSRF warning happens when the "security token" in the POSTed data does not match what CubeCart thinks it should be. So, either: * you had more than one window open, POSTed a form from the first window, switched to the other window, and POSTed the form from that window (or browser tab). * for some reason, the "security token", which is always the last form element in the POSTed collection of variables, gets lost or discarded by the time PHP gives that data collection to the script. Your browser may be not including it (never seen that happen, but with Chrome, who knows), the web server may have an extraordinarily low amount of bytes it will allow in the POST payload, PHP may have a weirdly low limit for the quantity of POST data, or something else.
  11. I see you are using the Mobile skin. Please make these changes: In /js/plugins, update jquery.colorbox-min.js to the latest version. In /js/common.js, near line 399: Find: } else { basket.replaceWith(returned.responseText); //Remove error message if it exists $("#gui_message").slideUp(); //Shake basket $(".animate_basket").effect("shake", { times:4, distance: 3 }, 70); } Change to: } else { basket.replaceWith(returned.responseText); //Remove error message if it exists $("#gui_message").slideUp(); //Shake basket $(".animate_basket").effect("shake", { times:4, distance: 3 }, 70); $.colorbox({className:'colorbox_basket_summary', closeButton:false, inline:true, href:"div#basket_summary"}); setTimeout($.colorbox.close,1500); } In the Mobile folder /styles/common.css, you can add CSS rules: .colorbox_basket_summary { } #cboxContent { background-color: #666666!important; } You will need to find and add more CSS rules for cbox* selectors. This adds a popup window that shows the contents of the skin's shopping basket. So, in addition to the actual basket that is probably off-screen, this overlays the screen with a small window for 1.5 seconds (adjustable) that shows the basket -- for the Mobile skin, is just a basket icon (white in color) with a green circle and item count. (The overlay can be dismissed sooner by clicking/tapping anywhere on the darkened screen.)
  12. As far as "jumping to basket on add", that is set in admin, Store Settings, Layout tab.
  13. After reading the two articles, did you execute the test suggested in the second article? If so, what did you discern from the results?
  14. If we are to assume OpenSSL is still a problem, please read: http://docs.php.net/manual/en/openssl.installation.php You can try doing this: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#testing-ssl-outside-php
  15. We know that there is no firewall blocking the connection. The Gmail SMTP server is answering. According to the troubleshooting suggestion, the wiki article suggests there may be a problem with OpenSSL. So, in CubeCart admin, click PHP Info. Scroll to the table where OpenSSL would be (the tables are in alphabetical order). I think you are running a local installation of PHP, yes? If so, make sure your PHP has OpenSSL installed. The wiki article also mentions:
  16. Gmail may be restricting access to its SMTP server against unauthorized users. Having a gmail account would mean you are authorized, but you also need to tell Gmail to expect connections from specified sources. After logging in to your Gmail account, go here: https://myaccount.google.com/security At the bottom of the page, check: Allow less secure apps: ON Also, choose the Sending method as "SMTP with TLS" and set the Outgoing SMTP Port to 587. Your SMTP Username is your complete Gmail email address (not just the name part). Gmail may send you an email reporting something tried to use your account to send email from an unknown source. If you get this email, there will be a link to approve this thing to access the Gmail SMTP server using your credentials.
  17. (Disclaimer: I really have no ideas about PayPal.) Please consider working through the "wizard" for the Shipping Calculations. The wizard may show already established values - not to imply that nothing has previously been set up. The image suggests that "Air Service" has been set up. So, stepping through the wizrd may show that setup, as well as the "override" switch. The "Email address override" may have something to do with there being a difference between the "PayPal Primary Email Address" and the email address that PayPal actually knows you by. The test for these addresses being the same or different simply puts a note in CubeCart's transaction log, "Recipient account didn't match specified PayPal account." Maybe a multi-store but single PayPal account situation?
  18. CubeCart uses PHPMailer, a well-respected emailing utility. What is the error you get? PHPMailer needs to communicate with an SMTP server that you are authorized to use. That server could be the one provided who also provides you your internet connection. There is probably a server you are authorized to use by who provides you your email address.
  19. In admin, Customer List, find the customer with the target email address. Uncheck the Status column. That customer will not be able to log in. (Might probably still be able to buy as a "ghost" (unregistered) customer, however.) I have a plugin that intercepts the "registration" process and sets the status of the customer to disabled. The admin, after confirming the "eligibility" of any customer to shop at their store (wholesale customers, typically), will enable the status. That plugin can be modified to run tests on the registration data and set the status to disabled if any test matches the fail conditions.
  20. * If they have a known set of email addresses, and have created accounts on those addresses, you can disable the customer having that email address. * You can install the CubeCart Security Suite and enter IP addresses that will be blocked. * A (easily written) plugin to automatically disable new customers based on "rules", such as punctuation in name fields and other oddities.
  21. "it will show my login name in one of the fields ... if it's blank at the time." I believe this was blamed on the web browser having a "automatic form filler" addon, that was populating form fields with data it thought appropriate from the addon's repository.
  22. The essential methods you would use are has(), get(), and set(). When you are ready, send me a PM and we will take this as deep as you need.
  23. Ran across this: https://docs.rocketship.it/php/1-0/determine-products-fit-in-shipping-package.html
  24. There have been a couple of comments made about it, but I do not recall if any mentioned Braintree causing PHP to crash.
  25. $_SESSION is wrapped in a Session class. There are various methods to manage session contents. Do not hesitate to ask for details.
×
×
  • Create New...