<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

function elex_fpf_insert_feed( $feed_id, $meta_key, $meta_content ) {
	$meta_content = json_encode( $meta_content );
	elexFpfWPFluent()->table( 'fpf_feeds' )->insert(
		array(
			'feed_id'  => $feed_id,
			'feed_meta_key'  => $meta_key,
			'feed_meta_content'         => $meta_content,
		)
	);
	return $meta_content;
	
}

function elex_fpf_update_feed( $feed_id, $meta_key, $meta_content ) {
	$meta_content = json_encode( $meta_content );// json_encode($meta_content);
	elexFpfWPFluent()->table( 'fpf_feeds' )->where( 'feed_id', '=', $feed_id )->where( 'feed_meta_key', '=', $meta_key )->update(
		array(
			'feed_meta_content'     => $meta_content,
		)
	);
}

function elex_fpf_get_feed_data( $id, $meta_key ) {
	$meta_content = elexFpfWPFluent()->table( 'fpf_feeds' )
	->select( 'feed_meta_content' )
	->where( 'feed_id', '=', $id )
	->where( 'feed_meta_key', '=', $meta_key )
	->get();
	$meta_content = json_decode( json_encode( $meta_content ), true );
	return $meta_content;
}


function elex_fpf_get_tax_rate_for_country( $country_code, $price ) {
	$all_tax_rates = array();
	$tax_classes   = WC_Tax::get_tax_classes(); // Retrieve all tax classes.
	if ( ! in_array( '', $tax_classes ) ) { // Make sure "Standard rate" (empty class name) is present.
		array_unshift( $tax_classes, '' );
	}
	foreach ( $tax_classes as $tax_class ) { // For each tax class, get all rates.
		$taxes         = WC_Tax::get_rates_for_tax_class( $tax_class );
		$all_tax_rates = array_merge( $all_tax_rates, $taxes );
	}
	if ( ! empty( $all_tax_rates ) ) {
		$rate = 0;
		foreach ( $all_tax_rates as $key => $tax_details ) {
			if ( $tax_details->tax_rate > $rate && ( ! $tax_details->tax_rate_country || ( $tax_details->tax_rate_country == $country_code ) ) ) {
				$rate = $tax_details->tax_rate;
			}
		}
		$price_incl_tax = $price + ( ( $price * $rate ) / 100 );
		return $price_incl_tax;
	}
	return $price;
}

function elex_fpf_get_google_cats_for_attr_map() {
	//Category names in en,de,es,fr and ru respectively.
	return array(
		'media'                          => array(
			'Media',
			'Medien',
			'Multimedia',
			'MÃ©dias',
			'Средства информации',
		),
		'apparel'                        => array(
			'Apparel',
			'Bekleidung',
			'Ropa',
			'VÃªtements',
			'Предметы одежды',
		),
		'home'                           => array(
			'Home',
			'Heim',
			'Casa',
			'Maison',
			'Дом',
		),
		'furniture'                      => array(
			'Furniture',
			'MÃ¶bel',
			'Mobiliario',
			'Meubles',
			'Мебель',
		),
		'home_garden_line_bedding'       => array(
			'Home & Garden > Linens & Bedding',
			'Heim & Garten > Bett',
			'Casa y jardÃ­n > Ropa de casa',
			'Maison et jardin > Linge',
			'Дом и сад > Постельное бельё',
		),
		'home_garden_house_appliance'    => array(
			'Home & Garden > Household Appliances',
			'Heim & Garten > HaushaltsgerÃ¤te',
			'Casa y jardÃ­n > ElectrodomÃ©sticos',
			'Maison et jardin > Appareils Ã©lectromÃ©nagers',
			'Дом и сад > Бытовые приборы',
		),
		'home_garden_kitchen_dining'     => array(
			'Home & Garden > Kitchen & Dining > Kitchen Appliances',
			'Heim & Garten > KÃ¼che & Esszimmer > KÃ¼chengerÃ¤te',
			'Casa y jardÃ­n > Cocina y comedor > ElectrodomÃ©sticos de cocina',
			'Maison et jardin > Arts de la table et arts culinaires > Ã‰lectromÃ©nager de cuisine',
			'Дом и сад > Товары для кухни и столовой > Кухонная техника',
		),
		'home_garden_house_cleaning'     => array(
			'Home & Garden > Household Supplies > Household Cleaning Supplies',
			'Heim & Garten > Haushaltsbedarf > Reinigungsutensilien',
			'Casa y jardÃ­n > Productos del hogar > Productos de limpieza para el hogar',
			'Maison et jardin > Produits mÃ©nagers > Nettoyage maison',
			'Дом и сад > Хозяйственные товары > Бытовой инвентарь и средства для уборки',
		),
		'apparel_accessory_jewel'        => array(
			'Apparel & Accessories > Jewelry',
			'Bekleidung & Accessoires > Schmuck',
			'Ropa y accesorios > JoyerÃ­a',
			'VÃªtements et accessoires > Bijoux',
			'Предметы одежды и принадлежности > Ювелирные украшения',
		),
		'apparel_accessory_jewel_watch'  => array(
			'Apparel & Accessories > Jewelry > Watch Accessories',
			'Bekleidung & Accessoires > Schmuck > Uhrenaccessoires',
			'Ropa y accesorios > JoyerÃ­a > Accesorios para reloj',
			'VÃªtements et accessoires > Bijoux > Accessoires pour montres',
			'Предметы одежды и принадлежности > Ювелирные украшения > Принадлежности для наручных часов',
		),
		'health_beauty'                  => array(
			'Health & Beauty',
			'Gesundheit & SchÃ¶nheit',
			'Salud y belleza',
			'SantÃ© et beautÃ©',
			'Красота и здоровье',
		),
		'health_beauty_health_care'      => array(
			'Health & Beauty > Health Care',
			'Gesundheit & SchÃ¶nheit > Gesundheitspflege',
			'Salud y belleza > Cuidado de la salud',
			'SantÃ© et beautÃ© > SantÃ©',
			'Красота и здоровье > Медицинские средства',
		),
		'electronics_comm_teleph_mobile' => array(
			'Electronics > Communications > Telephony > Mobile Phones',
			'Elektronik > KommunikationsgerÃ¤te > Telefone > Mobiltelefone',
			'ElectrÃ³nica > ComunicaciÃ³n > TelefonÃ­a > TelÃ©fonos mÃ³viles',
			'Appareils Ã©lectroniques > Communications > TÃ©lÃ©phonie > TÃ©lÃ©phones mobiles',
			'Электроника > Связь > Телефония > Мобильные телефоны',
		),
		'electronics_accessories'        => array(
			'Electronics > Electronics Accessories',
			'Elektronik > Elektronisches ZubehÃ¶r',
			'ElectrÃ³nica > Accesorios electrÃ³nicos',
			'Appareils Ã©lectroniques > Accessoires Ã©lectroniques',
			'Электроника > Принадлежности для электроники',

		),
		'electronics_computers'          => array(
			'Electronics > Computers',
			'Elektronik > Computer',
			'ElectrÃ³nica > Ordenadores',
			'Appareils Ã©lectroniques > Ordinateurs',
			'Электроника > Компьютеры',

		),
		'electronincs_video_game'        => array(
			'Electronics > Video Game',
			'Elektronik > ZubehÃ¶r fÃ¼r Videospielkonsolen',
			'ElectrÃ³nica > Accesorios para videoconsolas',
			'Appareils Ã©lectroniques > Accessoires pour consoles de jeu vidÃ©o',
			'Электроника > Принадлежности для консолей видеоигр',
		),
		'software'                       => array(
			'Software',
			'Software',
			'Software',
			'Logiciels',
			'Программное обеспечение',
		),
		'electronincs_print_copy_scan'   => array(
			'Electronics > Print, Copy, Scan & Fax',
			'Elektronik > Drucken, Kopieren, Scannen & Faxen',
			'ElectrÃ³nica > Fax, escÃ¡ner, copiadora e impresora',
			'Appareils Ã©lectroniques > Impression, copie, numÃ©risation et tÃ©lÃ©copie',
			'Электроника > Печать, копирование, сканирование и факсимильная связь',
		),
		'electronics_video_computer'     => array(
			'Electronics > Video > Computer Monitors',
			'Elektronik > Video > Computermonitore',
			'ElectrÃ³nica > VÃ­deo > Monitores de ordenador',
			"Appareils Ã©lectroniques > VidÃ©o > Ã‰crans d\'ordinateur",
			'Электроника > Видеоаппаратура > Компьютерные мониторы',
		),
		'electronics_video_satellite_tv' => array(
			'Electronics > Video > Satellite & Cable TV',
			'Elektronik > Video > Satelliten- & Kabelfernsehen',
			'ElectrÃ³nica > VÃ­deo > TelevisiÃ³n por cable y satÃ©lite',
			'Appareils Ã©lectroniques > VidÃ©o > TÃ©lÃ©vision par cÃ¢ble et par satellite',
			'Электроника > Видеоаппаратура > Товары для спутникового и кабельного телевидения',
		),
		'electronincs_video_projector'   => array(
			'Electronics > Video > Projectors',
			'Elektronik > Video > Projektoren',
			'ElectrÃ³nica > VÃ­deo > Proyectores',
			'Appareils Ã©lectroniques > VidÃ©o > VidÃ©oprojecteurs',
			'Электроника > Видеоаппаратура > Проекторы',
		),
		'cameras'                        => array(
			'Cameras',
			'Kameras',
			'CÃ¡maras',
			'Appareils photo, camÃ©ras',
			'Камеры',
		),
		'baby_toddler_nursing_feeding'   => array(
			'Baby & Toddler > Nursing & Feeding',
			'Baby & Kleinkind > Stillen & FÃ¼ttern',
			'BebÃ©s y niÃ±os pequeÃ±os > Lactancia y alimentaciÃ³n',
			'BÃ©bÃ©s et tout-petits > Allaitement et alimentation',
			'Товары для новорожденных и маленьких детей > Товары для кормпления детей',
		),
		'toys'                           => array(
			'Toys',
			'Spielzeuge',
			'Juegos',
			'Jeux',
			'Игры',
		),
		'baby_toddler_transport'         => array(
			'Baby & Toddler > Baby Transport',
			'Baby & Kleinkind > Babytransport',
			'BebÃ©s y niÃ±os pequeÃ±os > Transporte de bebÃ©s',
			'BÃ©bÃ©s et tout-petits > Transport de bÃ©bÃ©s',
			'Товары для новорожденных и маленьких детей > Средства для перевозки детей',
		),
		'baby_toddler_diaper'            => array(
			'Baby & Toddler > Diapering',
			'Baby & Kleinkind > Wickelbedarf',
			'BebÃ©s y niÃ±os pequeÃ±os > PaÃ±ales y cuidado del bebÃ©',
			'BÃ©bÃ©s et tout-petits > Change de bÃ©bÃ©',
			'Товары для новорожденных и маленьких детей > Товары для пеленания',
		),
		'baby_toddler_potty_training'    => array(
			'Baby & Toddler > Potty Training',
			'Baby & Kleinkind > TÃ¶pfchentraining',
			'BebÃ©s y niÃ±os pequeÃ±os > Control de esfÃ­nteres',
			'BÃ©bÃ©s et tout-petits > Apprentissage de la propretÃ©',
			'Товары для новорожденных и маленьких детей > Товары для приучения к горшку',
		),
	);
}
