This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * $Id: hotelservice.php,v 1.42 2007/02/04 15:01:40 malanciault Exp $ |
||
4 | * Module:martin |
||
5 | * Licence: GNU |
||
6 | */ |
||
7 | |||
8 | if (!defined("XOOPS_ROOT_PATH")) { |
||
9 | die("XOOPS root path not defined"); |
||
10 | } |
||
11 | |||
12 | include_once XOOPS_ROOT_PATH . '/modules/martin/include/common.php'; |
||
13 | |||
14 | /** |
||
15 | * Class MartinHotelService |
||
16 | */ |
||
17 | class MartinHotelService extends XoopsObject |
||
18 | { |
||
19 | public function MartinHotelservice() |
||
20 | { |
||
21 | $this->initVar("service_id", XOBJ_DTYPE_INT, null, false); |
||
22 | $this->initVar("service_type_id", XOBJ_DTYPE_INT, null, false); |
||
23 | $this->initVar("service_type_name", XOBJ_DTYPE_TXTBOX, null, true, 255); |
||
24 | $this->initVar("service_unit", XOBJ_DTYPE_TXTBOX, null, true, 255); |
||
25 | $this->initVar("service_name", XOBJ_DTYPE_TXTBOX, null, true, 255); |
||
26 | $this->initVar("service_instruction", XOBJ_DTYPE_TXTAREA, null, false); |
||
27 | } |
||
28 | |||
29 | /** |
||
30 | * @return mixed |
||
31 | */ |
||
32 | public function service_id() |
||
33 | { |
||
34 | return $this->getVar("service_id"); |
||
35 | } |
||
36 | |||
37 | /** |
||
38 | * @return mixed |
||
39 | */ |
||
40 | public function service_type_id() |
||
41 | { |
||
42 | return $this->getVar("service_type_id"); |
||
43 | } |
||
44 | |||
45 | /** |
||
46 | * @return mixed |
||
47 | */ |
||
48 | public function service_type_name() |
||
49 | { |
||
50 | return $this->getVar("service_type_name"); |
||
51 | } |
||
52 | |||
53 | /** |
||
54 | * @param string $format |
||
55 | * @return mixed |
||
56 | */ |
||
57 | public function service_unit($format = 'S') |
||
58 | { |
||
59 | return $this->getVar("service_unit", $format); |
||
60 | } |
||
61 | |||
62 | /** |
||
63 | * @param string $format |
||
64 | * @return mixed |
||
65 | */ |
||
66 | public function service_name($format = 'S') |
||
67 | { |
||
68 | return $this->getVar("service_name", $format); |
||
69 | } |
||
70 | |||
71 | /** |
||
72 | * @param string $format |
||
73 | * @return mixed |
||
74 | */ |
||
75 | public function service_instruction($format = 'S') |
||
76 | { |
||
77 | return $this->getVar("service_instruction", $format); |
||
78 | } |
||
79 | } |
||
80 | |||
81 | /** |
||
82 | * @method: hotelserviceHandler |
||
83 | * @license http://www.blags.org/ |
||
84 | * @created :2010年05月21日 20时40分 |
||
85 | * @copyright 1997-2010 The Martin Group |
||
86 | * @author Martin <[email protected]> |
||
87 | * */ |
||
88 | class MartinHotelServiceHandler extends XoopsObjectHandler |
||
89 | { |
||
90 | /** |
||
91 | * create a new hotel city |
||
92 | * @param bool $isNew flag the new objects as "new"? |
||
93 | * @return object hotelservice |
||
94 | */ |
||
95 | public function &create($isNew = true) |
||
96 | { |
||
97 | $hotelservice = new MartinHotelService(); |
||
98 | if ($isNew) { |
||
99 | $hotelservice->setNew(); |
||
100 | } |
||
101 | |||
102 | return $hotelservice; |
||
103 | } |
||
104 | |||
105 | /** |
||
106 | * retrieve a hotel city |
||
107 | * |
||
108 | * @param int $id hotelserviceid of the hotelservice |
||
109 | * @return mixed reference to the {@link hotelservice} object, FALSE if failed |
||
110 | */ |
||
111 | View Code Duplication | public function &get($id) |
|
0 ignored issues
–
show
|
|||
112 | { |
||
113 | if ((int)($id) <= 0) { |
||
114 | return false; |
||
115 | } |
||
116 | |||
117 | $criteria = new CriteriaCompo(new Criteria('service_id', $id)); |
||
118 | $criteria->setLimit(1); |
||
119 | $obj_array = $this->getObjects($criteria); |
||
120 | if (count($obj_array) != 1) { |
||
121 | $obj =& $this->create(); |
||
122 | |||
123 | return $obj; |
||
124 | } |
||
125 | |||
126 | return $obj_array[0]; |
||
127 | } |
||
128 | |||
129 | /** |
||
130 | * @得到列表 |
||
131 | * @method: |
||
132 | * @license http://www.blags.org/ |
||
133 | * @created :2010年05月23日 14时59分 |
||
134 | * @copyright 1997-2010 The Martin Group |
||
135 | * @author Martin <[email protected]> |
||
136 | * @param int $limit |
||
137 | * @param int $start |
||
138 | * @param string $sort |
||
139 | * @param string $order |
||
140 | * @param bool $id_as_key |
||
141 | * @return array |
||
142 | */ |
||
143 | View Code Duplication | public function &getHotelServices($limit = 0, $start = 0, $sort = 'service_id', $order = 'ASC', $id_as_key = true) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
144 | { |
||
145 | $criteria = new CriteriaCompo(); |
||
146 | |||
147 | $criteria->setSort($sort); |
||
148 | $criteria->setOrder($order); |
||
149 | |||
150 | $criteria->setStart($start); |
||
151 | $criteria->setLimit($limit); |
||
152 | |||
153 | return $this->getObjects($criteria, $id_as_key); |
||
154 | } |
||
155 | |||
156 | /** |
||
157 | * insert a new hotelservice in the database |
||
158 | * |
||
159 | * @param object $hotelservice reference to the {@link hotelservice} object |
||
160 | * @param bool $force |
||
161 | * @return bool FALSE if failed, TRUE if already present and unchanged or successful |
||
162 | */ |
||
163 | View Code Duplication | public function insert(&$hotelservice, $force = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
164 | { |
||
165 | if (strtolower(get_class($hotelservice)) !== 'martinhotelservice') { |
||
166 | return false; |
||
167 | } |
||
168 | |||
169 | if (!$hotelservice->cleanVars()) { |
||
170 | return false; |
||
171 | } |
||
172 | |||
173 | foreach ($hotelservice->cleanVars as $k => $v) { |
||
174 | ${$k} = $v; |
||
175 | } |
||
176 | |||
177 | if ($hotelservice->isNew()) { |
||
178 | $sql = sprintf("INSERT INTO %s ( |
||
179 | service_id, |
||
180 | service_type_id, |
||
181 | service_unit, |
||
182 | service_name, |
||
183 | service_instruction |
||
184 | ) VALUES ( |
||
185 | NULL, |
||
186 | %u, |
||
187 | %s, |
||
188 | %s, |
||
189 | %s |
||
190 | )", $this->db->prefix('martin_hotel_service'), $service_type_id, $this->db->quoteString($service_unit), $this->db->quoteString($service_name), $this->db->quoteString($service_instruction)); |
||
0 ignored issues
–
show
The variable
$service_type_id does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. ![]() The variable
$service_unit does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. ![]() The variable
$service_name does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. ![]() The variable
$service_instruction does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. ![]() |
|||
191 | } else { |
||
192 | $sql = sprintf("UPDATE %s SET |
||
193 | service_type_id = %u, |
||
194 | service_unit = %s, |
||
195 | service_name = %s, |
||
196 | service_instruction = %s |
||
197 | WHERE service_id = %u", $this->db->prefix('martin_hotel_service'), $service_type_id, $this->db->quoteString($service_unit), $this->db->quoteString($service_name), $this->db->quoteString($service_instruction), $service_id); |
||
0 ignored issues
–
show
|
|||
198 | } |
||
199 | //echo "<br />" . $sql . "<br />"; |
||
200 | if (false != $force) { |
||
0 ignored issues
–
show
|
|||
201 | $result = $this->db->queryF($sql); |
||
202 | } else { |
||
203 | $result = $this->db->query($sql); |
||
204 | } |
||
205 | if (!$result) { |
||
206 | $hotelservice->setErrors('The query returned an error. ' . $this->db->error()); |
||
207 | |||
208 | return false; |
||
209 | } |
||
210 | if ($hotelservice->isNew()) { |
||
211 | $hotelservice->assignVar('service_id', $this->db->getInsertId()); |
||
212 | } |
||
213 | |||
214 | $hotelservice->assignVar('service_id', $service_id); |
||
215 | |||
216 | return true; |
||
217 | } |
||
218 | |||
219 | /** |
||
220 | * @删除一个城市 |
||
221 | * @method:delete(service_id) |
||
222 | * @license http://www.blags.org/ |
||
223 | * @created :2010年05月21日 20时40分 |
||
224 | * @copyright 1997-2010 The Martin Group |
||
225 | * @author Martin <[email protected]> |
||
226 | * @param object $hotelservice |
||
227 | * @param bool $force |
||
228 | * @return bool|void |
||
229 | */ |
||
230 | View Code Duplication | public function delete(&$hotelservice, $force = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
231 | { |
||
232 | if (strtolower(get_class($hotelservice)) !== 'martinhotelservice') { |
||
233 | return false; |
||
234 | } |
||
235 | |||
236 | $sql = "DELETE FROM " . $this->db->prefix("martin_hotel_service") . " WHERE service_id = " . $hotelservice->service_id(); |
||
237 | |||
238 | if (false != $force) { |
||
0 ignored issues
–
show
|
|||
239 | $result = $this->db->queryF($sql); |
||
240 | } else { |
||
241 | $result = $this->db->query($sql); |
||
242 | } |
||
243 | |||
244 | if (!$result) { |
||
245 | return false; |
||
246 | } |
||
247 | |||
248 | return true; |
||
249 | } |
||
250 | |||
251 | /** |
||
252 | * delete hotel cities matching a set of conditions |
||
253 | * |
||
254 | * @param object $criteria {@link CriteriaElement} |
||
0 ignored issues
–
show
Should the type for parameter
$criteria not be object|null ?
This check looks for It makes a suggestion as to what type it considers more descriptive. Most often this is a case of a parameter that can be null in addition to its declared types. ![]() |
|||
255 | * @return bool FALSE if deletion failed |
||
256 | */ |
||
257 | View Code Duplication | public function deleteAll($criteria = null) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
258 | { |
||
259 | $sql = 'DELETE FROM ' . $this->db->prefix('martin_hotel_service'); |
||
260 | if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { |
||
0 ignored issues
–
show
|
|||
261 | $sql .= ' ' . $criteria->renderWhere(); |
||
262 | } |
||
263 | if (!$result = $this->db->query($sql)) { |
||
264 | return false; |
||
265 | } |
||
266 | |||
267 | return true; |
||
268 | } |
||
269 | |||
270 | /** |
||
271 | * count hotel cities matching a condition |
||
272 | * |
||
273 | * @param object $criteria {@link CriteriaElement} to match |
||
0 ignored issues
–
show
Should the type for parameter
$criteria not be object|null ?
This check looks for It makes a suggestion as to what type it considers more descriptive. Most often this is a case of a parameter that can be null in addition to its declared types. ![]() |
|||
274 | * @return int count of categories |
||
275 | */ |
||
276 | View Code Duplication | public function getCount($criteria = null) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
277 | { |
||
278 | $sql = 'SELECT COUNT(*) FROM ' . $this->db->prefix('martin_hotel_service'); |
||
279 | if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { |
||
0 ignored issues
–
show
|
|||
280 | $sql .= ' ' . $criteria->renderWhere(); |
||
281 | } |
||
282 | $result = $this->db->query($sql); |
||
283 | if (!$result) { |
||
284 | return 0; |
||
285 | } |
||
286 | list($count) = $this->db->fetchRow($result); |
||
287 | |||
288 | return $count; |
||
289 | } |
||
290 | |||
291 | /** |
||
292 | * @get objects |
||
293 | * @license http://www.blags.org/ |
||
294 | * @created :2010年05月21日 20时40分 |
||
295 | * @copyright 1997-2010 The Martin Group |
||
296 | * @author Martin <[email protected]> |
||
297 | * @param null $criteria |
||
298 | * @param bool $id_as_key |
||
299 | * @return array |
||
300 | */ |
||
301 | public function &getObjects($criteria = null, $id_as_key = false) |
||
302 | { |
||
303 | $ret = array(); |
||
304 | $limit = $start = 0; |
||
305 | $sql = 'SELECT s.*,st.service_type_name FROM ' . $this->db->prefix('martin_hotel_service') . " s left join " . $this->db->prefix("martin_hotel_service_type") . " st ON (s.service_type_id = st.service_type_id ) "; |
||
306 | if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) { |
||
0 ignored issues
–
show
|
|||
307 | $sql .= ' ' . $criteria->renderWhere(); |
||
308 | if ($criteria->getSort() != '') { |
||
309 | $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder(); |
||
310 | } |
||
311 | $limit = $criteria->getLimit(); |
||
312 | $start = $criteria->getStart(); |
||
313 | } |
||
314 | //echo "<br />" . $sql . "<br />"; |
||
315 | $result = $this->db->query($sql, $limit, $start); |
||
316 | |||
317 | if (!$result) { |
||
318 | return $ret; |
||
319 | } |
||
320 | |||
321 | $theObjects = array(); |
||
322 | |||
323 | while ($myrow = $this->db->fetchArray($result)) { |
||
324 | $hotelservice = new MartinHotelService(); |
||
325 | $hotelservice->assignVars($myrow); |
||
326 | $theObjects[$myrow['service_id']] =& $hotelservice; |
||
327 | //var_dump($hotelservice); |
||
328 | unset($hotelservice); |
||
329 | } |
||
330 | //var_dump($theObjects); |
||
331 | |||
332 | foreach ($theObjects as $theObject) { |
||
333 | if (!$id_as_key) { |
||
334 | $ret[] =& $theObject; |
||
335 | } else { |
||
336 | $ret[$theObject->service_id()] =& $theObject; |
||
337 | } |
||
338 | unset($theObject); |
||
339 | } |
||
340 | |||
341 | return $ret; |
||
342 | } |
||
343 | |||
344 | /** |
||
345 | * @get hotel service list |
||
346 | * @license http://www.blags.org/ |
||
347 | * @created :2010年05月30日 20时48分 |
||
348 | * @copyright 1997-2010 The Martin Group |
||
349 | * @author Martin <[email protected]> |
||
350 | * @param $pageSize |
||
351 | * @param $Limit |
||
352 | * @return array |
||
353 | */ |
||
354 | public function getHotelServiceRelations($pageSize, $Limit) |
||
355 | { |
||
356 | $rows = array(); |
||
357 | $sql = "SELECT s.service_name,sr.*,h.hotel_name FROM " . $this->db->prefix("martin_hotel_service_relation") . " sr |
||
358 | left join " . $this->db->prefix("martin_hotel_service") . " s ON (s.service_id = sr.service_id) |
||
359 | left join " . $this->db->prefix("martin_hotel") . " h ON (sr.hotel_id = h.hotel_id) order BY hotel_id DESC |
||
360 | limit $Limit,$pageSize"; |
||
361 | $result = $this->db->query($sql); |
||
362 | while ($row = $this->db->fetchArray($result)) { |
||
363 | $rows[] = $row; |
||
364 | } |
||
365 | |||
366 | return $rows; |
||
367 | } |
||
368 | |||
369 | /** |
||
370 | * @get relation |
||
371 | * @license http://www.blags.org/ |
||
372 | * @created :2010年05月30日 20时48分 |
||
373 | * @copyright 1997-2010 The Martin Group |
||
374 | * @author Martin <[email protected]> |
||
375 | * @param $hotel_id |
||
376 | * @param $service_id |
||
377 | * @return bool |
||
378 | */ |
||
379 | public function getHotelServiceRelation($hotel_id, $service_id) |
||
380 | { |
||
381 | if (!is_numeric($hotel_id) || !is_numeric($service_id)) { |
||
382 | return false; |
||
383 | } |
||
384 | $sql = "SELECT s.service_name,sr.*,h.hotel_name FROM " . $this->db->prefix("martin_hotel_service_relation") . " sr |
||
385 | left join " . $this->db->prefix("martin_hotel_service") . " s ON (s.service_id = sr.service_id) |
||
386 | left join " . $this->db->prefix("martin_hotel") . " h ON (sr.hotel_id = h.hotel_id) WHERE sr.hotel_id = $hotel_id and sr.service_id = $service_id "; |
||
387 | $result = $this->db->query($sql); |
||
388 | |||
389 | return $this->db->fetchArray($result); |
||
390 | } |
||
391 | |||
392 | /** |
||
393 | * delete hotel service relation |
||
394 | * @license http://www.blags.org/ |
||
395 | * @created :2010年05月30日 20时48分 |
||
396 | * @copyright 1997-2010 The Martin Group |
||
397 | * @author Martin <[email protected]> |
||
398 | * @param $hotel_id |
||
399 | * @param $service_id |
||
400 | * @return bool |
||
401 | */ |
||
402 | public function DeleteServiceRelation($hotel_id, $service_id) |
||
403 | { |
||
404 | if (!is_numeric($hotel_id) || !is_numeric($service_id)) { |
||
405 | return false; |
||
406 | } |
||
407 | $sql = "delete FROM " . $this->db->prefix("martin_hotel_service_relation") . " |
||
408 | WHERE hotel_id = $hotel_id and service_id = $service_id"; |
||
409 | |||
410 | return $this->db->queryF($sql); |
||
411 | } |
||
412 | |||
413 | /** |
||
414 | * @Insert Relation |
||
415 | * @license http://www.blags.org/ |
||
416 | * @created :2010年05月30日 20时48分 |
||
417 | * @copyright 1997-2010 The Martin Group |
||
418 | * @author Martin <[email protected]> |
||
419 | * @param $RelationData |
||
420 | * @param bool $IsOld |
||
421 | * @return bool |
||
422 | */ |
||
423 | public function InsertRelation($RelationData, $IsOld = false) |
||
424 | { |
||
425 | if (empty($RelationData) || !is_array($RelationData)) { |
||
426 | return false; |
||
427 | } |
||
428 | foreach ($RelationData as $key => $value) { |
||
429 | ${$key} = $value; |
||
430 | } |
||
431 | if (!$IsOld && $this->CheckRelationExist($hotel_id, $service_id)) { |
||
0 ignored issues
–
show
|
|||
432 | return false; |
||
433 | } |
||
434 | |||
435 | if (!$IsOld) { |
||
436 | $sql = "insert INTO " . $this->db->prefix('martin_hotel_service_relation') . " (`hotel_id`,`service_id`,`service_extra_price`) VALUES ($hotel_id,$service_id,$service_extra_price) "; |
||
0 ignored issues
–
show
The variable
$service_extra_price does not exist. Did you forget to declare it?
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug. ![]() |
|||
437 | } else { |
||
438 | $sql = "UPDATE " . $this->db->prefix("martin_hotel_service_relation") . " SET service_extra_price = $service_extra_price WHERE hotel_id = $hotel_id and service_id = $service_id"; |
||
439 | } |
||
440 | |||
441 | //echo $sql;exit; |
||
442 | return $this->db->queryF($sql); |
||
443 | } |
||
444 | |||
445 | /** |
||
446 | * 检测是否存在 |
||
447 | * @license http://www.blags.org/ |
||
448 | * @created :2010年05月30日 20时48分 |
||
449 | * @copyright 1997-2010 The Martin Group |
||
450 | * @author Martin <[email protected]> |
||
451 | * @param $hotel_id |
||
452 | * @param $service_id |
||
453 | * @return bool |
||
454 | */ |
||
455 | public function CheckRelationExist($hotel_id, $service_id) |
||
456 | { |
||
457 | if (!is_numeric($hotel_id) || !is_numeric($service_id)) { |
||
458 | return false; |
||
459 | } |
||
460 | $sql = "SELECT * FROM " . $this->db->prefix("martin_hotel_service_relation") . " WHERE hotel_id = $hotel_id and service_id = $service_id"; |
||
461 | |||
462 | return is_array($this->db->fetchArray($this->db->query($sql))); |
||
463 | } |
||
464 | |||
465 | /** |
||
466 | * @get hotel list |
||
467 | * @license http://www.blags.org/ |
||
468 | * @created :2010年05月30日 20时48分 |
||
469 | * @copyright 1997-2010 The Martin Group |
||
470 | * @author Martin <[email protected]> |
||
471 | * @param int $hotel_id |
||
472 | * @return array |
||
473 | */ |
||
474 | View Code Duplication | public function getHotelList($hotel_id = 0) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
475 | { |
||
476 | $rows = array(); |
||
477 | $sql = "SELECT hotel_id ,hotel_name FROM " . $this->db->prefix("martin_hotel"); |
||
478 | $sql .= $hotel_id > 0 ? " WHERE hotel_id = $hotel_id" : ""; |
||
479 | $sql .= " order BY hotel_rank ,hotel_id DESC "; |
||
480 | $result = $this->db->query($sql); |
||
481 | while ($row = $this->db->fetchArray($result)) { |
||
482 | $rows[$row['hotel_id']] = $row['hotel_name']; |
||
483 | } |
||
484 | |||
485 | return $rows; |
||
486 | } |
||
487 | |||
488 | /** |
||
489 | * @get service list |
||
490 | * @license http://www.blags.org/ |
||
491 | * @created :2010年05月30日 20时48分 |
||
492 | * @copyright 1997-2010 The Martin Group |
||
493 | * @author Martin <[email protected]> |
||
494 | * @param int $service_id |
||
495 | * @return array |
||
496 | */ |
||
497 | View Code Duplication | public function getServiceList($service_id = 0) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
498 | { |
||
499 | $rows = array(); |
||
500 | $sql = "SELECT service_id ,service_name FROM " . $this->db->prefix("martin_hotel_service"); |
||
501 | $sql .= $hotel_id > 0 ? " WHERE service_id = $service_id" : ""; |
||
0 ignored issues
–
show
|
|||
502 | $result = $this->db->query($sql); |
||
503 | while ($row = $this->db->fetchArray($result)) { |
||
504 | $rows[$row['service_id']] = $row['service_name']; |
||
505 | } |
||
506 | |||
507 | return $rows; |
||
508 | } |
||
509 | |||
510 | /** |
||
511 | * @get relation count |
||
512 | * @license http://www.blags.org/ |
||
513 | * @created :2010年05月30日 20时48分 |
||
514 | * @copyright 1997-2010 The Martin Group |
||
515 | * @author Martin <[email protected]> |
||
516 | * */ |
||
517 | public function GetRelationCount() |
||
0 ignored issues
–
show
The return type could not be reliably inferred; please add a
@return annotation.
Our type inference engine in quite powerful, but sometimes the code does not
provide enough clues to go by. In these cases we request you to add a ![]() |
|||
518 | { |
||
519 | $sql = 'SELECT COUNT(*) FROM ' . $this->db->prefix('martin_hotel_service_relation'); |
||
520 | $result = $this->db->query($sql); |
||
521 | if (!$result) { |
||
522 | return 0; |
||
523 | } |
||
524 | list($count) = $this->db->fetchRow($result); |
||
525 | |||
526 | return $count; |
||
527 | } |
||
528 | |||
529 | /** |
||
530 | * @get hotel service |
||
531 | * @license http://www.blags.org/ |
||
532 | * @created :2010年06月16日 22时31分 |
||
533 | * @copyright 1997-2010 The Martin Group |
||
534 | * @author Martin <[email protected]> |
||
535 | * @param $hotel_id |
||
536 | * @return array|bool |
||
537 | */ |
||
538 | public function getHotelService($hotel_id) |
||
539 | { |
||
540 | global $xoopsDB, $xoopsModule; |
||
541 | $DBPrefx = empty($xoopsdModule) ? $xoopsDB->prefix . '_martin' : $xoopsDB->prefix . '_' . $xoopsModule->getVar('dirname'); |
||
0 ignored issues
–
show
The variable
$xoopsdModule does not exist. Did you mean $xoopsModule ?
This check looks for variables that are accessed but have not been defined. It raises an issue if it finds another variable that has a similar name. The variable may have been renamed without also renaming all references. ![]() |
|||
542 | if (empty($hotel_id)) { |
||
543 | return false; |
||
544 | } |
||
545 | $sql = 'SELECT st.service_type_name,s.service_id,s.service_unit,s.service_name, |
||
546 | s.service_instruction,sr.service_extra_price FROM '; |
||
547 | $sql .= $DBPrefx . "_hotel_service s INNER JOIN " . $DBPrefx . "_hotel_service_relation sr ON ( sr.service_id = s.service_id ) "; |
||
548 | $sql .= "INNER JOIN {$DBPrefx}_hotel_service_type st ON (s.service_type_id = st.service_type_id) WHERE sr.hotel_id = " . $hotel_id; |
||
549 | //echo $sql; |
||
550 | $rows = array(); |
||
551 | $result = $xoopsDB->query($sql); |
||
552 | while ($row = $xoopsDB->fetchArray($result)) { |
||
553 | //$row['service_extra_price'] = round($row['service_extra_price'],2); |
||
554 | $rows[] = $row; |
||
555 | } |
||
556 | |||
557 | return $rows; |
||
558 | } |
||
559 | } |
||
560 |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.