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 | ... | ... |