Jump to content

ecartz

♥Ambassador
  • Content count

    3,086
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by ecartz

  1. If you go to https://www.oscommerce.com/Products you will see two versions listed. The v2.3.4.1 has the problem that you describe. The Phoenix Edition v1.0.5.0 is more recent and does not. In terms of the specific error that you are encountering, rename a function class_name to __construct. Phoenix mostly did that in https://github.com/gburton/CE-Phoenix/commit/f059ed430ad632133e43e50111ee5021d41cd10a#diff-b25c7caa707e98de8d250a9375b5c710
  2. Did you update from a previous version? In the address_format table, change the things that say $firstname $lastname to just say $name instead.
  3. ecartz

    Admin : categories.php slow loading

    MySQL also has cache settings in mysql.conf or whatever. Have you tried turning on query logging and testing the queries in phpMyAdmin? The logging tells you what queries the page is generating. Then run the queries in phpMyAdmin to see which are slow. With a large products_to_categories table, you might add a UNIQUE index on categories_id, products_id (in that order). Because the categories page queries from a category usually. So the primary key is backwards for its needs. That usually won't matter, but it might in your circumstance.
  4. My guess would be that USPS changed something. This surfaced intermittently because they only changed it on some servers at first. It is now always wrong because they've updated everything. No, that error means that it isn't looping through that foreach at all. It may be reaching that section of code twelve times. The simplest thing that you could try would be to change 126 to foreach (($Package['ExtraServices']['ExtraService'] ?? []) as $key => $val) { That will probably suppress the error. If it doesn't, try wrapping the entire loop in if (is_array($Package['ExtraServices']['ExtraService'] ?? null)) { //foreach here //} end of foreach } That should suppress the error but something may still not be working.
  5. ecartz

    HoneyPot Captcha

    Any checking that worked in 1.0.5.3 will work in 1.0.5.4. All 1.0.5.4 did was provide an easier way to block failures. So if it won't work in 1.0.5.4, it won't work in 1.0.5.1 through 1.0.5.3 either. To make something that would work with the change from 1.0.5.4 work in 1.0.5.1 through 1.0.5.3, someone could add the tep_block_form_processing function from 1.0.5.5 (the one from 1.0.5.4 had a typo for create_account). Or just duplicate the functionality of that function. I would say that the correct way to implement form verification in 1.0.5.1 or later would be to write replacement customer_data modules. But that's another conversation. My point here is that it is extremely unlikely that something that doesn't work in 1.0.5.4 will work in 1.0.5.1 through 1.0.5.3.
  6. ecartz

    Wishlist For Phoenix

    <script>$(document).ready(function() { $('button[name="wishlist"]').bind('click', function() { let input = document.createElement('input'); input.setAttribute('type', 'hidden'); input.setAttribute('name', 'wishlist'); input.setAttribute('value', 'wishlist'); let form = $(this).closest('form'); form.unbind('submit'); form.append(input); form.submit(); return false; });}); </script>
  7. ecartz

    Wishlist For Phoenix

    I mean your store where you have it installed. I have files for both Apps but I don't have them installed.
  8. ecartz

    Wishlist For Phoenix

    Is it publicly available? Could you PM me a link?
  9. ecartz

    Wishlist For Phoenix

    The problem that LeeFoster identified was a conflict with another App. If he turned off the header_tag module from the other App, he could get the Wishlist to work. That App has a header_tag module. The ideal would be to add this as its own header_tag module that adds to footer_scripts but for testing purposes, anything that adds to footer_scripts would probably work. For testing purposes (to verify that it works), you could add it to template_bottom. But that would put it on every page even though it's only needed on the product_info page.
  10. Why do you think that $product_info['specials_new_products_price'] would contain the special's price? The else clause shows how to get the special's price. Perhaps $new_price = tep_get_products_special_price($product_info['products_id']); if (is_email_for_quote($product_info['products_price']) || !new_price) { $products_price = show_email_for_quote($product_info); } else { would do what you want.
  11. ecartz

    FedEx - Web Services v9

    If it is traversable, then replacing line 313 with $cost = (reset($rateReply->RatedShipmentDetails)->ShipmentRateDetail->TotalNetCharge->Amount)/MODULE_SHIPPING_FEDEX_WEB_SERVICES_CURRENCY; might work. Setting it to List and explicitly casting to array might work. foreach ((array)$rateReply->RatedShipmentDetails as $ShipmentRateDetail) I'm not sure what line that is, but it is before 313 and I just added (array) to it. In a test store (not a live store, as it would break it), you could add var_dump($rateReply->RatedShipmentDetails); exit(); just before line 313 and see what it says. Try twice, once each for domestic and international.
  12. Can't you just change the text that you send to PayPal? That would be a coding change, but that's the only way that you can change just what PayPal gets. Note that the "bug" is that PayPal doesn't accept values more than 256 characters (a character is a letter or other mark). So to fix that, you'd have to fix PayPal. It's a limitation in PayPal, not in osCommerce.
  13. ecartz

    Wishlist For Phoenix

    <script>$(document).ready(function(){ $('button[name="wishlist"]').bind('click', function() { let input = document.createElement('input'); input.setAttribute('type', 'hidden'); input.setAttribute('name', 'wishlist'); input.setAttribute('value', 'wishlist'); let form = $(this).parents('form:first'); form.appendChild(input); form.submit(); return false; }}); </script> I think that this would fix it. To test it, you could add this into the existing header tag module with which you are having trouble, as that already adds scripts to the footer. But you might then want to move it into its own module or hook after establishing that it works. The problem is that the AJAX submission is not passing which button was clicked to submit the form. Which makes sense because there is only one button in the default install. So if Javascript is running, this adds a form input to the form when that button is clicked.
  14. ecartz

    Wishlist For Phoenix

    The problem is that it needs to submit the form to get the attributes. I.e. submitting the form is the correct behavior here. The issue is that it needs to submit the form differently when it is a wishlist from when it is adding to cart. Note that if people are already using AJAX to submit the form, then they can use Javascript to change the form submission URL or to add a "Wishlist" input that is only posted with the Wishlist. Then the current behavior would be a fall back for the non-Javascript case.
  15. ecartz

    FedEx - Web Services v9

    Which line is 313? Perhaps try changing if(MODULE_SHIPPING_FEDEX_WEB_SERVICES_RATES == 'LIST') // For LIST/FULL Rates, calculate the cost as below { to if (('LIST' === MODULE_SHIPPING_FEDEX_WEB_SERVICES_RATES) && (is_countable($rateReply->RatedShipmentDetails))) { // For LIST/FULL Rates, calculate the cost as below
  16. ecartz

    Wishlist For Phoenix

    I'm pretty sure that this only happens in some browsers. You may want to find out where @kgtee has this installed and check the behavior there. Or post what browser you're using so people trying to debug can use the same one.
  17. It looks like the Javascript is broken. In admin/includes/configure.php make sure that ENABLE_SSL is set to true and that both the HTTP_SERVER and HTTPS_SERVER are https:// URLs for admin and catalog. Also check that admin/includes/modules has stuff in it. In general check the error logs to see if you're getting any informative errors. In your browser, try looking at the Javascript console to see if it has informative errors.
  18. As I said, that's not an osCommerce file. So I have no idea how it works. You could try finding whatever is breaking things in it. Or you could contact whomever installed it or provided it to fix its behavior. It's called a connector, so the problematic code may be outside the file in the thing to which it connects. Which might not be available to you. The only real suggestion I can make is to try commenting out the php_value line and see what happens. If that fixes the problem, then you can work out which is more important, malware protection or searches for union. And perhaps contact whomever provides it for support.
  19. Well, if you look in the .htaccess, it says /home/lkay/domains/socomtactical.net/public_html/qshield/WafConnector.php The other is probably in the public_html directory. Neither of those is standard. The latter is probably an SEO App for osCommerce. The former is probably a malware blocker of some sort, not related to osCommerce at all.
  20. The two things that leap out at me are WafConnector.php and m1_seourls.router.php My guess is that one of them has some kind of malware detection that looks for the word union and halts when it is detected. I would start by asking the qshield people. You also might try commenting out the php_value line by putting a # at the beginning. If it works without that line, then that's the problem.
  21. When I try this in the stock latest version, I get https://template.me.uk/phoenix/advanced_search_result.php?keywords=union -- this would seem to be specific to you. Perhaps we might offer more help if you could show your mod_rewrite rules -- probably in a .htaccess file. Or perhaps post some entries from your error logs.
  22. ecartz

    Change number of columns

    Go to admin > Modules > Content > Sub Category List and edit the module configuration. Note that there are four values. Presumably you are currently looking to change XL. You may want to make SM, MD, and LG proportionately smaller as well.
  23. By default, it is now sent in includes/modules/notifications/n_create_account.php. Of course, if you want to change the content, that's in the template and language files. If you want to ship a new App, the best thing would probably be to uninstall and duplicate that module. Then modify and install the duplicate. That way it won't continually be replaced by modifications in the core files.
  24. ecartz

    HoneyPot Captcha

    function CheckCountryState($state, $country) { if (MODULE_HEADER_TAGS_HONEYPOT_VERIFY_STATE_COUNTRY_MATCH == 'True') { $has_zone_query = tep_db_query("SELECT COUNT(*) AS zone_count FROM zones WHERE zone_country_id = " . (int)$country); $has_zone = tep_db_fetch_array($has_zone_query); if (0 < $has_zone['zone_count']) { $db_query = tep_db_query("select 1 from zones where zone_country_id = " . (int)$country . " and (zone_code = '" . tep_db_input($state) . "' or zone_name = '" . tep_db_input($state) . "')"); return !tep_db_num_rows($db_query); } } return false; }
  25. I suspect that you were getting this prior to installing the Let's Encrypt SSL. You just hadn't noticed when it was Comodo SSL. In includes/configure.php, find all instances of http: and replace them with https: -- in particular, change the HTTP_SERVER. Set ENABLE_SSL to true. You should probably do the same with admin/includes/configure.php I'm not the best person to help with troubleshooting a PayPal problem, but you may want to check if there are any log messages giving more information. Also, perhaps check if you don't have an up-to-date https://github.com/gburton/CE-Phoenix/blob/master/ext/modules/payment/paypal/paypal.com.crt PayPal recently started requiring that file to be up-to-date. If all else fails, try asking PayPal what the problem looks like from their side. This seems a really weird problem to have. Are you sure that the customer successfully made a payment? Because I've never heard of a payment being subtracted from the customer but not added to the store. A more typical problem would be for the payment to be in the shop account but to have never notified the store. But the money should be there. I could see that happening in the midst of your SSL problems. It could have the same problem as the admin. But the customer going to PayPal and having the amount removed from the customer's account but not deposited in the shop account would be a problem with PayPal, not osCommerce.
×