PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/public_html/includes/filtre/filtru_categorie_hotel_nou.php

https://bitbucket.org/ocaziituristice/ocaziituristice.ro
PHP | 109 lines | 107 code | 1 blank | 1 comment | 51 complexity | 5e7c3098215fcb756d2b67c3e83458e2 MD5 | raw file
  1. <?php include_once($_SERVER['DOCUMENT_ROOT']."/includes/peste_tot.php");
  2. include_once($_SERVER['DOCUMENT_ROOT']."/includes/filtre/preluare_date.php");
  3. if(isset($_GET['nr_stele']) and $_GET['nr_stele']<>''){
  4. $nr_stele=$_GET['nr_stele'];
  5. }else {$stele='toate';}
  6. if(isset($_GET['search']) and $_GET['search']<>''){$search=$_GET['search'];}
  7. echo $search;
  8. ?>
  9. <?php
  10. $time_start_stele = microtime(true);
  11. $sel_filtru = "SELECT hoteluri.stele
  12. FROM oferte ";
  13. if ( $tip_oferta ) $sel_filtru .= " INNER JOIN oferta_sejur_tip ON oferte.id_oferta = oferta_sejur_tip.id_oferta ";
  14. if ( $tipofsp==1 ) $sel_filtru .= " INNER JOIN oferta_sejur_tip AS ofsp1 ON oferte.id_oferta = ofsp1.id_oferta
  15. INNER JOIN tip_oferta AS ofsp2 ON (ofsp1.id_tip_oferta = ofsp2.id_tip_oferta AND CURDATE() BETWEEN ofsp2.data_inceput_eveniment AND ofsp2.data_sfarsit_eveniment AND ofsp2.tip = 'oferte_speciale') ";
  16. if ( $luna_plecare ) $sel_filtru .= " INNER JOIN data_pret_oferta ON (oferte.id_oferta = data_pret_oferta.id_oferta AND ((oferte.tip_preturi = 'plecari' AND date_format(data_pret_oferta.data_start, '%m-%Y') = '" . $luna_plecare . "' AND data_pret_oferta.data_start > NOW()) OR (oferte.tip_preturi = 'perioade' AND data_pret_oferta.data_start <='" . $st . "' AND data_pret_oferta.data_end >= '" . $sf . "'))) ";
  17. if ( $early == 'da' ) $sel_filtru .= " LEFT JOIN (SELECT * FROM early_booking WHERE early_booking.end_date >= now() AND early_booking.tip = 'sejur' GROUP BY id_oferta, end_date, discount ORDER BY end_date) AS early ON oferte.id_oferta = early.id_oferta ";
  18. if ( $start ) $sel_filtru .= " INNER JOIN data_pret_oferta ON (oferte.id_oferta = data_pret_oferta.id_oferta AND (data_pret_oferta.data_start<='" . $start . "' AND data_pret_oferta.data_end>='" . $endd . "')) ";
  19. $sel_filtru .= "
  20. INNER JOIN hoteluri ON oferte.id_hotel = hoteluri.id_hotel
  21. left JOIN hotel_meal ON hoteluri.id_hotel = hotel_meal.id_hotel
  22. INNER JOIN localitati ON hoteluri.locatie_id = localitati.id_localitate
  23. INNER JOIN zone ON localitati.id_zona = zone.id_zona
  24. INNER JOIN tari ON zone.id_tara = tari.id_tara
  25. INNER JOIN transport ON oferte.id_transport = transport.id_trans ";
  26. if ( $tari_circ ) $sel_filtru .= " LEFT JOIN traseu_circuit ON hoteluri.id_hotel = traseu_circuit.id_hotel_parinte ";
  27. if ( $id_tara_circuit ) $sel_filtru .= " INNER JOIN traseu_circuit ON (hoteluri.id_hotel = traseu_circuit.id_hotel_parinte AND traseu_circuit.id_tara IN (" . $id_tara_circuit . ") AND traseu_circuit.tara_principala = 'da') ";
  28. $sel_filtru .= " LEFT JOIN (SELECT GROUP_CONCAT(caracteristici_hotel.denumire SEPARATOR ',') AS facilitati, hotel_caracteristici.id_hotel FROM hotel_caracteristici INNER JOIN caracteristici_hotel ON caracteristici_hotel.id = hotel_caracteristici.id GROUP BY hotel_caracteristici.id_hotel) AS facilities ON facilities.id_hotel = hoteluri.id_hotel ";
  29. if ( $data_plecarii ) $sel_filtru = $sel_filtru . " INNER JOIN data_pret_oferta AS data_plecarii ON (oferte.id_oferta = data_plecarii.id_oferta AND oferte.tip_preturi = 'plecari' AND data_plecarii.data_start > NOW()) ";
  30. if ( $loc_p_avion and $cazare != 'da') $sel_filtru .= " INNER JOIN oferte_transport_avion ON oferte.id_oferta = oferte_transport_avion.id_oferta INNER JOIN aeroport ON oferte_transport_avion.aeroport_plecare = aeroport.id_aeroport ";
  31. if ( $loc_p_autocar ) $sel_filtru .= " INNER JOIN oferte_transport_autocar ON oferte.id_oferta = oferte_transport_autocar.id_oferta ";
  32. if($check_in) $sel_filtru .= " INNER JOIN data_pret_oferta ON data_pret_oferta.id_oferta = oferte.id_oferta ";
  33. $sel_filtru .= " WHERE oferte.valabila = 'da' ";
  34. if($check_in) $sel_filtru .= " AND ( ( oferte.tip_preturi = 'perioade' AND data_pret_oferta.data_start <= '".$check_in."' AND data_pret_oferta.data_end >= '".$check_in."' ) OR ( oferte.tip_preturi = 'plecari' AND data_pret_oferta.data_start > NOW() AND data_pret_oferta.data_start >= '".$date_min."' AND data_pret_oferta.data_start <= '".$date_max."' ) ) ";
  35. if ( !$search && !$last_minute && !$recomandata ) {
  36. if ( !$set_circuit ) $sel_filtru .= " AND hoteluri.tip_unitate <> 'Circuit' ";
  37. else $sel_filtru .= " AND hoteluri.tip_unitate = 'Circuit' ";
  38. }
  39. if ( $last_minute ) $sel_filtru .= " AND oferte.last_minute = 'da' ";
  40. if ( $cazare == 'da' ) $sel_filtru .= " AND oferte.cazare = 'da' ";
  41. if ( $continent ) $sel_filtru .= " AND hoteluri.id_continent = " . $continent . " ";
  42. if ( $tip_oferta ) $sel_filtru .= " AND oferta_sejur_tip.id_tip_oferta IN (" . $tip_oferta . ") ";
  43. if ( $tari && !$tari_circ ) $sel_filtru .= " AND zone.id_tara = " . $tari . " ";
  44. if ( !$tari && $tari_circ ) $sel_filtru .= " AND traseu_circuit.id_tara = " . $tari_circ . " AND traseu_circuit.tara_principala = 'da' ";
  45. if ( $tari && $tari_circ ) $sel_filtru .= " AND ((hoteluri.tip_unitate<>'Circuit' && tari.id_tara IN (" . $tari . ")) OR (traseu_circuit.id_tara = " . $tari_circ . " AND traseu_circuit.tara_principala = 'da')) ";
  46. if ( $tari ) $sel_filtru .= " AND tari.id_tara = " . $tari . " ";
  47. if ( $zone ) $sel_filtru .= " AND zone.id_zona = " . $zone . " ";
  48. if ( $orase ) $sel_filtru .= " AND localitati.id_localitate = " . $orase . " ";
  49. if ( $recomandata ) $sel_filtru .= " AND oferte.recomandata = 'da' ";
  50. if ( $id_hotel ) $sel_filtru .= " AND hoteluri.id_hotel ='" . $id_hotel . "' ";
  51. if ( $set_exceptieH ) $sel_filtru .= " AND oferte.id_hotel <> '" . $set_exceptieH . "' ";
  52. if ( $early == 'da' ) $sel_filtru .= " AND early.discount is not null";
  53. if ( $id_transport ) $sel_filtru .= " AND oferte.id_transport = '" . $id_transport . "' ";
  54. if ( $transport_neselectat ) $sel_filtru .= " AND oferte.id_transport = '" . $transport_neselectat . "' ";
  55. if ( $loc_p_avion and $cazare != 'da') $sel_filtru .= " AND aeroport.id_localitate = '" . $loc_p_avion . "' ";
  56. if ( $loc_p_autocar ) $sel_filtru .= " AND oferte_transport_autocar.id_localitate = '" . $loc_p_autocar . "' ";
  57. if ( $data_plecarii ) $sel_filtru .= " AND data_plecarii.data_start = '".$data_plecarii."' ";
  58. //if ( $nr_stele and $nr_stele!='toate') $sel_filtru .= " AND hoteluri.stele IN (" . $nr_stele . ") ";
  59. if ( $masa ) $sel_filtru .= " AND LOWER(hotel_meal.masa) IN (".$masa.") ";
  60. if ( $distanta ) $sel_filtru .= " AND TRIM(hoteluri.distanta_fata_de) = '" . trim( $distanta[0] ) . "' AND hoteluri.distanta>='" . trim( $distanta[1] ) . "' AND hoteluri.distanta<'" . trim( $distanta[2] ) . "' ";
  61. if ( $concept ) $sel_filtru .= " AND lcase(hoteluri.concept) IN (" . $concept . ") ";
  62. if ( $facilitati ) {
  63. $facilities = explode(",", $facilitati);
  64. foreach($facilities as $k_facilities => $v_facilities) {
  65. $v_facilities = str_replace("'", "", trim($v_facilities));
  66. $sel_filtru = $sel_filtru . " AND facilities.facilitati LIKE '%".$v_facilities."%' ";
  67. }
  68. }
  69. $sel_filtru .= " GROUP BY oferte.id_hotel ";
  70. //if($_SESSION['mail']=='razvan@ocaziituristice.ro') echo $sel_filtru;
  71. //echo $sel_filtru;
  72. $rez_filtru = mysql_query( $sel_filtru ) or die( mysql_error() );
  73. $stele_filtru = '';
  74. $stele_filtru = array();
  75. while ( $row_filtru = mysql_fetch_array( $rez_filtru ) ) {
  76. if($id_hotel[$row_filtru['id_hotel']]>1) {
  77. $stele_filtru[$row_filtru['stele']] = $stele_filtru[$row_filtru['stele']];
  78. } else {
  79. $stele_filtru[$row_filtru['stele']] = $stele_filtru[$row_filtru['stele']] + 1;
  80. }
  81. } @mysql_free_result( $rez_filtru );
  82. /********** stele_filtru **********/
  83. krsort($stele_filtru); ?>
  84. <ul>
  85. <li class="label"><a href="<?php echo make_link_filters($link_p1, $transport, 'toate', $Rmasa, $distanta, $plecare_avion, $plecare_autocar, $Rconcept, $Rfacilitati, $checkin,$search); ?>" <?php if($stele=='toate') echo 'class="sel"'; ?>>Toate</a></li>
  86. <?php foreach($stele_filtru as $i=>$nr_s) {
  87. if($nr_s) $nrS=$nr_s; else $nrS=0;
  88. if(is_array($stele)) {
  89. if(in_array($i,$stele)) {
  90. $st=remove_current_filter($nr_stele,$i);
  91. $selclass='class="sel"';
  92. } else {
  93. $st=$nr_stele.','.$i;
  94. $selclass='';
  95. }
  96. } else {
  97. $st=$i;
  98. $selclass='';
  99. }
  100. ?>
  101. <li class="label"><a href="<?php echo make_link_filters($link_p1, $transport, $st, $Rmasa, $distanta, $plecare_avion, $plecare_autocar, $Rconcept, $Rfacilitati, $checkin,$search); ?>" <?php echo $selclass; ?> ><?php echo $i; if($i>1) echo ' stele '; else echo ' stea '; ?> <?php echo '('.$nrS.')'; ?></a></li>
  102. <?php } ?>
  103. </ul>
  104. <?php $time_end_stele = microtime(true);
  105. //if($_SESSION['mail']=='razvan@ocaziituristice.ro') echo "filtru_stele=".$execution_time_stele = ($time_end_stele - $time_start_stele);
  106. ?>