Commit e8fe9e4afd1db7e5ba05899dbab27d5ace2bce0f
1 parent
0ef646d9
+ format price.php
Showing
1 changed file
with
142 additions
and
97 deletions
Show diff stats
price.php
| 1 | 1 | <?php |
| 2 | -set_time_limit(0); | |
| 3 | -header("Content-Type: text/xml"); | |
| 4 | -require("./libs/setup.php"); | |
| 5 | -$setup = new setup(); | |
| 6 | -$db = $setup->db; | |
| 7 | -$objCatalogs = $setup->setupClass("Catalogs"); | |
| 8 | 2 | |
| 9 | - function escapeLoc($loc){ | |
| 10 | - $patterns = array(); | |
| 11 | - $patterns[0] = '/&/'; | |
| 12 | - $patterns[1] = '/\'/'; | |
| 13 | - $patterns[2] = '/"/'; | |
| 14 | - $patterns[3] = '/>/'; | |
| 15 | - $patterns[4] = '/</'; | |
| 16 | - $replacements = array(); | |
| 17 | - $replacements[4] = '&'; | |
| 18 | - $replacements[3] = '''; | |
| 19 | - $replacements[2] = '"'; | |
| 20 | - $replacements[1] = '>'; | |
| 21 | - $replacements[0] = '<'; | |
| 22 | - | |
| 23 | - $loc = preg_replace($patterns, $replacements, $loc); | |
| 24 | - return $loc; | |
| 25 | - } | |
| 26 | - | |
| 27 | -function nohtml($string) | |
| 3 | + set_time_limit (0); | |
| 4 | + header ("Content-Type: text/xml"); | |
| 5 | + require ("./libs/setup.php"); | |
| 6 | + $setup = new setup (); | |
| 7 | + $db = $setup->db; | |
| 8 | + $objCatalogs = $setup->setupClass ("Catalogs"); | |
| 9 | + | |
| 10 | +function escapeLoc ($loc) | |
| 28 | 11 | { |
| 29 | - return preg_replace('/[^a-zà-ÿ¸\.\,\?\! 0-9]/i','',$string);; | |
| 12 | + $patterns = array (); | |
| 13 | + $patterns[0] = '/&/'; | |
| 14 | + $patterns[1] = '/\'/'; | |
| 15 | + $patterns[2] = '/"/'; | |
| 16 | + $patterns[3] = '/>/'; | |
| 17 | + $patterns[4] = '/</'; | |
| 18 | + $replacements = array (); | |
| 19 | + $replacements[4] = '&'; | |
| 20 | + $replacements[3] = '''; | |
| 21 | + $replacements[2] = '"'; | |
| 22 | + $replacements[1] = '>'; | |
| 23 | + $replacements[0] = '<'; | |
| 24 | + | |
| 25 | + $loc = preg_replace ($patterns, $replacements, $loc); | |
| 26 | + return $loc; | |
| 30 | 27 | } |
| 31 | 28 | |
| 32 | -function modCodeNew($product_id){ | |
| 33 | -global $objCatalogs; | |
| 34 | -return $objCatalogs->db->getOne('select new_code from catalogs_modifications where active=1 and product_id=? and new_code<>""',array($product_id)); | |
| 35 | -} | |
| 29 | +function nohtml ($string) | |
| 30 | +{ | |
| 31 | + return preg_replace ('/[^a-zà-ÿ¸\.\,\?\! 0-9]/i', '', $string); | |
| 32 | +} | |
| 36 | 33 | |
| 37 | -print'<?xml version="1.0" encoding="windows-1251" ?>'; | |
| 38 | -print"<price>"; | |
| 39 | -print"<date>" . date("Y-m-d h:m") . "</date>"; | |
| 40 | -print"<firmName>ExtremStyle</firmName>"; | |
| 41 | -print"<firmId></firmId>"; | |
| 42 | -print"<rate></rate>"; | |
| 34 | +function modCodeNew ($product_id) | |
| 35 | +{ | |
| 36 | + global $objCatalogs; | |
| 37 | + return $objCatalogs->db->getOne ('select new_code from catalogs_modifications where active=1 and product_id=? and new_code<>""', array ( | |
| 38 | + $product_id | |
| 39 | + )); | |
| 40 | +} | |
| 43 | 41 | |
| 42 | +print '<?xml version="1.0" encoding="windows-1251" ?>'; | |
| 43 | +print "<price>"; | |
| 44 | +print "<date>" . date ("Y-m-d h:m") . "</date>"; | |
| 45 | +print "<firmName>ExtremStyle</firmName>"; | |
| 46 | +print "<firmId></firmId>"; | |
| 47 | +print "<rate></rate>"; | |
| 44 | 48 | |
| 45 | -$res = $db->getAll("select * from catalogs_rubrics where is_xml=?",array(0),DB_FETCHMODE_ASSOC); | |
| 46 | -//print_r($res); | |
| 47 | -$rubrics = array(); | |
| 48 | -print"<categories>"; | |
| 49 | -foreach($res as $row){ | |
| 50 | -$rubrics[] = $row['id']; | |
| 51 | -print"<category>"; | |
| 52 | -print"<id>" . $row['id'] . "</id>"; | |
| 53 | -print"<parentId>" . $row['parent_id'] . "</parentId>"; | |
| 54 | -print"<name>" . $row['name'] . "</name>"; | |
| 55 | -print"</category>"; | |
| 49 | +$res = $db->getAll ("select * from catalogs_rubrics where is_xml=?", array ( | |
| 50 | + 0 | |
| 51 | +), DB_FETCHMODE_ASSOC); | |
| 52 | +// print_r($res); | |
| 53 | +$rubrics = array (); | |
| 54 | +print "<categories>"; | |
| 55 | +foreach ($res as $row) | |
| 56 | +{ | |
| 57 | + $rubrics[] = $row['id']; | |
| 58 | + print "<category>"; | |
| 59 | + print "<id>" . $row['id'] . "</id>"; | |
| 60 | + print "<parentId>" . $row['parent_id'] . "</parentId>"; | |
| 61 | + print "<name>" . $row['name'] . "</name>"; | |
| 62 | + print "</category>"; | |
| 56 | 63 | } |
| 57 | -print"</categories>"; | |
| 64 | +print "</categories>"; | |
| 58 | 65 | |
| 59 | -print"<items>"; | |
| 60 | -foreach($rubrics as $rub){ | |
| 61 | -$res = $db->getAll("select p.*,r.translit as rubric_translit,r.is_xml2,b.name as brend,r.list_name from catalogs_products p LEFT JOIN catalogs_rubrics r ON r.id=p.rubric_id LEFT JOIN catalogs_brends b ON b.id=p.brend_id where p.rubric_id=? and p.count_modifications>0",array($rub),DB_FETCHMODE_ASSOC); | |
| 62 | -foreach($res as $row){ | |
| 63 | -print"<item>"; | |
| 64 | -print"<id>" . $row['id'] . "</id>"; | |
| 65 | -print"<categoryId>" . $row['rubric_id'] . "</categoryId>"; | |
| 66 | -if($row['rubric_id']!=14055)print"<group_id>0" . $row['id'] . "</group_id>"; | |
| 67 | -print"<code></code>"; | |
| 68 | -print"<vendor>" . htmlspecialchars(escapeLoc($row['brend'])) . "</vendor>"; | |
| 69 | -$row['ph1'] = $objCatalogs->getFilterPh1($row['id']); | |
| 70 | -$f = $objCatalogs->viewFilterProduct($row['id']); | |
| 71 | -$f_arr = array(); | |
| 72 | -foreach($f as $_f){$f_arr[] = $_f['name'];} | |
| 73 | -$f_str = (count($f_arr)>0) ? implode(', ',$f_arr) : ''; | |
| 74 | -print"<name>" . htmlspecialchars(escapeLoc($row['ph1'])) .' '. htmlspecialchars(escapeLoc($row['list_name'])) .' '. htmlspecialchars(escapeLoc($row['brend'])) .' '. htmlspecialchars(escapeLoc($row['name'])) . ' ' . htmlspecialchars(escapeLoc($f_str)) .' '. modCodeNew($row['id'])."</name>"; | |
| 75 | -print"<description>" . htmlspecialchars(nohtml(stripcslashes($row['text']))) . "</description>"; | |
| 76 | -print"<url>http://extremstyle.ua/" . htmlspecialchars(escapeLoc($row['rubric_translit'])) . "-catalogs/" . htmlspecialchars(escapeLoc($row['translit'])) . "-" . $row['id'] . "/</url>"; | |
| 77 | -print"<image>http://extremstyle.ua/uploaded/pic/catalogs/products/" . $row['pic'] . "</image>"; | |
| 78 | -print"<priceRUAH>" . round($row['cine'] - ($row['cine']*$row['salepc']/100)) . "</priceRUAH>"; | |
| 79 | -//print"<priceRUAH>" . $row['cine'] . "</priceRUAH>"; | |
| 80 | -print"<oldprice>" . $row['cine'] . "</oldprice>"; | |
| 81 | -print"<priceRUSD></priceRUSD>"; | |
| 82 | -print"<stock>Íà ñêëàäå</stock>"; | |
| 83 | -print"<guarantee></guarantee>"; | |
| 84 | -IF($row['is_xml2']==1 && $row['rubric_id']!=14055){ | |
| 85 | -if($row['sex']==1)$sex = 'Ìóæñêîé'; | |
| 86 | -elseif($row['sex']==2)$sex = 'Æåíñêèé'; | |
| 87 | -elseif($row['sex']==3)$sex = 'Äåòñêèé'; | |
| 88 | -elseif($row['sex']==4)$sex = 'Óíèñåêñ'; | |
| 89 | -else $sex = ''; | |
| 90 | -$res_m = $db->getAll("select * from catalogs_modifications where active=1 and product_id=?",array($row['id']),DB_FETCHMODE_ASSOC); | |
| 91 | -foreach($res_m as $row_m){ | |
| 92 | -print'<param name="Ðàçìåð" unit="INT">'.$row_m['size'].'</param>'; | |
| 93 | -print'<param name="Öâåò">'.(($row['rubric_id']==14055)?$row_m['color']:$row_m['color2']).'</param>'; | |
| 94 | -print'<param name="Ïîë">'.$sex.'</param>'; | |
| 95 | -print'<param name="Âîçðàñò"></param>'; | |
| 96 | -print'<param name="Ðåïëèêà"></param>'; | |
| 97 | -print'<param name="Òèï">'.htmlspecialchars(escapeLoc($row['list_name'])).'</param>'; | |
| 98 | -print'<param name="Ìàòåðèàë"></param>'; | |
| 99 | -print'<param name="Êàïþøîí"></param>'; | |
| 100 | -print'<param name="Êàðìàíû"></param>'; | |
| 101 | -} | |
| 102 | -} | |
| 103 | - | |
| 104 | -print"</item>"; | |
| 105 | -}} | |
| 106 | -print"</items>"; | |
| 66 | +print "<items>"; | |
| 67 | + | |
| 68 | + foreach ($rubrics as $rub) | |
| 69 | + { | |
| 70 | + $res = $db->getAll (" | |
| 71 | + select p.*,r.translit as rubric_translit,r.is_xml2,b.name as brend,r.list_name | |
| 72 | + from catalogs_products p | |
| 73 | + LEFT JOIN catalogs_rubrics r ON r.id=p.rubric_id | |
| 74 | + LEFT JOIN catalogs_brends b ON b.id=p.brend_id | |
| 75 | + where p.rubric_id=? | |
| 76 | + and p.count_modifications>0", | |
| 77 | + array ( | |
| 78 | + $rub | |
| 79 | + ), DB_FETCHMODE_ASSOC); | |
| 80 | + | |
| 81 | + foreach ($res as $row) | |
| 82 | + { | |
| 83 | + print "<item>"; | |
| 84 | + print "<id>" . $row['id'] . "</id>"; | |
| 85 | + print "<categoryId>" . $row['rubric_id'] . "</categoryId>"; | |
| 86 | + | |
| 87 | + if ($row['rubric_id'] != 14055) | |
| 88 | + print "<group_id>0" . $row['id'] . "</group_id>"; | |
| 89 | + | |
| 90 | + print "<code></code>"; | |
| 91 | + print "<vendor>" . htmlspecialchars (escapeLoc ($row['brend'])) . "</vendor>"; | |
| 92 | + | |
| 93 | + $row['ph1'] = $objCatalogs->getFilterPh1 ($row['id']); | |
| 94 | + $f = $objCatalogs->viewFilterProduct ($row['id']); | |
| 95 | + $f_arr = array (); | |
| 96 | + foreach ($f as $_f) | |
| 97 | + { | |
| 98 | + $f_arr[] = $_f['name']; | |
| 99 | + } | |
| 100 | + | |
| 101 | + $f_str = (count ($f_arr) > 0) ? implode (', ', $f_arr) : ''; | |
| 102 | + print "<name>" . htmlspecialchars (escapeLoc ($row['ph1'])) . ' ' . htmlspecialchars (escapeLoc ($row['list_name'])) . ' ' . htmlspecialchars (escapeLoc ($row['brend'])) . ' ' . htmlspecialchars (escapeLoc ($row['name'])) . ' ' . htmlspecialchars (escapeLoc ($f_str)) . ' ' . modCodeNew ($row['id']) . "</name>"; | |
| 103 | + print "<description>" . htmlspecialchars (nohtml (stripcslashes ($row['text']))) . "</description>"; | |
| 104 | + print "<url>http://extremstyle.ua/" . htmlspecialchars (escapeLoc ($row['rubric_translit'])) . "-catalogs/" . htmlspecialchars (escapeLoc ($row['translit'])) . "-" . $row['id'] . "/</url>"; | |
| 105 | + print "<image>http://extremstyle.ua/uploaded/pic/catalogs/products/" . $row['pic'] . "</image>"; | |
| 106 | + print "<priceRUAH>" . round ($row['cine'] - ($row['cine'] * $row['salepc'] / 100)) . "</priceRUAH>"; | |
| 107 | + // print"<priceRUAH>" . $row['cine'] . "</priceRUAH>"; | |
| 108 | + print "<oldprice>" . $row['cine'] . "</oldprice>"; | |
| 109 | + print "<priceRUSD></priceRUSD>"; | |
| 110 | + print "<stock>Íà ñêëàäå</stock>"; | |
| 111 | + print "<guarantee></guarantee>"; | |
| 112 | + | |
| 113 | + IF ($row['is_xml2'] == 1 && $row['rubric_id'] != 14055) | |
| 114 | + { | |
| 115 | + if ($row['sex'] == 1) | |
| 116 | + $sex = 'Ìóæñêîé'; | |
| 117 | + elseif ($row['sex'] == 2) | |
| 118 | + $sex = 'Æåíñêèé'; | |
| 119 | + elseif ($row['sex'] == 3) | |
| 120 | + $sex = 'Äåòñêèé'; | |
| 121 | + elseif ($row['sex'] == 4) | |
| 122 | + $sex = 'Óíèñåêñ'; | |
| 123 | + else | |
| 124 | + $sex = ''; | |
| 125 | + | |
| 126 | + $res_m = $db->getAll (" | |
| 127 | + select * | |
| 128 | + from catalogs_modifications | |
| 129 | + where active=1 | |
| 130 | + and product_id=?", array ( | |
| 131 | + $row['id'] | |
| 132 | + ), DB_FETCHMODE_ASSOC); | |
| 133 | + | |
| 134 | + foreach ($res_m as $row_m) | |
| 135 | + { | |
| 136 | + print '<param name="Ðàçìåð" unit="INT">' . $row_m['size'] . '</param>'; | |
| 137 | + print '<param name="Öâåò">' . (($row['rubric_id'] == 14055) ? $row_m['color'] : $row_m['color2']) . '</param>'; | |
| 138 | + print '<param name="Ïîë">' . $sex . '</param>'; | |
| 139 | + print '<param name="Âîçðàñò"></param>'; | |
| 140 | + print '<param name="Ðåïëèêà"></param>'; | |
| 141 | + print '<param name="Òèï">' . htmlspecialchars (escapeLoc ($row['list_name'])) . '</param>'; | |
| 142 | + print '<param name="Ìàòåðèàë"></param>'; | |
| 143 | + print '<param name="Êàïþøîí"></param>'; | |
| 144 | + print '<param name="Êàðìàíû"></param>'; | |
| 145 | + } | |
| 146 | + } | |
| 147 | + | |
| 148 | + print "</item>"; | |
| 149 | + } | |
| 150 | + } | |
| 107 | 151 | |
| 152 | +print "</items>"; | |
| 108 | 153 | |
| 109 | -print"</price>"; | |
| 154 | +print "</price>"; | |
| 110 | 155 | ?> |
| 111 | 156 | \ No newline at end of file | ... | ... |