function __construct()
 {
     parent::__construct();
     $this->providerName = 'GraziaShop';
     $this->providerNameL = 'GraziaShop';
     $this->fileformat = 'csv';
     $this->fields = array();
     $this->fieldDelimiter = ",";
     //Create some attributes (Mapping 3.0)
     //GraziaShop sequence matters
     $this->addAttributeMapping('sku', 'product_code', true, true);
     //SKU, 5-100 chars
     $this->addAttributeMapping('item_group_id', 'group_code', true, true);
     //grouping sku
     $this->addAttributeMapping('', 'barcode', true);
     $this->addAttributeMapping('', 'mpn', true);
     //reserved for future use
     $this->addAttributeMapping('brand', 'brand', true, true);
     $this->addAttributeMapping('current_category', 'category', true, true);
     $this->addAttributeMapping('title', 'title', true, true);
     //5 - 200 chars
     $this->addAttributeMapping('description', 'description', true, true);
     $this->addAttributeMapping('', 'material', false);
     //100% cotton
     $this->addAttributeMapping('', 'pattern', false);
     $this->addAttributeMapping('', 'care', false);
     //hand wash only
     $this->addAttributeMapping('feature_imgurl', 'image_link', true);
     $this->addAttributeMapping('additional_image_links', 'additional_image_links', true, false);
     $this->addAttributeMapping('', 'gender');
     //reserved for future use
     $this->addAttributeMapping('', 'age_group');
     //reserved for future use
     $this->addAttributeMapping('', 'product_type');
     //reserved for future use
     $this->addAttributeMapping('', 'availability');
     //reserved for future use
     $this->addAttributeMapping('sale_price', 'sale_price', true, true);
     $this->addAttributeMapping('sale_price_effective_date', 'sale_price_effective_date', true, false);
     $this->addAttributeMapping('', 'condition');
     //reserved for future use
     $this->addAttributeMapping('', 'shipping_weight');
     //reserved for future use
     $this->addAttributeMapping('', 'colour', true, true);
     $this->addAttributeMapping('', 'size', true, true);
     $this->addAttributeMapping('', 'fit');
     //Slim fit
     $this->addAttributeMapping('regular_price', 'price', true, true);
     $this->addAttributeMapping('currency', 'currency', true, true);
     $this->addAttributeMapping('stock_quantity', 'stock', true, true);
     $this->addAttributeMapping('', 'season');
     //reserved for future use
     $this->addAttributeMapping('language', 'language', true, true);
     //List the product price in US dollars, without a $ sign, commas, text, or quotation marks.
     $this->addRule('price_rounding', 'pricerounding');
     $this->addRule('description', 'description', array('max_length=6500', 'strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
     $this->addRule('csv_standard', 'CSVStandard', array('title', '200'));
     //200 title char limit
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Bing';
     $this->providerNameL = 'bing';
     $this->fileformat = 'txt';
     $this->fields = array();
     $this->fieldDelimiter = "\t";
     $this->stripHTML = true;
     //Create some attributes (Mapping 3.0)
     //required
     $this->addAttributeMapping('id', 'MPID', false, true);
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('brand', 'Brand', false, true);
     $this->addAttributeMapping('link', 'Link', false, true);
     $this->addAttributeMapping('regular_price', 'Price', false, true);
     //base price
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('feature_imgurl', 'Image_link', false, true);
     $this->addAttributeMapping('', 'SellerName', false, false);
     //Only required for aggregators - not accepted from direct merchants
     //optional - offer identification
     $this->addAttributeMapping('', 'MPN');
     $this->addAttributeMapping('', 'UPC');
     $this->addAttributeMapping('', 'ISBN');
     $this->addAttributeMapping('sku', 'SKU');
     $this->addAttributeMapping('', 'GTIN');
     //optional - item identification
     $this->addAttributeMapping('availability', 'Availability');
     $this->addAttributeMapping('current_category', 'B_Category');
     //desired bing category
     $this->addAttributeMapping('condition', 'Condition');
     $this->addAttributeMapping('', 'Expiration_date');
     $this->addAttributeMapping('', 'Multippack');
     $this->addAttributeMapping('', 'Product_type');
     //optional - apparel products
     $this->addAttributeMapping('', 'Gender');
     $this->addAttributeMapping('', 'Age_group');
     //valid values: Newborn, Infant, Toddler, Kid, Adult
     $this->addAttributeMapping('color', 'Color');
     $this->addAttributeMapping('size', 'Size');
     //optional - product variants
     $this->addAttributeMapping('item_group_id', 'Item_group_id');
     $this->addAttributeMapping('', 'Material');
     $this->addAttributeMapping('', 'Pattern');
     //optional - bing attributes
     $this->addAttributeMapping('', 'Bingads_grouping');
     $this->addAttributeMapping('', 'Bingads_label');
     $this->addAttributeMapping('', 'Bingads_redirect');
     //optional - sales and promotions
     //if ($this->bingForcePriceDiscount)
     $this->addAttributeMapping('sale_price', 'Sale_price');
     $this->addAttributeMapping('', 'Sale_price_effective_date');
     $this->addRule('description', 'description', array('max_length=5000', 'strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('title', '150'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     $this->providerName = 'PriceGrabber';
     $this->providerNameL = 'pricegrabber';
     $this->fileformat = 'csv';
     $this->fieldDelimiter = ",";
     $this->fields = array();
     parent::__construct();
     //general information
     $this->addAttributeMapping('sku', 'Retsku', true, true);
     $this->addAttributeMapping('item_group_id', 'Parent Retsku', true);
     $this->addAttributeMapping('title', 'Product Title', true, true);
     $this->addAttributeMapping('description', 'Detailed Description', true, true);
     //1500 chars max
     $this->addAttributeMapping('current_category', 'Categorization', true, true);
     $this->addAttributeMapping('local_category', 'Merchant Categorization', true, true);
     $this->addAttributeMapping('link', 'Product URL', true, true);
     $this->addAttributeMapping('feature_imgurl', 'Primary Image URL', true, true);
     for ($i = 1; $i <= 10; $i++) {
         $this->addAttributeMapping('additional_images' . $i, 'Additional Image URL ' . $i, true, false);
     }
     //up to 10
     $this->addAttributeMapping('price', 'Selling Price', true);
     $this->addAttributeMapping('regular_price', 'Regular Price', true);
     $this->addAttributeMapping('condition', 'Condition', true);
     $this->addAttributeMapping('stock_status', 'Availability', true);
     //
     $this->addAttributeMapping('', 'Video URL', true);
     //additional product information
     $this->addAttributeMapping('brand', 'Manufacturer Name', true, true);
     //1 of 2 required
     $this->addAttributeMapping('', 'Manufacturer Part Number', true, true);
     $this->addAttributeMapping('', 'GTIN (UPC / EAN / ISBN)', true, true);
     //attribute information
     $this->addAttributeMapping('', 'Color', true);
     $this->addAttributeMapping('', 'Size', true);
     $this->addAttributeMapping('', 'Material', true);
     $this->addAttributeMapping('', 'Pattern', true);
     $this->addAttributeMapping('', 'Gender', true);
     $this->addAttributeMapping('', 'Age', true);
     //mature
     $this->addAttributeMapping('', 'Mature', true);
     //merchant multipacks & bundles
     $this->addAttributeMapping('', 'Parent UPC', true);
     $this->addAttributeMapping('', 'Multpack (Bulk Quantity)', true);
     //shipping information
     $this->addAttributeMapping('', 'Shipping Cost', true);
     $this->addAttributeMapping('', 'Weight', true);
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('description', 'description', array('max_length=1500', 'strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('title', '100'));
     //100 char limit for pricegrabber titles
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     global $pfcore;
     $this->providerName = 'Productlisttxt';
     $this->providerNameL = 'productlisttxt';
     $this->fileformat = 'txt';
     $this->stripHTML = true;
     //$this->addAttributeMapping('description', 'description', true);
     $this->addAttributeMapping('local_category', 'local_category', true);
     //if ($pfcore->callSuffix == 'W')
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'RakutenNewSku';
     $this->providerNameL = 'rakutennewsku';
     $this->fileformat = 'txt';
     $this->fieldDelimiter = "\t";
     $this->fields = array();
     //$this->fields = array('Seller-id', 'gtin', 'mfg-name', 'mfg-part-number', 'Seller-sku', 'title', 'description', 'main-image', 'additional-images', 'weight', 'category-id', 'product-set-id', 'listing-price');
     $this->addAttributeMapping('seller_id', 'seller-id', true, true);
     //assigned by Rakuten.com Shopping
     $this->addAttributeMapping('', 'gtin', true, true);
     //upc or ean
     $this->addAttributeMapping('', 'isbn');
     $this->addAttributeMapping('brand', 'mfg-name', true, true);
     $this->addAttributeMapping('', 'mfg-part-number', true, true);
     //may selet id or sku
     $this->addAttributeMapping('', 'asin');
     $this->addAttributeMapping('sku', 'seller-sku', true, true);
     //seller-sku must be unique in the feed
     $this->addAttributeMapping('title', 'title', true, true);
     $this->addAttributeMapping('description', 'description', true, true);
     $this->addAttributeMapping('feature_imgurl', 'main-image', true, true);
     $this->addAttributeMapping('additional-images', 'additional-images');
     $this->addAttributeMapping('weight', 'weight', true, true);
     $this->addAttributeMapping('', 'features', true);
     $this->addAttributeMapping('price', 'listing-price', true, true);
     $this->addAttributeMapping('price', 'msrp', true);
     $this->addAttributeMapping('current_category', 'category-id', true);
     $this->addAttributeMapping('', 'keywords', true);
     //separated by |
     $this->addAttributeMapping('item_group_id', 'product-set-id');
     //user may add more attributes via mapAttribute attLocal to attributeName
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     $this->addRule('description', 'description', array('max_length=8000', 'strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
     $this->addRule('csv_standard', 'CSVStandard', array('title', '100'));
     //title char limit
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Shopzilla';
     $this->providerNameL = 'shopzilla';
     $this->fileformat = 'csv';
     $this->fieldDelimiter = ",";
     $this->fields = array();
     //required
     $this->addAttributeMapping('id', 'Unique ID', true, true);
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('curent_category', 'Category', true, true);
     $this->addAttributeMapping('link', 'Product URL', true, true);
     $this->addAttributeMapping('feature_imgurl', 'Image URL', true, true);
     $this->addAttributeMapping('condition', 'Condition', true, true);
     $this->addAttributeMapping('stock_status', 'Availability', true, true);
     $this->addAttributeMapping('price', 'Current Price', true, true);
     //optional
     $this->addAttributeMapping('additional_images', 'Additional Image URL', true);
     $this->addAttributeMapping('item_group_id', 'Item Group ID');
     $this->addAttributeMapping('regular_price', 'Original Price', true);
     $this->addAttributeMapping('weight', 'Ship Weight');
     $this->addAttributeMapping('brand', 'Brand', true);
     $this->addAttributeMapping('', 'GTIN', true);
     $this->addAttributeMapping('', 'MPN', true);
     $this->addAttributeMapping('', 'Gender', true);
     $this->addAttributeMapping('', 'Age Group', true);
     $this->addAttributeMapping('', 'Size', true);
     $this->addAttributeMapping('', 'Color', true);
     $this->addAttributeMapping('', 'Material', true);
     $this->addAttributeMapping('', 'Pattern', true);
     $this->addAttributeMapping('', 'Bid', true);
     $this->addAttributeMapping('', 'Promo Text', true);
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     //Description and title: escape any quotes
     $this->addRule('csv_standard', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Webgains';
     $this->providerNameL = 'Webgains';
     $this->fileformat = 'csv';
     $this->fieldDelimiter = ",";
     $this->fields = array();
     //Mandatory Fields
     $this->addAttributeMapping('title', 'Name', true, true);
     //name of the product
     $this->addAttributeMapping('link', 'Deeplink', true, true);
     //URL where the product is located on your website
     $this->addAttributeMapping('local_category', 'Category', true, true);
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category
     $this->addAttributeMapping('price', 'Price', true, true);
     $this->addAttributeMapping('sku', 'ProductID', true, true);
     //unique SKU or woo id..
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('feature_imgurl', 'Image_URL', true, true);
     $this->addAttributeMapping('Delivery_time', 'Delivery_time', true, true);
     //default
     $this->addAttributeMapping('Delivery_cost', 'Delivery_cost', true, true);
     //default
     //Non-mandatory fields
     $this->addAttributeMapping('', 'Extra_price_field');
     $this->addAttributeMapping('', 'Thumbnail_image_URL');
     $this->addAttributeMapping('', 'Manufacturer');
     $this->addAttributeMapping('brand', 'Brand');
     $this->addAttributeMapping('', 'Related_products_IDs');
     $this->addAttributeMapping('', 'Promotions');
     $this->addAttributeMapping('stock_status', 'Availability');
     $this->addAttributeMapping('', 'Best_sellers');
     //integer
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     //Description and title: escape any quotes
     $this->addRule('csv_standard', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Rakuten';
     $this->providerNameL = 'rakuten';
     $this->fileformat = 'txt';
     $this->fieldDelimiter = "\t";
     $this->fields = array();
     //$this->fields = array('Seller-id', 'gtin', 'mfg-name', 'mfg-part-number', 'Seller-sku', 'title', 'description', 'main-image', 'additional-images', 'weight', 'category-id', 'product-set-id', 'listing-price');
     $this->addAttributeMapping('ListingId', 'ListingId');
     //assigned by Rakuten.com Shopping
     $this->addAttributeMapping('', 'ProductId', true, true);
     $this->addAttributeMapping('ProductIdType', 'ProductIdType', true, true);
     //0,1,2,3
     $this->addAttributeMapping('condition', 'ItemCondition', true, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     //Seller-sku must be unique in the feed
     $this->addAttributeMapping('', 'MAP');
     $this->addAttributeMapping('', 'MAPType');
     $this->addAttributeMapping('stock_quantity', 'Quantity', true, true);
     $this->addAttributeMapping('OfferExpeditedShipping', 'OfferExpeditedShipping', true, true);
     $this->addAttributeMapping('description_short', 'Description', true);
     //describes the CONDITION of the item
     $this->addAttributeMapping('', 'ShippingRateStandard');
     $this->addAttributeMapping('', 'ShippingRateExpedited');
     $this->addAttributeMapping('', 'ShippingLeadTime');
     $this->addAttributeMapping('', 'OfferTwoDayShipping');
     $this->addAttributeMapping('', 'ShippingRateTwoDay');
     $this->addAttributeMapping('', 'OfferOneDayShipping');
     $this->addAttributeMapping('', 'ShippingRateOneDay');
     $this->addAttributeMapping('', 'OfferLocalDeliveryShippingRates');
     $this->addAttributeMapping('sku', 'ReferenceId', true, true);
     //unique product id assigned to the product by you
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     //escape any quotes
     $this->addRule('csv_standard', 'CSVStandard', array('description_short', '250'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'GoDataFeedCSV';
     $this->providerNameL = 'godatafeedcsv';
     $this->fileformat = 'csv';
     $this->fields = array();
     $this->fieldDelimiter = ",";
     //Create some attributes (Mapping 3.0)
     //Required
     $this->addAttributeMapping('id', 'UniqueID', true, true);
     $this->addAttributeMapping('title', 'Name', true, true);
     //product name (15-70 chars)
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('regular_price', 'Price', true, true);
     $this->addAttributeMapping('local_category', 'Merchant Category', true, true);
     $this->addAttributeMapping('link', 'URL', true, true);
     //begin with http://
     $this->addAttributeMapping('feature_imgurl', 'ImageURL', true, true);
     //begin with http://
     $this->addAttributeMapping('', 'Manufacturer', true, true);
     $this->addAttributeMapping('sku', 'Manufacturer Part Number', true, true);
     $this->addAttributeMapping('brand', 'Brand', true, true);
     //Suggested
     $this->addAttributeMapping('', 'Keywords', true);
     //iPod,Apple iPod,iPod Video
     $this->addAttributeMapping('', 'Shipping Price', true);
     $this->addAttributeMapping('stock_quantity', 'Quantity', true);
     $this->addAttributeMapping('weight', 'Weight', true);
     $this->addAttributeMapping('condition', 'Condition', true);
     $this->addAttributeMapping('', 'UPC', true);
     $this->addAttributeMapping('sale_price', 'Sale Price', true);
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     //Description and title: escape any quotes
     $this->addRule('csv_standard', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Nextag';
     $this->providerNameL = 'nextag';
     $this->fileformat = 'csv';
     $this->fieldDelimiter = ",";
     $this->fields = array();
     //$this->fields = array("UPC", "Product Name", "Description", "Price", "Click-out URL", "Category", "Image URL", "Stock Status", "List Price");
     //identifiers: must provide one of:
     $this->addAttributeMapping('brand', 'Manufacturer', true, true);
     $this->addAttributeMapping('', 'Manufacturer Part Number', true, true);
     //one of the below unique product identifiers
     $this->addAttributeMapping('', 'UPC', true, true);
     $this->addAttributeMapping('', 'ISBN', true, true);
     $this->addAttributeMapping('', 'MUZE ID', true, true);
     $this->addAttributeMapping('', 'Distributor ID', true, true);
     //required
     $this->addAttributeMapping('title', 'Product Name', true, true);
     //manufacturer added automatically (on nextag's side)
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     $this->addAttributeMapping('link', 'Click-out URL', true, true);
     $this->addAttributeMapping('current_category', 'Category', true, true);
     //recommended
     $this->addAttributeMapping('feature_imgurl', 'Image URL');
     $this->addAttributeMapping('stock_status', 'Stock Status');
     $this->addAttributeMapping('condition', 'Product Condition');
     $this->addAttributeMapping('', 'Ground Shipping', true);
     $this->addAttributeMapping('weight', 'Weight');
     $this->addAttributeMapping('', 'Promo Text', true);
     $this->addAttributeMapping('', 'Promo Text Start', true);
     $this->addAttributeMapping('', 'Promo Text End', true);
     //Users may add more with mapAttribute command.
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('description', 'description', array('max_length=500', 'strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Houzz';
     $this->providerNameL = 'Houzz';
     $this->fileformat = 'csv';
     $this->fields = array();
     $this->fieldDelimiter = ',';
     //$this->stripHTML =
     //Create some attributes (Mapping 3.0)
     //GraziaShop sequence matters
     $this->addAttributeMapping('price', 'Price', true, true);
     $this->addAttributeMapping('sku', 'SKU', true, true);
     //SKU, 5-100 chars
     $this->addAttributeMapping('parent_sku', 'ParentSKU', true);
     //grouping sku
     $this->addAttributeMapping('', 'Parentage', true);
     $this->addAttributeMapping('', 'RelationshipType', true);
     $this->addAttributeMapping('', 'VariationTheme', true);
     $this->addAttributeMapping('n/a', 'UPC', true, true);
     //n/a allowed
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('link', 'ProductUrl', true, true);
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('current_category', 'Category', false, true);
     $this->addAttributeMapping('Style', 'Style', true, true);
     //select from valid values
     $this->addAttributeMapping('stock_quantity', 'Quantity', false, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     //Your suggested retail price. If you have a higher suggested retail price that you would like to display, enter it here.
     $this->addAttributeMapping('', 'MSRP', true, false);
     //Your standard shipping option. If your product ships via a traditional package carrier (UPS, FedEx, USPS), list the price for standard shipping here.
     $this->addAttributeMapping('', 'StandardShipping');
     $this->addAttributeMapping('', 'ExpeditedShipping');
     //The minimum number of days from the time an order is placed until it ships. You must include all days, not just business days.
     $this->addAttributeMapping('LeadTimeMin', 'LeadTimeMin', true, true);
     //The maximum number of days from the time an order is placed until it ships. You must include all days, not just business days.
     $this->addAttributeMapping('LeadTimeMax', 'LeadTimeMax', true, true);
     $this->addAttributeMapping('color', 'Color', true, false);
     $this->addAttributeMapping('size', 'Size', true, false);
     $this->addAttributeMapping('', 'Design', true, false);
     $this->addAttributeMapping('length', 'Width', true, true);
     $this->addAttributeMapping('width', 'Depth', true, true);
     $this->addAttributeMapping('height', 'Height', true, true);
     $this->addAttributeMapping('', 'Materials', true, false);
     $this->addAttributeMapping('', 'Manufacturer');
     $this->addAttributeMapping('', 'Designer', true, false);
     $this->addAttributeMapping('feature_imgurl', 'Image ', true, true);
     for ($i = 2; $i < 6; $i++) {
         //Additional images 2 - 5
         $this->addAttributeMapping('Image' . $i, 'Image' . $i, true);
     }
     $this->addAttributeMapping('', 'Bulk Item', true);
     $this->addAttributeMapping('', 'Bulk Curbside Shipping', true);
     $this->addAttributeMapping('', 'Bulk Inside Shipping', true);
     $this->addAttributeMapping('', 'Configuration', true);
     $this->addAttributeMapping('', 'Keywords', true);
     $this->addRule('price_rounding', 'pricerounding');
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     //$this->addRule('description', 'description', array('strict'));
     $this->addRule('csv_standard', 'CSVStandard', array('title', '80'));
     //Houzz product titles are limited to 80 characters
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
     //65000 max?
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'eBaySeller';
     $this->providerNameL = 'eBay Seller';
     $this->fileformat = 'csv';
     $this->fields = array();
     //$this->fields = explode(',', 'Category,Title,Link,SKU,Price,Brand,Department,UPC,Image,Description,Manufacturer,Mfr part number,Other image-url1,Other image-url2,Other image-url3,Other image-url4,Other image-url5,Other image-url6,Other image-url7,Other image-url8,Weight,Shipping Cost,Shipping Weight');
     $this->fieldDelimiter = ",";
     //Create some attributes (Mapping 3.0)
     //$this->addAttributeMapping('action', 'Action(SiteID=US|Country=US|Currency=USD|Version=745)');
     //Action(SiteID=UK|Country=GB|Currency=GBP|Version=745)
     $this->addAttributeMapping('Action', 'Action', true, true);
     //should select from list of valid values
     $this->addAttributeMapping('category', 'Category', true, true);
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('description', 'Description', true, true);
     $this->addAttributeMapping('feature_imgurl', 'PicURL', true);
     $this->addAttributeMapping('price', 'StartPrice', true, true);
     $this->addAttributeMapping('quantity', 'Quantity', true, true);
     $this->addAttributeMapping('ConditionID', 'ConditionID', true, true);
     $this->addAttributeMapping('Format', 'Format', true, true);
     //Auction, FixedPrice
     $this->addAttributeMapping('Duration', 'Duration', true, true);
     //5,7,10,GTC
     //If you use the PostalCode field, do not use the Location field.The location will be derived from the postal code value.
     //state and country where item is located
     $this->addAttributeMapping('Location', 'Location', true, true);
     $this->addAttributeMapping('PostalCode', 'PostalCode', true, true);
     //state and country where item is located
     //brand and MPN must be used together
     //$this->addAttributeMapping('', 'Product:Brand');
     //$this->addAttributeMapping('', 'Product:MPN');
     $this->addAttributeMapping('ReturnsAcceptedOption', 'ReturnsAcceptedOption', true, true);
     //ReturnsAccepted
     $this->addAttributeMapping('ShippingType', 'ShippingType', true, true);
     //Calculated, Flat, Freight
     $this->addAttributeMapping('ShippingService-1:Option', 'ShippingService-1:Option');
     //UPSGround
     $this->addAttributeMapping('ShippingService-1:Cost', 'ShippingService-1:Cost');
     //UPSGround, do not use for calculated
     //if ShippingType is Calculated:
     $this->addAttributeMapping('OriginatingPostalCode', 'OriginatingPostalCode');
     //
     $this->addAttributeMapping('WeightMajor', 'WeightMajor');
     //lbs or kg
     $this->addAttributeMapping('WeightMinor', 'WeightMinor');
     //oz or hundeths of kg
     $this->addAttributeMapping('weight_unit', 'WeightUnit');
     //lb or kg
     //max # business days you take to prepare an item for shipment to a domestic buyer once you receive a cleared payment
     $this->addAttributeMapping('DispatchTimeMax', 'DispatchTimeMax', true, true);
     $this->addAttributeMapping('PayPalAccepted', 'PayPalAccepted');
     $this->addAttributeMapping('PayPalEmailAddress', 'PayPalEmailAddress');
     //category2 available
     $this->addAttributeMapping('Category2', 'Category2', true);
     $this->addRule('description', 'description', array('strict'));
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addRule('price_rounding', 'pricerounding');
     $this->addRule('csv_standard', 'CSVStandard', array('title', '80'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Newegg';
     $this->providerNameL = 'Newegg';
     $this->fileformat = 'csv';
     $this->fieldDelimiter = ",";
     $this->fields = array();
     //item identification fields
     $this->addAttributeMapping('sku', 'Seller Part #', true, true);
     $this->addAttributeMapping('brand', 'Manufacturer', true, true);
     $this->addAttributeMapping('', 'Manufacturer Part #/ISBN', true, true);
     $this->addAttributeMapping('', 'UPC', true, true);
     //required fields
     $this->addAttributeMapping('Action', 'Action');
     //"Create Item", "Update Item","Update Item Price and Inventory", "Update/Append Image", and "Replace Image"
     $this->addAttributeMapping('stock_quantity', 'Inventory', true, true);
     $this->addAttributeMapping('item_images', 'Item Images', true);
     //separate by commas
     $this->addAttributeMapping('length', 'Item Length', true, true);
     //inches
     $this->addAttributeMapping('width', 'Item Width', true, true);
     //inches
     $this->addAttributeMapping('height', 'Item Height', true, true);
     //inches
     $this->addAttributeMapping('weight', 'Item Weight', true, true);
     //lbs
     $this->addAttributeMapping('description', 'Product Description', true, true);
     $this->addAttributeMapping('price', 'Selling Price', true, true);
     $this->addAttributeMapping('shipping', 'Shipping', true, true);
     $this->addAttributeMapping('title', 'Website Short Title', true, true);
     //optional
     $this->addAttributeMapping('', 'Activation Mark');
     //true / false
     $this->addAttributeMapping('', 'Age 18+ Verification');
     $this->addAttributeMapping('', 'CheckoutMAP');
     //true or false
     $this->addAttributeMapping('', 'Choking Hazard 1');
     $this->addAttributeMapping('', 'Choking Hazard 2');
     $this->addAttributeMapping('currency', 'Currency');
     //default USD
     $this->addAttributeMapping('condition', 'Item Condition');
     $this->addAttributeMapping('', 'Item Package');
     //retail (default) or OEM
     $this->addAttributeMapping('', 'Manufacturer Item URL');
     $this->addAttributeMapping('', 'MAP');
     //minimum advertised price
     $this->addAttributeMapping('', 'MSRP');
     $this->addAttributeMapping('', 'Prop 65');
     //Yes or No
     $this->addAttributeMapping('item_group_id', 'Related Seller Part #');
     $this->addAttributeMapping('', 'Shipping Restriction');
     $this->addAttributeMapping('', 'Website Long Title', true);
     //$this->addAttributeMapping('', 'Prop 65 - Motherboard'); //Yes or No
     //$this->addAttributeMapping('', 'Country Of Origin');
     //$this->addAttributeMapping('', 'GroupBundle');
     //MW fields specific to unlocked cell phones category
     /*
     $this->addAttributeMapping('MW3G', 'MW3G');
     $this->addAttributeMapping('MW4G', 'MW4G');
     $this->addAttributeMapping('MWAdditionalFunction', 'MWAdditionalFunction');
     $this->addAttributeMapping('MWAudio', 'MWAudio');
     $this->addAttributeMapping('MWAutoFocus', 'MWAutoFocus');
     $this->addAttributeMapping('MWBatteryCapacity', 'MWBatteryCapacity');
     $this->addAttributeMapping('MWBatteryType', 'MWBatteryType');
     $this->addAttributeMapping('MWBluetoothSupport', 'MWBluetoothSupport');
     $this->addAttributeMapping('MWBrand', 'MWBrand');
     $this->addAttributeMapping('MWCamera', 'MWCamera');
     $this->addAttributeMapping('MWCameraZoom', 'MWCameraZoom');
     $this->addAttributeMapping('MWCardCapacitySupport', 'MWCardCapacitySupport');
     $this->addAttributeMapping('MWCardSlot', 'MWCardSlot');
     $this->addAttributeMapping('MWColor', 'MWColor');
     $this->addAttributeMapping('MWCompatibleCarrierService', 'MWCompatibleCarrierService');
     $this->addAttributeMapping('MWCPU', 'MWCPU');
     $this->addAttributeMapping('MWCPUCore', 'MWCPUCore');
     $this->addAttributeMapping('MWCPUSpeed', 'MWCPUSpeed');
     $this->addAttributeMapping('MWDataTransfer', 'MWDataTransfer');
     $this->addAttributeMapping('MWDimensions', 'MWDimensions');
     $this->addAttributeMapping('MWDisclaimer', 'MWDisclaimer');
     $this->addAttributeMapping('MWDualSIM', 'MWDualSIM');
     $this->addAttributeMapping('MWEmail', 'MWEmail');
     $this->addAttributeMapping('MWExpansion', 'MWExpansion');
     $this->addAttributeMapping('MWExternalDisplayColor', 'MWExternalDisplayColor');
     $this->addAttributeMapping('MWExternalDisplayFormat', 'MWExternalDisplayFormat');
     $this->addAttributeMapping('MWExternalDisplayResolution', 'MWExternalDisplayResolution');
     $this->addAttributeMapping('MWExternalDisplaySize', 'MWExternalDisplaySize');
     $this->addAttributeMapping('MWFeatures', 'MWFeatures');
     $this->addAttributeMapping('MWFlash', 'MWFlash');
     $this->addAttributeMapping('MWGPSIntegrated', 'MWGPSIntegrated');
     $this->addAttributeMapping('MWHDVideoCapture', 'MWHDVideoCapture');
     $this->addAttributeMapping('MWHDMI', 'MWHDMI');
     $this->addAttributeMapping('MWInternalMemory', 'MWInternalMemory');		
     $this->addAttributeMapping('MWFormFactor', 'MWFormFactor');
     $this->addAttributeMapping('MWModel', 'MWModel');
     $this->addAttributeMapping('MWOperatingSystem', 'MWOperatingSystem');
     */
     $this->newegg_combo_title = false;
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('description', 'description', array('max_length=500', 'strict'));
     $this->addRule('csv_standard_title', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
     //$this->addRule('quantity','SetQty');
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'Amazon';
     $this->providerNameL = 'amazon';
     $this->fileformat = 'txt';
     $this->fields = array();
     //$this->fields = explode(',', 'Category,Title,Link,SKU,Price,Brand,Department,UPC,Image,Description,Manufacturer,Mfr part number,Other image-url1,Other image-url2,Other image-url3,Other image-url4,Other image-url5,Other image-url6,Other image-url7,Other image-url8,Weight,Shipping Cost,Shipping Weight');
     $this->fieldDelimiter = "\t";
     //Create some attributes (Mapping 3.0)
     //Required
     $this->addAttributeMapping('current_category', 'Category', true, true);
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('link', 'Link', true, true);
     $this->addAttributeMapping('sku', 'SKU', true, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     //Strongly Recommended Fields
     $this->addAttributeMapping('brand', 'Brand', false);
     $this->addAttributeMapping('department', 'Department', false);
     $this->addAttributeMapping('', 'UPC', false);
     $this->addAttributeMapping('feature_imgurl', 'Image', true);
     $this->addAttributeMapping('description', 'Description', true, false);
     $this->addAttributeMapping('manufacturer', 'Manufacturer', false, false);
     $this->addAttributeMapping('', 'Mfr part number');
     $this->addAttributeMapping('', 'Shipping Cost');
     //Recommended Fields
     $this->addAttributeMapping('', 'Age');
     //$this->addAttributeMapping('', 'Band'); //jewelry
     for ($i = 1; $i < 6; $i++) {
         $this->addAttributeMapping("bullet_point{$i}", "Bullet point{$i}");
     }
     $this->addAttributeMapping('color', 'Color');
     $this->addAttributeMapping('', 'Color and finish');
     $this->addAttributeMapping('', 'Computer CPU speed');
     $this->addAttributeMapping('', 'Computer memory size');
     $this->addAttributeMapping('', 'Digital Camera Resolution');
     $this->addAttributeMapping('', 'Display size');
     $this->addAttributeMapping('', 'Display technology');
     $this->addAttributeMapping('', 'Flash drive Size');
     $this->addAttributeMapping('', 'Flavor');
     $this->addAttributeMapping('', 'Gender');
     $this->addAttributeMapping('', 'Hard disk size');
     $this->addAttributeMapping('height', 'Height');
     //15,3 FT
     $this->addAttributeMapping('', 'Included RAM size');
     $this->addAttributeMapping('', 'Item package quantity');
     for ($i = 1; $i < 6; $i++) {
         $this->addAttributeMapping("keywords{$i}", "Keywords{$i}");
     }
     $this->addAttributeMapping('', 'League and Team');
     $this->addAttributeMapping('length', 'Length');
     $this->addAttributeMapping('', 'Material');
     $this->addAttributeMapping('', 'Maximum Age');
     $this->addAttributeMapping('', 'Memory Card type');
     $this->addAttributeMapping('', 'Minimum Age');
     $this->addAttributeMapping('', 'Model Number');
     $this->addAttributeMapping('', 'Operating System');
     $this->addAttributeMapping('', 'Optical zoom');
     for ($i = 1; $i < 9; $i++) {
         $this->addAttributeMapping("other_image_url{$i}", "Other image-url{$i}");
     }
     $this->addAttributeMapping('', 'Recommended Browse Node', false);
     $this->addAttributeMapping('', 'Ring size');
     $this->addAttributeMapping('', 'Scent');
     $this->addAttributeMapping('', 'Screen Resolution');
     $this->addAttributeMapping('weight', 'Shipping Weight');
     $this->addAttributeMapping('size', 'Size');
     $this->addAttributeMapping('', 'Size per Pearl');
     //Indicates the size per pearl (note that unit of measure is millimeter).
     $this->addAttributeMapping('', 'Theme HPC');
     //Health & Personal Care
     $this->addAttributeMapping('', 'Total Diamond Weight');
     $this->addAttributeMapping('', 'Watch movement');
     $this->addAttributeMapping('', 'Weight');
     $this->addAttributeMapping('width', 'Width');
     /* deprecated attributes?
     		$this->addAttributeMapping('cuisine', 'Cuisine');
     		$this->addAttributeMapping('specialty', 'Specialty');
     		$this->addAttributeMapping('occasion', 'Occasion');
     		$this->addAttributeMapping('metal_type', 'Metal Type');
     		$this->addAttributeMapping('band_material', 'Band Material');
     		$this->addAttributeMapping('sku_bid', 'Sku Bid');
     		//Variations attributes
     		$this->addAttributeMapping('variation_product_type', 'variation-product-type');
     		$this->addAttributeMapping('parent_child', 'parent-child');
     		$this->addAttributeMapping('parent_sku', 'parent-sku');
     		$this->addAttributeMapping('relationship_type', 'relationship-type');
     		$this->addAttributeMapping('variation_theme', 'variation-theme');	
     		*/
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'AmazonPAUK';
     $this->providerNameL = 'AmazonPAUK';
     $this->fileformat = 'txt';
     $this->fields = array();
     //$this->fields = explode(',', 'Category,Title,Link,SKU,Price,Brand,Department,UPC,Image,Description,Manufacturer,Mfr part number,Other image-url1,Other image-url2,Other image-url3,Other image-url4,Other image-url5,Other image-url6,Other image-url7,Other image-url8,Weight,Shipping Cost,Shipping Weight');
     $this->fieldDelimiter = "\t";
     //Create some attributes (Mapping 3.0)
     //Required
     $this->addAttributeMapping('current_category', 'Product Type', true, true);
     $this->addAttributeMapping('link', 'Link', true, true);
     $this->addAttributeMapping('sku', 'SKU', true, true);
     $this->addAttributeMapping('title', 'Title', true, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     $this->addAttributeMapping('feature_imgurl', 'Image', true);
     //Strongly Recommended Fields
     $this->addAttributeMapping('upc', 'Standard Product ID', false);
     $this->addAttributeMapping('', 'Product ID Type', false);
     $this->addAttributeMapping('brand', 'Brand', false);
     $this->addAttributeMapping('manufacturer', 'Manufacturer', false, false);
     //should allow user to select from BTG (just like category/product type)
     $this->addAttributeMapping('', 'Recommended Browse Node', false);
     $this->addAttributeMapping('department', 'Department', false);
     $this->addAttributeMapping('description', 'Description', true, false);
     $this->addAttributeMapping('', 'Mfr part number');
     $this->addAttributeMapping('', 'Shipping Cost');
     $this->addAttributeMapping('quantity', 'Quantity');
     //ed if you have a shared Selling on Amazon and Product Ads account. Enter the quantity of the item you are advertising.
     //Recommended Fields
     $this->addAttributeMapping('local_category', 'Category', true, false);
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category
     //$this->addAttributeMapping('', 'Band'); //jewelry
     for ($i = 1; $i < 6; $i++) {
         $this->addAttributeMapping("bullet_point{$i}", "Bullet point{$i}");
     }
     for ($i = 1; $i < 6; $i++) {
         $this->addAttributeMapping("keywords{$i}", "Keywords{$i}");
     }
     for ($i = 1; $i < 9; $i++) {
         $this->addAttributeMapping("other_image_url{$i}", "Other image-url{$i}");
     }
     $this->addAttributeMapping('', 'product subtype');
     //describes the class of product, chosen from valid values
     $this->addAttributeMapping('', 'Outer Material Type');
     $this->addAttributeMapping('', 'is adult product');
     $this->addAttributeMapping('', 'Season');
     $this->addAttributeMapping('', 'display type');
     $this->addAttributeMapping('', 'Watch movement');
     $this->addAttributeMapping('', 'model year');
     //target audience keywords1 - target audience keywords3
     $this->addAttributeMapping('', 'volume capacity name');
     //target_audience_base1 - 5
     $this->addAttributeMapping('', 'collection name');
     $this->addAttributeMapping('', 'style name');
     $this->addAttributeMapping('height', 'Height');
     //15,3 FT
     $this->addAttributeMapping('length', 'Length');
     $this->addAttributeMapping('weight', 'Weight');
     $this->addAttributeMapping('width', 'Width');
     $this->addAttributeMapping('', 'Model Number');
     $this->addAttributeMapping('', 'Item package quantity');
     //a six-pack of tree-shaped air fresheners would have an item-package-quantity of 6.
     $this->addAttributeMapping('', 'Shipping Weight');
     $this->addAttributeMapping('material', 'Material');
     $this->addAttributeMapping('', 'fabric type');
     $this->addAttributeMapping('', 'Sport');
     //name of the game or activity
     $this->addAttributeMapping('', 'Computer CPU speed');
     $this->addAttributeMapping('', 'Included RAM size');
     $this->addAttributeMapping('', 'Operating System');
     $this->addAttributeMapping('', 'Hard disk size');
     $this->addAttributeMapping('', 'Flash drive Size');
     $this->addAttributeMapping('', 'Optical zoom');
     $this->addAttributeMapping('', 'Digital Camera Resolution');
     $this->addAttributeMapping('', 'Screen Resolution');
     $this->addAttributeMapping('', 'Memory Card type');
     $this->addAttributeMapping('', 'Minimum Age');
     $this->addAttributeMapping('', 'Maximum Age');
     $this->addAttributeMapping('gender', 'Gender');
     //specific_uses_keywords1 - 5
     //special_features1 - 5
     $this->addAttributeMapping('', 'water resistance depth');
     $this->addAttributeMapping('flavor', 'Flavor');
     $this->addAttributeMapping('', 'League and Team');
     $this->addAttributeMapping('', 'Occasion');
     $this->addAttributeMapping('', 'Band material');
     $this->addAttributeMapping('', 'Metal type');
     $this->addAttributeMapping('', 'Size per pearl');
     $this->addAttributeMapping('', 'Color and finish');
     $this->addAttributeMapping('', 'Total Diamond Weight');
     $this->addAttributeMapping('', 'Scent');
     $this->addAttributeMapping('', 'Specialty');
     $this->addAttributeMapping('', 'Cuisine');
     $this->addAttributeMapping('', 'Display technology');
     $this->addAttributeMapping('', 'Display size');
     $this->addAttributeMapping('', 'Computer memory size');
     //optional fields
     $this->addAttributeMapping('update_delete', 'Update Delete');
     //price per unit
     $this->addAttributeMapping('', 'item display weight');
     //The weight of the item (excluding packaging), for comparison with other items.
     $this->addAttributeMapping('', 'item display volume');
     $this->addAttributeMapping('', 'item display length');
     $this->addAttributeMapping('', 'unit count');
     //used to calculate price per unit
     //compliance - attributes used to comply with consumer laws int he country or region where the item is sold
     $this->addAttributeMapping('', 'safety warning');
     $this->addAttributeMapping('', 'country of origin');
     $this->addAttributeMapping('', 'legal disclaimer description');
     $this->addAttributeMapping('', 'eu toys safety directive age warning');
     //eu-language & warnings...
     $this->addAttributeMapping('', 'fedas id');
     /*Variations attributes
     		$this->addAttributeMapping('variation_product_type', 'variation-product-type');
     		$this->addAttributeMapping('parent_child', 'parent-child');
     		$this->addAttributeMapping('parent_sku', 'parent-sku');
     		$this->addAttributeMapping('relationship_type', 'relationship-type');
     		$this->addAttributeMapping('variation_theme', 'variation-theme');	
     		*/
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
 }
 function __construct()
 {
     parent::__construct();
     $this->providerName = 'ShareASale';
     $this->providerNameL = 'shareasale';
     $this->fileformat = 'csv';
     $this->fields = array('SKU', 'Name', 'URL to product', 'Price', 'Retail Price', 'URL to image', 'URL to thumbnail image', 'Commission', 'Category', 'SubCategory', 'Description', 'SearchTerms', 'Status', 'Your MerchantID', 'Custom 1', 'Custom 2', 'Custom 3', 'Custom 4', 'Custom 5', 'Manufacturer', 'PartNumber', 'MerchantCategory', 'MerchantSubcategory', 'ShortDescription', 'ISBN', 'UPC');
     $this->fieldDelimiter = ',';
     $this->stripHTML = true;
     //Create some attributes (Mapping 3.0). All columns must be represented in the datafeed & in the specified orders
     $this->addAttributeMapping('sku', 'SKU', true, true);
     //1
     $this->addAttributeMapping('title', 'Name', true, false);
     $this->addAttributeMapping('link', 'URL', true, true);
     $this->addAttributeMapping('price', 'Price', true, true);
     $this->addAttributeMapping('regular_price', 'Retail Price', false, false);
     //5
     $this->addAttributeMapping('feature_imgurl', 'Full Image');
     $this->addAttributeMapping('other_image_url_0', 'Thumbnail Image');
     $this->addAttributeMapping('', 'Commission');
     $this->addAttributeMapping('current_category', 'Category', true, true);
     //Missing ShareASale SubCategories
     $this->addAttributeMapping('subcategory', 'SubCategory', true, true);
     //10
     $this->addAttributeMapping('description', 'Description', true);
     $this->addAttributeMapping('', 'SearchTerms', true);
     //comma separated list
     $this->addAttributeMapping('stock_status', 'Status');
     $this->addAttributeMapping('merchant_id', 'Your MerchantID', true, true);
     $this->addAttributeMapping('', 'Custom 1');
     //15
     $this->addAttributeMapping('', 'Custom 2');
     $this->addAttributeMapping('', 'Custom 3');
     $this->addAttributeMapping('', 'Custom 4');
     $this->addAttributeMapping('', 'Custom 5');
     $this->addAttributeMapping('brand', 'Manufacturer');
     //20
     $this->addAttributeMapping('', 'PartNumber');
     $this->addAttributeMapping('localCategory', 'MerchantCategory');
     $this->addAttributeMapping('', 'MerchantSubcategory');
     $this->addAttributeMapping('description_short', 'ShortDescription');
     $this->addAttributeMapping('', 'ISBN');
     $this->addAttributeMapping('', 'UPC');
     // these were found from exampledatafeed csv file
     $this->addAttributeMapping('', 'CrossSell');
     $this->addAttributeMapping('', 'MerchantGroup');
     $this->addAttributeMapping('', 'MerchantSubgroup');
     $this->addAttributeMapping('', 'CompatibleWith');
     $this->addAttributeMapping('', 'CompareTo');
     $this->addAttributeMapping('', 'QuantityDiscount');
     $this->addAttributeMapping('', 'Bestseller');
     $this->addAttributeMapping('', 'AddToCartURL');
     $this->addAttributeMapping('', 'ReviewsRSSURL');
     $this->addAttributeMapping('', 'Option1');
     $this->addAttributeMapping('', 'Option2');
     $this->addAttributeMapping('', 'Option3');
     $this->addAttributeMapping('', 'Option4');
     $this->addAttributeMapping('', 'Option5');
     $this->addAttributeMapping('', 'customCommissions');
     $this->addAttributeMapping('', 'customCommissionIsFlatRate');
     $this->addAttributeMapping('', 'customCommissionNewCustomerMultiplier');
     $this->addAttributeMapping('', 'mobileURL');
     $this->addAttributeMapping('', 'mobileImage');
     $this->addAttributeMapping('', 'mobileThumbnail');
     $this->addAttributeMapping('', 'ReservedForFutureUse');
     $this->addAttributeMapping('', 'ReservedForFutureUse');
     $this->addAttributeMapping('', 'ReservedForFutureUse');
     $this->addAttributeMapping('', 'ReservedForFutureUse');
     $this->addAttributeDefault('price', 'none', 'PSalePriceIfDefined');
     $this->addAttributeDefault('local_category', 'none', 'PCategoryTree');
     //store's local category tree
     $this->addRule('price_rounding', 'pricerounding');
     //2 decimals
     //Description and title: escape any quotes
     $this->addRule('csv_standard', 'CSVStandard', array('title'));
     $this->addRule('csv_standard', 'CSVStandard', array('description'));
 }