Commit 639b0c95c8d46d371ac4743dd62fa5f3426c6f4b
1 parent
abf79446
удалил мусор
Showing
2 changed files
with
0 additions
and
3558 deletions
Show diff stats
libs/catalogs.class_.php deleted
1 | -<?php | |
2 | -class Catalogs{ | |
3 | - var $db = null; | |
4 | - var $tpl = null; | |
5 | - var $error = null; | |
6 | - var $photo_id = null; | |
7 | - | |
8 | - | |
9 | - function Catalogs(&$db,&$tpl,&$error){ | |
10 | - $this->db = &$db; | |
11 | - $this->tpl = &$tpl; | |
12 | - $this->error = &$error; | |
13 | - } | |
14 | - | |
15 | - | |
16 | - function trim(&$data){ | |
17 | - foreach($data as $key=>$value){ | |
18 | - if(is_array($value))$this->trim($value); | |
19 | - else $data[$key] = stripslashes(trim($value)); | |
20 | - } | |
21 | - } | |
22 | - | |
23 | - | |
24 | - function valid($data,$upload = null){ | |
25 | - | |
26 | - if(isset($data['name'])){ | |
27 | - if( !preg_match("/.{1,100}/i",$data['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Íàçâàíèÿ."; | |
28 | - } | |
29 | - | |
30 | - if(isset($data['about_min'])){ | |
31 | - if( !preg_match("/.+/is",$data['about_min']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Êðàòêîå îïèñàíèå."; | |
32 | - } | |
33 | - /* | |
34 | - if(isset($data['text'])){ | |
35 | - if( !preg_match("/.+/is",$data['text']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Ïîëíîå îïèñàíèå."; | |
36 | - } */ | |
37 | -/* | |
38 | - if(isset($data['cine'])){ | |
39 | - if( !preg_match("/[0-9]+/",$data['cine']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Öåíà, òîëüêî öèôðû."; | |
40 | - } */ | |
41 | - | |
42 | - if(isset($upload['pic']['name']) && $upload['pic']['tmp_name']){ | |
43 | - $type = substr(strrchr($upload['pic']['name'],"."),1); | |
44 | - if( !preg_match("/^(jpeg|jpg|gif|png|bmp)$/i",$type) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èçîáðàæåíèÿ, òîëüêî jpg,png,gif."; | |
45 | - } | |
46 | - | |
47 | - if(isset($upload['file']['name'])){ | |
48 | - if( !preg_match("/\.csv$/i",$upload['file']['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ CSV ôàéë, òîëüêî csv."; | |
49 | - } | |
50 | - | |
51 | - | |
52 | - if(isset($data['order_name'])){ | |
53 | - if( !preg_match("/.{1,100}/i",$data['order_name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
54 | - } | |
55 | - | |
56 | - if(isset($data['order_adress'])){ | |
57 | - if( !preg_match("/.{1,200}/i",$data['order_adress']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Àäðåñ (Ìàêñèìóì 200 ñèìâîëîâ)."; | |
58 | - } | |
59 | - | |
60 | - if(isset($data['order_phone2'])&& strlen($data['order_phone2'])>0){ | |
61 | - if( !preg_match("/.{1,20}/i",$data['order_phone2']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Òåëåôîí (Ìàêñèìóì 70 ñèìâîëîâ)."; | |
62 | - } | |
63 | - | |
64 | - if(isset($data['order_phone'])){ | |
65 | -if( trim($data['order_phone']) == "" ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Ìîáèëüíûé òåëåôîí (ôîðìàò: (0XX) XXX-XXXX)."; | |
66 | - } | |
67 | - | |
68 | - if(isset($data['delivery']) && $data['delivery']==0){ | |
69 | - $this->error[] = "Îøèáêà ââîäà ïîëÿ Äîñòàâêà."; | |
70 | - } | |
71 | - | |
72 | - if(isset($data['user_name'])){ | |
73 | - if( !preg_match("/.{1,100}/i",$data['user_name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
74 | - } | |
75 | - | |
76 | - if(isset($data['user_email'])){ | |
77 | - if( !preg_match("/.{1,80}/i",$data['user_email']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø e-mail (Ìàêñèìóì 80 ñèìâîëîâ)."; | |
78 | - } | |
79 | - | |
80 | - if(isset($data['user_login'])){ | |
81 | - if( !preg_match("/.{1,100}/i",$data['user_login']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø ëîãèí (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
82 | - elseif( $this->isLoginUser($data['user_login']) ) $this->error[] = "Îøèáêà òàêîé Ëîãèí óæå åñòü!"; | |
83 | - } | |
84 | - | |
85 | - if(isset($data['you_login'])){ | |
86 | - if( !$this->isLoginUser($data['you_login']) ) $this->error[] = "Òàêîãî ËÎÃÈÍÀ íåò â áàçå äàííûõ ñàéòà!"; | |
87 | - } | |
88 | - | |
89 | - if(isset($data['user_psw'])){ | |
90 | - if( !preg_match("/.{1,100}/i",$data['user_psw']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø ïàðîëü (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
91 | - } | |
92 | - | |
93 | - return ( count($this->error) ) ? true : false; | |
94 | - } | |
95 | - | |
96 | - function deleteRubric($id,$field="id"){ | |
97 | - $sql = "select pic,id,parent_id from catalogs_rubrics where $field=?"; | |
98 | - $res = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); | |
99 | - foreach($res as $row){ | |
100 | - @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/rubrics/{$row['pic']}"); | |
101 | - $sql = "delete from catalogs_rubrics where id=?"; | |
102 | - $this->db->query($sql,array($row['id'])); | |
103 | - $this->deleteFiltersRubric_id($row['id']); | |
104 | - $this->deleteYearsRubric_id($row['id']); | |
105 | - $this->deleteProductsRubric($row['id']); | |
106 | - $this->deleteRubric($row['id'],"parent_id"); | |
107 | - } | |
108 | - } | |
109 | - | |
110 | - function deleteProductPics($id,$pics = array('pic_big','pic')){ | |
111 | - $sql = "select pic_big,pic from catalogs_products where id=?"; | |
112 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
113 | - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/big/{$row['pic_big']}"); | |
114 | - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/{$row['pic']}"); | |
115 | - } | |
116 | - | |
117 | - function deleteProduct($id){ | |
118 | - $this->deleteProductPics($id); | |
119 | - $sql = "delete from catalogs_products where id=?"; | |
120 | - $this->db->query($sql,array($id)); | |
121 | - $this->delete_keysProductsFilters($id); | |
122 | - $this->delete_keysProductsAkcii($id); | |
123 | - $this->delete_keysProductsYears($id); | |
124 | - $this->delete_keysProductsCities($id); | |
125 | - $this->deleteProductModifications($id); | |
126 | - } | |
127 | - | |
128 | - function deleteProductsRubric($id){ | |
129 | - $res = $this->db->getAll("select id from catalogs_products where rubric_id=?",array($id),DB_FETCHMODE_ASSOC); | |
130 | - foreach($res as $row){ | |
131 | - $this->deleteProduct($row['id']); | |
132 | - } | |
133 | - } | |
134 | - | |
135 | - | |
136 | - function PhotosCheck($id_s,$check_s = array()){ | |
137 | - $sql = "UPDATE gallery SET active = ? WHERE id =?"; | |
138 | - | |
139 | - foreach($id_s as $id){ | |
140 | - $this->db->query($sql,array(0,$id)); | |
141 | - } | |
142 | - if(count($check_s)){ | |
143 | - foreach($check_s as $id){ | |
144 | - $this->db->query($sql,array(1,$id)); | |
145 | - } | |
146 | - } | |
147 | - } | |
148 | - | |
149 | - function viewRubrics($id = 0,$parent_id = 0){ // print $parent_id."<br />"; | |
150 | - global $rubrics; | |
151 | - //$sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; | |
152 | -$sql = "select a.*,(select b.translit from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid2,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; | |
153 | - | |
154 | -$res = $this->db->query($sql,array($id)); | |
155 | - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ | |
156 | - $rubrics[] = $row; //print $row['id']."<br />"; | |
157 | - | |
158 | - if(in_array($row['id'],$this->getParentIdRubric($parent_id))){$this->viewRubrics($row['id']);} | |
159 | - // if($row['level']==0){$this->viewRubrics($row['id']);} | |
160 | - } | |
161 | - $this->tpl->assign("rubrics",$rubrics); | |
162 | - } | |
163 | - | |
164 | - function getParentIdRubric($id){ | |
165 | - //$ids = array(); | |
166 | - global $ids; | |
167 | - if(!count($ids))$ids = array(); | |
168 | - while($id>0){ | |
169 | - $row = $this->db->getRow('select id,parent_id from catalogs_rubrics where id=?',array($id),DB_FETCHMODE_ASSOC); | |
170 | - //if(isset($row['id'])) | |
171 | - $ids[] = $row['id']; | |
172 | - $id = $row['parent_id']; | |
173 | - } //print_r($ids); | |
174 | - // sort($ids); | |
175 | - return $ids; | |
176 | - } | |
177 | - | |
178 | - function viewRubricsAll($id = 0){ | |
179 | - global $rubrics; | |
180 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
181 | - $res = $this->db->query($sql,array($id)); | |
182 | - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ | |
183 | - $rubrics[] = $row; | |
184 | - $this->viewRubricsAll($row['id']); | |
185 | - } | |
186 | - $this->tpl->assign("rubrics",$rubrics); | |
187 | - } | |
188 | - | |
189 | - | |
190 | - function viewRubrics_begin($item = 'parents'){ | |
191 | - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? order by a.sort asc"; | |
192 | - $row = $this->db->getAll($sql,array(0),DB_FETCHMODE_ASSOC); | |
193 | - foreach($row as $key=>$value){ | |
194 | - if($item=='parents'){ | |
195 | - $row[$key]['parents'] = $this->db->getAll("select * from catalogs_rubrics where parent_id=? order by sort asc",array($value['id']),DB_FETCHMODE_ASSOC); | |
196 | - }elseif($item=='brends'){ | |
197 | - $row[$key]['brends'] = $this->db->getAll("select * from catalogs_brends where rubric_id in (select id from catalogs_rubrics where parent_id=? or id=?) group by name",array($value['id'],$value['id']),DB_FETCHMODE_ASSOC); | |
198 | - } | |
199 | - } | |
200 | - $this->tpl->assign("catalogs_rubrics_begin",$row); | |
201 | - } | |
202 | - | |
203 | - function viewRubrics_parent($parent_id = 0){ | |
204 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
205 | - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); | |
206 | - $this->tpl->assign("catalogs_rubrics_parent",$row); | |
207 | - } | |
208 | - | |
209 | - function viewRubrics_parent2($rub_id){ | |
210 | - $parent_id = $this->getRubricParent($rub_id); | |
211 | - if($parent_id==0)$parent_id = $rub_id; | |
212 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
213 | - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); | |
214 | - $this->tpl->assign("catalogs_rubrics_parent2",$row); | |
215 | - } | |
216 | - | |
217 | - function viewRubricOne($id,&$row){ | |
218 | - $sql = "select * from catalogs_rubrics where id=?"; | |
219 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
220 | - $this->tpl->assign('rubric',$row); | |
221 | - } | |
222 | - | |
223 | - function getRubricName($id){ | |
224 | - $sql = "select name from catalogs_rubrics where id=?"; | |
225 | - return $this->db->getOne($sql,array($id)); | |
226 | - } | |
227 | - | |
228 | - function getRubricParent($id){ | |
229 | - $sql = "select parent_id from catalogs_rubrics where id=?"; | |
230 | - return $this->db->getOne($sql,array($id)); | |
231 | - } | |
232 | - | |
233 | - function SaveRubric($data,$upload){ | |
234 | - $table_name = "catalogs_rubrics"; | |
235 | - | |
236 | -if(trim($data['translit']) == '') $data['translit'] = translit($data['name']); | |
237 | - | |
238 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
239 | - $parent_id = (isset($data['parent_id']) ? $data['parent_id'] : 0); | |
240 | - $fields_values = array('parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1),'sort' => $data['sort'],'name' => $data['name'],'list_name' => $data['list_name'],'sort_cost' => $data['sort_cost'],'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'translit' => $data['translit']); | |
241 | - /* | |
242 | - if($upload['pic']['tmp_name']){ | |
243 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"180",'height'=>"180",'upload_path'=>"./uploaded/pic/catalogs/rubrics/")); | |
244 | - } */ | |
245 | - | |
246 | - if($upload['pic']['tmp_name']){ | |
247 | - if($data['update_id']>0)$this->deletePicRubric($data['update_id']); | |
248 | - $uploadfile = "./uploaded/pic/catalogs/rubrics/"; | |
249 | - $type = substr(strrchr($upload['pic']['name'],"."),1); | |
250 | - $uploadname = mktime() . "." . $type; | |
251 | - if (!move_uploaded_file($_FILES['pic']['tmp_name'], $uploadfile . $uploadname))print"Îøèáêà ïðè çàêà÷êå ôàéëà!"; | |
252 | - $fields_values['pic'] = $uploadname; | |
253 | - } | |
254 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
255 | - } | |
256 | - | |
257 | - function deletePicRubric($id){ | |
258 | - $sql = "select pic from catalogs_rubrics where id=?"; | |
259 | - $rub = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
260 | - @unlink("./uploaded/pic/catalogs/rubrics/{$rub['pic']}"); | |
261 | - } | |
262 | - | |
263 | - function getLevelRubric($id){ | |
264 | - $level = $this->db->getOne("select level from catalogs_rubrics where id=?",array($id)); | |
265 | - return ($level==null)? -1 : $level; | |
266 | - } | |
267 | - | |
268 | - function saveUser($data){ | |
269 | - $table_name = "catalogs_users"; | |
270 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
271 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'mktime'=>mktime()); | |
272 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
273 | - } | |
274 | - | |
275 | - function updateUser($data){ | |
276 | - $table_name = "catalogs_users"; | |
277 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
278 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'discount'=>$data['user_discount']); | |
279 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
280 | - } | |
281 | - | |
282 | - function updateUserID($data,$id){ | |
283 | - $table_name = "catalogs_users"; | |
284 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
285 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'psw' => $data['user_psw'],'about' => $data['user_about'],'phone' => $data['user_phone'],'phonemob' => $data['user_phonemob'],'adress' => $data['user_adress']); | |
286 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$id}"); | |
287 | - } | |
288 | - | |
289 | - function deleteUser($id){ | |
290 | - $this->db->query("delete from catalogs_users where id=?",array($id)); | |
291 | - $res_order_id = $this->db->getRow("select id from catalogs_orders where user_id=?",array($id),DB_FETCHMODE_ASSOC); | |
292 | - if(count($res_order_id)){ | |
293 | - foreach($res_order_id as $_id){ | |
294 | - $this->db->query("delete from catalogs_orders where id=?",array($_id)); | |
295 | - $this->db->query("delete from catalogs_orders_products where order_id=?",array($_id)); | |
296 | - }} | |
297 | - } | |
298 | - | |
299 | - function isLoginUser($login){ | |
300 | - return $this->db->getOne("select id from catalogs_users where login=?",array($login)); | |
301 | - } | |
302 | - | |
303 | - function sendLoginInfo($login){ | |
304 | - $user = $this->db->getRow("select * from catalogs_users where login=?",array($login),DB_FETCHMODE_ASSOC); | |
305 | - $mail = new PHPMailer(); | |
306 | - $mail->CharSet = "windows-1251"; | |
307 | - $mail->From = "shop@eltrade.com.ua"; | |
308 | - $mail->FromName = "shop@eltrade.com.ua"; | |
309 | - $mail->AddAddress($user['email'], $user['name']); | |
310 | - $mail->Subject = "Àêêàóíò ýêñòðèì"; | |
311 | - $msg = ""; | |
312 | - $msg .= "Çäðàâñòâóéòå: ".$user['name']; | |
313 | - $msg .= "<br />"; | |
314 | - $msg .= "Âàø ëîãèí: ".$user['login']; | |
315 | - $msg .= "<br>"; | |
316 | - $msg .= "Âàø ïàðîëü: ".$user['psw']; | |
317 | - $msg .= "<br>"; | |
318 | - $msg .= "Ñ óâàæåíèåì, shop@eltrade.com.ua"; | |
319 | - | |
320 | - $mail->MsgHTML($msg); | |
321 | - | |
322 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
323 | - $mail->ClearAddresses(); | |
324 | - $mail->ClearAttachments(); | |
325 | - } | |
326 | - | |
327 | - function isUser($login,$psw){ | |
328 | - $row = $this->db->getRow("select * from catalogs_users where login=? AND psw=?",array($login,$psw),DB_FETCHMODE_ASSOC); | |
329 | - $this->tpl->assign('user_service',$row); | |
330 | - return $row['id']; | |
331 | - } | |
332 | - | |
333 | - function viewUser($id){ | |
334 | - $sql = "select * from catalogs_users where id=?"; | |
335 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
336 | - $this->tpl->assign('user',$row); | |
337 | - } | |
338 | - | |
339 | - function getUserDiscount($id){ | |
340 | - return $this->db->getOne("select discount from catalogs_users where id=?",array($id)); | |
341 | - } | |
342 | - | |
343 | - function viewUsers(){ | |
344 | - $sql = "SELECT catalogs_users. *, COUNT(catalogs_orders.user_id) as count_orders | |
345 | -FROM catalogs_users LEFT JOIN catalogs_orders ON catalogs_orders.user_id=catalogs_users.id | |
346 | -GROUP BY catalogs_users.id | |
347 | -ORDER BY catalogs_users.mktime DESC"; | |
348 | - | |
349 | - $pagerOptions = Array( | |
350 | - 'mode' => 'Sliding', | |
351 | - 'delta' => 6, | |
352 | - 'perPage' => 10, | |
353 | - 'linkClass'=>"link_class", | |
354 | - 'curPageLinkClassName'=>"link_class_active", | |
355 | - 'spacesBeforeSeparator' => 1, | |
356 | - 'spacesAfterSeparator' => 1 | |
357 | - ); | |
358 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
359 | - | |
360 | - $this->tpl->assign('usersData', $res); | |
361 | - } | |
362 | - | |
363 | - function viewModifications($product_id){ | |
364 | - $sql = "select * from catalogs_modifications where product_id=? order by id desc"; | |
365 | - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
366 | - $this->tpl->assign('modifications', $row); | |
367 | - } | |
368 | - | |
369 | - function viewModificationsProduct($product_id){ | |
370 | - $sql = "select * from catalogs_modifications where product_id=? and active>0 order by id desc"; | |
371 | - // $sql = "select m.* from catalogs_keys_products_cities k left join catalogs_modifications m on m.code=k.mod_code where k.product_id=? and k.count>0 order by k.mod_code desc"; | |
372 | - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
373 | - $this->tpl->assign('modifications', $row); | |
374 | - } | |
375 | - | |
376 | - function viewModificationOne($id){ | |
377 | - $sql = "select * from catalogs_modifications where id=?"; | |
378 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
379 | - $this->tpl->assign('modification', $row); | |
380 | - } | |
381 | - | |
382 | - function getModificationProduct_id($code){ | |
383 | - return $this->db->getOne("select product_id from catalogs_modifications where code=?",array($code)); | |
384 | - } | |
385 | - | |
386 | - function SaveModification($data,$upload){ | |
387 | - $table_name = "catalogs_modifications"; | |
388 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
389 | - $fields_values = array('product_id'=>$data['product_id'],'code'=>$data['code'],'size' => $data['size'],'color' => $data['color'],'active' => $data['active']); | |
390 | - if(isset($data['delete_pic'])){if($data['update_id']>0){$this->deleteModificationPics($data['update_id']);}$fields_values['pic']=null;$fields_values['pic_big']=null;} | |
391 | - if($upload['pic']['tmp_name']){ | |
392 | - if($data['update_id']>0){ | |
393 | - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); | |
394 | - $this->deleteModificationPics($data['update_id'],$delete_pics); | |
395 | - } | |
396 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/modifications/")); | |
397 | - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/modifications/big/")); | |
398 | - } | |
399 | - | |
400 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='{$data['update_id']}'"); | |
401 | - return $id; | |
402 | - } | |
403 | - | |
404 | - function deleteModification($id){ | |
405 | - $this->deleteModificationPics($id); | |
406 | - $this->db->query("delete from catalogs_modifications where id=?",array($id)); | |
407 | - } | |
408 | - | |
409 | - function deleteProductModifications($product_id,$nopic = false){ | |
410 | - IF($nopic==false){ | |
411 | - $sql = "select * from catalogs_modifications where product_id=?"; | |
412 | - $res = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
413 | - foreach($res as $row){ | |
414 | - $this->deleteModificationPics($row['id']); | |
415 | - } | |
416 | - } | |
417 | - $this->db->query("delete from catalogs_modifications where product_id=?",array($product_id)); | |
418 | - } | |
419 | - | |
420 | - function deleteModificationPics($id,$pics = array('pic_big','pic')){ | |
421 | - $sql = "select pic,pic_big from catalogs_modifications where id=?"; | |
422 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
423 | - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/{$row['pic']}"); | |
424 | - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/big/{$row['pic_big']}"); | |
425 | - } | |
426 | - | |
427 | - function ProductClick($id){ | |
428 | - $this->db->query("update catalogs_products set click=click+1 where id='$id'"); | |
429 | - } | |
430 | - | |
431 | - function SaveProduct($data,$upload){ | |
432 | - $table_name = "catalogs_products"; | |
433 | - | |
434 | -if(trim(@$data['translit'])=="") $data['translit'] = @totranslit($data['name']); | |
435 | - | |
436 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
437 | - $id = ($data['update_id']>0) ? $data['update_id'] : $this->db->nextId('mySequence_'.$table_name); | |
438 | - $fields_values = array('id'=>$id,'rubric_id'=>$data['rubric_id'],'rubric_parent_id'=>$this->getRubricParent($data['rubric_id']),'brend_id'=>$data['brend_id'],'name' => $data['name'],'about' => $data['about'],'text' => $data['text'],'strnumber' => $data['strnumber'],'cine'=>$data['cine'],'cine_last'=>$data['cine_last'],'sex'=>$data['sex'], 'mktime' => mktime(),'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'active' => $data['active'],'translit' => $data['translit']); | |
439 | - if(isset($data['is_cost2']))$fields_values['is_cost2'] = 1;else $fields_values['is_cost2'] = 0; | |
440 | - if(isset($data['cine2']))$fields_values['cine2'] = $data['cine2']; | |
441 | - if(isset($data['params']))$fields_values['params'] = $data['params']; | |
442 | - if(isset($data['doc']))$fields_values['doc'] = $data['doc']; | |
443 | - if(isset($data['video_code']))$fields_values['video_code'] = $data['video_code']; | |
444 | - if(isset($data['akcii_id']))$fields_values['akcii_id'] = $data['akcii_id']; | |
445 | - | |
446 | - if(isset($data['translit']))$fields_values['translit'] = $data['translit']; | |
447 | - | |
448 | - if($upload['pic']['tmp_name']){ | |
449 | - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); | |
450 | - $this->deleteProductPics($id,$delete_pics); | |
451 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/products/")); | |
452 | - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/products/big/")); | |
453 | - } | |
454 | - | |
455 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='$id'"); | |
456 | - $this->save_keysProductsFilters($id,$data); | |
457 | - $this->save_keysProductsYears($id,$data); | |
458 | - //$this->save_keysProductsCities($id,$data); | |
459 | - $this->save_keysProductsAkcii($id,$data); | |
460 | - return $id; | |
461 | - } | |
462 | - | |
463 | - function save_keysProductsFilters($id,$data){ | |
464 | - $this->delete_keysProductsFilters($id); | |
465 | - if(!isset($data['filter']))return false; | |
466 | - $table_name = "catalogs_keys_products_filters"; | |
467 | - foreach($data['filter'] as $filter_id){ | |
468 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'filter_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); | |
469 | - } | |
470 | - } | |
471 | - | |
472 | - function delete_keysProductsFilters($id){ | |
473 | - $this->db->query("delete from catalogs_keys_products_filters where product_id=?",array($id)); | |
474 | - } | |
475 | - | |
476 | - function save_keysProductsYears($id,$data){ | |
477 | - $this->delete_keysProductsYears($id); | |
478 | - if(!isset($data['years']))return false; | |
479 | - $table_name = "catalogs_keys_products_years"; | |
480 | - foreach($data['years'] as $filter_id){ | |
481 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'year_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); | |
482 | - } | |
483 | - } | |
484 | - | |
485 | - function delete_keysProductsYears($id){ | |
486 | - $this->db->query("delete from catalogs_keys_products_years where product_id=?",array($id)); | |
487 | - } | |
488 | - | |
489 | - function save_keysProductsCities($id,$data){ | |
490 | - $this->delete_keysProductsCities($id); | |
491 | - if(!isset($data['city']))return false; | |
492 | - $table_name = "catalogs_keys_products_cities"; | |
493 | - foreach($data['city'] as $city_id){ | |
494 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'city_id'=>$city_id),DB_AUTOQUERY_INSERT); | |
495 | - } | |
496 | - } | |
497 | - | |
498 | - function delete_keysProductsAkcii($id){ | |
499 | - $this->db->query("delete from catalogs_keys_products_akcii where product_id=?",array($id)); | |
500 | - } | |
501 | - | |
502 | - function save_keysProductsAkcii($id,$data){ | |
503 | - $this->delete_keysProductsAkcii($id); | |
504 | - if(!isset($data['akcii']))return false; | |
505 | - $table_name = "catalogs_keys_products_akcii"; | |
506 | - foreach($data['akcii'] as $rubric_id){ | |
507 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'rubric_id'=>$rubric_id),DB_AUTOQUERY_INSERT); | |
508 | - } | |
509 | - } | |
510 | - | |
511 | - function delete_keysProductsCities($id){ | |
512 | - $this->db->query("delete from catalogs_keys_products_cities where product_id=?",array($id)); | |
513 | - } | |
514 | - | |
515 | - | |
516 | - function saveProductSizeCine($id,$data){ | |
517 | - $this->db->query("delete from catalogs_products_cine where product_id=?",array($id)); | |
518 | - foreach($data['size'] as $key=>$size){ | |
519 | - $this->db->autoExecute("catalogs_products_cine",array('product_id'=>$id,'size'=>$size,'cine'=>$data['cine'][$key],'metka'=>$data['size_metka'][$key],'n'=>$key),DB_AUTOQUERY_INSERT); | |
520 | - } | |
521 | - } | |
522 | - | |
523 | - | |
524 | - function productsIsHits($products,$hits,$tops,$headers){ | |
525 | - $sql = "update catalogs_products set hit=?,top=?,header=? where id=?"; | |
526 | - foreach($products as $id){ | |
527 | - if(@in_array($id,$hits))$hit = true; | |
528 | - else $hit = false; | |
529 | - if(@in_array($id,$tops))$top = true; | |
530 | - else $top = false; | |
531 | - if(@in_array($id,$headers))$header = true; | |
532 | - else $header = false; | |
533 | - $this->db->query($sql,array($hit,$top,$header, $id)); | |
534 | - } | |
535 | - } | |
536 | - | |
537 | - function productsIsHits2($data,$hits){ | |
538 | - $sql = "update catalogs_products set hit=?,hit_sort=? where id=?"; | |
539 | - foreach($data['product_id'] as $key=>$id){ | |
540 | - if(@in_array($id,$hits))$hit = true; | |
541 | - else $hit = false; | |
542 | - $this->db->query($sql,array($hit,$data['hit_sort'][$key],$id)); | |
543 | - } | |
544 | - } | |
545 | - | |
546 | - function viewProductsRubrics($rubrics,$limit=20){ | |
547 | - $data = array(); | |
548 | - foreach($rubrics as $key=>$rubric_id){ | |
549 | - $data[$key]['rubric']['name'] = $this->getRubricName($rubric_id); | |
550 | - $data[$key]['rubric']['id'] = $rubric_id; | |
551 | - | |
552 | - $count = $this->db->getOne("select count(*) from catalogs_products WHERE count_modifications>0 and rubric_id=?",array($rubric_id)); | |
553 | - $limit = 4; $round = ($count>$limit) ? rand(0,($count-$limit)) : $limit; | |
554 | - $sql = "select * from catalogs_products where count_modifications>0 and rubric_id=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " limit $round,$limit"; | |
555 | - $data[$key]['products'] = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); | |
556 | - } | |
557 | - /* print"<pre>"; | |
558 | - print_r($data); | |
559 | - print"</pre>"; */ | |
560 | - $this->tpl->assign('products',$data); | |
561 | - } | |
562 | - | |
563 | - function seralizeFilter($str){ | |
564 | - $array = explode(';',$str); | |
565 | - $filter = array(); | |
566 | - foreach($array as $key=>$value){ | |
567 | - $filter[substr($value,0,1)][] = substr($value,1, strpos($value,"_")-1 ); | |
568 | - } | |
569 | - return $filter; | |
570 | - } | |
571 | - | |
572 | - function viewProducts($params,$rubricsP = false,$count_modf = true){ | |
573 | - | |
574 | - | |
575 | - //exit; | |
576 | - | |
577 | - | |
578 | - if(isset($params['filter']) && count($params['filter'])>0)$filter = $this->seralizeFilter($params['filter']); | |
579 | - $search = array(); | |
580 | - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; | |
581 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){ | |
582 | - $array_string = explode(" ",trim($params['search_str'])); | |
583 | - $search_string = array(); | |
584 | - $search_string[] = "catalogs_products.name like '%".mysql_real_escape_string($params['search_str'])."%'"; | |
585 | - $search_string[] = "catalogs_products.text like '%".mysql_real_escape_string($params['search_str'])."%'"; | |
586 | - /* foreach($array_string as $str){ | |
587 | - $search_string[] = "catalogs_products.name like '$str'"; | |
588 | - $search_string[] = "catalogs_products.name like'% $str %'"; | |
589 | - $search_string[] = "catalogs_products.name like'%$str %'"; | |
590 | - $search_string[] = "catalogs_products.name like'% $str%'"; | |
591 | - | |
592 | - $search_string[] = "catalogs_products.text like '$str'"; | |
593 | - $search_string[] = "catalogs_products.text like'% $str %'"; | |
594 | - $search_string[] = "catalogs_products.text like'%$str %'"; | |
595 | - $search_string[] = "catalogs_products.text like'% $str%'"; | |
596 | - } */ | |
597 | - $search[] = "((" . implode(" OR ",$search_string) . ") OR ". sprintf("catalogs_modifications.code='%s'", mysql_real_escape_string($params['search_str'])).")"; | |
598 | - } | |
599 | - // print_r($params); | |
600 | - if(isset($params['brendID']) && $params['brendID']>0)$search[] = sprintf("catalogs_products.brend_id='%d'",$params['brendID']); | |
601 | - if(isset($params['akciiID']) && $params['akciiID']>0)$search[] = sprintf("catalogs_products.akcii_id='%d'",$params['akciiID']); | |
602 | - if(isset($params['brend']) && strlen($params['brend'])>0)$search[] = "catalogs_products.brend_id in(".implode(",",$this->getBrendIDs_name($params['brend'])).")"; | |
603 | - if(isset($params['sex']) && strlen($params['sex'])>0){ | |
604 | - $sex = array('male'=>1,'female'=>2,'child'=>3,'unisex'=>4); | |
605 | - $search[] = sprintf("catalogs_products.sex='%d'",$sex[$params['sex']]); | |
606 | - | |
607 | - } | |
608 | - //if(isset($params['akcii']) && $params['akcii']>0)$search[] = sprintf("catalogs_products.hit='%d'",$params['akcii']); | |
609 | - if($count_modf==true)$search[] = "catalogs_products.count_modifications>0"; | |
610 | - if(isset($params['rubID']) && $params['rubID']>0){ | |
611 | - $search[] = ($rubricsP==true)?sprintf("(catalogs_products.rubric_id='%d')",$params['rubID']):sprintf(" | |
612 | - (catalogs_products.rubric_parent_id='%d' || | |
613 | - catalogs_products.rubric_id='%d' || | |
614 | - catalogs_products.rubric_id=(SELECT id FROM catalogs_rubrics WHERE translit='%d') || | |
615 | - catalogs_products.rubric_parent_id=(SELECT id FROM catalogs_rubrics WHERE translit='%d'))",$params['rubID'],$params['rubID'],$params['rubID'],$params['rubID']); | |
616 | - } | |
617 | - | |
618 | - /* if(isset($params['filterID'])){ | |
619 | - //$search[] = sprintf("catalogs_keys_products_filters.filter_id='%d'", $params['filterID']); | |
620 | - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$params['filterID']).")"; | |
621 | - }*/ | |
622 | - if(isset($filter['f']) && count($filter['f'])>0){ | |
623 | - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$filter['f']).")"; | |
624 | - } | |
625 | -/* if(isset($params['yearID']) && $params['yearID']>0){ | |
626 | - //$search[] = sprintf("catalogs_keys_products_years.year_id='%d'", $params['yearID']); | |
627 | - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$params['yearID']).")"; | |
628 | - }*/ | |
629 | - if(isset($filter['y']) && $filter['y']>0){ | |
630 | - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$filter['y']).")"; | |
631 | - } | |
632 | - $sql = "select catalogs_rubrics.translit as translit2,catalogs_products.*,catalogs_brends.name as brend_name,catalogs_rubrics.list_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id LEFT JOIN catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id "; | |
633 | - if(isset($params['akcii']) && $params['akcii']>0)$sql .= "RIGHT JOIN catalogs_keys_products_akcii ON catalogs_keys_products_akcii.product_id=catalogs_products.id "; | |
634 | - if(isset($filter['f']) && count($filter['f'])>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; | |
635 | - //if(isset($params['filterID']) && $params['filterID']>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; | |
636 | -// if(isset($params['yearID']) && $params['yearID']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; | |
637 | - if(isset($filter['y']) && $filter['y']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; | |
638 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=catalogs_products.id ";} | |
639 | - $sql .= "WHERE 1=1 "; | |
640 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
641 | - if(isset($params['akcii']) && $params['akcii']>0){$sql .= " GROUP BY catalogs_keys_products_akcii.product_id ";} | |
642 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= " GROUP BY catalogs_products.id ";} | |
643 | - $sql .= "order by "; | |
644 | - if(isset($params['sort'])){ | |
645 | - switch($params['sort']){ | |
646 | - case 'cine' : $sql .= " catalogs_products.cine " . (($_GET['order']=='asc')?"asc":"desc"); break; | |
647 | - case 'click' : $sql .= " catalogs_products.click " . (($_GET['order']=='asc')?"asc":"desc"); break; | |
648 | - case 'hit' : $sql .= " catalogs_products.hit_sort asc"; break; | |
649 | - default : $sql .= " catalogs_products.mktime desc"; | |
650 | - } | |
651 | - }else $sql .= " catalogs_products.cine desc"; | |
652 | - | |
653 | - $pagerOptions = Array( | |
654 | - 'mode' => 'Sliding', | |
655 | - 'delta' => 5, | |
656 | - 'perPage' => $perPage, | |
657 | - 'linkClass'=>"link_class", | |
658 | - 'curPageLinkClassName'=>"link_class_active", | |
659 | - 'spacesBeforeSeparator' => 1, | |
660 | - 'spacesAfterSeparator' => 1 | |
661 | - ); | |
662 | - //echo $sql; | |
663 | - //$sql=""; | |
664 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
665 | - | |
666 | -if($_GET['test']=='1') | |
667 | -for($i=0;$i<count($res['data']);$i++){ | |
668 | - if( @$res['data'][$i]['rating'] ) $res['data'][$i]['rating'] = round( (@$res['data'][$i]['rating'] / @$res['data'][$i]['vote_num']), 0 ); | |
669 | - else $res['data'][$i]['rating'] = 0; | |
670 | - $res['data'][$i]['rating'] = @$res['data'][$i]['rating'] * 17; | |
671 | -} | |
672 | - | |
673 | -//if($_GET['test']=='1') print_r($res); | |
674 | - | |
675 | - $this->tpl->assign('productsData', $res); | |
676 | - return $res; | |
677 | - } | |
678 | - | |
679 | - function getCineCurs($type_curs,$cine){ | |
680 | - $curs = array(); | |
681 | - | |
682 | - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); | |
683 | - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); | |
684 | - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); | |
685 | - | |
686 | - switch($type_curs){ | |
687 | - case 'uah' : | |
688 | - $curs['uah'] = round($cine,2); | |
689 | - $curs['uah_bank'] = round(($cine/$usd)*$uah_bank,2); | |
690 | - $curs['usd'] = round($cine/$usd,2); | |
691 | - break; | |
692 | - case 'uah_bank' : | |
693 | - $curs['uah'] = round(($cine/$uah_bank)*$uah,2); | |
694 | - $curs['uah_bank'] = round($cine,2); | |
695 | - $curs['usd'] = round($cine/$uah_bank,2); | |
696 | - break; | |
697 | - case 'usd' : | |
698 | - $curs['uah'] = round($cine*$uah,2); | |
699 | - $curs['uah_bank'] = round($cine*$uah_bank,2); | |
700 | - $curs['usd'] = round($cine,2); | |
701 | - break; | |
702 | - } | |
703 | - return $curs; | |
704 | - } | |
705 | - | |
706 | - function viewProductsAkcii($rubric_id){ | |
707 | - $sql = "select catalogs_products.* from catalogs_keys_products_akcii left join catalogs_products on catalogs_products.id=catalogs_keys_products_akcii.product_id where catalogs_keys_products_akcii.rubric_id=?"; | |
708 | - $res = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); | |
709 | - //print_r($res); | |
710 | - $this->tpl->assign('products_akcii',$res); | |
711 | - } | |
712 | - | |
713 | - function viewProductsHitsAll2(){ | |
714 | - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; | |
715 | - $sql = "select * from catalogs_products where hit=?"; | |
716 | - $pagerOptions = Array( | |
717 | - 'mode' => 'Sliding', | |
718 | - 'delta' => 6, | |
719 | - 'perPage' => $perPage, | |
720 | - 'linkClass'=>"link_class", | |
721 | - 'curPageLinkClassName'=>"link_class_active", | |
722 | - 'spacesBeforeSeparator' => 1, | |
723 | - 'spacesAfterSeparator' => 1 | |
724 | - ); | |
725 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array(true)); | |
726 | - | |
727 | - $this->tpl->assign('productsData', $res); | |
728 | - } | |
729 | - | |
730 | - function viewProductsHits($params,$limit = 4,$curs = null){ | |
731 | - $search = array(); | |
732 | - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); | |
733 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.hit=? and catalogs_products.count_modifications>0 "; | |
734 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
735 | - $sql .= "order by catalogs_products.mktime desc"; | |
736 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
737 | - $this->tpl->assign('products_hits',$res); | |
738 | - } | |
739 | - | |
740 | - function viewProductsTops($params,$limit = 4,$curs = null){ | |
741 | - $search = array(); | |
742 | - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); | |
743 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.top=? and catalogs_products.count_modifications>0 "; | |
744 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
745 | - $sql .= "order by catalogs_products.mktime desc"; | |
746 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
747 | - $this->tpl->assign('products_top',$res); | |
748 | - } | |
749 | - | |
750 | - function viewProductsTopOne(){ | |
751 | - $count = $this->db->getOne("select count(*) from catalogs_products WHERE catalogs_products.header=?",array(true)); | |
752 | - $limit = 1; $round = rand(0,($count-$limit)); | |
753 | - $res = $this->db->getRow("select * from catalogs_products WHERE catalogs_products.header=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(true),DB_FETCHMODE_ASSOC); | |
754 | - $this->tpl->assign('products_top_one',$res); | |
755 | - } | |
756 | - | |
757 | - function viewProductsLast($limit = 1){ | |
758 | - $search = array(); | |
759 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.active=? "; | |
760 | - $sql .= "order by catalogs_products.mktime desc LIMIT $limit"; | |
761 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
762 | - $this->tpl->assign('products_last',$res); | |
763 | - } | |
764 | - | |
765 | - function viewProductsHitsAll($limit = 4){ | |
766 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE hit=? "; | |
767 | - $sql .= "order by mktime desc LIMIT $limit"; | |
768 | - $products_hits = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
769 | - $this->tpl->assign('products_hits_all',$products_hits); | |
770 | - } | |
771 | - | |
772 | - function viewProductOne($id,&$row){ | |
773 | - $sql = "select p.*,b.name as brend_name,b.text as brend_text,b.pic_s as brend_pic_s from catalogs_products p left join catalogs_brends b ON b.id=p.brend_id where p.id=?"; | |
774 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
775 | - $this->tpl->assign('product',$row); | |
776 | - } | |
777 | - | |
778 | - function deleteCompareProduct(&$compare,$id){ | |
779 | - foreach($compare as $key=>$_id){ | |
780 | - if($_id == $id)unset($compare[$key]); | |
781 | - } | |
782 | - } | |
783 | - | |
784 | - function viewCompareProducts($compare){ | |
785 | - $products = array(); | |
786 | - $i = 0; | |
787 | - foreach($compare as $id){ | |
788 | - $sql = "select p.* from catalogs_products p where p.id=?"; | |
789 | - $products[$i] = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
790 | - $products[$i]['params'] = $this->getProductParams($id); | |
791 | - $i++; | |
792 | - } //print_r($products); | |
793 | - $this->tpl->assign('products',$products); | |
794 | - } | |
795 | - | |
796 | - function viewProductNembers($str_n){ | |
797 | - $arr_id = explode(",",$str_n); | |
798 | - $products = array(); | |
799 | - foreach($arr_id as $id){ | |
800 | - $count = $this->db->getOne("select count(*) from catalogs_keys_products_filters where filter_id=?",array(trim($id))); | |
801 | - $limit = 1; $round = rand(0,($count-$limit)); //" LIMIT 0,$limit" | |
802 | - $sql = "select catalogs_rubrics.translit as translit2, catalogs_products.*,catalogs_keys_products_filters.filter_id as prd from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id Left Join catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id where catalogs_keys_products_filters.filter_id=? and catalogs_products.count_modifications>0 order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit"; | |
803 | - $row = $this->db->getRow($sql ,array(trim($id)),DB_FETCHMODE_ASSOC); | |
804 | - if(count($row)>0)$products[] = $row; | |
805 | - } | |
806 | - | |
807 | -// $products = $this->db->getAll("select catalogs_rubrics.translit as translit2,catalogs_products.*,catalogs_keys_products_filters.filter_id as prd from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id Left Join catalogs_rubrics ON catalogs_rubrics.id=catalogs_products.rubric_id where catalogs_keys_products_filters.filter_id in(".implode(',',$arr_id).") and catalogs_products.count_modifications>0 Group By catalogs_keys_products_filters.filter_id order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") ,array(),DB_FETCHMODE_ASSOC); | |
808 | - $this->tpl->assign('products_parent',$products); | |
809 | - } | |
810 | - | |
811 | - function getProductSizeCine($id,&$products){ | |
812 | - $res = $this->db->getAll("select * from catalogs_products_cine where product_id=?",array($id),DB_FETCHMODE_ASSOC); | |
813 | - $i = 0; | |
814 | - foreach($res as $row){ | |
815 | - $products['size_' . $row['n']] = $row['size']; | |
816 | - $products['cine_' . $row['n']] = $row['cine']; | |
817 | - $products['metka_' . $row['n']] = $row['metka']; | |
818 | - $products['id_cine_' . $row['n']] = $row['id']; | |
819 | - $i++; | |
820 | - } //print_r($products); | |
821 | - } | |
822 | - /* | |
823 | - function getProductCine($id,$curs = null){ | |
824 | - $sql = "select cine from catalogs_products where id=?"; | |
825 | - $row = $this->db->getOne($sql,array($id)); | |
826 | - return $row; | |
827 | - }*/ | |
828 | - | |
829 | - function getProductCine($id){ | |
830 | - $sql = "select IF( catalogs_products.is_cost2 <1, catalogs_products.cine, catalogs_products.cine2 ) AS cine from catalogs_modifications left join catalogs_products on catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; | |
831 | - return $this->db->getOne($sql,array($id)); | |
832 | - } | |
833 | - | |
834 | - function viewProductCine($id){ | |
835 | - $row = $this->db->getAll("select * from catalogs_products_cine where product_id=? and cine>0 Order By n ASC",array($id),DB_FETCHMODE_ASSOC); | |
836 | - $this->tpl->assign('product_cines',$row); | |
837 | - } | |
838 | - | |
839 | - function viewCatalogsCurs(){ | |
840 | - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); | |
841 | - $this->tpl->assign('curs_uah',$uah); | |
842 | - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); | |
843 | - $this->tpl->assign('curs_uah_bank',$uah_bank); | |
844 | - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); | |
845 | - $this->tpl->assign('curs_usd',$usd); | |
846 | - } | |
847 | - | |
848 | - function saveCurs($data){ | |
849 | - $table_name = "catalogs_curs"; | |
850 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
851 | - foreach($data as $key=>$value){ | |
852 | - $this->db->autoExecute($table_name,array('curs'=>$value),$DB_AUTOQUERY,"type='$key'"); | |
853 | - } | |
854 | - } | |
855 | - | |
856 | - function viewVarCurs($curs){ | |
857 | - $this->tpl->assign('curs',$curs); | |
858 | - } | |
859 | - | |
860 | - function viewBasketProducts($session_basket,$curs = null,$discount = 0){ | |
861 | - $products = array(); $i = 0; $cineAll = 0; | |
862 | -// $sql = "select catalogs_products.* from catalogs_products where catalogs_products.id=?"; | |
863 | - $sql = "select catalogs_modifications.id,IF(catalogs_products.is_cost2<1,catalogs_products.cine,catalogs_products.cine2) as cine,catalogs_products.name,catalogs_modifications.code,catalogs_modifications.size,catalogs_modifications.color,catalogs_modifications.pic,catalogs_modifications.pic_big from catalogs_modifications Left Join catalogs_products On catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; | |
864 | - | |
865 | - foreach($session_basket as $id){ | |
866 | - $products_count = 1; | |
867 | - if(count($products)){ | |
868 | - foreach($products as $key=>$value){ | |
869 | - if($value['id']==$id){$products_count=$products[$key]['products_count']+$products_count;$products[$key]['products_count']=$products_count;$products[$key]['products_cine_all']=$products[$key]['cine']*$products_count;$cineAll = $cineAll+$products[$key]['cine'];} | |
870 | - }} | |
871 | - if($products_count==1){ | |
872 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
873 | - $products[$i] = $row; | |
874 | - $products[$i]['products_count']=$products_count; | |
875 | - $products[$i]['products_cine_all']=$products[$i]['cine']*$products_count; | |
876 | - $cineAll = $cineAll+$products[$i]['products_cine_all']; | |
877 | - $i++; | |
878 | - } | |
879 | - | |
880 | - } | |
881 | - /*print"<pre>"; | |
882 | - print_r($products); | |
883 | - print"</pre>";*/ | |
884 | - $this->tpl->assign('cineAll',$cineAll); | |
885 | - $this->tpl->assign('cineAll_discount',$cineAll - (($cineAll*$discount)/100)); | |
886 | - $this->tpl->assign('basket_products',$products); //print_r($products); | |
887 | - } | |
888 | - | |
889 | - | |
890 | - function BasketUpload(&$session_basket,$proructs_count){ | |
891 | - | |
892 | - // ========== ZLODEYEV ============ | |
893 | - | |
894 | - foreach($proructs_count as $key=>$value){ | |
895 | - | |
896 | - // ==== îáíîâëÿåì ==== | |
897 | - | |
898 | - // Âûáèðàåì èíôî î òîâàðå | |
899 | - $sql4 = "SELECT * FROM catalogs_modifications as m | |
900 | - LEFT JOIN catalogs_products as p | |
901 | - ON p.id=m.product_id | |
902 | - WHERE m.id='".$key."' "; | |
903 | - $result4 = mysql_query($sql4) or die(mysql_error()); | |
904 | - if (mysql_affected_rows()!=0) { | |
905 | - $item=mysql_fetch_assoc($result4); | |
906 | - } | |
907 | - | |
908 | - $f=0; | |
909 | - | |
910 | - if (isset($_SESSION['shopcart'])) { | |
911 | - | |
912 | - foreach ($_SESSION['shopcart'] as $i => $cart) { | |
913 | - | |
914 | - | |
915 | - if ($cart['code']!='' && $cart['code']==$key) { | |
916 | - $f=1; | |
917 | - $_SESSION['shopcart'][$i]['count']=$value; | |
918 | - $_SESSION['shopcart'][$i]['total']=$value*$_SESSION['shopcart'][$i]['price']; | |
919 | - if ($_SESSION['shopcart'][$i]['total']==0) { | |
920 | - unset($_SESSION['shopcart'][$i]); | |
921 | - } | |
922 | - break; | |
923 | - } | |
924 | - } | |
925 | - } | |
926 | - } | |
927 | - | |
928 | - // ========== ZLODEYEV ============ | |
929 | - | |
930 | - | |
931 | - $session_basket = array(); | |
932 | - foreach($proructs_count as $key=>$value){ | |
933 | - for($i=0;$i<$value;$i++){ | |
934 | - $session_basket[] = $key; | |
935 | - } | |
936 | - } | |
937 | - } | |
938 | - | |
939 | - function sendOrder($data){ | |
940 | - $mail = new PHPMailer(); | |
941 | - $mail->CharSet = "windows-1251"; | |
942 | - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
943 | - $mail->FromName = $data['order_name']; | |
944 | - $mail->AddAddress("shop@eltrade.com.ua","shop"); | |
945 | - $mail->Subject = "Îôîðìèòü çàêàç ñ ÝêñòðèìÑòèëü"; | |
946 | - $title = Mail::str_rus("Îôîðìèòü çàêàç"); | |
947 | - $msg = ""; | |
948 | - foreach($data['product_id'] as $key=>$value){ | |
949 | - $msg .= "ID: ".$value." "; | |
950 | - $msg .= "Íàçâàíèå: <b>".$data['product_name'][$key]."</b> "; | |
951 | - $msg .= "Öåíà çà îäèí: ".$data['product_cine'][$key]." "; | |
952 | - $msg .= "Êîëè÷åñòâî: ".$data['product_count'][$key]." "; | |
953 | - $msg .= "Çà âåñü òîâàð: ".$data['product_cine_all'][$key]." "; | |
954 | - $msg .= "<br>"; | |
955 | - } | |
956 | - $msg .= "Îáùàÿ ñóìà: ".$data['cineAll']; | |
957 | - $msg .= "<br>"; | |
958 | - /* $msg .= "Ñêèäêà: ".$data['discount']." %"; | |
959 | - $msg .= "<br>"; */ | |
960 | - $msg .= "Èòîãî ê îïëàòå: ".$data['cineAll_discount']; | |
961 | - $msg .= "<br><br><br>"; | |
962 | - $msg .= "Êîíòàêòíûå äàííûå:"; | |
963 | - $msg .= "<br>"; | |
964 | - $msg .= "Èìÿ: ".$data['order_name']; | |
965 | - $msg .= "<br>"; | |
966 | - $msg .= "Àäðåñ: ".$data['order_adress']; | |
967 | - $msg .= "<br>"; | |
968 | - $msg .= "E-mail: ".$data['order_email']; | |
969 | - $msg .= "<br>"; | |
970 | - $msg .= "Êîíòàêòíûé òåëåôîí: ".$data['order_phone']; | |
971 | -// $msg .= "<br>"; | |
972 | -// $msg .= "Ìîáèëüíûé òåëåôîí: ".$data['order_phonemob']; | |
973 | - $msg .= "<br>"; | |
974 | - $msg .= "Êîììåíòàðèé: ".$data['order_comment']; | |
975 | -// $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "vapila@vapila.kiev.ua"; | |
976 | -// Mail::send("borisenko.pavel@gmail.com",$data['order_email'],$title,Mail::str_rus($msg)); | |
977 | - $mail->MsgHTML($msg); | |
978 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
979 | - $mail->ClearAddresses(); | |
980 | - $mail->ClearAttachments(); | |
981 | - | |
982 | - $this->sendOrderXML($data); | |
983 | - } | |
984 | - | |
985 | - | |
986 | - function sendOrderXML($data){ | |
987 | - | |
988 | - | |
989 | - | |
990 | -$data['order_phone'] = str_replace("-","",$data['order_phone']); | |
991 | -$data['order_phone'] = str_replace(")","",$data['order_phone']); | |
992 | -$data['order_phone'] = str_replace("(","",$data['order_phone']); | |
993 | -$data['order_phone'] = str_replace(" ","",$data['order_phone']); | |
994 | -$data['order_phone'] = "+38".$data['order_phone']; | |
995 | - | |
996 | - | |
997 | - | |
998 | - $mail = new PHPMailer(); | |
999 | - $mail->CharSet = "windows-1251"; | |
1000 | - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
1001 | - $mail->FromName = $data['order_name']; | |
1002 | - $mail->AddAddress("extremshop@portal.myoffice.biz.ua","extremshop"); | |
1003 | - $mail->Subject = "xml çàêàç ñ ÝêñòðèìÑòèëü"; | |
1004 | - $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
1005 | - $xml = '<?xml version="1.0" encoding="windows-1251" ?>'; | |
1006 | - $xml .= '<Order orderNum="'.mktime().'">'; | |
1007 | - foreach($data['product_id'] as $key=>$value){ | |
1008 | - $xml .= "<OrderItem ID='".$data['product_code'][$key]."'>"; | |
1009 | - $xml .= "<ProductName>".$data['product_name2'][$key]."</ProductName>"; | |
1010 | - $xml .= "<Size>".$data['product_size'][$key]."</Size>"; | |
1011 | - $xml .= "<Color>".$data['product_color'][$key]."</Color>"; | |
1012 | - $xml .= "<Price>".$data['product_price'][$key]."</Price>"; | |
1013 | - $xml .= "<Count>".$data['product_count'][$key]."</Count>"; | |
1014 | - $xml .= "</OrderItem>"; | |
1015 | - } | |
1016 | - $xml .= '<CustomerInfo>'; | |
1017 | - $xml .= '<Name>'.$data['order_name'].'</Name>'; | |
1018 | - $xml .= '<Mobile>'.$data['order_phone'].'</Mobile>'; | |
1019 | - $xml .= '<Email>'.$data['order_email'].'</Email>'; | |
1020 | - $xml .= '</CustomerInfo>'; | |
1021 | - $xml .= '<DeliveryInfo>'; | |
1022 | - $xml .= '<City>Óêðàèíà</City>'; | |
1023 | - $xml .= '<Address>'.$data['order_adress'].'</Address>'; | |
1024 | - $xml .= '<DeliveryType>Äîñòàâêà</DeliveryType>'; | |
1025 | - $xml .= '</DeliveryInfo>'; | |
1026 | - $xml .= '<Comment>'.$data['order_comment'].'</Comment>'; | |
1027 | - $xml .= '</Order>'; | |
1028 | - $tmpfname = tempnam("tmp", "FOO"); | |
1029 | - $handle = fopen($tmpfname, "w"); | |
1030 | - fwrite($handle, $xml); | |
1031 | - $mail->AddAttachment($tmpfname, 'order.xml'); | |
1032 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
1033 | - fclose($handle); | |
1034 | - unlink($tmpfname); | |
1035 | - $mail->ClearAddresses(); | |
1036 | - $mail->ClearAttachments(); | |
1037 | - // Mail::send("borisenko.pavel@gmail.com",$order_email,"Order",Mail::str_rus($xml)); | |
1038 | - // Mail::send("andrey.belyy@gmail.com",$order_email,"Order",Mail::str_rus($xml)); | |
1039 | - } | |
1040 | - | |
1041 | - function saveOrder($data,$userID = 0){ | |
1042 | - | |
1043 | - $table_name = "catalogs_orders"; | |
1044 | - | |
1045 | - if(isset($data['update_id']) && $data['update_id']>0){ | |
1046 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
1047 | - $id = $data['update_id']; | |
1048 | - $where = sprintf("id='%d'",$id); | |
1049 | - } else { | |
1050 | - $DB_AUTOQUERY = DB_AUTOQUERY_INSERT; | |
1051 | - $id = $this->db->nextId('mySequence_'.$table_name); | |
1052 | - $where = null; | |
1053 | - } | |
1054 | - | |
1055 | - | |
1056 | - | |
1057 | - | |
1058 | - $fields_values = array( | |
1059 | - 'id'=>$id, | |
1060 | - 'user_id'=>$userID, | |
1061 | - 'name' => $data['order_name'], | |
1062 | - 'email' => $data['order_email'], | |
1063 | - 'adress' => $data['order_adress'], | |
1064 | - //'phone' => phone_mobil($data['order_phone']), | |
1065 | - 'phone' => $data['order_phone'], | |
1066 | - 'comment' => $data['order_comment'], | |
1067 | - 'delivery' => $data['delivery'], | |
1068 | - 'total'=>$_SESSION['cart']['total'], | |
1069 | - 'status' => '1', | |
1070 | - 'mktime'=>mktime() | |
1071 | - ); | |
1072 | - $DB_AUTOQUERY; | |
1073 | - | |
1074 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); | |
1075 | - | |
1076 | - if(isset($data['product_id'])){ $i=-1; | |
1077 | - foreach($data['product_id'] as $key=>$value){ $i++; | |
1078 | - $this->db->autoExecute("catalogs_orders_products",array( | |
1079 | - 'order_id'=>$id, | |
1080 | - 'product_id'=>$value, | |
1081 | - 'product_cine_id'=>$_SESSION['cart'][$i]['price'], | |
1082 | - 'count'=>$data['product_count'][$key]) | |
1083 | - ,DB_AUTOQUERY_INSERT); | |
1084 | - } | |
1085 | - } | |
1086 | - | |
1087 | - | |
1088 | - } | |
1089 | - | |
1090 | - function deleteOrder($id){ | |
1091 | - $this->db->query("delete from catalogs_orders where id=?",array($id)); | |
1092 | - $this->db->query("delete from catalogs_orders_products where order_id=?",array($id)); | |
1093 | - } | |
1094 | - | |
1095 | - function updateOrder($data){ | |
1096 | - $table_name = "catalogs_orders"; | |
1097 | - $fields_values = array('name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'comment' => $data['order_comment'],'mktime'=>mktime()); | |
1098 | - if(isset($data['order_active']))$fields_values['active'] = 1; | |
1099 | - else $fields_values['active'] = 0; | |
1100 | - $this->db->autoExecute($table_name,$fields_values,DB_AUTOQUERY_UPDATE,sprintf("id='%d'",$data['update_id'])); | |
1101 | - } | |
1102 | - | |
1103 | - function updateOrderProducts($data){ | |
1104 | - foreach($data['product_id'] as $key=>$value){ | |
1105 | - if($data['product_count'][$value]<1){$this->db->query("delete from catalogs_orders_products where order_id='{$data['order_id']}' AND product_id='$value'");} | |
1106 | - else{$this->db->autoExecute("catalogs_orders_products",array('count'=>$data['product_count'][$value]),DB_AUTOQUERY_UPDATE,"order_id='{$data['order_id']}' AND product_id='$value'");} | |
1107 | - } | |
1108 | - } | |
1109 | - | |
1110 | - function viewOrder($id){ | |
1111 | - $row = $this->db->getRow("select * from catalogs_orders where id=?",array($id),DB_FETCHMODE_ASSOC); | |
1112 | - $this->tpl->assign('order', $row); | |
1113 | - } | |
1114 | - | |
1115 | - function viewOrderProducts($order_id){ | |
1116 | - $res = $this->db->getAll("select p.*,op.*,pr.name,pr.pic,pr.pic_big from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id Left join catalogs_products pr On pr.id=p.product_id where order_id=?",array($order_id),DB_FETCHMODE_ASSOC); | |
1117 | - $sum = 0; | |
1118 | - foreach($res as $key=>$row){ | |
1119 | - $sum = $sum + ($row['cine']*$row['count']); | |
1120 | - $res[$key]['cine_all'] = ($row['cine']*$row['count']); | |
1121 | - } | |
1122 | - $discount = $this->db->getOne('select catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id where catalogs_orders.id=?',array($order_id)); | |
1123 | - $this->tpl->assign('cine', array('sum'=>$sum,'discount'=>$discount,'sum_discount'=>($sum - (($sum*$discount)/100)) )); | |
1124 | - $this->tpl->assign('basket_products', $res); | |
1125 | - } | |
1126 | - | |
1127 | - function viewOrders($params = array()){ | |
1128 | - $search = array(); | |
1129 | - if(isset($params['userID']) && $params['userID']>0)$search[] = sprintf("catalogs_orders.user_id='%d'",$params['userID']); | |
1130 | - $sql = "select catalogs_orders.*,catalogs_users.login as user_login,catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id WHERE 1=1 "; | |
1131 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
1132 | - $sql .= " order by mktime desc"; | |
1133 | - $pagerOptions = Array( | |
1134 | - 'mode' => 'Sliding', | |
1135 | - 'delta' => 16, | |
1136 | - 'perPage' => 50, | |
1137 | - 'linkClass'=>"link_class", | |
1138 | - 'curPageLinkClassName'=>"link_class_active", | |
1139 | - 'spacesBeforeSeparator' => 1, | |
1140 | - 'spacesAfterSeparator' => 1 | |
1141 | - ); | |
1142 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
1143 | - foreach($res['data'] as $key=>$value){ | |
1144 | - $res['data'][$key]['sum'] = $this->getOrderProductsSum($value['id']); | |
1145 | - $res['data'][$key]['sum_discount'] = $res['data'][$key]['sum'] - (($res['data'][$key]['sum']*$value['discount'])/100); | |
1146 | - } | |
1147 | - $this->tpl->assign('ordersData', $res); | |
1148 | - } | |
1149 | - | |
1150 | - function getOrderProductsSum($order_id){ | |
1151 | - $res = $this->db->getAll("select op.*,p.cine from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id where op.order_id=?",array($order_id),DB_FETCHMODE_ASSOC); | |
1152 | - // print_r($res); | |
1153 | - $sum = 0; | |
1154 | - foreach($res as $row){ | |
1155 | - $sum = $sum + ($row['cine']*$row['count']); | |
1156 | - } | |
1157 | - return $sum; | |
1158 | - } | |
1159 | - | |
1160 | - function SaveBrend($data,$upload){ | |
1161 | - $table_name = "catalogs_brends"; | |
1162 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
1163 | - $fields_values = array('rubric_id'=>$data['rubric_id'],'name'=>$data['brend'],'text'=>$data['text'],'youtube'=>$data['youtube'],'seo'=>$data['seo'],'sort'=>$data['sort'],'meta_title'=>$data['meta_title'],'meta_description'=>$data['meta_description'],'meta_keywords'=>$data['meta_keywords'],'active'=>$data['active'] ,'about'=>$data['about'],'link'=>$data['link'],'teh'=>$data['teh']); | |
1164 | - | |
1165 | - if(isset($data['delete_video']) && $data['delete_video']==1){ | |
1166 | - $this->deleteBrendPic($data['update_id']); | |
1167 | - $fields_values['pic'] = null; | |
1168 | - } | |
1169 | - if($upload['pic']['tmp_name']){ | |
1170 | - if($data['update_id']>0)$this->deleteBrendPic($data['update_id'],array('pic')); | |
1171 | - $name_pic = mktime() . "." . substr(strrchr($_FILES['pic']['name'],"."),1); | |
1172 | - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/$name_pic"; | |
1173 | - move_uploaded_file($_FILES["pic"]["tmp_name"], $file_name); | |
1174 | - chmod($file_name,"0777"); | |
1175 | - $fields_values['pic'] = $name_pic; | |
1176 | - } | |
1177 | - | |
1178 | - if(isset($data['delete_pic_s']) && $data['delete_pic_s']==1){ | |
1179 | - $this->deleteBrendPic($data['update_id'],array('pic_s')); | |
1180 | - $fields_values['pic_s'] = null; | |
1181 | - } | |
1182 | - if($upload['pic_s']['tmp_name']){ | |
1183 | - if($data['update_id']>0)$this->deleteBrendPic($data['update_id'],array('pic_s')); | |
1184 | - $name_pic = mktime() . "." . substr(strrchr($_FILES['pic_s']['name'],"."),1); | |
1185 | - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/s/$name_pic"; | |
1186 | - move_uploaded_file($_FILES["pic_s"]["tmp_name"], $file_name); | |
1187 | - chmod($file_name,"0777"); | |
1188 | - $fields_values['pic_s'] = $name_pic; | |
1189 | - } | |
1190 | - | |
1191 | - | |
1192 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
1193 | - } | |
1194 | - | |
1195 | - function deleteBrendPic($id,$pics = array('pic','pic_s')){ | |
1196 | - $sql = "select " . implode(',',$pics) . " from catalogs_brends where id=?"; | |
1197 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
1198 | - if(isset($row['pic'])){ | |
1199 | - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/{$row['pic']}"; | |
1200 | - @unlink($file_name); | |
1201 | - } | |
1202 | - if(isset($row['pic_s'])){ | |
1203 | - $file_name = "{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/brends/s/{$row['pic_s']}"; | |
1204 | - @unlink($file_name); | |
1205 | - } | |
1206 | - } | |
1207 | - | |
1208 | - function viewBrends($type = false){ | |
1209 | - $sql = "select b.*,r.name as rubric from catalogs_brends b left join catalogs_rubrics r On r.id=b.rubric_id "; | |
1210 | - if($type!=false)$sql .= "where b.type='$type'"; | |
1211 | - $sql .= " Order by b.name Asc"; | |
1212 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1213 | - $this->tpl->assign('brends',$row); | |
1214 | - } | |
1215 | - | |
1216 | - function viewBrendsGroup($params = array()){ | |
1217 | - $sql = "select * from catalogs_brends where 1=1 "; | |
1218 | - if(isset($params['rubID'])){ | |
1219 | - $rubric_id = $params['rubID'];//$this->getRubricParent($params['rubID']); | |
1220 | - $rubric_id = ($rubric_id==0)?$params['rubID']:$rubric_id; | |
1221 | - $sql .= "and rubric_id='".$rubric_id."'"; | |
1222 | - } | |
1223 | - $sql .= " Group by name Order by sort Asc"; | |
1224 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1225 | - $this->tpl->assign('brends',$row); | |
1226 | - } | |
1227 | - | |
1228 | - function viewBrendsActive(){ | |
1229 | - $sql = "select * from catalogs_brends where active=1 "; | |
1230 | - $sql .= " Order by sort Asc"; | |
1231 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1232 | - $this->tpl->assign('brends_a',$row); | |
1233 | - } | |
1234 | - | |
1235 | - function SaveCity($data){ | |
1236 | - $table_name = "catalogs_cities"; | |
1237 | - $DB_AUTOQUERY = (isset($data['update_id']) && $data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
1238 | - $fields_values = array('name'=>$data['name']); | |
1239 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
1240 | - return mysql_insert_id(); | |
1241 | - } | |
1242 | - | |
1243 | - function is_city($name){ | |
1244 | - return $this->db->getOne('select id from catalogs_cities where name=?',array($name)); | |
1245 | - } | |
1246 | - | |
1247 | - function viewCityMod($code){ | |
1248 | - $sql = "select c.name from catalogs_keys_products_cities k left join catalogs_cities c on c.id=k.city_id where k.mod_code=? and k.count>0"; | |
1249 | - $row = $this->db->getCol($sql,"name",array($code)); | |
1250 | - if(!count($row))return ""; | |
1251 | - foreach($row as $key=>$value){if($value=="Èíòåðíåò ìàãàçèí" or $value=="Êèåâ(Îëèìïèéñêèé)")unset($row[$key]);} | |
1252 | - return implode(', ',$row); | |
1253 | - } | |
1254 | - | |
1255 | - function viewCitiesProductID($id){ | |
1256 | - $sql = "select city_id from catalogs_keys_products_cities where product_id=?"; | |
1257 | - $row = $this->db->getCol($sql,"city_id",array($id)); | |
1258 | - $this->tpl->assign('product_cities',$row); | |
1259 | - } | |
1260 | - | |
1261 | - function viewCities($type = false){ | |
1262 | - $sql = "select * from catalogs_cities "; | |
1263 | - $sql .= " Order by name Asc"; | |
1264 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1265 | - $this->tpl->assign('cities',$row); | |
1266 | - } | |
1267 | - | |
1268 | - function viewCitiesProduct($id){ | |
1269 | - $sql = "select catalogs_cities.* from catalogs_keys_products_cities left join catalogs_cities on catalogs_cities.id=catalogs_keys_products_cities.city_id Where catalogs_keys_products_cities.product_id=? "; | |
1270 | - $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); | |
1271 | - $this->tpl->assign('cities',$row); | |
1272 | - } | |
1273 | - | |
1274 | - function viewCity($id){ | |
1275 | - $row = $this->db->getRow("select * from catalogs_cities where id=?",array($id),DB_FETCHMODE_ASSOC); | |
1276 | - $this->tpl->assign('city', $row); | |
1277 | - } | |
1278 | - | |
1279 | - function deleteCity($id){ | |
1280 | - $this->db->query("delete from catalogs_cities where id=?",array($id)); | |
1281 | - $this->delete_keysCitiesProduct($id); | |
1282 | - } | |
1283 | - | |
1284 | - function delete_keysCitiesProduct($id){ | |
1285 | - $sql = "delete from catalogs_keys_products_cities where city_id=?"; | |
1286 | - $this->db->query($sql,array($id)); | |
1287 | - } | |
1288 | - | |
1289 | - function SaveYears($data){ | |
1290 | - $table_name = "catalogs_years"; | |
1291 | - foreach($data['filter'] as $key=>$name){ | |
1292 | - if(strlen($name)>0){ | |
1293 | - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} | |
1294 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} | |
1295 | - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id']),$DB_AUTOQUERY,$where); | |
1296 | - } | |
1297 | - } | |
1298 | - } | |
1299 | - | |
1300 | - function viewYearsProductID($id){ | |
1301 | - $sql = "select year_id from catalogs_keys_products_years where product_id=?"; | |
1302 | - $row = $this->db->getCol($sql,"year_id",array($id)); | |
1303 | - $this->tpl->assign('product_years',$row); | |
1304 | - } | |
1305 | - | |
1306 | - function viewYears($rubric_id){ | |
1307 | - $row = $this->db->getAll("select * from catalogs_years where rubric_id=? order by name",array($rubric_id),DB_FETCHMODE_ASSOC); | |
1308 | - $this->tpl->assign('years', $row); | |
1309 | - } | |
1310 | - | |
1311 | - function getYearsName_IDs($ids){ | |
1312 | - //$sql = "select name from catalogs_years where id in (".implode(",",$ids).") order by name"; | |
1313 | - //$row = $this->db->getCol($sql,"name",array()); | |
1314 | - //return implode(", ",$row); | |
1315 | - | |
1316 | - $name = array(); | |
1317 | - foreach($ids as $id){ | |
1318 | - $name[] = $this->db->getOne("select name from catalogs_years where id=?",array($id)); | |
1319 | - } | |
1320 | - return implode(", ",$name); | |
1321 | - } | |
1322 | - | |
1323 | - function deleteYearsRubric_id($id){ | |
1324 | - $this->db->query("delete from catalogs_years where rubric_id=?",array($id)); | |
1325 | - $this->delete_keysYearsRubric($id); | |
1326 | - } | |
1327 | - | |
1328 | - function delete_keysYearsRubric($id){ | |
1329 | - $sql = "delete from catalogs_keys_products_years where rubric_id=?"; | |
1330 | - $this->db->query($sql,array($id)); | |
1331 | - } | |
1332 | - | |
1333 | - function deleteYear($id){ | |
1334 | - $this->db->query("delete from catalogs_years where id=?",array($id)); | |
1335 | - $this->delete_keysYearsProduct($id); | |
1336 | - } | |
1337 | - | |
1338 | - function delete_keysYearsProduct($id){ | |
1339 | - $sql = "delete from catalogs_keys_products_years where year_id=?"; | |
1340 | - $this->db->query($sql,array($id)); | |
1341 | - } | |
1342 | - | |
1343 | - function SaveFilters($data){ | |
1344 | - $table_name = "catalogs_filters"; | |
1345 | - foreach($data['filter'] as $key=>$name){ | |
1346 | - if(strlen($name)>0){ | |
1347 | - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} | |
1348 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} | |
1349 | - $active = (isset($data['active'][$key])) ? 1 : 0; | |
1350 | - $this->db->autoExecute($table_name,array('name'=>$name,'prefix'=>encodestring($name),'rubric_id'=>$data['rubric_id'],"sort"=>$data['sort'][$key],"active"=>$active),$DB_AUTOQUERY,$where); | |
1351 | - } | |
1352 | - } | |
1353 | - } | |
1354 | - | |
1355 | - function viewFilterProductID($id){ | |
1356 | - $sql = "select filter_id from catalogs_keys_products_filters where product_id=?"; | |
1357 | - $row = $this->db->getCol($sql,"filter_id",array($id)); | |
1358 | - $this->tpl->assign('product_filters',$row); | |
1359 | - } | |
1360 | - | |
1361 | - function deleteFilter($id){ | |
1362 | - $this->db->query("delete from catalogs_filters where id=?",array($id)); | |
1363 | - $this->delete_keysFilterProduct($id); | |
1364 | - } | |
1365 | - | |
1366 | - function deleteFiltersRubric_id($rubric_id){ | |
1367 | - $this->db->query("delete from catalogs_filters where rubric_id=?",array($rubric_id)); | |
1368 | - $this->delete_keysFilterRubric($rubric_id); | |
1369 | - } | |
1370 | - | |
1371 | - function delete_keysFilterProduct($id){ | |
1372 | - $sql = "delete from catalogs_keys_products_filters where filter_id=?"; | |
1373 | - $this->db->query($sql,array($id)); | |
1374 | - } | |
1375 | - | |
1376 | - function delete_keysFilterRubric($id){ | |
1377 | - $sql = "delete from catalogs_keys_products_filters where rubric_id=?"; | |
1378 | - $this->db->query($sql,array($id)); | |
1379 | - } | |
1380 | - | |
1381 | - function viewFilters($rubric_id){ | |
1382 | - $row = $this->db->getAll("select * from catalogs_filters where active='0' and rubric_id=? order by sort",array($rubric_id),DB_FETCHMODE_ASSOC); | |
1383 | - $this->tpl->assign('filters', $row); | |
1384 | - } | |
1385 | - | |
1386 | - function getFiltersName_IDs($ids){ | |
1387 | - //$sql = "select name from catalogs_filters where id in (".implode(",",$ids).")"; | |
1388 | - //$row = $this->db->getCol($sql,"name",array()); | |
1389 | - $name = array(); | |
1390 | - foreach($ids as $id){ | |
1391 | - $name[] = $this->db->getOne("select name from catalogs_filters where id=?",array($id)); | |
1392 | - } | |
1393 | - return implode(", ",$name); | |
1394 | - } | |
1395 | - | |
1396 | - function viewBrend($id){ | |
1397 | - $row = $this->db->getRow("select * from catalogs_brends where id=?",array($id),DB_FETCHMODE_ASSOC); | |
1398 | - $this->tpl->assign('brend', $row); | |
1399 | - } | |
1400 | - | |
1401 | - function viewBrendName($name){ | |
1402 | - $name = iconv("utf-8", "windows-1251", $name); | |
1403 | - $sql = "select * from catalogs_brends where name=? and active=1 limit 1"; | |
1404 | - $row = $this->db->getRow($sql,array($name),DB_FETCHMODE_ASSOC); | |
1405 | - $this->tpl->assign('brend_seo', $row); | |
1406 | - return $row; | |
1407 | - } | |
1408 | - | |
1409 | - function getBrendIDs_name($name){ | |
1410 | - //$name = iconv("utf-8", "windows-1251", $name); | |
1411 | - $sql = "select id from catalogs_brends where name=?"; | |
1412 | - return $this->db->getCol($sql,"id",array($name)); | |
1413 | - } | |
1414 | - | |
1415 | - function deleteBrend($id){ | |
1416 | - $this->db->query("delete from catalogs_brends where id=?",array($id)); | |
1417 | - } | |
1418 | - | |
1419 | - function viewAkciiProductID($id){ | |
1420 | - $sql = "select rubric_id from catalogs_keys_products_akcii where product_id=?"; | |
1421 | - $row = $this->db->getCol($sql,"rubric_id",array($id)); | |
1422 | - $this->tpl->assign('product_akcii',$row); | |
1423 | - } | |
1424 | - | |
1425 | - function import_saveRubric($name,$parent_id){ | |
1426 | - $id = $this->db->getOne("select id from catalogs_rubrics where name=? and parent_id=?",array($name,$parent_id)); | |
1427 | - if( !$id ){ | |
1428 | - $this->db->autoExecute("catalogs_rubrics",array('name'=>$name,'parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1)),DB_AUTOQUERY_INSERT); | |
1429 | - return mysql_insert_id(); | |
1430 | - } | |
1431 | - return $id; | |
1432 | - } | |
1433 | - | |
1434 | - function import_saveBrend($name,$rubric_id){ | |
1435 | - //getRubricParent(); | |
1436 | - $id = $this->db->getOne("select id from catalogs_brends where name=? and rubric_id=?",array($name,$rubric_id)); | |
1437 | - if( !$id ){ | |
1438 | - $this->db->autoExecute("catalogs_brends",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); | |
1439 | - return mysql_insert_id(); | |
1440 | - } | |
1441 | - return $id; | |
1442 | - } | |
1443 | - | |
1444 | - function import_saveFilters($rubric_id,$str){ | |
1445 | - if(!$str)return array(); | |
1446 | - $row_str = explode(",",trim($str)); | |
1447 | - $arr_id = array(); | |
1448 | - foreach($row_str as $str){ | |
1449 | - $name = trim($str); | |
1450 | - $name_r = explode('=',$name);$name = $name_r[0]; $active = (isset($name_r[1])) ? 1 : 0; | |
1451 | - $id = $this->db->getOne("select id from catalogs_filters where rubric_id=? and name=?",array($rubric_id,$name)); | |
1452 | - if( !$id ){ | |
1453 | - $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name,'prefix'=>encodestring($name),'active'=>$active),DB_AUTOQUERY_INSERT); | |
1454 | - $id = mysql_insert_id(); | |
1455 | - }else{ $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name,'prefix'=>encodestring($name),'active'=>$active),DB_AUTOQUERY_UPDATE,"id=$id");} | |
1456 | - $arr_id[] = $id; | |
1457 | - } | |
1458 | - return $arr_id; | |
1459 | - } | |
1460 | - | |
1461 | - function import_saveYear($rubric_id,$name){ | |
1462 | - $id = $this->db->getOne("select id from catalogs_years where rubric_id=? and name=?",array($rubric_id,$name)); | |
1463 | - if( !$id ){ | |
1464 | - $this->db->autoExecute("catalogs_years",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); | |
1465 | - $id = mysql_insert_id(); | |
1466 | - } | |
1467 | - return ($id)?array($id):array(); | |
1468 | - } | |
1469 | - | |
1470 | - function import_updateProductCine($product_id,$row,$line='',$mktime = 0){ // print"<pre>";print_r($row);print"</pre>"; | |
1471 | - | |
1472 | - IF($product_id>0){ | |
1473 | - IF($row[3]>0){ | |
1474 | - if($row[2]<1){$cine=$row[1];$cine_last=0;} | |
1475 | - else {$cine=$row[2];$cine_last=(($row[1]>0)?$row[1]:$row[2]);} | |
1476 | - $this->db->autoExecute("catalogs_products",array('cine'=>$cine,'cine_last'=>$cine_last),DB_AUTOQUERY_UPDATE,"id='$product_id'"); | |
1477 | - } | |
1478 | - | |
1479 | - | |
1480 | - $city = trim($row[4]); | |
1481 | - if(!$city)$city = "Èíòåðíåò ìàãàçèí"; | |
1482 | - //echo "OK(1) - <br/>"; | |
1483 | - if(strlen($city)>0){ //print $city; | |
1484 | - $city_id = $this->is_city($city); | |
1485 | - //echo "OK(2) - <br/>"; | |
1486 | - if(!$city_id){$city_id = $this->SaveCity(array('name'=>$city));} | |
1487 | - $this->db->query("delete from catalogs_keys_products_cities where product_id=? and mod_code=? and mktime<?", array($product_id,$row[0],$mktime)); | |
1488 | - | |
1489 | - if($row[3]==0){ | |
1490 | - | |
1491 | - } | |
1492 | - else{ | |
1493 | - // $this->db->query("delete from catalogs_keys_products_cities where product_id=? and mod_code=? and mktime<?", array($product_id,$row[0],$mktime)); | |
1494 | - //echo "OK(3) - <br/>"; | |
1495 | - if($this->getKeysModificationCity($row[0], $city_id)){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "mod_code='".$row[0]."' and city_id='".$city_id."'";} | |
1496 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = null;} | |
1497 | - | |
1498 | - // if($this->getKeysModificationCityMktime_count($row[0], $city_id, $mktime)>0){$row[3]=1;} | |
1499 | - //print $city_id .'--'.$where."<br>"; | |
1500 | - $fields = array('count'=>$row[3],'product_id'=>$product_id,'mod_code'=>$row[0],'city_id'=>$city_id,'mktime'=>$mktime); | |
1501 | - $s = $this->db->autoExecute("catalogs_keys_products_cities",$fields,$DB_AUTOQUERY,$where); | |
1502 | - if (PEAR::isError($s)) die($s->getMessage()); | |
1503 | - }} | |
1504 | - //echo "OK(4) - <br/>"; | |
1505 | - $active = $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and count>0",array($row[0])); | |
1506 | - //$active = true; | |
1507 | - if($this->db->getOne("select count(*) from catalogs_modifications where code=?",array($row[0]))>0){ | |
1508 | - $this->db->autoExecute("catalogs_modifications",array('active'=>$active,'is_update'=>1,'prefix'=>$row[4]),DB_AUTOQUERY_UPDATE,"code='".$row[0]."'"); | |
1509 | - //echo "OK(5) - <br/>"; | |
1510 | - }else{ | |
1511 | - //echo "OK(6) - <br/>"; | |
1512 | - $this->saveCsvMod($line); | |
1513 | - } | |
1514 | - } | |
1515 | - } | |
1516 | - | |
1517 | - function saveCsvMod($line){ | |
1518 | - echo "OK1 - <br/>"; | |
1519 | - $tmpfname = $_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"; | |
1520 | - $handle = @fopen($tmpfname, "a"); | |
1521 | -// $row = explode(";",$line); | |
1522 | -// File_FGetCSV::fputcsv($handle,$row,';'); | |
1523 | - echo "OK2 - <br/>"; | |
1524 | - echo $line; | |
1525 | - echo "OK3 - <br/>"; | |
1526 | - fwrite($handle,$line); | |
1527 | - fclose($handle); | |
1528 | - } | |
1529 | - | |
1530 | - function getKeysModificationCity($code, $city_id){ | |
1531 | - return $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); | |
1532 | - } | |
1533 | - | |
1534 | - function getKeysModificationCity_count($code, $city_id){ | |
1535 | - return $this->db->getOne("select count from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); | |
1536 | - } | |
1537 | - | |
1538 | - function getKeysModificationCityMktime_count($code, $city_id, $mktime){ | |
1539 | - $r = $this->db->getOne("select count from catalogs_keys_products_cities where mod_code=? and city_id=? and mktime=?", array($code, $city_id, $mktime)); | |
1540 | - return $r; | |
1541 | - } | |
1542 | - | |
1543 | - function getProductID($name){ | |
1544 | - $id = $this->db->getOne("select id from catalogs_products where name=?",array($name)); | |
1545 | - return $id; | |
1546 | - } | |
1547 | - | |
1548 | - function getProductID_R($name,$rubric_parent_id){ | |
1549 | - $id = $this->db->getOne("select id from catalogs_products where name=? and rubric_id=?",array($name,$rubric_parent_id)); | |
1550 | - return $id; | |
1551 | - } | |
1552 | - | |
1553 | - function getModificationActive($code){ | |
1554 | - return $this->db->getOne("select active from catalogs_modifications where code=?",array($code)); | |
1555 | - } | |
1556 | - | |
1557 | - function updateProduct_countModification($product_id,$count){ | |
1558 | - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='$product_id'"); | |
1559 | - } | |
1560 | - | |
1561 | - function updateProductModificationCountPrefix($product_id,$prefix = "+"){ | |
1562 | -// print $product_id; | |
1563 | - $sql = "UPDATE catalogs_products SET count_modifications = count_modifications $prefix 1 WHERE id =?"; | |
1564 | - $this->db->query($sql,array($product_id)); | |
1565 | - } | |
1566 | - | |
1567 | - function exportCSV(){ | |
1568 | - $tmpfname = "tmp/price.csv"; | |
1569 | - $handle = fopen($tmpfname, "w"); | |
1570 | - // fwrite($handle, $xml); | |
1571 | - $res = $this->db->getAll('select p.id,p.rubric_id,r2.name,r.name,b.name as brend,p.name,p.about,p.text,null,p.sex,null,p.cine,p.cine_last,p.akcii_id,p.strnumber,p.active,null,p.video_code,p.pic_big from catalogs_products p left join catalogs_rubrics r on r.id=p.rubric_id left join catalogs_rubrics r2 on r2.id=p.rubric_parent_id left join catalogs_brends b on b.id=p.brend_id',array()); | |
1572 | - foreach($res as $key=>$row){ | |
1573 | - $list = $row; | |
1574 | - $mod_res = $this->db->getAll('select code,size,color,pic_big,active from catalogs_modifications where product_id=?',array($row[0])); | |
1575 | - foreach($mod_res as $mod_row){$list[] = implode('=',$mod_row);} | |
1576 | - | |
1577 | - $f_row = $this->db->getCol("select f.name from catalogs_keys_products_filters k Left Join catalogs_filters f ON f.id=k.filter_id where k.product_id=?",'name',array($list[0])); | |
1578 | - $list[8]=implode(',',$f_row); | |
1579 | - | |
1580 | - switch($list[9]){ | |
1581 | - case 1 : $list[9] = 'ìóæñêîé'; break; | |
1582 | - case 2 : $list[9] = 'æåíñêèé'; break; | |
1583 | - case 3 : $list[9] = 'äåòñêèé'; break; | |
1584 | - case 4 : $list[9] = 'óíèñåêñ'; break; | |
1585 | - default : $list[9] = 'ìóæñêîé'; break; | |
1586 | - } | |
1587 | - | |
1588 | - $y_row = $this->db->getCol("select y.name from catalogs_keys_products_years k Left Join catalogs_years y ON y.id=k.year_id where k.product_id=?",'name',array($list[0])); | |
1589 | - $list[10]=implode(',',$y_row); | |
1590 | - | |
1591 | - | |
1592 | - //print_r($list);exit; | |
1593 | - $p_res = $this->db->getAll("select name,size,metka from catalogs_products_params where product_id=?",array($list[0])); | |
1594 | - $param = array(); | |
1595 | - foreach($p_res as $row_p){ | |
1596 | - $param[] = implode('*',$row_p); | |
1597 | - } | |
1598 | - $list[15] = implode('=',$param); | |
1599 | - | |
1600 | - unset($list[0]);unset($list[1]); | |
1601 | - | |
1602 | - File_FGetCSV::fputcsv($handle,$list,';'); | |
1603 | - | |
1604 | - | |
1605 | - | |
1606 | - } | |
1607 | - | |
1608 | - fclose($handle); | |
1609 | - | |
1610 | - $params = array( | |
1611 | - 'file' => $tmpfname, | |
1612 | - 'contenttype' => 'application/xls', | |
1613 | - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'price.csv'), | |
1614 | - 'cache' => false | |
1615 | - ); | |
1616 | - $error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë | |
1617 | - if ($error === true) { | |
1618 | - //åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè | |
1619 | - } | |
1620 | - | |
1621 | - unlink($tmpfname); | |
1622 | - } | |
1623 | - | |
1624 | - function exportModCSV(){ | |
1625 | - $tmpfname = "tmp/price_mod.csv"; | |
1626 | - $handle = fopen($tmpfname, "w"); | |
1627 | - $res = $this->db->getAll('select m.code,p.cine,p.cine_last,m.active,null,m.prefix,m.is_update From catalogs_modifications m Left join catalogs_products p on p.id=m.product_id'); | |
1628 | - foreach($res as $key=>$row){ | |
1629 | - File_FGetCSV::fputcsv($handle,$row,';'); | |
1630 | - } | |
1631 | - fclose($handle); | |
1632 | - $params = array( | |
1633 | - 'file' => $tmpfname, | |
1634 | - 'contenttype' => 'application/xls', | |
1635 | - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'file_1.csv'), | |
1636 | - 'cache' => false | |
1637 | - ); | |
1638 | - $error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë | |
1639 | - if ($error === true) { | |
1640 | - //åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè | |
1641 | - } | |
1642 | - | |
1643 | - unlink($tmpfname); | |
1644 | - $this->db->autoExecute("catalogs_modifications",array('is_update'=>0),DB_AUTOQUERY_UPDATE); | |
1645 | - } | |
1646 | - | |
1647 | - function exportOrdersCSV(){ | |
1648 | - $tmpfname = "tmp/orders.csv"; | |
1649 | - $handle = fopen($tmpfname, "w"); | |
1650 | - $res = $this->db->getAll('select name,email,adress,phone From catalogs_orders order by id desc'); | |
1651 | - foreach($res as $key=>$row){ | |
1652 | - File_FGetCSV::fputcsv($handle,$row,';'); | |
1653 | - } | |
1654 | - fclose($handle); | |
1655 | - $params = array( | |
1656 | - 'file' => $tmpfname, | |
1657 | - 'contenttype' => 'application/xls', | |
1658 | - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'orders.csv'), | |
1659 | - 'cache' => false | |
1660 | - ); | |
1661 | - $error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë | |
1662 | - if ($error === true) { | |
1663 | - //åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè | |
1664 | - } | |
1665 | - | |
1666 | - unlink($tmpfname); | |
1667 | - } | |
1668 | - | |
1669 | - function deleteProductParams($product_id){ | |
1670 | - $sql = "delete from catalogs_products_params where product_id=?"; | |
1671 | - $this->db->query($sql,array($product_id)); | |
1672 | - } | |
1673 | - | |
1674 | - function saveProductParams($product_id,$pruduct_params){ | |
1675 | - $this->deleteProductParams($product_id); | |
1676 | - $array_params = explode("=",$pruduct_params); | |
1677 | - foreach($array_params as $row){ | |
1678 | - $arr = explode('*',$row); | |
1679 | - $this->db->autoExecute("catalogs_products_params",array('product_id'=>$product_id,'name'=>$arr[0],'size'=>$arr[1],'metka'=>$arr[2]),DB_AUTOQUERY_INSERT); | |
1680 | - } | |
1681 | - } | |
1682 | - | |
1683 | - function getProductParams($product_id){ | |
1684 | - $sql = "select * from catalogs_products_params where product_id=? order by id"; | |
1685 | - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
1686 | - return $row; | |
1687 | - } | |
1688 | - | |
1689 | - function viewProductParams($product_id){ | |
1690 | - $this->tpl->assign('params',$this->getProductParams($product_id)); | |
1691 | - } | |
1692 | - | |
1693 | - function saveTmpProduct($row,$product_id){ | |
1694 | - if($product_id>0){ | |
1695 | - $this->db->autoExecute("catalogs_tmp_products",array('name'=>$row[3],'product_id'=>$product_id),DB_AUTOQUERY_INSERT); | |
1696 | - } | |
1697 | - } | |
1698 | - | |
1699 | - function clearTmpProduct(){ | |
1700 | - $sql = "TRUNCATE TABLE catalogs_tmp_products"; | |
1701 | - $this->db->query($sql,array()); | |
1702 | - } | |
1703 | - | |
1704 | - function viewTmpProducts(){ | |
1705 | - $sql = "SELECT count( name ) AS cn, name | |
1706 | -FROM catalogs_tmp_products | |
1707 | -GROUP BY name | |
1708 | -ORDER BY name"; | |
1709 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1710 | - $this->tpl->assign('list',$row); | |
1711 | - $this->tpl->assign('list_total',$this->db->getOne("select count(*) from catalogs_tmp_products")); | |
1712 | - } | |
1713 | - | |
1714 | - function importCSV($upload){ error_reporting(0); | |
1715 | - if($upload['file']['name']=="file_1.csv"){print"Îøèáêà! Ôàéë öåí!";exit;} | |
1716 | - //$arr_line = file($upload['file']['tmp_name']); | |
1717 | - $f = fopen($upload['file']['tmp_name'], "r") or die("Îøèáêà!"); | |
1718 | - // print"<pre>"; | |
1719 | - $this->clearTmpProduct(); | |
1720 | - for ($i=0; $row_line=File_FGetCSV::fgetcsv($f,15000000,";"); $i++) { | |
1721 | - // foreach($arr_line as $line){ | |
1722 | - //$row_line = fgetcsv(";",$line); | |
1723 | - $rubric_id = $this->import_saveRubric($row_line[0],0); | |
1724 | - $rubric_parent_id = $this->import_saveRubric($row_line[1],$rubric_id); | |
1725 | - $brend_id = $this->import_saveBrend($row_line[2],$rubric_parent_id); | |
1726 | - $pruduct_name = trim($row_line[3]); | |
1727 | - $pruduct_about = trim($row_line[4]); | |
1728 | - $pruduct_text = trim($row_line[5]); | |
1729 | - switch($row_line[7]){ | |
1730 | - case 'ìóæñêîé' : $pruduct_sex = 1; break; | |
1731 | - case 'æåíñêèé' : $pruduct_sex = 2; break; | |
1732 | - case 'äåòñêèé' : $pruduct_sex = 3; break; | |
1733 | - case 'óíèñåêñ' : $pruduct_sex = 4; break; | |
1734 | - default : $pruduct_sex = 0; break; | |
1735 | - } | |
1736 | - $pruduct_date = trim($row_line[8]); | |
1737 | - $pruduct_cine = trim($row_line[9]); | |
1738 | - $pruduct_cine_last = trim($row_line[10]); | |
1739 | - if($pruduct_cine<1){$pruduct_cine=$pruduct_cine_last;$pruduct_cine_last=0;} | |
1740 | - $pruduct_akcii_id = trim($row_line[11]); | |
1741 | - $pruduct_strnumber = trim($row_line[12]); | |
1742 | - $pruduct_active = trim($row_line[13]); | |
1743 | - $pruduct_params = trim($row_line[14]); | |
1744 | - $pruduct_pic_tmp = trim($row_line[16]); | |
1745 | - $pruduct_video = trim($row_line[15]); | |
1746 | - $pruduct_update_id = $this->getProductID_R($pruduct_name,$rubric_parent_id); | |
1747 | - $upload_pruduct = (strlen($pruduct_pic_tmp)>0 && is_file("./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp"))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp",'name'=>$pruduct_pic_tmp,'big'=>true)):null; | |
1748 | - $product_id = $this->saveProduct( | |
1749 | - array('rubric_id'=>$rubric_parent_id, | |
1750 | - 'rubric_parent_id'=>$rubric_parent_id, | |
1751 | - 'brend_id'=>$brend_id, | |
1752 | - 'name'=>$pruduct_name, | |
1753 | - 'about'=>$pruduct_about, | |
1754 | - 'text'=>$pruduct_text, | |
1755 | - 'video_code'=>$pruduct_video, | |
1756 | - 'sex'=>$pruduct_sex, | |
1757 | - 'date'=>$pruduct_date, | |
1758 | - 'cine'=>$pruduct_cine, | |
1759 | - 'cine_last'=>$pruduct_cine_last, | |
1760 | - 'akcii_id'=>$pruduct_akcii_id, | |
1761 | - 'strnumber'=>$pruduct_strnumber, | |
1762 | - 'active'=>$pruduct_active, | |
1763 | - 'meta_title'=>$pruduct_name, | |
1764 | - 'meta_description'=>$pruduct_name, | |
1765 | - 'meta_keywords'=>$pruduct_name, | |
1766 | - 'meta_about'=>$pruduct_name, | |
1767 | - 'filter'=>$this->import_saveFilters($rubric_parent_id,$row_line[6]), | |
1768 | - 'years'=>$this->import_saveYear($rubric_parent_id,$pruduct_date), | |
1769 | - 'akcii'=>array(), | |
1770 | - 'update_id'=>$pruduct_update_id), | |
1771 | - $upload_pruduct | |
1772 | - ); | |
1773 | - //print $pruduct_update_id;exit; | |
1774 | - $this->saveProductParams($product_id,$pruduct_params); | |
1775 | - $this->deleteProductModifications($product_id,true); | |
1776 | - $m_i = 0; | |
1777 | - for($i=17;$i<count($row_line);$i++){ | |
1778 | - $arr_mod = trim($row_line[$i]); | |
1779 | - if(strlen($arr_mod)>0){ | |
1780 | - $row_mod = explode("=",$arr_mod); | |
1781 | - $upload_mod = (strlen($row_mod[3])>0 && is_file("./uploaded/pic/catalogs/modifications/big/".$row_mod[3]))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/modifications/big/".$row_mod[3],'name'=>$row_mod[3],'big'=>true)):null; | |
1782 | - | |
1783 | - $this->SaveModification( | |
1784 | - array('product_id'=>$product_id, | |
1785 | - 'code'=>$row_mod[0], | |
1786 | - 'size'=>$row_mod[1], | |
1787 | - 'color'=>$row_mod[2], | |
1788 | - 'active'=>$row_mod[4] | |
1789 | - ),$upload_mod | |
1790 | - ); | |
1791 | - if($row_mod[4]>0)$m_i++; | |
1792 | - } | |
1793 | - } | |
1794 | - $this->updateProduct_countModification($product_id,$m_i); | |
1795 | - //$this->import_saveFilters($product_id,$rubric_parent_id,$row_line[6]); | |
1796 | - //$strnumber = $this->getProductID($row_line[3]); $this->save_keysProductsFilters($id,$data); | |
1797 | - //print_r($row_line); | |
1798 | - $this->saveTmpProduct($row_line,$product_id); | |
1799 | - if(($i%30)==0)sleep(1); | |
1800 | - } | |
1801 | - // print"</pre>"; | |
1802 | - | |
1803 | - } | |
1804 | - | |
1805 | - function importCSV_cine($upload){ | |
1806 | - if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} | |
1807 | - $arr_line = file($upload['file']['tmp_name']); | |
1808 | - //print"<pre>"; | |
1809 | - $i = 0; | |
1810 | - $mktime = mktime(); | |
1811 | - foreach($arr_line as $line){ | |
1812 | - $row_line = explode(";",$line); | |
1813 | - $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line,$mktime); | |
1814 | - if(($i%30)==0)sleep(1); | |
1815 | - $i++; | |
1816 | - // print_r($row_line); | |
1817 | - }//print"</pre>"; | |
1818 | - | |
1819 | - // $this->updateCountModificationProducts(); | |
1820 | - } | |
1821 | - | |
1822 | - function loadCSV_cine($upload){ | |
1823 | - if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} | |
1824 | - $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv"; | |
1825 | - //echo $file; | |
1826 | - //exit; | |
1827 | - move_uploaded_file($upload['file']['tmp_name'], $file); | |
1828 | - } | |
1829 | - | |
1830 | - function is_loadCSV_cine(){ | |
1831 | - $file = $_SERVER['DOCUMENT_ROOT'] . "/cron/file_1.csv"; | |
1832 | - $is = is_file($file); | |
1833 | - $this->tpl->assign('is',$is); | |
1834 | - } | |
1835 | - | |
1836 | - function CronImportCSV_cine($upload){ | |
1837 | - if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} | |
1838 | - $arr_line = file($upload['file']['tmp_name']); | |
1839 | - //print"<pre>"; | |
1840 | - $i = 0; | |
1841 | - $mktime = mktime(); | |
1842 | - foreach($arr_line as $line){ | |
1843 | - $row_line = explode(";",$line); | |
1844 | - $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line,$mktime); | |
1845 | - if(($i%30)==0)sleep(1); | |
1846 | - $i++; | |
1847 | - // print_r($row_line); | |
1848 | - }//print"</pre>"; | |
1849 | - //$this->updateCountModificationProducts(); | |
1850 | - } | |
1851 | - | |
1852 | - function updateCountModificationProducts(){ // print"test"; | |
1853 | -// $this->db->autoExecute("catalogs_products",array('count_modifications'=>0),DB_AUTOQUERY_UPDATE); | |
1854 | - $res = $this->db->getAll("select * from catalogs_products",array(),DB_FETCHMODE_ASSOC); | |
1855 | - $i = 0; | |
1856 | - foreach($res as $row){ | |
1857 | - $count = $this->db->getOne("select count(*) from catalogs_modifications where product_id=? and active>0",array($row['id'])); | |
1858 | - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='".$row['id']."'"); | |
1859 | - // if(($i%10)==0)sleep(10); | |
1860 | - $i++; | |
1861 | - } | |
1862 | - } | |
1863 | - | |
1864 | - function config_update($id,$value){ | |
1865 | - $this->db->autoExecute("catalogs_config",array('value'=>$value),DB_AUTOQUERY_UPDATE,"id='".$id."'"); | |
1866 | - } | |
1867 | - | |
1868 | - function view_config_value($id){ | |
1869 | - $r = $this->db->getOne("select value from catalogs_config where id=?",$id); | |
1870 | - $this->tpl->assign("config",$r); | |
1871 | - return $r; | |
1872 | - } | |
1873 | - | |
1874 | - function displayCatalogsCurs(){ | |
1875 | - $this->tpl->assign("tpl",'catalogs_curs.tpl'); | |
1876 | - } | |
1877 | - | |
1878 | - function displayCatalogs(){ | |
1879 | - $this->tpl->assign("tpl",'catalogs.tpl'); | |
1880 | - } | |
1881 | - | |
1882 | - function displayProducts(){ | |
1883 | - $this->tpl->assign("tpl",'catalogs_products.tpl'); | |
1884 | - } | |
1885 | - | |
1886 | - function displayProductsTops(){ | |
1887 | - $this->tpl->assign("tpl",'catalogs_products_tops.tpl'); | |
1888 | - } | |
1889 | - | |
1890 | - function displayProductsHits(){ | |
1891 | - $this->tpl->assign("tpl",'catalogs_products_hits.tpl'); | |
1892 | - } | |
1893 | - | |
1894 | - function displayProductsHitsAll(){ | |
1895 | - $this->tpl->assign("tpl",'catalogs_products_hits_all.tpl'); | |
1896 | - } | |
1897 | - | |
1898 | - function displayBasket($count_products,$cine_products,$cine_products_discount,$discount){ | |
1899 | - $this->tpl->assign("count_products",$count_products); | |
1900 | - $this->tpl->assign("cine_products",$cine_products); | |
1901 | - $this->tpl->assign("cine_products_discount",$cine_products_discount); | |
1902 | - $this->tpl->assign("discount",$discount); | |
1903 | - $this->tpl->display('basket.tpl'); | |
1904 | - } | |
1905 | - | |
1906 | - function displayProduct(){ | |
1907 | - $this->tpl->assign("tpl",'catalogs_product.tpl'); | |
1908 | - } | |
1909 | - | |
1910 | - function displayProductBasket(){ | |
1911 | - $this->tpl->assign("tpl",'catalogs_basket.tpl'); | |
1912 | - } | |
1913 | - | |
1914 | - function displayBrends(){ | |
1915 | - $this->tpl->assign("tpl",'catalogs_brends.tpl'); | |
1916 | - } | |
1917 | - | |
1918 | - function displayBrend(){ | |
1919 | - $this->tpl->assign("tpl",'catalogs_brend.tpl'); | |
1920 | - } | |
1921 | - | |
1922 | - function displayCities(){ | |
1923 | - $this->tpl->assign("tpl",'catalogs_cities.tpl'); | |
1924 | - } | |
1925 | - | |
1926 | - function displayProductBasketSend(){ | |
1927 | - $this->tpl->assign("tpl",'catalogs_basket_send.tpl'); | |
1928 | - } | |
1929 | - | |
1930 | - function displayReg(){ | |
1931 | - $this->tpl->assign("tpl",'catalogs_reg.tpl'); | |
1932 | - } | |
1933 | - | |
1934 | - function displayEditUser(){ | |
1935 | - $this->tpl->assign("tpl",'catalogs_user_edit.tpl'); | |
1936 | - } | |
1937 | - | |
1938 | - function displayNoPsw(){ | |
1939 | - $this->tpl->assign("tpl",'catalogs_nopsw.tpl'); | |
1940 | - } | |
1941 | - | |
1942 | - function displayOrders(){ | |
1943 | - $this->tpl->assign("tpl",'catalogs_orders.tpl'); | |
1944 | - } | |
1945 | - | |
1946 | - function displayOrder(){ | |
1947 | - $this->tpl->assign("tpl",'catalogs_order.tpl'); | |
1948 | - } | |
1949 | - | |
1950 | - function displayUsers(){ | |
1951 | - $this->tpl->assign("tpl",'catalogs_users.tpl'); | |
1952 | - } | |
1953 | - | |
1954 | - function displayUser(){ | |
1955 | - $this->tpl->assign("tpl",'catalogs_user.tpl'); | |
1956 | - } | |
1957 | - | |
1958 | - function displayFilters(){ | |
1959 | - $this->tpl->assign("tpl",'catalogs_filters.tpl'); | |
1960 | - } | |
1961 | - | |
1962 | - function displayYears(){ | |
1963 | - $this->tpl->assign("tpl",'catalogs_years.tpl'); | |
1964 | - } | |
1965 | - | |
1966 | - function displayWinProducts(){ | |
1967 | - $this->tpl->display('catalogs_win_products.tpl'); | |
1968 | - } | |
1969 | - | |
1970 | - function displayModifications(){ | |
1971 | - $this->tpl->assign("tpl",'catalogs_modifications.tpl'); | |
1972 | - } | |
1973 | - | |
1974 | - function displayImport(){ | |
1975 | - $this->tpl->assign("tpl",'catalogs_import.tpl'); | |
1976 | - } | |
1977 | - | |
1978 | - function displayImportCine(){ | |
1979 | - $this->tpl->assign("tpl",'catalogs_import_cine.tpl'); | |
1980 | - } | |
1981 | - | |
1982 | - function displayAkcii(){ | |
1983 | - $this->tpl->assign("tpl",'catalogs_akcii.tpl'); | |
1984 | - } | |
1985 | - | |
1986 | - function displayCompare(){ | |
1987 | - $this->tpl->assign("tpl",'catalogs_compare.tpl'); | |
1988 | - } | |
1989 | - | |
1990 | - function displayTmpProducts(){ | |
1991 | - $this->tpl->assign("tpl",'catalogs_tmp_products.tpl'); | |
1992 | - } | |
1993 | - | |
1994 | -} | |
1995 | -?> |
libs/catalogs2.class.php deleted
1 | -<?php | |
2 | -class Catalogs{ | |
3 | - var $db = null; | |
4 | - var $tpl = null; | |
5 | - var $error = null; | |
6 | - var $photo_id = null; | |
7 | - | |
8 | - | |
9 | - function Catalogs(&$db,&$tpl,&$error){ | |
10 | - $this->db = &$db; | |
11 | - $this->tpl = &$tpl; | |
12 | - $this->error = &$error; | |
13 | - } | |
14 | - | |
15 | - | |
16 | - function trim(&$data){ | |
17 | - foreach($data as $key=>$value){ | |
18 | - if(is_array($value))$this->trim($value); | |
19 | - else $data[$key] = stripslashes(trim($value)); | |
20 | - } | |
21 | - } | |
22 | - | |
23 | - | |
24 | - function valid($data,$upload = null){ | |
25 | - | |
26 | - if(isset($data['name'])){ | |
27 | - if( !preg_match("/.{1,100}/i",$data['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Íàçâàíèÿ."; | |
28 | - } | |
29 | - | |
30 | - if(isset($data['about_min'])){ | |
31 | - if( !preg_match("/.+/is",$data['about_min']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Êðàòêîå îïèñàíèå."; | |
32 | - } | |
33 | - /* | |
34 | - if(isset($data['text'])){ | |
35 | - if( !preg_match("/.+/is",$data['text']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Ïîëíîå îïèñàíèå."; | |
36 | - } */ | |
37 | -/* | |
38 | - if(isset($data['cine'])){ | |
39 | - if( !preg_match("/[0-9]+/",$data['cine']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Öåíà, òîëüêî öèôðû."; | |
40 | - } */ | |
41 | - | |
42 | - if(isset($upload['pic']['name']) && $upload['pic']['tmp_name']){ | |
43 | - $type = substr(strrchr($upload['pic']['name'],"."),1); | |
44 | - if( !preg_match("/^(jpeg|jpg|gif|png|bmp)$/i",$type) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èçîáðàæåíèÿ, òîëüêî jpg,png,gif."; | |
45 | - } | |
46 | - | |
47 | - if(isset($upload['file']['name'])){ | |
48 | - if( !preg_match("/\.csv$/i",$upload['file']['name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ CSV ôàéë, òîëüêî csv."; | |
49 | - } | |
50 | - | |
51 | - | |
52 | - if(isset($data['order_name'])){ | |
53 | - if( !preg_match("/.{1,100}/i",$data['order_name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
54 | - } | |
55 | - | |
56 | - if(isset($data['order_adress'])){ | |
57 | - if( !preg_match("/.{1,200}/i",$data['order_adress']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Àäðåñ (Ìàêñèìóì 200 ñèìâîëîâ)."; | |
58 | - } | |
59 | - | |
60 | - if(isset($data['order_phone'])){ | |
61 | - if( !preg_match("/.{1,70}/i",$data['order_phone']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Òåëåôîí (Ìàêñèìóì 70 ñèìâîëîâ)."; | |
62 | - } | |
63 | - | |
64 | - if(isset($data['user_name'])){ | |
65 | - if( !preg_match("/.{1,100}/i",$data['user_name']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
66 | - } | |
67 | - | |
68 | - if(isset($data['user_email'])){ | |
69 | - if( !preg_match("/.{1,80}/i",$data['user_email']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø e-mail (Ìàêñèìóì 80 ñèìâîëîâ)."; | |
70 | - } | |
71 | - | |
72 | - if(isset($data['user_login'])){ | |
73 | - if( !preg_match("/.{1,100}/i",$data['user_login']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø ëîãèí (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
74 | - elseif( $this->isLoginUser($data['user_login']) ) $this->error[] = "Îøèáêà òàêîé Ëîãèí óæå åñòü!"; | |
75 | - } | |
76 | - | |
77 | - if(isset($data['you_login'])){ | |
78 | - if( !$this->isLoginUser($data['you_login']) ) $this->error[] = "Òàêîãî ËÎÃÈÍÀ íåò â áàçå äàííûõ ñàéòà!"; | |
79 | - } | |
80 | - | |
81 | - if(isset($data['user_psw'])){ | |
82 | - if( !preg_match("/.{1,100}/i",$data['user_psw']) ) $this->error[] = "Îøèáêà ââîäà ïîëÿ Âàø ïàðîëü (Ìàêñèìóì 100 ñèìâîëîâ)."; | |
83 | - } | |
84 | - | |
85 | - return ( count($this->error) ) ? true : false; | |
86 | - } | |
87 | - | |
88 | - function deleteRubric($id,$field="id"){ | |
89 | - $sql = "select pic,id,parent_id from catalogs_rubrics where $field=?"; | |
90 | - $res = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); | |
91 | - foreach($res as $row){ | |
92 | - @unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/rubrics/{$row['pic']}"); | |
93 | - $sql = "delete from catalogs_rubrics where id=?"; | |
94 | - $this->db->query($sql,array($row['id'])); | |
95 | - $this->deleteFiltersRubric_id($row['id']); | |
96 | - $this->deleteYearsRubric_id($row['id']); | |
97 | - $this->deleteProductsRubric($row['id']); | |
98 | - $this->deleteRubric($row['id'],"parent_id"); | |
99 | - } | |
100 | - } | |
101 | - | |
102 | - function deleteProductPics($id,$pics = array('pic_big','pic')){ | |
103 | - $sql = "select pic_big,pic from catalogs_products where id=?"; | |
104 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
105 | - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/big/{$row['pic_big']}"); | |
106 | - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/products/{$row['pic']}"); | |
107 | - } | |
108 | - | |
109 | - function deleteProduct($id){ | |
110 | - $this->deleteProductPics($id); | |
111 | - $sql = "delete from catalogs_products where id=?"; | |
112 | - $this->db->query($sql,array($id)); | |
113 | - $this->delete_keysProductsFilters($id); | |
114 | - $this->delete_keysProductsAkcii($id); | |
115 | - $this->delete_keysProductsYears($id); | |
116 | - $this->delete_keysProductsCities($id); | |
117 | - $this->deleteProductModifications($id); | |
118 | - } | |
119 | - | |
120 | - function deleteProductsRubric($id){ | |
121 | - $res = $this->db->getAll("select id from catalogs_products where rubric_id=?",array($id),DB_FETCHMODE_ASSOC); | |
122 | - foreach($res as $row){ | |
123 | - $this->deleteProduct($row['id']); | |
124 | - } | |
125 | - } | |
126 | - | |
127 | - | |
128 | - function PhotosCheck($id_s,$check_s = array()){ | |
129 | - $sql = "UPDATE gallery SET active = ? WHERE id =?"; | |
130 | - | |
131 | - foreach($id_s as $id){ | |
132 | - $this->db->query($sql,array(0,$id)); | |
133 | - } | |
134 | - if(count($check_s)){ | |
135 | - foreach($check_s as $id){ | |
136 | - $this->db->query($sql,array(1,$id)); | |
137 | - } | |
138 | - } | |
139 | - } | |
140 | - | |
141 | - function viewRubrics($id = 0,$parent_id = 0){ // print $parent_id."<br />"; | |
142 | - global $rubrics; | |
143 | - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? group by a.id order by a.sort asc"; | |
144 | - $res = $this->db->query($sql,array($id)); | |
145 | - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ | |
146 | - $rubrics[] = $row; //print $row['id']."<br />"; | |
147 | - | |
148 | - if(in_array($row['id'],$this->getParentIdRubric($parent_id))){$this->viewRubrics($row['id']);} | |
149 | - // if($row['level']==0){$this->viewRubrics($row['id']);} | |
150 | - } | |
151 | - $this->tpl->assign("rubrics",$rubrics); | |
152 | - } | |
153 | - | |
154 | - function getParentIdRubric($id){ | |
155 | - //$ids = array(); | |
156 | - global $ids; | |
157 | - if(!count($ids))$ids = array(); | |
158 | - while($id>0){ | |
159 | - $row = $this->db->getRow('select id,parent_id from catalogs_rubrics where id=?',array($id),DB_FETCHMODE_ASSOC); | |
160 | - //if(isset($row['id'])) | |
161 | - $ids[] = $row['id']; | |
162 | - $id = $row['parent_id']; | |
163 | - } //print_r($ids); | |
164 | - // sort($ids); | |
165 | - return $ids; | |
166 | - } | |
167 | - | |
168 | - function viewRubricsAll($id = 0){ | |
169 | - global $rubrics; | |
170 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
171 | - $res = $this->db->query($sql,array($id)); | |
172 | - while ($res->fetchInto($row,DB_FETCHMODE_ASSOC)){ | |
173 | - $rubrics[] = $row; | |
174 | - $this->viewRubricsAll($row['id']); | |
175 | - } | |
176 | - $this->tpl->assign("rubrics",$rubrics); | |
177 | - } | |
178 | - | |
179 | - | |
180 | - function viewRubrics_begin($item = 'parents'){ | |
181 | - $sql = "select a.*,(select b.id from catalogs_rubrics b where b.parent_id=a.id order by b.sort limit 1) as r_pid from catalogs_rubrics a where a.parent_id=? order by a.sort asc"; | |
182 | - $row = $this->db->getAll($sql,array(0),DB_FETCHMODE_ASSOC); | |
183 | - foreach($row as $key=>$value){ | |
184 | - if($item=='parents'){ | |
185 | - $row[$key]['parents'] = $this->db->getAll("select * from catalogs_rubrics where parent_id=? order by sort asc",array($value['id']),DB_FETCHMODE_ASSOC); | |
186 | - }elseif($item=='brends'){ | |
187 | - $row[$key]['brends'] = $this->db->getAll("select * from catalogs_brends where rubric_id in (select id from catalogs_rubrics where parent_id=? or id=?) group by name",array($value['id'],$value['id']),DB_FETCHMODE_ASSOC); | |
188 | - } | |
189 | - } | |
190 | - $this->tpl->assign("catalogs_rubrics_begin",$row); | |
191 | - } | |
192 | - | |
193 | - function viewRubrics_parent($parent_id = 0){ | |
194 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
195 | - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); | |
196 | - $this->tpl->assign("catalogs_rubrics_parent",$row); | |
197 | - } | |
198 | - | |
199 | - function viewRubrics_parent2($rub_id){ | |
200 | - $parent_id = $this->getRubricParent($rub_id); | |
201 | - if($parent_id==0)$parent_id = $rub_id; | |
202 | - $sql = "select * from catalogs_rubrics where parent_id=? order by sort asc"; | |
203 | - $row = $this->db->getAll($sql,array($parent_id),DB_FETCHMODE_ASSOC); | |
204 | - $this->tpl->assign("catalogs_rubrics_parent2",$row); | |
205 | - } | |
206 | - | |
207 | - function viewRubricOne($id,&$row){ | |
208 | - $sql = "select * from catalogs_rubrics where id=?"; | |
209 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
210 | - $this->tpl->assign('rubric',$row); | |
211 | - } | |
212 | - | |
213 | - function getRubricName($id){ | |
214 | - $sql = "select name from catalogs_rubrics where id=?"; | |
215 | - return $this->db->getOne($sql,array($id)); | |
216 | - } | |
217 | - | |
218 | - function getRubricParent($id){ | |
219 | - $sql = "select parent_id from catalogs_rubrics where id=?"; | |
220 | - return $this->db->getOne($sql,array($id)); | |
221 | - } | |
222 | - | |
223 | - function SaveRubric($data,$upload){ | |
224 | - $table_name = "catalogs_rubrics"; | |
225 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
226 | - $parent_id = (isset($data['parent_id']) ? $data['parent_id'] : 0); | |
227 | - $fields_values = array('parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1),'sort' => $data['sort'],'name' => $data['name'],'list_name' => $data['list_name'],'sort_cost' => $data['sort_cost'],'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about']); | |
228 | - /* | |
229 | - if($upload['pic']['tmp_name']){ | |
230 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"180",'height'=>"180",'upload_path'=>"./uploaded/pic/catalogs/rubrics/")); | |
231 | - } */ | |
232 | - | |
233 | - if($upload['pic']['tmp_name']){ | |
234 | - if($data['update_id']>0)$this->deletePicRubric($data['update_id']); | |
235 | - $uploadfile = "./uploaded/pic/catalogs/rubrics/"; | |
236 | - $type = substr(strrchr($upload['pic']['name'],"."),1); | |
237 | - $uploadname = mktime() . "." . $type; | |
238 | - if (!move_uploaded_file($_FILES['pic']['tmp_name'], $uploadfile . $uploadname))print"Îøèáêà ïðè çàêà÷êå ôàéëà!"; | |
239 | - $fields_values['pic'] = $uploadname; | |
240 | - } | |
241 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
242 | - } | |
243 | - | |
244 | - function deletePicRubric($id){ | |
245 | - $sql = "select pic from catalogs_rubrics where id=?"; | |
246 | - $rub = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
247 | - @unlink("./uploaded/pic/catalogs/rubrics/{$rub['pic']}"); | |
248 | - } | |
249 | - | |
250 | - function getLevelRubric($id){ | |
251 | - $level = $this->db->getOne("select level from catalogs_rubrics where id=?",array($id)); | |
252 | - return ($level==null)? -1 : $level; | |
253 | - } | |
254 | - | |
255 | - function saveUser($data){ | |
256 | - $table_name = "catalogs_users"; | |
257 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
258 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'mktime'=>mktime()); | |
259 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
260 | - } | |
261 | - | |
262 | - function updateUser($data){ | |
263 | - $table_name = "catalogs_users"; | |
264 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
265 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'login' => $data['user_login'],'psw' => $data['user_psw'],'about' => $data['user_about'],'discount'=>$data['user_discount']); | |
266 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
267 | - } | |
268 | - | |
269 | - function updateUserID($data,$id){ | |
270 | - $table_name = "catalogs_users"; | |
271 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
272 | - $fields_values = array('name' => $data['user_name'],'email' => $data['user_email'],'psw' => $data['user_psw'],'about' => $data['user_about'],'phone' => $data['user_phone'],'phonemob' => $data['user_phonemob'],'adress' => $data['user_adress']); | |
273 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$id}"); | |
274 | - } | |
275 | - | |
276 | - function deleteUser($id){ | |
277 | - $this->db->query("delete from catalogs_users where id=?",array($id)); | |
278 | - $res_order_id = $this->db->getRow("select id from catalogs_orders where user_id=?",array($id),DB_FETCHMODE_ASSOC); | |
279 | - if(count($res_order_id)){ | |
280 | - foreach($res_order_id as $_id){ | |
281 | - $this->db->query("delete from catalogs_orders where id=?",array($_id)); | |
282 | - $this->db->query("delete from catalogs_orders_products where order_id=?",array($_id)); | |
283 | - }} | |
284 | - } | |
285 | - | |
286 | - function isLoginUser($login){ | |
287 | - return $this->db->getOne("select id from catalogs_users where login=?",array($login)); | |
288 | - } | |
289 | - | |
290 | - function sendLoginInfo($login){ | |
291 | - $user = $this->db->getRow("select * from catalogs_users where login=?",array($login),DB_FETCHMODE_ASSOC); | |
292 | - $mail = new PHPMailer(); | |
293 | - $mail->CharSet = "windows-1251"; | |
294 | - $mail->From = "shop@eltrade.com.ua"; | |
295 | - $mail->FromName = "shop@eltrade.com.ua"; | |
296 | - $mail->AddAddress($user['email'], $user['name']); | |
297 | - $mail->Subject = "Àêêàóíò ýêñòðèì"; | |
298 | - $msg = ""; | |
299 | - $msg .= "Çäðàâñòâóéòå: ".$user['name']; | |
300 | - $msg .= "<br />"; | |
301 | - $msg .= "Âàø ëîãèí: ".$user['login']; | |
302 | - $msg .= "<br>"; | |
303 | - $msg .= "Âàø ïàðîëü: ".$user['psw']; | |
304 | - $msg .= "<br>"; | |
305 | - $msg .= "Ñ óâàæåíèåì, shop@eltrade.com.ua"; | |
306 | - | |
307 | - $mail->MsgHTML($msg); | |
308 | - | |
309 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
310 | - $mail->ClearAddresses(); | |
311 | - $mail->ClearAttachments(); | |
312 | - } | |
313 | - | |
314 | - function isUser($login,$psw){ | |
315 | - $row = $this->db->getRow("select * from catalogs_users where login=? AND psw=?",array($login,$psw),DB_FETCHMODE_ASSOC); | |
316 | - $this->tpl->assign('user_service',$row); | |
317 | - return $row['id']; | |
318 | - } | |
319 | - | |
320 | - function viewUser($id){ | |
321 | - $sql = "select * from catalogs_users where id=?"; | |
322 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
323 | - $this->tpl->assign('user',$row); | |
324 | - } | |
325 | - | |
326 | - function getUserDiscount($id){ | |
327 | - return $this->db->getOne("select discount from catalogs_users where id=?",array($id)); | |
328 | - } | |
329 | - | |
330 | - function viewUsers(){ | |
331 | - $sql = "SELECT catalogs_users. *, COUNT(catalogs_orders.user_id) as count_orders | |
332 | -FROM catalogs_users LEFT JOIN catalogs_orders ON catalogs_orders.user_id=catalogs_users.id | |
333 | -GROUP BY catalogs_users.id | |
334 | -ORDER BY catalogs_users.mktime DESC"; | |
335 | - | |
336 | - $pagerOptions = Array( | |
337 | - 'mode' => 'Sliding', | |
338 | - 'delta' => 6, | |
339 | - 'perPage' => 10, | |
340 | - 'linkClass'=>"link_class", | |
341 | - 'curPageLinkClassName'=>"link_class_active", | |
342 | - 'spacesBeforeSeparator' => 1, | |
343 | - 'spacesAfterSeparator' => 1 | |
344 | - ); | |
345 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
346 | - | |
347 | - $this->tpl->assign('usersData', $res); | |
348 | - } | |
349 | - | |
350 | - function viewModifications($product_id){ | |
351 | - $sql = "select * from catalogs_modifications where product_id=? order by id desc"; | |
352 | - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
353 | - $this->tpl->assign('modifications', $row); | |
354 | - } | |
355 | - | |
356 | - function viewModificationsProduct($product_id){ | |
357 | - $sql = "select * from catalogs_modifications where product_id=? and active>0 order by id desc"; | |
358 | - // $sql = "select m.* from catalogs_keys_products_cities k left join catalogs_modifications m on m.code=k.mod_code where k.product_id=? and k.count>0 order by k.mod_code desc"; | |
359 | - $row = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
360 | - $this->tpl->assign('modifications', $row); | |
361 | - } | |
362 | - | |
363 | - function viewModificationOne($id){ | |
364 | - $sql = "select * from catalogs_modifications where id=?"; | |
365 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
366 | - $this->tpl->assign('modification', $row); | |
367 | - } | |
368 | - | |
369 | - function getModificationProduct_id($code){ | |
370 | - return $this->db->getOne("select product_id from catalogs_modifications where code=?",array($code)); | |
371 | - } | |
372 | - | |
373 | - function SaveModification($data,$upload){ | |
374 | - $table_name = "catalogs_modifications"; | |
375 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
376 | - $fields_values = array('product_id'=>$data['product_id'],'code'=>$data['code'],'size' => $data['size'],'color' => $data['color'],'active' => $data['active']); | |
377 | - if(isset($data['delete_pic'])){if($data['update_id']>0){$this->deleteModificationPics($data['update_id']);}$fields_values['pic']=null;$fields_values['pic_big']=null;} | |
378 | - if($upload['pic']['tmp_name']){ | |
379 | - if($data['update_id']>0){ | |
380 | - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); | |
381 | - $this->deleteModificationPics($data['update_id'],$delete_pics); | |
382 | - } | |
383 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/modifications/")); | |
384 | - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/modifications/big/")); | |
385 | - } | |
386 | - | |
387 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='{$data['update_id']}'"); | |
388 | - return $id; | |
389 | - } | |
390 | - | |
391 | - function deleteModification($id){ | |
392 | - $this->deleteModificationPics($id); | |
393 | - $this->db->query("delete from catalogs_modifications where id=?",array($id)); | |
394 | - } | |
395 | - | |
396 | - function deleteProductModifications($product_id,$nopic = false){ | |
397 | - IF($nopic==false){ | |
398 | - $sql = "select * from catalogs_modifications where product_id=?"; | |
399 | - $res = $this->db->getAll($sql,array($product_id),DB_FETCHMODE_ASSOC); | |
400 | - foreach($res as $row){ | |
401 | - $this->deleteModificationPics($row['id']); | |
402 | - } | |
403 | - } | |
404 | - $this->db->query("delete from catalogs_modifications where product_id=?",array($product_id)); | |
405 | - } | |
406 | - | |
407 | - function deleteModificationPics($id,$pics = array('pic_big','pic')){ | |
408 | - $sql = "select pic,pic_big from catalogs_modifications where id=?"; | |
409 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
410 | - if(in_array('pic',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/{$row['pic']}"); | |
411 | - // if(in_array('pic_big',$pics))@unlink("{$_SERVER['DOCUMENT_ROOT']}/uploaded/pic/catalogs/modifications/big/{$row['pic_big']}"); | |
412 | - } | |
413 | - | |
414 | - function ProductClick($id){ | |
415 | - $this->db->query("update catalogs_products set click=click+1 where id='$id'"); | |
416 | - } | |
417 | - | |
418 | - function SaveProduct($data,$upload){ | |
419 | - $table_name = "catalogs_products"; | |
420 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
421 | - $id = ($data['update_id']>0) ? $data['update_id'] : $this->db->nextId('mySequence_'.$table_name); | |
422 | - $fields_values = array('id'=>$id,'rubric_id'=>$data['rubric_id'],'rubric_parent_id'=>$this->getRubricParent($data['rubric_id']),'brend_id'=>$data['brend_id'],'name' => $data['name'],'about' => $data['about'],'text' => $data['text'],'strnumber' => $data['strnumber'],'cine'=>$data['cine'],'cine_last'=>$data['cine_last'],'sex'=>$data['sex'], 'mktime' => mktime(),'meta_title' => $data['meta_title'],'meta_description' => $data['meta_description'],'meta_keywords' => $data['meta_keywords'],'meta_about' => $data['meta_about'],'active' => $data['active']); | |
423 | - if($upload['pic']['tmp_name']){ | |
424 | - $delete_pics = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?array('pic'):array('pic','pic_big'); | |
425 | - $this->deleteProductPics($id,$delete_pics); | |
426 | - $fields_values['pic'] = upload_ImageResize($upload['pic'],array('width'=>"144",'height'=>"144",'upload_path'=>"./uploaded/pic/catalogs/products/")); | |
427 | - $fields_values['pic_big'] = (isset($upload['pic']['big']) && $upload['pic']['big']==true)?$upload['pic']['name']:upload_ImageResize($upload['pic'],array('width'=>"500",'height'=>"500",'upload_path'=>"./uploaded/pic/catalogs/products/big/")); | |
428 | - } | |
429 | - | |
430 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id='$id'"); | |
431 | - $this->save_keysProductsFilters($id,$data); | |
432 | - $this->save_keysProductsYears($id,$data); | |
433 | - $this->save_keysProductsCities($id,$data); | |
434 | - $this->save_keysProductsAkcii($id,$data); | |
435 | - return $id; | |
436 | - } | |
437 | - | |
438 | - function save_keysProductsFilters($id,$data){ | |
439 | - $this->delete_keysProductsFilters($id); | |
440 | - if(!isset($data['filter']))return false; | |
441 | - $table_name = "catalogs_keys_products_filters"; | |
442 | - foreach($data['filter'] as $filter_id){ | |
443 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'filter_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); | |
444 | - } | |
445 | - } | |
446 | - | |
447 | - function delete_keysProductsFilters($id){ | |
448 | - $this->db->query("delete from catalogs_keys_products_filters where product_id=?",array($id)); | |
449 | - } | |
450 | - | |
451 | - function save_keysProductsYears($id,$data){ | |
452 | - $this->delete_keysProductsYears($id); | |
453 | - if(!isset($data['years']))return false; | |
454 | - $table_name = "catalogs_keys_products_years"; | |
455 | - foreach($data['years'] as $filter_id){ | |
456 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'year_id'=>$filter_id,'rubric_id'=>$data['rubric_id']),DB_AUTOQUERY_INSERT); | |
457 | - } | |
458 | - } | |
459 | - | |
460 | - function delete_keysProductsYears($id){ | |
461 | - $this->db->query("delete from catalogs_keys_products_years where product_id=?",array($id)); | |
462 | - } | |
463 | - | |
464 | - function save_keysProductsCities($id,$data){ | |
465 | - $this->delete_keysProductsCities($id); | |
466 | - if(!isset($data['city']))return false; | |
467 | - $table_name = "catalogs_keys_products_cities"; | |
468 | - foreach($data['city'] as $city_id){ | |
469 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'city_id'=>$city_id),DB_AUTOQUERY_INSERT); | |
470 | - } | |
471 | - } | |
472 | - | |
473 | - function delete_keysProductsAkcii($id){ | |
474 | - $this->db->query("delete from catalogs_keys_products_akcii where product_id=?",array($id)); | |
475 | - } | |
476 | - | |
477 | - function save_keysProductsAkcii($id,$data){ | |
478 | - $this->delete_keysProductsAkcii($id); | |
479 | - if(!isset($data['akcii']))return false; | |
480 | - $table_name = "catalogs_keys_products_akcii"; | |
481 | - foreach($data['akcii'] as $rubric_id){ | |
482 | - $this->db->autoExecute($table_name,array('product_id'=>$id,'rubric_id'=>$rubric_id),DB_AUTOQUERY_INSERT); | |
483 | - } | |
484 | - } | |
485 | - | |
486 | - function delete_keysProductsCities($id){ | |
487 | - $this->db->query("delete from catalogs_keys_products_cities where product_id=?",array($id)); | |
488 | - } | |
489 | - | |
490 | - | |
491 | - function saveProductSizeCine($id,$data){ | |
492 | - $this->db->query("delete from catalogs_products_cine where product_id=?",array($id)); | |
493 | - foreach($data['size'] as $key=>$size){ | |
494 | - $this->db->autoExecute("catalogs_products_cine",array('product_id'=>$id,'size'=>$size,'cine'=>$data['cine'][$key],'metka'=>$data['size_metka'][$key],'n'=>$key),DB_AUTOQUERY_INSERT); | |
495 | - } | |
496 | - } | |
497 | - | |
498 | - | |
499 | - function productsIsHits($products,$hits,$tops,$headers){ | |
500 | - $sql = "update catalogs_products set hit=?,top=?,header=? where id=?"; | |
501 | - foreach($products as $id){ | |
502 | - if(@in_array($id,$hits))$hit = true; | |
503 | - else $hit = false; | |
504 | - if(@in_array($id,$tops))$top = true; | |
505 | - else $top = false; | |
506 | - if(@in_array($id,$headers))$header = true; | |
507 | - else $header = false; | |
508 | - $this->db->query($sql,array($hit,$top,$header, $id)); | |
509 | - } | |
510 | - } | |
511 | - | |
512 | - function productsIsHits2($data,$hits){ | |
513 | - $sql = "update catalogs_products set hit=?,hit_sort=? where id=?"; | |
514 | - foreach($data['product_id'] as $key=>$id){ | |
515 | - if(@in_array($id,$hits))$hit = true; | |
516 | - else $hit = false; | |
517 | - $this->db->query($sql,array($hit,$data['hit_sort'][$key],$id)); | |
518 | - } | |
519 | - } | |
520 | - | |
521 | - function viewProducts($params,$rubricsP = false,$count_modf = true){ | |
522 | - $search = array(); | |
523 | - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; | |
524 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){ | |
525 | - $array_string = explode(" ",trim($params['search_str'])); | |
526 | - $search_string = array(); | |
527 | - $search_string[] = "catalogs_products.name like '%{$params['search_str']}%'"; | |
528 | - foreach($array_string as $str){ | |
529 | - $search_string[] = "catalogs_products.name like '$str'"; | |
530 | - $search_string[] = "catalogs_products.name like'% $str %'"; | |
531 | - $search_string[] = "catalogs_products.name like'%$str %'"; | |
532 | - $search_string[] = "catalogs_products.name like'% $str%'"; | |
533 | - } | |
534 | - $search[] = "((" . implode(" OR ",$search_string) . ") OR ". sprintf("catalogs_modifications.code='%s'", $params['search_str']).")"; | |
535 | - } | |
536 | - // print_r($params); | |
537 | - if(isset($params['brendID']) && $params['brendID']>0)$search[] = sprintf("catalogs_products.brend_id='%d'",$params['brendID']); | |
538 | - if(isset($params['brend']) && strlen($params['brend'])>0)$search[] = "catalogs_products.brend_id in(".implode(",",$this->getBrendIDs_name($params['brend'])).")"; | |
539 | - if(isset($params['sex']) && $params['sex']>0)$search[] = sprintf("catalogs_products.sex='%d'",$params['sex']); | |
540 | - //if(isset($params['akcii']) && $params['akcii']>0)$search[] = sprintf("catalogs_products.hit='%d'",$params['akcii']); | |
541 | - if($count_modf==true)$search[] = "catalogs_products.count_modifications>0"; | |
542 | - if(isset($params['rubID']) && $params['rubID']>0){ | |
543 | - $search[] = ($rubricsP==true)?sprintf("(catalogs_products.rubric_id='%d')",$params['rubID']):sprintf("(catalogs_products.rubric_parent_id='%d' || catalogs_products.rubric_id='%d')",$params['rubID'],$params['rubID']); | |
544 | - } | |
545 | - if(isset($params['filterID'])){ | |
546 | - //$search[] = sprintf("catalogs_keys_products_filters.filter_id='%d'", $params['filterID']); | |
547 | - $search[] = "catalogs_keys_products_filters.filter_id in (".implode(",",$params['filterID']).")"; | |
548 | - } | |
549 | - if(isset($params['yearID']) && $params['yearID']>0){ | |
550 | - //$search[] = sprintf("catalogs_keys_products_years.year_id='%d'", $params['yearID']); | |
551 | - $search[] = "catalogs_keys_products_years.year_id in (".implode(",",$params['yearID']).")"; | |
552 | - } | |
553 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id "; | |
554 | - if(isset($params['akcii']) && $params['akcii']>0)$sql .= "RIGHT JOIN catalogs_keys_products_akcii ON catalogs_keys_products_akcii.product_id=catalogs_products.id "; | |
555 | - if(isset($params['filterID']) && $params['filterID']>0)$sql .= "LEFT JOIN catalogs_keys_products_filters ON catalogs_keys_products_filters.product_id=catalogs_products.id "; | |
556 | - if(isset($params['yearID']) && $params['yearID']>0)$sql .= "LEFT JOIN catalogs_keys_products_years ON catalogs_keys_products_years.product_id=catalogs_products.id "; | |
557 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= "LEFT JOIN catalogs_modifications ON catalogs_modifications.product_id=catalogs_products.id ";} | |
558 | - $sql .= "WHERE 1=1 "; | |
559 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
560 | - if(isset($params['akcii']) && $params['akcii']>0){$sql .= " GROUP BY catalogs_keys_products_akcii.product_id ";} | |
561 | - if(isset($params['search_str']) && strlen($params['search_str'])>0){$sql .= " GROUP BY catalogs_products.id ";} | |
562 | - $sql .= "order by "; | |
563 | - if(isset($_GET['sort'])){ | |
564 | - switch($_GET['sort']){ | |
565 | - case 'cine' : $sql .= " catalogs_products.cine " . (($_GET['order']=='asc')?"asc":"desc"); break; | |
566 | - case 'click' : $sql .= " catalogs_products.click " . (($_GET['order']=='asc')?"asc":"desc"); break; | |
567 | - case 'hit' : $sql .= " catalogs_products.hit_sort asc"; break; | |
568 | - default : $sql .= " catalogs_products.mktime desc"; | |
569 | - } | |
570 | - }else $sql .= " catalogs_products.cine desc"; | |
571 | - // print $sql; | |
572 | - $pagerOptions = Array( | |
573 | - 'mode' => 'Sliding', | |
574 | - 'delta' => 6, | |
575 | - 'perPage' => $perPage, | |
576 | - 'linkClass'=>"link_class", | |
577 | - 'curPageLinkClassName'=>"link_class_active", | |
578 | - 'spacesBeforeSeparator' => 1, | |
579 | - 'spacesAfterSeparator' => 1 | |
580 | - ); | |
581 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
582 | - | |
583 | - $this->tpl->assign('productsData', $res); | |
584 | - } | |
585 | - | |
586 | - function getCineCurs($type_curs,$cine){ | |
587 | - $curs = array(); | |
588 | - | |
589 | - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); | |
590 | - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); | |
591 | - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); | |
592 | - | |
593 | - switch($type_curs){ | |
594 | - case 'uah' : | |
595 | - $curs['uah'] = round($cine,2); | |
596 | - $curs['uah_bank'] = round(($cine/$usd)*$uah_bank,2); | |
597 | - $curs['usd'] = round($cine/$usd,2); | |
598 | - break; | |
599 | - case 'uah_bank' : | |
600 | - $curs['uah'] = round(($cine/$uah_bank)*$uah,2); | |
601 | - $curs['uah_bank'] = round($cine,2); | |
602 | - $curs['usd'] = round($cine/$uah_bank,2); | |
603 | - break; | |
604 | - case 'usd' : | |
605 | - $curs['uah'] = round($cine*$uah,2); | |
606 | - $curs['uah_bank'] = round($cine*$uah_bank,2); | |
607 | - $curs['usd'] = round($cine,2); | |
608 | - break; | |
609 | - } | |
610 | - return $curs; | |
611 | - } | |
612 | - | |
613 | - function viewProductsAkcii($rubric_id){ | |
614 | - $sql = "select catalogs_products.* from catalogs_keys_products_akcii left join catalogs_products on catalogs_products.id=catalogs_keys_products_akcii.product_id where catalogs_keys_products_akcii.rubric_id=?"; | |
615 | - $res = $this->db->getAll($sql,array($rubric_id),DB_FETCHMODE_ASSOC); | |
616 | - //print_r($res); | |
617 | - $this->tpl->assign('products_akcii',$res); | |
618 | - } | |
619 | - | |
620 | - function viewProductsHitsAll2(){ | |
621 | - if(isset($_GET['perPage']) && $_GET['perPage']>0 && $_GET['perPage']<=100)$perPage = $_GET['perPage'];else $perPage = 20; | |
622 | - $sql = "select * from catalogs_products where hit=?"; | |
623 | - $pagerOptions = Array( | |
624 | - 'mode' => 'Sliding', | |
625 | - 'delta' => 6, | |
626 | - 'perPage' => $perPage, | |
627 | - 'linkClass'=>"link_class", | |
628 | - 'curPageLinkClassName'=>"link_class_active", | |
629 | - 'spacesBeforeSeparator' => 1, | |
630 | - 'spacesAfterSeparator' => 1 | |
631 | - ); | |
632 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array(true)); | |
633 | - | |
634 | - $this->tpl->assign('productsData', $res); | |
635 | - } | |
636 | - | |
637 | - function viewProductsHits($params,$limit = 4,$curs = null){ | |
638 | - $search = array(); | |
639 | - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); | |
640 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.hit=? and catalogs_products.count_modifications>0 "; | |
641 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
642 | - $sql .= "order by catalogs_products.mktime desc"; | |
643 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
644 | - $this->tpl->assign('products_hits',$res); | |
645 | - } | |
646 | - | |
647 | - function viewProductsTops($params,$limit = 4,$curs = null){ | |
648 | - $search = array(); | |
649 | - if(isset($params['rubID']) && $params['rubID']>0)$search[] = sprintf("rubric_parent_id=%d",$params['rubID']); | |
650 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.top=? and catalogs_products.count_modifications>0 "; | |
651 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
652 | - $sql .= "order by catalogs_products.mktime desc"; | |
653 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
654 | - $this->tpl->assign('products_top',$res); | |
655 | - } | |
656 | - | |
657 | - function viewProductsTopOne(){ | |
658 | - $count = $this->db->getOne("select count(*) from catalogs_products WHERE catalogs_products.header=?",array(true)); | |
659 | - $limit = 1; $round = rand(0,($count-$limit)); | |
660 | - $res = $this->db->getRow("select * from catalogs_products WHERE catalogs_products.header=? order by id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(true),DB_FETCHMODE_ASSOC); | |
661 | - $this->tpl->assign('products_top_one',$res); | |
662 | - } | |
663 | - | |
664 | - function viewProductsLast($limit = 1){ | |
665 | - $search = array(); | |
666 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE catalogs_products.active=? "; | |
667 | - $sql .= "order by catalogs_products.mktime desc LIMIT $limit"; | |
668 | - $res = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
669 | - $this->tpl->assign('products_last',$res); | |
670 | - } | |
671 | - | |
672 | - function viewProductsHitsAll($limit = 4){ | |
673 | - $sql = "select catalogs_products.*,catalogs_brends.name as brend_name from catalogs_products LEFT JOIN catalogs_brends ON catalogs_brends.id=catalogs_products.brend_id WHERE hit=? "; | |
674 | - $sql .= "order by mktime desc LIMIT $limit"; | |
675 | - $products_hits = $this->db->getAll($sql,array(true),DB_FETCHMODE_ASSOC); | |
676 | - $this->tpl->assign('products_hits_all',$products_hits); | |
677 | - } | |
678 | - | |
679 | - function viewProductOne($id,&$row){ | |
680 | - $sql = "select p.*,b.text as brend_text from catalogs_products p left join catalogs_brends b ON b.id=p.brend_id where p.id=?"; | |
681 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
682 | - $this->tpl->assign('product',$row); | |
683 | - } | |
684 | - | |
685 | - function viewProductNembers($str_n){ | |
686 | - $arr_id = explode(",",$str_n); | |
687 | - $products = array(); | |
688 | - foreach($arr_id as $id){ | |
689 | - $count = $this->db->getOne("select count(*) from catalogs_keys_products_filters where filter_id=?",array(trim($id))); | |
690 | - $limit = 1; $round = rand(0,($count-$limit)); | |
691 | - $products[] = $this->db->getRow("select catalogs_products.* from catalogs_keys_products_filters Left Join catalogs_products ON catalogs_products.id=catalogs_keys_products_filters.product_id where catalogs_keys_products_filters.filter_id=? order by catalogs_keys_products_filters.product_id " . ((rand(1,1000)%2) ? "asc" : "desc") . " LIMIT $round,$limit",array(trim($id)),DB_FETCHMODE_ASSOC); | |
692 | - } | |
693 | - $this->tpl->assign('products_parent',$products); | |
694 | - } | |
695 | - | |
696 | - function getProductSizeCine($id,&$products){ | |
697 | - $res = $this->db->getAll("select * from catalogs_products_cine where product_id=?",array($id),DB_FETCHMODE_ASSOC); | |
698 | - $i = 0; | |
699 | - foreach($res as $row){ | |
700 | - $products['size_' . $row['n']] = $row['size']; | |
701 | - $products['cine_' . $row['n']] = $row['cine']; | |
702 | - $products['metka_' . $row['n']] = $row['metka']; | |
703 | - $products['id_cine_' . $row['n']] = $row['id']; | |
704 | - $i++; | |
705 | - } //print_r($products); | |
706 | - } | |
707 | - /* | |
708 | - function getProductCine($id,$curs = null){ | |
709 | - $sql = "select cine from catalogs_products where id=?"; | |
710 | - $row = $this->db->getOne($sql,array($id)); | |
711 | - return $row; | |
712 | - }*/ | |
713 | - | |
714 | - function getProductCine($id){ | |
715 | - $sql = "select catalogs_products.cine from catalogs_modifications left join catalogs_products on catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; | |
716 | - return $this->db->getOne($sql,array($id)); | |
717 | - } | |
718 | - | |
719 | - function viewProductCine($id){ | |
720 | - $row = $this->db->getAll("select * from catalogs_products_cine where product_id=? and cine>0 Order By n ASC",array($id),DB_FETCHMODE_ASSOC); | |
721 | - $this->tpl->assign('product_cines',$row); | |
722 | - } | |
723 | - | |
724 | - function viewCatalogsCurs(){ | |
725 | - $uah = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah')); | |
726 | - $this->tpl->assign('curs_uah',$uah); | |
727 | - $uah_bank = $this->db->getOne("select curs from catalogs_curs where type=?",array('uah_bank')); | |
728 | - $this->tpl->assign('curs_uah_bank',$uah_bank); | |
729 | - $usd = $this->db->getOne("select curs from catalogs_curs where type=?",array('usd')); | |
730 | - $this->tpl->assign('curs_usd',$usd); | |
731 | - } | |
732 | - | |
733 | - function saveCurs($data){ | |
734 | - $table_name = "catalogs_curs"; | |
735 | - $DB_AUTOQUERY = DB_AUTOQUERY_UPDATE; | |
736 | - foreach($data as $key=>$value){ | |
737 | - $this->db->autoExecute($table_name,array('curs'=>$value),$DB_AUTOQUERY,"type='$key'"); | |
738 | - } | |
739 | - } | |
740 | - | |
741 | - function viewVarCurs($curs){ | |
742 | - $this->tpl->assign('curs',$curs); | |
743 | - } | |
744 | - | |
745 | - function viewBasketProducts($session_basket,$curs = null,$discount = 0){ | |
746 | - $products = array(); $i = 0; $cineAll = 0; | |
747 | -// $sql = "select catalogs_products.* from catalogs_products where catalogs_products.id=?"; | |
748 | - $sql = "select catalogs_modifications.id,catalogs_products.cine,catalogs_products.name,catalogs_modifications.code,catalogs_modifications.size,catalogs_modifications.color,catalogs_modifications.pic,catalogs_modifications.pic_big from catalogs_modifications Left Join catalogs_products On catalogs_products.id=catalogs_modifications.product_id where catalogs_modifications.id=?"; | |
749 | - foreach($session_basket as $id){ | |
750 | - $products_count = 1; | |
751 | - if(count($products)){ | |
752 | - foreach($products as $key=>$value){ | |
753 | - if($value['id']==$id){$products_count=$products[$key]['products_count']+$products_count;$products[$key]['products_count']=$products_count;$products[$key]['products_cine_all']=$products[$key]['cine']*$products_count;$cineAll = $cineAll+$products[$key]['cine'];} | |
754 | - }} | |
755 | - if($products_count==1){ | |
756 | - $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); | |
757 | - $products[$i] = $row; | |
758 | - $products[$i]['products_count']=$products_count; | |
759 | - $products[$i]['products_cine_all']=$products[$i]['cine']*$products_count; | |
760 | - $cineAll = $cineAll+$products[$i]['products_cine_all']; | |
761 | - $i++; | |
762 | - } | |
763 | - | |
764 | - } | |
765 | - /*print"<pre>"; | |
766 | - print_r($products); | |
767 | - print"</pre>";*/ | |
768 | - $this->tpl->assign('cineAll',$cineAll); | |
769 | - $this->tpl->assign('cineAll_discount',$cineAll - (($cineAll*$discount)/100)); | |
770 | - $this->tpl->assign('basket_products',$products); //print_r($products); | |
771 | - } | |
772 | - | |
773 | - | |
774 | - function BasketUpload(&$session_basket,$proructs_count){ | |
775 | - $session_basket = array(); | |
776 | - foreach($proructs_count as $key=>$value){ | |
777 | - for($i=0;$i<$value;$i++){ | |
778 | - $session_basket[] = $key; | |
779 | - } | |
780 | - } | |
781 | - } | |
782 | - | |
783 | - function sendOrder($data){ | |
784 | - $mail = new PHPMailer(); | |
785 | - $mail->CharSet = "windows-1251"; | |
786 | - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
787 | - $mail->FromName = $data['order_name']; | |
788 | - $mail->AddAddress("extremstyleshop@ukr.net","extremstyleshop"); | |
789 | - $mail->AddAddress("shopextremstyle@gmail.com","shopextremstyle"); | |
790 | - $mail->Subject = "Îôîðìèòü çàêàç ñ ÝêñòðèìÑòèëü"; | |
791 | - $title = Mail::str_rus("Îôîðìèòü çàêàç"); | |
792 | - $msg = ""; | |
793 | - foreach($data['product_id'] as $key=>$value){ | |
794 | - $msg .= "ID: ".$value." "; | |
795 | - $msg .= "Íàçâàíèå: <b>".$data['product_name'][$key]."</b> "; | |
796 | - $msg .= "Öåíà çà îäèí: ".$data['product_cine'][$key]." "; | |
797 | - $msg .= "Êîëè÷åñòâî: ".$data['product_count'][$key]." "; | |
798 | - $msg .= "Çà âåñü òîâàð: ".$data['product_cine_all'][$key]." "; | |
799 | - $msg .= "<br>"; | |
800 | - } | |
801 | - $msg .= "Îáùàÿ ñóìà: ".$data['cineAll']; | |
802 | - $msg .= "<br>"; | |
803 | - /* $msg .= "Ñêèäêà: ".$data['discount']." %"; | |
804 | - $msg .= "<br>"; */ | |
805 | - $msg .= "Èòîãî ê îïëàòå: ".$data['cineAll_discount']; | |
806 | - $msg .= "<br><br><br>"; | |
807 | - $msg .= "Êîíòàêòíûå äàííûå:"; | |
808 | - $msg .= "<br>"; | |
809 | - $msg .= "Èìÿ: ".$data['order_name']; | |
810 | - $msg .= "<br>"; | |
811 | - $msg .= "Àäðåñ: ".$data['order_adress']; | |
812 | - $msg .= "<br>"; | |
813 | - $msg .= "E-mail: ".$data['order_email']; | |
814 | - $msg .= "<br>"; | |
815 | - $msg .= "Êîíòàêòíûé òåëåôîí: ".$data['order_phone']; | |
816 | - $msg .= "<br>"; | |
817 | - $msg .= "Ìîáèëüíûé òåëåôîí: ".$data['order_phonemob']; | |
818 | - $msg .= "<br>"; | |
819 | - $msg .= "Êîììåíòàðèé: ".$data['order_comment']; | |
820 | -// $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "vapila@vapila.kiev.ua"; | |
821 | -// Mail::send("borisenko.pavel@gmail.com",$data['order_email'],$title,Mail::str_rus($msg)); | |
822 | - $mail->MsgHTML($msg); | |
823 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
824 | - $mail->ClearAddresses(); | |
825 | - $mail->ClearAttachments(); | |
826 | - | |
827 | - $this->sendOrderXML($data); | |
828 | - } | |
829 | - | |
830 | - | |
831 | - function sendOrderXML($data){ | |
832 | - $mail = new PHPMailer(); | |
833 | - $mail->CharSet = "windows-1251"; | |
834 | - $mail->From = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
835 | - $mail->FromName = $data['order_name']; | |
836 | - $mail->AddAddress("extremshop@portal.myoffice.biz.ua","extremshop"); | |
837 | - $mail->Subject = "xml çàêàç ñ ÝêñòðèìÑòèëü"; | |
838 | - $order_email = (strlen($data['order_email'])>0) ? $data['order_email'] : "shopextremstyle2@gmail.com"; | |
839 | - $xml = '<?xml version="1.0" encoding="windows-1251" ?>'; | |
840 | - $xml .= '<Order orderNum="'.mktime().'">'; | |
841 | - foreach($data['product_id'] as $key=>$value){ | |
842 | - $xml .= "<OrderItem ID='".$data['product_code'][$key]."'>"; | |
843 | - $xml .= "<ProductName>".$data['product_name2'][$key]."</ProductName>"; | |
844 | - $xml .= "<Size>".$data['product_size'][$key]."</Size>"; | |
845 | - $xml .= "<Color>".$data['product_color'][$key]."</Color>"; | |
846 | - $xml .= "<Price>".$data['product_price'][$key]."</Price>"; | |
847 | - $xml .= "<Count>".$data['product_count'][$key]."</Count>"; | |
848 | - $xml .= "</OrderItem>"; | |
849 | - } | |
850 | - $xml .= '<CustomerInfo>'; | |
851 | - $xml .= '<Name>'.$data['order_name'].'</Name>'; | |
852 | - $xml .= '<Mobile>'.$data['order_phone'].'</Mobile>'; | |
853 | - $xml .= '<Email>'.$data['order_email'].'</Email>'; | |
854 | - $xml .= '</CustomerInfo>'; | |
855 | - $xml .= '<DeliveryInfo>'; | |
856 | - $xml .= '<City>Óêðàèíà</City>'; | |
857 | - $xml .= '<Address>'.$data['order_adress'].'</Address>'; | |
858 | - $xml .= '<DeliveryType>Äîñòàâêà</DeliveryType>'; | |
859 | - $xml .= '</DeliveryInfo>'; | |
860 | - $xml .= '<Comment>'.$data['order_comment'].'</Comment>'; | |
861 | - $xml .= '</Order>'; | |
862 | - $tmpfname = tempnam("tmp", "FOO"); | |
863 | - $handle = fopen($tmpfname, "w"); | |
864 | - fwrite($handle, $xml); | |
865 | - $mail->AddAttachment($tmpfname, 'order.xml'); | |
866 | - if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;} | |
867 | - fclose($handle); | |
868 | - unlink($tmpfname); | |
869 | - $mail->ClearAddresses(); | |
870 | - $mail->ClearAttachments(); | |
871 | - // Mail::send("borisenko.pavel@gmail.com",$order_email,"Order",Mail::str_rus($xml)); | |
872 | - // Mail::send("andrey.belyy@gmail.com",$order_email,"Order",Mail::str_rus($xml)); | |
873 | - } | |
874 | - | |
875 | - function saveOrder($data,$userID){ | |
876 | - $table_name = "catalogs_orders"; | |
877 | - if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id']; $where = sprintf("id='%d'",$id);} | |
878 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequence_'.$table_name);$where = null;} | |
879 | - $fields_values = array('id'=>$id,'user_id'=>$userID,'name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'phonemob' => $data['order_phonemob'],'comment' => $data['order_comment'],'mktime'=>mktime()); | |
880 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,$where); | |
881 | - if(isset($data['product_id'])){ | |
882 | - foreach($data['product_id'] as $key=>$value){ | |
883 | - $this->db->autoExecute("catalogs_orders_products",array('order_id'=>$id,'product_id'=>$value,'count'=>$data['product_count'][$key]),DB_AUTOQUERY_INSERT); | |
884 | - } | |
885 | - } | |
886 | - } | |
887 | - | |
888 | - function deleteOrder($id){ | |
889 | - $this->db->query("delete from catalogs_orders where id=?",array($id)); | |
890 | - $this->db->query("delete from catalogs_orders_products where order_id=?",array($id)); | |
891 | - } | |
892 | - | |
893 | - function updateOrder($data){ | |
894 | - $table_name = "catalogs_orders"; | |
895 | - $fields_values = array('name' => $data['order_name'],'email' => $data['order_email'],'adress' => $data['order_adress'],'phone' => $data['order_phone'],'comment' => $data['order_comment'],'mktime'=>mktime()); | |
896 | - if(isset($data['order_active']))$fields_values['active'] = 1; | |
897 | - else $fields_values['active'] = 0; | |
898 | - $this->db->autoExecute($table_name,$fields_values,DB_AUTOQUERY_UPDATE,sprintf("id='%d'",$data['update_id'])); | |
899 | - } | |
900 | - | |
901 | - function updateOrderProducts($data){ | |
902 | - foreach($data['product_id'] as $key=>$value){ | |
903 | - if($data['product_count'][$value]<1){$this->db->query("delete from catalogs_orders_products where order_id='{$data['order_id']}' AND product_id='$value'");} | |
904 | - else{$this->db->autoExecute("catalogs_orders_products",array('count'=>$data['product_count'][$value]),DB_AUTOQUERY_UPDATE,"order_id='{$data['order_id']}' AND product_id='$value'");} | |
905 | - } | |
906 | - } | |
907 | - | |
908 | - function viewOrder($id){ | |
909 | - $row = $this->db->getRow("select * from catalogs_orders where id=?",array($id),DB_FETCHMODE_ASSOC); | |
910 | - $this->tpl->assign('order', $row); | |
911 | - } | |
912 | - | |
913 | - function viewOrderProducts($order_id){ | |
914 | - $res = $this->db->getAll("select p.*,op.*,pr.name,pr.pic,pr.pic_big from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id Left join catalogs_products pr On pr.id=p.product_id where order_id=?",array($order_id),DB_FETCHMODE_ASSOC); | |
915 | - $sum = 0; | |
916 | - foreach($res as $key=>$row){ | |
917 | - $sum = $sum + ($row['cine']*$row['count']); | |
918 | - $res[$key]['cine_all'] = ($row['cine']*$row['count']); | |
919 | - } | |
920 | - $discount = $this->db->getOne('select catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id where catalogs_orders.id=?',array($order_id)); | |
921 | - $this->tpl->assign('cine', array('sum'=>$sum,'discount'=>$discount,'sum_discount'=>($sum - (($sum*$discount)/100)) )); | |
922 | - $this->tpl->assign('basket_products', $res); | |
923 | - } | |
924 | - | |
925 | - function viewOrders($params = array()){ | |
926 | - $search = array(); | |
927 | - if(isset($params['userID']) && $params['userID']>0)$search[] = sprintf("catalogs_orders.user_id='%d'",$params['userID']); | |
928 | - $sql = "select catalogs_orders.*,catalogs_users.login as user_login,catalogs_users.discount from catalogs_orders Left join catalogs_users on catalogs_users.id=user_id WHERE 1=1 "; | |
929 | - if(count($search))$sql .= "AND " . implode(" AND ",$search) . " "; | |
930 | - $sql .= " order by mktime desc"; | |
931 | - $pagerOptions = Array( | |
932 | - 'mode' => 'Sliding', | |
933 | - 'delta' => 16, | |
934 | - 'perPage' => 50, | |
935 | - 'linkClass'=>"link_class", | |
936 | - 'curPageLinkClassName'=>"link_class_active", | |
937 | - 'spacesBeforeSeparator' => 1, | |
938 | - 'spacesAfterSeparator' => 1 | |
939 | - ); | |
940 | - $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); | |
941 | - foreach($res['data'] as $key=>$value){ | |
942 | - $res['data'][$key]['sum'] = $this->getOrderProductsSum($value['id']); | |
943 | - $res['data'][$key]['sum_discount'] = $res['data'][$key]['sum'] - (($res['data'][$key]['sum']*$value['discount'])/100); | |
944 | - } | |
945 | - $this->tpl->assign('ordersData', $res); | |
946 | - } | |
947 | - | |
948 | - function getOrderProductsSum($order_id){ | |
949 | - $res = $this->db->getAll("select op.*,p.cine from catalogs_orders_products op Left join catalogs_products_cine p On p.id=op.product_id where op.order_id=?",array($order_id),DB_FETCHMODE_ASSOC); | |
950 | - // print_r($res); | |
951 | - $sum = 0; | |
952 | - foreach($res as $row){ | |
953 | - $sum = $sum + ($row['cine']*$row['count']); | |
954 | - } | |
955 | - return $sum; | |
956 | - } | |
957 | - | |
958 | - function SaveBrend($data){ | |
959 | - $table_name = "catalogs_brends"; | |
960 | - $DB_AUTOQUERY = ($data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
961 | - $fields_values = array('rubric_id'=>$data['rubric_id'],'name'=>$data['brend'],'text'=>$data['text'],'seo'=>$data['seo'],'sort'=>$data['sort'],'meta_title'=>$data['meta_title'],'meta_description'=>$data['meta_description'],'meta_keywords'=>$data['meta_keywords']); | |
962 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
963 | - } | |
964 | - | |
965 | - function viewBrends($type = false){ | |
966 | - $sql = "select b.*,r.name as rubric from catalogs_brends b left join catalogs_rubrics r On r.id=b.rubric_id "; | |
967 | - if($type!=false)$sql .= "where b.type='$type'"; | |
968 | - $sql .= " Order by b.sort Asc"; | |
969 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
970 | - $this->tpl->assign('brends',$row); | |
971 | - } | |
972 | - | |
973 | - function viewBrendsGroup($params = array()){ | |
974 | - $sql = "select * from catalogs_brends where 1=1 "; | |
975 | - if(isset($params['rubID'])){ | |
976 | - $rubric_id = $params['rubID'];//$this->getRubricParent($params['rubID']); | |
977 | - $rubric_id = ($rubric_id==0)?$params['rubID']:$rubric_id; | |
978 | - $sql .= "and rubric_id='".$rubric_id."'"; | |
979 | - } | |
980 | - $sql .= " Group by name Order by sort Asc"; | |
981 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
982 | - $this->tpl->assign('brends',$row); | |
983 | - } | |
984 | - | |
985 | - function SaveCity($data){ | |
986 | - $table_name = "catalogs_cities"; | |
987 | - $DB_AUTOQUERY = (isset($data['update_id']) && $data['update_id']>0) ? DB_AUTOQUERY_UPDATE : DB_AUTOQUERY_INSERT; | |
988 | - $fields_values = array('name'=>$data['name']); | |
989 | - $this->db->autoExecute($table_name,$fields_values,$DB_AUTOQUERY,"id={$data['update_id']}"); | |
990 | - return mysql_insert_id(); | |
991 | - } | |
992 | - | |
993 | - function is_city($name){ | |
994 | - return $this->db->getOne('select id from catalogs_cities where name=?',array($name)); | |
995 | - } | |
996 | - | |
997 | - function viewCityMod($code){ | |
998 | - $sql = "select c.name from catalogs_keys_products_cities k left join catalogs_cities c on c.id=k.city_id where k.mod_code=? and k.count>0"; | |
999 | - $row = $this->db->getCol($sql,"name",array($code)); | |
1000 | - return implode(', ',$row); | |
1001 | - } | |
1002 | - | |
1003 | - function viewCitiesProductID($id){ | |
1004 | - $sql = "select city_id from catalogs_keys_products_cities where product_id=?"; | |
1005 | - $row = $this->db->getCol($sql,"city_id",array($id)); | |
1006 | - $this->tpl->assign('product_cities',$row); | |
1007 | - } | |
1008 | - | |
1009 | - function viewCities($type = false){ | |
1010 | - $sql = "select * from catalogs_cities "; | |
1011 | - $sql .= " Order by name Asc"; | |
1012 | - $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); | |
1013 | - $this->tpl->assign('cities',$row); | |
1014 | - } | |
1015 | - | |
1016 | - function viewCitiesProduct($id){ | |
1017 | - $sql = "select catalogs_cities.* from catalogs_keys_products_cities left join catalogs_cities on catalogs_cities.id=catalogs_keys_products_cities.city_id Where catalogs_keys_products_cities.product_id=? "; | |
1018 | - $row = $this->db->getAll($sql,array($id),DB_FETCHMODE_ASSOC); | |
1019 | - $this->tpl->assign('cities',$row); | |
1020 | - } | |
1021 | - | |
1022 | - function viewCity($id){ | |
1023 | - $row = $this->db->getRow("select * from catalogs_cities where id=?",array($id),DB_FETCHMODE_ASSOC); | |
1024 | - $this->tpl->assign('city', $row); | |
1025 | - } | |
1026 | - | |
1027 | - function deleteCity($id){ | |
1028 | - $this->db->query("delete from catalogs_cities where id=?",array($id)); | |
1029 | - $this->delete_keysCitiesProduct($id); | |
1030 | - } | |
1031 | - | |
1032 | - function delete_keysCitiesProduct($id){ | |
1033 | - $sql = "delete from catalogs_keys_products_cities where city_id=?"; | |
1034 | - $this->db->query($sql,array($id)); | |
1035 | - } | |
1036 | - | |
1037 | - function SaveYears($data){ | |
1038 | - $table_name = "catalogs_years"; | |
1039 | - foreach($data['filter'] as $key=>$name){ | |
1040 | - if(strlen($name)>0){ | |
1041 | - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} | |
1042 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} | |
1043 | - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id']),$DB_AUTOQUERY,$where); | |
1044 | - } | |
1045 | - } | |
1046 | - } | |
1047 | - | |
1048 | - function viewYearsProductID($id){ | |
1049 | - $sql = "select year_id from catalogs_keys_products_years where product_id=?"; | |
1050 | - $row = $this->db->getCol($sql,"year_id",array($id)); | |
1051 | - $this->tpl->assign('product_years',$row); | |
1052 | - } | |
1053 | - | |
1054 | - function viewYears($rubric_id){ | |
1055 | - $row = $this->db->getAll("select * from catalogs_years where rubric_id=? order by id",array($rubric_id),DB_FETCHMODE_ASSOC); | |
1056 | - $this->tpl->assign('years', $row); | |
1057 | - } | |
1058 | - | |
1059 | - function deleteYearsRubric_id($id){ | |
1060 | - $this->db->query("delete from catalogs_years where rubric_id=?",array($id)); | |
1061 | - $this->delete_keysYearsRubric($id); | |
1062 | - } | |
1063 | - | |
1064 | - function delete_keysYearsRubric($id){ | |
1065 | - $sql = "delete from catalogs_keys_products_years where rubric_id=?"; | |
1066 | - $this->db->query($sql,array($id)); | |
1067 | - } | |
1068 | - | |
1069 | - function deleteYear($id){ | |
1070 | - $this->db->query("delete from catalogs_years where id=?",array($id)); | |
1071 | - $this->delete_keysYearsProduct($id); | |
1072 | - } | |
1073 | - | |
1074 | - function delete_keysYearsProduct($id){ | |
1075 | - $sql = "delete from catalogs_keys_products_years where year_id=?"; | |
1076 | - $this->db->query($sql,array($id)); | |
1077 | - } | |
1078 | - | |
1079 | - function SaveFilters($data){ | |
1080 | - $table_name = "catalogs_filters"; | |
1081 | - foreach($data['filter'] as $key=>$name){ | |
1082 | - if(strlen($name)>0){ | |
1083 | - if(isset($data['update_id'][$key]) && $data['update_id'][$key]>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "id='{$data['update_id'][$key]}'";} | |
1084 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = "";} | |
1085 | - $this->db->autoExecute($table_name,array('name'=>$name,'rubric_id'=>$data['rubric_id'],"sort"=>$data['sort'][$key]),$DB_AUTOQUERY,$where); | |
1086 | - } | |
1087 | - } | |
1088 | - } | |
1089 | - | |
1090 | - function viewFilterProductID($id){ | |
1091 | - $sql = "select filter_id from catalogs_keys_products_filters where product_id=?"; | |
1092 | - $row = $this->db->getCol($sql,"filter_id",array($id)); | |
1093 | - $this->tpl->assign('product_filters',$row); | |
1094 | - } | |
1095 | - | |
1096 | - function deleteFilter($id){ | |
1097 | - $this->db->query("delete from catalogs_filters where id=?",array($id)); | |
1098 | - $this->delete_keysFilterProduct($id); | |
1099 | - } | |
1100 | - | |
1101 | - function deleteFiltersRubric_id($rubric_id){ | |
1102 | - $this->db->query("delete from catalogs_filters where rubric_id=?",array($rubric_id)); | |
1103 | - $this->delete_keysFilterRubric($rubric_id); | |
1104 | - } | |
1105 | - | |
1106 | - function delete_keysFilterProduct($id){ | |
1107 | - $sql = "delete from catalogs_keys_products_filters where filter_id=?"; | |
1108 | - $this->db->query($sql,array($id)); | |
1109 | - } | |
1110 | - | |
1111 | - function delete_keysFilterRubric($id){ | |
1112 | - $sql = "delete from catalogs_keys_products_filters where rubric_id=?"; | |
1113 | - $this->db->query($sql,array($id)); | |
1114 | - } | |
1115 | - | |
1116 | - function viewFilters($rubric_id){ | |
1117 | - $row = $this->db->getAll("select * from catalogs_filters where rubric_id=? order by sort",array($rubric_id),DB_FETCHMODE_ASSOC); | |
1118 | - $this->tpl->assign('filters', $row); | |
1119 | - } | |
1120 | - | |
1121 | - function viewBrend($id){ | |
1122 | - $row = $this->db->getRow("select * from catalogs_brends where id=?",array($id),DB_FETCHMODE_ASSOC); | |
1123 | - $this->tpl->assign('brend', $row); | |
1124 | - } | |
1125 | - | |
1126 | - function viewBrendName($name){ | |
1127 | - $name = iconv("utf-8", "windows-1251", $name); | |
1128 | - $sql = "select * from catalogs_brends where name=? and seo>'' limit 1"; | |
1129 | - $row = $this->db->getRow($sql,array($name),DB_FETCHMODE_ASSOC); | |
1130 | - $this->tpl->assign('brend_seo', $row); | |
1131 | - } | |
1132 | - | |
1133 | - function getBrendIDs_name($name){ $name = iconv("utf-8", "windows-1251", $name); | |
1134 | - $sql = "select id from catalogs_brends where name=?"; | |
1135 | - return $this->db->getCol($sql,"id",array($name)); | |
1136 | - } | |
1137 | - | |
1138 | - function deleteBrend($id){ | |
1139 | - $this->db->query("delete from catalogs_brends where id=?",array($id)); | |
1140 | - } | |
1141 | - | |
1142 | - function viewAkciiProductID($id){ | |
1143 | - $sql = "select rubric_id from catalogs_keys_products_akcii where product_id=?"; | |
1144 | - $row = $this->db->getCol($sql,"rubric_id",array($id)); | |
1145 | - $this->tpl->assign('product_akcii',$row); | |
1146 | - } | |
1147 | - | |
1148 | - function import_saveRubric($name,$parent_id){ | |
1149 | - $id = $this->db->getOne("select id from catalogs_rubrics where name=? and parent_id=?",array($name,$parent_id)); | |
1150 | - if( !$id ){ | |
1151 | - $this->db->autoExecute("catalogs_rubrics",array('name'=>$name,'parent_id' => $parent_id,"level"=>($this->getLevelRubric($parent_id)+1)),DB_AUTOQUERY_INSERT); | |
1152 | - return mysql_insert_id(); | |
1153 | - } | |
1154 | - return $id; | |
1155 | - } | |
1156 | - | |
1157 | - function import_saveBrend($name,$rubric_id){ | |
1158 | - //getRubricParent(); | |
1159 | - $id = $this->db->getOne("select id from catalogs_brends where name=? and rubric_id=?",array($name,$rubric_id)); | |
1160 | - if( !$id ){ | |
1161 | - $this->db->autoExecute("catalogs_brends",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); | |
1162 | - return mysql_insert_id(); | |
1163 | - } | |
1164 | - return $id; | |
1165 | - } | |
1166 | - | |
1167 | - function import_saveFilters($rubric_id,$str){ | |
1168 | - if(!$str)return array(); | |
1169 | - $row_str = explode(",",trim($str)); | |
1170 | - $arr_id = array(); | |
1171 | - foreach($row_str as $str){ | |
1172 | - $name = trim($str); | |
1173 | - $id = $this->db->getOne("select id from catalogs_filters where rubric_id=? and name=?",array($rubric_id,$name)); | |
1174 | - if( !$id ){ | |
1175 | - $this->db->autoExecute("catalogs_filters",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); | |
1176 | - $id = mysql_insert_id(); | |
1177 | - } | |
1178 | - $arr_id[] = $id; | |
1179 | - } | |
1180 | - return $arr_id; | |
1181 | - } | |
1182 | - | |
1183 | - function import_saveYear($rubric_id,$name){ | |
1184 | - $id = $this->db->getOne("select id from catalogs_years where rubric_id=? and name=?",array($rubric_id,$name)); | |
1185 | - if( !$id ){ | |
1186 | - $this->db->autoExecute("catalogs_years",array('rubric_id'=>$rubric_id,'name'=>$name),DB_AUTOQUERY_INSERT); | |
1187 | - $id = mysql_insert_id(); | |
1188 | - } | |
1189 | - return ($id)?array($id):array(); | |
1190 | - } | |
1191 | - | |
1192 | - function import_updateProductCine($product_id,$row,$line=''){ //print"<pre>";print_r($row);print"</pre>"; | |
1193 | - IF($row[3]>0){ | |
1194 | - if($row[2]<1){$cine=$row[1];$cine_last=0;} | |
1195 | - else {$cine=$row[2];$cine_last=(($row[1]>0)?$row[1]:$row[2]);} | |
1196 | - $this->db->autoExecute("catalogs_products",array('cine'=>$cine,'cine_last'=>$cine_last),DB_AUTOQUERY_UPDATE,"id='$product_id'"); | |
1197 | - } | |
1198 | - /* if($this->getModificationActive($row[0])!=$row[3]){ | |
1199 | - $prefix = ($row[3]==0)?'-':'+'; | |
1200 | - $this->updateProductModificationCountPrefix($product_id,$prefix); | |
1201 | - } */ | |
1202 | - $city = trim($row[4]); | |
1203 | - if(strlen($city)>0){ //print $city; | |
1204 | - $city_id = $this->is_city($city); | |
1205 | - if(!$city_id){$city_id = $this->SaveCity(array('name'=>$city));} | |
1206 | - if($this->getKeysModificationCity($row[0], $city_id)){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$where = "mod_code='".$row[0]."' and city_id='".$city_id."'";} | |
1207 | - else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$where = null;} | |
1208 | - //print $city_id .'--'.$where."<br>"; | |
1209 | - $s = $this->db->autoExecute("catalogs_keys_products_cities",array('count'=>$row[3],'product_id'=>$product_id,'mod_code'=>$row[0],'city_id'=>$city_id),$DB_AUTOQUERY,$where); | |
1210 | - // if (PEAR::isError($s)) die($s->getMessage()); | |
1211 | - } | |
1212 | - $active = $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and count>0",array($row[0])); | |
1213 | - if($this->db->getOne("select count(*) from catalogs_modifications where code=?",array($row[0]))>0){ | |
1214 | - $this->db->autoExecute("catalogs_modifications",array('active'=>$active,'is_update'=>1,'prefix'=>$row[5]),DB_AUTOQUERY_UPDATE,"code='".$row[0]."'"); | |
1215 | - }else{ | |
1216 | - $this->saveCsvMod($line); | |
1217 | - } | |
1218 | - } | |
1219 | - | |
1220 | - function saveCsvMod($line){ | |
1221 | - $tmpfname = $_SERVER['DOCUMENT_ROOT'] . "/tmp/noDB_mod.csv"; | |
1222 | - $handle = fopen($tmpfname, "a"); | |
1223 | - fwrite($handle,$line); | |
1224 | - fclose($handle); | |
1225 | - } | |
1226 | - | |
1227 | - function getKeysModificationCity($code, $city_id){ | |
1228 | - return $this->db->getOne("select count(*) from catalogs_keys_products_cities where mod_code=? and city_id=?", array($code, $city_id)); | |
1229 | - } | |
1230 | - | |
1231 | - function getProductID($name){ | |
1232 | - $id = $this->db->getOne("select id from catalogs_products where name=?",array($name)); | |
1233 | - return $id; | |
1234 | - } | |
1235 | - | |
1236 | - function getModificationActive($code){ | |
1237 | - return $this->db->getOne("select active from catalogs_modifications where code=?",array($code)); | |
1238 | - } | |
1239 | - | |
1240 | - function updateProduct_countModification($product_id,$count){ | |
1241 | - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='$product_id'"); | |
1242 | - } | |
1243 | - | |
1244 | - function updateProductModificationCountPrefix($product_id,$prefix = "+"){ | |
1245 | -// print $product_id; | |
1246 | - $sql = "UPDATE catalogs_products SET count_modifications = count_modifications $prefix 1 WHERE id =?"; | |
1247 | - $this->db->query($sql,array($product_id)); | |
1248 | - } | |
1249 | - | |
1250 | - function exportCSV(){ | |
1251 | - $tmpfname = "tmp/price.csv"; | |
1252 | - $handle = fopen($tmpfname, "w"); | |
1253 | - // fwrite($handle, $xml); | |
1254 | - $res = $this->db->getAll('select p.id,p.rubric_id,r.name,r2.name,b.name as brend,p.name,p.about,p.text,null,p.sex,null,p.cine,p.cine_last,p.strnumber,p.active,p.pic_big from catalogs_products p left join catalogs_rubrics r on r.id=p.rubric_id left join catalogs_rubrics r2 on r2.id=p.rubric_parent_id left join catalogs_brends b on b.id=p.brend_id',array()); | |
1255 | - foreach($res as $key=>$row){ | |
1256 | - $list = $row; | |
1257 | - $mod_res = $this->db->getAll('select code,size,color,pic_big,active from catalogs_modifications where product_id=?',array($row[0])); | |
1258 | - foreach($mod_res as $mod_row){$list[] = implode('=',$mod_row);} | |
1259 | - | |
1260 | - $f_row = $this->db->getCol("select name from catalogs_filters where rubric_id=?",'name',array($list[1])); | |
1261 | - $list[8]=implode(',',$f_row); | |
1262 | - | |
1263 | - switch($list[9]){ | |
1264 | - case 1 : $list[9] = 'ìóæñêîé'; break; | |
1265 | - case 2 : $list[9] = 'æåíñêèé'; break; | |
1266 | - case 3 : $list[9] = 'äåòñêèé'; break; | |
1267 | - case 4 : $list[9] = 'óíèñåêñ'; break; | |
1268 | - default : $list[9] = 'ìóæñêîé'; break; | |
1269 | - } | |
1270 | - | |
1271 | - $y_row = $this->db->getCol("select name from catalogs_years where rubric_id=? order by id desc limit 1",'name',array($list[1])); | |
1272 | - $list[10]=implode(',',$y_row); | |
1273 | - | |
1274 | - | |
1275 | - unset($list[0]);unset($list[1]); | |
1276 | - //print_r($list);exit; | |
1277 | - File_FGetCSV::fputcsv($handle,$list,';'); | |
1278 | - } | |
1279 | - | |
1280 | - fclose($handle); | |
1281 | - | |
1282 | - $params = array( | |
1283 | - 'file' => $tmpfname, | |
1284 | - 'contenttype' => 'application/xls', | |
1285 | - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'price.csv'), | |
1286 | - 'cache' => false | |
1287 | - ); | |
1288 | - $error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë | |
1289 | - if ($error === true) { | |
1290 | - //åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè | |
1291 | - } | |
1292 | - | |
1293 | - unlink($tmpfname); | |
1294 | - } | |
1295 | - | |
1296 | - function exportModCSV(){ | |
1297 | - $tmpfname = "tmp/price_mod.csv"; | |
1298 | - $handle = fopen($tmpfname, "w"); | |
1299 | - $res = $this->db->getAll('select m.code,p.cine,p.cine_last,m.active,null,m.prefix,m.is_update From catalogs_modifications m Left join catalogs_products p on p.id=m.product_id'); | |
1300 | - foreach($res as $key=>$row){ | |
1301 | - File_FGetCSV::fputcsv($handle,$row,';'); | |
1302 | - } | |
1303 | - fclose($handle); | |
1304 | - $params = array( | |
1305 | - 'file' => $tmpfname, | |
1306 | - 'contenttype' => 'application/xls', | |
1307 | - 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'file_1.csv'), | |
1308 | - 'cache' => false | |
1309 | - ); | |
1310 | - $error = HTTP_Download::staticSend($params, false); //îòäà¸ì ôàéë | |
1311 | - if ($error === true) { | |
1312 | - //åñëè ôàéë çàãðóæåí óñïåøíî, îáíîâëÿåì äàòó ïîñëåäíåé çàêà÷êè | |
1313 | - } | |
1314 | - | |
1315 | - unlink($tmpfname); | |
1316 | - $this->db->autoExecute("catalogs_modifications",array('is_update'=>0),DB_AUTOQUERY_UPDATE); | |
1317 | - } | |
1318 | - | |
1319 | - function importCSV($upload){ error_reporting(0); | |
1320 | - if($upload['file']['name']=="file_1.csv"){print"Îøèáêà! Ôàéë öåí!";exit;} | |
1321 | - //$arr_line = file($upload['file']['tmp_name']); | |
1322 | - $f = fopen($upload['file']['tmp_name'], "r") or die("Îøèáêà!"); | |
1323 | - // print"<pre>"; | |
1324 | - for ($i=0; $row_line=File_FGetCSV::fgetcsv($f,15000000,";"); $i++) { | |
1325 | - // foreach($arr_line as $line){ | |
1326 | - //$row_line = fgetcsv(";",$line); | |
1327 | - $rubric_id = $this->import_saveRubric($row_line[0],0); | |
1328 | - $rubric_parent_id = $this->import_saveRubric($row_line[1],$rubric_id); | |
1329 | - $brend_id = $this->import_saveBrend($row_line[2],$rubric_parent_id); | |
1330 | - $pruduct_name = trim($row_line[3]); | |
1331 | - $pruduct_about = trim($row_line[4]); | |
1332 | - $pruduct_text = trim($row_line[5]); | |
1333 | - switch($row_line[7]){ | |
1334 | - case 'ìóæñêîé' : $pruduct_sex = 1; break; | |
1335 | - case 'æåíñêèé' : $pruduct_sex = 2; break; | |
1336 | - case 'äåòñêèé' : $pruduct_sex = 3; break; | |
1337 | - case 'óíèñåêñ' : $pruduct_sex = 4; break; | |
1338 | - default : $pruduct_sex = 0; break; | |
1339 | - } | |
1340 | - $pruduct_date = trim($row_line[8]); | |
1341 | - $pruduct_cine = trim($row_line[9]); | |
1342 | - $pruduct_cine_last = trim($row_line[10]); | |
1343 | - if($pruduct_cine<1){$pruduct_cine=$pruduct_cine_last;$pruduct_cine_last=0;} | |
1344 | - | |
1345 | - $pruduct_strnumber = trim($row_line[11]); | |
1346 | - $pruduct_active = trim($row_line[12]); | |
1347 | - $pruduct_pic_tmp = trim($row_line[13]); | |
1348 | - $pruduct_update_id = $this->getProductID($pruduct_name); | |
1349 | - $upload_pruduct = (strlen($pruduct_pic_tmp)>0 && is_file("./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp"))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/products/big/$pruduct_pic_tmp",'name'=>$pruduct_pic_tmp,'big'=>true)):null; | |
1350 | - $product_id = $this->saveProduct( | |
1351 | - array('rubric_id'=>$rubric_parent_id, | |
1352 | - 'rubric_parent_id'=>$rubric_parent_id, | |
1353 | - 'brend_id'=>$brend_id, | |
1354 | - 'name'=>$pruduct_name, | |
1355 | - 'about'=>$pruduct_about, | |
1356 | - 'text'=>$pruduct_text, | |
1357 | - 'sex'=>$pruduct_sex, | |
1358 | - 'date'=>$pruduct_date, | |
1359 | - 'cine'=>$pruduct_cine, | |
1360 | - 'cine_last'=>$pruduct_cine_last, | |
1361 | - 'strnumber'=>$pruduct_strnumber, | |
1362 | - 'active'=>$pruduct_active, | |
1363 | - 'meta_title'=>$pruduct_name, | |
1364 | - 'meta_description'=>$pruduct_name, | |
1365 | - 'meta_keywords'=>$pruduct_name, | |
1366 | - 'meta_about'=>$pruduct_name, | |
1367 | - 'filter'=>$this->import_saveFilters($rubric_parent_id,$row_line[6]), | |
1368 | - 'years'=>$this->import_saveYear($rubric_parent_id,$pruduct_date), | |
1369 | - 'akcii'=>array(), | |
1370 | - 'update_id'=>$pruduct_update_id), | |
1371 | - $upload_pruduct | |
1372 | - ); | |
1373 | - $this->deleteProductModifications($product_id,true); | |
1374 | - $m_i = 0; | |
1375 | - for($i=14;$i<count($row_line);$i++){ | |
1376 | - $arr_mod = trim($row_line[$i]); | |
1377 | - if(strlen($arr_mod)>0){ | |
1378 | - $row_mod = explode("=",$arr_mod); | |
1379 | - $upload_mod = (strlen($row_mod[3])>0 && is_file("./uploaded/pic/catalogs/modifications/big/".$row_mod[3]))?array('pic'=>array('tmp_name'=>"./uploaded/pic/catalogs/modifications/big/".$row_mod[3],'name'=>$row_mod[3],'big'=>true)):null; | |
1380 | - | |
1381 | - $this->SaveModification( | |
1382 | - array('product_id'=>$product_id, | |
1383 | - 'code'=>$row_mod[0], | |
1384 | - 'size'=>$row_mod[1], | |
1385 | - 'color'=>$row_mod[2], | |
1386 | - 'active'=>$row_mod[4] | |
1387 | - ),$upload_mod | |
1388 | - ); | |
1389 | - if($row_mod[4]>0)$m_i++; | |
1390 | - } | |
1391 | - } | |
1392 | - $this->updateProduct_countModification($product_id,$m_i); | |
1393 | - //$this->import_saveFilters($product_id,$rubric_parent_id,$row_line[6]); | |
1394 | - //$strnumber = $this->getProductID($row_line[3]); $this->save_keysProductsFilters($id,$data); | |
1395 | - //print_r($row_line); | |
1396 | - if(($i%30)==0)sleep(1); | |
1397 | - } | |
1398 | - // print"</pre>"; | |
1399 | - | |
1400 | - } | |
1401 | - | |
1402 | - function importCSV_cine($upload){ | |
1403 | - if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} | |
1404 | - $arr_line = file($upload['file']['tmp_name']); | |
1405 | - //print"<pre>"; | |
1406 | - $i = 0; | |
1407 | - foreach($arr_line as $line){ | |
1408 | - $row_line = explode(";",$line); | |
1409 | - $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line); | |
1410 | - if(($i%30)==0)sleep(1); | |
1411 | - $i++; | |
1412 | - // print_r($row_line); | |
1413 | - }//print"</pre>"; | |
1414 | - $this->updateCountModificationProducts(); | |
1415 | - } | |
1416 | - | |
1417 | - function CronImportCSV_cine($upload){ | |
1418 | - if($upload['file']['name']!="file_1.csv"){print"Îøèáêà! Òîëüêî file_1.csv";exit;} | |
1419 | - $arr_line = file($upload['file']['tmp_name']); | |
1420 | - //print"<pre>"; | |
1421 | - $i = 0; | |
1422 | - foreach($arr_line as $line){ | |
1423 | - $row_line = explode(";",$line); | |
1424 | - $this->import_updateProductCine($this->getModificationProduct_id($row_line[0]),$row_line,$line); | |
1425 | - if(($i%30)==0)sleep(1); | |
1426 | - $i++; | |
1427 | - // print_r($row_line); | |
1428 | - }//print"</pre>"; | |
1429 | - //$this->updateCountModificationProducts(); | |
1430 | - } | |
1431 | - | |
1432 | - function updateCountModificationProducts(){ | |
1433 | - $this->db->autoExecute("catalogs_products",array('count_modifications'=>0),DB_AUTOQUERY_UPDATE); | |
1434 | - $res = $this->db->getAll("select * from catalogs_products",array(),DB_FETCHMODE_ASSOC); | |
1435 | - $i = 0; | |
1436 | - foreach($res as $row){ | |
1437 | - $count = $this->db->getOne("select count(*) from catalogs_modifications where product_id=? and active>0",array($row['id'])); | |
1438 | - $this->db->autoExecute("catalogs_products",array('count_modifications'=>$count),DB_AUTOQUERY_UPDATE,"id='".$row['id']."'"); | |
1439 | - // if(($i%10)==0)sleep(10); | |
1440 | - $i++; | |
1441 | - } | |
1442 | - } | |
1443 | - | |
1444 | - function config_update($id,$value){ | |
1445 | - $this->db->autoExecute("catalogs_config",array('value'=>$value),DB_AUTOQUERY_UPDATE,"id='".$id."'"); | |
1446 | - } | |
1447 | - | |
1448 | - function view_config_value($id){ | |
1449 | - $r = $this->db->getOne("select value from catalogs_config where id=?",$id); | |
1450 | - $this->tpl->assign("config",$r); | |
1451 | - return $r; | |
1452 | - } | |
1453 | - | |
1454 | - function displayCatalogsCurs(){ | |
1455 | - $this->tpl->assign("tpl",'catalogs_curs.tpl'); | |
1456 | - } | |
1457 | - | |
1458 | - function displayCatalogs(){ | |
1459 | - $this->tpl->assign("tpl",'catalogs.tpl'); | |
1460 | - } | |
1461 | - | |
1462 | - function displayProducts(){ | |
1463 | - $this->tpl->assign("tpl",'catalogs_products.tpl'); | |
1464 | - } | |
1465 | - | |
1466 | - function displayProductsTops(){ | |
1467 | - $this->tpl->assign("tpl",'catalogs_products_tops.tpl'); | |
1468 | - } | |
1469 | - | |
1470 | - function displayProductsHits(){ | |
1471 | - $this->tpl->assign("tpl",'catalogs_products_hits.tpl'); | |
1472 | - } | |
1473 | - | |
1474 | - function displayProductsHitsAll(){ | |
1475 | - $this->tpl->assign("tpl",'catalogs_products_hits_all.tpl'); | |
1476 | - } | |
1477 | - | |
1478 | - function displayBasket($count_products,$cine_products,$cine_products_discount,$discount){ | |
1479 | - $this->tpl->assign("count_products",$count_products); | |
1480 | - $this->tpl->assign("cine_products",$cine_products); | |
1481 | - $this->tpl->assign("cine_products_discount",$cine_products_discount); | |
1482 | - $this->tpl->assign("discount",$discount); | |
1483 | - $this->tpl->display('basket.tpl'); | |
1484 | - } | |
1485 | - | |
1486 | - function displayProduct(){ | |
1487 | - $this->tpl->assign("tpl",'catalogs_product.tpl'); | |
1488 | - } | |
1489 | - | |
1490 | - function displayProductBasket(){ | |
1491 | - $this->tpl->assign("tpl",'catalogs_basket.tpl'); | |
1492 | - } | |
1493 | - | |
1494 | - function displayBrends(){ | |
1495 | - $this->tpl->assign("tpl",'catalogs_brends.tpl'); | |
1496 | - } | |
1497 | - | |
1498 | - function displayCities(){ | |
1499 | - $this->tpl->assign("tpl",'catalogs_cities.tpl'); | |
1500 | - } | |
1501 | - | |
1502 | - function displayProductBasketSend(){ | |
1503 | - $this->tpl->assign("tpl",'catalogs_basket_send.tpl'); | |
1504 | - } | |
1505 | - | |
1506 | - function displayReg(){ | |
1507 | - $this->tpl->assign("tpl",'catalogs_reg.tpl'); | |
1508 | - } | |
1509 | - | |
1510 | - function displayEditUser(){ | |
1511 | - $this->tpl->assign("tpl",'catalogs_user_edit.tpl'); | |
1512 | - } | |
1513 | - | |
1514 | - function displayNoPsw(){ | |
1515 | - $this->tpl->assign("tpl",'catalogs_nopsw.tpl'); | |
1516 | - } | |
1517 | - | |
1518 | - function displayOrders(){ | |
1519 | - $this->tpl->assign("tpl",'catalogs_orders.tpl'); | |
1520 | - } | |
1521 | - | |
1522 | - function displayOrder(){ | |
1523 | - $this->tpl->assign("tpl",'catalogs_order.tpl'); | |
1524 | - } | |
1525 | - | |
1526 | - function displayUsers(){ | |
1527 | - $this->tpl->assign("tpl",'catalogs_users.tpl'); | |
1528 | - } | |
1529 | - | |
1530 | - function displayUser(){ | |
1531 | - $this->tpl->assign("tpl",'catalogs_user.tpl'); | |
1532 | - } | |
1533 | - | |
1534 | - function displayFilters(){ | |
1535 | - $this->tpl->assign("tpl",'catalogs_filters.tpl'); | |
1536 | - } | |
1537 | - | |
1538 | - function displayYears(){ | |
1539 | - $this->tpl->assign("tpl",'catalogs_years.tpl'); | |
1540 | - } | |
1541 | - | |
1542 | - function displayWinProducts(){ | |
1543 | - $this->tpl->display('catalogs_win_products.tpl'); | |
1544 | - } | |
1545 | - | |
1546 | - function displayModifications(){ | |
1547 | - $this->tpl->assign("tpl",'catalogs_modifications.tpl'); | |
1548 | - } | |
1549 | - | |
1550 | - function displayImport(){ | |
1551 | - $this->tpl->assign("tpl",'catalogs_import.tpl'); | |
1552 | - } | |
1553 | - | |
1554 | - function displayImportCine(){ | |
1555 | - $this->tpl->assign("tpl",'catalogs_import_cine.tpl'); | |
1556 | - } | |
1557 | - | |
1558 | - function displayAkcii(){ | |
1559 | - $this->tpl->assign("tpl",'catalogs_akcii.tpl'); | |
1560 | - } | |
1561 | - | |
1562 | -} | |
1563 | -?> |