<?php
//Пропишите для своей БД, пропишите наименование магазина, про адрес www.**********.ru тоже не забудьте
$hostname = "#####"; 
$username = "#####"; 
$password = "#####"; 
$dbName = "#####"; 
$category = "jos_vm_category";
$category_xref = "jos_vm_category_xref";
$userstable = "jos_vm_product"; 
$pricetable = "jos_vm_product_price";
$product_category_xref =  "jos_vm_product_category_xref";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); 
mysql_select_db($dbName) or die(mysql_error());
//mysql_query('set names utf8'); 
include '../configuration.php';
$cfg = new JConfig();
echo"<?xml version='1.0' encoding='windows-1251'?>\n";
echo"<!DOCTYPE yml_catalog SYSTEM 'shops.dtd'>\n";
echo"<yml_catalog date=\"";
echo date('Y-m-d H:i');
echo"\">\n"; 
echo"<shop>\n";
//Здесь название магазина
echo"<name>Твой порт</name>\n";
echo"<company>Твой-порт</company>\n";
echo"<url>http://tvoyport.ru</url>\n";
echo"<currencies>\n";
echo"<currency  id=\"RUR\" rate=\"1\"/>\n";
echo"<currency  id=\"USD\" rate=\"CBRF\"/>\n";
echo"</currencies>\n";
echo"<categories>\n";
$query_cat = "SELECT * FROM $category_xref"; 
$res_cat = mysql_query($query_cat) or die(mysql_error()); 
$rw=1; 
while ($row_cat=mysql_fetch_array($res_cat)) { 
$cat_parent_id=$row_cat['category_parent_id'];
$cat_child_id=$row_cat['category_child_id'];
$query2 = "SELECT category_name FROM $category WHERE category_publish='Y' and category_id=".$row_cat['category_child_id'];
$res_cat1 = mysql_query($query2) or die(mysql_error()); 
$name_cat=mysql_fetch_array($res_cat1);
$cat_name=$name_cat['category_name'];
if ($cat_parent_id==0) {
echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
}
else {			
echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
}
$rw++;
}
echo"</categories>\n";
echo"<offers>\n";
$tb_product 				= $cfg->dbprefix."vm_product";
$tb_manufacturer			= $cfg->dbprefix."vm_manufacturer";
$tb_product_mf_xref 		= $cfg->dbprefix."vm_product_mf_xref";
$tb_category				= $cfg->dbprefix."vm_category";
$tb_product_category_xref	= $cfg->dbprefix."vm_product_category_xref";
$tb_price					= $cfg->dbprefix."vm_product_price";
$query = "
SELECT
	$tb_product.product_id,
	$tb_product.product_name,
	
	$tb_product.product_artikul,
	$tb_manufacturer.mf_name,
	$tb_manufacturer.manufacturer_id,
	$tb_category.category_name,
	$tb_category.category_id,
	$tb_product_category_xref.category_id,
	$tb_price.product_price,
	$tb_product.product_sku,
	$tb_product.product_in_stock,
	$tb_product.product_unit,
	$tb_product.product_thumb_image,
	$tb_product.product_s_desc,
	$tb_product.product_weight
FROM
	($tb_product_category_xref
RIGHT JOIN ($tb_price
RIGHT JOIN (($tb_product_mf_xref
RIGHT JOIN $tb_product
ON $tb_product_mf_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_manufacturer
ON $tb_product_mf_xref.manufacturer_id = $tb_manufacturer.manufacturer_id)
ON $tb_price.product_id = $tb_product.product_id)
ON $tb_product_category_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_category
ON $tb_product_category_xref.category_id = $tb_category.category_id
WHERE $tb_product.product_publish='Y' and $tb_product.product_in_stock>0 
";
$row = d2a($query);
$product_log = Array();
for($i=0;$i<count($row);$i++) {
	if (!in_array($row[$i]['product_id'],$product_log) AND ($row[$i]['product_price'])) {
		$product_log[] = $row[$i]['product_id'];
		
  		
		$name = $row[$i]['category_name'];
		
		$alias = vm_transliterate($name);
		
	
		
		$alias = strtolower( $alias );
		$alias = preg_replace('/&.+?;/', '', $alias); // kill entities
		$alias = str_replace( '_', '-', $alias );
		$alias = preg_replace('/[^a-z0-9\s-.]/', '', $alias);
		$alias = preg_replace('/\s+/', '-', $alias);
		$alias = preg_replace('|-+|', '-', $alias);
		$alias = trim($alias, '-');
		$hvost = $row[$i]['product_artikul'];
		if (preg_match('/[^A-Za-z0-9_\-]/',$hvost)) {
    
		$hvost = vm_transliterate($hvost);
		$hvost = strtolower($hvost);
		$hvost = preg_replace('/&.+?;/', '',$hvost); // kill entities
		$hvost = str_replace( '_', '-',$hvost );
		$hvost = preg_replace('/[^a-z0-9\s-.]/', '',$hvost);
		$hvost = preg_replace('/\s+/', '-',$hvost);
		$hvost = preg_replace('|-+|', '-',$hvost);
		$hvost = trim($hvost, '-');
		}
		$url="http://www.tvoyport.ru/features/category/product/".$row[$i]['category_id']."-".$alias."/".$row[$i]['product_id']."-".$hvost.".html";
		$product_full_image = "http://www.tvoyport.ru/components/com_virtuemart/shop_image/product/".$row[$i]['product_thumb_image'];
		$tags = Array ('{product_name}','{product_desc}');
		$repl = Array ($row[$i]['product_name'],$row[$i]['product_s_desc']);
		$product_price = substr($row[$i]['product_price'], 0, -3);
		$product_cat_id=$row[$i]['category_id'];
		echo"\n<offer id=\"".$row[$i]['product_id']."\" available=\"true\" bid=\"$bid\">\n";
		echo"<url>".$url."</url>\n";
		echo"<price>$product_price</price>\n";
		// Валюта в которой указаны Ваши цены
		echo"<currencyId>RUR</currencyId>\n";
		echo"<categoryId>".$product_cat_id."</categoryId>\n";
		echo"<picture>".$product_full_image ."</picture>\n";
		// Возможность доставки
		echo"<delivery>true</delivery> \n";
		echo"<name>".HtmlSpecialChars(strip_tags($row[$i]['product_name']))."\"</name>\n";
		echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";
		
		echo "<sales_notes>минимальная сумма заказа 1000 руб</sales_notes> \n";
		echo"</offer>\n";
	}
}
echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";
function d2a($query){
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$res[] = $line;}
    mysql_free_result($result);
    return $res;
}
function vm_transliterate($name)
{
		$tbl= array(
			'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'g', 'з'=>'z',
			'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p',
			'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'i', 'э'=>'e', 'А'=>'A',
			'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'G', 'З'=>'Z', 'И'=>'I',
			'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R',
			'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'I', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h",
			'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya",
			'Ё'=>"Yo", 'Х'=>"H", 'Ц'=>"Ts", 'Ч'=>"Ch", 'Ш'=>"Sh", 'Щ'=>"Shch", 'Ъ'=>"", 'Ь'=>"",
			'Ю'=>"Yu", 'Я'=>"Ya"
			);
	return strtr($name, $tbl);
}
?>