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

/test/hotels.php

https://bitbucket.org/mvmstudio/anyfly
PHP | 309 lines | 300 code | 9 blank | 0 comment | 5 complexity | d986bebcf289bdfa5db6c2dc55b96bf5 MD5 | raw file
  1. <?
  2. $protoTypes = array(
  3. array(
  4. 'HOTEL' => array(
  5. 'ID' => '1',
  6. 'COUNTRY' => 'Italy',
  7. 'CITY' => 'Rome',
  8. 'COUNTRY_RU' => 'Италия',
  9. 'CITY_RU' => 'Рим',
  10. 'LINK' => '/italy/rome/eurostars-international-palace/',
  11. 'BOOK_LINK' => '/italy/rome/eurostars-international-palace/book/',
  12. 'NAME' => 'Eurostars International Palace',
  13. 'ADDRESS' => 'Via Nazionale, 46 00184 Rome',
  14. 'PICTURE' => '/i/demo/hl1.png',
  15. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  16. 'CURRENCY' => array(
  17. 'CLASS' => 'e_ruble',
  18. 'VALUE' => 'a'
  19. ),
  20. 'LOCATION' => 'Городской центр',
  21. 'RATING' => '7,1',
  22. 'STARS' => mt_rand(1, 5),
  23. 'BTN_CLASS' => 'btn_book_l_blue',
  24. 'BOOK_INFO' => 'Бронировался более 6 раза за последнее время',
  25. 'ROOMS_LEFT' => 'Осталось 5 номеров',
  26. 'GPS' => array(
  27. 'LAT' => '41.9002343678',
  28. 'LNG' => '12.4923066701'
  29. ),
  30. )
  31. ),
  32. array(
  33. 'HOTEL' => array(
  34. 'ID' => '2',
  35. 'COUNTRY' => 'Italy',
  36. 'CITY' => 'Rome',
  37. 'COUNTRY_RU' => 'Италия',
  38. 'CITY_RU' => 'Рим',
  39. 'LINK' => '/italy/rome/eurostars-roma-aeterna/',
  40. 'BOOK_LINK' => '/italy/rome/eurostars-roma-aeterna/book/',
  41. 'NAME' => 'Eurostars Roma Aeterna',
  42. 'ADDRESS' => 'Via Casilina, 125 00176',
  43. 'PICTURE' => '/i/demo/hl2.jpg',
  44. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  45. 'CURRENCY' => array(
  46. 'CLASS' => 'e_ruble',
  47. 'VALUE' => 'a'
  48. ),
  49. 'LOCATION' => 'Городской центр',
  50. 'RATING' => '9,3',
  51. 'STARS' => mt_rand(1, 5),
  52. 'BTN_CLASS' => 'btn_book_l_blue',
  53. 'FEEDBACK_COUNT' => mt_rand(20, 300) . ' отзыва',
  54. 'BOOK_INFO' => '',
  55. 'ROOMS_LEFT' => 'Осталось 2 номера',
  56. 'GPS' => array(
  57. 'LAT' => '41.888866',
  58. 'LNG' => '12.5231936'
  59. ),
  60. ),
  61. ),
  62. array(
  63. 'BANNER' => array(
  64. 'NAME' => 'Share the journey',
  65. 'PICTURE' => '/i/demo/b1.jpg',
  66. 'LINK' => 'http://www.anyfly.ru',
  67. 'TARGET' => '_blank'
  68. ),
  69. ),
  70. array(
  71. 'HOTEL' => array(
  72. 'ID' => '3',
  73. 'COUNTRY' => 'Italy',
  74. 'CITY' => 'Rome',
  75. 'COUNTRY_RU' => 'Италия',
  76. 'CITY_RU' => 'Рим',
  77. 'LINK' => '/italy/rome/la-griffe-luxury/',
  78. 'BOOK_LINK' => '/italy/rome/la-griffe-luxury/book/',
  79. 'NAME' => 'La Griffe Luxury',
  80. 'ADDRESS' => 'Via Nazionale, 13 00187',
  81. 'PICTURE' => '/i/demo/hl3.jpg',
  82. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  83. 'CURRENCY' => array(
  84. 'CLASS' => 'e_ruble',
  85. 'VALUE' => 'a'
  86. ),
  87. 'LOCATION' => 'Городской центр',
  88. 'RATING' => '3,8',
  89. 'STARS' => mt_rand(1, 5),
  90. 'BTN_CLASS' => 'btn_book_l_orange', //АКЦИЯ
  91. 'SPECIAL_OFFER_ITEM_CLASS' => 'e_hotel_item_special',
  92. 'FEEDBACK_COUNT' => mt_rand(20, 300) . ' отзыва',
  93. 'BOOK_INFO' => 'Бронировался более 2 раз за последнее время',
  94. 'ROOMS_LEFT' => 'Осталось 2 номера',
  95. 'SPECIAL_OFFER_ROOMS_LEFT_CLASS' => 'e_orange',
  96. 'GPS' => array(
  97. 'LAT' => '41.9014682788',
  98. 'LNG' => '12.4942289256'
  99. ),
  100. )
  101. ),
  102. array(
  103. 'HOTEL' => array(
  104. 'ID' => '4',
  105. 'COUNTRY' => 'Italy',
  106. 'CITY' => 'Rome',
  107. 'COUNTRY_RU' => 'Италия',
  108. 'CITY_RU' => 'Рим',
  109. 'LINK' => '/italy/rome/bernini-bristol/',
  110. 'BOOK_LINK' => '/italy/rome/bernini-bristol/',
  111. 'NAME' => 'Bernini Bristol',
  112. 'ADDRESS' => 'Piazza Barberini, 23 00187',
  113. 'PICTURE' => '/i/demo/hl4.jpg',
  114. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  115. 'CURRENCY' => array(
  116. 'CLASS' => 'e_ruble',
  117. 'VALUE' => 'a'
  118. ),
  119. 'LOCATION' => 'Городской центр',
  120. 'STARS' => mt_rand(1, 5),
  121. 'BTN_CLASS' => 'btn_book_l_blue',
  122. 'FEEDBACK_COUNT' => mt_rand(20, 300) . ' отзыва',
  123. 'BOOK_INFO' => 'Бронировался более 2 раз за последнее время',
  124. 'ROOMS_LEFT' => 'Осталось 2 номера',
  125. 'GPS' => array(
  126. 'LAT' => '41.903778200000000',
  127. 'LNG' => '12.489031300000000'
  128. ),
  129. )
  130. ),
  131. array(
  132. 'HOTEL' => array(
  133. 'ID' => '5',
  134. 'COUNTRY' => 'Italy',
  135. 'CITY' => 'Rome',
  136. 'COUNTRY_RU' => 'Италия',
  137. 'CITY_RU' => 'Рим',
  138. 'LINK' => '/italy/rome/mediterraneo/',
  139. 'BOOK_LINK' => '/italy/rome/mediterraneo/book/',
  140. 'NAME' => 'Mediterraneo',
  141. 'ADDRESS' => 'Piazza Barberini, 23 00187',
  142. 'PICTURE' => '/i/demo/hl5.jpg',
  143. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  144. 'CURRENCY' => array(
  145. 'CLASS' => 'e_ruble',
  146. 'VALUE' => 'a'
  147. ),
  148. 'LOCATION' => 'Городской центр',
  149. 'RATING' => '4,8',
  150. 'STARS' => mt_rand(1, 5),
  151. 'BTN_CLASS' => 'btn_book_l_blue', //АКЦИЯ
  152. 'GPS' => array(
  153. 'LAT' => '41.896431676800000',
  154. 'LNG' => '12.495036195400000'
  155. ),
  156. )
  157. ),
  158. array(
  159. 'HOTEL' => array(
  160. 'ID' => '6',
  161. 'COUNTRY' => 'Italy',
  162. 'CITY' => 'Rome',
  163. 'COUNTRY_RU' => 'Италия',
  164. 'CITY_RU' => 'Рим',
  165. 'LINK' => '/italy/rome/flaminio-village-residence/',
  166. 'BOOK_LINK' => '/italy/rome/flaminio-village-residence/book/',
  167. 'NAME' => 'Flaminio Village Residence',
  168. 'ADDRESS' => 'Via Flaminia Nuova, 821 00189',
  169. 'PICTURE' => '/i/e/avatar.jpg',
  170. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  171. 'CURRENCY' => array(
  172. 'CLASS' => 'e_ruble',
  173. 'VALUE' => 'a'
  174. ),
  175. 'LOCATION' => 'Периферия',
  176. 'STARS' => mt_rand(1, 5),
  177. 'BTN_CLASS' => 'btn_book_l_blue', //АКЦИЯ
  178. 'GPS' => array(
  179. 'LAT' => '41.956075358048516',
  180. 'LNG' => '12.482442855834961'
  181. ),
  182. )
  183. ),
  184. array(
  185. 'HOTEL' => array(
  186. 'ID' => '7',
  187. 'COUNTRY' => 'Italy',
  188. 'CITY' => 'Rome',
  189. 'COUNTRY_RU' => 'Италия',
  190. 'CITY_RU' => 'Рим',
  191. 'LINK' => '/italy/rome/radisson-blu/',
  192. 'BOOK_LINK' => '/italy/rome/radisson-blu/book/',
  193. 'NAME' => 'Radisson Blu',
  194. 'ADDRESS' => 'Via Filippo Turati 171 00185 Rome',
  195. 'PICTURE' => '/i/demo/hl6.jpg',
  196. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  197. 'CURRENCY' => array(
  198. 'CLASS' => 'e_ruble',
  199. 'VALUE' => 'a'
  200. ),
  201. 'LOCATION' => 'Периферия',
  202. 'RATING' => '4,7',
  203. 'STARS' => mt_rand(1, 5),
  204. 'BTN_CLASS' => 'btn_book_l_blue', //АКЦИЯ
  205. 'GPS' => array(
  206. 'LAT' => '41.897461509100000',
  207. 'LNG' => '12.504273895800000'
  208. ),
  209. )
  210. ),
  211. array(
  212. 'HOTEL' => array(
  213. 'ID' => '8',
  214. 'COUNTRY' => 'Italy',
  215. 'CITY' => 'Rome',
  216. 'COUNTRY_RU' => 'Италия',
  217. 'CITY_RU' => 'Рим',
  218. 'LINK' => '/italy/rome/massimo-azeglio/',
  219. 'BOOK_LINK' => '/italy/rome/massimo-azeglio/book/',
  220. 'NAME' => 'Massimo D\'Azeglio',
  221. 'ADDRESS' => 'Via Cavour, 18 00184',
  222. 'PICTURE' => '/i/demo/hl7.jpg',
  223. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  224. 'CURRENCY' => array(
  225. 'CLASS' => 'e_ruble',
  226. 'VALUE' => 'a'
  227. ),
  228. 'LOCATION' => 'Периферия',
  229. 'RATING' => '5,2',
  230. 'STARS' => mt_rand(1, 5),
  231. 'BTN_CLASS' => 'btn_book_l_orange', //АКЦИЯ
  232. 'SPECIAL_OFFER_ITEM_CLASS' => 'e_hotel_item_special',
  233. 'FEEDBACK_COUNT' => mt_rand(20, 300) . ' отзыва',
  234. 'BOOK_INFO' => 'Бронировался более 2 раз за последнее время',
  235. 'ROOMS_LEFT' => 'Осталось 2 номера',
  236. 'SPECIAL_OFFER_ROOMS_LEFT_CLASS' => 'e_orange',
  237. 'GPS' => array(
  238. 'LAT' => '41.896497075500000',
  239. 'LNG' => '12.495108121800000'
  240. ),
  241. )
  242. ),
  243. array(
  244. 'HOTEL' => array(
  245. 'ID' => '9',
  246. 'COUNTRY' => 'Italy',
  247. 'CITY' => 'Rome',
  248. 'COUNTRY_RU' => 'Италия',
  249. 'CITY_RU' => 'Рим',
  250. 'LINK' => '/italy/rome/nord-nuova-roma/',
  251. 'BOOK_LINK' => '/italy/rome/nord-nuova-roma/',
  252. 'NAME' => 'Nord Nuova Roma',
  253. 'ADDRESS' => 'Via G. Amendola, 3 00185',
  254. 'PICTURE' => '/i/demo/hl8.jpg',
  255. 'BEST_PRICE_STR' => number_format(mt_rand(20000, 2000000), 0, ',', ' '),
  256. 'CURRENCY' => array(
  257. 'CLASS' => 'e_ruble',
  258. 'VALUE' => 'a'
  259. ),
  260. 'LOCATION' => 'Периферия',
  261. 'RATING' => '5,2',
  262. 'STARS' => mt_rand(1, 5),
  263. 'BTN_CLASS' => 'btn_book_l_blue',
  264. 'FEEDBACK_COUNT' => mt_rand(20, 300) . ' отзыва',
  265. 'BOOK_INFO' => 'Бронировался более 2 раз за последнее время',
  266. 'ROOMS_LEFT' => 'Осталось 2 номера',
  267. 'GPS' => array(
  268. 'LAT' => '41.968180528500000',
  269. 'LNG' => '12.534462042900000'
  270. ),
  271. )
  272. ),
  273. );
  274. $perPage = 8;
  275. $bannersCount = 1;
  276. $fullList = $protoTypes;
  277. $length = sizeof($fullList);
  278. $prepared = array();
  279. if($_GET['page'] == 'gps') {
  280. $prepared = $protoTypes;
  281. } else {
  282. $start = ($_GET['page']-1)*$perPage;
  283. $end = $start+$perPage;
  284. for($i = $start; $i < $end; $i++ ) {
  285. if(isset($fullList[$i])) {
  286. $prepared[] = $fullList[$i];
  287. }
  288. }
  289. }
  290. $totalPages = ceil($length/$perPage);
  291. $hotels = array(
  292. 'show' => $totalPages!=$_GET['page'] ? ($_GET['page']*$perPage)-$bannersCount : $length-$bannersCount,
  293. 'total' => $length-$bannersCount,
  294. 'per_page' => $perPage,
  295. 'pages' => $totalPages,
  296. 'list' => $prepared
  297. );
  298. header('Content-Type: application/json');
  299. echo json_encode($hotels);
  300. die();