Jump to content



Photo
- - - - -

EasyPopulate and Image Mods


This topic has been archived. This means that you cannot reply to this topic.
24 replies to this topic

#1   theseason

theseason
  • Members
  • 36 posts

Posted 19 April 2004 - 13:34

Hello community,

I have been using easypopulate successfully on my site for a good period of time. Recently I added the small, medium, large image contribution.

Now I want to add those images to the new rows using easypopulate. I have been through the EP manual and through the forums and I am stuck. I uncommented the lines and uploaded the file to my site. Now I just get a period of wait, then a blank white screen. Any thoughts there?

Any help or pointing in the right direction is greatly appreciated.

Thanks
Ashley

#2   esurge

esurge
  • Members
  • 102 posts

Posted 19 April 2004 - 16:40

Hello, I have the sam simular problem. I get

Parse error: parse error in /www.xxx.co.uk/xxx/easypopulate.php on line 1684

Can any one help us please.

#3   esurge

esurge
  • Members
  • 102 posts

Posted 19 April 2004 - 17:16

Hi Ashley

Did u get any Parse errors????


Jazz

#4   theseason

theseason
  • Members
  • 36 posts

Posted 19 April 2004 - 17:48

Not even a parse error here. Just a blank screen. At least an error would get me somewhere. I did find an old posting in the Contribution Support Forum, but it didn't work.


Contribution Support--EP and Image Mod

The blank screen went away. But when I tried to download the EP file, the new image rows were not present. Do I have to add them in myself?

A

#5   esurge

esurge
  • Members
  • 102 posts

Posted 19 April 2004 - 18:34

there must be some who can help

This is for EP 1.71

#6   theseason

theseason
  • Members
  • 36 posts

Posted 19 April 2004 - 21:45

Are there certain reasons why you are using 1.71? I am on OSC 2.2ms2 using EP 2.72. I believe I have finally gotten it to work.

A

#7   Mibble

Mibble
  • Members
  • 13,404 posts

Posted 20 April 2004 - 01:29

here is an example with about 20 or so fields, this one does work

[code=auto:0]<?php

// Current EP Version
$curver = '2.72-MS2';

/*
 $Id: easypopulate.php,v 2.72 2003/12/28 VJ Exp $
*/

//
//*******************************
//*******************************
// C O N F I G U R A T I O N
// V A R I A B L E S
//*******************************
//*******************************

// **** Temp directory ****
// if you changed your directory structure from stock and do not have /catalog/temp/, then you'll need to change this accordingly.
//
$tempdir = "/catalog/temp/";
$tempdir2 = "/catalog/temp/";

//**** File Splitting Configuration ****
// we attempt to set the timeout limit longer for this script to avoid having to split the files
// NOTE:  If your server is running in safe mode, this setting cannot override the timeout set in php.ini
// uncomment this if you are not on a safe mode server and you are getting timeouts
// set_time_limit(330);

// if you are splitting files, this will set the maximum number of records to put in each file.
// if you set your php.ini to a long time, you can make this number bigger
global $maxrecs;
$maxrecs = 300; // default, seems to work for most people.  Reduce if you hit timeouts
//$maxrecs = 4; // for testing

//**** Image Defaulting ****
global $default_images, $default_image_manufacturer, $default_image_product, $default_image_category;

// set them to your own default "We don't have any picture" gif
//$default_image_manufacturer = 'no_image_manufacturer.gif';
//$default_image_product = 'no_image_product.gif';
//$default_image_category = 'no_image_category.gif';

// or let them get set to nothing
$default_image_manufacturer = '';
$default_image_product = '';
$default_image_category = '';

//**** Status Field Setting ****
// Set the v_status field to "Inactive" if you want the status=0 in the system
// Set the v_status field to "Delete" if you want to remove the item from the system <- THIS IS NOT WORKING YET!
// If zero_qty_inactive is true, then items with zero qty will automatically be inactive in the store.
global $active, $inactive, $zero_qty_inactive, $deleteit;
$active = 'Active';
$inactive = 'Inactive';
//$deleteit = 'Delete'; // not functional yet
$zero_qty_inactive = false;

//**** Size of products_model in products table ****
// set this to the size of your model number field in the db.  We check to make sure all models are no longer than this value.
// this prevents the database from getting fubared.  Just making this number bigger won't help your database!  They must match!
global $modelsize;
$modelsize = 15;

//**** Price includes tax? ****
// Set the v_price_with_tax to
// 0 if you want the price without the tax included
// 1 if you want the price to be defined for import & export including tax.
global $price_with_tax;
$price_with_tax =false;

// **** Quote -> Escape character conversion ****
// If you have extensive html in your descriptions and it's getting mangled on upload, turn this off
// set to 1 = replace quotes with escape characters
// set to 0 = no quote replacement
global $replace_quotes;
$replace_quotes = true;

// **** Field Separator ****
// change this if you can't use the default of tabs
// Tab is the default, comma and semicolon are commonly supported by various progs
// Remember, if your descriptions contain this character, you will confuse EP!
global $separator;
$separator = "\t"; // tab is default
//$separator = ","; // comma
//$separator = ";"; // semi-colon
//$separator = "~"; // tilde
//$separator = "-"; // dash
//$separator = "*"; // splat

// **** Max Category Levels ****
// change this if you need more or fewer categories
global $max_categories;
$max_categories = 7; // 7 is default

// VJ product attributes begin
// **** Product Attributes ****
// change this to false, if do not want to download product attributes
global $products_with_attributes;
$products_with_attributes = true;

// change this if you want to download selected product options
// this might be handy, if you have a lot of product options, and your output file exceeds 256 columns (which is the max. limit MS Excel is able to handle)
global $attribute_options_select;
//$attribute_options_select = array('Size', 'Model'); // uncomment and fill with product options name you wish to download // comment this line, if you wish to download all product options
// VJ product attributes end




// ****************************************
// Froogle configuration variables
// -- YOU MUST CONFIGURE THIS!  IT WON'T WORK OUT OF THE BOX!
// ****************************************

// **** Froogle product info page path ****
// We can't use the tep functions to create the link, because the links will point to the admin, since that's where we're at.
// So put the entire path to your product_info.php page here
global $froogle_product_info_path;
$froogle_product_info_path = "http://xxx.com/catalog/product_info.php";

// **** Froogle product image path ****
// Set this to the path to your images directory
global $froogle_image_path;
$froogle_image_path = "http://xxx.com/catalog/images/";

// **** Froogle - search engine friendly setting
// if your store has SEARCH ENGINE FRIENDLY URLS set, then turn this to true
// I did it this way because I'm having trouble with the code seeing the constants
// that are defined in other places.
global $froogle_SEF_urls;
$froogle_SEF_urls = true;


// ****************************************
// End Froogle configuration variables
// ****************************************

//*******************************
//*******************************
// E N D
// C O N F I G U R A T I O N
// V A R I A B L E S
//*******************************
//*******************************


//*******************************
//*******************************
// S T A R T
// INITIALIZATION
//*******************************
//*******************************


require('includes/application_top.php');
require('includes/database_tables.php');

//*******************************
// If you are running a pre-Nov1-2002 snapshot of OSC, then we need this include line to avoid
// errors like:
//   undefined function tep_get_uploaded_file
if (!function_exists(tep_get_uploaded_file)){
include ('easypopulate_functions.php');
}
//*******************************

// VJ product attributes begin
global $attribute_options_array;
$attribute_options_array = array();

if ($products_with_attributes == true) {
if (is_array($attribute_options_select) && (count($attribute_options_select) > 0)) {
 foreach ($attribute_options_select as $value) {
  $attribute_options_query = "select distinct products_options_id from " . TABLE_PRODUCTS_OPTIONS . " where products_options_name = '" . $value . "'";

  $attribute_options_values = tep_db_query($attribute_options_query);

  if ($attribute_options = tep_db_fetch_array($attribute_options_values)){
   $attribute_options_array[] = array('products_options_id' => $attribute_options['products_options_id']);
  }
 }
} else {
 $attribute_options_query = "select distinct products_options_id from " . TABLE_PRODUCTS_OPTIONS . " order by products_options_id";

 $attribute_options_values = tep_db_query($attribute_options_query);

 while ($attribute_options = tep_db_fetch_array($attribute_options_values)){
  $attribute_options_array[] = array('products_options_id' => $attribute_options['products_options_id']);
 }
}
}
// VJ product attributes end

global $filelayout, $filelayout_count, $filelayout_sql, $langcode, $fileheaders;

// these are the fields that will be defaulted to the current values in the database if they are not found in the incoming file
global $default_these;
$default_these = array(
'v_products_image',
'v_categories_id',
'v_products_price',
'v_products_quantity',
'v_products_weight',
'v_dvd_star',
'v_dvd_director',
'v_dvd_release_date',
'v_dvd_type',
'v_dvd_features',
'v_dvd_studio',
'v_dvd_categories',
'v_dvd_movie_length',
'v_dvd_also_available',
'v_products_bimage',
'v_products_subimage1',

'v_products_bsubimage1',
'v_products_subimage2',
'v_products_bsubimage2',
'v_products_subimage3',
'v_products_bsubimage3',
'v_products_subimage4',
'v_products_bsubimage4',
'v_products_subimage5',
'v_products_bsubimage5',
'v_products_subimage6',
'v_products_bsubimage6',
'v_date_avail',
'v_instock',
'v_tax_class_title',
'v_manufacturers_name',
'v_manufacturers_id',
'v_products_dim_type',
'v_products_length',
'v_products_width',
'v_products_height'
);
//       $new_fields_dvd = ", p.dvd_star, p.dvd_director, p.dvd_release_date, p.dvd_type, p.dvd_features, p.dvd_categories, p.dvd_studio, p.dvd_movie_length, p.dvd_also_available";
//     $new_fields_mo_pics=", p.products_bimage, p.products_subimage1, p.products_subimage2, p.products_subimage3, p.products_subimage4, p.products_subimage5, p.products_subimage6";
//elari check default language_id from configuration table DEFAULT_LANGUAGE
$epdlanguage_query = tep_db_query("select languages_id, name from " . TABLE_LANGUAGES . " where code = '" . DEFAULT_LANGUAGE . "'");
if (tep_db_num_rows($epdlanguage_query)) {
$epdlanguage = tep_db_fetch_array($epdlanguage_query);
$epdlanguage_id   = $epdlanguage['languages_id'];
$epdlanguage_name = $epdlanguage['name'];
} else {
Echo 'Strange but there is no default language to work... That may not happen, just in case... ';
}

$langcode = ep_get_languages();

if ( $dltype != '' ){
// if dltype is set, then create the filelayout.  Otherwise it gets read from the uploaded file
ep_create_filelayout($dltype); // get the right filelayout for this download
}

//*******************************
//*******************************
// E N D
// INITIALIZATION
//*******************************
//*******************************


if ( $download == 'stream' or  $download == 'tempfile' ){
//*******************************
//*******************************
// DOWNLOAD FILE
//*******************************
//*******************************
$filestring = ""; // this holds the csv file we want to download

if ( $dltype=='froogle' ){
 // set the things froogle wants at the top of the file
 $filestring .= "# html_escaped=YES\n";
 $filestring .= "# updates_only=NO\n";
 $filestring .= "# product_type=OTHER\n";
 $filestring .= "# quoted=YES\n";
}

$result = tep_db_query($filelayout_sql);
$row =  tep_db_fetch_array($result);

// Here we need to allow for the mapping of internal field names to external field names
// default to all headers named like the internal ones
// the field mapping array only needs to cover those fields that need to have their name changed
if ( count($fileheaders) != 0 ){
 $filelayout_header = $fileheaders; // if they gave us fileheaders for the dl, then use them
} else {
 $filelayout_header = $filelayout; // if no mapping was spec'd use the internal field names for header names
}
//We prepare the table heading with layout values
foreach( $filelayout_header as $key => $value ){
 $filestring .= $key . $separator;
}
// now lop off the trailing tab
$filestring = substr($filestring, 0, strlen($filestring)-1);

// set the type
if ( $dltype == 'froogle' ){
 $endofrow = "\n";
} else {
 // default to normal end of row
 $endofrow = $separator . 'EOREOR' . "\n";
}
$filestring .= $endofrow;

$num_of_langs = count($langcode);
while ($row){
print " ";

 // if the filelayout says we need a products_name, get it
 // build the long full froogle image path
 $row['v_products_fullpath_image'] = $froogle_image_path . $row['v_products_image'];
 // Other froogle defaults go here for now
 $row['v_froogle_instock']    = 'Y';
 $row['v_froogle_shipping']    = '';
 $row['v_froogle_upc']     = '';
 $row['v_froogle_color']    = '';
 $row['v_froogle_size']    = '';
 $row['v_froogle_quantitylevel']  = '';
 $row['v_froogle_manufacturer_id'] = '';
 $row['v_froogle_exp_date']   = '';
 $row['v_froogle_product_type']  = 'OTHER';
 $row['v_froogle_delete']   = '';
 $row['v_froogle_currency']   = 'USD';
 $row['v_froogle_offer_id']   = $row['v_products_model'];
 $row['v_froogle_product_id']  = $row['v_products_model'];

 // names and descriptions require that we loop thru all languages that are turned on in the store
 foreach ($langcode as $key => $lang){
  $lid = $lang['id'];

  // for each language, get the description and set the vals
  $sql2 = "SELECT *
   FROM ".TABLE_PRODUCTS_DESCRIPTION."
   WHERE
    products_id = " . $row['v_products_id'] . " AND
    language_id = '" . $lid . "'
   ";
  $result2 = tep_db_query($sql2);
  $row2 =  tep_db_fetch_array($result2);

  // I'm only doing this for the first language, since right now froogle is US only.. Fix later!
  // adding url for froogle, but it should be available no matter what
  if ($froogle_SEF_urls){
   // if only one language
   if ($num_of_langs == 1){
    $row['v_froogle_products_url_' . $lid] = $froogle_product_info_path . '/products_id/' . $row['v_products_id'];
   } else {
    $row['v_froogle_products_url_' . $lid] = $froogle_product_info_path . '/products_id/' . $row['v_products_id'] . '/language/' . $lid;
   }
  } else {
   if ($num_of_langs == 1){
    $row['v_froogle_products_url_' . $lid] = $froogle_product_info_path . '?products_id=' . $row['v_products_id'];
   } else {
    $row['v_froogle_products_url_' . $lid] = $froogle_product_info_path . '?products_id=' . $row['v_products_id'] . '&language=' . $lid;
   }
  }

  $row['v_products_name_' . $lid]  = $row2['products_name'];
  $row['v_products_description_' . $lid]  = $row2['products_description'];
  $row['v_products_url_' . $lid]   = $row2['products_url'];

  // froogle advanced format needs the quotes around the name and desc
  $row['v_froogle_products_name_' . $lid] = '"' . strip_tags(str_replace('"','""',$row2['products_name'])) . '"';
  $row['v_froogle_products_description_' . $lid] = '"' . strip_tags(str_replace('"','""',$row2['products_description'])) . '"';
  // support for Linda's Header Controller 2.0 here
  if(isset($filelayout['v_products_head_title_tag_' . $lid])){
   $row['v_products_head_title_tag_' . $lid]  = $row2['products_head_title_tag'];
   $row['v_products_head_desc_tag_' . $lid]  = $row2['products_head_desc_tag'];
   $row['v_products_head_keywords_tag_' . $lid]  = $row2['products_head_keywords_tag'];
  }
  // end support for Header Controller 2.0
 }

 // for the categories, we need to keep looping until we find the root category

 // start with v_categories_id
 // Get the category description
 // set the appropriate variable name
 // if parent_id is not null, then follow it up.
 // we'll populate an aray first, then decide where it goes in the
 $thecategory_id = $row['v_categories_id'];
 $fullcategory = ''; // this will have the entire category stack for froogle
 for( $categorylevel=1; $categorylevel<$max_categories+1; $categorylevel++){
  if ($thecategory_id){
   $sql2 = "SELECT categories_name
    FROM ".TABLE_CATEGORIES_DESCRIPTION."
    WHERE
     categories_id = " . $thecategory_id . " AND
     language_id = " . $epdlanguage_id;

   $result2 = tep_db_query($sql2);
   $row2 =  tep_db_fetch_array($result2);
   // only set it if we found something
   $temprow['v_categories_name_' . $categorylevel] = $row2['categories_name'];
   // now get the parent ID if there was one
   $sql3 = "SELECT parent_id
    FROM ".TABLE_CATEGORIES."
    WHERE
     categories_id = " . $thecategory_id;
   $result3 = tep_db_query($sql3);
   $row3 =  tep_db_fetch_array($result3);
   $theparent_id = $row3['parent_id'];
   if ($theparent_id != ''){
    // there was a parent ID, lets set thecategoryid to get the next level
    $thecategory_id = $theparent_id;
   } else {
    // we have found the top level category for this item,
    $thecategory_id = false;
   }
   //$fullcategory .= " > " . $row2['categories_name'];
   $fullcategory = $row2['categories_name'] . " > " . $fullcategory;
  } else {
   $temprow['v_categories_name_' . $categorylevel] = '';
  }
 }
 // now trim off the last ">" from the category stack
 $row['v_category_fullpath'] = substr($fullcategory,0,strlen($fullcategory)-3);

 // temprow has the old style low to high level categories.
 $newlevel = 1;
 // let's turn them into high to low level categories
 for( $categorylevel=6; $categorylevel>0; $categorylevel--){
  if ($temprow['v_categories_name_' . $categorylevel] != ''){
   $row['v_categories_name_' . $newlevel++] = $temprow['v_categories_name_' . $categorylevel];
  }
 }
 // if the filelayout says we need a manufacturers name, get it
 if (isset($filelayout['v_manufacturers_name'])){
  if ($row['v_manufacturers_id'] != ''){
   $sql2 = "SELECT manufacturers_name
    FROM ".TABLE_MANUFACTURERS."
    WHERE
    manufacturers_id = " . $row['v_manufacturers_id']
   ;
   $result2 = tep_db_query($sql2);
   $row2 =  tep_db_fetch_array($result2);
   $row['v_manufacturers_name'] = $row2['manufacturers_name'];
  }
 }


 // If you have other modules that need to be available, put them here

 // VJ product attribs begin
 if (isset($filelayout['v_attribute_options_id_1'])){
  $languages = tep_get_languages();

  $attribute_options_count = 1;
     foreach ($attribute_options_array as $attribute_options) {
   $row['v_attribute_options_id_' . $attribute_options_count]  = $attribute_options['products_options_id'];

   for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
    $lid = $languages[$i]['id'];

    $attribute_options_languages_query = "select products_options_name from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$attribute_options['products_options_id'] . "' and language_id = '" . (int)$lid . "'";

    $attribute_options_languages_values = tep_db_query($attribute_options_languages_query);

    $attribute_options_languages = tep_db_fetch_array($attribute_options_languages_values);

    $row['v_attribute_options_name_' . $attribute_options_count . '_' . $lid] = $attribute_options_languages['products_options_name'];
   }

   $attribute_values_query = "select products_options_values_id from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$attribute_options['products_options_id'] . "' order by products_options_values_id";

   $attribute_values_values = tep_db_query($attribute_values_query);

   $attribute_values_count = 1;
   while ($attribute_values = tep_db_fetch_array($attribute_values_values)) {
    $row['v_attribute_values_id_' . $attribute_options_count . '_' . $attribute_values_count]  = $attribute_values['products_options_values_id'];

    $attribute_values_price_query = "select options_values_price, price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$row['v_products_id'] . "' and options_id = '" . (int)$attribute_options['products_options_id'] . "' and options_values_id = '" . (int)$attribute_values['products_options_values_id'] . "'";

    $attribute_values_price_values = tep_db_query($attribute_values_price_query);

    $attribute_values_price = tep_db_fetch_array($attribute_values_price_values);

    $row['v_attribute_values_price_' . $attribute_options_count . '_' . $attribute_values_count]  = $attribute_values_price['price_prefix'] . $attribute_values_price['options_values_price'];

    for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
     $lid = $languages[$i]['id'];

     $attribute_values_languages_query = "select products_options_values_name from " . TABLE_PRODUCTS_OPTIONS_VALUES . " where products_options_values_id = '" . (int)$attribute_values['products_options_values_id'] . "' and language_id = '" . (int)$lid . "'";

     $attribute_values_languages_values = tep_db_query($attribute_values_languages_query);

     $attribute_values_languages = tep_db_fetch_array($attribute_values_languages_values);

     $row['v_attribute_values_name_' . $attribute_options_count . '_' . $attribute_values_count . '_' . $lid] = $attribute_values_languages['products_options_values_name'];
    }

    $attribute_values_count++;
   }

   $attribute_options_count++;
  }
 }
 // VJ product attribs end

 // this is for the separate price per customer module
 if (isset($filelayout['v_customer_price_1'])){
  $sql2 = "SELECT
    customers_group_price,
    customers_group_id
   FROM
    ".TABLE_PRODUCTS_GROUPS."
   WHERE
   products_id = " . $row['v_products_id'] . "
   ORDER BY
   customers_group_id"
  ;
  $result2 = tep_db_query($sql2);
  $ll = 1;
  $row2 =  tep_db_fetch_array($result2);
  while( $row2 ){
   $row['v_customer_group_id_' . $ll]  = $row2['customers_group_id'];
   $row['v_customer_price_' . $ll]  = $row2['customers_group_price'];
   $row2 = tep_db_fetch_array($result2);
   $ll++;
  }
 }
 if ($dltype == 'froogle'){
  // For froogle, we check the specials prices for any applicable specials, and use that price
  // by grabbing the specials id descending, we always get the most recently added special price
  // I'm checking status because I think you can turn off specials
  $sql2 = "SELECT
    specials_new_products_price
   FROM
    ".TABLE_SPECIALS."
   WHERE
   products_id = " . $row['v_products_id'] . " and
   status = 1 and
   expires_date < CURRENT_TIMESTAMP
   ORDER BY
    specials_id DESC"
  ;
  $result2 = tep_db_query($sql2);
  $ll = 1;
  $row2 =  tep_db_fetch_array($result2);
  if( $row2 ){
   // reset the products price to our special price if there is one for this product
   $row['v_products_price']  = $row2['specials_new_products_price'];
  }
 }

 //elari -
 //We check the value of tax class and title instead of the id
 //Then we add the tax to price if $price_with_tax is set to 1
 $row_tax_multiplier   = tep_get_tax_class_rate($row['v_tax_class_id']);
 $row['v_tax_class_title']  = tep_get_tax_class_title($row['v_tax_class_id']);
 $row['v_products_price']  = $row['v_products_price'] +
      ($price_with_tax * round($row['v_products_price'] * $row_tax_multiplier / 100,2));


 // Now set the status to a word the user specd in the config vars
 if ( $row['v_status'] == '1' ){
  $row['v_status'] = $active;
 } else {
  $row['v_status'] = $inactive;
 }

 // remove any bad things in the texts that could confuse EasyPopulate
 $therow = '';
 foreach( $filelayout as $key => $value ){
  //echo "The field was $key<br>";

  $thetext = $row[$key];
  // kill the carriage returns and tabs in the descriptions, they're killing me!
  $thetext = str_replace("\r",' ',$thetext);
  $thetext = str_replace("\n",' ',$thetext);
  $thetext = str_replace("\t",' ',$thetext);
  // and put the text into the output separated by tabs
  $therow .= $thetext . $separator;
 }

 // lop off the trailing tab, then append the end of row indicator
 $therow = substr($therow,0,strlen($therow)-1) . $endofrow;

 $filestring .= $therow;
 // grab the next row from the db
 $row =  tep_db_fetch_array($result);
}

#$EXPORT_TIME=time();
$EXPORT_TIME = strftime('%Y%b%d-%H%I');
if ($dltype=="froogle"){
 $EXPORT_TIME = "FroogleEP" . $EXPORT_TIME;
} else {
 $EXPORT_TIME = "EP" . $EXPORT_TIME;
}

// now either stream it to them or put it in the temp directory
if ($download == 'stream'){
 //*******************************
 // STREAM FILE
 //*******************************
 header("Content-type: application/vnd.ms-excel");
 header("Content-disposition: attachment; filename=$EXPORT_TIME.txt");
 header("Pragma: no-cache");
 header("Expires: 0");
 echo $filestring;
 die();
} else {
 //*******************************
 // PUT FILE IN TEMP DIR
 //*******************************
 $tmpfname = DIR_FS_DOCUMENT_ROOT . $tempdir . "$EXPORT_TIME.txt";
 //unlink($tmpfname);
 $fp = fopen( $tmpfname, "w+");
 fwrite($fp, $filestring);
 fclose($fp);
 echo "You can get your file in the Tools/Files under " . $tempdir . "EP" . $EXPORT_TIME . ".txt";
 die();
}
}   // *** END *** download section
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<table border="0" width="100%" cellspacing="2" cellpadding="2">
 <tr>
   <td width="<?php echo BOX_WIDTH; ?>" valign="top" height="27">
     <table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
       <?php require(DIR_WS_INCLUDES . 'column_left.php');?>
     </table>
   </td>
   <td class="pageHeading" valign="top"><?php
echo "Easy Populate $curver - Default Language : " . $epdlanguage_name . '(' . $epdlanguage_id .')';
?>
     <p class="smallText">
       <?php

if ($localfile or (is_uploaded_file($usrfl) && $split==0)) {
//*******************************
//*******************************
// UPLOAD AND INSERT FILE
//*******************************
//*******************************

if ($usrfl){
 // move the file to where we can work with it
 $file = tep_get_uploaded_file('usrfl');
 if (is_uploaded_file($file['tmp_name'])) {
  tep_copy_uploaded_file($file, DIR_FS_DOCUMENT_ROOT . $tempdir);
 }

 echo "<p class=smallText>";
 echo "File uploaded. <br>";
 echo "Temporary filename: " . $usrfl . "<br>";
 echo "User filename: " . $usrfl_name . "<br>";
 echo "Size: " . $usrfl_size . "<br>";

 // get the entire file into an array
 $readed = file(DIR_FS_DOCUMENT_ROOT . $tempdir . $usrfl_name);
}
if ($localfile){
 // move the file to where we can work with it
 $file = tep_get_uploaded_file('usrfl');   $attribute_options_query = "select distinct products_options_id from " . TABLE_PRODUCTS_OPTIONS . " order by products_options_id";

  $attribute_options_values = tep_db_query($attribute_options_query);

  $attribute_options_count = 1;
  //while ($attribute_options = tep_db_fetch_array($attribute_options_values)){
 if (is_uploaded_file($file['tmp_name'])) {
  tep_copy_uploaded_file($file, DIR_FS_DOCUMENT_ROOT . $tempdir);
 }

 echo "<p class=smallText>";
 echo "Filename: " . $localfile . "<br>";

 // get the entire file into an array
 $readed = file(DIR_FS_DOCUMENT_ROOT . $tempdir . $localfile);
}

// now we string the entire thing together in case there were carriage returns in the data
$newreaded = "";
foreach ($readed as $read){
 $newreaded .= $read;
}

// now newreaded has the entire file together without the carriage returns.
// if for some reason excel put qoutes around our EOREOR, remove them then split into rows
$newreaded = str_replace('"EOREOR"', 'EOREOR', $newreaded);
$readed = explode( $separator . 'EOREOR',$newreaded);


// Now we'll populate the filelayout based on the header row.
$theheaders_array = explode( $separator, $readed[0] ); // explode the first row, it will be our filelayout
$lll = 0;
$filelayout = array();
foreach( $theheaders_array as $header ){
 $cleanheader = str_replace( '"', '', $header);
// echo "Fileheader was $header<br><br><br>";
 $filelayout[ $cleanheader ] = $lll++; //
}
unset($readed[0]); //  we don't want to process the headers with the data

// now we've got the array broken into parts by the expicit end-of-row marker.
array_walk($readed, 'walk');

}

if (is_uploaded_file($usrfl) && $split==1) {
//*******************************
//*******************************
// UPLOAD AND SPLIT FILE
//*******************************
//*******************************
// move the file to where we can work with it
$file = tep_get_uploaded_file('usrfl');
//echo "Trying to move file...";
if (is_uploaded_file($file['tmp_name'])) {
 tep_copy_uploaded_file($file, DIR_FS_DOCUMENT_ROOT . $tempdir);
}

$infp = fopen(DIR_FS_DOCUMENT_ROOT . $tempdir . $usrfl_name, "r");

//toprow has the field headers
$toprow = fgets($infp,32768);

$filecount = 1;

echo "Creating file EP_Split" . $filecount . ".txt ...  ";
$tmpfname = DIR_FS_DOCUMENT_ROOT . $tempdir . "EP_Split" . $filecount . ".txt";
$fp = fopen( $tmpfname, "w+");
fwrite($fp, $toprow);

$linecount = 0;
$line = fgets($infp,32768);
while ($line){
 // walking the entire file one row at a time
 // but a line is not necessarily a complete row, we need to split on rows that have "EOREOR" at the end
 $line = str_replace('"EOREOR"', 'EOREOR', $line);
 fwrite($fp, $line);
 if (strpos($line, 'EOREOR')){
  // we found the end of a line of data, store it
  $linecount++; // increment our line counter
  if ($linecount >= $maxrecs){
   echo "Added $linecount records and closing file... <Br>";
   $linecount = 0; // reset our line counter
   // close the existing file and open another;
   fclose($fp);
   // increment filecount
   $filecount++;
   echo "Creating file EP_Split" . $filecount . ".txt ...  ";
   $tmpfname = DIR_FS_DOCUMENT_ROOT . $tempdir . "EP_Split" . $filecount . ".txt";
   //Open next file name
   $fp = fopen( $tmpfname, "w+");
   fwrite($fp, $toprow);
  }
 }
 $line=fgets($infp,32768);
}
echo "Added $linecount records and closing file...<br><br> ";
fclose($fp);
fclose($infp);

echo "You can download your split files in the Tools/Files under /catalog/temp/";

}

?>
     </p>
     <table width="75%" border="2">
       <tr>
         <td width="75%">
           <FORM ENCTYPE="multipart/form-data" ACTION="easypopulate.php?split=0" METHOD=POST>
             <p>
             <div align = "left">
               <p><b>Upload EP File</b></p>
               <p>
                 <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000000">
               <p></p>
               <input name="usrfl" type="file" size="50">
               <input type="submit" name="buttoninsert" value="Insert into db">
               <br>
               </p>
             </div>
           </form>
           <FORM ENCTYPE="multipart/form-data" ACTION="easypopulate.php?split=1" METHOD=POST>
             <p>
             <div align = "left">
               <p><b>Split EP File</b></p>
               <p>
                 <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000000">
               <p></p>
               <input name="usrfl" type="file" size="50">
               <input type="submit" name="buttonsplit" value="Split file">
               <br>
               </p>
             </div>
           </form>
           <FORM ENCTYPE="multipart/form-data" ACTION="easypopulate.php" METHOD=POST>
             <p>
             <div align = "left">
               <p><b>Import from Temp Dir (<? echo $tempdir; ?>)</b></p>
               <p class="smallText">
                 <INPUT TYPE="text" name="localfile" size="50">
                 <input type="submit" name="buttoninsert" value="Insert into db">
                 <br>
               </p>
             </div>
           </form>
           <p><b>Download EP and Froogle Files</b></p>
           <!-- Download file links -  Add your custom fields here -->
           <a href="easypopulate.php?download=stream&dltype=full">Download <b>Complete</b> tab-delimited
           .txt file to edit</a><br>
           <a href="easypopulate.php?download=stream&dltype=priceqty">Download <b>Model/Price/Qty</b> tab-delimited
           .txt file to edit</a><br>
           <a href="easypopulate.php?download=stream&dltype=category">Download <b>Model/Category</b> tab-delimited
           .txt file to edit</a><br>
           <a href="easypopulate.php?download=stream&dltype=froogle">Download <b>Froogle</b> tab-delimited
           .txt file</a><br>
           <!-- VJ product attributes begin //-->
           <?php
 if ($products_with_attributes == true) {
?>
           <a href="easypopulate.php?download=stream&dltype=attrib">Download <b>Model/Attributes</b> tab-delimited
           .txt file</a><br>
           <?php
 }
?>
           <!-- VJ product attributes end //-->
           <p><b>Create EP and Froogle Files in Temp Dir (<? echo $tempdir; ?>)</b></p>
           <a href="easypopulate.php?download=tempfile&dltype=full">Create Complete
           tab-delimited .txt file in temp dir</a><br>
           <a href="easypopulate.php?download=tempfile&dltype=priceqty"">Create
           Model/Price/Qty tab-delimited .txt file in temp dir</a><br>
           <a href="easypopulate.php?download=tempfile&dltype=category">Create
           Model/Category tab-delimited .txt file in temp dir</a><br>
           <a href="easypopulate.php?download=tempfile&dltype=froogle">Create
           Froogle tab-delimited .txt file in temp dir</a><br>
           <!-- VJ product attributes begin //-->
           <a href="easypopulate.php?download=tempfile&dltype=attrib">Create
           Model/Attributes tab-delimited .txt file in temp dir</a><br>

           <!-- VJ product attributes end //-->
         </td>
       </tr>
     </table>
   </td>
 </tr>
</table>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<p> </p>
<p> </p>
<p><br>
</p>
</body>
</html>
<?php

function ep_get_languages() {
$languages_query = tep_db_query("select languages_id, code from " . TABLE_LANGUAGES . " order by sort_order");
// start array at one, the rest of the code expects it that way
$ll =1;
while ($ep_languages = tep_db_fetch_array($languages_query)) {
 //will be used to return language_id en language code to report in product_name_code instead of product_name_id
 $ep_languages_array[$ll++] = array(
    'id' => $ep_languages['languages_id'],
    'code' => $ep_languages['code']
    );
}
return $ep_languages_array;
};

function tep_get_tax_class_rate($tax_class_id) {
$tax_multiplier = 0;
$tax_query = tep_db_query("select SUM(tax_rate) as tax_rate from " . TABLE_TAX_RATES . " WHERE  tax_class_id = '" . $tax_class_id . "' GROUP BY tax_priority");
if (tep_db_num_rows($tax_query)) {
 while ($tax = tep_db_fetch_array($tax_query)) {
  $tax_multiplier += $tax['tax_rate'];
 }
}
return $tax_multiplier;
};

function tep_get_tax_title_class_id($tax_class_title) {
$classes_query = tep_db_query("select tax_class_id from " . TABLE_TAX_CLASS . " WHERE tax_class_title = '" . $tax_class_title . "'" );
$tax_class_array = tep_db_fetch_array($classes_query);
$tax_class_id = $tax_class_array['tax_class_id'];
return $tax_class_id;
}

function print_el( $item2 ) {
echo " | " . substr(strip_tags($item2), 0, 10);
};

function print_el1( $item2 ) {
echo sprintf("| %'.4s ", substr(strip_tags($item2), 0, 80));
};
function ep_create_filelayout($dltype){
global $filelayout, $filelayout_count, $filelayout_sql, $langcode, $fileheaders, $max_categories;
// depending on the type of the download the user wanted, create a file layout for it.
$fieldmap = array(); // default to no mapping to change internal field names to external.
switch( $dltype ){
case 'full':
 // The file layout is dynamically made depending on the number of languages
 $iii = 0;
 $filelayout = array(
  'v_products_model'  => $iii++,
  'v_products_image'  => $iii++,
  );

 foreach ($langcode as $key => $lang){
  $l_id = $lang['id'];
  // uncomment the head_title, head_desc, and head_keywords to use
  // Linda's Header Tag Controller 2.0
  //echo $langcode['id'] . $langcode['code'];
  $filelayout  = array_merge($filelayout , array(
    'v_products_name_' . $l_id  => $iii++,
    'v_products_description_' . $l_id => $iii++,
    'v_products_url_' . $l_id => $iii++,
    'v_products_head_title_tag_'.$l_id => $iii++,
    'v_products_head_desc_tag_'.$l_id => $iii++,
    'v_products_head_keywords_tag_'.$l_id => $iii++,
    ));
 }


 // uncomment the customer_price and customer_group to support multi-price per product contrib

   // VJ product attribs begin
    $header_array = array(
  'v_products_price'  => $iii++,
  'v_products_weight'  => $iii++,
  'v_date_avail'   => $iii++,
  'v_date_added'   => $iii++,
  'v_products_quantity' => $iii++,
  'v_dvd_star'   => $iii++,
  'v_dvd_director'  => $iii++,
  'v_dvd_release_date' => $iii++,
  'v_dvd_type'   => $iii++,
  'v_dvd_features'  => $iii++,
  'v_dvd_studio'   => $iii++,
  'v_dvd_categories'  => $iii++,
  'v_dvd_movie_length' => $iii++,
  'v_dvd_also_available' => $iii++,
  'v_products_bimage'  => $iii++,
  'v_products_subimage1' => $iii++,
  'v_products_bsubimage1' => $iii++,
  'v_products_subimage2' => $iii++,
  'v_products_bsubimage2' => $iii++,
  'v_products_subimage3' => $iii++,
  'v_products_bsubimage3' => $iii++,
  'v_products_subimage4' => $iii++,
  'v_products_bsubimage4' => $iii++,
  'v_products_subimage5' => $iii++,
  'v_products_bsubimage5' => $iii++,
  'v_products_subimage6' => $iii++,
  'v_products_bsubimage6' => $iii++,
  );

  $languages = tep_get_languages();

     global $attribute_options_array;

     $attribute_options_count = 1;
     foreach ($attribute_options_array as $attribute_options_values) {
   $key1 = 'v_attribute_options_id_' . $attribute_options_count;
   $header_array[$key1] = $iii++;

       for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
         $l_id = $languages[$i]['id'];

    $key2 = 'v_attribute_options_name_' . $attribute_options_count . '_' . $l_id;
    $header_array[$key2] = $iii++;
   }

   $attribute_values_query = "select products_options_values_id  from " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " where products_options_id = '" . (int)$attribute_options_values['products_options_id'] . "' order by products_options_values_id";

   $attribute_values_values = tep_db_query($attribute_values_query);

   $attribute_values_count = 1;
   while ($attribute_values = tep_db_fetch_array($attribute_values_values)) {
    $key3 = 'v_attribute_values_id_' . $attribute_options_count . '_' . $attribute_values_count;
    $header_array[$key3] = $iii++;

    $key4 = 'v_attribute_values_price_' . $attribute_options_count . '_' . $attribute_values_count;
    $header_array[$key4] = $iii++;

    for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
     $l_id = $languages[$i]['id'];

     $key5 = 'v_attribute_values_name_' . $attribute_options_count . '_' . $attribute_values_count . '_' . $l_id;
     $header_array[$key5] = $iii++;
    }

    $attribute_values_count++;
   }

   $attribute_options_count++;
    }

   $header_array['v_manufacturers_name'] = $iii++;

   $filelayout = array_merge($filelayout, $header_array);
   // VJ product attribs end

 // build the categories name section of the array based on the number of categores the user wants to have
 for($i=1;$i<$max_categories+1;$i++){
  $filelayout = array_merge($filelayout, array('v_categories_name_' . $i => $iii++));
 }

 $filelayout = array_merge($filelayout, array(
  'v_tax_class_title'  => $iii++,
  'v_status'   => $iii++,
  ));

 $filelayout_sql = "SELECT
  p.products_id as v_products_id,
  p.products_model as v_products_model,
  p.products_image as v_products_image,
  p.products_price as v_products_price,
  p.products_weight as v_products_weight,
  p.dvd_star as v_dvd_star,
  p.dvd_director as v_dvd_director,
  p.dvd_release_date as v_dvd_release_date,
  p.dvd_type as v_dvd_type,
  p.dvd_features as v_dvd_features,
  p.dvd_studio as v_dvd_studio,
  p.dvd_categories as v_dvd_categories,
  p.dvd_movie_length as v_dvd_movie_length,
  p.dvd_also_available as v_dvd_also_available,
  p.products_bimage as v_products_bimage,
  p.products_subimage1 as v_products_subimage1,
  p.products_bsubimage1 as v_products_bsubimage1,
  p.products_subimage2 as v_products_subimage2,
  p.products_bsubimage2 as v_products_bsubimage2,
  p.products_subimage3 as v_products_subimage3,
  p.products_bsubimage3 as v_products_bsubimage3,
  p.products_subimage4 as v_products_subimage4,
  p.products_bsubimage4 as v_products_bsubimage4,
  p.products_subimage5 as v_products_subimage5,
  p.products_bsubimage5 as v_products_bsubimage5,
  p.products_subimage6 as v_products_subimage6,
  p.products_bsubimage6 as v_products_bsubimage6,
  p.products_date_available as v_date_avail,
  p.products_date_added as v_date_added,
  p.products_tax_class_id as v_tax_class_id,
  p.products_quantity as v_products_quantity,
  p.manufacturers_id as v_manufacturers_id,
  subc.categories_id as v_categories_id,
  p.products_status as v_status
  FROM
  ".TABLE_PRODUCTS." as p,
  ".TABLE_CATEGORIES." as subc,
  ".TABLE_PRODUCTS_TO_CATEGORIES." as ptoc
  WHERE
  p.products_id = ptoc.products_id AND
  ptoc.categories_id = subc.categories_id
  ";

 break;
case 'priceqty':
 $iii = 0;
 // uncomment the customer_price and customer_group to support multi-price per product contrib
 $filelayout = array(
  'v_products_model'  => $iii++,
  'v_products_price'  => $iii++,
  'v_products_quantity'  => $iii++,
  #'v_customer_price_1'  => $iii++,
  #'v_customer_group_id_1'  => $iii++,
  #'v_customer_price_2'  => $iii++,
  #'v_customer_group_id_2'  => $iii++,
  #'v_customer_price_3'  => $iii++,
  #'v_customer_group_id_3'  => $iii++,
  #'v_customer_price_4'  => $iii++,
  #'v_customer_group_id_4'  => $iii++,
   );
 $filelayout_sql = "SELECT
  p.products_id as v_products_id,
  p.products_model as v_products_model,
  p.products_price as v_products_price,
  p.products_quantity as v_products_quantity
  FROM
  ".TABLE_PRODUCTS." as p
  ";

 break;

case 'category':
 // The file layout is dynamically made depending on the number of languages
 $iii = 0;
 $filelayout = array(
  'v_products_model'  => $iii++,
 );

 // build the categories name section of the array based on the number of categores the user wants to have
 for($i=1;$i<$max_categories+1;$i++){
  $filelayout = array_merge($filelayout, array('v_categories_name_' . $i => $iii++));
 }


 $filelayout_sql = "SELECT
  p.products_id as v_products_id,
  p.products_model as v_products_model,
  subc.categories_id as v_categories_id
  FROM
  ".TABLE_PRODUCTS." as p,
  ".TABLE_CATEGORIES." as subc,
  ".TABLE_PRODUCTS_TO_CATEGORIES." as ptoc  
  WHERE
  p.products_id = ptoc.products_id AND
  ptoc.categories_id = subc.categories_id
  ";
 break;

case 'froogle':
 // this is going to be a little interesting because we need
 // a way to map from internal names to external names
 //
 // Before it didn't matter, but with froogle needing particular hea
John Oligario

Knowledge Base   Contributions

#8   theseason

theseason
  • Members
  • 36 posts

Posted 20 April 2004 - 04:57

I thought I was doing well until I tried to upload my latest EP file back into the database. I got an error (see below)

File uploaded.
Temporary filename: /tmp/phpRSjqJJ
User filename: EP2004Apr19-1403.txt
Size: 26035
| CA-0024 | gt_interac | gt_interac | gt_interac | Calla Lill | Oil pastel | | | | | | | | 25 | 8 | 4/19/04 12 | 4/19/04 12 | 1 | 1 | Color | Farbe | Color | 2 | Size | Größe | Talla | 3 | Model | Modell | Modelo | 5 | | Value | Value Ausg | Value | 6 | | Premium | Premium Au | Premium | 7 | | Deluxe | Deluxe Aus | Deluxe | 8 | | PS/2 | PS/2 Ansch | PS/2 | 9 | | USB | USB Anschl | USB | 4 | Memory | Speicher | Memoria | 1 | | 4 mb | 4 MB | 4 mb | 2 | | 8 mb | 8 MB | 8 mb | 3 | | 16 mb | 16 MB | 16 mb | 4 | | 32 mb | 32 MB | 32 mb | 5 | Version | Version | Version | 10 | | Download: | Download: | Download: | 13 | | Box: Windo | Box: Windo | Box: Windo | The Bridge | Participat | $25 and un | | Taxable Go | Active Updated

1064 - You have an error in your SQL syntax near '" ,products_mimage="gt_interactive/disciples.gif" ,products_bimage="gt_interacti' at line 6
UPDATE products SET products_price="25" ,products_image="gt_interactive/disciples.gif", products_weight="8", products_tax_class_id="1", products_date_available= "4/19/04 12:38", products_date_added= "4/19/04 12:38", products_last_modified=CURRENT_TIMESTAMP , products_quantity="1" ,manufacturers_id=12 , products_status=1 WHERE (products_id = "78")" ,products_mimage="gt_interactive/disciples.gif" ,products_bimage="gt_interactive/disciples.gifUPDATE products SET products_price="25" ,products_image="gt_interactive/disciples.gif", products_weight="8", products_tax_class_id="1", products_date_available= "4/19/04 12:38", products_date_added= "4/19/04 12:38", products_last_modified=CURRENT_TIMESTAMP , products_quantity="1" ,manufacturers_id=12 , products_status=1 WHERE (products_id = "78")


Not a pretty sight. I have no idea what this means. I can download my file perfectly with the new fields. The problem happens when I try to put the new one up. I would post my easypopulate file, but it may be too big to quote.

Any ideas?

thanks

#9   Mibble

Mibble
  • Members
  • 13,404 posts

Posted 20 April 2004 - 05:05

interactive/disciples.gifUPDATE
reading the code seems this needs a space in it

to
interactive/disciples.gif UPDATE
John Oligario

Knowledge Base   Contributions

#10   esurge

esurge
  • Members
  • 102 posts

Posted 20 April 2004 - 15:26

Ashley


what did u do to get it to work

????

#11   theseason

theseason
  • Members
  • 36 posts

Posted 20 April 2004 - 16:33

OK. There are some things that are not outright addressed in the EP manual or some of the other postings.

You have to do more than just uncomment the image mod lines. You have to add references of the other images throughout the code.

I am posting the link to my modified file that works with the S,M,L image mod. Check it out.

EasyPopulate--my mod

A

#12   esurge

esurge
  • Members
  • 102 posts

Posted 20 April 2004 - 18:34

You are the best Ashley. I have got it working thanks to you . WOOOOHOOOOO. Thank you so much.

I dont know if u have the same problems but i am using this symble in teh categories "

EP Does not like it. It does matter if it is in the description but if it is in the categoreis, NO WAY

Any idea. If any thing I will change it to the word inch

example

WOOD > MDF > 1/4"
WOOD > MDF > 1"
WOOD > MDF > 2"

#13   Mibble

Mibble
  • Members
  • 13,404 posts

Posted 20 April 2004 - 18:39

use a \ before the " and they will display
John Oligario

Knowledge Base   Contributions

#14   esurge

esurge
  • Members
  • 102 posts

Posted 20 April 2004 - 20:00

Hello

Ok

do u know what this is.

EP is not looking at the description for no reason.

1064 - You have an error in your SQL syntax near 's down. Its a feast for the eyes and operation is easier than ever before with t' at line 3

???????

I have tunred it off at the easypopulate file


Jazz

#15   theseason

theseason
  • Members
  • 36 posts

Posted 20 April 2004 - 22:24

Glad I could help. What a nightmare. Thanks for the inch mark question. I will need to use that on my project.

Unfortunately, I have no ideas for your new dillema. I hope someone can post a solution.

A

#16   Mibble

Mibble
  • Members
  • 13,404 posts

Posted 20 April 2004 - 23:17

without seeing the line with the error, kind of hard to help fix the syntax error
John Oligario

Knowledge Base   Contributions

#17   esurge

esurge
  • Members
  • 102 posts

Posted 21 April 2004 - 09:30

OK.


EP is not starting to look at the content of the description.

Beofre it would ignore everything??????


So this menas that is cant use certain thing within the decription

Any know.

#18   esurge

esurge
  • Members
  • 102 posts

Posted 21 April 2004 - 10:42

Here si thefull error i get

1064 - You have an error in your SQL syntax near 's IP Bus headunits, and plays CD's, CD-R's, and CD-RW's. It remembers the name o' at line 3

UPDATE products_description SET products_name='12 Disc CD Changer', products_description='This 6-disc CD changer is compatible with Pioneer's IP Bus headunits, and plays CD's, CD-R's, and CD-RW's. It remembers the name of the last 100 CD's it's played, as well as any of your special track programming. Mount it in a variety of locations and angles in your vehicle, and control it via your headunit and a remote control.', products_url='' WHERE products_id = '262' AND language_id = '1'

Jazz

This is very strange

#19   esurge

esurge
  • Members
  • 102 posts

Posted 21 April 2004 - 11:07

Right im getting there.

With oout the BIMAGE mod it will upload the description with no problems. When the mod ison no joy. I get a SQL Sytx error..............

Thus i belive tha the database is searching throught the description text. Is there any marker I can put before the text to tell the database to ignore this text or is there another solution

Jazz

#20   esurge

esurge
  • Members
  • 102 posts

Posted 21 April 2004 - 11:29

Hello Ashley

Did u have any syntx errors within you description box.


Jazz