Commit e8fe9e4afd1db7e5ba05899dbab27d5ace2bce0f
1 parent
0ef646d9
+ format price.php
Showing
1 changed file
with
142 additions
and
97 deletions
Show diff stats
price.php
1 | <?php | 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 | \ No newline at end of file | 156 | \ No newline at end of file |