Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by greasemonkey

  1. greasemonkey

    Hack attempt - is there a way to prevent this?

    @ArtcoInc I think the link to your review is very relevant to the thread - and the threat of this hack attempt (I can’t recall the level of detail in your review but maybe you’d update to include this potential risk).
  2. greasemonkey

    Hack attempt - is there a way to prevent this?

    As a suggestion for a different smart search that doesn’t write to your DB... try this one (I’ve been using it for a couple years... works great). https://apps.oscommerce.com/Redirect=9351
  3. greasemonkey

    Hack attempt - is there a way to prevent this?

    Sorry? Where were these huge chunks of code??????? If the code was in a file on your server - you have a HUGE issue... that is nothing to do with the file its self.
  4. greasemonkey

    PayPal App v5.018 Log In with PayPal is now dead

    @peterbuzzin worked perfect..... @Harald Ponce de Leon the PayPal app needs updating... as I'm sure you are aware.
  5. greasemonkey

    Login with Amazon

    @Login with Amazon I hope all is well (I tried to send a DM but it would seem your profile will not allow it).... I found this addon when looking thru the new changes made to prepare for the marketplace... A couple of things - I was sooo excited when I came across this - thinking it would work just like the "Login with Paypal" addon built into the PayPal App. I had to make a few changes to get this working with the bootstrap community edition (changing FILENAME_ and DIR_WS_MODULES to exact files paths)... however was disappointed when I did get it to work... Although it will allow login - it will not pass the customers address to OsC... It looks as though it was really meant for more of a Wordpress like site. I check the documentation here to confirm... Am I missing something? More important than this "login" feature however - I notice you have half (or probably more than half) built Amazon Pay into this addon... What would it take to get Amazon to finish this??????? @Harald Ponce de Leon this would be a GREAT addition to whatever you are working on... offering an additional payment options beyond PayPal (all the other payment apps/addons incl'ed are WAY out of date some/most even end of life). One of the most attractive features of some of the more current ecom platforms is their built in wide range of modern payment methods that are completely missing in OsC.
  6. greasemonkey

    PayPal App for osCommerce Online Merchant

    I concur... it’s not working
  7. greasemonkey

    Forum Changes

    @Harald Ponce de Leon for the sake of this community - who has (although divided at times) remained active in your absence, please be more forthcoming (at least in the near future). It’s not my business - so I’m not sure I care about your brand name, however the people here have been applying glue, bandages and spit to hold this thing together... sorry to be blunt - but you owe it to them.
  8. @burt question: why a hook and not a header tag module?
  9. @JcMagpie Hey Zahid, you've got one dead link in this header tag.... $oscTemplate->addBlock( '<link rel="icon" sizes="192x192" href="' . MODULE_HEADER_TAGS_JCM_FAVICON_DIR . 'nice-highres.png">' . "\n", $this->group); I presume this should be pointing to favicon-192.png?
  10. greasemonkey

    ShipStaion for OsCommerce

    This module allows you to import your orders from OsCommerce to ShipStaion for easy shipping – including creating shipping labels, sending shipping confirmation emails and comparing shipping rates for most of the North American couriers (including Canadian carriers: Canada Post and Purolator). No core files changes are required – just adding one file and complete the setup from ShipStation. Tested on 2.3.4 BS EDGE - should work on any version of 2.3 Here it is.... https://apps.oscommerce.com/RMpJA&shipstaion-for-oscommerce
  11. greasemonkey

    International SEO

    @Dj-Viper if you are referring to the code I posted above - please read the post (this was a mock up... a test... I’m in now way suggesting this as any sort of live code).
  12. greasemonkey

    International SEO

    Here’s another great article on international SEO https://neilpatel.com/blog/international-seo/
  13. greasemonkey

    International SEO

    I'm just going to jump in and share my limited experience trying to set up some international SEO.... I've been trying to target my SEO for Canada and USA for currency.... (its a long story - short version I'm showing my site in USD by IP address to the USA and CAD to all other IP address and googles bots are located in the USA so I'm crawled in USD) First Google doesn't like URL parameters (source) for international crawling... and would much prefer domain or directories (ie usa.mysite.com or www.mysite.com/usa... same for language versions fr-ca.mysite.com or www.mysite.com/fr-ca etc etc... as mentioned above... for me I was trying to get en-us and en-ca) so, out of the box OsC is not in a good place (I believe there is an updated version of SEO urls 5 that has some hreflang features to re-write this.... although I haven't tried it) I used a hreflang tester (link below) to mock up a headertag module to try and replace the included canonical module - I was successful in getting a pass with the example code below however was not successful in combining the hreflang tags WITH canonical tags... https://technicalseo.com/seo-tools/hreflang/ Example code if (basename($PHP_SELF) == 'product_info.php') { $oscTemplate->addBlock(' <link rel="alternate" hreflang="en-ca" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '?currency=CAD'.'" /> <link rel="alternate" hreflang="en-us" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '?currency=USD'.'" /> <link rel="alternate" hreflang="en" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '" /> <link rel="alternate" hreflang="x-default" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '" /> ' . PHP_EOL, $this->group); } } Conclusion - as I understand it.... if this is going to be fixed properly there needs to be a way of re-writing the urls.... to a language directory as an example... The code to create the hreflang and canonical tags is probably not that hard for a coder (I am NOT a coder). Thoughts?
  14. greasemonkey

    RMA Returns System for osC2.3.4BS

    Ok, trying to figure this out on my own in @frankl absence..... it would seem we need to use a checkbox_field in place of a radio. Now just trying to figure out how to pass the variables selected.
  15. greasemonkey

    Fake accounts

  16. greasemonkey

    Quantity Box in Products Listing App for Edge CS

    You could "test" this (I have NOT tested this).... upload to includes/actions/buy_now_forms.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2018 osCommerce Released under the GNU General Public License */ class osC_Actions_buy_now_form { public static function execute() { global $PHP_SELF, $messageStack, $cart, $goto, $parameters; if (isset($_POST['products_id'])) { $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+($_POST['cart_quantity']), $_POST['id']); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); } }
  17. greasemonkey

    Quantity Box in Products Listing App for Edge CS

    @freakystreak the correct way to do this is move the changes mentioned in application_top into a NEW action module - specifically create a new action module (you could use the buy_now action module as a start) renamed name it say "buy_now_form" integrating @Tsimi changes The changes to the product_listing would be the same....
  18. greasemonkey

    RMA Returns System for osC2.3.4BS

    Hey @frankl I hope all is well. Just noticing a flaw in your RMA system - well actually a flaw with tep_draw_radio_field I presume. Do you have any tricks to return more than one item on a single RMA - as tep_draw_radio_field only allows 1 selection from a list. Removing, or using a unique "name" for each in the list will not pass it would seem... but I'm no expert. Maybe a new radio field function is required - similar to what some have done with radio buttons and multiple attributes???? Scott
  19. greasemonkey

    Database Optimizer

    Perfect, thank you.... Next version, maybe add an option to cleanup/clear-out the Action Recorder.... Mine had over 30,000 rows.... I cleaned it up with a simply SQL and 90 days is only 1,700 rows.
  20. greasemonkey

    Database Optimizer

    @Jack_mcs just wanted to make sure I understand the wording in config for Truncates Customers Old: Should older entries in the customers and address book tables be removed? Enter the number of days between removals or leave blank for no removal. (Value entered must be in days)” Does this mean the process will run every (example) 300 days? And if so where the config to tell it who to truncate? Or customers who haven’t logged in in 300 days will be truncated?
  21. greasemonkey

    Recaptcha v3 announcement

    Looks like google has figure out a way to do away with the stop sign, store fronts and cars... yay https://webmasters.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html?m=1
  22. greasemonkey

    HoneyPot Captcha

    lol nope, just had an account created with Russian Federation as country and Ukraine as IP. Working on installing @burt action recorder to get the correct IP...
  23. greasemonkey

    HoneyPot Captcha

    @Jack_mcs thanks again Jack, this is going off topic for your support thread... Mods, please feel free to move this to its own discussion. Yes, the bot is clearly not using a "browser" anyway to input the values so using a regex HTML5 form to validate is, as you suggest, not a good idea. I deliver the site via Cloudflare, so I'm a little surprised they can even get to the site - almost every Proxy IP I've tried from eastern EU lands on Clouldflare's reCaptcha2 page. SOOO, what I have succeeded in doing so far is pissing the spammer off! They've gone from creating 2-4 accounts per day to 2-4 accounts per hour. Good news, on the create account page I use GEO targeting to enter the Country by IP - so (I think) I'm getting an accurate country for each account. I'm now using htaccess (with Cloudflare's CF-IPCountry) to block large area's of the world like: So far so good.... I add a new country every time they create an account.... 99.8% of our business is from Canada and USA - so no worries really..... but would like to think this is temporary.
  24. greasemonkey

    HoneyPot Captcha

    Wow, this spammer just won't go away.... I'm not sure you can help me any more @Jack_mcs I'm currently trying to use the pattern variable with a negative regex on the company input to validate the form - it works when I test it: pattern="^(?!google$).*" But he is still able to get around it - or at least able to create the account. Looking at Track Delivery in cPanel the email is still going out and being received.
  25. greasemonkey

    HoneyPot Captcha

    Can't quiet get this working Jack Sorry to bug for any more assistence - here is the HTML for the Company Name <div class="form-group"> <label for="inputCompany" class="control-label col-sm-4">Company Name</label> <div class="col-sm-8"> <input type="text" name="company" id="inputCompany" placeholder="Company Name" class="form-control" /><!-- BOF Separate Pricing Per Customer: field for tax id number <!-- EOF Separate Pricing Per Customer: field for tax id number --> </div> </div> And the IsSpammer function, I'm not sure... but it's still validating the form with or without the company name being "google". For the value I've tried both "google" and \'google\'. function IsSpammer() { if(!document.getElementById("honeypot").value) { // The field is empty, submit the form. return true; } else if ((document.getElementsByName("company")[0].value) == \'google\') { return true; } else { // the field has a value it\'s a spam bot return false; } }