Thread: Froogle Google
View Single Post
  #48  
Old 08-21-2003, 05:34 AM
 
123computerbooks 123computerbooks is offline
 

Advanced Member
  
Join Date: Apr 2003
Posts: 74
 

Default

I cant get my param00 , the isbn for the book to write in the output file any suggestions?




Code:
<? # # $Id: froogle_update.php,v 1.6 2003/05/25 15:09:08 lfhair Exp $ # # froogle_update.php # # This module will automatically export your products and send # (using FTP) a properly-formatted file to Froogle. # # It can be run from X-Cart or it can also be run from the command # line. Running it from the command line is useful for setting # up a 'cron' job that will automatically update your Froogle listings # periodically (like once a week or once a day). For example, # the following crontab entry would update Froogle every Saturday # at 2:00am: # 0 2 * * 6 /usr/bin/php -q /home/mydir/www/xcart/provider/froogle_update.php # # In order for things to work, you must define the following variables in # your config.php file: # # $froogle_username = 'myfroogle'; # $froogle_password = 'mypass'; # # Values for the above are assigned by Google when you sign up for their # Froogle service (see froogle.google.com for more info). # # The following variables are optional: # # $froogle_host - defaults to 'hedwig.google.com' # $froogle_partner - set this if you want to track Froogle hits as # an affiliate (i.e. set $froogle_partner="froogle") # $froogle_filename - name of the file that will be sent to Froogle # #------------------------------------------------------------------------ # Copyright 2003 by Jeff Groves (jeff@lfhair.com - www.lfhair.com) # You have permission to use this code as long as you include the # header lines above. There are no guarantees that this code will # work as expected. # #------------------------------------------------------------------------ # require "../smarty.php"; require "../config.php"; $command_line_mode = false; if ($_SERVER[DOCUMENT_ROOT]) { # # Running from the web, make sure we authenticate the user # require "./auth.php"; require "../include/security.php"; set_time_limit(1800); $BR = ' '; } else { # # Running from command line # $command_line_mode = true; ini_set('html_errors', '0'); $BR = "\n"; } # $fp = tmpfile(); $fp = fopen("./froogle_temp.txt", "w+"); $tab = "\t"; $partner_track = ""; # # Use this condition when single mode is disabled # $provider_condition = ($single_mode ? "" : "and $sql_tbl[products].provider='$login'"); if (! $froogle_host) { $froogle_host = "xxxxxx"; # default Froogle host } if (! $froogle_username) { echo "ERROR: \$froogle_username is not set, it should be defined in your 'config.php' file.".$BR; } if (! $froogle_password) { echo "ERROR: \$froogle_password is not set, it should be defined in your 'config.php' file.".$BR; } if ($froogle_partner) { # if set, track froogle hits as an affiliate $partner_track="&partner=$froogle_partner"; } if (! $froogle_filename) { $froogle_filename = $froogle_username.'.txt'; # default Froogle filename } if ($froogle_username && $froogle_password) { echo "Exporting products".$BR; $products = func_search_products("1 $provider_condition group by $sql_tbl[products].productid order by $sql_tbl[products].productid", $user_account['membership']); } if ($products) { # # These patterns will remove HTML tags, javascript sections # and white space. It will also convert some # common HTML entities to their text equivalent. # $search = array ( "'<script[^>]*?>.*?</script>'si", // Strip out javascript "'<[\/\!]*?[^<>]*?>'si", // Strip out html tags "'[\s]+'", // Strip out white space "'&(quot|#34);'i", // Replace html entities "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&(lsquo|#8216);'i", "'&(rsquo|#8217);'i", "'&(ldquo|#8220);'i", "'&(rdquo|#8221);'i", "'&#(\d+);'e"); // evaluate as php $replace = array ( "", "", " ", "\"", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "'", "'", '"', '"', "chr(\\1)"); # # Set up Froogle header # $product_url = 'product_url'; $name = 'name'; $description = 'description'; $price = 'price'; $image_url = 'image_url'; $category = 'category'; $offer_id = 'offer_id'; $isbn = 'isbn'; fwrite($fp, $product_url.$tab. $name.$tab. $description.$tab. $price.$tab. $image_url.$tab. $category.$tab. $offer_id."\n"). $isbn.$tab. # # Build an export file # $count = 0; foreach ($products as $key => $value) { if ($products[$key][forsale] == 'N' || # skip products not available for sale $products[$key][price] <= 0.00) { # skip products with zero price continue; } $count++; $product_url = $http_location.'/customer/product.php?productid='.$products[$key][productid].$partner_track; $name = preg_replace($search, $replace, strip_tags($products[$key][product])); $description = preg_replace($search, $replace, strip_tags($products[$key][fulldescr])); # if fulldescr is blank, use short description if ($description == "") { $description = preg_replace($search, $replace, strip_tags($products[$key][descr])); } $price = $products[$key][price]; $image_url = $http_location.'/image.php?productid='.$products[$key][productid]; # convert '/' to '>' in category $category = eregi_replace('/', '>', $products[$key][category]); $offer_id = $products[$key][productcode]; # jjj - use productid ??? $isbn = $products[$key][param00]; fwrite($fp, $product_url.$tab. $name.$tab. $description.$tab. $price.$tab. $image_url.$tab. $category.$tab. $offer_id."\n"). $isbn.$tab; } rewind($fp); # # Connect to Froogle and send file via FTP # $conn_id = ftp_connect($froogle_host); $login_result = ftp_login($conn_id, $froogle_username, $froogle_password); if ((!$conn_id) || (!$login_result)) { echo "FTP connection failed!".$BR; echo "User '$froogle_username' unable to connect to $froogle_host".$BR; } else { echo "User '$froogle_username' connected to $froogle_host".$BR; echo "Beginning FTP transfer of $count products".$BR; if (ftp_fput($conn_id, $froogle_filename, $fp, FTP_ASCII)) { echo "OK - Transfer of file '$froogle_filename' was successful".$BR; } else { echo "ERROR - Unable to transfer file '$froogle_filename'".$BR; }; } fclose($fp); } if (! $command_line_mode) { echo ' Return to previous page'; } ?>
Reply With Quote