PageRenderTime 40ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/public_html/adm/metode_import/metoda5/pas2.php

https://bitbucket.org/ocaziituristice/ocaziituristice.ro
PHP | 240 lines | 216 code | 18 blank | 6 comment | 26 complexity | aa5fd97816caa0e4293df84d547ec1d3 MD5 | raw file
  1. <?php
  2. $id_hotel = $_GET['id_hotel'];
  3. $id_oferta = $_GET['id_oferta'];
  4. $denumire = trim($_POST['denumire']);
  5. $tip_masa = $_POST['tip_masa'];
  6. $err = '';
  7. $pret['id_hotel'] = $id_hotel;
  8. $pret['id_oferta'] = $id_oferta;
  9. $pret['denumire'] = $denumire;
  10. $link_oferta = trim($_POST['link_oferta']);
  11. $fp = fopen($link_oferta,"r");
  12. while(!feof($fp)) {
  13. $page .= fgets($fp, 4096);
  14. }
  15. $titre = eregi('<table class="price-list-table">(.*)</table>',$page,$regs);
  16. $string = $regs[1];
  17. fclose($fp);
  18. $string = preg_replace('~>\s+<~', '><', trim($string));
  19. $rows = preg_split('/(<tr>|<\/tr>)/i',$string,-1,PREG_SPLIT_NO_EMPTY);
  20. $nr_rows = sizeof($rows);
  21. $dates = $rows[0];
  22. $dates = str_replace('<th class="dead-cell">Camere / Date plecare</th>','',$dates);
  23. $dates_arr = preg_split('/(<th class="dates">|<\/th>)/i',$dates,-1,PREG_SPLIT_NO_EMPTY);
  24. $nr_columns = sizeof($dates_arr);
  25. foreach($dates_arr as $k_date => $v_date) {
  26. $date[$k_date] = preg_split('/\s+/',trim(strip_tags($v_date)),-1,PREG_SPLIT_NO_EMPTY);
  27. foreach($date[$k_date] as $k_data => $v_data) {
  28. $pret['data_start'][$k_date][$k_data] = make_date_from_zzll($v_data); //date plecare
  29. }
  30. }
  31. for($i=1; $i<$nr_rows; $i++) {
  32. $rand[$i] = preg_split('/(<th class="room-name">|<\/th>)/i',$rows[$i],-1,PREG_SPLIT_NO_EMPTY);
  33. $rand_nohtml[$i] = strip_tags($rand[$i][0]);
  34. $rand_no_br[$i] = str_replace('<br/>','',str_replace('<br />','',str_replace('<br>','',str_replace('<br >','',$rand[$i][0]))));
  35. $col_cam[$i] = preg_split('/(\(|\))/i',$rand_no_br[$i],-1,PREG_SPLIT_NO_EMPTY);
  36. $col_cam_ext[$i] = preg_split('/(<span class="room-caracteristic">|<\/span>)/i',$col_cam[$i][2],-1,PREG_SPLIT_NO_EMPTY);
  37. for($ii=1; $ii<sizeof($col_cam_ext[$i]); $ii++) {
  38. if(!preg_match('/varste copii (.*)/',$col_cam_ext[$i][$ii])) {
  39. $col_cam_nomasa[$i] = substr($col_cam_ext[$i][$ii], 0, strrpos($col_cam_ext[$i][$ii], '/'));
  40. $ext_cam[$i] = str_replace('+CHD','',str_replace('+EB','',str_replace('/','',$col_cam_nomasa[$i])));
  41. }
  42. }
  43. $col_masa[$i] = substr(substr($rand_nohtml[$i], strrpos($rand_nohtml[$i], '/')), 1);
  44. if($col_masa[$i]==$tip_masa) {
  45. $denumire_camera[$i] = trim($col_cam[$i][0]).' '.trim($ext_cam[$i]);
  46. $denumire_camera[$i] = trim($denumire_camera[$i]);
  47. $id_camera[$i] = get_id_camera($denumire_camera[$i]);
  48. if($id_camera[$i]=='') {
  49. $err .= '<h3 class="red">EROARE ! Nu toate camerele au corespondent!</h3><strong>- '.$denumire_camera[$i].'</strong><br><br>';
  50. } else {
  51. $pret['id_camera'][$i]=$id_camera[$i]; //id camera
  52. $grad_ocup[$i] = explode(', ',trim($col_cam[$i][1]));
  53. $nr_adulti[$i] = 0;
  54. $nr_copii[$i] = 0;
  55. $age_infant[$i] = '0-1,99';
  56. $age_child[$i] = preg_match('/([0-9]{1}-{1}[0-9]{2})/i',trim($col_cam[$i][2]),$age_copil_match[$i]);
  57. if(sizeof($age_copil_match[$i])>0) {
  58. $age_copil[$i] = $age_copil_match[$i][0]; //varsta copil
  59. }
  60. $varste_copii[$i] = '';
  61. foreach($grad_ocup[$i] as $k_go => $v_go) {
  62. if(substr($grad_ocup[$i][$k_go],-1)=='a') {
  63. $nr_adulti[$i] += substr($grad_ocup[$i][$k_go],0,1);
  64. } else if(substr($grad_ocup[$i][$k_go],-1)=='c') {
  65. $nr_copii[$i] += substr($grad_ocup[$i][$k_go],0,1);
  66. $varste_copii[$i] .= $age_copil[$i].';';
  67. } else if(substr($grad_ocup[$i][$k_go],-1)=='i') {
  68. $nr_copii[$i] += substr($grad_ocup[$i][$k_go],0,1);
  69. $varste_copii[$i] .= '0-1,99;';
  70. }
  71. }
  72. $varste_copii[$i] = substr($varste_copii[$i],0,-1);
  73. $varste_copii[$i] = explode(';',$varste_copii[$i]);
  74. $pret['nr_adulti'][$i] = $nr_adulti[$i]; //nr adulti
  75. $pret['nr_copii'][$i] = $nr_copii[$i]; //nr copii
  76. if(sizeof($varste_copii[$i]) < $nr_copii[$i]) {
  77. for($ic=0; $ic<$nr_copii[$i]; $ic++) {
  78. $varste_copii_final[$i][$ic] = $varste_copii[$i][0];
  79. }
  80. $pret['varste_copii'][$i] = $varste_copii_final[$i]; //varste copii
  81. } else {
  82. $pret['varste_copii'][$i] = $varste_copii[$i]; //varste copii
  83. }
  84. if($nr_copii[$i]=='0') {
  85. if((preg_match('/\+EB/',$rand_nohtml[$i])) or ($pret['nr_adulti'][$i]>2)) {
  86. $pret_pivot[$i] = 'nu';
  87. } else {
  88. $pret_pivot[$i] = 'da';
  89. }
  90. } else {
  91. $pret_pivot[$i] = 'nu';
  92. }
  93. $pret['pret_pivot'][$i] = $pret_pivot[$i]; //pret pivot
  94. $col_pret[$i] = preg_split('/(<td class="price">|<\/td>)/i',$rand[$i][1],-1,PREG_SPLIT_NO_EMPTY);
  95. foreach($col_pret[$i] as $k_cp => $v_cp) {
  96. $split_col_pret[$i] = explode(' ',$v_cp);
  97. $pret['pret'][$i][$k_cp] = trim($split_col_pret[$i][0]); //pret
  98. $pret['moneda'][$i][$k_cp] = reverse_moneda(trim($split_col_pret[$i][1])); //moneda
  99. }
  100. }
  101. } else {
  102. echo '<h3 class="red">Tipul de masa al acestui pret nu corespunde cu cel selectat</h3>';
  103. }
  104. }
  105. if(strlen($err)>0) {
  106. echo '<script>alert(\'Au aparut erori.\nPreturile nu au fost importate.\'); </script>';
  107. echo $err;
  108. echo '<div class="infos">Camerele se asigneaza din baza de date in tabelul <strong>TIP_CAMERA_CORESPONDENT</strong> cu cele din tabelul <strong>TIP_CAMERA</strong></div><br>';
  109. echo '<button class="buttons" onClick="javascript: history.go(-1)">Preia datele din nou</button>';
  110. } else {
  111. if(sizeof($pret['pret']>0)) {
  112. // inserare grad ocupare
  113. foreach($pret['id_camera'] as $key_cam => $value_cam) {
  114. $ins_id_hotel = $pret['id_hotel'];
  115. $ins_id_camera = $pret['id_camera'][$key_cam];
  116. $ins_nr_adulti = $pret['nr_adulti'][$key_cam];
  117. $ins_nr_copii = $pret['nr_copii'][$key_cam];
  118. $ins_copil1 = $pret['varste_copii'][$key_cam][0];
  119. $ins_copil2 = $pret['varste_copii'][$key_cam][1];
  120. $ins_copil3 = $pret['varste_copii'][$key_cam][2];
  121. $sel_grad_ocupare = "SELECT * FROM grad_ocupare_camera
  122. WHERE id_hotel = '".$ins_id_hotel."'
  123. AND id_camera = '".$ins_id_camera."'
  124. AND nr_adulti = '".$ins_nr_adulti."'
  125. AND nr_copii = '".$ins_nr_copii."'
  126. AND copil1 = '".$ins_copil1."'
  127. AND copil2 = '".$ins_copil2."'
  128. AND copil3 = '".$ins_copil3."' ";
  129. $que_grad_ocupare = mysql_query($sel_grad_ocupare);
  130. $row_grad_ocupare = mysql_fetch_array($que_grad_ocupare);
  131. $totalRows_grad_ocupare = mysql_num_rows($que_grad_ocupare);
  132. @mysql_free_result($que_grad_ocupare);
  133. if($totalRows_grad_ocupare=='0') {
  134. $ins_grad_ocup = "INSERT INTO grad_ocupare_camera SET
  135. id_hotel = '".$ins_id_hotel."',
  136. id_camera = '".$ins_id_camera."',
  137. nr_adulti = '".$ins_nr_adulti."',
  138. nr_copii = '".$ins_nr_copii."',
  139. copil1 = '".$ins_copil1."',
  140. copil2 = '".$ins_copil2."',
  141. copil3 = '".$ins_copil3."' ";
  142. $que_grad_ocup = mysql_query($ins_grad_ocup) or die(mysql_error());
  143. @mysql_free_result($que_grad_ocup);
  144. }
  145. $sel_camere_hotel = "SELECT * FROM camere_hotel
  146. WHERE id_hotel = '".$ins_id_hotel."'
  147. AND id_camera = '".$ins_id_camera."' ";
  148. $que_camere_hotel = mysql_query($sel_camere_hotel);
  149. $row_camere_hotel = mysql_fetch_array($que_camere_hotel);
  150. $totalRows_camere_hotel = mysql_num_rows($que_camere_hotel);
  151. @mysql_free_result($que_camere_hotel);
  152. if($totalRows_camere_hotel=='0') {
  153. $ins_cam_hot = "INSERT INTO camere_hotel SET
  154. id_hotel = '".$ins_id_hotel."',
  155. id_camera = '".$ins_id_camera."' ";
  156. $que_cam_hot = mysql_query($ins_cam_hot) or die(mysql_error());
  157. @mysql_free_result($que_cam_hot);
  158. }
  159. }
  160. // inserare pret pivot
  161. //echo '<ol>';
  162. foreach($pret['pret'] as $key_prices => $value_prices) {
  163. foreach($pret['data_start'] as $key_dates => $value_dates) {
  164. foreach($value_dates as $key_data => $value_data) {
  165. $inspr_pret_pivot = $pret['pret_pivot'][$key_prices];
  166. $inspr_data = $value_data;
  167. $inspr_id_hotel = $pret['id_hotel'];
  168. $inspr_id_oferta = $pret['id_oferta'];
  169. $inspr_denumire = $pret['denumire'];
  170. $inspr_id_camera = $pret['id_camera'][$key_prices];
  171. $inspr_nr_adulti = $pret['nr_adulti'][$key_prices];
  172. $inspr_nr_copii = $pret['nr_copii'][$key_prices];
  173. $inspr_copil1 = $pret['varste_copii'][$key_prices][0];
  174. $inspr_copil2 = $pret['varste_copii'][$key_prices][1];
  175. $inspr_copil3 = $pret['varste_copii'][$key_prices][2];
  176. $inspr_pret = $value_prices[$key_dates];
  177. $inspr_moneda = $pret['moneda'][$key_prices][$key_dates];
  178. if($inspr_pret_pivot=='da') {
  179. $inspr_pret = $value_prices[$key_dates] / $inspr_nr_adulti; //pret pt pretul pivot
  180. $ins_pret_pivot = "INSERT INTO pret_pivot SET
  181. id_hotel = '".$inspr_id_hotel."',
  182. id_oferta = '".$inspr_id_oferta."',
  183. data_start = '".$inspr_data."',
  184. tip_camera = '".$inspr_id_camera."',
  185. pret = '".$value_prices[$key_dates]."',
  186. moneda = '".$inspr_moneda."',
  187. pret_pivot = 'nu',
  188. adulti = '".$inspr_nr_adulti."',
  189. copii = '".$inspr_nr_copii."',
  190. denumire = '".$inspr_denumire."',
  191. copil1 = '".$inspr_copil1."',
  192. copil2 = '".$inspr_copil2."',
  193. copil3 = '".$inspr_copil3."' ";
  194. $que_pret_pivot = mysql_query($ins_pret_pivot) or die(mysql_error());
  195. @mysql_free_result($que_pret_pivot);
  196. }
  197. //echo '<li>'.$inspr_data.' - '.$inspr_pret.' - '.$inspr_moneda.' - '.$inspr_id_camera.' - '.$inspr_id_hotel.' - '.$inspr_id_oferta.' - '.$inspr_denumire.' - '.$inspr_nr_adulti.' - '.$inspr_nr_copii.' - '.$inspr_copil1.' - '.$inspr_copil2.' - '.$inspr_copil3.' - '.$inspr_pret_pivot.'</li>';
  198. $ins_pret = "INSERT INTO pret_pivot SET
  199. id_hotel = '".$inspr_id_hotel."',
  200. id_oferta = '".$inspr_id_oferta."',
  201. data_start = '".$inspr_data."',
  202. tip_camera = '".$inspr_id_camera."',
  203. pret = '".$inspr_pret."',
  204. moneda = '".$inspr_moneda."',
  205. pret_pivot = '".$inspr_pret_pivot."',
  206. adulti = '".$inspr_nr_adulti."',
  207. copii = '".$inspr_nr_copii."',
  208. denumire = '".$inspr_denumire."',
  209. copil1 = '".$inspr_copil1."',
  210. copil2 = '".$inspr_copil2."',
  211. copil3 = '".$inspr_copil3."' ";
  212. $que_pret = mysql_query($ins_pret) or die(mysql_error());
  213. @mysql_free_result($que_pret);
  214. echo '<script>alert(\'Preturile au fost importate!\'); document.location.href=\'/adm/pivot.php?pas=2&id_hotel='.$id_hotel.'&id_oferta='.$id_oferta.'\'; </script>';
  215. }
  216. }
  217. }
  218. //echo '</ol>';
  219. }
  220. }
  221. //echo '<pre>';print_r($pret);echo '</pre>';
  222. ?>