Jump to content


  • Content count

  • Joined

  • Last visited


Profile Information

  1. sakwoya

    First Data Gateway

    Sorry - I wasn't aware it was - just so I know in future can you tell me where the rules are documented? Graeme
  2. sakwoya

    First Data Gateway

    Hi Is this the one? http://www.firstdata.com/downloads/marketing-merchant/fdgg-web-service-api.pdf There's nothing available but I could code one for you - pm me for a price Graeme
  3. sakwoya

    Automatically send data feed to Froogle

    If you cannot get the ftp to work you can, instead, tell Google to go and collect the file itself - look at the bit under 'Automatic Upload' here: http://support.google.com/merchants/bin/answer.py?hl=en&answer=188477 Set the feed to run as a cron job and then give Google a time to collect a few hours after that. Graeme
  4. I had this working just fine 'out of the box' on a WAMP localhost but when I uploaded to a live site on *NIX then no redirect - spent ages trying to work out why by following the redirect through the new mobile class and whilst all values looked/echoed out correctly - no redirect - so some sort of server setting preventing it? So adapted wflynn's suggestion above and only edited catalog/includes/application_top.php (unlike wflynn I was not experiencing a loop) with the following code right before the closing ?> and replacing the code from the original add-on/contribution if (MOBILE_SITE=='True'){ $useragent=$_SERVER['HTTP_USER_AGENT']; //start of code from http://detectmobilebrowser.com/ . if(preg_match('/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) //end fo code from http://detectmobilebrowser.com/ //start of code from original class file mobile_redirect.php { $path = split("/" , $_SERVER['SCRIPT_NAME']); $filename = $path[sizeof($path)-1]; $file = 'mobile_' . $filename; $qstring = urldecode($_SERVER['QUERY_STRING']); $SSL = ($_SERVER['HTTPS']) ? "SSL" : "NONSSL"; if (file_exists($file)){ tep_redirect(tep_href_link($file, str_replace('&', '&',$qstring), $SSL, false, false)); } //end of original } }//end if (MOBILE_SITE=='True') Grab the code as he advises from http://detectmobilebrowser.com/ and use it as: if (preg_match......)//detectmobilebrowser code { // your redirect code } I've also wrapped this redirect in a if (MOBILE_SITE=='True'){ }//end if (MOBILE_SITE=='True') so that I could turn it off easily in the live site - to use this you need to insert the following using phpMyAdmin or whatever floats your boat: INSERT INTO `configuration` VALUES ('', 'Enable Mobile Site?', 'MOBILE_SITE', 'FALSE', 'Do you want to enable the mobile version of the site?', 1, 99, NULL, '2011-09-19 08:47:54', NULL, 'tep_cfg_select_option(array(''True'', ''False''), '); Now go to store admin, configuration, My Store and change the 'Enable Mobile Site' to 'True'. If you do not want to use it just delete the code in the last box (if(MOBILE_....) the site concerned uses RC 2.2, STS Templates and SEO Urls. If you find that you now get a working categories list but 404 for products try checking the products url - you may see an '&' in there - if so then check your file catalog/includes/functions/general.php for the function tep_redirect($url) you may need to add the line $url = str_replace('&', '&', $url); towards the end of the file thus: $url = str_replace('&', '&', $url); header('Location: ' . $url); tep_exit(); May help but YMMV Graeme
  5. sakwoya

    Orders not stored in admin

    Hi Try redirecting to checkout_process.php and not checkout_success.php That should write the order into your database Graeme
  6. If may help others I've installed this on a RC 2.2 store with the FWR SEO and it works just fine. The CRON job also works OK but I had to use either of these variations to get it to run after setting file permissions as per the readme wget -O - -q -b /server/path/to/catalog/googlesitemap/index.php or /usr/bin/wget "http://www.mystore.com/googlesitemap/index.php" Graeme
  7. sakwoya


    OK - I know this contribution is getting long in the tooth and the above post is over a year old but this may help somebody else: If Free Shipping Coupon is restricted to a product and the total cost of products at checkout (of which one must be the restricted one) is < shipping cost at checkout then CCGV will return a discount of that products cost and not the shipping cost Error lies in the function calculate_credit($amount) at line 146 (in the file catalog/includes/modules/order_total/ot_coupon.php which returns $od_amount – that amount is incorrectly calculated under the above circumstances. Line 227 says if ($od_amount>$amount) $od_amount = $amount; If the Order Discount amount is > products total then Order Discount should be reduced to match the products total (fair enough) Removing that line to test the function will, in the above circumstances, get the correct result. Solution - I guess you could move further up the function to the line if ($get_result['coupon_type']=='S') $c_deduct = $order->info['shipping_cost']; and just return the value for $od_amount immediately after that or, what I did, if ($get_result['coupon_type'] !='S') { if ($od_amount>$amount) $od_amount = $amount;} } Graeme
  8. Hi I'm having a problem getting a multiple 'ignore directories[]' to work - I have in the .ini file ignore_directories[] = "aspnet_client" ignore_directories[] = "feeds/fclose" or ignore_directories[] = "aspnet_client" ignore_directories[] = "feeds" aspnet_client gets ignored by filesafe but the feeds/fclose folder throws the error: Fatal error: Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(server-path-to/content/feeds/fclose) [<a href='recursivedirectoryiterator.--construct'>recursivedirectoryiterator.--construct</a>]: failed to open dir: Permission denied' in server-path-to/content/includes/modules/kiss_filesafe/classes/kiss_filesafe_abstract.php:216 Stack trace: #0 [internal function]: RecursiveDirectoryIterator->__construct('/mnt/target02/3...') #1 server-path-to/content/includes/modules/kiss_filesafe/classes/kiss_filesafe_abstract.php(216): RecursiveDirectoryIterator->getChildren() #2 server-path-to/content/includes/modules/kiss_filesafe/classes/kiss_filesafe.php(99): Kiss_FileSafe_Abstract->iterate() #3 server-path-to/content/filesafe.php(32): Kiss_FileSafe->run() #4 {main} thrown in server-path-to/content/includes/modules/kiss_filesafe/classes/kiss_filesafe_abstract.php on line 216 Any ideas as to what I am doing wrong here? Thanks Graeme
  9. Hi Just to say thank you for sharing your contribution with the rest of us - another of your easy to use contributions. I installed this for a client on a shared server but I was met by a 'Internal Server Error' if I called the script. I found by trial and error that if I changed the last line of the ini file to allowed_time_before_sleep = 1 Then it would work just fine (may help somebody else) Thanks Graeme p.s. we're using this to compare to the ftp logs to demonstrate to the hosting company that the hacked files are not being ftp'd by our accounts - they seem to be in denial when it comes to XSS
  10. sakwoya

    One Page Checkout Support

    @jsalis I've got the OPC working now in my templated site by stripping out each external javascript link one at a time to see what was upsetting OPC - turns out it was two things a call to another version of jquery in the file includes/boxes/categories.php - took that out. Call to a javascript in the in the templated files - if the calls to the javascript to OPC are placed last in <head> this one was resolved too Graeme
  11. sakwoya

    One Page Checkout Support

    @jsalis I've got the OPC working now in my templated site by stripping out each external javascript link one at a time to see what was upsetting OPC - turns out it was two things a call to another version of jquery in the file includes/boxes/categories.php - took that out. Call to a javascript in the in the templated files - if the calls to the javascript to OPC are placed last in <head> this one was resolved too Graeme
  12. sakwoya

    One Page Checkout Support

    I cannot edit my post above so I've tagged this on here. I also found none of the javascript validation was working in my file checkout.php The JQuery files do get called correctly and they do load but do not execute. I have removed all extra code that were being called and found the problem for this lay with some code in either includes/header.php or includes/column_left.php - if I strip those out of checkout.php then validation will take place and I can also checkout. I'm currently wading through the code reapplying chunks at a time until I can find out what is causing the problem - I think it is a variable that is getting declared in the custom code in this sites' header/left column which matches a name used in the one page checkout process I have tried v 1.2 and v1.4 of this contribution - both display the above behavior. I may also add that this is the fifth or sixth time I have tried installing this contribution on different stores and I have never yet got it to work on anything other than a vanilla install - my current attempt is pretty typical. (and if a client asks for this again I may just say 'no' or inflate my fee!) Graeme
  13. sakwoya

    One Page Checkout Support

    Hi has anybody come across this problem (no payment module selected). I'm testing on a WAMP server and the site is a customised 2.2 RCa (there's not a lot of PHP changes with it - just stuff like infoboxes and so on- no STS or BTS - even so I have ran a fielcomp with a standard 2.2a and there's no extra javascript/php added that could upset the contribution) . I've installed the latest versionof the contribution and it all works apart from the fact that no payment module is 'seen' by checkout_process - the line being (is_object($$payment) && ($$payment->enabled == false)) The checkout.php file is POSTING a value for 'payment' but that value is not getting through to checkout_process (This is the case whether a single payment module is available or more than one). - if you comment out the code above in checkout_process then the order will proceed, otherwise you get bounced back to checkout.php. If you revert to the standard osC checkout it runs as normal. Any clues? Thanks Graeme
  14. sakwoya

    ANZ eGate Help

    Hi - I've just installed the MIGS version of ANZ and it works for me. You need to (1) enable the module in admin > modules > payment and then (2) insert a MIGS Merchant ID and MIGS Access Code - both these can be any dummy numbers that you like but, without those two fields filled in the module will not display in checkout_payment.php If you need any more help try pm'ing me. Graeme
  15. sakwoya

    Recover Cart Sales

    Hi All I've just spent about two days trying to get this to work on both a test and a live server - I eventually went back to around version 2.22 and did a lot of editing/ trial and error stuff. I have uploaded my changed files as version 2.0a (as it is a retrograde step). http://addons.oscommerce.com/info/1688 It is rough code and is probably best compared to what you have on your machine at the moment. For email problems try using send() instead of tep_mail (it's in my file) and also check for a missing $i . The error o.orders_status > a:3:{i:0;s:1:"0";i:1;s:1:"1";i:2;s:1:"2";} is down to the way the contribution started saving multiple statuses - I've reverted to just saving one status so you'll get o.orders_status > 0 (or whatever) to properly correct that error you'll need to change the query to something along the lines of o.orders_status = 0 or o.orders_status = 3 and so on This may save you some time but YMMV Graeme