Google Maps Widget – Ultimate Google Maps Plugin - Version 3.35

Version Description

  • 2016/04/30
  • bug fixes
  • new static map color scheme
  • big cleanup - plugin footprint reduced by half
Download this release

Release Info

Developer WebFactory
Plugin Icon 128x128 Google Maps Widget – Ultimate Google Maps Plugin
Version 3.35
Comparing to
See all releases

Code changes from version 3.30 to 3.35

Files changed (1433) hide show
  1. css/gmw-admin.css +9 -10
  2. css/gmw.css +4 -661
  3. gmw-export-import.php +0 -217
  4. gmw-map-styles.php +0 -41
  5. gmw-tracking.php +0 -1
  6. gmw-widget.php +90 -297
  7. google-maps-widget.php +387 -547
  8. images/colorbox/darkrimmed/colorbox_darkrimmed.png +0 -0
  9. images/colorbox/fancyoverlay/colorbox_fancyoverlay.png +0 -0
  10. images/colorbox/gears/frame1.png +0 -0
  11. images/colorbox/gears/frame2.png +0 -0
  12. images/colorbox/gray-square/border.png +0 -0
  13. images/colorbox/gray-square/controls.png +0 -0
  14. images/colorbox/gray-square/loading_background.png +0 -0
  15. images/colorbox/minimal-circles/colorbox_minimalcircles.png +0 -0
  16. images/colorbox/minimal/colorbox_minimal.png +0 -0
  17. images/colorbox/painting/frame1.png +0 -0
  18. images/colorbox/painting/frame2.png +0 -0
  19. images/colorbox/rounded-white/border1.png +0 -0
  20. images/colorbox/rounded-white/border2.png +0 -0
  21. images/colorbox/shadow/colorbox_fancyoverlay.png +0 -0
  22. images/colorbox/sketchtoon/colorbox_sketchtoon.png +0 -0
  23. images/colorbox/sketchtoon/paper.jpg +0 -0
  24. images/colorbox/square-black/controls.png +0 -0
  25. images/colorbox/square-white/controls.png +0 -0
  26. images/colorbox/tablet/frame1.png +0 -0
  27. images/colorbox/tablet/frame2.png +0 -0
  28. images/colorbox/vintage/frame1.png +0 -0
  29. images/colorbox/vintage/frame2.png +0 -0
  30. images/colorbox/vintage/pattern.jpg +0 -0
  31. images/colorbox/wood/colorbox_woodtable.png +0 -0
  32. images/colorbox/wood/woodpattern.jpg +0 -0
  33. images/pins/big/360_degrees.png +0 -0
  34. images/pins/big/abduction.png +0 -0
  35. images/pins/big/aboriginal.png +0 -0
  36. images/pins/big/access_denied.png +0 -0
  37. images/pins/big/accupuncture.png +0 -0
  38. images/pins/big/administration.png +0 -0
  39. images/pins/big/administrative_boundary.png +0 -0
  40. images/pins/big/agritourism.png +0 -0
  41. images/pins/big/aircraft_bimotor.png +0 -0
  42. images/pins/big/aircraft_carrier.png +0 -0
  43. images/pins/big/aircraft_fixed_wing.png +0 -0
  44. images/pins/big/aircraft_small.png +0 -0
  45. images/pins/big/airport_apron.png +0 -0
  46. images/pins/big/airport_runway.png +0 -0
  47. images/pins/big/airport_terminal.png +0 -0
  48. images/pins/big/airshow.png +0 -0
  49. images/pins/big/algae.png +0 -0
  50. images/pins/big/alien.png +0 -0
  51. images/pins/big/alligator.png +0 -0
  52. images/pins/big/american_football.png +0 -0
  53. images/pins/big/amphitheater_lecture.png +0 -0
  54. images/pins/big/amphitheater_presentation.png +0 -0
  55. images/pins/big/anchor_pier.png +0 -0
  56. images/pins/big/anemometer.png +0 -0
  57. images/pins/big/animal-shelter.png +0 -0
  58. images/pins/big/anniversary.png +0 -0
  59. images/pins/big/ant.png +0 -0
  60. images/pins/big/anthropology.png +0 -0
  61. images/pins/big/apartment.png +0 -0
  62. images/pins/big/apple.png +0 -0
  63. images/pins/big/aquarium.png +0 -0
  64. images/pins/big/arch.png +0 -0
  65. images/pins/big/archery.png +0 -0
  66. images/pins/big/army.png +0 -0
  67. images/pins/big/art-museum.png +0 -0
  68. images/pins/big/art_gallery.png +0 -0
  69. images/pins/big/atm.png +0 -0
  70. images/pins/big/atom.png +0 -0
  71. images/pins/big/atv.png +0 -0
  72. images/pins/big/audio.png +0 -0
  73. images/pins/big/australian-football.png +0 -0
  74. images/pins/big/automated_external_defibrillator.png +0 -0
  75. images/pins/big/avalanche.png +0 -0
  76. images/pins/big/award.png +0 -0
  77. images/pins/big/badminton.png +0 -0
  78. images/pins/big/bank.png +0 -0
  79. images/pins/big/bar_beer.png +0 -0
  80. images/pins/big/bar_cocktails.png +0 -0
  81. images/pins/big/bar_juice.png +0 -0
  82. images/pins/big/barbecue.png +0 -0
  83. images/pins/big/barber.png +0 -0
  84. images/pins/big/barrier.png +0 -0
  85. images/pins/big/baseball.png +0 -0
  86. images/pins/big/basketball.png +0 -0
  87. images/pins/big/bats.png +0 -0
  88. images/pins/big/battlefield.png +0 -0
  89. images/pins/big/battleship.png +0 -0
  90. images/pins/big/beach.png +0 -0
  91. images/pins/big/beach_volleyball.png +0 -0
  92. images/pins/big/beautiful_view.png +0 -0
  93. images/pins/big/beauty_salon.png +0 -0
  94. images/pins/big/bed_and_breakfast.png +0 -0
  95. images/pins/big/beer_garden.png +0 -0
  96. images/pins/big/bicycle_shop.png +0 -0
  97. images/pins/big/big_city.png +0 -0
  98. images/pins/big/bike_downhill.png +0 -0
  99. images/pins/big/bike_uphill.png +0 -0
  100. images/pins/big/billiard.png +0 -0
  101. images/pins/big/binoculars.png +0 -0
  102. images/pins/big/birds.png +0 -0
  103. images/pins/big/blast.png +0 -0
  104. images/pins/big/boardercross.png +0 -0
  105. images/pins/big/boat.png +0 -0
  106. images/pins/big/boatcrane.png +0 -0
  107. images/pins/big/bobsleigh.png +0 -0
  108. images/pins/big/boilie.png +0 -0
  109. images/pins/big/bomb.png +0 -0
  110. images/pins/big/bomber.png +0 -0
  111. images/pins/big/bowling.png +0 -0
  112. images/pins/big/boxing.png +0 -0
  113. images/pins/big/bread.png +0 -0
  114. images/pins/big/brewery.png +0 -0
  115. images/pins/big/bridge_modern.png +0 -0
  116. images/pins/big/bridge_stone.png +0 -0
  117. images/pins/big/buddha.png +0 -0
  118. images/pins/big/bulldozer.png +0 -0
  119. images/pins/big/bullfight.png +0 -0
  120. images/pins/big/bunker.png +0 -0
  121. images/pins/big/bus.png +0 -0
  122. images/pins/big/bus_stop.png +0 -0
  123. images/pins/big/bus_tour.png +0 -0
  124. images/pins/big/butcher.png +0 -0
  125. images/pins/big/butterfly.png +0 -0
  126. images/pins/big/cabin.png +0 -0
  127. images/pins/big/cablecar.png +0 -0
  128. images/pins/big/cafetaria.png +0 -0
  129. images/pins/big/calendar.png +0 -0
  130. images/pins/big/camel.png +0 -0
  131. images/pins/big/campfire.png +0 -0
  132. images/pins/big/camping.png +0 -0
  133. images/pins/big/candy.png +0 -0
  134. images/pins/big/canyon.png +0 -0
  135. images/pins/big/car.png +0 -0
  136. images/pins/big/car_accident.png +0 -0
  137. images/pins/big/car_rental.png +0 -0
  138. images/pins/big/car_wash.png +0 -0
  139. images/pins/big/casino.png +0 -0
  140. images/pins/big/castle.png +0 -0
  141. images/pins/big/cathedral.png +0 -0
  142. images/pins/big/catholic_grave.png +0 -0
  143. images/pins/big/caution.png +0 -0
  144. images/pins/big/cave.png +0 -0
  145. images/pins/big/cctv.png +0 -0
  146. images/pins/big/cemetary.png +0 -0
  147. images/pins/big/channelchange.png +0 -0
  148. images/pins/big/chapel.png +0 -0
  149. images/pins/big/chart.png +0 -0
  150. images/pins/big/checkmark.png +0 -0
  151. images/pins/big/cheese.png +0 -0
  152. images/pins/big/chemistry.png +0 -0
  153. images/pins/big/chicken.png +0 -0
  154. images/pins/big/child_museum.png +0 -0
  155. images/pins/big/chiropractor.png +0 -0
  156. images/pins/big/christmas_market.png +0 -0
  157. images/pins/big/church.png +0 -0
  158. images/pins/big/cinema.png +0 -0
  159. images/pins/big/circus.png +0 -0
  160. images/pins/big/city_square.png +0 -0
  161. images/pins/big/city_walls.png +0 -0
  162. images/pins/big/climbing.png +0 -0
  163. images/pins/big/clock.png +0 -0
  164. images/pins/big/closed_road.png +0 -0
  165. images/pins/big/clothes_female.png +0 -0
  166. images/pins/big/clothes_male.png +0 -0
  167. images/pins/big/cloudy.png +0 -0
  168. images/pins/big/cloudy_sunny.png +0 -0
  169. images/pins/big/clover.png +0 -0
  170. images/pins/big/coffee.png +0 -0
  171. images/pins/big/coins.png +0 -0
  172. images/pins/big/comedy_club.png +0 -0
  173. images/pins/big/comics.png +0 -0
  174. images/pins/big/comment.png +0 -0
  175. images/pins/big/community_centre.png +0 -0
  176. images/pins/big/company.png +0 -0
  177. images/pins/big/compost.png +0 -0
  178. images/pins/big/computer.png +0 -0
  179. images/pins/big/condominium.png +0 -0
  180. images/pins/big/conference.png +0 -0
  181. images/pins/big/congress.png +0 -0
  182. images/pins/big/construction.png +0 -0
  183. images/pins/big/construction_crane.png +0 -0
  184. images/pins/big/contract.png +0 -0
  185. images/pins/big/convenience_store.png +0 -0
  186. images/pins/big/convent.png +0 -0
  187. images/pins/big/conversation.png +0 -0
  188. images/pins/big/convertible.png +0 -0
  189. images/pins/big/corral.png +0 -0
  190. images/pins/big/country.png +0 -0
  191. images/pins/big/court.png +0 -0
  192. images/pins/big/cow.png +0 -0
  193. images/pins/big/cow_abduction.png +0 -0
  194. images/pins/big/craft_store.png +0 -0
  195. images/pins/big/cricket.png +0 -0
  196. images/pins/big/crime_scene.png +0 -0
  197. images/pins/big/cromlech.png +0 -0
  198. images/pins/big/cropcircles.png +0 -0
  199. images/pins/big/cross.png +0 -0
  200. images/pins/big/crossing_guard.png +0 -0
  201. images/pins/big/crowd.png +0 -0
  202. images/pins/big/cruise_ship.png +0 -0
  203. images/pins/big/cup.png +0 -0
  204. images/pins/big/curling.png +0 -0
  205. images/pins/big/currency_exchange.png +0 -0
  206. images/pins/big/customs.png +0 -0
  207. images/pins/big/cycling.png +0 -0
  208. images/pins/big/cycling_food.png +0 -0
  209. images/pins/big/cycling_sprint.png +0 -0
  210. images/pins/big/dam.png +0 -0
  211. images/pins/big/dance_class.png +0 -0
  212. images/pins/big/dancing_hall.png +0 -0
  213. images/pins/big/database.png +0 -0
  214. images/pins/big/daycare.png +0 -0
  215. images/pins/big/deep_sea_fishing.png +0 -0
  216. images/pins/big/deer.png +0 -0
  217. images/pins/big/dentist.png +0 -0
  218. images/pins/big/department_store.png +0 -0
  219. images/pins/big/desert.png +0 -0
  220. images/pins/big/detective.png +0 -0
  221. images/pins/big/diamond.png +0 -0
  222. images/pins/big/dino_park.png +0 -0
  223. images/pins/big/direction_down.png +0 -0
  224. images/pins/big/direction_up.png +0 -0
  225. images/pins/big/disability.png +0 -0
  226. images/pins/big/diving.png +0 -0
  227. images/pins/big/dogs_leash.png +0 -0
  228. images/pins/big/dolphins.png +0 -0
  229. images/pins/big/double_bend_right.png +0 -0
  230. images/pins/big/download.png +0 -0
  231. images/pins/big/drinking_fountain.png +0 -0
  232. images/pins/big/drinking_water.png +0 -0
  233. images/pins/big/drug_store.png +0 -0
  234. images/pins/big/duck.png +0 -0
  235. images/pins/big/earthquake.png +0 -0
  236. images/pins/big/eggs.png +0 -0
  237. images/pins/big/elephants.png +0 -0
  238. images/pins/big/elevator.png +0 -0
  239. images/pins/big/elevator_down.png +0 -0
  240. images/pins/big/elevator_up.png +0 -0
  241. images/pins/big/embassy.png +0 -0
  242. images/pins/big/entrance.png +0 -0
  243. images/pins/big/exchequer.png +0 -0
  244. images/pins/big/exit.png +0 -0
  245. images/pins/big/expert.png +0 -0
  246. images/pins/big/factory.png +0 -0
  247. images/pins/big/falling_rocks.png +0 -0
  248. images/pins/big/family.png +0 -0
  249. images/pins/big/farm.png +0 -0
  250. images/pins/big/farm_stand.png +0 -0
  251. images/pins/big/fast_food.png +0 -0
  252. images/pins/big/female.png +0 -0
  253. images/pins/big/ferris_wheel.png +0 -0
  254. images/pins/big/ferry.png +0 -0
  255. images/pins/big/festival.png +0 -0
  256. images/pins/big/field.png +0 -0
  257. images/pins/big/find_a_job.png +0 -0
  258. images/pins/big/finish.png +0 -0
  259. images/pins/big/fire.png +0 -0
  260. images/pins/big/fire_exstinguisher.png +0 -0
  261. images/pins/big/fire_hydrant.png +0 -0
  262. images/pins/big/firemen.png +0 -0
  263. images/pins/big/fireworks.png +0 -0
  264. images/pins/big/first_aid.png +0 -0
  265. images/pins/big/fish_chips.png +0 -0
  266. images/pins/big/fishing.png +0 -0
  267. images/pins/big/fishing_boat.png +0 -0
  268. images/pins/big/fishing_store.png +0 -0
  269. images/pins/big/fitness.png +0 -0
  270. images/pins/big/fjord.png +0 -0
  271. images/pins/big/flag.png +0 -0
  272. images/pins/big/flood.png +0 -0
  273. images/pins/big/flowers.png +0 -0
  274. images/pins/big/folder.png +0 -0
  275. images/pins/big/food_delivery_service.png +0 -0
  276. images/pins/big/food_truck.png +0 -0
  277. images/pins/big/footprint.png +0 -0
  278. images/pins/big/forest_mixed.png +0 -0
  279. images/pins/big/forest_pine.png +0 -0
  280. images/pins/big/fossils.png +0 -0
  281. images/pins/big/foundry.png +0 -0
  282. images/pins/big/fountain.png +0 -0
  283. images/pins/big/four_by_four.png +0 -0
  284. images/pins/big/frequency_change.png +0 -0
  285. images/pins/big/frog.png +0 -0
  286. images/pins/big/fruits.png +0 -0
  287. images/pins/big/funicolar.png +0 -0
  288. images/pins/big/gas_cylinder.png +0 -0
  289. images/pins/big/gas_station.png +0 -0
  290. images/pins/big/gay-female.png +0 -0
  291. images/pins/big/gay-male.png +0 -0
  292. images/pins/big/geocaching.png +0 -0
  293. images/pins/big/geothermal_site.png +0 -0
  294. images/pins/big/geyser.png +0 -0
  295. images/pins/big/ghost_town.png +0 -0
  296. images/pins/big/gift.png +0 -0
  297. images/pins/big/glacier.png +0 -0
  298. images/pins/big/glasses.png +0 -0
  299. images/pins/big/golfing.png +0 -0
  300. images/pins/big/gondola.png +0 -0
  301. images/pins/big/gourmet_0star.png +0 -0
  302. images/pins/big/grass.png +0 -0
  303. images/pins/big/groceries.png +0 -0
  304. images/pins/big/group.png +0 -0
  305. images/pins/big/gumball_machine.png +0 -0
  306. images/pins/big/hand.png +0 -0
  307. images/pins/big/handbag.png +0 -0
  308. images/pins/big/handball.png +0 -0
  309. images/pins/big/handshake.png +0 -0
  310. images/pins/big/hanggliding.png +0 -0
  311. images/pins/big/harbor.png +0 -0
  312. images/pins/big/hare.png +0 -0
  313. images/pins/big/hat.png +0 -0
  314. images/pins/big/haybale.png +0 -0
  315. images/pins/big/headstone.png +0 -0
  316. images/pins/big/helicopter.png +0 -0
  317. images/pins/big/high_heels.png +0 -0
  318. images/pins/big/highschool.png +0 -0
  319. images/pins/big/highway.png +0 -0
  320. images/pins/big/hiking.png +0 -0
  321. images/pins/big/historical_museum.png +0 -0
  322. images/pins/big/historical_quarter.png +0 -0
  323. images/pins/big/home.png +0 -0
  324. images/pins/big/home_center.png +0 -0
  325. images/pins/big/honeycomb.png +0 -0
  326. images/pins/big/hookah.png +0 -0
  327. images/pins/big/horn.png +0 -0
  328. images/pins/big/horse_riding.png +0 -0
  329. images/pins/big/hospital.png +0 -0
  330. images/pins/big/hostel.png +0 -0
  331. images/pins/big/hot_air_baloon.png +0 -0
  332. images/pins/big/hotel_0star.png +0 -0
  333. images/pins/big/hotel_1star.png +0 -0
  334. images/pins/big/hotel_2star.png +0 -0
  335. images/pins/big/hotel_3star.png +0 -0
  336. images/pins/big/hotel_4star.png +0 -0
  337. images/pins/big/hotel_5star.png +0 -0
  338. images/pins/big/hotspring.png +0 -0
  339. images/pins/big/house.png +0 -0
  340. images/pins/big/hunting.png +0 -0
  341. images/pins/big/hut.png +0 -0
  342. images/pins/big/ice_hockey.png +0 -0
  343. images/pins/big/icecream.png +0 -0
  344. images/pins/big/iceskating.png +0 -0
  345. images/pins/big/icy_road.png +0 -0
  346. images/pins/big/indoor_arena.png +0 -0
  347. images/pins/big/information.png +0 -0
  348. images/pins/big/io_bridge.png +0 -0
  349. images/pins/big/jacuzzi.png +0 -0
  350. images/pins/big/japanese-food.png +0 -0
  351. images/pins/big/japanese-temple.png +0 -0
  352. images/pins/big/japanese_sake.png +0 -0
  353. images/pins/big/japanese_sweet.png +0 -0
  354. images/pins/big/jazz_club.png +0 -0
  355. images/pins/big/jeep.png +0 -0
  356. images/pins/big/jet_fighter.png +0 -0
  357. images/pins/big/jewelry.png +0 -0
  358. images/pins/big/jewish_grave.png +0 -0
  359. images/pins/big/jogging.png +0 -0
  360. images/pins/big/judo.png +0 -0
  361. images/pins/big/junction.png +0 -0
  362. images/pins/big/karate.png +0 -0
  363. images/pins/big/karting.png +0 -0
  364. images/pins/big/kayak.png +0 -0
  365. images/pins/big/kebab.png +0 -0
  366. images/pins/big/key.png +0 -0
  367. images/pins/big/king.png +0 -0
  368. images/pins/big/kiosk.png +0 -0
  369. images/pins/big/kitesurfing.png +0 -0
  370. images/pins/big/laboratory.png +0 -0
  371. images/pins/big/lake.png +0 -0
  372. images/pins/big/landfill.png +0 -0
  373. images/pins/big/landmark.png +0 -0
  374. images/pins/big/latern.png +0 -0
  375. images/pins/big/laundromat.png +0 -0
  376. images/pins/big/level_crossing.png +0 -0
  377. images/pins/big/library.png +0 -0
  378. images/pins/big/lifeguard.png +0 -0
  379. images/pins/big/lighthouse.png +0 -0
  380. images/pins/big/linedown.png +0 -0
  381. images/pins/big/lingerie.png +0 -0
  382. images/pins/big/liquor.png +0 -0
  383. images/pins/big/lobster.png +0 -0
  384. images/pins/big/lock.png +0 -0
  385. images/pins/big/locker_rental.png +0 -0
  386. images/pins/big/lodging.png +0 -0
  387. images/pins/big/love_date.png +0 -0
  388. images/pins/big/love_interest.png +0 -0
  389. images/pins/big/magic_show.png +0 -0
  390. images/pins/big/main_road.png +0 -0
  391. images/pins/big/male.png +0 -0
  392. images/pins/big/mall.png +0 -0
  393. images/pins/big/map.png +0 -0
  394. images/pins/big/map_icon.png +0 -0
  395. images/pins/big/marina.png +0 -0
  396. images/pins/big/massage.png +0 -0
  397. images/pins/big/mast_crane.png +0 -0
  398. images/pins/big/medical_store.png +0 -0
  399. images/pins/big/medicine.png +0 -0
  400. images/pins/big/megalith.png +0 -0
  401. images/pins/big/memorial.png +0 -0
  402. images/pins/big/menorah.png +0 -0
  403. images/pins/big/metropolitan_network.png +0 -0
  404. images/pins/big/military.png +0 -0
  405. images/pins/big/mine.png +0 -0
  406. images/pins/big/missile.png +0 -0
  407. images/pins/big/mobile_phone_tower.png +0 -0
  408. images/pins/big/modern_monument.png +0 -0
  409. images/pins/big/modern_tower.png +0 -0
  410. images/pins/big/monkey.png +0 -0
  411. images/pins/big/monument.png +0 -0
  412. images/pins/big/monument_historique.png +0 -0
  413. images/pins/big/moon_star.png +0 -0
  414. images/pins/big/mosque.png +0 -0
  415. images/pins/big/mosquito.png +0 -0
  416. images/pins/big/motel.png +0 -0
  417. images/pins/big/motorbike.png +0 -0
  418. images/pins/big/motorcycle.png +0 -0
  419. images/pins/big/mountain_biking.png +0 -0
  420. images/pins/big/mountain_pass.png +0 -0
  421. images/pins/big/mountains.png +0 -0
  422. images/pins/big/movie_rental.png +0 -0
  423. images/pins/big/moving_walkway.png +0 -0
  424. images/pins/big/muffin.png +0 -0
  425. images/pins/big/muffin_bagle.png +0 -0
  426. images/pins/big/mural.png +0 -0
  427. images/pins/big/museum_archeological.png +0 -0
  428. images/pins/big/museum_art.png +0 -0
  429. images/pins/big/museum_craft.png +0 -0
  430. images/pins/big/museum_industry.png +0 -0
  431. images/pins/big/museum_naval.png +0 -0
  432. images/pins/big/museum_openair.png +0 -0
  433. images/pins/big/museum_science.png +0 -0
  434. images/pins/big/museum_war.png +0 -0
  435. images/pins/big/mushroom.png +0 -0
  436. images/pins/big/music.png +0 -0
  437. images/pins/big/music_choral.png +0 -0
  438. images/pins/big/music_classical.png +0 -0
  439. images/pins/big/music_hiphop.png +0 -0
  440. images/pins/big/music_live.png +0 -0
  441. images/pins/big/music_rock.png +0 -0
  442. images/pins/big/nanny.png +0 -0
  443. images/pins/big/newspaper.png +0 -0
  444. images/pins/big/no-nuke.png +0 -0
  445. images/pins/big/not_visited.png +0 -0
  446. images/pins/big/nursery.png +0 -0
  447. images/pins/big/nursing_home.png +0 -0
  448. images/pins/big/observatory.png +0 -0
  449. images/pins/big/office_building.png +0 -0
  450. images/pins/big/oil.png +0 -0
  451. images/pins/big/oil_pump_jack.png +0 -0
  452. images/pins/big/oil_rig.png +0 -0
  453. images/pins/big/olympicsite.png +0 -0
  454. images/pins/big/one_way.png +0 -0
  455. images/pins/big/ophthalmologist.png +0 -0
  456. images/pins/big/outlet.png +0 -0
  457. images/pins/big/oyster.png +0 -0
  458. images/pins/big/pagoda.png +0 -0
  459. images/pins/big/paint.png +0 -0
  460. images/pins/big/paintball.png +0 -0
  461. images/pins/big/palace.png +0 -0
  462. images/pins/big/palm_tree.png +0 -0
  463. images/pins/big/panoramic_view.png +0 -0
  464. images/pins/big/paperclip.png +0 -0
  465. images/pins/big/paragliding.png +0 -0
  466. images/pins/big/parasailing.png +0 -0
  467. images/pins/big/park_and_ride.png +0 -0
  468. images/pins/big/parking.png +0 -0
  469. images/pins/big/parking_garage.png +0 -0
  470. images/pins/big/parking_meter.png +0 -0
  471. images/pins/big/party.png +0 -0
  472. images/pins/big/patisserie.png +0 -0
  473. images/pins/big/peace.png +0 -0
  474. images/pins/big/pedestrian_crossing.png +0 -0
  475. images/pins/big/pen.png +0 -0
  476. images/pins/big/pencil_pad.png +0 -0
  477. images/pins/big/penguin.png +0 -0
  478. images/pins/big/perfumery.png +0 -0
  479. images/pins/big/petanque.png +0 -0
  480. images/pins/big/petroglyphs.png +0 -0
  481. images/pins/big/pets.png +0 -0
  482. images/pins/big/phantom.png +0 -0
  483. images/pins/big/phones.png +0 -0
  484. images/pins/big/photo.png +0 -0
  485. images/pins/big/photography.png +0 -0
  486. images/pins/big/picnic.png +0 -0
  487. images/pins/big/pig.png +0 -0
  488. images/pins/big/pin.png +0 -0
  489. images/pins/big/pirates.png +0 -0
  490. images/pins/big/pizzeria.png +0 -0
  491. images/pins/big/plane_crash.png +0 -0
  492. images/pins/big/planetarium.png +0 -0
  493. images/pins/big/playground.png +0 -0
  494. images/pins/big/poker.png +0 -0
  495. images/pins/big/police.png +0 -0
  496. images/pins/big/postal.png +0 -0
  497. images/pins/big/power_line_pole.png +0 -0
  498. images/pins/big/power_outage.png +0 -0
  499. images/pins/big/power_plant.png +0 -0
  500. images/pins/big/prayer.png +0 -0
  501. images/pins/big/presentation.png +0 -0
  502. images/pins/big/price_tag.png +0 -0
  503. images/pins/big/printer.png +0 -0
  504. images/pins/big/prison.png +0 -0
  505. images/pins/big/puzzle.png +0 -0
  506. images/pins/big/pyramid.png +0 -0
  507. images/pins/big/radar.png +0 -0
  508. images/pins/big/radiation.png +0 -0
  509. images/pins/big/radio_control_model_car.png +0 -0
  510. images/pins/big/radio_station.png +0 -0
  511. images/pins/big/railroad.png +0 -0
  512. images/pins/big/rainy.png +0 -0
  513. images/pins/big/rape.png +0 -0
  514. images/pins/big/realtor_logo.png +0 -0
  515. images/pins/big/recycle.png +0 -0
  516. images/pins/big/regroup.png +0 -0
  517. images/pins/big/repair.png +0 -0
  518. images/pins/big/rescue.png +0 -0
  519. images/pins/big/resort.png +0 -0
  520. images/pins/big/restaurant.png +0 -0
  521. images/pins/big/restaurant_african.png +0 -0
  522. images/pins/big/restaurant_breakfast.png +0 -0
  523. images/pins/big/restaurant_buffet.png +0 -0
  524. images/pins/big/restaurant_chinese.png +0 -0
  525. images/pins/big/restaurant_fish.png +0 -0
  526. images/pins/big/restaurant_greek.png +0 -0
  527. images/pins/big/restaurant_indian.png +0 -0
  528. images/pins/big/restaurant_italian.png +0 -0
  529. images/pins/big/restaurant_korean.png +0 -0
  530. images/pins/big/restaurant_mediterranean.png +0 -0
  531. images/pins/big/restaurant_mexican.png +0 -0
  532. images/pins/big/restaurant_romantic.png +0 -0
  533. images/pins/big/restaurant_steakhouse.png +0 -0
  534. images/pins/big/restaurant_tapas.png +0 -0
  535. images/pins/big/restaurant_thai.png +0 -0
  536. images/pins/big/restaurant_turkish.png +0 -0
  537. images/pins/big/restaurant_vegetarian.png +0 -0
  538. images/pins/big/revolt.png +0 -0
  539. images/pins/big/riparian_habitat.png +0 -0
  540. images/pins/big/river.png +0 -0
  541. images/pins/big/road.png +0 -0
  542. images/pins/big/road_gravel.png +0 -0
  543. images/pins/big/rock_house.png +0 -0
  544. images/pins/big/rollerskate.png +0 -0
  545. images/pins/big/ropescourse.png +0 -0
  546. images/pins/big/rowboat.png +0 -0
  547. images/pins/big/rugby_field.png +0 -0
  548. images/pins/big/ruins.png +0 -0
  549. images/pins/big/sailing.png +0 -0
  550. images/pins/big/sandwich.png +0 -0
  551. images/pins/big/sattelite.png +0 -0
  552. images/pins/big/sauna.png +0 -0
  553. images/pins/big/sawmill.png +0 -0
  554. images/pins/big/school.png +0 -0
  555. images/pins/big/scout_group.png +0 -0
  556. images/pins/big/scubadiving.png +0 -0
  557. images/pins/big/seal.png +0 -0
  558. images/pins/big/segway.png +0 -0
  559. images/pins/big/seniorsite.png +0 -0
  560. images/pins/big/septic_tank.png +0 -0
  561. images/pins/big/share.png +0 -0
  562. images/pins/big/shark.png +0 -0
  563. images/pins/big/sheriff.png +0 -0
  564. images/pins/big/shinto_shrine.png +0 -0
  565. images/pins/big/shipwreck.png +0 -0
  566. images/pins/big/shoes.png +0 -0
  567. images/pins/big/shooting.png +0 -0
  568. images/pins/big/shooting_range.png +0 -0
  569. images/pins/big/shore.png +0 -0
  570. images/pins/big/shower.png +0 -0
  571. images/pins/big/sight.png +0 -0
  572. images/pins/big/signpost.png +0 -0
  573. images/pins/big/ski_boot.png +0 -0
  574. images/pins/big/skiing.png +0 -0
  575. images/pins/big/skijump.png +0 -0
  576. images/pins/big/skilifting.png +0 -0
  577. images/pins/big/skis.png +0 -0
  578. images/pins/big/skull.png +0 -0
  579. images/pins/big/sleigh.png +0 -0
  580. images/pins/big/slipway.png +0 -0
  581. images/pins/big/slots.png +0 -0
  582. images/pins/big/small_city.png +0 -0
  583. images/pins/big/smiley_happy.png +0 -0
  584. images/pins/big/smoking.png +0 -0
  585. images/pins/big/snail.png +0 -0
  586. images/pins/big/snake.png +0 -0
  587. images/pins/big/sneakers.png +0 -0
  588. images/pins/big/snorkeling.png +0 -0
  589. images/pins/big/snowboarding.png +0 -0
  590. images/pins/big/snowflake.png +0 -0
  591. images/pins/big/snowmobiling.png +0 -0
  592. images/pins/big/snowpark_arc.png +0 -0
  593. images/pins/big/snowshoeing.png +0 -0
  594. images/pins/big/snowy.png +0 -0
  595. images/pins/big/soccer.png +0 -0
  596. images/pins/big/solar_energy.png +0 -0
  597. images/pins/big/spa.png +0 -0
  598. images/pins/big/spaceport.png +0 -0
  599. images/pins/big/speed_50.png +0 -0
  600. images/pins/big/speedbump.png +0 -0
  601. images/pins/big/spelunking.png +0 -0
  602. images/pins/big/spider.png +0 -0
  603. images/pins/big/splice.png +0 -0
  604. images/pins/big/sport_utility_vehicle.png +0 -0
  605. images/pins/big/sportscar.png +0 -0
  606. images/pins/big/square_compass.png +0 -0
  607. images/pins/big/squash.png +0 -0
  608. images/pins/big/squirrel.png +0 -0
  609. images/pins/big/stadium.png +0 -0
  610. images/pins/big/stairs.png +0 -0
  611. images/pins/big/star.png +0 -0
  612. images/pins/big/start_race.png +0 -0
  613. images/pins/big/statue.png +0 -0
  614. images/pins/big/steam_train.png +0 -0
  615. images/pins/big/stop.png +0 -0
  616. images/pins/big/strike.png +0 -0
  617. images/pins/big/strip_club.png +0 -0
  618. images/pins/big/submarine.png +0 -0
  619. images/pins/big/subway.png +0 -0
  620. images/pins/big/summercamp.png +0 -0
  621. images/pins/big/sumo.png +0 -0
  622. images/pins/big/sunny.png +0 -0
  623. images/pins/big/sunset_land.png +0 -0
  624. images/pins/big/sunset_water.png +0 -0
  625. images/pins/big/supermarket.png +0 -0
  626. images/pins/big/surfacelift.png +0 -0
  627. images/pins/big/surfing.png +0 -0
  628. images/pins/big/surveying.png +0 -0
  629. images/pins/big/swimming.png +0 -0
  630. images/pins/big/synagogue.png +0 -0
  631. images/pins/big/tailor.png +0 -0
  632. images/pins/big/takeaway.png +0 -0
  633. images/pins/big/targ.png +0 -0
  634. images/pins/big/taxi.png +0 -0
  635. images/pins/big/taxi_boat.png +0 -0
  636. images/pins/big/taxi_car.png +0 -0
  637. images/pins/big/tea.png +0 -0
  638. images/pins/big/teble_tennis.png +0 -0
  639. images/pins/big/telephone.png +0 -0
  640. images/pins/big/television.png +0 -0
  641. images/pins/big/temple.png +0 -0
  642. images/pins/big/temple_hindu.png +0 -0
  643. images/pins/big/tennis.png +0 -0
  644. images/pins/big/terrace.png +0 -0
  645. images/pins/big/text.png +0 -0
  646. images/pins/big/textiles.png +0 -0
  647. images/pins/big/the_ravada_pagoda.png +0 -0
  648. images/pins/big/theater.png +0 -0
  649. images/pins/big/theft.png +0 -0
  650. images/pins/big/themepark.png +0 -0
  651. images/pins/big/therapy.png +0 -0
  652. images/pins/big/thermometer.png +0 -0
  653. images/pins/big/thunderstorm.png +0 -0
  654. images/pins/big/ticket.png +0 -0
  655. images/pins/big/tidal_diamond.png +0 -0
  656. images/pins/big/tiger.png +0 -0
  657. images/pins/big/tires.png +0 -0
  658. images/pins/big/toilets.png +0 -0
  659. images/pins/big/toll_station.png +0 -0
  660. images/pins/big/tools.png +0 -0
  661. images/pins/big/tornado.png +0 -0
  662. images/pins/big/tower.png +0 -0
  663. images/pins/big/townhouse.png +0 -0
  664. images/pins/big/toys.png +0 -0
  665. images/pins/big/traffic_camera.png +0 -0
  666. images/pins/big/traffic_light.png +0 -0
  667. images/pins/big/train.png +0 -0
  668. images/pins/big/tramway.png +0 -0
  669. images/pins/big/trash.png +0 -0
  670. images/pins/big/travel_agency.png +0 -0
  671. images/pins/big/treasure-mark.png +0 -0
  672. images/pins/big/tree_down.png +0 -0
  673. images/pins/big/trolley.png +0 -0
  674. images/pins/big/truck.png +0 -0
  675. images/pins/big/tsunami.png +0 -0
  676. images/pins/big/tunnel.png +0 -0
  677. images/pins/big/turtle.png +0 -0
  678. images/pins/big/tweet.png +0 -0
  679. images/pins/big/ufo.png +0 -0
  680. images/pins/big/umbrella.png +0 -0
  681. images/pins/big/university.png +0 -0
  682. images/pins/big/us_football.png +0 -0
  683. images/pins/big/van.png +0 -0
  684. images/pins/big/vespa.png +0 -0
  685. images/pins/big/veterinary.png +0 -0
  686. images/pins/big/video.png +0 -0
  687. images/pins/big/video_games.png +0 -0
  688. images/pins/big/villa.png +0 -0
  689. images/pins/big/vineyard.png +0 -0
  690. images/pins/big/volcano.png +0 -0
  691. images/pins/big/volleyball.png +0 -0
  692. images/pins/big/waiting.png +0 -0
  693. images/pins/big/walkingtour.png +0 -0
  694. images/pins/big/war.png +0 -0
  695. images/pins/big/warehouse.png +0 -0
  696. images/pins/big/water_pump.png +0 -0
  697. images/pins/big/water_temperature.png +0 -0
  698. images/pins/big/water_tower.png +0 -0
  699. images/pins/big/water_well.png +0 -0
  700. images/pins/big/watercraft.png +0 -0
  701. images/pins/big/waterfall.png +0 -0
  702. images/pins/big/watermill.png +0 -0
  703. images/pins/big/waterpark.png +0 -0
  704. images/pins/big/waterskiing.png +0 -0
  705. images/pins/big/webcam.png +0 -0
  706. images/pins/big/wedding.png +0 -0
  707. images/pins/big/weights.png +0 -0
  708. images/pins/big/wetlands.png +0 -0
  709. images/pins/big/whale.png +0 -0
  710. images/pins/big/wifi.png +0 -0
  711. images/pins/big/wiki.png +0 -0
  712. images/pins/big/wind.png +0 -0
  713. images/pins/big/wind_turbine.png +0 -0
  714. images/pins/big/windmill.png +0 -0
  715. images/pins/big/windsurfing.png +0 -0
  716. images/pins/big/wine_tasting.png +0 -0
  717. images/pins/big/winebar.png +0 -0
  718. images/pins/big/woodshed.png +0 -0
  719. images/pins/big/work_office.png +0 -0
  720. images/pins/big/workshop.png +0 -0
  721. images/pins/big/world.png +0 -0
  722. images/pins/big/world_heritage_site.png +0 -0
  723. images/pins/big/worldwideweb.png +0 -0
  724. images/pins/big/wrestling.png +0 -0
  725. images/pins/big/yin_yang.png +0 -0
  726. images/pins/big/yoga.png +0 -0
  727. images/pins/big/yooner.png +0 -0
  728. images/pins/big/you-are-here.png +0 -0
  729. images/pins/big/youth_hostel.png +0 -0
  730. images/pins/big/zombie.png +0 -0
  731. images/pins/big/zoo.png +0 -0
  732. images/pins/big/zoom.png +0 -0
  733. images/pins/default/2hand.png +0 -0
  734. images/pins/default/360degrees.png +0 -0
  735. images/pins/default/abduction.png +0 -0
  736. images/pins/default/aboriginal.png +0 -0
  737. images/pins/default/accesdenied.png +0 -0
  738. images/pins/default/acupuncture.png +0 -0
  739. images/pins/default/administration.png +0 -0
  740. images/pins/default/administrativeboundary.png +0 -0
  741. images/pins/default/aed-2.png +0 -0
  742. images/pins/default/agritourism.png +0 -0
  743. images/pins/default/air_fixwing.png +0 -0
  744. images/pins/default/aircraftcarrier.png +0 -0
  745. images/pins/default/aircraftsmall.png +0 -0
  746. images/pins/default/airport.png +0 -0
  747. images/pins/default/airport_apron.png +0 -0
  748. images/pins/default/airport_runway.png +0 -0
  749. images/pins/default/airport_terminal.png +0 -0
  750. images/pins/default/airshow-2.png +0 -0
  751. images/pins/default/algae.png +0 -0
  752. images/pins/default/alien.png +0 -0
  753. images/pins/default/alligator.png +0 -0
  754. images/pins/default/amphitheater-2.png +0 -0
  755. images/pins/default/amphitheater.png +0 -0
  756. images/pins/default/anchorpier.png +0 -0
  757. images/pins/default/anemometer_mono.png +0 -0
  758. images/pins/default/animal-shelter-export.png +0 -0
  759. images/pins/default/anniversary.png +0 -0
  760. images/pins/default/ant-export.png +0 -0
  761. images/pins/default/anthropo.png +0 -0
  762. images/pins/default/apartment-3.png +0 -0
  763. images/pins/default/apple.png +0 -0
  764. images/pins/default/aquarium.png +0 -0
  765. images/pins/default/arch.png +0 -0
  766. images/pins/default/archery.png +0 -0
  767. images/pins/default/army.png +0 -0
  768. images/pins/default/art-museum-2.png +0 -0
  769. images/pins/default/artgallery.png +0 -0
  770. images/pins/default/atm-2.png +0 -0
  771. images/pins/default/atv.png +0 -0
  772. images/pins/default/audio.png +0 -0
  773. images/pins/default/australian-football.png +0 -0
  774. images/pins/default/avalanche1.png +0 -0
  775. images/pins/default/award.png +0 -0
  776. images/pins/default/badminton-2.png +0 -0
  777. images/pins/default/bags.png +0 -0
  778. images/pins/default/bank.png +0 -0
  779. images/pins/default/bar.png +0 -0
  780. images/pins/default/bar_coktail.png +0 -0
  781. images/pins/default/bar_juice.png +0 -0
  782. images/pins/default/barbecue.png +0 -0
  783. images/pins/default/barber.png +0 -0
  784. images/pins/default/barrier.png +0 -0
  785. images/pins/default/baseball.png +0 -0
  786. images/pins/default/basketball.png +0 -0
  787. images/pins/default/bats.png +0 -0
  788. images/pins/default/battlefield.png +0 -0
  789. images/pins/default/battleship-3.png +0 -0
  790. images/pins/default/beach.png +0 -0
  791. images/pins/default/beachvolleyball.png +0 -0
  792. images/pins/default/beautifulview.png +0 -0
  793. images/pins/default/beautysalon.png +0 -0
  794. images/pins/default/bed_breakfast1-2.png +0 -0
  795. images/pins/default/beergarden.png +0 -0
  796. images/pins/default/bicycle_shop.png +0 -0
  797. images/pins/default/bigcity.png +0 -0
  798. images/pins/default/bike_downhill.png +0 -0
  799. images/pins/default/bike_rising.png +0 -0
  800. images/pins/default/billiard-2.png +0 -0
  801. images/pins/default/binoculars.png +0 -0
  802. images/pins/default/birds-2.png +0 -0
  803. images/pins/default/blast.png +0 -0
  804. images/pins/default/boardercross.png +0 -0
  805. images/pins/default/boat.png +0 -0
  806. images/pins/default/boatcrane.png +0 -0
  807. images/pins/default/bobsleigh.png +0 -0
  808. images/pins/default/bollie.png +0 -0
  809. images/pins/default/bomb.png +0 -0
  810. images/pins/default/bomber-2.png +0 -0
  811. images/pins/default/bouddha.png +0 -0
  812. images/pins/default/bowling.png +0 -0
  813. images/pins/default/boxing.png +0 -0
  814. images/pins/default/bread.png +0 -0
  815. images/pins/default/brewery1.png +0 -0
  816. images/pins/default/bridge_modern.png +0 -0
  817. images/pins/default/bridge_old.png +0 -0
  818. images/pins/default/bulldozer.png +0 -0
  819. images/pins/default/bullfight.png +0 -0
  820. images/pins/default/bunker-2-2.png +0 -0
  821. images/pins/default/bus.png +0 -0
  822. images/pins/default/busstop.png +0 -0
  823. images/pins/default/bustour.png +0 -0
  824. images/pins/default/butcher-2.png +0 -0
  825. images/pins/default/butterfly-2.png +0 -0
  826. images/pins/default/cabin-2.png +0 -0
  827. images/pins/default/cablecar.png +0 -0
  828. images/pins/default/cafetaria.png +0 -0
  829. images/pins/default/calendar-3.png +0 -0
  830. images/pins/default/campfire-2.png +0 -0
  831. images/pins/default/camping-2.png +0 -0
  832. images/pins/default/candy.png +0 -0
  833. images/pins/default/canyon-2.png +0 -0
  834. images/pins/default/car.png +0 -0
  835. images/pins/default/caraccident.png +0 -0
  836. images/pins/default/carrental.png +0 -0
  837. images/pins/default/carwash.png +0 -0
  838. images/pins/default/casino-2.png +0 -0
  839. images/pins/default/castle-2.png +0 -0
  840. images/pins/default/cathedral.png +0 -0
  841. images/pins/default/catholicgrave.png +0 -0
  842. images/pins/default/caution.png +0 -0
  843. images/pins/default/cave-2.png +0 -0
  844. images/pins/default/cctv.png +0 -0
  845. images/pins/default/cemetary.png +0 -0
  846. images/pins/default/channelchange.png +0 -0
  847. images/pins/default/chapel-2.png +0 -0
  848. images/pins/default/chart-2.png +0 -0
  849. images/pins/default/cheese.png +0 -0
  850. images/pins/default/chemistry-2.png +0 -0
  851. images/pins/default/chicken-2.png +0 -0
  852. images/pins/default/childmuseum01.png +0 -0
  853. images/pins/default/chiropractor.png +0 -0
  854. images/pins/default/christmasmarket.png +0 -0
  855. images/pins/default/church-2.png +0 -0
  856. images/pins/default/cinema.png +0 -0
  857. images/pins/default/circus.png +0 -0
  858. images/pins/default/citysquare.png +0 -0
  859. images/pins/default/citywalls.png +0 -0
  860. images/pins/default/climbing.png +0 -0
  861. images/pins/default/clock.png +0 -0
  862. images/pins/default/closedroad.png +0 -0
  863. images/pins/default/clothers_female.png +0 -0
  864. images/pins/default/clothers_male.png +0 -0
  865. images/pins/default/cloudy.png +0 -0
  866. images/pins/default/cloudysunny.png +0 -0
  867. images/pins/default/coffee.png +0 -0
  868. images/pins/default/coins.png +0 -0
  869. images/pins/default/comedyclub.png +0 -0
  870. images/pins/default/comics.png +0 -0
  871. images/pins/default/comment-map-icon.png +0 -0
  872. images/pins/default/communitycentre.png +0 -0
  873. images/pins/default/company.png +0 -0
  874. images/pins/default/compost.png +0 -0
  875. images/pins/default/computers.png +0 -0
  876. images/pins/default/condominium.png +0 -0
  877. images/pins/default/conference.png +0 -0
  878. images/pins/default/congress.png +0 -0
  879. images/pins/default/construction.png +0 -0
  880. images/pins/default/constructioncrane.png +0 -0
  881. images/pins/default/contract.png +0 -0
  882. images/pins/default/conveniencestore.png +0 -0
  883. images/pins/default/convent-2.png +0 -0
  884. images/pins/default/conversation-map-icon.png +0 -0
  885. images/pins/default/convertible.png +0 -0
  886. images/pins/default/corral.png +0 -0
  887. images/pins/default/country.png +0 -0
  888. images/pins/default/court.png +0 -0
  889. images/pins/default/cow-export.png +0 -0
  890. images/pins/default/cowabduction.png +0 -0
  891. images/pins/default/craftstore.png +0 -0
  892. images/pins/default/cramschool.png +0 -0
  893. images/pins/default/cricket.png +0 -0
  894. images/pins/default/crimescene.png +0 -0
  895. images/pins/default/cromlech.png +0 -0
  896. images/pins/default/cropcircles.png +0 -0
  897. images/pins/default/cross-2.png +0 -0
  898. images/pins/default/crossingguard.png +0 -0
  899. images/pins/default/cruiseship.png +0 -0
  900. images/pins/default/cup.png +0 -0
  901. images/pins/default/curling-2.png +0 -0
  902. images/pins/default/currencyexchange.png +0 -0
  903. images/pins/default/customs.png +0 -0
  904. images/pins/default/cycling.png +0 -0
  905. images/pins/default/cycling_feed.png +0 -0
  906. images/pins/default/cycling_sprint.png +0 -0
  907. images/pins/default/dam.png +0 -0
  908. images/pins/default/dance_class.png +0 -0
  909. images/pins/default/dancinghall.png +0 -0
  910. images/pins/default/database.png +0 -0
  911. images/pins/default/daycare.png +0 -0
  912. images/pins/default/deepseafishing.png +0 -0
  913. images/pins/default/deer.png +0 -0
  914. images/pins/default/dentist.png +0 -0
  915. images/pins/default/departmentstore.png +0 -0
  916. images/pins/default/desert-2.png +0 -0
  917. images/pins/default/dinopark.png +0 -0
  918. images/pins/default/direction_down.png +0 -0
  919. images/pins/default/disability.png +0 -0
  920. images/pins/default/diving.png +0 -0
  921. images/pins/default/dogs_leash.png +0 -0
  922. images/pins/default/dolphins.png +0 -0
  923. images/pins/default/doublebendright.png +0 -0
  924. images/pins/default/downloadicon.png +0 -0
  925. images/pins/default/drinkingfountain.png +0 -0
  926. images/pins/default/drinkingwater.png +0 -0
  927. images/pins/default/drugstore.png +0 -0
  928. images/pins/default/duck-export.png +0 -0
  929. images/pins/default/earthquake-3.png +0 -0
  930. images/pins/default/eggs.png +0 -0
  931. images/pins/default/elephants.png +0 -0
  932. images/pins/default/elevator.png +0 -0
  933. images/pins/default/elevator_down.png +0 -0
  934. images/pins/default/elevator_up.png +0 -0
  935. images/pins/default/embassy.png +0 -0
  936. images/pins/default/entrance.png +0 -0
  937. images/pins/default/exchequer.png +0 -0
  938. images/pins/default/exit.png +0 -0
  939. images/pins/default/expert.png +0 -0
  940. images/pins/default/factory.png +0 -0
  941. images/pins/default/fallingrocks.png +0 -0
  942. images/pins/default/family.png +0 -0
  943. images/pins/default/farm-2.png +0 -0
  944. images/pins/default/farmstand.png +0 -0
  945. images/pins/default/fastfood.png +0 -0
  946. images/pins/default/female-2.png +0 -0
  947. images/pins/default/ferriswheel.png +0 -0
  948. images/pins/default/ferry.png +0 -0
  949. images/pins/default/festival.png +0 -0
  950. images/pins/default/fetalalcoholsyndrom.png +0 -0
  951. images/pins/default/field.png +0 -0
  952. images/pins/default/fillingstation.png +0 -0
  953. images/pins/default/findajob.png +0 -0
  954. images/pins/default/finish.png +0 -0
  955. images/pins/default/fire-hydrant-2.png +0 -0
  956. images/pins/default/fire.png +0 -0
  957. images/pins/default/fireexstinguisher.png +0 -0
  958. images/pins/default/firemen.png +0 -0
  959. images/pins/default/fireworks.png +0 -0
  960. images/pins/default/firstaid.png +0 -0
  961. images/pins/default/fishchips.png +0 -0
  962. images/pins/default/fishing.png +0 -0
  963. images/pins/default/fishingboat.png +0 -0
  964. images/pins/default/fishingstore.png +0 -0
  965. images/pins/default/fitness.png +0 -0
  966. images/pins/default/fjord-2.png +0 -0
  967. images/pins/default/flag-export.png +0 -0
  968. images/pins/default/flood.png +0 -0
  969. images/pins/default/flowers.png +0 -0
  970. images/pins/default/folder-2.png +0 -0
  971. images/pins/default/fooddeliveryservice.png +0 -0
  972. images/pins/default/foodtruck.png +0 -0
  973. images/pins/default/footprint.png +0 -0
  974. images/pins/default/ford-2.png +0 -0
  975. images/pins/default/forest.png +0 -0
  976. images/pins/default/forest2.png +0 -0
  977. images/pins/default/fossils.png +0 -0
  978. images/pins/default/foundry-2.png +0 -0
  979. images/pins/default/fountain-2.png +0 -0
  980. images/pins/default/fourbyfour.png +0 -0
  981. images/pins/default/freqchg.png +0 -0
  982. images/pins/default/frog-2.png +0 -0
  983. images/pins/default/fruits.png +0 -0
  984. images/pins/default/ft.png +0 -0
  985. images/pins/default/funicolar-22x22.png +0 -0
  986. images/pins/default/gas_cylinder1.png +0 -0
  987. images/pins/default/gay-female.png +0 -0
  988. images/pins/default/gay-male.png +0 -0
  989. images/pins/default/geocaching-3.png +0 -0
  990. images/pins/default/geothermal-site.png +0 -0
  991. images/pins/default/geyser-2.png +0 -0
  992. images/pins/default/ghosttown.png +0 -0
  993. images/pins/default/gifts.png +0 -0
  994. images/pins/default/glacier-2.png +0 -0
  995. images/pins/default/glasses.png +0 -0
  996. images/pins/default/golfing.png +0 -0
  997. images/pins/default/gondola-2.png +0 -0
  998. images/pins/default/gourmet_0star.png +0 -0
  999. images/pins/default/grass.png +0 -0
  1000. images/pins/default/grocery.png +0 -0
  1001. images/pins/default/group-2.png +0 -0
  1002. images/pins/default/gumball_machine.png +0 -0
  1003. images/pins/default/handball.png +0 -0
  1004. images/pins/default/hanggliding.png +0 -0
  1005. images/pins/default/harbor.png +0 -0
  1006. images/pins/default/hare1.png +0 -0
  1007. images/pins/default/hats.png +0 -0
  1008. images/pins/default/haybale.png +0 -0
  1009. images/pins/default/headstone-2.png +0 -0
  1010. images/pins/default/helicopter.png +0 -0
  1011. images/pins/default/highhills.png +0 -0
  1012. images/pins/default/highschool.png +0 -0
  1013. images/pins/default/highway.png +0 -0
  1014. images/pins/default/hiking.png +0 -0
  1015. images/pins/default/historical_museum.png +0 -0
  1016. images/pins/default/historicalquarter.png +0 -0
  1017. images/pins/default/hoergeraeteakustiker_22px.png +0 -0
  1018. images/pins/default/home-2.png +0 -0
  1019. images/pins/default/homecenter.png +0 -0
  1020. images/pins/default/honeycomb.png +0 -0
  1021. images/pins/default/hookah_final.png +0 -0
  1022. images/pins/default/horseriding.png +0 -0
  1023. images/pins/default/hospital-building.png +0 -0
  1024. images/pins/default/hostel_0star.png +0 -0
  1025. images/pins/default/hotairbaloon.png +0 -0
  1026. images/pins/default/hotel_0star.png +0 -0
  1027. images/pins/default/hotspring.png +0 -0
  1028. images/pins/default/house.png +0 -0
  1029. images/pins/default/hunting.png +0 -0
  1030. images/pins/default/hut.png +0 -0
  1031. images/pins/default/icecream.png +0 -0
  1032. images/pins/default/icehockey.png +0 -0
  1033. images/pins/default/iceskating.png +0 -0
  1034. images/pins/default/icy_road.png +0 -0
  1035. images/pins/default/indoor-arena.png +0 -0
  1036. images/pins/default/information.png +0 -0
  1037. images/pins/default/iobridge.png +0 -0
  1038. images/pins/default/jacuzzi.png +0 -0
  1039. images/pins/default/japanese-food.png +0 -0
  1040. images/pins/default/japanese-lantern.png +0 -0
  1041. images/pins/default/japanese-sake.png +0 -0
  1042. images/pins/default/japanese-sweet-2.png +0 -0
  1043. images/pins/default/japanese-temple.png +0 -0
  1044. images/pins/default/jazzclub.png +0 -0
  1045. images/pins/default/jeep.png +0 -0
  1046. images/pins/default/jetfighter.png +0 -0
  1047. images/pins/default/jewelry.png +0 -0
  1048. images/pins/default/jewishgrave.png +0 -0
  1049. images/pins/default/jewishquarter.png +0 -0
  1050. images/pins/default/jogging.png +0 -0
  1051. images/pins/default/judo.png +0 -0
  1052. images/pins/default/junction.png +0 -0
  1053. images/pins/default/karate.png +0 -0
  1054. images/pins/default/karting.png +0 -0
  1055. images/pins/default/kayak1.png +0 -0
  1056. images/pins/default/kayaking.png +0 -0
  1057. images/pins/default/kebab.png +0 -0
  1058. images/pins/default/kingair.png +0 -0
  1059. images/pins/default/kiosk.png +0 -0
  1060. images/pins/default/kitesurfing.png +0 -0
  1061. images/pins/default/laboratory.png +0 -0
  1062. images/pins/default/lake.png +0 -0
  1063. images/pins/default/landfill.png +0 -0
  1064. images/pins/default/landmark.png +0 -0
  1065. images/pins/default/laterne.png +0 -0
  1066. images/pins/default/laundromat.png +0 -0
  1067. images/pins/default/levelcrossing.png +0 -0
  1068. images/pins/default/library.png +0 -0
  1069. images/pins/default/lifeguard-2.png +0 -0
  1070. images/pins/default/lighthouse-2.png +0 -0
  1071. images/pins/default/linedown.png +0 -0
  1072. images/pins/default/lingerie.png +0 -0
  1073. images/pins/default/liquor.png +0 -0
  1074. images/pins/default/lobster-export.png +0 -0
  1075. images/pins/default/lock.png +0 -0
  1076. images/pins/default/lockerrental.png +0 -0
  1077. images/pins/default/lodging_0star.png +0 -0
  1078. images/pins/default/love_date.png +0 -0
  1079. images/pins/default/loveinterest.png +0 -0
  1080. images/pins/default/magicshow.png +0 -0
  1081. images/pins/default/mainroad.png +0 -0
  1082. images/pins/default/male-2.png +0 -0
  1083. images/pins/default/mall.png +0 -0
  1084. images/pins/default/map.png +0 -0
  1085. images/pins/default/mapicon.png +0 -0
  1086. images/pins/default/marina-2.png +0 -0
  1087. images/pins/default/market.png +0 -0
  1088. images/pins/default/massage.png +0 -0
  1089. images/pins/default/mastcrane1.png +0 -0
  1090. images/pins/default/medicalstore.png +0 -0
  1091. images/pins/default/medicine.png +0 -0
  1092. images/pins/default/megalith.png +0 -0
  1093. images/pins/default/memorial.png +0 -0
  1094. images/pins/default/metronetwork.png +0 -0
  1095. images/pins/default/military.png +0 -0
  1096. images/pins/default/mine.png +0 -0
  1097. images/pins/default/missile-2.png +0 -0
  1098. images/pins/default/mobilephonetower.png +0 -0
  1099. images/pins/default/modernmonument.png +0 -0
  1100. images/pins/default/moderntower.png +0 -0
  1101. images/pins/default/monkey-export.png +0 -0
  1102. images/pins/default/monument-historique-icon-white-22x22.png +0 -0
  1103. images/pins/default/monument.png +0 -0
  1104. images/pins/default/moonstar.png +0 -0
  1105. images/pins/default/mosquee.png +0 -0
  1106. images/pins/default/mosquito-2.png +0 -0
  1107. images/pins/default/motel-2.png +0 -0
  1108. images/pins/default/motorbike.png +0 -0
  1109. images/pins/default/motorcycle.png +0 -0
  1110. images/pins/default/mountain-pass-locator-diagonal-reverse-export.png +0 -0
  1111. images/pins/default/mountainbiking-3.png +0 -0
  1112. images/pins/default/mountains.png +0 -0
  1113. images/pins/default/movierental.png +0 -0
  1114. images/pins/default/moving-walkway-enter-export.png +0 -0
  1115. images/pins/default/muffin_bagle.png +0 -0
  1116. images/pins/default/mural.png +0 -0
  1117. images/pins/default/museum_archeological.png +0 -0
  1118. images/pins/default/museum_art.png +0 -0
  1119. images/pins/default/museum_crafts.png +0 -0
  1120. images/pins/default/museum_industry.png +0 -0
  1121. images/pins/default/museum_naval.png +0 -0
  1122. images/pins/default/museum_openair.png +0 -0
  1123. images/pins/default/museum_science.png +0 -0
  1124. images/pins/default/museum_war.png +0 -0
  1125. images/pins/default/mushroom.png +0 -0
  1126. images/pins/default/music.png +0 -0
  1127. images/pins/default/music_choral.png +0 -0
  1128. images/pins/default/music_classical.png +0 -0
  1129. images/pins/default/music_hiphop.png +0 -0
  1130. images/pins/default/music_live.png +0 -0
  1131. images/pins/default/music_rock.png +0 -0
  1132. images/pins/default/nanny.png +0 -0
  1133. images/pins/default/ne_barn-2.png +0 -0
  1134. images/pins/default/newsagent.png +0 -0
  1135. images/pins/default/no-nuke-export.png +0 -0
  1136. images/pins/default/nordicski.png +0 -0
  1137. images/pins/default/notvisited.png +0 -0
  1138. images/pins/default/nursery.png +0 -0
  1139. images/pins/default/nursing_home_icon.png +0 -0
  1140. images/pins/default/observatory.png +0 -0
  1141. images/pins/default/office-building.png +0 -0
  1142. images/pins/default/oil-2.png +0 -0
  1143. images/pins/default/oilpumpjack.png +0 -0
  1144. images/pins/default/oilrig2.png +0 -0
  1145. images/pins/default/olympicsite.png +0 -0
  1146. images/pins/default/ophthalmologist.png +0 -0
  1147. images/pins/default/outlet2.png +0 -0
  1148. images/pins/default/oyster-3.png +0 -0
  1149. images/pins/default/pagoda-2.png +0 -0
  1150. images/pins/default/paint.png +0 -0
  1151. images/pins/default/paintball.png +0 -0
  1152. images/pins/default/palace-2.png +0 -0
  1153. images/pins/default/palm-tree-export.png +0 -0
  1154. images/pins/default/panoramicview.png +0 -0
  1155. images/pins/default/paragliding.png +0 -0
  1156. images/pins/default/parasailing.png +0 -0
  1157. images/pins/default/parkandride.png +0 -0
  1158. images/pins/default/parking-meter-export.png +0 -0
  1159. images/pins/default/parkinggarage.png +0 -0
  1160. images/pins/default/party-2.png +0 -0
  1161. images/pins/default/patisserie.png +0 -0
  1162. images/pins/default/peace.png +0 -0
  1163. images/pins/default/pedestriancrossing.png +0 -0
  1164. images/pins/default/penguin-2.png +0 -0
  1165. images/pins/default/pens.png +0 -0
  1166. images/pins/default/perfumery.png +0 -0
  1167. images/pins/default/petanque.png +0 -0
  1168. images/pins/default/petroglyphs-2.png +0 -0
  1169. images/pins/default/pets.png +0 -0
  1170. images/pins/default/phantom.png +0 -0
  1171. images/pins/default/phones.png +0 -0
  1172. images/pins/default/photo.png +0 -0
  1173. images/pins/default/photography.png +0 -0
  1174. images/pins/default/picnic-2.png +0 -0
  1175. images/pins/default/pig.png +0 -0
  1176. images/pins/default/pin-export.png +0 -0
  1177. images/pins/default/pirates.png +0 -0
  1178. images/pins/default/pizzaria.png +0 -0
  1179. images/pins/default/planecrash.png +0 -0
  1180. images/pins/default/planetarium-2.png +0 -0
  1181. images/pins/default/playground.png +0 -0
  1182. images/pins/default/pleasurepier.png +0 -0
  1183. images/pins/default/poker.png +0 -0
  1184. images/pins/default/police.png +0 -0
  1185. images/pins/default/postal.png +0 -0
  1186. images/pins/default/powerlinepole.png +0 -0
  1187. images/pins/default/poweroutage.png +0 -0
  1188. images/pins/default/powerplant.png +0 -0
  1189. images/pins/default/powersubstation.png +0 -0
  1190. images/pins/default/prayer.png +0 -0
  1191. images/pins/default/presentation.png +0 -0
  1192. images/pins/default/price-tag-export.png +0 -0
  1193. images/pins/default/printer-2.png +0 -0
  1194. images/pins/default/prison.png +0 -0
  1195. images/pins/default/publicart.png +0 -0
  1196. images/pins/default/pyramid.png +0 -0
  1197. images/pins/default/quadrifoglio.png +0 -0
  1198. images/pins/default/radar.png +0 -0
  1199. images/pins/default/radiation.png +0 -0
  1200. images/pins/default/radio-control-model-car.png +0 -0
  1201. images/pins/default/radio-station-2.png +0 -0
  1202. images/pins/default/rainy.png +0 -0
  1203. images/pins/default/rape.png +0 -0
  1204. images/pins/default/reatorlogowhite-22x22.png +0 -0
  1205. images/pins/default/recycle.png +0 -0
  1206. images/pins/default/regroup.png +0 -0
  1207. images/pins/default/repair.png +0 -0
  1208. images/pins/default/rescue-2.png +0 -0
  1209. images/pins/default/resort.png +0 -0
  1210. images/pins/default/restaurant.png +0 -0
  1211. images/pins/default/restaurant_african.png +0 -0
  1212. images/pins/default/restaurant_breakfast.png +0 -0
  1213. images/pins/default/restaurant_buffet.png +0 -0
  1214. images/pins/default/restaurant_chinese.png +0 -0
  1215. images/pins/default/restaurant_fish.png +0 -0
  1216. images/pins/default/restaurant_greek.png +0 -0
  1217. images/pins/default/restaurant_indian.png +0 -0
  1218. images/pins/default/restaurant_italian.png +0 -0
  1219. images/pins/default/restaurant_korean.png +0 -0
  1220. images/pins/default/restaurant_mediterranean.png +0 -0
  1221. images/pins/default/restaurant_mexican.png +0 -0
  1222. images/pins/default/restaurant_romantic.png +0 -0
  1223. images/pins/default/restaurant_steakhouse.png +0 -0
  1224. images/pins/default/restaurant_tapas.png +0 -0
  1225. images/pins/default/restaurant_thai.png +0 -0
  1226. images/pins/default/restaurant_turkish.png +0 -0
  1227. images/pins/default/restaurant_vegetarian.png +0 -0
  1228. images/pins/default/revolt.png +0 -0
  1229. images/pins/default/riparianhabitat.png +0 -0
  1230. images/pins/default/river-2.png +0 -0
  1231. images/pins/default/road.png +0 -0
  1232. images/pins/default/roadtype_gravel.png +0 -0
  1233. images/pins/default/rockhouse.png +0 -0
  1234. images/pins/default/rodent.png +0 -0
  1235. images/pins/default/rollerskate.png +0 -0
  1236. images/pins/default/ropescourse.png +0 -0
  1237. images/pins/default/rowboat.png +0 -0
  1238. images/pins/default/rugbyfield.png +0 -0
  1239. images/pins/default/ruins-2.png +0 -0
  1240. images/pins/default/sailing.png +0 -0
  1241. images/pins/default/sandwich-2.png +0 -0
  1242. images/pins/default/sauna.png +0 -0
  1243. images/pins/default/sawmill-2.png +0 -0
  1244. images/pins/default/school.png +0 -0
  1245. images/pins/default/schreibwaren_web.png +0 -0
  1246. images/pins/default/scoutgroup.png +0 -0
  1247. images/pins/default/scubadiving.png +0 -0
  1248. images/pins/default/seals.png +0 -0
  1249. images/pins/default/segway.png +0 -0
  1250. images/pins/default/seniorsite.png +0 -0
  1251. images/pins/default/septic_tank.png +0 -0
  1252. images/pins/default/share.png +0 -0
  1253. images/pins/default/shark-export.png +0 -0
  1254. images/pins/default/shintoshrine.png +0 -0
  1255. images/pins/default/shipwreck.png +0 -0
  1256. images/pins/default/shoes.png +0 -0
  1257. images/pins/default/shooting.png +0 -0
  1258. images/pins/default/shootingrange.png +0 -0
  1259. images/pins/default/shore-2.png +0 -0
  1260. images/pins/default/shower.png +0 -0
  1261. images/pins/default/sight-2.png +0 -0
  1262. images/pins/default/signpost-2.png +0 -0
  1263. images/pins/default/sikh.png +0 -0
  1264. images/pins/default/ski_shoe1.png +0 -0
  1265. images/pins/default/skiing.png +0 -0
  1266. images/pins/default/skijump.png +0 -0
  1267. images/pins/default/skilifting.png +0 -0
  1268. images/pins/default/skis.png +0 -0
  1269. images/pins/default/skull.png +0 -0
  1270. images/pins/default/sledge.png +0 -0
  1271. images/pins/default/sledge_summer.png +0 -0
  1272. images/pins/default/sledgerental.png +0 -0
  1273. images/pins/default/slipway.png +0 -0
  1274. images/pins/default/smallcity.png +0 -0
  1275. images/pins/default/smiley_happy.png +0 -0
  1276. images/pins/default/smoking.png +0 -0
  1277. images/pins/default/snail.png +0 -0
  1278. images/pins/default/snakes.png +0 -0
  1279. images/pins/default/sneakers.png +0 -0
  1280. images/pins/default/snorkeling.png +0 -0
  1281. images/pins/default/snowboarding.png +0 -0
  1282. images/pins/default/snowmobiling.png +0 -0
  1283. images/pins/default/snowpark_arc.png +0 -0
  1284. images/pins/default/snowshoeing.png +0 -0
  1285. images/pins/default/snowy-2.png +0 -0
  1286. images/pins/default/soccer.png +0 -0
  1287. images/pins/default/solarenergy.png +0 -0
  1288. images/pins/default/sozialeeinrichtung.png +0 -0
  1289. images/pins/default/spa.png +0 -0
  1290. images/pins/default/spaceport-2.png +0 -0
  1291. images/pins/default/speed_50.png +0 -0
  1292. images/pins/default/speedhump.png +0 -0
  1293. images/pins/default/speedriding.png +0 -0
  1294. images/pins/default/spelunking.png +0 -0
  1295. images/pins/default/spider.png +0 -0
  1296. images/pins/default/splice.png +0 -0
  1297. images/pins/default/sportscar.png +0 -0
  1298. images/pins/default/sportutilityvehicle.png +0 -0
  1299. images/pins/default/square-compass.png +0 -0
  1300. images/pins/default/squash-2.png +0 -0
  1301. images/pins/default/stadium.png +0 -0
  1302. images/pins/default/stairs.png +0 -0
  1303. images/pins/default/star-3.png +0 -0
  1304. images/pins/default/stargate-raw.png +0 -0
  1305. images/pins/default/start-race-2.png +0 -0
  1306. images/pins/default/statue-2.png +0 -0
  1307. images/pins/default/steamtrain.png +0 -0
  1308. images/pins/default/stop.png +0 -0
  1309. images/pins/default/strike.png +0 -0
  1310. images/pins/default/stripclub2.png +0 -0
  1311. images/pins/default/submarine-2.png +0 -0
  1312. images/pins/default/sugar-shack.png +0 -0
  1313. images/pins/default/summercamp.png +0 -0
  1314. images/pins/default/sumo-2.png +0 -0
  1315. images/pins/default/sunny.png +0 -0
  1316. images/pins/default/sunsetland.png +0 -0
  1317. images/pins/default/supermarket.png +0 -0
  1318. images/pins/default/surfacelift.png +0 -0
  1319. images/pins/default/surfing.png +0 -0
  1320. images/pins/default/surfpaddle.png +0 -0
  1321. images/pins/default/surveying-2.png +0 -0
  1322. images/pins/default/swimming.png +0 -0
  1323. images/pins/default/synagogue-2.png +0 -0
  1324. images/pins/default/taekwondo-2.png +0 -0
  1325. images/pins/default/tailor.png +0 -0
  1326. images/pins/default/takeaway.png +0 -0
  1327. images/pins/default/targ.png +0 -0
  1328. images/pins/default/taxi.png +0 -0
  1329. images/pins/default/taxiboat.png +0 -0
  1330. images/pins/default/taxiway.png +0 -0
  1331. images/pins/default/teahouse.png +0 -0
  1332. images/pins/default/tebletennis.png +0 -0
  1333. images/pins/default/telephone.png +0 -0
  1334. images/pins/default/temple-2.png +0 -0
  1335. images/pins/default/templehindu.png +0 -0
  1336. images/pins/default/tennis.png +0 -0
  1337. images/pins/default/terrace.png +0 -0
  1338. images/pins/default/text.png +0 -0
  1339. images/pins/default/textiles.png +0 -0
  1340. images/pins/default/theater.png +0 -0
  1341. images/pins/default/theft.png +0 -0
  1342. images/pins/default/themepark.png +0 -0
  1343. images/pins/default/therapy.png +0 -0
  1344. images/pins/default/theravadapagoda.png +0 -0
  1345. images/pins/default/theravadatemple.png +0 -0
  1346. images/pins/default/thunderstorm.png +0 -0
  1347. images/pins/default/ticket_office2.png +0 -0
  1348. images/pins/default/tidaldiamond.png +0 -0
  1349. images/pins/default/tiger-2.png +0 -0
  1350. images/pins/default/tires.png +0 -0
  1351. images/pins/default/toilets.png +0 -0
  1352. images/pins/default/tollstation.png +0 -0
  1353. images/pins/default/tools.png +0 -0
  1354. images/pins/default/tornado-2.png +0 -0
  1355. images/pins/default/torture.png +0 -0
  1356. images/pins/default/tower.png +0 -0
  1357. images/pins/default/townhouse.png +0 -0
  1358. images/pins/default/toys.png +0 -0
  1359. images/pins/default/trafficcamera.png +0 -0
  1360. images/pins/default/trafficlight.png +0 -0
  1361. images/pins/default/train.png +0 -0
  1362. images/pins/default/tramway.png +0 -0
  1363. images/pins/default/trash.png +0 -0
  1364. images/pins/default/travel_agency.png +0 -0
  1365. images/pins/default/treasure-mark.png +0 -0
  1366. images/pins/default/treedown.png +0 -0
  1367. images/pins/default/triskelion.png +0 -0
  1368. images/pins/default/trolley.png +0 -0
  1369. images/pins/default/truck3.png +0 -0
  1370. images/pins/default/tsunami.png +0 -0
  1371. images/pins/default/tunnel.png +0 -0
  1372. images/pins/default/turtle-2.png +0 -0
  1373. images/pins/default/tweet.png +0 -0
  1374. images/pins/default/u-pick_stand.png +0 -0
  1375. images/pins/default/ufo.png +0 -0
  1376. images/pins/default/umbrella-2.png +0 -0
  1377. images/pins/default/underground.png +0 -0
  1378. images/pins/default/university.png +0 -0
  1379. images/pins/default/usfootball.png +0 -0
  1380. images/pins/default/van.png +0 -0
  1381. images/pins/default/vespa.png +0 -0
  1382. images/pins/default/veterinary.png +0 -0
  1383. images/pins/default/video.png +0 -0
  1384. images/pins/default/videogames.png +0 -0
  1385. images/pins/default/villa.png +0 -0
  1386. images/pins/default/vineyard-2.png +0 -0
  1387. images/pins/default/volcano-2.png +0 -0
  1388. images/pins/default/volleyball.png +0 -0
  1389. images/pins/default/waiting.png +0 -0
  1390. images/pins/default/walkingtour.png +0 -0
  1391. images/pins/default/war.png +0 -0
  1392. images/pins/default/warehouse-2.png +0 -0
  1393. images/pins/default/water.png +0 -0
  1394. images/pins/default/watercraft.png +0 -0
  1395. images/pins/default/waterfall-2.png +0 -0
  1396. images/pins/default/watermill-2.png +0 -0
  1397. images/pins/default/waterpark.png +0 -0
  1398. images/pins/default/waterskiing.png +0 -0
  1399. images/pins/default/watertower.png +0 -0
  1400. images/pins/default/waterwell.png +0 -0
  1401. images/pins/default/waterwellpump.png +0 -0
  1402. images/pins/default/webcam.png +0 -0
  1403. images/pins/default/wedding.png +0 -0
  1404. images/pins/default/weights.png +0 -0
  1405. images/pins/default/wetlands.png +0 -0
  1406. images/pins/default/whale-2.png +0 -0
  1407. images/pins/default/wifi.png +0 -0
  1408. images/pins/default/wiki-export.png +0 -0
  1409. images/pins/default/wildlifecrossing.png +0 -0
  1410. images/pins/default/wind-2.png +0 -0
  1411. images/pins/default/windmill-2.png +0 -0
  1412. images/pins/default/windsurfing.png +0 -0
  1413. images/pins/default/windturbine.png +0 -0
  1414. images/pins/default/winebar.png +0 -0
  1415. images/pins/default/winetasting.png +0 -0
  1416. images/pins/default/woodshed.png +0 -0
  1417. images/pins/default/workoffice.png +0 -0
  1418. images/pins/default/workshop.png +0 -0
  1419. images/pins/default/world.png +0 -0
  1420. images/pins/default/worldheritagesite.png +0 -0
  1421. images/pins/default/worldwildway.png +0 -0
  1422. images/pins/default/wrestling-2.png +0 -0
  1423. images/pins/default/yoga.png +0 -0
  1424. images/pins/default/yooner.png +0 -0
  1425. images/pins/default/you-are-here-2.png +0 -0
  1426. images/pins/default/youthhostel.png +0 -0
  1427. images/pins/default/zombie-outbreak1.png +0 -0
  1428. images/pins/default/zoo.png +0 -0
  1429. images/pins/default/zoom.png +0 -0
  1430. js/gmw-admin-plugins.js +0 -9
  1431. js/gmw-admin.js +39 -310
  1432. js/gmw.js +1 -23
  1433. readme.txt +10 -8
css/gmw-admin.css CHANGED
@@ -13,10 +13,6 @@
13
  margin-top: 30px;
14
  }
15
 
16
- .settings_page_gmw_options #gmw_activate_notice {
17
- display: none;
18
- }
19
-
20
  .wrap.gmw-options .ui-tabs li.ui-tabs-active a {
21
  font-weight: bold;
22
  color: #404448;
@@ -47,8 +43,7 @@
47
  display: inline-block;
48
  }
49
 
50
- .control-panel-widgets label.label-holder {
51
- display: none;
52
  }
53
 
54
  .gmw-tabs p.colorpicker_section {
@@ -433,7 +428,7 @@ input:required:invalid, #gmw_promo_dialog input:required:invalid {
433
  font-weight: 200;
434
  line-height: 32px;
435
  color: #AAAAAA;
436
- padding: 0 9px;
437
  display: block;
438
  }
439
 
@@ -446,7 +441,7 @@ input:required:invalid, #gmw_promo_dialog input:required:invalid {
446
  display: inline-block;
447
  font-size: 12px;
448
  line-height: 16px;
449
- margin: 0 0 0 10px;
450
  text-decoration: none;
451
  text-shadow: 0 1px 0 #FFFFFF;
452
  }
@@ -638,7 +633,7 @@ ul.ui-tabs-nav{
638
 
639
  .gmw-footer-intro {
640
  display: block;
641
- padding: 30px 0px;
642
  text-align: center;
643
  margin: 0px !important;
644
  font-size: 15px;
@@ -725,7 +720,7 @@ ul.ui-tabs-nav{
725
  border: 1px solid #5b9dd9;
726
  }
727
 
728
- #gmw_dialog_trial .button.button-primary {
729
  display: block;
730
  border-radius:4px;
731
  background: #0085ba;
@@ -1022,4 +1017,8 @@ ul.ui-tabs-nav{
1022
 
1023
  #gmw_dialog_pro_features .footer .button-secondary {
1024
  min-width: 165px;
 
 
 
 
1025
  }
13
  margin-top: 30px;
14
  }
15
 
 
 
 
 
16
  .wrap.gmw-options .ui-tabs li.ui-tabs-active a {
17
  font-weight: bold;
18
  color: #404448;
43
  display: inline-block;
44
  }
45
 
46
+ .control-panel-widgets span.label-holder {
 
47
  }
48
 
49
  .gmw-tabs p.colorpicker_section {
428
  font-weight: 200;
429
  line-height: 32px;
430
  color: #AAAAAA;
431
+ padding: 0 7px;
432
  display: block;
433
  }
434
 
441
  display: inline-block;
442
  font-size: 12px;
443
  line-height: 16px;
444
+ margin: 0 0 0 7px;
445
  text-decoration: none;
446
  text-shadow: 0 1px 0 #FFFFFF;
447
  }
633
 
634
  .gmw-footer-intro {
635
  display: block;
636
+ padding: 30px 40px;
637
  text-align: center;
638
  margin: 0px !important;
639
  font-size: 15px;
720
  border: 1px solid #5b9dd9;
721
  }
722
 
723
+ #gmw_dialog_trial .button.button-primary, #gmw_dialog_activate .button.button-primary {
724
  display: block;
725
  border-radius:4px;
726
  background: #0085ba;
1017
 
1018
  #gmw_dialog_pro_features .footer .button-secondary {
1019
  min-width: 165px;
1020
+ }
1021
+
1022
+ table.disabled, h3.disabled {
1023
+ opacity: 0.5;
1024
  }
css/gmw.css CHANGED
@@ -18,12 +18,11 @@
18
  }
19
 
20
  .gmw-error {
21
- color: red;
22
  }
23
 
24
- .gmw-powered-by {
25
- color: #666;
26
- font-size: x-small;
27
  }
28
 
29
  /* Colorbox Core Style */
@@ -91,660 +90,4 @@
91
  .gmw-light .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
92
  .gmw-light .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
93
  .gmw-light .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
94
- .gmw-light .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
95
-
96
- /* blue */
97
- #cboxOverlay.gmw-noimage-blue { background:#80a2ba; }
98
- .gmw-noimage-blue #cboxTopLeft, .gmw-noimage-blue #cboxTopCenter, .gmw-noimage-blue #cboxTopRight, .gmw-noimage-blue #cboxBottomLeft, .gmw-noimage-blue #cboxBottomCenter, .gmw-noimage-blue #cboxBottomRight, .gmw-noimage-blue #cboxMiddleLeft, .gmw-noimage-blue #cboxMiddleRight { background:#0d4270; }
99
- #colorbox.gmw-noimage-blue { outline: 1px solid #3175a5; -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); }
100
- .gmw-noimage-blue #cboxTopLeft{width:15px; height:15px; }
101
- .gmw-noimage-blue #cboxTopCenter{height:15px; }
102
- .gmw-noimage-blue #cboxTopRight{width:15px; height:15px; }
103
- .gmw-noimage-blue #cboxBottomLeft{width:15px; height:15px; }
104
- .gmw-noimage-blue #cboxBottomCenter{height:15px; }
105
- .gmw-noimage-blue #cboxBottomRight{width:15px; height:15px; }
106
- .gmw-noimage-blue #cboxMiddleLeft{width:15px; }
107
- .gmw-noimage-blue #cboxMiddleRight{width:15px; }
108
- .gmw-noimage-blue #cboxContent{background:#0d4270; overflow:visible;}
109
- .gmw-noimage-blue .cboxIframe {background:#fff;}
110
- .gmw-noimage-blue .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
111
- .gmw-noimage-blue .cboxPhoto.withLongCaption { margin-bottom:12px; }
112
- .gmw-noimage-blue span.better-caption { text-align:center; }
113
- .gmw-noimage-blue #cboxError{padding:50px; border:1px solid #ccc;}
114
- .gmw-noimage-blue #cboxLoadedContent{margin-bottom:8px; font-style: italic; }
115
- .gmw-noimage-blue #cboxTitle{ display:none !important; position:absolute; bottom:18px; clear:both; text-align:center; width:100%; color:#999; min-height:16px; overflow:hidden; }
116
- .gmw-noimage-blue .gmw-header, .gmw-noimage-blue .gmw-footer{color:#FFF;}
117
- .gmw-noimage-blue .better-caption { display:none !important; }
118
- .gmw-noimage-blue #cboxCurrent{ position:absolute; bottom:0px; left:100px; color:#CCCCCC; text-transform:capitalize; display:inline-block; padding-left:1.5em; font-size:11px; line-height:20px; left:45%; }
119
- .gmw-noimage-blue #cboxLoadingOverlay{background:#fff;}
120
- .gmw-noimage-blue #cboxPrevious, .gmw-noimage-blue #cboxNext, .gmw-noimage-blue #cboxSlideshow, .gmw-noimage-blue #cboxClose { border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; -webkit-border-radius:5px; border-radius:5px; }
121
- .gmw-noimage-blue #cboxPrevious:active, .gmw-noimage-blue #cboxNext:active, .gmw-noimage-blue #cboxSlideshow:active, .gmw-noimage-blue #cboxClose:active {outline:0;}
122
- .gmw-noimage-blue button:focus{ outline:1px dotted #000000; }
123
- .gmw-noimage-blue #cboxSlideshow{position:absolute; bottom:0px; right:62px; }
124
- .gmw-noimage-blue #cboxPrevious{position:absolute; bottom:0px; left:0; }
125
- .gmw-noimage-blue #cboxNext{position:absolute; bottom:0px; left:76px; }
126
- .gmw-noimage-blue #cboxClose{position:absolute; bottom:0; right:0; display:block; }
127
- .gmw-noimage-blue #cboxPrevious,
128
- .gmw-noimage-blue #cboxNext,
129
- .gmw-noimage-blue #cboxSlideshow,
130
- .gmw-noimage-blue #cboxClose { color:#D2D2D2; font-size:12px; line-height:12px; background-color: #0b2a44; border-right: 1px solid #061c2f; border-bottom: 1px solid #061c2f; padding: 6px 10px; transition: all 0.35s ease; }
131
- .gmw-noimage-blue #cboxPrevious:hover,
132
- .gmw-noimage-blue #cboxNext:hover,
133
- .gmw-noimage-blue #cboxSlideshow:hover,
134
- .gmw-noimage-blue #cboxClose:hover { background-color: #cccccc; color:#444444; }
135
-
136
- /* rounded */
137
- #cboxOverlay.gmw-noimage-rounded { background:#fff; }
138
- .gmw-noimage-rounded #cboxTopLeft, .gmw-noimage-rounded #cboxTopCenter, .gmw-noimage-rounded #cboxTopRight, .gmw-noimage-rounded #cboxBottomLeft, .gmw-noimage-rounded #cboxBottomCenter, .gmw-noimage-rounded #cboxBottomRight, .gmw-noimage-rounded #cboxMiddleLeft, .gmw-noimage-rounded #cboxMiddleRight { background:#ffffff; }
139
- #colorbox.gmw-noimage-rounded { outline: 1px solid #D5D5D5; -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); -webkit-border-radius: 8px; border-radius: 8px; }
140
- .gmw-noimage-rounded #cboxTopLeft{width:15px; height:15px; }
141
- .gmw-noimage-rounded #cboxTopCenter{height:15px; }
142
- .gmw-noimage-rounded #cboxTopRight{width:15px; height:15px; }
143
- .gmw-noimage-rounded #cboxBottomLeft{width:15px; height:15px; }
144
- .gmw-noimage-rounded #cboxBottomCenter{height:15px; }
145
- .gmw-noimage-rounded #cboxBottomRight{width:15px; height:15px; }
146
- .gmw-noimage-rounded #cboxMiddleLeft{width:15px; }
147
- .gmw-noimage-rounded #cboxMiddleRight{width:15px; }
148
- .gmw-noimage-rounded #cboxContent{background:#fff; overflow:visible;}
149
- .gmw-noimage-rounded .cboxIframe {background:#fff;}
150
- .gmw-noimage-rounded .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
151
- .gmw-noimage-rounded .cboxPhoto.withLongCaption { margin-bottom:12px; }
152
- .gmw-noimage-rounded span.better-caption { line-height:16px; text-align:left; margin-bottom:6px; display:block; }
153
- .gmw-noimage-rounded #cboxError{padding:50px; border:1px solid #ccc;}
154
- .gmw-noimage-rounded #cboxLoadedContent{margin-bottom:24px; font-style: italic; }
155
- .gmw-noimage-rounded #cboxTitle{ position:absolute; bottom:-8px; clear:both; text-align:left; width:100%; color:#999; min-height:16px; overflow:hidden; }
156
- .gmw-noimage-rounded #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
157
- .gmw-noimage-rounded #cboxLoadingOverlay{background:#fff;}
158
- .gmw-noimage-rounded #cboxPrevious, .gmw-noimage-rounded #cboxNext, .gmw-noimage-rounded #cboxSlideshow, .gmw-noimage-rounded #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
159
- .gmw-noimage-rounded #cboxPrevious:active, .gmw-noimage-rounded #cboxNext:active, .gmw-noimage-rounded #cboxSlideshow:active, .gmw-noimage-rounded #cboxClose:active {outline:0;}
160
- .gmw-noimage-rounded button:focus{ outline:1px dotted #ffffff; }
161
- .gmw-noimage-rounded #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
162
- .gmw-noimage-rounded #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
163
- .gmw-noimage-rounded #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
164
- .gmw-noimage-rounded #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
165
- .gmw-noimage-rounded #cboxPrevious,
166
- .gmw-noimage-rounded #cboxNext,
167
- .gmw-noimage-rounded #cboxSlideshow,
168
- .gmw-noimage-rounded #cboxClose { color: #777777; font-size:10px; line-height:12px; background-color: #dddddd; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 4px 8px; }
169
- .gmw-noimage-rounded #cboxPrevious:hover,
170
- .gmw-noimage-rounded #cboxNext:hover,
171
- .gmw-noimage-rounded #cboxSlideshow:hover,
172
- .gmw-noimage-rounded #cboxClose:hover { background-color: #cccccc; color:#444444; }
173
-
174
- /* darkrimmed */
175
- #cboxOverlay.gmw-darkrimmed{ background:#202020; }
176
- .gmw-darkrimmed #cboxWrapper { overflow:visible; }
177
- .gmw-darkrimmed #cboxTopLeft, .gmw-darkrimmed#cboxTopCenter, .gmw-darkrimmed #cboxTopRight, .gmw-darkrimmed #cboxBottomLeft, .gmw-darkrimmed #cboxBottomCenter, .gmw-darkrimmed #cboxBottomRight, .gmw-darkrimmed #cboxMiddleLeft, .gmw-darkrimmed #cboxMiddleRight {background:#090909;}
178
- #colorbox.gmw-darkrimmed {outline:0;background:#090909;overflow:visible;}
179
- .gmw-darkrimmed #cboxTopLeft{width:12px; height:12px; -webkit-border-radius: 12px 0 0 0; border-radius: 10px 0 0 0; }
180
- .gmw-darkrimmed #cboxTopCenter{height:12px; }
181
- .gmw-darkrimmed #cboxTopRight{width:12px; height:12px; -webkit-border-radius: 0 12px 0 0; border-radius: 0 10px 0 0; }
182
- .gmw-darkrimmed #cboxBottomLeft{width:12px; height:12px; -webkit-border-radius: 0 0 0 12px; border-radius: 0 0 0 10px; }
183
- .gmw-darkrimmed #cboxBottomCenter{height:12px; }
184
- .gmw-darkrimmed #cboxBottomRight{width:12px; height:12px; -webkit-border-radius: 0 0 12px 0; border-radius: 0 0 10px 0; }
185
- .gmw-darkrimmed #cboxMiddleLeft{width:12px; }
186
- .gmw-darkrimmed #cboxMiddleRight{width:12px; }
187
- .gmw-darkrimmed .gmw-header,.gmw-darkrimmed .gmw-footer {color:#FFF;}
188
- .gmw-darkrimmed #cboxContent{ background:#090909; -webkit-border-radius: 6px; border-radius: 6px; overflow:visible; }
189
- .gmw-darkrimmed .cboxIframe {background:#fff;}
190
- .gmw-darkrimmed .cboxPhoto { margin-bottom:0px;}
191
- .gmw-darkrimmed .cboxPhoto.withLongCaption { margin-bottom:0px; }
192
- .gmw-darkrimmed #cboxError{padding:50px; border:1px solid #ccc;}
193
- .gmw-darkrimmed #cboxLoadedContent{ margin-bottom:0px; font-style: italic; background:#090909; -webkit-border-radius: 9px; border-radius: 9px;}
194
- .gmw-darkrimmed #cboxTitle{ position:absolute; left:0; bottom:0; clear:both; text-align:center; width:100%; overflow:hidden; min-height:16px; background:#333333; background:rgba(0,0,0,0.7); padding:10px 0; color:#fefefe; }
195
- .gmw-darkrimmed #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
196
- .gmw-darkrimmed #cboxLoadingOverlay{background:#fff;}
197
- .gmw-darkrimmed #cboxPrevious, .gmw-darkrimmed #cboxNext, .gmw-darkrimmed #cboxSlideshow, .gmw-darkrimmed #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
198
- .gmw-darkrimmed #cboxPrevious:active, .gmw-darkrimmed #cboxNext:active, .gmw-darkrimmed #cboxSlideshow:active, .gmw-darkrimmed #cboxClose:active {outline:none;}
199
- .gmw-darkrimmed button:focus{ outline:1px dotted #000; }
200
- .gmw-darkrimmed #cboxPrevious, .gmw-darkrimmed #cboxNext, .gmw-darkrimmed #cboxClose { display:block; background:url(../images/colorbox/darkrimmed/colorbox_darkrimmed.png) 0 0 no-repeat;transition:opacity 0.35s ease; color:#e5e5e5;}
201
- .gmw-darkrimmed #cboxPrevious, .gmw-darkrimmed #cboxNext {text-indent: 100%;white-space: nowrap;overflow: hidden;}
202
- .gmw-darkrimmed #cboxPrevious, .gmw-darkrimmed #cboxNext { width:64px; height:64px; }
203
- .gmw-darkrimmed #cboxPrevious:hover, .gmw-darkrimmed #cboxNext:hover, .gmw-darkrimmed #cboxClose:hover { opacity:0.75; }
204
- .gmw-darkrimmed #cboxPrevious{position:absolute; bottom:46%; left:-68px; color:#444; background-position:0 -64px; }
205
- .gmw-darkrimmed #cboxNext{position:absolute; bottom:46%; right:-68px; color:#444; background-position:0 0; }
206
- .gmw-darkrimmed #cboxClose{position:absolute; top:0; right:0; display:block; color:#444; background-image:none; color:#fefefe;background-position:right -1px;font-size:12px;background-color:#090909; font-weight:bold; text-transform:uppercase; text-align:left; width:auto; height:28px; padding:0 8px; line-height:28px; -webkit-border-radius: 0 0 0 6px; border-radius: 0 0 0 6px;}
207
- .gmw-darkrimmed #cboxCurrent { left:0; bottom:-28px; font-size:10px; width:100%; margin:0; text-align:left; color:#555555; }
208
- .gmw-darkrimmed #cboxSlideshow{position:absolute; top:32px; right:-6px; color:#444;}
209
- .gmw-darkrimmed #cboxSlideshow {color: #f9f9f9; font-size:10px; line-height:12px;background-color: #000000; padding: 4px 8px;}
210
- .gmw-darkrimmed #cboxSlideshow:hover { background-color: #111111; color:#ffffff;}
211
- .gmw-darkrimmed #cboxSlideshow { width:32px; height:32px; top:auto; bottom:-48px; left:48%; background:url(../images/colorbox/darkrimmed/colorbox_darkrimmed.png) no-repeat -16px -148px; display:block; transition:opacity 0.35s ease;text-indent: 150%; white-space: nowrap;overflow: hidden;}
212
- .gmw-darkrimmed #cboxSlideshow:hover { background-color:transparent; opacity:0.75; }
213
- .gmw-darkrimmed .cboxSlideshow_off #cboxSlideshow { background-position:-16px -207px; }
214
- .gmw-darkrimmed .cboxSlideshow_on #cboxSlideshow { background-position:-16px -148px; }
215
- #colorbox.gmw-darkrimmed { border-radius: 18px; }
216
-
217
- /* vintage */
218
- #cboxOverlay.gmw-vintage{ background:#555555 url("../images/colorbox/vintage/pattern.jpg") repeat 0 0; -webkit-box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75); box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75);}
219
- .gmw-vintage #cboxWrapper { overflow:visible; }
220
- .gmw-vintage #cboxTopLeft, .gmw-vintage #cboxTopCenter, .gmw-vintage #cboxTopRight, .gmw-vintage #cboxBottomLeft, .gmw-vintage #cboxBottomCenter, .gmw-vintage #cboxBottomRight, .gmw-vintage #cboxMiddleLeft, .gmw-vintage #cboxMiddleRight { background:#ffffff;}
221
- #colorbox.gmw-vintage { outline:none;background:transparent;overflow:visible;}
222
- .gmw-vintage #cboxTopLeft,.gmw-vintage #cboxTopRight,.gmw-vintage #cboxBottomLeft,.gmw-vintage #cboxBottomRight,.gmw-vintage #cboxMiddleLeft,.gmw-vintage #cboxMiddleRight{ background:transparent url("../images/colorbox/vintage/frame1.png") no-repeat 0 0;}
223
- .gmw-vintage #cboxMiddleLeft,.gmw-vintage #cboxMiddleRight { background-repeat:repeat-y; }
224
- .gmw-vintage #cboxTopCenter, .gmw-vintage #cboxBottomCenter { background:transparent url("../images/colorbox/vintage/frame2.png") repeat-x 0 0;}
225
- .gmw-vintage #cboxTopLeft { width:32px; height:32px; background-position:0 0; }
226
- .gmw-vintage #cboxTopCenter{height:32px; background-position:0 -32px; }
227
- .gmw-vintage #cboxTopRight{width:32px; height:32px; background-position:-32px 0; }
228
- .gmw-vintage #cboxBottomLeft{width:32px; height:32px; background-position:0 -32px; }
229
- .gmw-vintage #cboxBottomCenter{height:32px; }
230
- .gmw-vintage #cboxBottomRight{width:32px; height:32px; background-position:-32px -32px; }
231
- .gmw-vintage #cboxMiddleLeft{width:32px; background-position:-96px 0; }
232
- .gmw-vintage #cboxMiddleRight{width:32px; background-position:-64px 0; }
233
- .gmw-vintage #cboxContent{ background:#ffffff; overflow:visible; }
234
- .gmw-vintage .cboxIframe {background:#fff;}
235
- .gmw-vintage .cboxPhoto { margin-bottom:0px;}
236
- .gmw-vintage .cboxPhoto.withLongCaption { margin-bottom:0px; }
237
- .gmw-vintage #cboxError{padding:50px; border:1px solid #ccc;}
238
- .gmw-vintage #cboxLoadedContent{ margin-bottom:0px; font-style: italic; background:#ffffff; }
239
- .gmw-vintage #cboxTitle { display:none !important; }
240
- .gmw-vintage #cboxCurrent{ display:none !important; }
241
- .gmw-vintage #cboxLoadingOverlay{background:#fff;}
242
- .gmw-vintage #cboxPrevious, .gmw-vintage #cboxNext, .gmw-vintage #cboxSlideshow, .gmw-vintage #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
243
- .gmw-vintage #cboxPrevious:active, .gmw-vintage #cboxNext:active, .gmw-vintage #cboxSlideshow:active, .gmw-vintage #cboxClose:active {outline:0;}
244
- .gmw-vintage #cboxPrevious, .gmw-vintage #cboxNext, .gmw-vintage #cboxClose { display:block; background:transparent url(../images/colorbox/vintage/frame1.png) 0 0 no-repeat; transition:opacity 0.35s ease; color:#e5e5e5; }
245
- .gmw-vintage #cboxPrevious, .gmw-vintage #cboxNext, .gmw-vintage #cboxClose { text-indent: 100%; white-space: nowrap; overflow: hidden; }
246
- .gmw-vintage #cboxPrevious, .gmw-vintage #cboxNext, .gmw-vintage #cboxClose { width:64px; height:64px; }
247
- .gmw-vintage #cboxPrevious, .gmw-vintage #cboxNext { opacity:0.5; }
248
- .gmw-vintage #cboxClose { opacity:1.0; border-left:none; }
249
- .gmw-vintage #cboxPrevious:hover, .gmw-vintage #cboxNext:hover, .gmw-vintage #cboxClose:hover { opacity:1.0; }
250
- .gmw-vintage #cboxPrevious{ position:absolute; bottom:46%; left:-85px; color:#444; background-position:-196px 0px; }
251
- .gmw-vintage #cboxNext{ position:absolute; bottom:46%; right:-92px; color:#444; background-position:-128px 0px; }
252
- .gmw-vintage #cboxClose{ width:22px; height:22px; position:absolute; top:36px; left:100%; margin-left:30px; color:#444; background-position:right 0px; transition:width 0.25s ease; background-color:#888687; border:1px solid #67676b; -webkit-box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4); }
253
- .gmw-vintage #cboxClose:hover { width:26px; }
254
- .gmw-vintage #cboxSlideshow { position:absolute; top:100%; margin-top:28px; left:50%; margin-left:-25px; width:100px; height:25px; color: #e7e8e5; text-shadow:1px 1px 0 #6e6d6d; font-size:10px; line-height:12px; background-color: #ffffff;padding: 6px 10px; background-color:#888687; -webkit-box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);}
255
- .gmw-vintage #cboxSlideshow:hover { color:#ffffff; }
256
-
257
- /* fancyoverlay */
258
- #cboxOverlay.gmw-fancyoverlay{ background:#272727; }
259
- .gmw-fancyoverlay #cboxWrapper { overflow:visible; }
260
- .gmw-fancyoverlay #cboxTopLeft, .gmw-fancyoverlay #cboxTopCenter, .gmw-fancyoverlay #cboxTopRight, .gmw-fancyoverlay #cboxBottomLeft, .gmw-fancyoverlay #cboxBottomCenter, .gmw-fancyoverlay #cboxBottomRight, .gmw-fancyoverlay #cboxMiddleLeft, .gmw-fancyoverlay #cboxMiddleRight {background:#ffffff;}
261
- #colorbox.gmw-fancyoverlay {overflow:visible;border: 1px solid #D5D5D5;}
262
- .gmw-fancyoverlay #cboxTopLeft{width:6px; height:6px; }
263
- .gmw-fancyoverlay #cboxTopCenter{height:6px; }
264
- .gmw-fancyoverlay #cboxTopRight{width:6px; height:6px; }
265
- .gmw-fancyoverlay #cboxBottomLeft{width:6px; height:6px; }
266
- .gmw-fancyoverlay #cboxBottomCenter{height:6px; }
267
- .gmw-fancyoverlay #cboxBottomRight{width:6px; height:6px; }
268
- .gmw-fancyoverlay #cboxMiddleLeft{width:6px; }
269
- .gmw-fancyoverlay #cboxMiddleRight{width:6px; }
270
- .gmw-fancyoverlay #cboxContent{background:#fff; overflow:visible;}
271
- .gmw-fancyoverlay .cboxIframe {background:#fff;}
272
- .gmw-fancyoverlay .cboxPhoto {margin-bottom:0px;}
273
- .gmw-fancyoverlay .cboxPhoto.withLongCaption { margin-bottom:0px; }
274
- .gmw-fancyoverlay #cboxError{padding:50px; border:1px solid #ccc;}
275
- .gmw-fancyoverlay #cboxLoadedContent{margin-bottom:0px; font-style: italic; outline:0;}
276
- .gmw-fancyoverlay #cboxLoadedContent:focus { outline: none;}
277
- .gmw-fancyoverlay #cboxTitle{position:absolute; left:0; bottom:0; clear:both; text-align:center; width:100%; overflow:hidden;min-height:16px; background:#FFF;background:rgba(255, 255, 255, 0.7);padding:10px 0; color:#000; }
278
- .gmw-fancyoverlay #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
279
- .gmw-fancyoverlay #cboxPrevious, .gmw-fancyoverlay #cboxNext, .gmw-fancyoverlay #cboxSlideshow, .gmw-fancyoverlay #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
280
- .gmw-fancyoverlay #cboxPrevious:active, .gmw-fancyoverlay #cboxNext:active, .gmw-fancyoverlay #cboxSlideshow:active, .gmw-fancyoverlay #cboxClose:active {outline:0;}
281
- .gmw-fancyoverlay #cboxPrevious, .gmw-fancyoverlay #cboxNext, .gmw-fancyoverlay #cboxClose {width:27px; height:27px; display:block; background:url(../images/colorbox/fancyoverlay/colorbox_fancyoverlay.png) no-repeat 0 0;transition:opacity 0.35s ease;text-indent: 100%;white-space: nowrap; overflow: hidden;}
282
- .gmw-fancyoverlay #cboxPrevious:hover, .gmw-fancyoverlay #cboxNext:hover, .gmw-fancyoverlay #cboxClose:hover { opacity:0.75; }
283
- .gmw-fancyoverlay #cboxPrevious{position:absolute; bottom:50%; left:0; color:#444; background-position:0 -54px; }
284
- .gmw-fancyoverlay #cboxNext{position:absolute; bottom:50%; right:0; color:#444; background-position:0 -27px; }
285
- .gmw-fancyoverlay #cboxClose{position:absolute; top:-21px; right:-21px; display:block; color:#444; background-position:0 0; }
286
- .gmw-fancyoverlay #cboxCurrent { left:0; bottom:-24px; font-size:10px; width:100%; margin:0; text-align:center; }
287
- .gmw-fancyoverlay #cboxSlideshow{position:absolute; bottom:-28px; right:-6px; color:#444;}
288
- .gmw-fancyoverlay #cboxSlideshow {color: #f9f9f9;font-size:10px; line-height:12px;background-color: #191919;padding: 4px 8px;}
289
- .gmw-fancyoverlay #cboxSlideshow:hover {background-color: #111111; color:#ffffff;}
290
-
291
- /* rounded-white */
292
- #cboxOverlay.gmw-rounded-white{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
293
- #colorbox.gmw-rounded-white{outline:0;}
294
- .gmw-rounded-white #cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/rounded-white/border1.png) no-repeat 0 0;}
295
- .gmw-rounded-white #cboxTopCenter{height:25px; background:url(../images/colorbox/rounded-white/border1.png) repeat-x 0 -50px;}
296
- .gmw-rounded-white #cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/rounded-white/border1.png) no-repeat -25px 0;}
297
- .gmw-rounded-white #cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/rounded-white/border1.png) no-repeat 0 -25px;}
298
- .gmw-rounded-white #cboxBottomCenter{height:25px; background:url(../images/colorbox/rounded-white/border1.png) repeat-x 0 -75px;}
299
- .gmw-rounded-white #cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/rounded-white/border1.png) no-repeat -25px -25px;}
300
- .gmw-rounded-white #cboxMiddleLeft{width:25px; background:url(../images/colorbox/rounded-white/border2.png) repeat-y 0 0;}
301
- .gmw-rounded-white #cboxMiddleRight{width:25px; background:url(../images/colorbox/rounded-white/border2.png) repeat-y -25px 0;}
302
- .gmw-rounded-white #cboxContent{background:#fff; overflow:hidden;}
303
- .gmw-rounded-white .cboxIframe{background:#fff;}
304
- .gmw-rounded-white #cboxError{padding:50px; border:1px solid #ccc;}
305
- .gmw-rounded-white #cboxLoadedContent{margin-bottom:20px;}
306
- .gmw-rounded-white #cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
307
- .gmw-rounded-white #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
308
- .gmw-rounded-white #cboxPrevious, .gmw-rounded-white #cboxNext, .gmw-rounded-white #cboxSlideshow, .gmw-rounded-white #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
309
- .gmw-rounded-white #cboxPrevious:active, .gmw-rounded-white #cboxNext:active, .gmw-rounded-white #cboxSlideshow:active, .gmw-rounded-white #cboxClose:active {outline:0;}
310
- .gmw-rounded-white #cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
311
- .gmw-rounded-white #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
312
- .gmw-rounded-white #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
313
- .gmw-rounded-white #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
314
- /*.gmw-rounded-white.cboxIE #cboxTopLeft,.gmw-rounded-white.cboxIE #cboxTopCenter,.gmw-rounded-white.cboxIE #cboxTopRight,.gmw-rounded-white.cboxIE #cboxBottomLeft,.gmw-rounded-white.cboxIE #cboxBottomCenter,.gmw-rounded-white.cboxIE #cboxBottomRight,.gmw-rounded-white.cboxIE #cboxMiddleLeft, .gmw-rounded-white.cboxIE #cboxMiddleRight {filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);} */
315
-
316
- /* gray-square */
317
- #cboxOverlay.gmw-gray-square{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
318
- #colorbox.gmw-gray-square{outline:0;}
319
- .gmw-gray-square #cboxTopLeft{width:14px; height:14px; background:url(../images/colorbox/gray-square/controls.png) no-repeat 0 0;}
320
- .gmw-gray-square #cboxTopCenter{height:14px; background:url(../images/colorbox/gray-square/border.png) repeat-x top left;}
321
- .gmw-gray-square #cboxTopRight{width:14px; height:14px; background:url(../images/colorbox/gray-square/controls.png) no-repeat -36px 0;}
322
- .gmw-gray-square #cboxBottomLeft{width:14px; height:43px; background:url(../images/colorbox/gray-square/controls.png) no-repeat 0 -32px;}
323
- .gmw-gray-square #cboxBottomCenter{height:43px; background:url(../images/colorbox/gray-square/border.png) repeat-x bottom left;}
324
- .gmw-gray-square #cboxBottomRight{width:14px; height:43px; background:url(../images/colorbox/gray-square/controls.png) no-repeat -36px -32px;}
325
- .gmw-gray-square #cboxMiddleLeft{width:14px; background:url(../images/colorbox/gray-square/controls.png) repeat-y -175px 0;}
326
- .gmw-gray-square #cboxMiddleRight{width:14px; background:url(../images/colorbox/gray-square/controls.png) repeat-y -211px 0;}
327
- .gmw-gray-square #cboxContent{background:#fff; overflow:visible;}
328
- .gmw-gray-square .cboxIframe{background:#fff;}
329
- .gmw-gray-square #cboxError{padding:50px; border:1px solid #ccc;}
330
- .gmw-gray-square #cboxLoadedContent{margin-bottom:5px;}
331
- .gmw-gray-square #cboxLoadingOverlay{background:url(../images/colorbox/gray-square/loading_background.png) no-repeat center center;}
332
- .gmw-gray-square #cboxTitle{position:absolute; bottom:-32px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
333
- .gmw-gray-square #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
334
- .gmw-gray-square #cboxPrevious, .gmw-gray-square #cboxNext, .gmw-gray-square #cboxSlideshow, .gmw-gray-square #cboxClose {border:0; padding:0; margin:0; overflow:visible; position:absolute; bottom:-29px; background:url(../images/colorbox/gray-square/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
335
- .gmw-gray-square #cboxPrevious:active, .gmw-gray-square #cboxNext:active, .gmw-gray-square #cboxSlideshow:active, .gmw-gray-square #cboxClose:active {outline:0;}
336
- .gmw-gray-square #cboxPrevious{left:0px; background-position: -51px -25px;}
337
- .gmw-gray-square #cboxPrevious:hover{background-position:-51px 0px;}
338
- .gmw-gray-square #cboxNext{left:27px; background-position:-75px -25px;}
339
- .gmw-gray-square #cboxNext:hover{background-position:-75px 0px;}
340
- .gmw-gray-square #cboxClose{right:0; background-position:-100px -25px;}
341
- .gmw-gray-square #cboxClose:hover{background-position:-100px 0px;}
342
- .gmw-gray-square .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
343
- .gmw-gray-square .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
344
- .gmw-gray-square .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
345
- .gmw-gray-square .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
346
-
347
- /* square-white */
348
- #cboxOverlay.gmw-square-white{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
349
- #colorbox.gmw-square-white{outline:0;}
350
- .gmw-square-white #cboxContent{margin-top:32px; overflow:visible; background:#000;}
351
- .gmw-square-white .cboxIframe{background:#fff;}
352
- .gmw-square-white #cboxError{padding:50px; border:1px solid #ccc;}
353
- .gmw-square-white #cboxLoadedContent{background:#FFF; padding:1px;}
354
- .gmw-square-white #cboxLoadingOverlay{background:#000;}
355
- .gmw-square-white #cboxTitle{position:absolute; top:-30px; left:0; color:#000;}
356
- .gmw-square-white #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
357
- .gmw-square-white #cboxPrevious, .gmw-square-white #cboxNext, .gmw-square-white #cboxSlideshow, .gmw-square-white #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(../images/colorbox/square-white/controls.png) no-repeat 0 0;}
358
- .gmw-square-white #cboxPrevious:active, .gmw-square-white #cboxNext:active, .gmw-square-white #cboxSlideshow:active, .gmw-square-white #cboxClose:active {outline:0;}
359
- .gmw-square-white #cboxPrevious{background-position:0px 0px; right:44px;}
360
- .gmw-square-white #cboxPrevious:hover{background-position:0px -25px;}
361
- .gmw-square-white #cboxNext{background-position:-25px 0px; right:22px;}
362
- .gmw-square-white #cboxNext:hover{background-position:-25px -25px;}
363
- .gmw-square-white #cboxClose{background-position:-50px 0px; right:0;}
364
- .gmw-square-white #cboxClose:hover{background-position:-50px -25px;}
365
- .gmw-square-white .cboxSlideshow_on #cboxPrevious, .gmw-square-white .cboxSlideshow_off #cboxPrevious{right:66px;}
366
- .gmw-square-white .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
367
- .gmw-square-white .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
368
- .gmw-square-white .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
369
- .gmw-square-white .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
370
-
371
- /* square-black */
372
- #cboxOverlay.gmw-square-black{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
373
- #colorbox.gmw-square-black{outline:0;}
374
- .gmw-square-black #cboxContent{margin-top:20px;background:#000;}
375
- .gmw-square-black .cboxIframe{background:#fff;}
376
- .gmw-square-black #cboxError{padding:50px; border:1px solid #ccc;}
377
- .gmw-square-black #cboxLoadedContent{border:5px solid #000; background:#fff;}
378
- .gmw-square-black #cboxTitle{position:absolute; top:-28px; left:0; color:#ccc;}
379
- .gmw-square-black #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
380
- .gmw-square-black #cboxPrevious, .gmw-square-black #cboxNext, .gmw-square-black #cboxSlideshow, .gmw-square-black #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
381
- .gmw-square-black #cboxPrevious:active, .gmw-square-black #cboxNext:active, .gmw-square-black #cboxSlideshow:active, .gmw-square-black #cboxClose:active {outline:0;}
382
- .gmw-square-black #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
383
- .gmw-square-black #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../images/colorbox/square-black/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
384
- .gmw-square-black #cboxPrevious:hover{background-position:bottom left;}
385
- .gmw-square-black #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../images/colorbox/square-black/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
386
- .gmw-square-black #cboxNext:hover{background-position:bottom right;}
387
- .gmw-square-black #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../images/colorbox/square-black/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
388
- .gmw-square-black #cboxClose:hover{background-position:bottom center;}
389
-
390
- /* minimal */
391
- #cboxOverlay.gmw-minimal{ background:#fdfdfd; }
392
- .gmw-minimal #cboxWrapper{ overflow:visible; }
393
- .gmw-minimal #cboxTopLeft, .gmw-minimal #cboxTopCenter, .gmw-minimal #cboxTopRight, .gmw-minimal #cboxBottomLeft, .gmw-minimal #cboxBottomCenter, .gmw-minimal #cboxBottomRight, .gmw-minimal #cboxMiddleLeft, .gmw-minimal #cboxMiddleRight {background:#ffffff;}
394
- #colorbox.gmw-minimal{outline:0;background:#ffffff;overflow:visible;-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);}
395
- .gmw-minimal #cboxTopLeft{width:8px; height:8px; }
396
- .gmw-minimal #cboxTopCenter{height:8px; }
397
- .gmw-minimal #cboxTopRight{width:8px; height:8px; }
398
- .gmw-minimal #cboxBottomLeft{width:8px; height:8px; }
399
- .gmw-minimal #cboxBottomCenter{height:8px; }
400
- .gmw-minimal #cboxBottomRight{width:8px; height:8px; }
401
- .gmw-minimal #cboxMiddleLeft{width:8px; }
402
- .gmw-minimal #cboxMiddleRight{width:8px; }
403
- .gmw-minimal #cboxContent{ background:#ffffff; overflow:visible;}
404
- .gmw-minimal .cboxIframe {background:#fff;}
405
- .gmw-minimal .cboxPhoto { margin-bottom:0px;}
406
- .gmw-minimal .cboxPhoto.withLongCaption { margin-bottom:0px; }
407
- .gmw-minimal #cboxError{padding:50px; border:1px solid #ccc;}
408
- .gmw-minimal #cboxLoadedContent{margin-bottom:0px; font-style: italic; background:#ffffff; }
409
- .gmw-minimal #cboxTitle { display:none !important;}
410
- .gmw-minimal #cboxCurrent{ display:none !important;}
411
- .gmw-minimal #cboxPrevious, .gmw-minimal #cboxNext, .gmw-minimal #cboxSlideshow, .gmw-minimal #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
412
- .gmw-minimal #cboxPrevious:active, .gmw-minimal #cboxNext:active, .gmw-minimal #cboxSlideshow:active, .gmw-minimal #cboxClose:active {outline:0;}
413
- .gmw-minimal button:focus{ outline:1px dotted #ffffff; }
414
- .gmw-minimal #cboxPrevious, .gmw-minimal #cboxNext, .gmw-minimal #cboxClose {display:block; background:url(../images/colorbox/minimal/colorbox_minimal.png) 0 0 no-repeat;transition:opacity 0.35s ease; color:#e5e5e5;}
415
- .gmw-minimal #cboxPrevious, .gmw-minimal #cboxNext {text-indent: 100%;white-space: nowrap;overflow: hidden;}
416
- .gmw-minimal #cboxPrevious, .gmw-minimal #cboxNext { width:64px; height:64px; opacity:0.6; }
417
- .gmw-minimal #cboxPrevious:hover, .gmw-minimal #cboxNext:hover { opacity:1.0; }
418
- .gmw-minimal #cboxPrevious{position:absolute; bottom:46%; left:-68px; color:#444; background-position:0 -64px; }
419
- .gmw-minimal #cboxNext{position:absolute; bottom:46%; right:-68px; color:#444; background-position:0 0; }
420
- .gmw-minimal #cboxClose{position:absolute; top:-6px; right:-6px; display:block; color:#444; background-image:none; color:#888888; background-position:right -1px; font-size:11px; background-color:#ffffff; font-weight:normal; letter-spacing:1px; text-transform:lowercase; text-align:left;width:auto; height:23px; padding:0 8px; line-height:23px; transition:color 0.35s ease;}
421
- .gmw-minimal #cboxClose:hover { color:#000000; }
422
- .gmw-minimal #cboxSlideshow { position:absolute; bottom:-32px; left:48%; color: #888888; font-size:10px; line-height:12px; background-color: #ffffff; padding: 6px 10px; transition:color 0.35s ease;}
423
- .gmw-minimal #cboxSlideshow:hover { color:#000000; }
424
-
425
- /* minimal-circles */
426
- #cboxOverlay.gmw-minimal-circles{ background:#fdfdfd; }
427
- .gmw-minimal-circles #cboxWrapper { overflow:visible; }
428
- .gmw-minimal-circles #cboxTopLeft, .gmw-minimal-circles #cboxTopCenter, .gmw-minimal-circles #cboxTopRight, .gmw-minimal-circles #cboxBottomLeft, .gmw-minimal-circles #cboxBottomCenter, .gmw-minimal-circles #cboxBottomRight, .gmw-minimal-circles #cboxMiddleLeft, .gmw-minimal-circles #cboxMiddleRight {background:#ffffff;}
429
- #colorbox.gmw-minimal-circles{outline:1px solid #ffffff;background:#ffffff;overflow:visible;-webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);}
430
- .gmw-minimal-circles #cboxTopLeft { display:none; }
431
- .gmw-minimal-circles #cboxTopCenter{display:none; }
432
- .gmw-minimal-circles #cboxTopRight{display:none; }
433
- .gmw-minimal-circles #cboxBottomLeft{display:none; }
434
- .gmw-minimal-circles #cboxBottomCenter{display:none; }
435
- .gmw-minimal-circles #cboxBottomRight{display:none; }
436
- .gmw-minimal-circles #cboxMiddleLeft{display:none; }
437
- .gmw-minimal-circles #cboxMiddleRight{display:none; }
438
- .gmw-minimal-circles #cboxContent{ background:#ffffff; overflow:visible;}
439
- .gmw-minimal-circles .cboxIframe {background:#fff;}
440
- .gmw-minimal-circles .cboxPhoto { margin-bottom:0px;}
441
- .gmw-minimal-circles .cboxPhoto.withLongCaption { margin-bottom:0px; }
442
- .gmw-minimal-circles #cboxError{padding:50px; border:1px solid #ccc;}
443
- .gmw-minimal-circles #cboxLoadedContent{margin-bottom:0px; font-style: italic; background:#ffffff;}
444
- .gmw-minimal-circles #cboxTitle { display:none !important;}
445
- .gmw-minimal-circles #cboxCurrent{display:none !important;}
446
- .gmw-minimal-circles #cboxPrevious, .gmw-minimal-circles #cboxNext, .gmw-minimal-circles #cboxSlideshow, .gmw-minimal-circles #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
447
- .gmw-minimal-circles #cboxPrevious:active, .gmw-minimal-circles #cboxNext:active, .gmw-minimal-circles #cboxSlideshow:active, .gmw-minimal-circles #cboxClose:active {outline:0;}
448
- .gmw-minimal-circles button:focus{ outline:1px dotted #ffffff; }
449
- .gmw-minimal-circles #cboxPrevious, .gmw-minimal-circles #cboxNext, .gmw-minimal-circles #cboxClose {display:block; background:url(../images/colorbox/minimal-circles/colorbox_minimalcircles.png) 0 0 no-repeat;transition:opacity 0.35s ease; color:#e5e5e5;}
450
- .gmw-minimal-circles #cboxPrevious, .gmw-minimal-circles #cboxNext, .gmw-minimal-circles #cboxClose {text-indent: 100%;white-space: nowrap;overflow: hidden;}
451
- .gmw-minimal-circles #cboxPrevious, .gmw-minimal-circles #cboxNext, .gmw-minimal-circles #cboxClose { width:64px; height:64px; }
452
- .gmw-minimal-circles #cboxPrevious, .gmw-minimal-circles #cboxNext { opacity:0.5; }
453
- .gmw-minimal-circles #cboxClose { opacity:0.4; }
454
- .gmw-minimal-circles #cboxPrevious:hover, .gmw-minimal-circles #cboxNext:hover, .gmw-minimal-circles #cboxClose:hover { opacity:1.0; }
455
- .gmw-minimal-circles #cboxPrevious{position:absolute; bottom:46%; left:8px; color:#444; background-position:0 -64px; }
456
- .gmw-minimal-circles #cboxNext{position:absolute; bottom:46%; right:8px; color:#444; background-position:0 0; }
457
- .gmw-minimal-circles #cboxClose{ position:absolute; top:-68px; right:-8px; color:#444; background-position:0 -256px; }
458
- .gmw-minimal-circles #cboxSlideshow {position:absolute; bottom:-32px; left:48%; color: #888888; font-size:10px; line-height:12px;background-color: #ffffff; padding: 6px 10px;transition:color 0.35s ease;}
459
- .gmw-minimal-circles #cboxSlideshow:hover { color:#000000; }
460
-
461
- /* noimage */
462
- #cboxOverlay.gmw-noimage{ background:#fff; }
463
- .gmw-noimage #cboxTopLeft, .gmw-noimage #cboxTopCenter, .gmw-noimage #cboxTopRight, .gmw-noimage #cboxBottomLeft, .gmw-noimage #cboxBottomCenter, .gmw-noimage #cboxBottomRight, .gmw-noimage #cboxMiddleLeft, .gmw-noimage #cboxMiddleRight { background:#ffffff;}
464
- #colorbox.gmw-noimage{outline: 1px solid #D5D5D5;-webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);-moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);}
465
- .gmw-noimage #cboxTopLeft{width:15px; height:15px; }
466
- .gmw-noimage #cboxTopCenter{height:15px; }
467
- .gmw-noimage #cboxTopRight{width:15px; height:15px; }
468
- .gmw-noimage #cboxBottomLeft{width:15px; height:15px; }
469
- .gmw-noimage #cboxBottomCenter{height:15px; }
470
- .gmw-noimage #cboxBottomRight{width:15px; height:15px; }
471
- .gmw-noimage #cboxMiddleLeft{width:15px; }
472
- .gmw-noimage #cboxMiddleRight{width:15px; }
473
- .gmw-noimage #cboxContent{background:#fff; overflow:visible;}
474
- .gmw-noimage .cboxIframe {background:#fff;}
475
- .gmw-noimage .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
476
- .gmw-noimage .cboxPhoto.withLongCaption { margin-bottom:12px; }
477
- .gmw-noimage span.better-caption { line-height:16px; text-align:left; margin-bottom:6px; display:block; }
478
- .gmw-noimage #cboxError{padding:50px; border:1px solid #ccc;}
479
- .gmw-noimage #cboxLoadedContent{margin-bottom:24px; font-style: italic; }
480
- .gmw-noimage #cboxTitle{ position:absolute; bottom:7px; clear:both; text-align:left; width:100%; color:#999; min-height:16px; overflow:hidden; }
481
- .gmw-noimage #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
482
- .gmw-noimage #cboxPrevious, .gmw-noimage #cboxNext, .gmw-noimage #cboxSlideshow, .gmw-noimage #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
483
- .gmw-noimage #cboxPrevious:active, .gmw-noimage #cboxNext:active, .gmw-noimage #cboxSlideshow:active, .gmw-noimage #cboxClose:active {outline:0;}
484
- .gmw-noimage button:focus{ outline:1px dotted #ffffff; }
485
- .gmw-noimage #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
486
- .gmw-noimage #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
487
- .gmw-noimage #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
488
- .gmw-noimage #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
489
- .gmw-noimage #cboxPrevious,.gmw-noimage #cboxNext,.gmw-noimage #cboxSlideshow,.gmw-noimage #cboxClose {color: #777777;font-size:10px; line-height:12px;background-color: #dddddd;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;padding: 4px 8px;transition: all 0.35s ease;}
490
- .gmw-noimage #cboxPrevious:hover,.gmw-noimage #cboxNext:hover,.gmw-noimage #cboxSlideshow:hover,.gmw-noimage #cboxClose:hover { background-color: #cccccc; color:#444444;}
491
-
492
- /* noimage-polaroid */
493
- #cboxOverlay.gmw-noimage-polaroid{ background:#000000; }
494
- .gmw-noimage-polaroid #cboxTopLeft, .gmw-noimage-polaroid #cboxTopCenter, .gmw-noimage-polaroid #cboxTopRight, .gmw-noimage-polaroid #cboxBottomLeft, .gmw-noimage-polaroid #cboxBottomCenter, .gmw-noimage-polaroid #cboxBottomRight, .gmw-noimage-polaroid #cboxMiddleLeft, .gmw-noimage-polaroid #cboxMiddleRight { background:#ffffff;}
495
- #colorbox.gmw-noimage-polaroid{ outline: 1px solid #D5D5D5; -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5); box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);}
496
- .gmw-noimage-polaroid #cboxTopLeft{width:18px; height:18px; }
497
- .gmw-noimage-polaroid #cboxTopCenter{height:18px; }
498
- .gmw-noimage-polaroid #cboxTopRight{width:18px; height:18px; }
499
- .gmw-noimage-polaroid #cboxBottomLeft{width:18px; height:18px; }
500
- .gmw-noimage-polaroid #cboxBottomCenter{height:18px; }
501
- .gmw-noimage-polaroid #cboxBottomRight{width:18px; height:18px; }
502
- .gmw-noimage-polaroid #cboxMiddleLeft{width:18px; }
503
- .gmw-noimage-polaroid #cboxMiddleRight{width:18px; }
504
- .gmw-noimage-polaroid #cboxContent{background:#fff; overflow:visible;}
505
- .gmw-noimage-polaroid .cboxIframe {background:#fff;}
506
- .gmw-noimage-polaroid .cboxPhoto { margin-bottom:0; margin-top:0 !important; z-index:-1; }
507
- .gmw-noimage-polaroid .photoWrap { display:block; position:relative;}
508
- .gmw-noimage-polaroid .photoWrap:before {display:block;content:'';position:absolute;width:100%; height:100%;-webkit-box-shadow: inset 0px 0px 16px 2px rgba(0, 0, 0, 0.4);box-shadow: inset 0px 0px 16px 2px rgba(0, 0, 0, 0.4);}
509
- .gmw-noimage-polaroid #cboxError{padding:50px; border:1px solid #ccc;}
510
- .gmw-noimage-polaroid .gmw-header, .gmw-noimage-polaroid .gmw-footer{color:#FFF; background:#333;}
511
- .gmw-noimage-polaroid #cboxLoadedContent{ margin-bottom:90px; font-style: italic; }
512
- .gmw-noimage-polaroid #cboxTitle{ position:absolute; bottom:0; clear:both; text-align:center; width:100%; color:#666; height:55px; overflow:hidden; font-style:italic; }
513
- .gmw-noimage-polaroid #cboxCurrent{ display:none;}
514
- .gmw-noimage-polaroid #cboxPrevious, .gmw-noimage-polaroid #cboxNext, .gmw-noimage-polaroid #cboxSlideshow, .gmw-noimage-polaroid #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
515
- .gmw-noimage-polaroid #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
516
- .gmw-noimage-polaroid button:focus{ outline:1px dotted #ffffff; }
517
- .gmw-noimage-polaroid #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
518
- .gmw-noimage-polaroid #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
519
- .gmw-noimage-polaroid #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
520
- .gmw-noimage-polaroid #cboxClose{ position:absolute; bottom:0; right:0; display:block; }
521
- .gmw-noimage-polaroid #cboxPrevious, .gmw-noimage-polaroid #cboxNext,.gmw-noimage-polaroid #cboxSlideshow,.gmw-noimage-polaroid #cboxClose {color: #777777;font-size:10px; line-height:12px;background-color: #dddddd;border-right: 1px solid #ccc;border-bottom: 1px solid #ccc;padding: 4px 8px;}
522
- .gmw-noimage-polaroid #cboxPrevious:hover,.gmw-noimage-polaroid #cboxNext:hover,.gmw-noimage-polaroid #cboxSlideshow:hover,.gmw-noimage-polaroid #cboxClose:hover { background-color: #cccccc; color:#444444;}
523
-
524
- /* shadow */
525
- #cboxOverlay.gmw-shadow{ background:#090909; }
526
- .gmw-shadow #cboxWrapper { overflow:visible; }
527
- .gmw-shadow #cboxTopLeft, .gmw-shadow #cboxTopCenter, .gmw-shadow #cboxTopRight, .gmw-shadow #cboxBottomLeft, .gmw-shadow #cboxBottomCenter, .gmw-shadow #cboxBottomRight, .gmw-shadow #cboxMiddleLeft, .gmw-shadow #cboxMiddleRight { background:#ffffff;}
528
- #colorbox.gmw-shadow {overflow:visible; outline: 1px solid #555555;}
529
- .gmw-shadow #cboxTopLeft,.gmw-shadow #cboxTopCenter,.gmw-shadow #cboxTopRight,.gmw-shadow #cboxBottomLeft,.gmw-shadow #cboxBottomCenter,.gmw-shadow #cboxBottomRight,.gmw-shadow #cboxMiddleLeft,.gmw-shadow #cboxMiddleRight{display:none;}
530
- .gmw-shadow #cboxContent{background:#fff; overflow:visible;}
531
- .gmw-shadow .cboxIframe {background:#fff;}
532
- .gmw-shadow .cboxPhoto {margin-bottom:0px;}
533
- .gmw-shadow .cboxPhoto.withLongCaption { margin-bottom:0px; }
534
- .gmw-shadow #cboxError{padding:50px; border:1px solid #ccc;}
535
- .gmw-shadow #cboxLoadedContent{margin-bottom:0px; font-style: italic; }
536
- .gmw-shadow #cboxTitle{position:absolute; left:0; bottom:100%; clear:both; text-align:left; width:100%; overflow:hidden;min-height:16px; padding:10px 0 4px 0;color:#d5d5d5; font-size:11px;}
537
- .gmw-shadow #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
538
- .gmw-shadow #cboxPrevious, .gmw-shadow #cboxNext, .gmw-shadow #cboxSlideshow, .gmw-shadow #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
539
- .gmw-shadow #cboxPrevious:active, .gmw-shadow #cboxNext:active, .gmw-shadow #cboxSlideshow:active, .gmw-shadow #cboxClose:active {outline:0;}
540
- .gmw-shadow button:focus{ outline:1px dotted #000000; }
541
- .gmw-shadow #cboxPrevious, .gmw-shadow #cboxNext, .gmw-shadow #cboxClose {width:27px; height:27px; display:block; background:url(../images/colorbox/shadow/colorbox_fancyoverlay.png) no-repeat 0 0; transition:opacity 0.35s ease;text-indent: 100%;white-space: nowrap;overflow: hidden;}
542
- .gmw-shadow #cboxPrevious:hover, .gmw-shadow #cboxNext:hover, .gmw-shadow #cboxClose:hover { opacity:0.75; }
543
- .gmw-shadow #cboxPrevious{position:absolute; bottom:-28px; right:64px; color:#444; background-position:0 -54px; }
544
- .gmw-shadow #cboxNext{position:absolute; bottom:-28px; right:37px; color:#444; background-position:0 -27px; }
545
- .gmw-shadow #cboxClose{position:absolute; bottom:-28px; right:-6px; display:block; color:#444; background-position:0 0; }
546
- .gmw-shadow #cboxCurrent { left:0; padding-left:0; margin-left:0; bottom:-18px; font-size:10px; margin:0; text-align:left; }
547
- .gmw-shadow #cboxSlideshow{position:absolute; bottom:-22px; right:102px; color:#444;}
548
- .gmw-shadow #cboxSlideshow {color: #f9f9f9; font-size:10px; line-height:12px;background-color: #191919; padding: 4px 8px;}
549
- .gmw-shadow #cboxSlideshow:hover { background-color: #333333; color:#ffffff; }
550
-
551
- /* sketchtoon */
552
- #cboxOverlay.gmw-sketchtoon{ background:#ece8df url("../images/colorbox/sketchtoon/paper.jpg") repeat 0 0; }
553
- .gmw-sketchtoon #cboxWrapper { overflow:visible; }
554
- .gmw-sketchtoon #cboxTopLeft, .gmw-sketchtoon #cboxTopCenter, .gmw-sketchtoon #cboxTopRight, .gmw-sketchtoon #cboxBottomLeft, .gmw-sketchtoon #cboxBottomCenter, .gmw-sketchtoon #cboxBottomRight, .gmw-sketchtoon #cboxMiddleLeft, .gmw-sketchtoon #cboxMiddleRight {background:#ffffff;}
555
- #colorbox.gmw-sketchtoon {overflow:visible;border: 1px solid #D5D5D5;}
556
- .gmw-sketchtoon #cboxTopLeft{width:10px; height:10px; }
557
- .gmw-sketchtoon #cboxTopCenter{height:10px; }
558
- .gmw-sketchtoon #cboxTopRight{width:10px; height:10px; }
559
- .gmw-sketchtoon #cboxBottomLeft{width:10px; height:10px; }
560
- .gmw-sketchtoon #cboxBottomCenter{height:10px; }
561
- .gmw-sketchtoon #cboxBottomRight{width:10px; height:10px; }
562
- .gmw-sketchtoon #cboxMiddleLeft{width:10px; }
563
- .gmw-sketchtoon #cboxMiddleRight{width:10px; }
564
- .gmw-sketchtoon #cboxContent{background:#fff; overflow:visible;}
565
- .gmw-sketchtoon .cboxIframe {background:#fff;}
566
- .gmw-sketchtoon .cboxPhoto {margin-bottom:0px;}
567
- .gmw-sketchtoon #cboxError{padding:50px; border:1px solid #ccc;}
568
- .gmw-sketchtoon #cboxLoadedContent{margin-bottom:0; font-style: italic; }
569
- .gmw-sketchtoon #cboxTitle{ position:absolute; left:0; bottom:0; clear:both; text-align:center; width:98%; overflow:hidden; min-height:16px;background:#e5e5e5; background:rgba(255,255,255,0.75); padding:10px 1%;color:#444444; font-size:13px; line-height:16px;font-style:italic;}
570
- .gmw-sketchtoon #cboxTitle.tooltipload { display:none !important; }
571
- .gmw-sketchtoon #cboxTitle.tooltiphover {display:block !important;background: #1f93a2;color:#ffffff;border: 1px solid #ccc; padding: 10px;border-radius: 8px;box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); position: absolute;left:16px; bottom:-7px; width: 40%; overflow:visible;}
572
- .gmw-sketchtoon #cboxTitle.tooltiphover:before {position: absolute;display: inline-block; border-left: 7px solid transparent; border-top: 7px solid #1f93a2;border-right: 7px solid transparent;border-bottom-color: rgba(0, 0, 0, 0.2);left: 10px; bottom: -7px;content: '';}
573
- .gmw-sketchtoon #cboxTitle.tooltiphover:after { position: absolute; display: inline-block; border-right: 6px solid transparent;border-top: 6px solid #1f93a2; border-left: 6px solid transparent; left: 10px; bottom: -7px;content: '';}
574
- .gmw-sketchtoon #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
575
- .gmw-sketchtoon #cboxPrevious, .gmw-sketchtoon #cboxNext, .gmw-sketchtoon #cboxSlideshow, .gmw-sketchtoon #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
576
- .gmw-sketchtoon #cboxPrevious:active, .gmw-sketchtoon #cboxNext:active, .gmw-sketchtoon #cboxSlideshow:active, .gmw-sketchtoon #cboxClose:active {outline:0;}
577
- .gmw-sketchtoon #cboxPrevious, .gmw-sketchtoon #cboxNext, .gmw-sketchtoon #cboxClose, .gmw-sketchtoon #cboxInfo, .gmw-sketchtoon #cboxSlideshow {width:64px; height:64px; display:block; background:url(../images/colorbox/sketchtoon/colorbox_sketchtoon.png) no-repeat 0 0;transition:opacity 0.35s ease;text-indent: 100%;white-space: nowrap;overflow: hidden;}
578
- .gmw-sketchtoon #cboxPrevious:hover, .gmw-sketchtoon #cboxNext:hover, .gmw-sketchtoon #cboxClose:hover, .gmw-sketchtoon #cboxInfo:hover, .gmw-sketchtoon #cboxSlideshow:hover { opacity:0.75; }
579
- .gmw-sketchtoon #cboxPrevious{position:absolute; bottom:-68px; right:51%; color:#444; background-position:0 -64px; }
580
- .gmw-sketchtoon #cboxNext{position:absolute; bottom:-68px; left:51%; color:#444; background-position:0 0; }
581
- .gmw-sketchtoon #cboxClose{position:absolute; bottom:-72px; right:0; display:block; color:#444; background-position:0 -256px; }
582
- .gmw-sketchtoon #cboxInfo { position:absolute; background-position:0 -320px; left:0; bottom:-68px; }
583
- .gmw-sketchtoon #cboxCurrent { display:none !important; }
584
- .gmw-sketchtoon .cboxSlideshow_on #cboxPrevious, .gmw-sketchtoon .cboxSlideshow_off #cboxPrevious { right:55%;}
585
- .gmw-sketchtoon .cboxSlideshow_on #cboxNext, .gmw-sketchtoon .cboxSlideshow_off #cboxNext { left:55%;}
586
- .gmw-sketchtoon #cboxSlideshow { position:relative; left:50%; margin-left:-32px; background-position:0 -124px; }
587
- .gmw-sketchtoon .cboxSlideshow_on #cboxSlideshow { background-position:0 -124px; }
588
- .gmw-sketchtoon .cboxSlideshow_off #cboxSlideshow {background-position:0 -187px; }
589
-
590
- /* wood */
591
- #cboxOverlay.gmw-wood{ background:#d29c55 url("../images/colorbox/wood/woodpattern.jpg") repeat 0 0; }
592
- .gmw-wood #cboxWrapper { overflow:visible; }
593
- .gmw-wood #cboxTopLeft, .gmw-wood #cboxTopCenter, .gmw-wood #cboxTopRight, .gmw-wood #cboxBottomLeft, .gmw-wood #cboxBottomCenter, .gmw-wood #cboxBottomRight, .gmw-wood #cboxMiddleLeft, .gmw-wood #cboxMiddleRight {background:#ffffff; position:relative;}
594
- #colorbox.gmw-wood {outline:0;background:#ffffff;overflow:visible;box-shadow: 0 1px 3px 0 rgba(0,0,0,0.6);-webkit-box-shadow: 0 1px 3px 0 rgba(0,0,0,0.6);}
595
- .gmw-wood #cboxTopLeft{width:10px; height:10px; }
596
- .gmw-wood #cboxTopCenter{height:10px; }
597
- .gmw-wood #cboxTopRight{width:10px; height:10px; }
598
- .gmw-wood #cboxBottomLeft{width:10px; height:10px; }
599
- .gmw-wood #cboxBottomCenter{height:10px; }
600
- .gmw-wood #cboxBottomRight{width:10px; height:10px; }
601
- .gmw-wood #cboxMiddleLeft{width:10px; }
602
- .gmw-wood #cboxMiddleRight{width:10px; }
603
- .gmw-wood #cboxTopLeft:after,.gmw-wood #cboxTopRight:after, .gmw-wood #cboxBottomLeft:after,.gmw-wood #cboxBottomRight:after{ content: " "; display:block; width:32px; height:32px; position:absolute; background:url("../images/colorbox/wood/colorbox_woodtable.png") no-repeat 0 -50px;overflow:visible;z-index:500;}
604
- .gmw-wood #cboxTopLeft:after { background-position:0 -50px; left:0; top:0; }
605
- .gmw-wood #cboxTopRight:after { background-position:0 -82px; right:0; top:0; }
606
- .gmw-wood #cboxBottomLeft:after { background-position:0 -146px; left:0; bottom:0; }
607
- .gmw-wood #cboxBottomRight:after { background-position:0 -114px; right:0; bottom:0; }
608
- .gmw-wood #cboxContent{ background:#ffffff; overflow:visible;}
609
- .gmw-wood .cboxIframe {background:#fff;}
610
- .gmw-wood .cboxPhoto { margin-bottom:0px;}
611
- .gmw-wood .cboxPhoto.withLongCaption { margin-bottom:0px; }
612
- .gmw-wood #cboxError{padding:50px; border:1px solid #ccc;}
613
- .gmw-wood #cboxLoadedContent{margin-bottom:0px; font-style: italic;background:#ffffff; }
614
- .gmw-wood #cboxTitle { position:absolute; left:0; top:100%; margin-top:15px; clear:both; text-align:center; width:100%; overflow:hidden;min-height:16px;background:transparent; padding:8px 0; font-size:12px;color:#29282c; text-shadow:0px 0px 22px rgba(255,255,255,1.0);}
615
- .gmw-wood #cboxCurrent{ display:none !important;}
616
- .gmw-wood #cboxPrevious, .gmw-wood #cboxNext, .gmw-wood #cboxSlideshow, .gmw-wood #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
617
- .gmw-wood #cboxPrevious:active, .gmw-wood #cboxNext:active, .gmw-wood #cboxSlideshow:active, .gmw-wood #cboxClose:active {outline:0;}
618
- .gmw-wood #cboxPrevious, .gmw-wood #cboxNext, .gmw-wood #cboxClose {display:block; background:url(../images/colorbox/wood/colorbox_woodtable.png) 0 0 no-repeat; transition:opacity 0.35s ease; color:#e5e5e5;}
619
- .gmw-wood #cboxPrevious, .gmw-wood #cboxNext { text-indent: 100%;white-space: nowrap;overflow: hidden;}
620
- .gmw-wood #cboxPrevious, #cboxNext { width:33px; height:25px; opacity:0.6; }
621
- .gmw-wood #cboxPrevious:hover, #cboxNext:hover { opacity:1.0; }
622
- .gmw-wood #cboxPrevious{position:absolute; bottom:-46px; right:52.5%; color:#444; background-position:0 0; }
623
- .gmw-wood #cboxNext{position:absolute; bottom:-46px; left:52.5%; color:#444; background-position:0 -25px; }
624
- .gmw-wood #cboxClose{position:absolute; top:-28px; right:32px; display:block; color:#444; background-image:none; color:#888888;background-position:right -1px;font-size:11px; background-color:#ffffff; font-weight:normal; letter-spacing:1px; text-transform:lowercase; text-align:left;width:auto; height:18px; line-height:18px; padding:0 8px; transition:color 0.35s ease;-webkit-box-shadow: inset 0px -6px 12px -8px rgba(0, 0, 0, 0.45); box-shadow: inset 0px -6px 12px -8px rgba(0, 0, 0, 0.45);}
625
- .gmw-wood #cboxClose:hover { color:#000000; height:22px; line-height:18px; top:-32px; }
626
- .gmw-wood #cboxSlideshow {position:absolute; top:-28px; left:50%; width:120px; margin-left:-60px;color: #888888; letter-spacing:1px;font-size:11px; text-transform:lowercase;background-color: #ffffff; padding: 0 10px; height:18px; line-height:18px; transition:color 0.35s ease;-webkit-box-shadow: inset 0px -6px 12px -8px rgba(0, 0, 0, 0.45);box-shadow: inset 0px -6px 12px -8px rgba(0, 0, 0, 0.45);}
627
- .gmw-wood #cboxSlideshow:hover { color:#000000; height:22px; line-height:18px; top:-32px; }
628
-
629
- /* tablet */
630
- #cboxOverlay.gmw-tablet{ background:#555555 repeat 0 0; -webkit-box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75); box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75);}
631
- .gmw-tablet #cboxWrapper { overflow:visible; }
632
- .gmw-tablet #cboxTopLeft, .gmw-tablet #cboxTopCenter, .gmw-tablet #cboxTopRight, .gmw-tablet #cboxBottomLeft, .gmw-tablet #cboxBottomCenter, .gmw-tablet #cboxBottomRight, .gmw-tablet #cboxMiddleLeft, .gmw-tablet #cboxMiddleRight { background:#ffffff;}
633
- #colorbox.gmw-tablet { outline:none;background:transparent;overflow:visible;}
634
- .gmw-tablet #cboxTopLeft,.gmw-tablet #cboxTopRight,.gmw-tablet #cboxBottomLeft,.gmw-tablet #cboxBottomRight,.gmw-tablet #cboxMiddleLeft,.gmw-tablet #cboxMiddleRight{ background:transparent url("../images/colorbox/tablet/frame1.png") no-repeat 0 0;}
635
- .gmw-tablet #cboxMiddleLeft,.gmw-tablet #cboxMiddleRight { background-repeat:repeat-y; }
636
- .gmw-tablet #cboxTopCenter, .gmw-tablet #cboxBottomCenter { background:transparent url("../images/colorbox/tablet/frame2.png") repeat-x 0 0;}
637
- .gmw-tablet #cboxTopLeft { width:32px; height:32px; background-position:0 0; }
638
- .gmw-tablet #cboxTopCenter{height:32px; background-position:0 -32px; }
639
- .gmw-tablet #cboxTopRight{width:32px; height:32px; background-position:-32px 0; }
640
- .gmw-tablet #cboxBottomLeft{width:32px; height:32px; background-position:0 -32px; }
641
- .gmw-tablet #cboxBottomCenter{height:32px; }
642
- .gmw-tablet #cboxBottomRight{width:32px; height:32px; background-position:-32px -32px; }
643
- .gmw-tablet #cboxMiddleLeft{width:32px; background-position:-96px 0; }
644
- .gmw-tablet #cboxMiddleRight{width:32px; background-position:-64px 0; }
645
- .gmw-tablet #cboxContent{ background:#ffffff; overflow:visible; }
646
- .gmw-tablet .gmw-header, .gmw-tablet .gmw-footer{background: #5F5F5F;color: #FFF;}
647
- .gmw-tablet .cboxIframe {background:#fff;}
648
- .gmw-tablet .cboxPhoto { margin-bottom:0px;}
649
- .gmw-tablet .cboxPhoto.withLongCaption { margin-bottom:0px; }
650
- .gmw-tablet #cboxError{padding:50px; border:1px solid #ccc;}
651
- .gmw-tablet #cboxLoadedContent{ margin-bottom:0px; font-style: italic; background:#ffffff; }
652
- .gmw-tablet #cboxTitle { display:none !important; }
653
- .gmw-tablet #cboxCurrent{ display:none !important; }
654
- .gmw-tablet #cboxLoadingOverlay{background:#fff;}
655
- .gmw-tablet #cboxPrevious, .gmw-tablet #cboxNext, .gmw-tablet #cboxSlideshow, .gmw-tablet #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
656
- .gmw-tablet #cboxPrevious:active, .gmw-tablet #cboxNext:active, .gmw-tablet #cboxSlideshow:active, .gmw-tablet #cboxClose:active {outline:0;}
657
- .gmw-tablet #cboxPrevious, .gmw-tablet #cboxNext, .gmw-tablet #cboxClose { display:block; background:transparent url(../images/colorbox/tablet/frame1.png) 0 0 no-repeat; transition:opacity 0.35s ease; color:#e5e5e5; }
658
- .gmw-tablet #cboxPrevious, .gmw-tablet #cboxNext, .gmw-tablet #cboxClose { text-indent: 100%; white-space: nowrap; overflow: hidden; }
659
- .gmw-tablet #cboxPrevious, .gmw-tablet #cboxNext, .gmw-tablet #cboxClose { width:64px; height:64px; }
660
- .gmw-tablet #cboxPrevious, .gmw-tablet #cboxNext { opacity:0.5; }
661
- .gmw-tablet #cboxClose { opacity:1.0; border-left:none; }
662
- .gmw-tablet #cboxPrevious:hover, .gmw-tablet #cboxNext:hover, .gmw-tablet #cboxClose:hover { opacity:1.0; }
663
- .gmw-tablet #cboxPrevious{ position:absolute; bottom:46%; left:-85px; color:#444; background-position:-196px 0px; }
664
- .gmw-tablet #cboxNext{ position:absolute; bottom:46%; right:-92px; color:#444; background-position:-128px 0px; }
665
- .gmw-tablet #cboxClose{ width:22px; height:22px; position:absolute; top:36px; left:100%; margin-left:30px; color:#333; background-position:right 0px; transition:width 0.25s ease; background-color:#F3F3F3; -webkit-box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4); }
666
- .gmw-tablet #cboxClose:hover { width:26px; }
667
- .gmw-tablet #cboxSlideshow { position:absolute; top:100%; margin-top:28px; left:50%; margin-left:-25px; width:100px; height:25px; color: #e7e8e5; text-shadow:1px 1px 0 #6e6d6d; font-size:10px; line-height:12px; background-color: #ffffff;padding: 6px 10px; background-color:#888687; -webkit-box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);}
668
- .gmw-tablet #cboxSlideshow:hover { color:#ffffff; }
669
-
670
- /* gears */
671
- #cboxOverlay.gmw-gears{ background:#DEDEDE repeat 0 0; -webkit-box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75); box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75);}
672
- .gmw-gears #cboxWrapper { overflow:visible; }
673
- .gmw-gears #cboxTopLeft, .gmw-gears #cboxTopCenter, .gmw-gears #cboxTopRight, .gmw-gears #cboxBottomLeft, .gmw-gears #cboxBottomCenter, .gmw-gears #cboxBottomRight, .gmw-gears #cboxMiddleLeft, .gmw-gears #cboxMiddleRight { background:#ffffff;}
674
- #colorbox.gmw-gears { outline:none;background:transparent;overflow:visible;}
675
- .gmw-gears #cboxTopLeft,.gmw-gears #cboxTopRight,.gmw-gears #cboxBottomLeft,.gmw-gears #cboxBottomRight,.gmw-gears #cboxMiddleLeft,.gmw-gears #cboxMiddleRight{ background:transparent url("../images/colorbox/gears/frame1.png") no-repeat 0 0;}
676
- .gmw-gears #cboxMiddleLeft,.gmw-gears #cboxMiddleRight { background-repeat:repeat-y; }
677
- .gmw-gears #cboxTopCenter, .gmw-gears #cboxBottomCenter { background:transparent url("../images/colorbox/gears/frame2.png") repeat-x 0 0;}
678
- .gmw-gears #cboxTopLeft { width:32px; height:32px; background-position:0 0; }
679
- .gmw-gears #cboxTopCenter{height:32px; background-position:0 -32px; }
680
- .gmw-gears #cboxTopRight{width:32px; height:32px; background-position:-32px 0; }
681
- .gmw-gears #cboxBottomLeft{width:32px; height:32px; background-position:0 -32px; }
682
- .gmw-gears #cboxBottomCenter{height:32px; }
683
- .gmw-gears #cboxBottomRight{width:32px; height:32px; background-position:-32px -32px; }
684
- .gmw-gears #cboxMiddleLeft{width:32px; background-position:-96px 0; }
685
- .gmw-gears #cboxMiddleRight{width:32px; background-position:-64px 0; }
686
- .gmw-gears #cboxContent{ background:#ffffff; overflow:visible; }
687
- .gmw-gears .gmw-header, .gmw-gears .gmw-footer{background: #5D5D5D;color: #FFF;}
688
- .gmw-gears .cboxIframe {background:#fff;}
689
- .gmw-gears .cboxPhoto { margin-bottom:0px;}
690
- .gmw-gears .cboxPhoto.withLongCaption { margin-bottom:0px; }
691
- .gmw-gears #cboxError{padding:50px; border:1px solid #ccc;}
692
- .gmw-gears #cboxLoadedContent{ margin-bottom:0px; font-style: italic; background:#ffffff; }
693
- .gmw-gears #cboxTitle { display:none !important; }
694
- .gmw-gears #cboxCurrent{ display:none !important; }
695
- .gmw-gears #cboxLoadingOverlay{background:#fff;}
696
- .gmw-gears #cboxPrevious, .gmw-gears #cboxNext, .gmw-gears #cboxSlideshow, .gmw-gears #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
697
- .gmw-gears #cboxPrevious:active, .gmw-gears #cboxNext:active, .gmw-gears #cboxSlideshow:active, .gmw-gears #cboxClose:active {outline:0;}
698
- .gmw-gears #cboxPrevious, .gmw-gears #cboxNext, .gmw-gears #cboxClose { display:block; background:transparent url(../images/colorbox/gears/frame1.png) 0 0 no-repeat; transition:opacity 0.35s ease; color:#e5e5e5; }
699
- .gmw-gears #cboxPrevious, .gmw-gears #cboxNext, .gmw-gears #cboxClose { text-indent: 100%; white-space: nowrap; overflow: hidden; }
700
- .gmw-gears #cboxPrevious, .gmw-gears #cboxNext, .gmw-gears #cboxClose { width:64px; height:64px; }
701
- .gmw-gears #cboxPrevious, .gmw-gears #cboxNext { opacity:0.5; }
702
- .gmw-gears #cboxClose { opacity:1.0; border-left:none; }
703
- .gmw-gears #cboxPrevious:hover, .gmw-gears #cboxNext:hover, .gmw-gears #cboxClose:hover { opacity:1.0; }
704
- .gmw-gears #cboxPrevious{ position:absolute; bottom:46%; left:-85px; color:#444; background-position:-196px 0px; }
705
- .gmw-gears #cboxNext{ position:absolute; bottom:46%; right:-92px; color:#444; background-position:-128px 0px; }
706
- .gmw-gears #cboxClose{ width:22px; height:22px; position:absolute; top:-10px; left:100%; margin-left:18px; color:#333; background-position:right 0px; transition:width 0.25s ease; background-color:#909090; -webkit-box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4); }
707
- .gmw-gears #cboxClose:hover { width:26px; }
708
- .gmw-gears #cboxSlideshow { position:absolute; top:100%; margin-top:28px; left:50%; margin-left:-25px; width:100px; height:25px; color: #e7e8e5; text-shadow:1px 1px 0 #6e6d6d; font-size:10px; line-height:12px; background-color: #ffffff;padding: 6px 10px; background-color:#888687; -webkit-box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);}
709
- .gmw-gears #cboxSlideshow:hover { color:#ffffff; }
710
-
711
- /* painting */
712
- #cboxOverlay.gmw-painting{ background:#FFEAAD repeat 0 0; -webkit-box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75); box-shadow: inset 0px 0px 256px 0px rgba(0, 0, 0, 0.75);}
713
- .gmw-painting #cboxWrapper { overflow:visible; }
714
- .gmw-painting #cboxTopLeft, .gmw-painting #cboxTopCenter, .gmw-painting #cboxTopRight, .gmw-painting #cboxBottomLeft, .gmw-painting #cboxBottomCenter, .gmw-painting #cboxBottomRight, .gmw-painting #cboxMiddleLeft, .gmw-painting #cboxMiddleRight { background:#ffffff;}
715
- #colorbox.gmw-painting { outline:none;background:transparent;overflow:visible;}
716
- .gmw-painting #cboxTopLeft,.gmw-painting #cboxTopRight,.gmw-painting #cboxBottomLeft,.gmw-painting #cboxBottomRight,.gmw-painting #cboxMiddleLeft,.gmw-painting #cboxMiddleRight{ background:transparent url("../images/colorbox/painting/frame1.png") no-repeat 0 0;}
717
- .gmw-painting #cboxMiddleLeft,.gmw-painting #cboxMiddleRight { background-repeat:repeat-y; }
718
- .gmw-painting #cboxTopCenter, .gmw-painting #cboxBottomCenter { background:transparent url("../images/colorbox/painting/frame2.png") repeat-x 0 0;}
719
- .gmw-painting #cboxTopLeft { width:32px; height:32px; background-position:0 0; }
720
- .gmw-painting #cboxTopCenter{height:32px; background-position:0 -32px; }
721
- .gmw-painting #cboxTopRight{width:32px; height:32px; background-position:-32px 0; }
722
- .gmw-painting #cboxBottomLeft{width:32px; height:32px; background-position:0 -32px; }
723
- .gmw-painting #cboxBottomCenter{height:32px; }
724
- .gmw-painting #cboxBottomRight{width:32px; height:32px; background-position:-32px -32px; }
725
- .gmw-painting #cboxMiddleLeft{width:32px; background-position:-96px 0; }
726
- .gmw-painting #cboxMiddleRight{width:32px; background-position:-64px 0; }
727
- .gmw-painting #cboxContent{ background:#ffffff; overflow:visible; }
728
- .gmw-painting .gmw-header, .gmw-painting .gmw-footer{background:#E0D58D;color:#331A00;}
729
- .gmw-painting .cboxIframe {background:#fff;}
730
- .gmw-painting .cboxPhoto { margin-bottom:0px;}
731
- .gmw-painting .cboxPhoto.withLongCaption { margin-bottom:0px; }
732
- .gmw-painting #cboxError{padding:50px; border:1px solid #ccc;}
733
- .gmw-painting #cboxLoadedContent{ margin-bottom:0px; font-style: italic; background:#ffffff; }
734
- .gmw-painting #cboxTitle { display:none !important; }
735
- .gmw-painting #cboxCurrent{ display:none !important; }
736
- .gmw-painting #cboxLoadingOverlay{background:#fff;}
737
- .gmw-painting #cboxPrevious, .gmw-painting #cboxNext, .gmw-painting #cboxSlideshow, .gmw-painting #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
738
- .gmw-painting #cboxPrevious:active, .gmw-painting #cboxNext:active, .gmw-painting #cboxSlideshow:active, .gmw-painting #cboxClose:active {outline:0;}
739
- .gmw-painting #cboxPrevious, .gmw-painting #cboxNext, .gmw-painting #cboxClose { display:block; background:transparent url(../images/colorbox/painting/frame1.png) 0 0 no-repeat; transition:opacity 0.35s ease; color:#e5e5e5; }
740
- .gmw-painting #cboxPrevious, .gmw-painting #cboxNext, .gmw-painting #cboxClose { text-indent: 100%; white-space: nowrap; overflow: hidden; }
741
- .gmw-painting #cboxPrevious, .gmw-painting #cboxNext, .gmw-painting #cboxClose { width:64px; height:64px; }
742
- .gmw-painting #cboxPrevious, .gmw-painting #cboxNext { opacity:0.5; }
743
- .gmw-painting #cboxClose { opacity:1.0; border-left:none; }
744
- .gmw-painting #cboxPrevious:hover, .gmw-painting #cboxNext:hover, .gmw-painting #cboxClose:hover { opacity:1.0; }
745
- .gmw-painting #cboxPrevious{ position:absolute; bottom:46%; left:-85px; color:#444; background-position:-196px 0px; }
746
- .gmw-painting #cboxNext{ position:absolute; bottom:46%; right:-92px; color:#444; background-position:-128px 0px; }
747
- .gmw-painting #cboxClose{ width:22px; height:22px; position:absolute; top:-10px; left:100%; margin-left:30px; color:#333; background-position:right 0px; transition:width 0.25s ease; background-color:#996F34; -webkit-box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 8px 0px 15px -6px rgba(0, 0, 0, 0.4); }
748
- .gmw-painting #cboxClose:hover { width:26px; }
749
- .gmw-painting #cboxSlideshow { position:absolute; top:100%; margin-top:28px; left:50%; margin-left:-25px; width:100px; height:25px; color: #e7e8e5; text-shadow:1px 1px 0 #6e6d6d; font-size:10px; line-height:12px; background-color: #ffffff;padding: 6px 10px; background-color:#888687; -webkit-box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);box-shadow: inset 0px 8px 15px -6px rgba(0, 0, 0, 0.4);}
750
- .gmw-painting #cboxSlideshow:hover { color:#ffffff; }
18
  }
19
 
20
  .gmw-error {
21
+ color: #ff0000;
22
  }
23
 
24
+ #cboxClose {
25
+ z-index: 999;
 
26
  }
27
 
28
  /* Colorbox Core Style */
90
  .gmw-light .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
91
  .gmw-light .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
92
  .gmw-light .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
93
+ .gmw-light .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
gmw-export-import.php DELETED
@@ -1,217 +0,0 @@
1
- <?php
2
- /*
3
- * Google Maps Widget
4
- * (c) Web factory Ltd, 2013 - 2016
5
- *
6
- * Parts of code are based on Widget Importer & Exporter
7
- * (c) Steven Gliebe, http://stevengliebe.com/
8
- * https://wordpress.org/plugins/widget-importer-exporter/
9
- */
10
-
11
-
12
- // this is an include only WP file
13
- if (!defined('ABSPATH')) {
14
- die;
15
- }
16
-
17
-
18
- class GMW_export_import {
19
- // pack all GMW widget instances in an array
20
- static function generate_export_data() {
21
- $widget_instances = $instances = $sidebars_widget_instances = array();
22
-
23
- $instances = get_option('widget_googlemapswidget', array());
24
- foreach ($instances as $instance_id => $instance_data) {
25
- if ( is_numeric( $instance_id ) ) {
26
- $unique_instance_id = 'googlemapswidget' . '-' . $instance_id;
27
- $widget_instances[$unique_instance_id] = $instance_data;
28
- }
29
- } // foreach
30
-
31
- // get sidebars with their widget instances
32
- $sidebars_widgets = get_option('sidebars_widgets');
33
- foreach ($sidebars_widgets as $sidebar_id => $widget_ids ) {
34
- if ('_wp_inactive_widgets' == $sidebar_id ) {
35
- continue;
36
- }
37
- if (!is_array($widget_ids) || empty($widget_ids)) {
38
- continue;
39
- }
40
-
41
- // loop widget IDs for this sidebar
42
- foreach ($widget_ids as $widget_id ) {
43
- if (isset($widget_instances[$widget_id])) {
44
- $sidebars_widget_instances[$sidebar_id][$widget_id] = $widget_instances[$widget_id];
45
- }
46
- }
47
- } // sidebar widgets
48
-
49
- return $sidebars_widget_instances;
50
- } // generate_export_data
51
-
52
-
53
- // creates a file with GMW export
54
- static function send_export_file() {
55
- $filename = str_replace(array('http://', 'https://'), '', home_url());
56
- $filename = str_replace(array('/', '\\', '.'), '-', $filename);
57
- $filename .= '-' . date('Y-m-d') . '-googlemapswidgets.txt';
58
-
59
- $out = array('type' => 'GMW export', 'version' => GMW::$version, 'data' => self::generate_export_data());
60
- $out = json_encode($out);
61
-
62
- header('Content-Type: text/plain');
63
- header('Content-Disposition: attachment; filename=' . $filename);
64
- header('Expires: 0');
65
- header('Cache-Control: must-revalidate');
66
- header('Pragma: public');
67
- header('Content-Length: ' . strlen($out));
68
-
69
- @ob_end_clean();
70
- flush();
71
-
72
- echo $out;
73
- exit;
74
- } // send_export_file
75
-
76
-
77
- // validate import file after upload
78
- static function validate_import_file() {
79
- if (empty($_POST) || empty($_FILES['gmw_widgets_import'])) {
80
- return new WP_Error('0', 'No import file uploaded.');
81
- }
82
-
83
- $uploaded_file = $_FILES['gmw_widgets_import'];
84
- $wp_filetype = wp_check_filetype_and_ext($uploaded_file['tmp_name'], $uploaded_file['name'], false);
85
- if ($wp_filetype['ext'] != 'txt' && !wp_match_mime_types('txt', $wp_filetype['type'])) {
86
- return new WP_Error(1, 'Please upload a <i>TXT</i> file generated by Google Maps Widget.');
87
- }
88
-
89
- if ($uploaded_file['size'] < 500) {
90
- return new WP_Error(1, 'Uploaded file is too small. Please verify that you have uploaded the right file.');
91
- }
92
-
93
- if ($uploaded_file['size'] > 100000) {
94
- return new WP_Error(1, 'Uploaded file is too large to process. Please verify that you have uploaded the right file.');
95
- }
96
-
97
- $content = file_get_contents($uploaded_file['tmp_name']);
98
- $content = json_decode($content, true);
99
- if (!isset($content['type']) || !isset($content['version']) || !isset($content['data']) ||
100
- $content['type'] != 'GMW export' || !is_array($content['data'])) {
101
- return new WP_Error(1, 'Uploaded file is not a GMW export file. Please verify that you have uploaded the right file.');
102
- }
103
-
104
- return $content;
105
- } // validate_import_file
106
-
107
-
108
- // process uploaded import file
109
- static function process_import_file($import_data) {
110
- global $wp_registered_sidebars;
111
- $results = array('total' => 0);
112
-
113
- $data = $import_data['data'];
114
- $widget_instances = array('googlemapswidget' => get_option('widget_googlemapswidget', array()));
115
-
116
- // loop import data's sidebars
117
- foreach ($data as $sidebar_id => $widgets) {
118
- // check if sidebar is available on this site; or add to inactive
119
- if (isset($wp_registered_sidebars[$sidebar_id])) {
120
- $sidebar_available = true;
121
- $use_sidebar_id = $sidebar_id;
122
- $sidebar_message_type = 'success';
123
- $sidebar_message = '';
124
- } else {
125
- $sidebar_available = false;
126
- $use_sidebar_id = 'wp_inactive_widgets';
127
- $sidebar_message_type = 'error';
128
- $sidebar_message = __('Sidebar does not exist in theme (using Inactive)', 'google-maps-widget');
129
- }
130
-
131
- $results[$sidebar_id]['name'] = ! empty($wp_registered_sidebars[$sidebar_id]['name']) ? $wp_registered_sidebars[$sidebar_id]['name']: $sidebar_id;
132
- $results[$sidebar_id]['message_type'] = $sidebar_message_type;
133
- $results[$sidebar_id]['message'] = $sidebar_message;
134
- $results[$sidebar_id]['widgets'] = array();
135
-
136
- // loop widgets
137
- foreach ( $widgets as $widget_instance_id => $widget ) {
138
- $fail = false;
139
-
140
- $id_base = preg_replace('/-[0-9]+$/', '', $widget_instance_id);
141
- $instance_id_number = str_replace($id_base . '-', '', $widget_instance_id);
142
-
143
- // Does widget with identical settings already exist in same sidebar?
144
- if (!$fail && isset($widget_instances[$id_base])) {
145
-
146
- // Get existing widgets in this sidebar
147
- $sidebars_widgets = get_option('sidebars_widgets');
148
- $sidebar_widgets = isset($sidebars_widgets[$use_sidebar_id])? $sidebars_widgets[$use_sidebar_id]: array();
149
-
150
- // Loop widgets with ID base
151
- $single_widget_instances = !empty($widget_instances[$id_base])? $widget_instances[$id_base]: array();
152
- foreach ($single_widget_instances as $check_id => $check_widget) {
153
- // is widget in same sidebar and has identical settings?
154
- if (in_array("$id_base-$check_id", $sidebar_widgets) && (array) $widget == $check_widget) {
155
- $fail = true;
156
- $widget_message_type = 'warning';
157
- $widget_message = __('Widget already exists', 'google-maps-widget');
158
- break;
159
- }
160
- }
161
- }
162
-
163
- if (!$fail) {
164
- // Add widget instance
165
- $single_widget_instances = get_option('widget_' . $id_base);
166
- $single_widget_instances = !empty($single_widget_instances)? $single_widget_instances: array('_multiwidget' => 1);
167
- $single_widget_instances[] = $widget; // add it
168
-
169
- // Get the key it was given
170
- end($single_widget_instances);
171
- $new_instance_id_number = key($single_widget_instances);
172
-
173
- // If key is 0, make it 1
174
- // When 0, an issue can occur where adding a widget causes data from other widget to load, and the widget doesn't stick (reload wipes it)
175
- if ('0' === strval($new_instance_id_number)) {
176
- $new_instance_id_number = 1;
177
- $single_widget_instances[$new_instance_id_number] = $single_widget_instances[0];
178
- unset( $single_widget_instances[0] );
179
- }
180
-
181
- // Move _multiwidget to end of array for uniformity
182
- if (isset($single_widget_instances['_multiwidget'])) {
183
- $multiwidget = $single_widget_instances['_multiwidget'];
184
- unset($single_widget_instances['_multiwidget']);
185
- $single_widget_instances['_multiwidget'] = $multiwidget;
186
- }
187
-
188
- // Update option with new widget
189
- update_option('widget_' . $id_base, $single_widget_instances);
190
-
191
- // Assign widget instance to sidebar
192
- $sidebars_widgets = get_option('sidebars_widgets'); // which sidebars have which widgets, get fresh every time
193
- $new_instance_id = $id_base . '-' . $new_instance_id_number; // use ID number from new widget instance
194
- $sidebars_widgets[$use_sidebar_id][] = $new_instance_id; // add new instance to sidebar
195
- update_option('sidebars_widgets', $sidebars_widgets); // save the amended data
196
-
197
- // Success message
198
- if ( $sidebar_available ) {
199
- $widget_message_type = 'success';
200
- $widget_message = 'Imported';
201
- } else {
202
- $widget_message_type = 'warning';
203
- $widget_message = 'Imported to inactive';
204
- }
205
- }
206
-
207
- $results[$sidebar_id]['widgets'][$widget_instance_id]['name'] = isset( $available_widgets[$id_base]['name'] ) ? $available_widgets[$id_base]['name'] : $id_base; // widget name or ID if name not available (not supported by site)
208
- $results[$sidebar_id]['widgets'][$widget_instance_id]['title'] = ! empty( $widget['title'] ) ? $widget['title'] : __( 'No Title', 'google-maps-widget' ); // show "No Title" if widget instance is untitled
209
- $results[$sidebar_id]['widgets'][$widget_instance_id]['message_type'] = $widget_message_type;
210
- $results[$sidebar_id]['widgets'][$widget_instance_id]['message'] = $widget_message;
211
- $results['total']++;
212
- }
213
- }
214
-
215
- return $results;
216
- } // process_import_file
217
- } // GMW_export_import
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
gmw-map-styles.php DELETED
@@ -1,41 +0,0 @@
1
- <?php
2
- /*
3
- * Google Maps Widget
4
- * (c) Web factory Ltd, 2013 - 2016
5
- */
6
-
7
-
8
- // this is an include only WP file
9
- if (!defined('ABSPATH')) {
10
- die;
11
- }
12
-
13
-
14
- class GMW_styles {
15
- static $js_styles = array(
16
- 'pale' => '[{"featureType":"water","stylers":[{"visibility":"on"},{"color":"#acbcc9"}]},{"featureType":"landscape","stylers":[{"color":"#f2e5d4"}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"color":"#c5c6c6"}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#e4d7c6"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#fbfaf7"}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#c5dac6"}]},{"featureType":"administrative","stylers":[{"visibility":"on"},{"lightness":33}]},{"featureType":"road"},{"featureType":"poi.park","elementType":"labels","stylers":[{"visibility":"on"},{"lightness":20}]},{},{"featureType":"road","stylers":[{"lightness":20}]}]',
17
- 'blue' => '[{"featureType":"water","stylers":[{"color":"#46bcec"},{"visibility":"on"}]},{"featureType":"landscape","stylers":[{"color":"#f2f2f2"}]},{"featureType":"road","stylers":[{"saturation":-100},{"lightness":45}]},{"featureType":"road.highway","stylers":[{"visibility":"simplified"}]},{"featureType":"road.arterial","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"administrative","elementType":"labels.text.fill","stylers":[{"color":"#444444"}]},{"featureType":"transit","stylers":[{"visibility":"off"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]}]',
18
- 'light' => '[{"featureType":"water","elementType":"all","stylers":[{"hue":"#e9ebed"},{"saturation":-78},{"lightness":67},{"visibility":"simplified"}]},{"featureType":"landscape","elementType":"all","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"simplified"}]},{"featureType":"road","elementType":"geometry","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":31},{"visibility":"simplified"}]},{"featureType":"poi","elementType":"all","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"off"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"hue":"#e9ebed"},{"saturation":-90},{"lightness":-8},{"visibility":"simplified"}]},{"featureType":"transit","elementType":"all","stylers":[{"hue":"#e9ebed"},{"saturation":10},{"lightness":69},{"visibility":"on"}]},{"featureType":"administrative.locality","elementType":"all","stylers":[{"hue":"#2c2e33"},{"saturation":7},{"lightness":19},{"visibility":"on"}]},{"featureType":"road","elementType":"labels","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":31},{"visibility":"on"}]},{"featureType":"road.arterial","elementType":"labels","stylers":[{"hue":"#bbc0c4"},{"saturation":-93},{"lightness":-2},{"visibility":"simplified"}]}]',
19
- 'bright' => '[{"featureType":"water","stylers":[{"color":"#19a0d8"}]},{"featureType":"administrative","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"},{"weight":6}]},{"featureType":"administrative","elementType":"labels.text.fill","stylers":[{"color":"#e85113"}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#efe9e4"},{"lightness":-40}]},{"featureType":"road.arterial","elementType":"geometry.stroke","stylers":[{"color":"#efe9e4"},{"lightness":-20}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"lightness":100}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"lightness":-100}]},{"featureType":"road.highway","elementType":"labels.icon"},{"featureType":"landscape","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"landscape","stylers":[{"lightness":20},{"color":"#efe9e4"}]},{"featureType":"landscape.man_made","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"labels.text.stroke","stylers":[{"lightness":100}]},{"featureType":"water","elementType":"labels.text.fill","stylers":[{"lightness":-100}]},{"featureType":"poi","elementType":"labels.text.fill","stylers":[{"hue":"#11ff00"}]},{"featureType":"poi","elementType":"labels.text.stroke","stylers":[{"lightness":100}]},{"featureType":"poi","elementType":"labels.icon","stylers":[{"hue":"#4cff00"},{"saturation":58}]},{"featureType":"poi","elementType":"geometry","stylers":[{"visibility":"on"},{"color":"#f0e4d3"}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#efe9e4"},{"lightness":-25}]},{"featureType":"road.arterial","elementType":"geometry.fill","stylers":[{"color":"#efe9e4"},{"lightness":-10}]},{"featureType":"poi","elementType":"labels","stylers":[{"visibility":"simplified"}]}]',
20
- 'apple' => '[{"featureType":"water","elementType":"geometry","stylers":[{"color":"#a2daf2"}]},{"featureType":"landscape.man_made","elementType":"geometry","stylers":[{"color":"#f7f1df"}]},{"featureType":"landscape.natural","elementType":"geometry","stylers":[{"color":"#d0e3b4"}]},{"featureType":"landscape.natural.terrain","elementType":"geometry","stylers":[{"visibility":"off"}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#bde6ab"}]},{"featureType":"poi","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"poi.medical","elementType":"geometry","stylers":[{"color":"#fbd3da"}]},{"featureType":"poi.business","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#ffe15f"}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#efd151"}]},{"featureType":"road.arterial","elementType":"geometry.fill","stylers":[{"color":"#ffffff"}]},{"featureType":"road.local","elementType":"geometry.fill","stylers":[{"color":"black"}]},{"featureType":"transit.station.airport","elementType":"geometry.fill","stylers":[{"color":"#cfb2db"}]}]',
21
- 'gray' => '[{"featureType":"landscape","stylers":[{"saturation":-100},{"lightness":65},{"visibility":"on"}]},{"featureType":"poi","stylers":[{"saturation":-100},{"lightness":51},{"visibility":"simplified"}]},{"featureType":"road.highway","stylers":[{"saturation":-100},{"visibility":"simplified"}]},{"featureType":"road.arterial","stylers":[{"saturation":-100},{"lightness":30},{"visibility":"on"}]},{"featureType":"road.local","stylers":[{"saturation":-100},{"lightness":40},{"visibility":"on"}]},{"featureType":"transit","stylers":[{"saturation":-100},{"visibility":"simplified"}]},{"featureType":"administrative.province","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"labels","stylers":[{"visibility":"on"},{"lightness":-25},{"saturation":-100}]},{"featureType":"water","elementType":"geometry","stylers":[{"hue":"#ffff00"},{"lightness":-25},{"saturation":-97}]}]',
22
- 'gray2' => '[{"featureType":"all","stylers":[{"saturation":-100},{"gamma":0.5}]}]',
23
- 'gowalla' => '[{"featureType":"road","elementType":"labels","stylers":[{"visibility":"simplified"},{"lightness":20}]},{"featureType":"administrative.land_parcel","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"landscape.man_made","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"road.local","elementType":"labels","stylers":[{"visibility":"simplified"}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"visibility":"simplified"}]},{"featureType":"road.highway","elementType":"labels","stylers":[{"visibility":"simplified"}]},{"featureType":"poi","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"road.arterial","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"all","stylers":[{"hue":"#a1cdfc"},{"saturation":30},{"lightness":49}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"hue":"#f49935"}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"hue":"#fad959"}]}]',
24
- 'mapbox' => '[{"featureType":"water","stylers":[{"saturation":43},{"lightness":-11},{"hue":"#0088ff"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"hue":"#ff0000"},{"saturation":-100},{"lightness":99}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"color":"#808080"},{"lightness":54}]},{"featureType":"landscape.man_made","elementType":"geometry.fill","stylers":[{"color":"#ece2d9"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#ccdca1"}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#767676"}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]},{"featureType":"landscape.natural","elementType":"geometry.fill","stylers":[{"visibility":"on"},{"color":"#b8cb93"}]},{"featureType":"poi.park","stylers":[{"visibility":"on"}]},{"featureType":"poi.sports_complex","stylers":[{"visibility":"on"}]},{"featureType":"poi.medical","stylers":[{"visibility":"on"}]},{"featureType":"poi.business","stylers":[{"visibility":"simplified"}]}]',
25
- 'peper' => '[{"featureType":"landscape","stylers":[{"hue":"#F1FF00"},{"saturation":-27.4},{"lightness":9.4},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#0099FF"},{"saturation":-20},{"lightness":36.4},{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#00FF4F"},{"saturation":0},{"lightness":0},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FFB300"},{"saturation":-38},{"lightness":11.2},{"gamma":1}]},{"featureType":"water","stylers":[{"hue":"#00B6FF"},{"saturation":4.2},{"lightness":-63.4},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#9FFF00"},{"saturation":0},{"lightness":0},{"gamma":1}]}]',
26
- 'midnight' => '[{"featureType":"water","stylers":[{"color":"#021019"}]},{"featureType":"landscape","stylers":[{"color":"#08304b"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#0c4152"},{"lightness":5}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#0b434f"},{"lightness":25}]},{"featureType":"road.arterial","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"road.arterial","elementType":"geometry.stroke","stylers":[{"color":"#0b3d51"},{"lightness":16}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#000000"}]},{"elementType":"labels.text.fill","stylers":[{"color":"#ffffff"}]},{"elementType":"labels.text.stroke","stylers":[{"color":"#000000"},{"lightness":13}]},{"featureType":"transit","stylers":[{"color":"#146474"}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#144b53"},{"lightness":14},{"weight":1.4}]}]');
27
-
28
-
29
- static $php_styles = array(
30
- 'pale' => 'style=feature:water|element:all|visibility:on|color:0xacbcc9|&style=feature:landscape|element:all|color:0xf2e5d4|&style=feature:road.highway|element:geometry|color:0xc5c6c6|&style=feature:road.arterial|element:geometry|color:0xe4d7c6|&style=feature:road.local|element:geometry|color:0xfbfaf7|&style=feature:poi.park|element:geometry|color:0xc5dac6|&style=feature:administrative|element:all|visibility:on|lightness:33|&style=&style=feature:poi.park|element:labels|visibility:on|lightness:20|&style=&style=feature:road|element:all|lightness:20|',
31
- 'blue' => 'style=feature:water|element:all|color:0x46bcec|visibility:on|&style=feature:landscape|element:all|color:0xf2f2f2|&style=feature:road|element:all|saturation:-100|lightness:45|&style=feature:road.highway|element:all|visibility:simplified|&style=feature:road.arterial|element:labels.icon|visibility:off|&style=feature:administrative|element:labels.text.fill|color:0x444444|&style=feature:transit|element:all|visibility:off|&style=feature:poi|element:all|visibility:off|',
32
- 'light' => 'style=feature:water|element:all|hue:0xe9ebed|saturation:-78|lightness:67|visibility:simplified|&style=feature:landscape|element:all|hue:0xffffff|saturation:-100|lightness:100|visibility:simplified|&style=feature:road|element:geometry|hue:0xbbc0c4|saturation:-93|lightness:31|visibility:simplified|&style=feature:poi|element:all|hue:0xffffff|saturation:-100|lightness:100|visibility:off|&style=feature:road.local|element:geometry|hue:0xe9ebed|saturation:-90|lightness:-8|visibility:simplified|&style=feature:transit|element:all|hue:0xe9ebed|saturation:10|lightness:69|visibility:on|&style=feature:administrative.locality|element:all|hue:0x2c2e33|saturation:7|lightness:19|visibility:on|&style=feature:road|element:labels|hue:0xbbc0c4|saturation:-93|lightness:31|visibility:on|&style=feature:road.arterial|element:labels|hue:0xbbc0c4|saturation:-93|lightness:-2|visibility:simplified|',
33
- 'bright' => 'style=feature:water|element:all|color:0x19a0d8|&style=feature:administrative|element:labels.text.stroke|color:0xffffff|weight:6|&style=feature:administrative|element:labels.text.fill|color:0xe85113|&style=feature:road.highway|element:geometry.stroke|color:0xefe9e4|lightness:-40|&style=feature:road.arterial|element:geometry.stroke|color:0xefe9e4|lightness:-20|&style=feature:road|element:labels.text.stroke|lightness:100|&style=feature:road|element:labels.text.fill|lightness:-100|&style=&style=feature:landscape|element:labels|visibility:off|&style=feature:landscape|element:all|lightness:20|color:0xefe9e4|&style=feature:landscape.man_made|element:all|visibility:off|&style=feature:water|element:labels.text.stroke|lightness:100|&style=feature:water|element:labels.text.fill|lightness:-100|&style=feature:poi|element:labels.text.fill|hue:0x11ff00|&style=feature:poi|element:labels.text.stroke|lightness:100|&style=feature:poi|element:labels.icon|hue:0x4cff00|saturation:58|&style=feature:poi|element:geometry|visibility:on|color:0xf0e4d3|&style=feature:road.highway|element:geometry.fill|color:0xefe9e4|lightness:-25|&style=feature:road.arterial|element:geometry.fill|color:0xefe9e4|lightness:-10|&style=feature:poi|element:labels|visibility:simplified|',
34
- 'apple' => 'style=feature:water|element:geometry|color:0xa2daf2|&style=feature:landscape.man_made|element:geometry|color:0xf7f1df|&style=feature:landscape.natural|element:geometry|color:0xd0e3b4|&style=feature:landscape.natural.terrain|element:geometry|visibility:off|&style=feature:poi.park|element:geometry|color:0xbde6ab|&style=feature:poi|element:labels|visibility:off|&style=feature:poi.medical|element:geometry|color:0xfbd3da|&style=feature:poi.business|element:all|visibility:off|&style=feature:road|element:geometry.stroke|visibility:off|&style=feature:road|element:labels|visibility:off|&style=feature:road.highway|element:geometry.fill|color:0xffe15f|&style=feature:road.highway|element:geometry.stroke|color:0xefd151|&style=feature:road.arterial|element:geometry.fill|color:0xffffff|&style=feature:road.local|element:geometry.fill|color:black|&style=feature:transit.station.airport|element:geometry.fill|color:0xcfb2db|',
35
- 'gray' => 'style=feature:landscape|element:all|saturation:-100|lightness:65|visibility:on|&style=feature:poi|element:all|saturation:-100|lightness:51|visibility:simplified|&style=feature:road.highway|element:all|saturation:-100|visibility:simplified|&style=feature:road.arterial|element:all|saturation:-100|lightness:30|visibility:on|&style=feature:road.local|element:all|saturation:-100|lightness:40|visibility:on|&style=feature:transit|element:all|saturation:-100|visibility:simplified|&style=feature:administrative.province|element:all|visibility:off|&style=feature:water|element:labels|visibility:on|lightness:-25|saturation:-100|&style=feature:water|element:geometry|hue:0xffff00|lightness:-25|saturation:-97|',
36
- 'gray2' => 'style=feature:all|element:all|saturation:-100|gamma:0.5|',
37
- 'gowalla' => 'style=feature:road|element:labels|visibility:simplified|lightness:20|&style=feature:administrative.land_parcel|element:all|visibility:off|&style=feature:landscape.man_made|element:all|visibility:off|&style=feature:transit|element:all|visibility:off|&style=feature:road.local|element:labels|visibility:simplified|&style=feature:road.local|element:geometry|visibility:simplified|&style=feature:road.highway|element:labels|visibility:simplified|&style=feature:poi|element:labels|visibility:off|&style=feature:road.arterial|element:labels|visibility:off|&style=feature:water|element:all|hue:0xa1cdfc|saturation:30|lightness:49|&style=feature:road.highway|element:geometry|hue:0xf49935|&style=feature:road.arterial|element:geometry|hue:0xfad959|',
38
- 'mapbox' => 'style=feature:water|element:all|saturation:43|lightness:-11|hue:0x0088ff|&style=feature:road|element:geometry.fill|hue:0xff0000|saturation:-100|lightness:99|&style=feature:road|element:geometry.stroke|color:0x808080|lightness:54|&style=feature:landscape.man_made|element:geometry.fill|color:0xece2d9|&style=feature:poi.park|element:geometry.fill|color:0xccdca1|&style=feature:road|element:labels.text.fill|color:0x767676|&style=feature:road|element:labels.text.stroke|color:0xffffff|&style=feature:poi|element:all|visibility:off|&style=feature:landscape.natural|element:geometry.fill|visibility:on|color:0xb8cb93|&style=feature:poi.park|element:all|visibility:on|&style=feature:poi.sports_complex|element:all|visibility:on|&style=feature:poi.medical|element:all|visibility:on|&style=feature:poi.business|element:all|visibility:simplified|',
39
- 'paper' => 'style=feature:landscape|element:all|hue:0xF1FF00|saturation:-27.4|lightness:9.4|gamma:1|&style=feature:road.highway|element:all|hue:0x0099FF|saturation:-20|lightness:36.4|gamma:1|&style=feature:road.arterial|element:all|hue:0x00FF4F|saturation:0|lightness:0|gamma:1|&style=feature:road.local|element:all|hue:0xFFB300|saturation:-38|lightness:11.2|gamma:1|&style=feature:water|element:all|hue:0x00B6FF|saturation:4.2|lightness:-63.4|gamma:1|&style=feature:poi|element:all|hue:0x9FFF00|saturation:0|lightness:0|gamma:1|',
40
- 'midnight' => 'style=feature:water|element:all|color:0x021019|&style=feature:landscape|element:all|color:0x08304b|&style=feature:poi|element:geometry|color:0x0c4152|lightness:5|&style=feature:road.highway|element:geometry.fill|color:0x000000|&style=feature:road.highway|element:geometry.stroke|color:0x0b434f|lightness:25|&style=feature:road.arterial|element:geometry.fill|color:0x000000|&style=feature:road.arterial|element:geometry.stroke|color:0x0b3d51|lightness:16|&style=feature:road.local|element:geometry|color:0x000000|&style=feature:all|element:labels.text.fill|color:0xffffff|&style=feature:all|element:labels.text.stroke|color:0x000000|lightness:13|&style=feature:transit|element:all|color:0x146474|&style=feature:administrative|element:geometry.fill|color:0x000000|&style=feature:administrative|element:geometry.stroke|color:0x144b53|lightness:14|weight:1.4|');
41
- } // GMW_styles
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
gmw-tracking.php CHANGED
@@ -126,7 +126,6 @@ class GMW_tracking {
126
  $data['gmw_version'] = GMW::$version;
127
  $data['gmw_first_version'] = $options['first_version'];
128
  $data['gmw_first_install'] = $options['first_install'];
129
- $data['gmw_activated'] = GMW::is_activated();
130
  $data['ioncube'] = extension_loaded('IonCube Loader');
131
  $data['gmw_count'] = self::count_active_widgets();
132
 
126
  $data['gmw_version'] = GMW::$version;
127
  $data['gmw_first_version'] = $options['first_version'];
128
  $data['gmw_first_install'] = $options['first_install'];
 
129
  $data['ioncube'] = extension_loaded('IonCube Loader');
130
  $data['gmw_count'] = self::count_active_widgets();
131
 
gmw-widget.php CHANGED
@@ -13,6 +13,7 @@ if (!defined('ABSPATH')) {
13
 
14
 
15
  // main widget class, extends WP widget interface/class
 
16
  class GoogleMapsWidget extends WP_Widget {
17
  static $widgets = array();
18
  static $defaults = array('title' => 'Map',
@@ -22,7 +23,6 @@ class GoogleMapsWidget extends WP_Widget {
22
  'thumb_pin_size' => 'default',
23
  'thumb_pin_label' => 'A',
24
  'thumb_pin_img' => '',
25
- 'thumb_pin_img_library' => 'default/shootingrange.png',
26
  'thumb_width' => '250',
27
  'thumb_height' => '250',
28
  'thumb_type' => 'roadmap',
@@ -38,11 +38,6 @@ class GoogleMapsWidget extends WP_Widget {
38
  'lightbox_height' => '550',
39
  'lightbox_fullscreen' => '0',
40
  'lightbox_mode' => 'place',
41
- 'lightbox_origin' => '',
42
- 'lightbox_search' => '',
43
- 'lightbox_unit' => 'auto',
44
- 'lightbox_heading' => '0',
45
- 'lightbox_pitch' => '0',
46
  'lightbox_map_type' => 'roadmap',
47
  'lightbox_zoom' => '14',
48
  'lightbox_feature' => array('overlay_close'),
@@ -55,9 +50,6 @@ class GoogleMapsWidget extends WP_Widget {
55
  // constructor - define the widget
56
  function __construct() {
57
  $title = __('Google Maps Widget', 'google-maps-widget');
58
- if (GMW::is_activated()) {
59
- $title .= ' <b>PRO</b>';
60
- }
61
 
62
  $widget_ops = array('classname' => 'google-maps-widget', 'description' => __('Displays a map image thumbnail with a larger map available in a lightbox.', 'google-maps-widget'), 'customize_selective_refresh' => true);
63
  $control_ops = array('width' => 450, 'height' => 350);
@@ -65,16 +57,11 @@ class GoogleMapsWidget extends WP_Widget {
65
 
66
  self::$defaults['title'] = __('Map', 'google-maps-widget');
67
  self::$defaults['address'] = __('New York, USA', 'google-maps-widget');
68
-
69
- if (GMW::is_activated()) {
70
- self::$defaults['thumb_footer'] = '';
71
- }
72
  } // GoogleMapsWidget
73
 
74
 
75
  // widget edit form HTML
76
  function form($instance) {
77
- $options = GMW::get_options();
78
  $instance = $this->upgrade_wiget_instance($instance);
79
  extract($instance, EXTR_SKIP);
80
 
@@ -86,7 +73,11 @@ class GoogleMapsWidget extends WP_Widget {
86
  $lightbox_map_types = array(array('val' => 'roadmap', 'label' => __('Road (default)', 'google-maps-widget')),
87
  array('val' => 'satellite', 'label' => __('Satellite', 'google-maps-widget')));
88
 
89
- $lightbox_modes = array(array('val' => 'place', 'label' => __('Place (default)', 'google-maps-widget')));
 
 
 
 
90
 
91
  $thumb_pin_sizes = array(array('val' => 'tiny', 'label' => __('Tiny', 'google-maps-widget')),
92
  array('val' => 'small', 'label' => __('Small', 'google-maps-widget')),
@@ -102,9 +93,11 @@ class GoogleMapsWidget extends WP_Widget {
102
  array('val' => '#800080', 'label' => __('Purple', 'google-maps-widget')),
103
  array('val' => '#ff0000', 'label' => __('Red (default)', 'google-maps-widget')),
104
  array('val' => '#ffffff', 'label' => __('White', 'google-maps-widget')),
105
- array('val' => '#ffff00', 'label' => __('Yellow', 'google-maps-widget')));
 
106
 
107
- $pin_labels = array(array('val' => 'A', 'label' => __('A (default)', 'google-maps-widget')));
 
108
 
109
  $zoom_levels_thumb = array(array('val' => '0', 'label' => __('0 - entire world', 'google-maps-widget')));
110
  for ($tmp = 1; $tmp <= 21; $tmp++) {
@@ -116,219 +109,77 @@ class GoogleMapsWidget extends WP_Widget {
116
  }
117
  $zoom_levels_lightbox = $zoom_levels_thumb;
118
 
119
- $lightbox_sizes = array(array('val' => '0', 'label' => __('Custom size (default)', 'google-maps-widget')));
 
120
 
121
  $lightbox_skins = array(array('val' => 'dark', 'label' => __('Dark', 'google-maps-widget')),
122
- array('val' => 'light', 'label' => __('Light (default)', 'google-maps-widget')));
 
123
 
124
  $thumb_pin_types = array(array('val' => 'predefined', 'label' => __('Predefined by Google (default)', 'google-maps-widget')),
125
- array('val' => 'custom', 'label' => __('Custom image', 'google-maps-widget')));
 
126
 
127
  $thumb_link_types = array(array('val' => 'lightbox', 'label' => __('Interactive map in lightbox (default)', 'google-maps-widget')),
 
 
128
  array('val' => 'custom', 'label' => __('Custom URL', 'google-maps-widget')),
 
129
  array('val' => 'nolink', 'label' => __('Disable link', 'google-maps-widget')));
130
 
131
  $thumb_color_schemes = array(array('val' => 'default', 'label' => __('Default', 'google-maps-widget')),
132
- array('val' => 'new', 'label' => __('Refreshed by Google', 'google-maps-widget')));
 
 
133
 
134
- $thumb_formats = array(array('val' => 'png', 'label' => __('PNG 8-bit (default)', 'google-maps-widget')));
 
135
 
136
- $thumb_langs = array(array('val' => 'en', 'label' => 'English'));
 
137
 
138
- $lightbox_langs = array(array('val' => 'en', 'label' => 'English'));
 
139
 
140
  $lightbox_features = array(array('val' => 'title', 'label' => __('Show map title', 'google-maps-widget')),
141
- array('val' => 'overlay_close', 'label' => __('Close on overlay click', 'google-maps-widget')));
 
 
142
 
143
  $lightbox_units = array(array('val' => 'auto', 'label' => __('Detect automatically', 'google-maps-widget')),
144
  array('val' => 'imperial', 'label' => __('Imperial', 'google-maps-widget')),
145
  array('val' => 'metric', 'label' => __('Metric', 'google-maps-widget')));
146
 
 
147
  if (GMW::is_activated()) {
148
- array_push($thumb_color_schemes, array('val' => 'apple', 'label' => __('Apple', 'google-maps-widget')),
149
- array('val' => 'blue', 'label' => __('Blue', 'google-maps-widget')),
150
- array('val' => 'bright', 'label' => __('Bright', 'google-maps-widget')),
151
- array('val' => 'gowalla', 'label' => __('Gowalla', 'google-maps-widget')),
152
- array('val' => 'gray', 'label' => __('Gray', 'google-maps-widget')),
153
- array('val' => 'gray2', 'label' => __('Gray #2', 'google-maps-widget')),
154
- array('val' => 'light', 'label' => __('Light', 'google-maps-widget')),
155
- array('val' => 'mapbox', 'label' => __('Mapbox', 'google-maps-widget')),
156
- array('val' => 'midnight', 'label' => __('Midnight', 'google-maps-widget')),
157
- array('val' => 'pale', 'label' => __('Pale', 'google-maps-widget')),
158
- array('val' => 'paper', 'label' => __('Paper', 'google-maps-widget')));
159
-
160
- array_push($thumb_pin_types, array('val' => 'custom-library', 'label' => __('GMW pins library', 'google-maps-widget')));
161
-
162
- array_push($thumb_formats, array('val' => 'png32', 'label' => __('PNG 32-bit', 'google-maps-widget')),
163
- array('val' => 'gif', 'label' => __('GIF', 'google-maps-widget')),
164
- array('val' => 'jpg', 'label' => __('JPEG', 'google-maps-widget')),
165
- array('val' => 'jpg-baseline', 'label' => __('Non-progressive JPEG', 'google-maps-widget')));
166
-
167
- $thumb_link_types = array(array('val' => 'lightbox', 'label' => __('Interactive map in lightbox (default)', 'google-maps-widget')),
168
- array('val' => 'replace', 'label' => __('Replace thumb map with an interactive map', 'google-maps-widget')),
169
- array('val' => 'map_blank', 'label' => __('Interactive map in a new window', 'google-maps-widget')),
170
- array('val' => 'custom', 'label' => __('Custom URL', 'google-maps-widget')),
171
- array('val' => 'custom_blank', 'label' => __('Custom URL in a new window', 'google-maps-widget')),
172
- array('val' => 'nolink', 'label' => __('Disable link', 'google-maps-widget')));
173
-
174
- array_push($thumb_langs, array('val' => 'auto', 'label' => __('Automatic (based on user\'s browser settings)', 'google-maps-widget')),
175
- array('val' => 'ar', 'label' => __('Arabic', 'google-maps-widget')),
176
- array('val' => 'eu', 'label' => __('Basque', 'google-maps-widget')),
177
- array('val' => 'bn', 'label' => __('Bengali', 'google-maps-widget')),
178
- array('val' => 'bg', 'label' => __('Bulgarian', 'google-maps-widget')),
179
- array('val' => 'ca', 'label' => __('Catalan', 'google-maps-widget')),
180
- array('val' => 'zh-CN', 'label' => __('Chinese (Simplified)', 'google-maps-widget')),
181
- array('val' => 'zh-TW', 'label' => __('Chinese (Traditional)', 'google-maps-widget')),
182
- array('val' => 'hr', 'label' => __('Croatian', 'google-maps-widget')),
183
- array('val' => 'cs', 'label' => __('Czech', 'google-maps-widget')),
184
- array('val' => 'da', 'label' => __('Danish', 'google-maps-widget')),
185
- array('val' => 'nl', 'label' => __('Dutch', 'google-maps-widget')),
186
- array('val' => 'en-AU', 'label' => __('English (Australian)', 'google-maps-widget')),
187
- array('val' => 'en-GB', 'label' => __('English (Great Britain)', 'google-maps-widget')),
188
- array('val' => 'fa', 'label' => __('Farsi', 'google-maps-widget')),
189
- array('val' => 'fil', 'label' => __('Filipino', 'google-maps-widget')),
190
- array('val' => 'fi', 'label' => __('Finnish', 'google-maps-widget')),
191
- array('val' => 'fr', 'label' => __('French', 'google-maps-widget')),
192
- array('val' => 'gl', 'label' => __('Galician', 'google-maps-widget')),
193
- array('val' => 'de', 'label' => __('German', 'google-maps-widget')),
194
- array('val' => 'el', 'label' => __('Greek', 'google-maps-widget')),
195
- array('val' => 'gu', 'label' => __('Gujarati', 'google-maps-widget')),
196
- array('val' => 'iw', 'label' => __('Hebrew', 'google-maps-widget')),
197
- array('val' => 'hi', 'label' => __('Hindi', 'google-maps-widget')),
198
- array('val' => 'hu', 'label' => __('Hungarian', 'google-maps-widget')),
199
- array('val' => 'id', 'label' => __('Indonesian', 'google-maps-widget')),
200
- array('val' => 'it', 'label' => __('Italian', 'google-maps-widget')),
201
- array('val' => 'ja', 'label' => __('Japanese', 'google-maps-widget')),
202
- array('val' => 'kn', 'label' => __('Kannada', 'google-maps-widget')),
203
- array('val' => 'ko', 'label' => __('Korean', 'google-maps-widget')),
204
- array('val' => 'lv', 'label' => __('Latvian', 'google-maps-widget')),
205
- array('val' => 'lt', 'label' => __('Lithuanian', 'google-maps-widget')),
206
- array('val' => 'ml', 'label' => __('Malayalam', 'google-maps-widget')),
207
- array('val' => 'mr', 'label' => __('Marathi', 'google-maps-widget')),
208
- array('val' => 'no', 'label' => __('Norwegian', 'google-maps-widget')),
209
- array('val' => 'pl', 'label' => __('Polish', 'google-maps-widget')),
210
- array('val' => 'pt', 'label' => __('Portuguese', 'google-maps-widget')),
211
- array('val' => 'pt-BR', 'label' => __('Portuguese (Brazil)', 'google-maps-widget')),
212
- array('val' => 'pt-PT', 'label' => __('Portuguese (Portugal)', 'google-maps-widget')),
213
- array('val' => 'ro', 'label' => __('Romanian', 'google-maps-widget')),
214
- array('val' => 'ru', 'label' => __('Russian', 'google-maps-widget')),
215
- array('val' => 'sr', 'label' => __('Serbian', 'google-maps-widget')),
216
- array('val' => 'sk', 'label' => __('Slovak', 'google-maps-widget')),
217
- array('val' => 'sl', 'label' => __('Slovenian', 'google-maps-widget')),
218
- array('val' => 'es', 'label' => __('Spanish', 'google-maps-widget')),
219
- array('val' => 'sv', 'label' => __('Swedish', 'google-maps-widget')),
220
- array('val' => 'tl', 'label' => __('Tagalog', 'google-maps-widget')),
221
- array('val' => 'ta', 'label' => __('Tamil', 'google-maps-widget')),
222
- array('val' => 'te', 'label' => __('Telugu', 'google-maps-widget')),
223
- array('val' => 'th', 'label' => __('Thai', 'google-maps-widget')),
224
- array('val' => 'tr', 'label' => __('Turkish', 'google-maps-widget')),
225
- array('val' => 'uk', 'label' => __('Ukrainian', 'google-maps-widget')),
226
- array('val' => 'vi', 'label' => __('Vietnamese', 'google-maps-widget')));
227
- $lightbox_langs = $thumb_langs;
228
-
229
- array_push($lightbox_skins, array('val' => 'noimage-blue', 'label' => __('Blue', 'google-maps-widget')),
230
- array('val' => 'sketchtoon', 'label' => __('Cartoonish', 'google-maps-widget')),
231
- array('val' => 'darkrimmed', 'label' => __('Dark rim', 'google-maps-widget')),
232
- array('val' => 'fancyoverlay', 'label' => __('Fancy', 'google-maps-widget')),
233
- array('val' => 'gears', 'label' => __('Gears', 'google-maps-widget')),
234
- array('val' => 'gray-square', 'label' => __('Gray squared', 'google-maps-widget')),
235
- array('val' => 'minimal', 'label' => __('Minimalistic', 'google-maps-widget')),
236
- array('val' => 'minimal-circles', 'label' => __('Minimalistic #2', 'google-maps-widget')),
237
- array('val' => 'painting', 'label' => __('Painting', 'google-maps-widget')),
238
- array('val' => 'noimage-polaroid', 'label' => __('Polaroid', 'google-maps-widget')),
239
- array('val' => 'noimage-rounded', 'label' => __('Rounded', 'google-maps-widget')),
240
- array('val' => 'rounded-white', 'label' => __('Rounded white', 'google-maps-widget')),
241
- array('val' => 'shadow', 'label' => __('Shadow', 'google-maps-widget')),
242
- array('val' => 'noimage', 'label' => __('Simple', 'google-maps-widget')),
243
- array('val' => 'square-black', 'label' => __('Squared black', 'google-maps-widget')),
244
- array('val' => 'square-white', 'label' => __('Squared white', 'google-maps-widget')),
245
- array('val' => 'tablet', 'label' => __('Tablet', 'google-maps-widget')),
246
- array('val' => 'vintage', 'label' => __('Vintage', 'google-maps-widget')),
247
- array('val' => 'wood', 'label' => __('Wood', 'google-maps-widget')));
248
-
249
- array_push($lightbox_modes, array('val' => 'directions', 'label' => __('Directions', 'google-maps-widget')),
250
- array('val' => 'search', 'label' => __('Search', 'google-maps-widget')),
251
- array('val' => 'streetview', 'label' => __('Street View', 'google-maps-widget')),
252
- array('val' => 'view', 'label' => __('View (clean map, no markers)', 'google-maps-widget')));
253
-
254
- $pin_labels = array(array('val' => 'x', 'label' => __('Dot', 'google-maps-widget')));
255
- for ($tmp = 'A'; $tmp <= 'Z'; $tmp = chr(ord($tmp)+1)) {
256
- $pin_labels[] = array('val' => $tmp, 'label' => $tmp);
257
- }
258
- for ($tmp = 1; $tmp <= 9; $tmp++) {
259
- $pin_labels[] = array('val' => $tmp, 'label' => $tmp);
260
- }
261
-
262
- array_push($lightbox_sizes, array('val' => '1', 'label' => __('Fullscreen', 'google-maps-widget')));
263
-
264
- array_push($lightbox_features, array('val' => 'esc_close', 'label' => __('Close on Esc key', 'google-maps-widget')),
265
- array('val' => 'close_button', 'label' => __('Show close button', 'google-maps-widget')));
266
- } else {
267
- array_push($thumb_color_schemes, array('val' => '-1', 'label' => __('Add 11 additional color schemes', 'google-maps-widget')));
268
-
269
- array_push($thumb_pin_types, array('val' => '-1', 'label' => __('GMW pins library (700+ pins)', 'google-maps-widget')));
270
-
271
- array_push($thumb_formats, array('val' => '-1', 'label' => __('Add 4 more image formats', 'google-maps-widget')));
272
-
273
- array_push($thumb_langs, array('val' => '-1', 'label' => __('Add auto-detection and 50 more languages', 'google-maps-widget')));
274
- $lightbox_langs = $thumb_langs;
275
 
276
- $thumb_link_types = array(array('val' => 'lightbox', 'label' => __('Interactive map in lightbox (default)', 'google-maps-widget')),
277
- array('val' => '-1', 'label' => __('Replace thumb map with an interactive map', 'google-maps-widget')),
278
- array('val' => '-1', 'label' => __('Interactive map in a new window', 'google-maps-widget')),
279
- array('val' => 'custom', 'label' => __('Custom URL', 'google-maps-widget')),
280
- array('val' => '-1', 'label' => __('Custom URL in a new window', 'google-maps-widget')),
281
- array('val' => 'nolink', 'label' => __('Disable link', 'google-maps-widget')));
282
-
283
- array_push($lightbox_skins, array('val' => '-1', 'label' => __('Add 17 more skins', 'google-maps-widget')));
284
-
285
- array_push($lightbox_modes, array('val' => '-1', 'label' => __('Directions', 'google-maps-widget')),
286
- array('val' => '-1', 'label' => __('Search', 'google-maps-widget')),
287
- array('val' => '-1', 'label' => __('Street View', 'google-maps-widget')),
288
- array('val' => '-1', 'label' => __('View (clean map, no markers)', 'google-maps-widget')));
289
-
290
- array_push($pin_labels, array('val' => '-1', 'label' => __('Choose a custom label by going PRO', 'google-maps-widget')));
291
-
292
- array_push($lightbox_sizes, array('val' => '-1', 'label' => __('Fullscreen', 'google-maps-widget')));
293
-
294
- array_push($lightbox_features, array('val' => '-1', 'disabled' => true, 'label' => __('Show close button', 'google-maps-widget') . ' (upgrade to PRO)'),
295
- array('val' => '-1', 'disabled' => true, 'label' => __('Close on Esc key', 'google-maps-widget') . ' (upgrade to PRO)'));
296
-
297
- array_push($thumb_pin_colors, array('val' => '-1', 'label' => __('PRO offers unlimited color choices', 'google-maps-widget')));
298
- } // not activated
299
-
300
- $tmp = apply_filters('gmw_widget_form_before', null, $this, $instance);
301
- if (!empty($tmp)) {
302
- echo $tmp;
303
- return;
304
- }
305
-
306
- // warn if API key is not set
307
- if (!GMW::get_api_key()) {
308
- echo '<p class="gmw-api-key-error"><b>Important!</b> ';
309
- echo 'Go to <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Google Maps Widget settings">settings</a> and follow instructions on how to obtain your <b>free maps API key</b>. Without a key the maps will stop working.</p>';
310
- }
311
 
312
  // widget options markup
313
  // title & address
314
  echo '<p><label for="' . $this->get_field_id('title') . '">' . __('Title', 'google-maps-widget') . ':</label>';
315
- echo '<input data-tooltip="Widget title styled as defined in the active theme. HTML tags and shortcodes are not supported. Title is optional." class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" placeholder="' . __('Map title', 'google-maps-widget') . '" type="text" value="' . esc_attr($title) . '">';
316
  echo '</p>';
317
  echo '<label for="' . $this->get_field_id('address') . '">' . __('Address', 'google-maps-widget') . ':</label>';
318
  echo '<div class="input-address-group">';
319
- echo '<input name="' . $this->get_field_name('address') . '" type="text" value="' . esc_attr($address) . '" required="required" class="widefat" id="' . $this->get_field_id('address') . '" placeholder="' . __('Address / location to show', 'google-maps-widget') . '" data-tooltip="' . htmlspecialchars('Address or location shown on both maps. Coordinates can be used as well, but please write them in a numerical fashion, not in degrees, ie: 40.70823, -74.01052
320
- If interactive map mode is set to directions this address is used as the destination address. If the mode is set to search the address will be used as the map and search center.') . '">';
321
- if (GMW::is_activated()) {
322
- echo '<a data-target="address" href="#" class="button-secondary gmw-pick-address"><span class="dashicons dashicons-location"></span></a>';
323
- } else {
324
- echo '<a data-target="address" href="#" class="button-secondary gmw-pick-address gmw-pick-address-non-pro"><span class="dashicons dashicons-location"></span></a>';
325
- }
326
  echo '</div>';
327
  // end - title & address
328
 
 
329
  echo '<div class="gmw-tabs" id="tab-' . $this->id . '"><ul>';
330
  echo '<li><a href="#gmw-thumb">' . __('Thumbnail Map', 'google-maps-widget') . '</a></li>';
331
  echo '<li><a href="#gmw-lightbox">' . __('Interactive Map', 'google-maps-widget') . '</a></li>';
 
332
  echo '<li><a href="#gmw-shortcode">' . __('Shortcode', 'google-maps-widget') . '</a></li>';
333
  echo '<li><a href="#gmw-info">' . __('Info &amp; Support', 'google-maps-widget') . '</a></li>';
334
  echo '</ul>';
@@ -357,43 +208,32 @@ class GoogleMapsWidget extends WP_Widget {
357
 
358
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_type') . '">' . __('Pin Type', 'google-maps-widget') . ':</label>';
359
  echo '<select data-tooltip="Predefined pin can be adjusted in terms of color, size and one letter label.
360
- Custom pin can be any custom image stored on a publically available server.
361
- If you are using a pin from the library please note that it will *not work* if your site is on a localhost or a secure only (https) server." class="gmw_thumb_pin_type" id="' . $this->get_field_id('thumb_pin_type') . '" name="' . $this->get_field_name('thumb_pin_type') . '">';
362
  GMW::create_select_options($thumb_pin_types, $thumb_pin_type);
363
  echo '</select></p>';
364
 
365
- echo '<p class="gmw_thumb_pin_type_custom_library"><label class="gmw-label" for="">' . __('Pin Image', 'google-maps-widget') . ':</label>';
366
- echo '<input class="thumb_pin_img_library" type="hidden" id="' . $this->get_field_id('thumb_pin_img_library') . '" name="' . $this->get_field_name('thumb_pin_img_library') . '" value="' . esc_attr($thumb_pin_img_library) . '">';
367
- echo '<img class="thumb_pin_img_library_preview" src="' . plugins_url('/images/pins/' . $thumb_pin_img_library, __FILE__) . '"> <a class="button button-secondary open_pins_library" href="#">Open pins library</a>';
368
- echo '</p>';
369
-
370
- if (GMW::is_activated()) {
371
- echo '<p class="gmw_thumb_pin_type_predefined colorpicker_section"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_color') . '">' . __('Pin Color', 'google-maps-widget') . ':</label>';
372
- echo '<input data-tooltip="Use the colorpicker to choose a custom color for the pin." class="gmw-colorpicker" data-specialtype="colorpicker" id="' . $this->get_field_id('thumb_pin_color') . '" name="' . $this->get_field_name('thumb_pin_color') . '" type="text" value="' . esc_attr($thumb_pin_color) . '">';
373
- } else {
374
- echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_color') . '">' . __('Pin Color', 'google-maps-widget') . ':</label>';
375
- echo '<select data-tooltip="Choose one of the predefined pin colors, or upgrade to <b class=\'gmw-pro-red\'>PRO</b> to have an unlimited choice of colors." id="' . $this->get_field_id('thumb_pin_color') . '" name="' . $this->get_field_name('thumb_pin_color') . '">';
376
- GMW::create_select_options($thumb_pin_colors, $thumb_pin_color);
377
- echo '</select>';
378
- }
379
  echo '</p>';
380
 
381
  echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_size') . '">' . __('Pin Size', 'google-maps-widget') . ':</label>';
382
- echo '<select data-tooltip="Location pin size. All sizes besides the large one are quite small." id="' . $this->get_field_id('thumb_pin_size') . '" name="' . $this->get_field_name('thumb_pin_size') . '">';
383
  GMW::create_select_options($thumb_pin_sizes, $thumb_pin_size);
384
  echo '</select></p>';
385
 
386
  echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_label') . '">' . __('Pin Label', 'google-maps-widget') . ':</label>';
387
- echo '<select data-tooltip="Due to the pin\'s size only single-letter labels are available." id="' . $this->get_field_id('thumb_pin_label') . '" name="' . $this->get_field_name('thumb_pin_label') . '">';
388
  GMW::create_select_options($pin_labels, $thumb_pin_label);
389
  echo '</select></p>';
390
 
391
  echo '<p class="gmw_thumb_pin_type_custom"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_img') . '">' . __('Pin Image URL', 'google-maps-widget') . ':</label>';
392
- echo '<input data-tooltip="Enter the full URL to the image, starting with http://. Image has to be publicly accessible and with size up to 64x64px. Https and localhost are *not* supported." placeholder="http://" type="text" class="regular-text" id="' . $this->get_field_id('thumb_pin_img') . '" name="' . $this->get_field_name('thumb_pin_img') . '" value="' . esc_attr($thumb_pin_img) . '" required="required">';
393
  echo '</p>';
394
 
395
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_link_type') . '">' . __('Link To', 'google-maps-widget') . ':</label>';
396
- echo '<select data-tooltip="Choose what happens when the map is clicked. Clicks are tracked in Google Analytics if that option is set in settings. Please configure interactive map\'s settings in its tab." class="gmw_thumb_link_type" id="' . $this->get_field_id('thumb_link_type') . '" name="' . $this->get_field_name('thumb_link_type') . '">';
397
  GMW::create_select_options($thumb_link_types, $thumb_link_type);
398
  echo '</select></p>';
399
 
@@ -412,12 +252,12 @@ class GoogleMapsWidget extends WP_Widget {
412
  echo '</select></p>';
413
 
414
  echo '<p><label for="' . $this->get_field_id('thumb_header') . '">' . __('Text Above Map', 'google-maps-widget') . ':</label>';
415
- echo '<textarea data-tooltip="Text that appears above the map. HTML tags and shortcodes are fully supported.
416
- If you choose to have the thumb replaced by an interactive map this text will be replaced by the interactive header text.
417
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('thumb_header') . '" name="' . $this->get_field_name('thumb_header') . '">'. esc_textarea($thumb_header) . '</textarea></p>';
418
  echo '<p><label for="' . $this->get_field_id('thumb_footer') . '">' . __('Text Below Map', 'google-maps-widget') . ':</label>';
419
- echo '<textarea data-tooltip="Text that appears below the map. HTML tags and shortcodes are fully supported.
420
- If you choose to have the thumb replaced by an interactive map this text will be replaced by the interactive header text.
421
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('thumb_footer') . '" name="' . $this->get_field_name('thumb_footer') . '">'. esc_textarea($thumb_footer) . '</textarea></p>';
422
  echo '</div>';
423
  // end - thumbnail tab
@@ -425,12 +265,12 @@ class GoogleMapsWidget extends WP_Widget {
425
  // lightbox tab
426
  echo '<div id="gmw-lightbox">';
427
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_fullscreen') . '">' . __('Lightbox Size', 'google-maps-widget') . ':</label>';
428
- echo '<select data-tooltip="Choose from a custom size or a fullscreen, border-to-border option for the lightbox map." class="gmw_lightbox_fullscreen" id="' . $this->get_field_id('lightbox_fullscreen') . '" name="' . $this->get_field_name('lightbox_fullscreen') . '">';
429
  GMW::create_select_options($lightbox_sizes, $lightbox_fullscreen);
430
  echo '</select>';
431
- echo '<span class="gmw_lightbox_fullscreen_custom_section"><label class="gmw-label label-holder" for="">&nbsp;</label>';
432
- echo '<input data-title="Map Width" data-tooltip="Interactive map width in pixels; from 50 to 2000. If needed, map will be resized to accomodate for smaller screens." class="small-text fullscreen_fix" min="50" max="2000" step="1" id="' . $this->get_field_id('lightbox_width') . '" type="number" name="' . $this->get_field_name('lightbox_width') . '" type="text" value="' . esc_attr($lightbox_width) . '" required="required"> x ';
433
- echo '<input data-title="Map Height" data-tooltip="Interactive map height in pixels; from 50 to 2000. If needed, map will be resized to accomodate for smaller screens." class="small-text" id="' . $this->get_field_id('lightbox_height') . '" name="' . $this->get_field_name('lightbox_height') . '" type="number" step="1" min="50" max="2000" type="text" value="' . esc_attr($lightbox_height) . '" required="required"> px</span></p>';
434
 
435
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_mode') . '">' . __('Map Mode', 'google-maps-widget') . ':</label>';
436
  echo '<select data-tooltip="Place mode displays a map pin at a defined place or address.
@@ -441,28 +281,6 @@ class GoogleMapsWidget extends WP_Widget {
441
  GMW::create_select_options($lightbox_modes, $lightbox_mode);
442
  echo '</select></p>';
443
 
444
- echo '<p class="gmw_lightbox_mode_search"><label class="gmw-label" for="' . $this->get_field_id('lightbox_search') . '">' . __('Search Query', 'google-maps-widget') . ':</label>';
445
- echo '<input data-tooltip="The search term, ie: pizza. It can include a geographic restriction, such as \'In New York\' but it is not required as the search will be performed around the main map address as the location." required="required" placeholder="' . __('Pizza', 'google-maps-widget') . '" type="text" id="' . $this->get_field_id('lightbox_search') . '" name="' . $this->get_field_name('lightbox_search') . '" type="text" value="' . esc_attr($lightbox_search) . '">';
446
- echo '</p>';
447
-
448
- echo '<p class="gmw_lightbox_mode_directions">';
449
- echo '<label class="gmw-label" for="' . $this->get_field_id('lightbox_origin') . '">' . __('Start Address', 'google-maps-widget') . ':</label>';
450
- echo '<span class="input-address-group">';
451
- echo '<input data-tooltip="Start address for directions. Destination is defined in the map\'s address." type="text" id="' . $this->get_field_id('lightbox_origin') . '" name="' . $this->get_field_name('lightbox_origin') . '" type="text" value="' . esc_attr($lightbox_origin) . '">';
452
- echo '<a href="#" data-target="lightbox_origin" class="button-secondary gmw-pick-address"><span class="dashicons dashicons-location"></span></a>';
453
- echo '</span>';
454
- echo '</p>';
455
-
456
- echo '<p class="gmw_lightbox_mode_directions"><label class="gmw-label" for="' . $this->get_field_id('lightbox_unit') . '">' . __('Distance Units', 'google-maps-widget') . ':</label>';
457
- echo '<select data-tooltip="Units in which the distance is measured." id="' . $this->get_field_id('lightbox_unit') . '" name="' . $this->get_field_name('lightbox_unit') . '">';
458
- GMW::create_select_options($lightbox_units, $lightbox_unit);
459
- echo '</select></p>';
460
-
461
- echo '<p class="gmw_lightbox_mode_streetview"><label class="gmw-label" for="' . $this->get_field_id('lightbox_heading') . '">' . __('Streetview', 'google-maps-widget') . ':</label>';
462
- echo 'Heading: <input data-title="Streetview Camera Heading" data-tooltip="Indicates the compass heading of the camera in degrees clockwise from North. Accepted values are from -180° to 360°." class="small-text" min="-180" max="360" step="1" id="' . $this->get_field_id('lightbox_heading') . '" type="number" name="' . $this->get_field_name('lightbox_heading') . '" type="text" value="' . esc_attr($lightbox_heading) . '" required="required"> ';
463
- echo 'Pitch: <input data-title="Streetview Camera Pitch" data-tooltip="Specifies the angle, up or down, of the camera. The pitch is specified in degrees from -90° to 90°. Positive values will angle the camera up, while negative values will angle the camera down." class="small-text" id="' . $this->get_field_id('lightbox_pitch') . '" name="' . $this->get_field_name('lightbox_pitch') . '" type="number" step="1" min="-90" max="90" type="text" value="' . esc_attr($lightbox_pitch) . '" required="required"> degrees';
464
- echo '</p>';
465
-
466
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_map_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
467
  echo '<select data-tooltip="Controls the map layers shown." id="' . $this->get_field_id('lightbox_map_type') . '" name="' . $this->get_field_name('lightbox_map_type') . '">';
468
  GMW::create_select_options($lightbox_map_types, $lightbox_map_type);
@@ -489,64 +307,48 @@ class GoogleMapsWidget extends WP_Widget {
489
  GMW::create_select_options($lightbox_langs, $lightbox_lang);
490
  echo '</select></p>';
491
 
492
- echo '<p><label for="' . $this->get_field_id('lightbox_header') . '">' . __('Header Text', 'google-maps-widget') . ':</label>';
493
- echo '<textarea data-tooltip="Text that appears above the interactive map. HTML tags and shortcodes are fully supported.
494
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('lightbox_header') . '" name="' . $this->get_field_name('lightbox_header') . '">'. esc_textarea($lightbox_header) . '</textarea></p>';
495
 
496
- echo '<p><label for="' . $this->get_field_id('lightbox_footer') . '">' . __('Footer Text', 'google-maps-widget') . ':</label>';
497
- echo '<textarea data-tooltip="Text that appears below the interactive map. HTML tags and shortcodes are fully supported.
498
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('lightbox_footer') . '" name="' . $this->get_field_name('lightbox_footer') . '">'. esc_textarea($lightbox_footer) . '</textarea></p>';
499
 
500
  echo '</div>';
501
  // end - lightbox tab
502
 
 
 
 
 
 
 
 
 
503
  // shortcode tab
504
  echo '<div id="gmw-shortcode">';
505
- if (GMW::is_activated()) {
506
- $id = str_replace('googlemapswidget-', '', $this->id);
507
-
508
- if (empty($id) || !is_numeric($id)) {
509
- echo '<p>' . __('Please save the widget so that the shortcode can be generated.', 'google-maps-widget') . '</p>';
510
- } else {
511
- echo '<p><code>[' . $options['sc_map'] . ' thumb_width="' . $thumb_width . '" thumb_height="' . $thumb_width . '" id="' . $id . '"]</code><br></p>';
512
- echo '<p>' . __('Use the above shortcode to display this Google Maps Widget instance in any page or post. <br>Please note that your theme might style the widget in the post as if it is placed in a sidebar. In that case use the <code>div.gmw-shortcode-widget</code> class to target the shortcode and make necessary changes via CSS.', 'google-maps-widget') . '</p>';
513
- }
514
- } else {
515
- echo '<p>Shortcode support is a <span class="gmw-pro-red">PRO</span> feature. Activating it will imediatelly get you more than 50 extra options.<br><br><a class="button open_promo_dialog" href="#">Activate PRO features</a></p>';
516
- }
517
  echo '</div>';
518
  // end - shortcode tab
519
 
520
  // info tab
521
  echo '<div id="gmw-info">';
522
- if (GMW::is_activated()) {
523
- echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
524
- echo '<p>If you have any problems, questions or would like a new feature added, please contact our support <a href="mailto:gmw@webfactoryltd.com?subject=GMW%20support">via email</a>. As a paying customer you have access to premium, prioritised support.';
525
- echo '</p>';
526
-
527
- echo '<h4>' . __('License', 'google-maps-widget') . '</h4>';
528
- echo '<p>Your license is active and valid. Additional info is available in <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Settings">settings</a>.</p>';
529
- } else {
530
- echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
531
- echo '<p>If you have any problems, questions or would like a new feature added post it on the <a href="https://wordpress.org/support/plugin/google-maps-widget" target="_blank">official support forum</a>. It\'s the only place to get support. Since it\'s free and community powered please be patient.<br>';
532
- echo 'If you <a href="#" class="open_promo_dialog">upgrade</a> to <span class="gmw-pro-red">PRO</span> you will get instant access to premium, prioritised support via email.</p>';
533
-
534
- echo '<h4>' . __('Activate <span class="gmw-pro-red">PRO</span> features', 'google-maps-widget') . '</h4>';
535
- echo '<p><span class="gmw-pro-red">PRO</span> features give you access to priority support and more than 50 extra options including shortcode support, additional map types, more map skins and a host of other additional features.';
536
- echo ' <a class="open_promo_dialog" href="#">Activate PRO features</a>';
537
- echo '</p>';
538
- }
539
  echo '<h4>' . __('Rate the plugin &amp; spread the word', 'google-maps-widget') . '</h4>';
540
  echo '<p>It won\'t take you more than a minute, but it will help us immensely. So please - <a href="https://wordpress.org/support/view/plugin-reviews/google-maps-widget" target="_blank">rate the plugin</a>. Or spread the word by <a href="https://twitter.com/intent/tweet?via=WebFactoryLtd&amp;text=' . urlencode('I\'m using the #free Google Maps Widget for #wordpress. You can grab it too at http://goo.gl/2qcbbf') . '" target="_blank">tweeting about it</a>. Thank you!</p>';
541
  echo '</div>';
542
  // end - info tab
543
  echo '</div><p></p>'; // tabs
544
 
545
- if (!GMW::is_activated()) {
546
- echo '<p class="widget_footer_info">' . __('Upgrade to Google Maps Widget <span class="gmw-pro-red">PRO</span> to get more than 50 extra options available immeditely. <a class="open_promo_dialog" href="#">Upgrade now</a>.', 'google-maps-widget') . '</p>';
547
- } else {
548
- echo '<p class="widget_footer_info">' . sprintf(__('Additional options are available in <a href="%s" title="Settings">settings</a>. ', 'google-maps-widget'), admin_url('options-general.php?page=gmw_options')) . __('If you experience any problems or need help, please contact <a href="mailto:gmw@webfactoryltd.com?subject=GMW%20support">support</a>.', 'google-maps-widget') . '</p>';
549
- }
550
  } // form
551
 
552
 
@@ -557,10 +359,6 @@ class GoogleMapsWidget extends WP_Widget {
557
  $old_instance = array();
558
  }
559
 
560
- if (sizeof($new_instance) < 10) {
561
- return $old_instance;
562
- }
563
-
564
  $instance['title'] = $new_instance['title'];
565
  $instance['address'] = strip_tags(trim($new_instance['address']));
566
 
@@ -569,7 +367,6 @@ class GoogleMapsWidget extends WP_Widget {
569
  $instance['thumb_pin_size'] = $new_instance['thumb_pin_size'];
570
  $instance['thumb_pin_label'] = $new_instance['thumb_pin_label'];
571
  $instance['thumb_pin_img'] = trim($new_instance['thumb_pin_img']);
572
- $instance['thumb_pin_img_library'] = trim($new_instance['thumb_pin_img_library']);
573
  $instance['thumb_width'] = min(640, max(50, (int) $new_instance['thumb_width']));
574
  $instance['thumb_height'] = min(640, max(50, (int) $new_instance['thumb_height']));
575
  $instance['thumb_zoom'] = $new_instance['thumb_zoom'];
@@ -586,11 +383,6 @@ class GoogleMapsWidget extends WP_Widget {
586
  $instance['lightbox_width'] = min(2000, max(50, (int) $new_instance['lightbox_width']));
587
  $instance['lightbox_height'] = min(2000, max(50, (int) $new_instance['lightbox_height']));
588
  $instance['lightbox_mode'] = $new_instance['lightbox_mode'];
589
- $instance['lightbox_origin'] = trim($new_instance['lightbox_origin']);
590
- $instance['lightbox_search'] = trim($new_instance['lightbox_search']);
591
- $instance['lightbox_unit'] = $new_instance['lightbox_unit'];
592
- $instance['lightbox_heading'] = min(360, max(-180, (int) $new_instance['lightbox_heading']));
593
- $instance['lightbox_pitch'] = min(90, max(-90, (int) $new_instance['lightbox_pitch']));
594
  $instance['lightbox_map_type'] = $new_instance['lightbox_map_type'];
595
  $instance['lightbox_zoom'] = $new_instance['lightbox_zoom'];
596
  $instance['lightbox_feature'] = (array) $new_instance['lightbox_feature'];
@@ -609,9 +401,9 @@ class GoogleMapsWidget extends WP_Widget {
609
  function widget($widget, $instance) {
610
  $out = $widget_content = $style = '';
611
  $map_params = array();
612
-
613
- $options = GMW::get_options();
614
  $instance = $this->upgrade_wiget_instance($instance);
 
 
615
 
616
  $map_src = '//maps.googleapis.com/maps/api/staticmap';
617
 
@@ -644,7 +436,7 @@ class GoogleMapsWidget extends WP_Widget {
644
  $map_params['visual_refresh'] = 'true';
645
  } elseif ($instance['thumb_color_scheme'] != 'default') {
646
  $map_params['visual_refresh'] = 'false';
647
- $style = '&amp;' . str_replace('&', '&amp;', GMW_styles::$php_styles[$instance['thumb_color_scheme']]);
648
  }
649
 
650
  // start building widget markup
@@ -741,4 +533,5 @@ class GoogleMapsWidget extends WP_Widget {
741
 
742
  return $instance;
743
  } // upgrade_widget_instance
744
- } // class GoogleMapsWidget
 
13
 
14
 
15
  // main widget class, extends WP widget interface/class
16
+ if (!class_exists('GoogleMapsWidget')):
17
  class GoogleMapsWidget extends WP_Widget {
18
  static $widgets = array();
19
  static $defaults = array('title' => 'Map',
23
  'thumb_pin_size' => 'default',
24
  'thumb_pin_label' => 'A',
25
  'thumb_pin_img' => '',
 
26
  'thumb_width' => '250',
27
  'thumb_height' => '250',
28
  'thumb_type' => 'roadmap',
38
  'lightbox_height' => '550',
39
  'lightbox_fullscreen' => '0',
40
  'lightbox_mode' => 'place',
 
 
 
 
 
41
  'lightbox_map_type' => 'roadmap',
42
  'lightbox_zoom' => '14',
43
  'lightbox_feature' => array('overlay_close'),
50
  // constructor - define the widget
51
  function __construct() {
52
  $title = __('Google Maps Widget', 'google-maps-widget');
 
 
 
53
 
54
  $widget_ops = array('classname' => 'google-maps-widget', 'description' => __('Displays a map image thumbnail with a larger map available in a lightbox.', 'google-maps-widget'), 'customize_selective_refresh' => true);
55
  $control_ops = array('width' => 450, 'height' => 350);
57
 
58
  self::$defaults['title'] = __('Map', 'google-maps-widget');
59
  self::$defaults['address'] = __('New York, USA', 'google-maps-widget');
 
 
 
 
60
  } // GoogleMapsWidget
61
 
62
 
63
  // widget edit form HTML
64
  function form($instance) {
 
65
  $instance = $this->upgrade_wiget_instance($instance);
66
  extract($instance, EXTR_SKIP);
67
 
73
  $lightbox_map_types = array(array('val' => 'roadmap', 'label' => __('Road (default)', 'google-maps-widget')),
74
  array('val' => 'satellite', 'label' => __('Satellite', 'google-maps-widget')));
75
 
76
+ $lightbox_modes = array(array('val' => 'place', 'label' => __('Place (default)', 'google-maps-widget')),
77
+ array('val' => '-1', 'label' => __('Directions', 'google-maps-widget')),
78
+ array('val' => '-1', 'label' => __('Search', 'google-maps-widget')),
79
+ array('val' => '-1', 'label' => __('Street View', 'google-maps-widget')),
80
+ array('val' => '-1', 'label' => __('View (clean map, no markers)', 'google-maps-widget')));
81
 
82
  $thumb_pin_sizes = array(array('val' => 'tiny', 'label' => __('Tiny', 'google-maps-widget')),
83
  array('val' => 'small', 'label' => __('Small', 'google-maps-widget')),
93
  array('val' => '#800080', 'label' => __('Purple', 'google-maps-widget')),
94
  array('val' => '#ff0000', 'label' => __('Red (default)', 'google-maps-widget')),
95
  array('val' => '#ffffff', 'label' => __('White', 'google-maps-widget')),
96
+ array('val' => '#ffff00', 'label' => __('Yellow', 'google-maps-widget')),
97
+ array('val' => '-1', 'label' => __('PRO offers unlimited color choices', 'google-maps-widget')));
98
 
99
+ $pin_labels = array(array('val' => 'A', 'label' => __('A (default)', 'google-maps-widget')),
100
+ array('val' => '-1', 'label' => __('Choose a custom label by going PRO', 'google-maps-widget')));
101
 
102
  $zoom_levels_thumb = array(array('val' => '0', 'label' => __('0 - entire world', 'google-maps-widget')));
103
  for ($tmp = 1; $tmp <= 21; $tmp++) {
109
  }
110
  $zoom_levels_lightbox = $zoom_levels_thumb;
111
 
112
+ $lightbox_sizes = array(array('val' => '0', 'label' => __('Custom size (default)', 'google-maps-widget')),
113
+ array('val' => '-1', 'label' => __('Fullscreen', 'google-maps-widget')));
114
 
115
  $lightbox_skins = array(array('val' => 'dark', 'label' => __('Dark', 'google-maps-widget')),
116
+ array('val' => 'light', 'label' => __('Light (default)', 'google-maps-widget')),
117
+ array('val' => '-1', 'label' => __('Add 17 more skins', 'google-maps-widget')));
118
 
119
  $thumb_pin_types = array(array('val' => 'predefined', 'label' => __('Predefined by Google (default)', 'google-maps-widget')),
120
+ array('val' => 'custom', 'label' => __('Custom image', 'google-maps-widget')),
121
+ array('val' => '-1', 'label' => __('GMW pins library (1500+ pins)', 'google-maps-widget')));
122
 
123
  $thumb_link_types = array(array('val' => 'lightbox', 'label' => __('Interactive map in lightbox (default)', 'google-maps-widget')),
124
+ array('val' => '-1', 'label' => __('Replace thumb map with an interactive map', 'google-maps-widget')),
125
+ array('val' => '-1', 'label' => __('Interactive map in a new window', 'google-maps-widget')),
126
  array('val' => 'custom', 'label' => __('Custom URL', 'google-maps-widget')),
127
+ array('val' => '-1', 'label' => __('Custom URL in a new window', 'google-maps-widget')),
128
  array('val' => 'nolink', 'label' => __('Disable link', 'google-maps-widget')));
129
 
130
  $thumb_color_schemes = array(array('val' => 'default', 'label' => __('Default', 'google-maps-widget')),
131
+ array('val' => 'new', 'label' => __('Refreshed by Google', 'google-maps-widget')),
132
+ array('val' => 'ultra_light', 'label' => __('Ultra Light', 'google-maps-widget')),
133
+ array('val' => '-1', 'label' => __('Add 12 additional color schemes', 'google-maps-widget')));
134
 
135
+ $thumb_formats = array(array('val' => 'png', 'label' => __('PNG 8-bit (default)', 'google-maps-widget')),
136
+ array('val' => '-1', 'label' => __('Add 4 more image formats', 'google-maps-widget')));
137
 
138
+ $thumb_langs = array(array('val' => 'en', 'label' => 'English'),
139
+ array('val' => '-1', 'label' => __('Add auto-detection and 50 more languages', 'google-maps-widget')));
140
 
141
+ $lightbox_langs = array(array('val' => 'en', 'label' => 'English'),
142
+ array('val' => '-1', 'label' => __('Add auto-detection and 50 more languages', 'google-maps-widget')));
143
 
144
  $lightbox_features = array(array('val' => 'title', 'label' => __('Show map title', 'google-maps-widget')),
145
+ array('val' => 'overlay_close', 'label' => __('Close on overlay click', 'google-maps-widget')),
146
+ array('val' => '-1', 'disabled' => true, 'label' => __('Show close button (upgrade to PRO)', 'google-maps-widget')),
147
+ array('val' => '-1', 'disabled' => true, 'label' => __('Close on Esc key (upgrade to PRO)', 'google-maps-widget')));
148
 
149
  $lightbox_units = array(array('val' => 'auto', 'label' => __('Detect automatically', 'google-maps-widget')),
150
  array('val' => 'imperial', 'label' => __('Imperial', 'google-maps-widget')),
151
  array('val' => 'metric', 'label' => __('Metric', 'google-maps-widget')));
152
 
153
+ // force update if activated
154
  if (GMW::is_activated()) {
155
+ // todo - maybe add a constant
156
+ $plugin = plugin_basename(GMW_PLUGIN_DIR . 'google-maps-widget.php');
157
+ $update_url = wp_nonce_url(admin_url('update.php?action=upgrade-plugin&amp;plugin=' . urlencode($plugin)), 'upgrade-plugin_' . $plugin );
158
+ echo '<p>Google Maps Widget <b class="gmw-pro-red">PRO</b> has been activated! Please <b>click the button below</b> to update plugin files to PRO version. Widget data is not lost and it will not get lost by updating.</p>';
159
+ echo '<p><a href="' . esc_url($update_url) . '" class="button button-primary">Update Google Maps Widget</a></p>';
160
+ echo '<style type="text/css"> #widget-' . $this->id . '-savewidget { display: none; } </style>';
161
+ echo '<input id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" type="hidden" value="' . esc_attr($title) . '">';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
 
163
+ return true;
164
+ } // is_activated
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
 
166
  // widget options markup
167
  // title & address
168
  echo '<p><label for="' . $this->get_field_id('title') . '">' . __('Title', 'google-maps-widget') . ':</label>';
169
+ echo '<input data-tooltip="Widget title styled as defined in the active theme. HTML tags and shortcodes are not supported. Title is optional." class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" placeholder="' . __('Optional Map title', 'google-maps-widget') . '" type="text" value="' . esc_attr($title) . '">';
170
  echo '</p>';
171
  echo '<label for="' . $this->get_field_id('address') . '">' . __('Address', 'google-maps-widget') . ':</label>';
172
  echo '<div class="input-address-group">';
173
+ echo '<input name="' . $this->get_field_name('address') . '" type="text" value="' . esc_attr($address) . '" required="required" class="widefat" id="' . $this->get_field_id('address') . '" placeholder="' . __('Address / location to show', 'google-maps-widget') . '" data-tooltip="' . htmlspecialchars('Address or location shown on both maps. Coordinates can be used as well. Write them in a numerical fashion, not in degrees, ie: 40.70823, -74.01052.') . '">';
174
+ echo '<a data-target="address" href="#" class="button-secondary gmw-pick-address"><span class="dashicons dashicons-location"></span></a>';
 
 
 
 
 
175
  echo '</div>';
176
  // end - title & address
177
 
178
+ // tabs
179
  echo '<div class="gmw-tabs" id="tab-' . $this->id . '"><ul>';
180
  echo '<li><a href="#gmw-thumb">' . __('Thumbnail Map', 'google-maps-widget') . '</a></li>';
181
  echo '<li><a href="#gmw-lightbox">' . __('Interactive Map', 'google-maps-widget') . '</a></li>';
182
+ echo '<li><a href="#gmw-pins">' . __('Pins', 'google-maps-widget') . '</a></li>';
183
  echo '<li><a href="#gmw-shortcode">' . __('Shortcode', 'google-maps-widget') . '</a></li>';
184
  echo '<li><a href="#gmw-info">' . __('Info &amp; Support', 'google-maps-widget') . '</a></li>';
185
  echo '</ul>';
208
 
209
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_type') . '">' . __('Pin Type', 'google-maps-widget') . ':</label>';
210
  echo '<select data-tooltip="Predefined pin can be adjusted in terms of color, size and one letter label.
211
+ Custom pin can be any custom image stored on a publically available server (HTTPS is not supported)." class="gmw_thumb_pin_type" id="' . $this->get_field_id('thumb_pin_type') . '" name="' . $this->get_field_name('thumb_pin_type') . '">';
 
212
  GMW::create_select_options($thumb_pin_types, $thumb_pin_type);
213
  echo '</select></p>';
214
 
215
+ echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_color') . '">' . __('Pin Color', 'google-maps-widget') . ':</label>';
216
+ echo '<select data-tooltip="Choose one of the predefined pin colors, or upgrade to <b class=\'gmw-pro-red\'>PRO</b> to have an unlimited choice of colors." id="' . $this->get_field_id('thumb_pin_color') . '" name="' . $this->get_field_name('thumb_pin_color') . '">';
217
+ GMW::create_select_options($thumb_pin_colors, $thumb_pin_color);
218
+ echo '</select>';
 
 
 
 
 
 
 
 
 
 
219
  echo '</p>';
220
 
221
  echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_size') . '">' . __('Pin Size', 'google-maps-widget') . ':</label>';
222
+ echo '<select data-tooltip="All sizes besides the large one are quite small." id="' . $this->get_field_id('thumb_pin_size') . '" name="' . $this->get_field_name('thumb_pin_size') . '">';
223
  GMW::create_select_options($thumb_pin_sizes, $thumb_pin_size);
224
  echo '</select></p>';
225
 
226
  echo '<p class="gmw_thumb_pin_type_predefined"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_label') . '">' . __('Pin Label', 'google-maps-widget') . ':</label>';
227
+ echo '<select data-tooltip="Due to pin\'s size, only single-letter labels are available." id="' . $this->get_field_id('thumb_pin_label') . '" name="' . $this->get_field_name('thumb_pin_label') . '">';
228
  GMW::create_select_options($pin_labels, $thumb_pin_label);
229
  echo '</select></p>';
230
 
231
  echo '<p class="gmw_thumb_pin_type_custom"><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_img') . '">' . __('Pin Image URL', 'google-maps-widget') . ':</label>';
232
+ echo '<input data-tooltip="Enter the full URL to the image, starting with http://. Image has to be publicly accessible and with size up to 64x64px. Https and localhosts are *not* supported." placeholder="http://" type="text" class="regular-text" id="' . $this->get_field_id('thumb_pin_img') . '" name="' . $this->get_field_name('thumb_pin_img') . '" value="' . esc_attr($thumb_pin_img) . '" required="required">';
233
  echo '</p>';
234
 
235
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_link_type') . '">' . __('Link To', 'google-maps-widget') . ':</label>';
236
+ echo '<select data-tooltip="Choose what happens when the map is clicked. Clicks are tracked in Google Analytics if that option is enabled in settings (PRO only). Please configure interactive map\'s settings in its tab." class="gmw_thumb_link_type" id="' . $this->get_field_id('thumb_link_type') . '" name="' . $this->get_field_name('thumb_link_type') . '">';
237
  GMW::create_select_options($thumb_link_types, $thumb_link_type);
238
  echo '</select></p>';
239
 
252
  echo '</select></p>';
253
 
254
  echo '<p><label for="' . $this->get_field_id('thumb_header') . '">' . __('Text Above Map', 'google-maps-widget') . ':</label>';
255
+ echo '<textarea placeholder="Any text; HTML and shortcodes are fully supported." data-tooltip="Text that appears above the map. HTML tags and shortcodes are fully supported.
256
+ If you choose to have the thumb replaced by an interactive map (PRO only) this text will be replaced by the interactive header text.
257
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('thumb_header') . '" name="' . $this->get_field_name('thumb_header') . '">'. esc_textarea($thumb_header) . '</textarea></p>';
258
  echo '<p><label for="' . $this->get_field_id('thumb_footer') . '">' . __('Text Below Map', 'google-maps-widget') . ':</label>';
259
+ echo '<textarea placeholder="Any text; HTML and shortcodes are fully supported." data-tooltip="Text that appears below the map. HTML tags and shortcodes are fully supported.
260
+ If you choose to have the thumb replaced by an interactive map (PRO only) this text will be replaced by the interactive footer text.
261
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('thumb_footer') . '" name="' . $this->get_field_name('thumb_footer') . '">'. esc_textarea($thumb_footer) . '</textarea></p>';
262
  echo '</div>';
263
  // end - thumbnail tab
265
  // lightbox tab
266
  echo '<div id="gmw-lightbox">';
267
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_fullscreen') . '">' . __('Lightbox Size', 'google-maps-widget') . ':</label>';
268
+ echo '<select data-tooltip="Choose from a custom size or the fullscreen, border-to-border option for the lightbox map." class="gmw_lightbox_fullscreen" id="' . $this->get_field_id('lightbox_fullscreen') . '" name="' . $this->get_field_name('lightbox_fullscreen') . '">';
269
  GMW::create_select_options($lightbox_sizes, $lightbox_fullscreen);
270
  echo '</select>';
271
+ echo '<span class="gmw_lightbox_fullscreen_custom_section"><span class="gmw-label label-holder">&nbsp;</span>';
272
+ echo '<input data-title="Map Width" data-tooltip="Interactive map width in pixels; from 50 to 2000. If needed, map will be resized to accomodate for smaller screens." class="small-text fullscreen_fix" min="50" max="2000" step="1" id="' . $this->get_field_id('lightbox_width') . '" type="number" name="' . $this->get_field_name('lightbox_width') . '" value="' . esc_attr($lightbox_width) . '" required="required"> x ';
273
+ echo '<input data-title="Map Height" data-tooltip="Interactive map height in pixels; from 50 to 2000. If needed, map will be resized to accomodate for smaller screens." class="small-text" id="' . $this->get_field_id('lightbox_height') . '" name="' . $this->get_field_name('lightbox_height') . '" type="number" step="1" min="50" max="2000" value="' . esc_attr($lightbox_height) . '" required="required"> px</span></p>';
274
 
275
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_mode') . '">' . __('Map Mode', 'google-maps-widget') . ':</label>';
276
  echo '<select data-tooltip="Place mode displays a map pin at a defined place or address.
281
  GMW::create_select_options($lightbox_modes, $lightbox_mode);
282
  echo '</select></p>';
283
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
  echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_map_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
285
  echo '<select data-tooltip="Controls the map layers shown." id="' . $this->get_field_id('lightbox_map_type') . '" name="' . $this->get_field_name('lightbox_map_type') . '">';
286
  GMW::create_select_options($lightbox_map_types, $lightbox_map_type);
307
  GMW::create_select_options($lightbox_langs, $lightbox_lang);
308
  echo '</select></p>';
309
 
310
+ echo '<p><label for="' . $this->get_field_id('lightbox_header') . '">' . __('Text Above Map', 'google-maps-widget') . ':</label>';
311
+ echo '<textarea placeholder="Any text; HTML and shortcodes are fully supported." data-tooltip="Text that appears above the interactive map. HTML tags and shortcodes are fully supported.
312
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('lightbox_header') . '" name="' . $this->get_field_name('lightbox_header') . '">'. esc_textarea($lightbox_header) . '</textarea></p>';
313
 
314
+ echo '<p><label for="' . $this->get_field_id('lightbox_footer') . '">' . __('Text Below Map', 'google-maps-widget') . ':</label>';
315
+ echo '<textarea placeholder="Any text; HTML and shortcodes are fully supported." data-tooltip="Text that appears below the interactive map. HTML tags and shortcodes are fully supported.
316
  Use the _{address}_ variable to display the map\'s address." class="widefat" rows="1" cols="20" id="' . $this->get_field_id('lightbox_footer') . '" name="' . $this->get_field_name('lightbox_footer') . '">'. esc_textarea($lightbox_footer) . '</textarea></p>';
317
 
318
  echo '</div>';
319
  // end - lightbox tab
320
 
321
+ // pins tab
322
+ echo '<div id="gmw-pins">';
323
+ echo '<p>Multiple pins support is a <span class="gmw-pro-red">PRO</span> feature. If you need to show multiple locations on the same map with full per-pin customizability upgrade now. Besides multiple pins you will get 50 extra options and features.</p>';
324
+ echo '<p>If one location per map is all you need, please enter the address in the address field above.</p>';
325
+ echo '<p><br><a class="button open_promo_dialog" href="#">Activate PRO features</a></p>';
326
+ echo '</div>';
327
+ // end - pins tab
328
+
329
  // shortcode tab
330
  echo '<div id="gmw-shortcode">';
331
+ echo '<p>Shortcode support is a <span class="gmw-pro-red">PRO</span> feature. It enables you to place maps anywhere in content; including pages, posts and custom post types. Besides the shortcode feature you will get 50 extra options and features.</p><p><br><a class="button open_promo_dialog" href="#">Activate PRO features</a></p>';
 
 
 
 
 
 
 
 
 
 
 
332
  echo '</div>';
333
  // end - shortcode tab
334
 
335
  // info tab
336
  echo '<div id="gmw-info">';
337
+ echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
338
+ echo '<p>If you have any problems, questions or would like a new feature added post it on the <a href="https://wordpress.org/support/plugin/google-maps-widget" target="_blank">official support forum</a>. It\'s the only place to get support. Since it\'s free and community powered please be patient.<br>';
339
+ echo 'If you <a href="#" class="open_promo_dialog">upgrade</a> to <span class="gmw-pro-red">PRO</span> you will get instant access to premium, prioritised support via email.</p>';
340
+
341
+ echo '<h4>' . __('Activate <span class="gmw-pro-red">PRO</span> features', 'google-maps-widget') . '</h4>';
342
+ echo '<p><span class="gmw-pro-red">PRO</span> features give you access to priority support and more than 50 extra options &amp; features including shortcode support, additional map types, more map skins and a host of other additional features.';
343
+ echo ' <a class="open_promo_dialog" href="#">Activate PRO features</a>';
344
+ echo '</p>';
 
 
 
 
 
 
 
 
 
345
  echo '<h4>' . __('Rate the plugin &amp; spread the word', 'google-maps-widget') . '</h4>';
346
  echo '<p>It won\'t take you more than a minute, but it will help us immensely. So please - <a href="https://wordpress.org/support/view/plugin-reviews/google-maps-widget" target="_blank">rate the plugin</a>. Or spread the word by <a href="https://twitter.com/intent/tweet?via=WebFactoryLtd&amp;text=' . urlencode('I\'m using the #free Google Maps Widget for #wordpress. You can grab it too at http://goo.gl/2qcbbf') . '" target="_blank">tweeting about it</a>. Thank you!</p>';
347
  echo '</div>';
348
  // end - info tab
349
  echo '</div><p></p>'; // tabs
350
 
351
+ echo '<p class="widget_footer_info">' . __('Upgrade to Google Maps Widget <span class="gmw-pro-red">PRO</span> to get more than 50 extra options &amp; features available immeditely. <a class="open_promo_dialog" href="#">Upgrade now</a>.', 'google-maps-widget') . '</p>';
 
 
 
 
352
  } // form
353
 
354
 
359
  $old_instance = array();
360
  }
361
 
 
 
 
 
362
  $instance['title'] = $new_instance['title'];
363
  $instance['address'] = strip_tags(trim($new_instance['address']));
364
 
367
  $instance['thumb_pin_size'] = $new_instance['thumb_pin_size'];
368
  $instance['thumb_pin_label'] = $new_instance['thumb_pin_label'];
369
  $instance['thumb_pin_img'] = trim($new_instance['thumb_pin_img']);
 
370
  $instance['thumb_width'] = min(640, max(50, (int) $new_instance['thumb_width']));
371
  $instance['thumb_height'] = min(640, max(50, (int) $new_instance['thumb_height']));
372
  $instance['thumb_zoom'] = $new_instance['thumb_zoom'];
383
  $instance['lightbox_width'] = min(2000, max(50, (int) $new_instance['lightbox_width']));
384
  $instance['lightbox_height'] = min(2000, max(50, (int) $new_instance['lightbox_height']));
385
  $instance['lightbox_mode'] = $new_instance['lightbox_mode'];
 
 
 
 
 
386
  $instance['lightbox_map_type'] = $new_instance['lightbox_map_type'];
387
  $instance['lightbox_zoom'] = $new_instance['lightbox_zoom'];
388
  $instance['lightbox_feature'] = (array) $new_instance['lightbox_feature'];
401
  function widget($widget, $instance) {
402
  $out = $widget_content = $style = '';
403
  $map_params = array();
 
 
404
  $instance = $this->upgrade_wiget_instance($instance);
405
+ $map_styles = array(
406
+ 'ultra_light' => 'style=feature:water|element:geometry|color:0xe9e9e9|lightness:17|&style=feature:landscape|element:geometry|color:0xf5f5f5|lightness:20|&style=feature:road.highway|element:geometry.fill|color:0xffffff|lightness:17|&style=feature:road.highway|element:geometry.stroke|color:0xffffff|lightness:29|weight:0.2|&style=feature:road.arterial|element:geometry|color:0xffffff|lightness:18|&style=feature:road.local|element:geometry|color:0xffffff|lightness:16|&style=feature:poi|element:geometry|color:0xf5f5f5|lightness:21|&style=feature:poi.park|element:geometry|color:0xdedede|lightness:21|&style=feature:all|element:labels.text.stroke|visibility:on|color:0xffffff|lightness:16|&style=feature:all|element:labels.text.fill|saturation:36|color:0x333333|lightness:40|&style=feature:all|element:labels.icon|visibility:off|&style=feature:transit|element:geometry|color:0xf2f2f2|lightness:19|&style=feature:administrative|element:geometry.fill|color:0xfefefe|lightness:20|&style=feature:administrative|element:geometry.stroke|color:0xfefefe|lightness:17|weight:1.2|');
407
 
408
  $map_src = '//maps.googleapis.com/maps/api/staticmap';
409
 
436
  $map_params['visual_refresh'] = 'true';
437
  } elseif ($instance['thumb_color_scheme'] != 'default') {
438
  $map_params['visual_refresh'] = 'false';
439
+ $style = '&amp;' . str_replace('&', '&amp;', $map_styles[$instance['thumb_color_scheme']]);
440
  }
441
 
442
  // start building widget markup
533
 
534
  return $instance;
535
  } // upgrade_widget_instance
536
+ } // class GoogleMapsWidget
537
+ endif;
google-maps-widget.php CHANGED
@@ -2,9 +2,9 @@
2
  /*
3
  Plugin Name: Google Maps Widget
4
  Plugin URI: http://www.gmapswidget.com/
5
- Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available as an image replacement or in a lightbox. Includes shortcode support and numerous options.
6
  Author: Web factory Ltd
7
- Version: 3.30
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: google-maps-widget
10
  Domain Path: lang
@@ -39,17 +39,21 @@ define('GMW_PLUGIN_URL', plugin_dir_url(__FILE__));
39
 
40
  require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
41
  require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
42
- require_once GMW_PLUGIN_DIR . 'gmw-map-styles.php';
43
- require_once GMW_PLUGIN_DIR . 'gmw-export-import.php';
44
- if (file_exists(GMW_PLUGIN_DIR . 'gmw-pro-license.php')) {
45
- require_once GMW_PLUGIN_DIR . 'gmw-pro-license.php';
46
- }
47
 
48
  class GMW {
49
- static $version = '3.30';
50
  static $options = 'gmw_options';
51
  static $licensing_servers = array('http://license.gmapswidget.com/', 'http://license2.gmapswidget.com/');
52
 
 
 
 
 
 
 
 
 
 
53
 
54
  // hook everything up
55
  static function init() {
@@ -61,6 +65,8 @@ class GMW {
61
 
62
  // check a few variables
63
  GMW::maybe_upgrade();
 
 
64
 
65
  // aditional links in plugin description
66
  add_filter('plugin_action_links_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__),
@@ -75,13 +81,12 @@ class GMW {
75
  add_action('admin_footer', array('GMW', 'admin_dialogs_markup'));
76
 
77
  // register AJAX endpoints
78
- add_action('wp_ajax_gmw_activate', array('GMW', 'activate_license_key_ajax'));
79
  add_action('wp_ajax_gmw_test_api_key', array('GMW', 'test_api_key_ajax'));
80
  add_action('wp_ajax_gmw_get_trial', array('GMW', 'get_trial_ajax'));
 
81
 
82
  // custom admin actions
83
  add_action('admin_action_gmw_dismiss_notice', array('GMW', 'dismiss_notice'));
84
- add_action('admin_action_gmw_export_widgets', array('GMW_export_import', 'send_export_file'));
85
 
86
  // add options menu
87
  add_action('admin_menu', array('GMW', 'add_menus'));
@@ -100,19 +105,13 @@ class GMW {
100
 
101
  // track plugin usage
102
  GMW_tracking::init();
103
-
104
- // add shortcode support
105
- GMW::add_shortcodes();
106
-
107
- // PRO license related functions
108
- if (is_callable(array('GMW_license', 'init'))) {
109
- GMW_license::init();
110
- }
111
  } // init
112
-
113
-
114
  // some things have to be loaded earlier
115
  static function plugins_loaded() {
 
 
116
  load_plugin_textdomain('google-maps-widget', false, basename(dirname(__FILE__)) . '/lang');
117
  add_filter('cron_schedules', array('GMW_tracking', 'register_cron_intervals'));
118
  } // plugins_loaded
@@ -120,21 +119,7 @@ class GMW {
120
 
121
  // initialize widgets
122
  static function widgets_init() {
123
- $options = GMW::get_options();
124
-
125
  register_widget('GoogleMapsWidget');
126
-
127
- if (GMW::is_activated() && !$options['disable_sidebar']) {
128
- register_sidebar( array(
129
- 'name' => __('Google Maps Widget PRO hidden sidebar', 'google-maps-widget'),
130
- 'id' => 'google-maps-widget-hidden',
131
- 'description' => __('Widgets in this area will never be shown anywhere in the theme. Area only helps you to build maps that are displayed with shortcodes.', 'google-maps-widget'),
132
- 'before_widget' => '<li id="%1$s" class="widget %2$s">',
133
- 'after_widget' => '</li>',
134
- 'before_title' => '<h2 class="widgettitle">',
135
- 'after_title' => '</h2>',
136
- ));
137
- } // if activated
138
  } // widgets_init
139
 
140
 
@@ -149,73 +134,16 @@ class GMW {
149
  $new_values = array();
150
  $old_options = GMW::get_options();
151
 
152
- // license_key_changed
153
- if (isset($_POST['submit-license'])) {
154
- if (empty($values['activation_code'])) {
155
- $new_values['license_type'] = '';
156
- $new_values['license_expires'] = '';
157
- $new_values['license_active'] = false;
158
- $new_values['activation_code'] = '';
159
- } else {
160
- $tmp = GMW::validate_activation_code($values['activation_code']);
161
- $new_values['activation_code'] = $values['activation_code'];
162
- if ($tmp['success']) {
163
- $new_values['license_type'] = $tmp['license_type'];
164
- $new_values['license_expires'] = $tmp['license_expires'];
165
- $new_values['license_active'] = $tmp['license_active'];
166
- if ($tmp['license_active']) {
167
- add_settings_error(GMW::$options, 'license_key', __('License key saved and activated!', 'google-maps-widget'), 'updated');
168
- } else {
169
- add_settings_error(GMW::$options, 'license_key', 'License not active. ' . $tmp['error'], 'error');
170
- }
171
- } else {
172
- add_settings_error(GMW::$options, 'license_key', 'Unable to contact licensing server. Please try again in a few moments.', 'error');
173
- }
174
- }
175
- $values = $new_values;
176
- } elseif (isset($_POST['submit'])) { // save settings
177
- foreach ($values as $key => $value) {
178
- switch ($key) {
179
- case 'api_key':
180
- $values[$key] = str_replace(' ', '', $value);
181
- break;
182
- case 'sc_map':
183
- $values[$key] = sanitize_title_with_dashes($value);
184
- break;
185
- case 'activation_code':
186
- $values[$key] = substr(trim($value), 0, 50);
187
- break;
188
- case 'track_ga':
189
- case 'include_jquery':
190
- case 'include_lightbox_css':
191
- case 'include_lightbox_js':
192
- case 'disable_tooltips':
193
- case 'disable_sidebar':
194
- $values[$key] = (int) $value;
195
- break;
196
- } // switch
197
- } // foreach
198
-
199
- if (GMW::is_activated()) {
200
- $values = GMW::check_var_isset($values, array('track_ga' => 0, 'include_jquery' => 0, 'include_lightbox_js' => '0', 'include_lightbox_css' => '0', 'disable_tooltips' => '0', 'disable_sidebar' => '0'));
201
- }
202
-
203
- if (strlen($values['api_key']) < 30) {
204
- add_settings_error(GMW::$options, 'api_key', __('Google Maps API key is not valid. Access <a href="https://console.developers.google.com/project">Google Developers Console</a> to generate a key for free.', 'google-maps-widget'), 'error');
205
- }
206
 
207
- if (GMW::is_activated() && empty($values['sc_map'])) {
208
- $values['sc_map'] = 'gmw';
209
- add_settings_error(GMW::$options, 'api_key', __('Map Shortcode is not valid. Please enter a valid shortcode name, eg: <i>gmw</i>.', 'google-maps-widget'), 'error');
210
- }
211
- } elseif (isset($_POST['submit-import'])) { // import widgets
212
- $import_data = GMW_export_import::validate_import_file();
213
- if (is_wp_error($import_data)) {
214
- add_settings_error(GMW::$options, 'import_widgets', $import_data->get_error_message(), 'error');
215
- } else {
216
- $results = GMW_export_import::process_import_file($import_data);
217
- add_settings_error(GMW::$options, 'import_widgets', __($results['total'] . ' widgets imported.', 'google-maps-widget'), 'updated');
218
- }
219
  }
220
 
221
  return array_merge($old_options, $values);
@@ -228,6 +156,7 @@ class GMW {
228
  'api_key' => '',
229
  'track_ga' => '0',
230
  'include_jquery' => '1',
 
231
  'include_lightbox_js' => '1',
232
  'include_lightbox_css' => '1',
233
  'disable_tooltips' => '0',
@@ -285,12 +214,8 @@ class GMW {
285
  // add links to plugin's description in plugins table
286
  static function plugin_meta_links($links, $file) {
287
  $documentation_link = '<a target="_blank" href="http://www.gmapswidget.com/documentation/" title="' . __('View Google Maps Widget documentation', 'google-maps-widget') . '">'. __('Documentation', 'google-maps-widget') . '</a>';
288
- if (GMW::is_activated()) {
289
- $support_link = '<a href="mailto:gmw@webfactoryltd.com?subject=GMW%20support" title="' . __('Problems? We are here to help!', 'google-maps-widget') . '">' . __('Support', 'google-maps-widget') . '</a>';
290
- } else {
291
- $support_link = '<a target="_blank" href="http://wordpress.org/support/plugin/google-maps-widget" title="' . __('Problems? We are here to help!', 'google-maps-widget') . '">' . __('Support', 'google-maps-widget') . '</a>';
292
- }
293
- $review_link = '<a target="_blank" href="http://wordpress.org/support/view/plugin-reviews/google-maps-widget" title="' . __('If you like it, please review the plugin', 'google-maps-widget') . '">' . __('Review the plugin', 'google-maps-widget') . '</a>';
294
  $activate_link = '<a href="' . esc_url(admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog')) . '">' . __('Activate PRO features', 'google-maps-widget') . '</a>';
295
 
296
  if ($file == plugin_basename(__FILE__)) {
@@ -298,7 +223,7 @@ class GMW {
298
  $links[] = $support_link;
299
  $links[] = $review_link;
300
  if (!GMW::is_activated()) {
301
- $links[] = $activate_link;
302
  }
303
  }
304
 
@@ -331,10 +256,14 @@ class GMW {
331
  'AIzaSyDawXzxQurkSkkTxzzW-WRYKmia_Y28S1Q',
332
  'AIzaSyArcXkQ15FoOTS2Z7El2SJHDIlTMW7Rxxg',
333
  'AIzaSyBVJ4JR63d1JIL8L6b_emat-_jXMcHveR0',
334
- 'AIzaSyDOobziwX_9-4JuAgqIlTUZgXAss7zIIEM');
 
335
 
336
  if ($type == 'static') {
337
  return $options['api_key'];
 
 
 
338
  } elseif ($type == 'embed') {
339
  if (!empty($options['api_key'])) {
340
  return $options['api_key'];
@@ -445,8 +374,8 @@ class GMW {
445
  $address_hash = md5('gmw_' . $address);
446
 
447
  if ($force_refresh || ($data = get_transient($address_hash)) === false) {
448
- $url = 'https://maps.googleapis.com/maps/api/geocode/xml?address=' . urlencode($address) . '&sensor=false';
449
- $result = wp_remote_get(esc_url_raw($url), array('sslverify' => false, 'timeout' => 5));
450
 
451
  if (!is_wp_error($result) && $result['response']['code'] == 200) {
452
  $data = new SimpleXMLElement($result['body']);
@@ -457,7 +386,7 @@ class GMW {
457
  $cache_value['address'] = (string) $data->result->formatted_address;
458
 
459
  // cache coordinates for 2 months
460
- set_transient($address_hash, $cache_value, DAY_IN_SECONDS * 60);
461
  $data = $cache_value;
462
  $data['cached'] = false;
463
  } elseif (!$data->status) {
@@ -481,23 +410,15 @@ class GMW {
481
  static function dialogs_markup() {
482
  $out = '';
483
  $js_vars = array();
484
- $options = GMW::get_options();
485
- $measure_title = array('dark', 'sketchtoon', 'darkrimmed', 'fancyoverlay', 'rounded-white', 'noimage');
486
 
487
  if (empty(GoogleMapsWidget::$widgets)) {
488
  return;
489
  }
490
 
491
  // add CSS and JS in footer
492
- $js_vars['track_ga'] = $options['track_ga'];
493
- if ($options['include_lightbox_css']) {
494
- $js_vars['colorbox_css'] = GMW_PLUGIN_URL . 'css/gmw.css' . '?ver=' . GMW::$version;
495
- } else {
496
- $js_vars['colorbox_css'] = false;
497
- }
498
- if ($options['include_lightbox_js']) {
499
- wp_enqueue_script('gmw-colorbox');
500
- }
501
  wp_enqueue_script('gmw');
502
  wp_localize_script('gmw', 'gmw_data', $js_vars);
503
 
@@ -537,39 +458,10 @@ class GMW {
537
  // add plugin menus
538
  static function add_menus() {
539
  $title = __('Google Maps Widget', 'google-maps-widget');
540
- if (GMW::is_activated()) {
541
- $title = '<span style="font-size: 11px;">' . $title . ' <span style="color: #d54e21;">PRO</span></span>';
542
- }
543
-
544
  add_options_page($title, $title, 'manage_options', GMW::$options, array('GMW', 'settings_screen'));
545
  } // add_menus
546
 
547
 
548
- // check availability and register shortcode
549
- static function add_shortcodes() {
550
- if (!GMW::is_activated()) {
551
- return;
552
- }
553
-
554
- global $shortcode_tags;
555
- $options = GMW::get_options();
556
-
557
- if (isset($shortcode_tags[$options['sc_map']])) {
558
- add_action('admin_notices', array('GMW', 'notice_sc_conflict_error'));
559
- } else {
560
- add_shortcode($options['sc_map'], array('GMW', 'do_shortcode'));
561
- }
562
- } // add_shortcodes
563
-
564
-
565
- // display notice if shortcode name is already taken
566
- static function notice_sc_conflict_error() {
567
- $options = GMW::get_options();
568
-
569
- echo '<div class="error"><p><strong>' . __('Google Maps Widget shortcode is not active!', 'google-maps-widget') . '</strong>' . sprintf(__(' Shortcode <i>[%s]</i> is already in use by another plugin or theme. Please deactivate that theme or plugin, or <a href="%s">change</a> the GMW shortcode.', 'google-maps-widget'), $options['sc_map'], admin_url('options-general.php?page=gmw_options')) . '</p></div>';
570
- } // notice_sc_conflict_error
571
-
572
-
573
  // handle dismiss button for notices
574
  static function dismiss_notice() {
575
  if (empty($_GET['notice'])) {
@@ -586,9 +478,6 @@ class GMW {
586
  if ($_GET['notice'] == 'api_key') {
587
  GMW::set_options(array('dismiss_notice_api_key' => true));
588
  }
589
- if ($_GET['notice'] == 'license_expires') {
590
- GMW::set_options(array('dismiss_notice_license_expires' => true));
591
- }
592
 
593
  if (!empty($_GET['redirect'])) {
594
  wp_redirect($_GET['redirect']);
@@ -605,106 +494,57 @@ class GMW {
605
  $options = GMW::get_options();
606
  $notice = false;
607
 
608
- $tmp = apply_filters('gmw_add_notices', null);
609
- if ($tmp === false) {
610
- return;
611
- }
612
-
613
- // license expire notice is always shown
614
- if ((!$notice && GMW::is_activated() && empty($options['dismiss_notice_license_expires']) &&
615
- (strtotime($options['license_expires']) - time() < DAY_IN_SECONDS * 3)) ||
616
- (!$notice && empty($options['dismiss_notice_license_expires']) &&
617
- $options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
618
- add_action('admin_notices', array('GMW', 'notice_license_expires'));
619
  $notice = true;
620
- } elseif ((!$notice && GMW::is_activated() && GMW::is_plugin_admin_page('settings') &&
621
- (strtotime($options['license_expires']) - time() < DAY_IN_SECONDS * 3)) ||
622
- (!$notice && GMW::is_plugin_admin_page('settings') &&
623
- $options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
624
- add_action('admin_notices', array('GMW', 'notice_license_expires'));
625
- } // show license expire notice
626
 
627
- // API key notification is shown if there are active widgets and no key
628
- if (!$notice && empty($options['dismiss_notice_api_key']) &&
629
- !GMW::get_api_key('static') && GMW_tracking::count_active_widgets() > 0) {
630
  add_action('admin_notices', array('GMW', 'notice_api_key'));
631
- $notice = true;
632
  } // show api key notice
633
-
634
- // upgrade notice is shown after one day; temporarily disabled
635
- if (!$notice && empty($options['dismiss_notice_upgrade2']) && !GMW::is_activated() &&
636
- (current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 0)) {
637
- add_action('admin_notices', array('GMW', 'notice_upgrade'));
638
- $notice = true;
639
- } // show upgrade notice
640
 
641
- // rating notification is shown after 5 days if you have active widgets
642
  if (!$notice && empty($options['dismiss_notice_rate']) &&
643
  GMW_tracking::count_active_widgets() > 0 &&
644
- (current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 5)) {
 
645
  add_action('admin_notices', array('GMW', 'notice_rate_plugin'));
646
  $notice = true;
647
  } // show rate notice
648
 
649
- // tracking notification is shown after 15 days and only to non PRO users
650
- if (!$notice && !isset($options['allow_tracking']) && !GMW::is_activated() &&
651
- ((current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 15))) {
 
652
  add_action('admin_notices', array('GMW_tracking', 'tracking_notice'));
653
  $notice = true;
654
  } // show tracking notice
655
  } // add_notices
656
 
657
-
658
- // display message if license will expire in 14 days or less
659
- static function notice_license_expires() {
660
- $options = GMW::get_options();
661
-
662
- $buy_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
663
- $dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'license_expires', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
664
-
665
- $days = strtotime($options['license_expires'] . date(' G:i:m')) - time();
666
- $days = round($days / DAY_IN_SECONDS);
667
-
668
- echo '<div id="gmw_license_expires_notice" class="error notice"><p>';
669
- echo 'Your <b>Google Maps Widget</b> <b style="color: #d54e21;">PRO</b> trial ';
670
- if ($options['license_expires'] == date('Y-m-d')) {
671
- echo '<b>expires today</b>!';
672
- echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
673
- echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
674
- $button_text = 'Get PRO with a 25% discount - offer ends today';
675
- } elseif (date('Y-m-d', time() + DAY_IN_SECONDS) == $options['license_expires']) {
676
- echo '<b>expires tomorrow</b>!';
677
- echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
678
- echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
679
- $button_text = 'Get PRO with a 25% discount - offer ends tomorrow';
680
- } elseif ($days > 1) {
681
- echo '<b>expires in ' . $days . ' days</b>!';
682
- echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
683
- echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
684
- $button_text = 'Get PRO with a 25% discount - offer ends in ' . $days . ' days';
685
- } else {
686
- echo '<b>has expired</b>!';
687
- echo ' All <b style="color: #d54e21;">PRO</b> features have been disabled.';
688
- $button_text = 'Get PRO now';
689
- }
690
-
691
- echo '<br><a href="' . esc_url($buy_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . $button_text . '</a>';
692
- if (!GMW::is_plugin_admin_page('settings')) {
693
- echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '" class="">' . __('I will pay the full price ($25) later', 'google-maps-widget') . '</a>';
694
- }
695
- echo '</p></div>';
696
- } // notice_license_expires
697
-
698
 
699
  // display message to get pro features for GMW
700
  static function notice_upgrade() {
 
 
701
  $activate_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
702
  $dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
703
 
704
- echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget</b> has more than 50 <b style="color: #d54e21;">PRO</b> features. Our support is fast & friendly, and licenses valid for an unlimited number of sites.', 'google-maps-widget');
705
 
706
- echo '<br><a href="' . esc_url($activate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Activate PRO features', 'google-maps-widget') . '</a>';
707
- echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '" class="">' . __('I\'m not interested', 'google-maps-widget') . '</a>';
 
 
 
 
 
 
 
708
  echo '</p></div>';
709
  } // notice_activate_extra_features
710
 
@@ -724,82 +564,52 @@ class GMW {
724
 
725
  // display message to enter API key
726
  static function notice_api_key() {
727
- if (GMW::is_plugin_admin_page('settings')) {
728
- echo '<div id="gmw_api_key_notice" class="error notice"><p>';
729
- echo '<b>Important!</b> New Google rules dictate that you have to register for a <b>free Google Maps API key</b>. ';
730
- echo 'Please follow the instructions below to obtain and enter the key. If you don\'t configure the API key the maps will stop working.';
731
- echo '</p></div>';
732
- } else {
733
- $dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'api_key', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
734
-
735
- echo '<div id="gmw_api_key_notice" class="error notice"><p>';
736
- echo '<b>Important!</b> New Google rules dictate that you have to register for a <b>free Google Maps API key</b>. ';
737
- echo 'Please open Google Maps Widget <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Google Maps Widget settings">settings</a> and follow instructions on how to obtain it. If you don\'t configure the API key the maps will stop working.';
738
- echo '<br><a href="' . admin_url('options-general.php?page=gmw_options') . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Configure the API key', 'google-maps-widget') . '</a>';
739
- echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '">' . __('Dismiss notice', 'google-maps-widget') . '</a>';
740
- echo '</p></div>';
741
- }
742
  } // notice_api_key
743
 
744
 
745
  // register frontend scripts and styles
746
  static function register_scripts() {
747
- $options = GMW::get_options();
748
-
749
  wp_register_style('gmw', GMW_PLUGIN_URL . 'css/gmw.css', array(), GMW::$version);
750
 
751
- if ($options['include_jquery']) {
752
- wp_register_script('gmw-colorbox', GMW_PLUGIN_URL . 'js/jquery.colorbox.min.js', array('jquery'), GMW::$version, true);
753
- wp_register_script('gmw', GMW_PLUGIN_URL . 'js/gmw.js', array('jquery'), GMW::$version, true);
754
- } else {
755
- wp_register_script('gmw-colorbox', GMW_PLUGIN_URL . 'js/jquery.colorbox.min.js', array(), GMW::$version, true);
756
- wp_register_script('gmw', GMW_PLUGIN_URL . 'js/gmw.js', array(), GMW::$version, true);
757
- }
758
  } // register_scripts
759
 
760
 
761
  // enqueue CSS and JS scripts in admin
762
  static function admin_enqueue_scripts() {
763
- $options = GMW::get_options();
764
-
765
- $js_localize = array('activate_ok' => __('Superb! PRO features are active ;)', 'google-maps-widget'),
766
- 'dialog_map_title' => __('Pick an address by drag &amp; dropping the pin', 'google-maps-widget'),
767
  'undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'google-maps-widget'),
768
  'bad_api_key' => __('The API key format does not look right. Please double-check it.', 'google-maps-widget'),
769
  'dialog_promo_title' => '<img alt="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" title="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" src="' . GMW_PLUGIN_URL . 'images/gmw-logo-pro-dialog.png' . '">',
770
  'dialog_pins_title' => __('Pins Library', 'google-maps-widget'),
771
- 'plugin_name' => GMW::is_activated()? __('Google Maps Widget PRO', 'google-maps-widget'): __('Google Maps Widget', 'google-maps-widget'),
772
  'id_base' => 'googlemapswidget',
773
  'map_picker_not_active' => __('Drag&drop address picking interface is a PRO feature. Interested in switching to PRO?', 'google-maps-widget'),
774
  'customizer_address_picker' => __('At the moment, the address picker is not available in the theme customizer. Please use it in the admin widget GUI.', 'google-maps-widget'),
775
- 'customizer_pins_picker' => __('At the moment, the pins library is not available in the theme customizer. Please use it in the admin widget GUI.', 'google-maps-widget'),
776
  'customizer_pro_dialog' => __('To see what the PRO version offers please open GMW settings in the admin.', 'google-maps-widget'),
777
  'map' => false,
778
  'marker' => false,
779
- 'trial_ok' => __('Your trial has been activated. Enjoy all PRO features for 7 days.' . "\n" . 'Check your email for a DISCOUNT coupon ;)', 'google-maps-widget'),
780
  'settings_url' => admin_url('options-general.php?page=gmw_options'),
781
- 'pins_library' => GMW_PLUGIN_URL . 'images/pins/',
782
- 'disable_tooltips' => $options['disable_tooltips'],
783
- 'is_activated' => GMW::is_activated(),
784
  'nonce_test_api_key' => wp_create_nonce('gmw_test_api_key'),
785
- 'nonce_get_trial' => wp_create_nonce('gmw_get_trial'),
786
  'nonce_activate_license_key' => wp_create_nonce('gmw_activate_license_key'),
787
- 'deactivate_confirmation' => __('Are you sure you want to deactivate ' . (GMW::is_activated()? 'Google Maps Widget PRO': 'Google Maps Widget') . '?' . "\n" . 'All maps will be removed from the site. If you are removing it because of a problem please contact our support. They will be more than glad to help.', 'google-maps-widget'));
 
788
 
789
  if (GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings') || is_customize_preview()) {
790
  wp_enqueue_script('jquery-ui-tabs');
791
  wp_enqueue_script('jquery-ui-dialog');
792
- wp_enqueue_script('wp-color-picker');
793
  wp_enqueue_script('wp-pointer');
794
  wp_enqueue_script('gmw-cookie', GMW_PLUGIN_URL . 'js/jquery.cookie.js', array('jquery'), GMW::$version, true);
795
- if (GMW::is_activated()) {
796
- wp_enqueue_script('gmw-gmap', '//maps.google.com/maps/api/js', array(), GMW::$version, true);
797
- }
798
  wp_enqueue_script('gmw-select2', GMW_PLUGIN_URL . 'js/select2.min.js', array('jquery'), GMW::$version, true);
799
  wp_enqueue_script('gmw-admin', GMW_PLUGIN_URL . 'js/gmw-admin.js', array('jquery'), GMW::$version, true);
800
 
801
  wp_enqueue_style('wp-jquery-ui-dialog');
802
- wp_enqueue_style('wp-color-picker');
803
  wp_enqueue_style('wp-pointer');
804
  wp_enqueue_style('gmw-select2', GMW_PLUGIN_URL . 'css/select2.min.css', array(), GMW::$version);
805
  wp_enqueue_style('gmw-admin', GMW_PLUGIN_URL . 'css/gmw-admin.css', array(), GMW::$version);
@@ -843,45 +653,59 @@ class GMW {
843
  return false;
844
  } // is_plugin_admin_page
845
 
846
-
847
  // check if license key is valid and not expired
848
- static function is_activated($license_type = false) {
849
  $options = GMW::get_options();
850
 
851
  if (isset($options['license_active']) && $options['license_active'] === true &&
852
  isset($options['license_expires']) && $options['license_expires'] >= date('Y-m-d')) {
853
-
854
- if (mt_rand(0, 1000) > 998 && is_admin()) {
855
- $tmp = GMW::validate_activation_code($options['activation_code']);
856
- if ($tmp['success']) {
857
- $update['license_type'] = $tmp['license_type'];
858
- $update['license_expires'] = $tmp['license_expires'];
859
- $update['license_active'] = $tmp['license_active'];
860
- GMW::set_options($update);
861
- }
862
- } // random license revalidation
863
-
864
- // check for specific license type?
865
- if (!empty($license_type)) {
866
- if (strtolower(trim($license_type)) == strtolower($options['license_type'])) {
867
- return true;
868
- } else {
869
- return false;
870
- }
871
- } // check specific license type
872
-
873
  return true;
874
  } else {
875
  return false;
876
  }
877
  } // is_activated
 
 
 
 
 
 
 
 
 
 
 
878
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
 
 
 
 
 
880
  // echo markup for promo dialog; only on widgets page
881
  static function admin_dialogs_markup() {
882
  $out = '';
883
  $options = GMW::get_options();
884
- $promo_delta = 3*60*60;
885
 
886
  if (GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings')) {
887
  $current_user = wp_get_current_user();
@@ -898,9 +722,7 @@ class GMW {
898
  <div class="header"><p><a href="#" class="gmw_goto_pro">Learn more</a> about <span class="gmw-pro">PRO</span> features.</p>';
899
  if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
900
  $time = date(get_option('time_format'), $options['first_install'] + $promo_delta);
901
- $out .= '<div class="gmw-discount">We\'ve prepared a special <b>25% welcoming discount</b> for you available <b>only until ' . $time . '</b>. Discount has been applied on the unlimited license. Be quick &amp; use the buy button below.</div>';
902
- } elseif ($options['license_expires'] >= date('Y-m-d') && $options['license_type'] == 'trial') {
903
- $out .= '<div class="gmw-discount">We\'ve prepared a special <b>25% trial discount</b> for you available <b>only while the trial is active</b>. Discount has been applied on the unlimited license. Be quick &amp; use the buy button below.</div>';
904
  }
905
  $out .= '</div>'; // header
906
 
@@ -909,9 +731,7 @@ class GMW {
909
  <div class="gmw-promo-description"><h3>Unlimited Lifetime License</h3><br>
910
  <span>Unlimited sites + lifetime support &amp; upgrades</span></div>';
911
  if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
912
- $out .= '<div class="gmw-promo-button gmw-promo-button-extra"><a href="http://www.gmapswidget.com/buy/?p=pro-welcome&r=welcome-GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">only $19</a><span>discount: 25%</span></div>';
913
- } elseif ($options['license_expires'] >= date('Y-m-d') && $options['license_type'] == 'trial') {
914
- $out .= '<div class="gmw-promo-button gmw-promo-button-extra"><a href="http://www.gmapswidget.com/buy/?p=pro-trial&r=trial-GMW+v' . GMW::$version . '+' . $options['activation_code'] . '" data-noprevent="1" target="_blank">only $19</a><span>discount: 25%</span></div>';
915
  } else {
916
  $out .= '<div class="gmw-promo-button"><a href="http://www.gmapswidget.com/buy/?p=pro-unlimited&r=GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">BUY $25</a></div>';
917
  }
@@ -931,9 +751,15 @@ class GMW {
931
  $out .= '<p class="gmw-footer-intro">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>';
932
  $out .= '</div></div>'; // dialog intro
933
 
934
- $out .= '<div id="gmw_dialog_activate" style="display: none;" class="gmw_promo_dialog_screen">
935
- <div class="content">';
936
- $out .= '<p class="input_row">
 
 
 
 
 
 
937
  <input type="text" id="gmw_code" name="gmw_code" placeholder="Please enter the license key">
938
  <span style="display: none;" class="error gmw_code">Unable to verify license key. Unknown error.</span></p>
939
  <p class="center">
@@ -941,10 +767,25 @@ class GMW {
941
  </p>
942
  <p class="center">If you don\'t have a license key - <a href="#" class="gmw_goto_intro">Get it now</a></p>
943
  </div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
944
  $out .= '<div class="footer">
945
  <ul class="gmw-faq-ul">
946
  <li>Having problems paying or you misplaced your key? <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">Email us</a></li>
947
- <li>Key not working? Our <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">support</a> is here to help</li>
948
  </ul>
949
  </div>';
950
  $out .= '</div>'; // activate screen
@@ -953,8 +794,9 @@ class GMW {
953
  <div class="content">';
954
  $out .= '<h4>See how <span class="gmw-pro-red">PRO</span> features can make your life easier!</h4>';
955
  $out .= '<ul class="list-left">';
956
- $out .= '<li>11 thumbnail map skins</li>
957
- <li>1000+ thumbnail map pins</li>
 
958
  <li>4 extra map image formats for even faster loading</li>
959
  <li>replace thumb with interactive map feature</li>
960
  <li>extra hidden sidebar for easier shortcode handling</li>
@@ -966,7 +808,8 @@ class GMW {
966
  <li>Continuous updates &amp; new features</li>';
967
  $out .= '</ul>';
968
  $out .= '<ul class="list-right">';
969
- $out .= '<li>3 additional map link types</li>
 
970
  <li>fullscreen lightbox mode</li>
971
  <li>extra lightbox features</li>
972
  <li>19 lightbox skins</li>
@@ -981,13 +824,19 @@ class GMW {
981
  $out .= ' </div>';
982
  $out .= '<div class="footer">';
983
  $out .= '<p class="center"><a href="#" class="button-secondary gmw_goto_intro">Go PRO now</a> <a href="#" class="button-secondary gmw_goto_trial">Start a free trial</a><br>
984
- Or <a href="#" class="gmw_goto_activation">enter the license key</a> if you already have it.</p>';
985
  $out .= '</div>';
986
  $out .= '</div>'; // pro features screen
987
 
988
  $out .= '<div id="gmw_dialog_trial" style="display: none;" class="gmw_promo_dialog_screen">
989
- <div class="content">
990
- <h3>Fill out the form and get your free trial started <b>INSTANTLY</b>!</h3>';
 
 
 
 
 
 
991
  $out .= '<p class="input_row">
992
  <input value="' . $name . '" type="text" id="gmw_name" name="gmw_name" placeholder="Your name">
993
  <span class="error name" style="display: none;">Please enter your name.</span>
@@ -997,12 +846,28 @@ class GMW {
997
  <span style="display: none;" class="error email">Please double check your email address.</span>
998
  </p>';
999
  $out .= '<p class="center">
1000
- <a id="gmw_start_trial" href="#" class="button button-primary">Start a 7 days free trial</a></p>
1001
- <p class="center">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>
1002
- </div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1003
  $out .= '<div class="footer">
1004
  <ul class="gmw-faq-ul">
1005
- <li>Please check your email for a special <b>discount code</b></li>
1006
  <li>We\'ll never share your email address</li>
1007
  <li>We hate spam too, so we never send it</li>
1008
  </ul>
@@ -1013,47 +878,14 @@ class GMW {
1013
  } // promo dialog
1014
 
1015
  // address picker and pins dialog
1016
- if (GMW::is_plugin_admin_page('widgets') && GMW::is_activated()) {
1017
  $out .= '<div id="gmw_map_dialog" style="display: none;">';
1018
  $out .= '<div id="gmw_map_canvas"></div><hr>';
1019
  $out .= '<div id="gmw_map_dialog_footer">';
1020
-
1021
- // current coordinates
1022
- $out .= '<div class="gmw_dialog_current_coordinates">';
1023
- $out .= 'Current coordinates: <input type="text" id="gmw_map_pin_coordinates" class="regular-text"> <a href="#" class="button-secondary gmw-move-pin" data-location-holder="gmw_map_pin_coordinates">Go</a><br>';
1024
- $out .= '<a href="#" class="button-secondary gmw_close_save_map_dialog" data-location-holder="gmw_map_pin_coordinates">Use selected coordinates</a>';
1025
- $out .= '</div>';
1026
-
1027
- // closest matching address
1028
- $out .= '<div class="gmw_closest_matching_address">';
1029
- $out .= 'Closest matching address: <input type="text" id="gmw_map_pin_address" class="regular-text"> <a href="#" class="button-secondary gmw-move-pin" data-location-holder="gmw_map_pin_address">Go</a><br>';
1030
- $out .= '<a href="#" class="button-primary gmw_close_save_map_dialog" data-location-holder="gmw_map_pin_address">Use selected address</a>';
1031
- $out .= '</div>';
1032
-
1033
  $out .= '</div>'; // footer
1034
  $out .= '</div>'; // dialog
1035
-
1036
- // pins
1037
- $out .= '<div id="gmw_pins_dialog" style="display: none;">';
1038
- $out .= '<div id="search_header"><input type="search" id="pins_search" name="pins_search" placeholder="Search pins by name, eg hotel"><select id="pins_set"><option value="">All icon sets</option><option value="big/">Big icon set</option><option value="default/">Default icon set</option></select></div>';
1039
- $out .= '<div id="pins_container">';
1040
- foreach (glob(GMW_PLUGIN_DIR . 'images/pins/*/*.png') as $filename) {
1041
- $filename = str_replace('\\', '/', $filename);
1042
- preg_match('/\/([^\/]+)\/[^\/]+\.png$/i', $filename, $matches);
1043
- if (!empty($matches[1])) {
1044
- $folder = $matches[1];
1045
- } else {
1046
- $folder = 'default';
1047
- }
1048
- $filename = basename($filename);
1049
- $name = str_replace(array('.png', '-', '_'), array('', ' ', ' '), $filename);
1050
- $name = ucfirst($name);
1051
- $filename = $folder . '/' . $filename;
1052
- $out .= '<a href="#" data-filename="' . $filename . '"><img src="" alt="' . $name . '" title="' . $name . '"><span>' . $name . '</span></a>';
1053
- }
1054
- $out .= '<p><i>Default icon set is created by Nicolas Mollet under the Creative Commons Attribution-Share Alike 3.0 Unported license. You can find them on the <a class="skip-search" href="https://mapicons.mapsmarker.com/" target="_blank">Maps Icons Collection</a>.</i></p>';
1055
- $out .= '</div>';
1056
- $out .= '</div>'; // dialog
1057
  } // address picker and pins dialog if activated
1058
 
1059
  echo $out;
@@ -1069,19 +901,15 @@ class GMW {
1069
  $options = GMW::get_options();
1070
 
1071
  echo '<div class="wrap gmw-options">';
1072
- if (GMW::is_activated()) {
1073
- echo '<h1><img alt="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" title="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" height="55" src="' . GMW_PLUGIN_URL . 'images/gmw-logo-pro.png"></h1>';
1074
- } else {
1075
- echo '<h1><img alt="' . __('Google Maps Widget', 'google-maps-widget') . '" title="' . __('Google Maps Widget', 'google-maps-widget') . '" height="55" src="' . GMW_PLUGIN_URL . 'images/gmw-logo.png"></h1>';
1076
- }
1077
 
1078
- echo '<form method="post" action="options.php" enctype="multipart/form-data">';
1079
  settings_fields(GMW::$options);
1080
 
1081
  echo '<div id="gmw-settings-tabs"><ul>';
1082
  echo '<li><a href="#gmw-settings">' . __('Settings', 'google-maps-widget') . '</a></li>';
1083
  echo '<li><a href="#gmw-export">' . __('Export &amp; Import', 'google-maps-widget') . '</a></li>';
1084
- echo '<li><a href="#gmw-license">' . __('License', 'google-maps-widget') . '</a></li>';
1085
  echo '</ul>';
1086
 
1087
  echo '<div id="gmw-settings" style="display: none;">';
@@ -1094,111 +922,84 @@ class GMW {
1094
  Or use <a href="https://console.developers.google.com/flows/enableapi?apiid=maps_embed_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank">wizard step #1</a> - login, click next a few times &amp; copy the key. Then use <a href="https://console.developers.google.com/flows/enableapi?apiid=static_maps_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank">wizard step #2</a> and select the same "My Project".<br>
1095
  If you want to protect your API key by using the "Accept requests from these HTTP referrers" option in Google Console add your domain<br>in these two formats: *.mydomain.com/* and mydomain.com/*</p></td>
1096
  </tr>';
1097
- if (GMW::is_activated()) {
1098
- echo '<tr>
1099
- <th scope="row"><label for="sc_map">' . __('Map Shortcode', 'google-maps-widget') . '</label></th>
1100
- <td><input class="regular-text" name="' . GMW::$options . '[sc_map]" type="text" id="sc_map" value="' . esc_attr($options['sc_map']) . '" placeholder="Map shortcode" required="required" oninvalid="this.setCustomValidity(\'Please enter the shortcode you want to use for Google Maps Widget maps.\')" oninput="setCustomValidity(\'\')">
1101
- <p class="description">If the default shortcode "gmw" is taken by another plugin change it to something else, eg: "gmaps".</p></td>
1102
- </tr>';
1103
- }
1104
  echo '</table>';
 
1105
 
1106
- if (GMW::is_activated()) {
1107
- echo '<h3 class="title">Advanced Settings</h3>';
1108
- echo '<table class="form-table">';
1109
- echo '<tr>
1110
- <th scope="row"><label for="track_ga">' . __('Track with Google Analytics', 'google-maps-widget') . '</label></th>
1111
- <td><input name="' . GMW::$options . '[track_ga]" type="checkbox" id="track_ga" value="1"' . checked('1', $options['track_ga'], false) . '>
1112
- <span class="description">Each time the interactive map is opened either in lightbox or as a thumbnail replacement a Google Analytics Event will be tracked.<br>You need to have GA already configured on the site. It is fully compatibile with all GA plugins and all GA tracking code versions. Default: unchecked.</span></td></tr>';
1113
- echo '<tr>
1114
- <th scope="row"><label for="include_jquery">' . __('Include jQuery', 'google-maps-widget') . '</label></th>
1115
- <td><input name="' . GMW::$options . '[include_jquery]" type="checkbox" id="include_jquery" value="1"' . checked('1', $options['include_jquery'], false) . '>
1116
- <span class="description">If you\'re experiencing problems with double jQuery include disable this option. Default: checked.</span></td></tr>';
1117
- echo '<tr>
1118
- <th scope="row"><label for="include_lightbox_css">' . __('Include Colorbox &amp; Thumbnail CSS', 'google-maps-widget') . '</label></th>
1119
- <td><input name="' . GMW::$options . '[include_lightbox_css]" type="checkbox" id="include_lightbox_css" value="1"' . checked('1', $options['include_lightbox_css'], false) . '>
1120
- <span class="description">If your theme or other plugins already include Colorbox CSS disable this option.<br>Please note that widget (thumbnail map) related CSS will also be removed which will cause minor differences in the way it\'s displayed. Default: checked.</span></td></tr>';
1121
- echo '<tr>
1122
- <th scope="row"><label for="include_lightbox_js">' . __('Include Colorbox JS', 'google-maps-widget') . '</label></th>
1123
- <td><input name="' . GMW::$options . '[include_lightbox_js]" type="checkbox" id="include_lightbox_js" value="1"' . checked('1', $options['include_lightbox_js'], false) . '>
1124
- <span class="description">If your theme or other plugins already include Colorbox JS file disable this option. Default: checked.</span></td></tr>';
1125
- echo '<tr>
1126
- <th scope="row"><label for="disable_tooltips">' . __('Disable Admin Tooltips', 'google-maps-widget') . '</label></th>
1127
- <td><input name="' . GMW::$options . '[disable_tooltips]" type="checkbox" id="disable_tooltips" value="1"' . checked('1', $options['disable_tooltips'], false) . '>
1128
- <span class="description">All settings in widget edit GUI have tooltips. This setting completely disables them. Default: unchecked.</span></td></tr>';
1129
- echo '<tr>
1130
- <th scope="row"><label for="disable_sidebar">' . __('Disable Hidden Sidebar', 'google-maps-widget') . '</label></th>
1131
- <td><input name="' . GMW::$options . '[disable_sidebar]" type="checkbox" id="disable_sidebar" value="1"' . checked('1', $options['disable_sidebar'], false) . '>
1132
- <span class="description">Hidden sidebar helps you to build maps that are displayed with shortcodes. If it bothers you in the admin, disable it. Default: unchecked.</span></td></tr>';
1133
- echo '</table>';
1134
- } // advanced settings
1135
-
1136
  if (!GMW::is_activated()) {
1137
- echo '<p>Not sure if you should upgrade to <span class="gmw-pro-red">PRO</span>? It offers more than 50 extra features like shortcodes and Google Analytics tracking; <a href="#" class="open_promo_dialog">compare features now</a>.</p>';
1138
  }
1139
-
1140
- echo get_submit_button(__('Save Settings', 'google-maps-widget'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1141
  echo '</div>'; // settings tab
1142
 
1143
  echo '<div id="gmw-export" style="display: none;">';
1144
- if (GMW::is_activated()) {
1145
- echo '<table class="form-table">';
1146
- echo '<tr>
1147
- <th scope="row"><label for="">' . __('Export widgets', 'google-maps-widget') . '</label></th>
1148
- <td><a href="' . add_query_arg(array('action' => 'gmw_export_widgets'), admin_url('admin.php')) . '" class="button button-secondary">Download export file</a>
1149
- <p class="description">The export file will only containt Google Maps Widget widgets. This includes active (in sidebars) widgets and inactive ones as well.</p></td>
1150
- </tr>';
1151
- echo '<tr>
1152
- <th scope="row"><label for="">' . __('Import widgets', 'google-maps-widget') . '</label></th>
1153
- <td><input type="file" name="gmw_widgets_import" id="gmw_widgets_import" accept=".txt">
1154
- <input type="submit" name="submit-import" id="submit-import" class="button button-secondary button-large" value="Import widgets">';
1155
- echo '<p class="description">Only use TXT export files generated by Google Maps Widget.<br>
1156
- Existing GMW widgets will not be overwritten nor any other widgets touched. If you renamed a sidebar or old one no longer exists widgets will be placed in the inactive widgets area.</p></td>
1157
- </tr>';
1158
- echo '</table>';
1159
- } else {
1160
- echo '<p>Export &amp; Import are one of many <span class="gmw-pro-red">PRO</span> features. <a href="#" class="open_promo_dialog">Upgrade now</a> to get access to more than 50 extra options.</p>';
1161
- }
1162
- echo '</div>'; // export/import tab
1163
-
1164
- echo '<div id="gmw-license" style="display: none;">';
1165
  if (!GMW::is_activated()) {
1166
- echo '<p>Not sure if you should upgrade to <span class="gmw-pro-red">PRO</span>? It offers more than 50 extra features; <a href="#" class="open_promo_dialog">compare features now</a>.</p>';
1167
  }
1168
- echo '<table class="form-table">';
 
 
 
 
 
1169
  echo '<tr>
1170
- <th scope="row"><label for="activation_code">' . __('License Key', 'google-maps-widget') . '</label></th>
1171
- <td><input class="regular-text" name="' . GMW::$options . '[activation_code]" type="text" id="activation_code" value="' . esc_attr($options['activation_code']) . '" placeholder="12345-12345-12345">
1172
- <p class="description">License key can be found in the confirmation email you received after purchasing.</p></td>
 
 
1173
  </tr>';
 
 
 
 
1174
  if (GMW::is_activated()) {
1175
- if ($options['license_expires'] == '2035-01-01') {
1176
- $valid = 'indefinitely';
1177
- } else {
1178
- $valid = 'until ' . date('F jS, Y', strtotime($options['license_expires']));
1179
- if (date('Y-m-d') == $options['license_expires']) {
1180
- $valid .= '; expires today';
1181
- } elseif (date('Y-m-d', time() + DAY_IN_SECONDS) == $options['license_expires']) {
1182
- $valid .= '; expires tomorrow';
1183
- } elseif (date('Y-m-d', time() + 30 * DAY_IN_SECONDS) > $options['license_expires']) {
1184
- $tmp = (strtotime($options['license_expires'] . date(' G:i:s')) - time()) / DAY_IN_SECONDS;
1185
- $valid .= '; expires in ' . round($tmp) . ' days';
1186
- }
1187
- }
1188
- echo '<tr>
1189
- <th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
1190
- <td><b style="color: green">Active</b><br>
1191
- Type: ' . str_replace('pro', 'PRO', $options['license_type']) . '<br>
1192
- Valid ' . $valid . '</td>
1193
- </tr>';
1194
  } else {
1195
- echo '<tr>
1196
- <th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
1197
- <td><b style="color: red">Inactive</b></td>
1198
- </tr>';
1199
  }
1200
- echo '</table>';
1201
- echo get_submit_button(__('Save and Validate License Key', 'google-maps-widget'), 'primary large', 'submit-license', true, array());
1202
  echo '</div>'; // license tab
1203
 
1204
  echo '</form>';
@@ -1206,47 +1007,6 @@ class GMW {
1206
  } // settings_screen
1207
 
1208
 
1209
- // send user's name & email and get trial license key
1210
- static function get_trial_ajax() {
1211
- check_ajax_referer('gmw_get_trial');
1212
-
1213
- $name = trim($_POST['name']);
1214
- $email = trim($_POST['email']);
1215
- if (defined('WPLANG')) {
1216
- $lang = strtolower(substr(WPLANG, 0, 2));
1217
- } else {
1218
- $lang = 'en';
1219
- }
1220
-
1221
- $request_params = array('sslverify' => false, 'timeout' => 7, 'redirection' => 2);
1222
- $request_args = array('action' => 'get_trial', 'name' => $name, 'email' => $email, 'lang' => $lang, 'ip' => $_SERVER['REMOTE_ADDR'], 'site' => get_home_url());
1223
-
1224
- $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
1225
- $response = wp_remote_get(esc_url_raw($url), $request_params);
1226
-
1227
- if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
1228
- $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
1229
- $response = wp_remote_get(esc_url_raw($url), $request_params);
1230
- }
1231
-
1232
- if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
1233
- $result = wp_remote_retrieve_body($response);
1234
- $result = json_decode($result, true, 3);
1235
- if (!empty($result['success']) && $result['success'] === true && is_array($result['data']) && sizeof($result['data']) == 3) {
1236
- $result['data']['license_active'] = true;
1237
- GMW::set_options($result['data']);
1238
- wp_send_json_success();
1239
- } elseif (isset($result['success']) && $result['success'] === false && !empty($result['data'])) {
1240
- wp_send_json_error($result['data']);
1241
- } else {
1242
- wp_send_json_error('Invalid response from licensing server. Please try again later.');
1243
- }
1244
- } else {
1245
- wp_send_json_error('Unable to contact licensing server. Please try again in a few moments.');
1246
- }
1247
- } // get_trial_ajax
1248
-
1249
-
1250
  // check activation code and save if valid
1251
  static function activate_license_key_ajax() {
1252
  check_ajax_referer('gmw_activate_license_key');
@@ -1262,19 +1022,127 @@ class GMW {
1262
  GMW::set_options(array('activation_code' => $code, 'license_active' => $tmp['license_active'], 'license_type' => $tmp['license_type'], 'license_expires' => $tmp['license_expires']));
1263
  }
1264
  if ($tmp['license_active'] && $tmp['success']) {
 
1265
  wp_send_json_success();
1266
  } else {
1267
  wp_send_json_error($tmp['error']);
1268
  }
1269
  } // activate_license_key_ajax
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1270
 
 
 
 
 
 
 
 
 
 
 
 
 
1271
 
1272
- // check if activation code is valid
1273
- static function validate_activation_code($code) {
1274
- $request_params = array('sslverify' => false, 'timeout' => 7, 'redirection' => 2);
1275
- $request_args = array('action' => 'validate_license', 'code' => $code, 'domain' => get_home_url());
 
 
 
 
 
 
 
 
 
 
 
 
 
1276
 
1277
- $out = array('success' => false, 'license_active' => false, 'activation_code' => $code, 'error' => '', 'license_type' => '', 'license_expires' => '1900-01-01');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1278
 
1279
  $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
1280
  $response = wp_remote_get(esc_url_raw($url), $request_params);
@@ -1283,22 +1151,24 @@ class GMW {
1283
  $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
1284
  $response = wp_remote_get(esc_url_raw($url), $request_params);
1285
  }
1286
-
1287
  if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
1288
  $result = wp_remote_retrieve_body($response);
1289
- $result = json_decode($result, true, 3);
1290
- if (is_array($result['data']) && sizeof($result['data']) == 4) {
1291
- $out['success'] = true;
1292
- $out = array_merge($out, $result['data']);
 
 
 
 
1293
  } else {
1294
- $out['error'] = 'Invalid response from licensing server. Please try again later.';
1295
  }
1296
  } else {
1297
- $out['error'] = 'Unable to contact licensing server. Please try again in a few moments.';
1298
  }
1299
-
1300
- return $out;
1301
- } // validate_activation_code
1302
 
1303
 
1304
  // helper function for creating dropdowns
@@ -1311,9 +1181,6 @@ class GMW {
1311
 
1312
  foreach ($options as $tmp) {
1313
  $data = '';
1314
- if (isset($tmp['data-imagesrc'])) {
1315
- $data .= ' data-imagesrc="' . $tmp['data-imagesrc'] . '" ';
1316
- }
1317
  if (isset($tmp['disabled'])) {
1318
  $data .= ' disabled="disabled" ';
1319
  }
@@ -1376,43 +1243,7 @@ class GMW {
1376
 
1377
  return $values;
1378
  } // check_var_isset
1379
-
1380
-
1381
- // shortcode support for any GMW instance
1382
- static function do_shortcode($atts, $content = null) {
1383
- if (!GMW::is_activated()) {
1384
- return '';
1385
- }
1386
-
1387
- global $wp_widget_factory;
1388
- $out = '';
1389
- $atts = shortcode_atts(array('id' => 0, 'thumb_width' => 0, 'thumb_height' => 0), $atts);
1390
- $id = (int) $atts['id'];
1391
- $widgets = get_option('widget_googlemapswidget');
1392
-
1393
- if (!$id || !isset($widgets[$id]) || empty($widgets[$id])) {
1394
- $out .= '<span class="gmw-error">Google Maps Widget shortcode error - please double-check the widget ID.</span>';
1395
- } else {
1396
- $widget_args = $widgets[$id];
1397
- $widget_instance['widget_id'] = 'googlemapswidget-' . $id;
1398
- $widget_instance['widget_name'] = 'Google Maps Widget';
1399
-
1400
- if (!empty($atts['thumb_width']) && !empty($atts['thumb_height'])) {
1401
- $widget_args['thumb_width'] = min(640, max(50, (int) $atts['thumb_width']));
1402
- $widget_args['thumb_height'] = min(640, max(50, (int) $atts['thumb_height']));
1403
- }
1404
-
1405
- $out .= '<div class="gmw-shortcode-widget">';
1406
- ob_start();
1407
- the_widget('GoogleMapsWidget', $widget_args, $widget_instance);
1408
- $out .= ob_get_contents();
1409
- ob_end_clean();
1410
- $out .= '</div>';
1411
- }
1412
-
1413
- return $out;
1414
- } // do_shortcode
1415
-
1416
 
1417
  // activate doesn't get fired on upgrades so we have to compensate
1418
  public static function maybe_upgrade() {
@@ -1424,11 +1255,17 @@ class GMW {
1424
  $update['first_install'] = current_time('timestamp');
1425
  GMW::set_options($update);
1426
  }
 
 
 
 
 
 
1427
  } // maybe_upgrade
1428
 
1429
 
1430
  // write down a few things on plugin activation
1431
- // NO DATA is sent anywhere unless user explicitly agrees to it!
1432
  static function activate() {
1433
  $options = GMW::get_options();
1434
 
@@ -1453,7 +1290,10 @@ class GMW {
1453
 
1454
  // clean up on uninstall / delete
1455
  static function uninstall() {
1456
- delete_option(GMW::$options);
 
 
 
1457
  } // uninstall
1458
  } // class GMW
1459
 
2
  /*
3
  Plugin Name: Google Maps Widget
4
  Plugin URI: http://www.gmapswidget.com/
5
+ Description: Display a single image super-fast loading Google map in a widget. A larger, full featured map is available in a lightbox. Includes a user-friendly interface and numerous appearance options.
6
  Author: Web factory Ltd
7
+ Version: 3.35
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: google-maps-widget
10
  Domain Path: lang
39
 
40
  require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
41
  require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
 
 
 
 
 
42
 
43
  class GMW {
44
+ static $version;
45
  static $options = 'gmw_options';
46
  static $licensing_servers = array('http://license.gmapswidget.com/', 'http://license2.gmapswidget.com/');
47
 
48
+
49
+ // get plugin version from header
50
+ static function get_plugin_version() {
51
+ $plugin_data = get_file_data(__FILE__, array('version' => 'Version'), 'plugin');
52
+ GMW::$version = $plugin_data['version'];
53
+
54
+ return $plugin_data['version'];
55
+ } // get_plugin_version
56
+
57
 
58
  // hook everything up
59
  static function init() {
65
 
66
  // check a few variables
67
  GMW::maybe_upgrade();
68
+ add_filter('pre_set_site_transient_update_plugins', array('GMW', 'update_filter'));
69
+ add_filter('plugins_api', array('GMW', 'update_details'), 100, 3);
70
 
71
  // aditional links in plugin description
72
  add_filter('plugin_action_links_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__),
81
  add_action('admin_footer', array('GMW', 'admin_dialogs_markup'));
82
 
83
  // register AJAX endpoints
 
84
  add_action('wp_ajax_gmw_test_api_key', array('GMW', 'test_api_key_ajax'));
85
  add_action('wp_ajax_gmw_get_trial', array('GMW', 'get_trial_ajax'));
86
+ add_action('wp_ajax_gmw_activate', array('GMW', 'activate_license_key_ajax'));
87
 
88
  // custom admin actions
89
  add_action('admin_action_gmw_dismiss_notice', array('GMW', 'dismiss_notice'));
 
90
 
91
  // add options menu
92
  add_action('admin_menu', array('GMW', 'add_menus'));
105
 
106
  // track plugin usage
107
  GMW_tracking::init();
 
 
 
 
 
 
 
 
108
  } // init
109
+
110
+
111
  // some things have to be loaded earlier
112
  static function plugins_loaded() {
113
+ GMW::get_plugin_version();
114
+
115
  load_plugin_textdomain('google-maps-widget', false, basename(dirname(__FILE__)) . '/lang');
116
  add_filter('cron_schedules', array('GMW_tracking', 'register_cron_intervals'));
117
  } // plugins_loaded
119
 
120
  // initialize widgets
121
  static function widgets_init() {
 
 
122
  register_widget('GoogleMapsWidget');
 
 
 
 
 
 
 
 
 
 
 
 
123
  } // widgets_init
124
 
125
 
134
  $new_values = array();
135
  $old_options = GMW::get_options();
136
 
137
+ foreach ($values as $key => $value) {
138
+ switch ($key) {
139
+ case 'api_key':
140
+ $values[$key] = str_replace(' ', '', $value);
141
+ break;
142
+ } // switch
143
+ } // foreach
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
+ if (strlen($values['api_key']) < 30) {
146
+ add_settings_error(GMW::$options, 'api_key', __('Google Maps API key is not valid. Access <a href="https://console.developers.google.com/project">Google Developers Console</a> to generate a key for free.', 'google-maps-widget'), 'error');
 
 
 
 
 
 
 
 
 
 
147
  }
148
 
149
  return array_merge($old_options, $values);
156
  'api_key' => '',
157
  'track_ga' => '0',
158
  'include_jquery' => '1',
159
+ 'include_gmaps_api' => '1',
160
  'include_lightbox_js' => '1',
161
  'include_lightbox_css' => '1',
162
  'disable_tooltips' => '0',
214
  // add links to plugin's description in plugins table
215
  static function plugin_meta_links($links, $file) {
216
  $documentation_link = '<a target="_blank" href="http://www.gmapswidget.com/documentation/" title="' . __('View Google Maps Widget documentation', 'google-maps-widget') . '">'. __('Documentation', 'google-maps-widget') . '</a>';
217
+ $support_link = '<a target="_blank" href="http://wordpress.org/support/plugin/google-maps-widget" title="' . __('Problems? We are here to help!', 'google-maps-widget') . '">' . __('Support', 'google-maps-widget') . '</a>';
218
+ $review_link = '<a target="_blank" href="https://wordpress.org/support/view/plugin-reviews/google-maps-widget?filter=5#pages" title="' . __('If you like it, please review the plugin', 'google-maps-widget') . '">' . __('Review the plugin', 'google-maps-widget') . '</a>';
 
 
 
 
219
  $activate_link = '<a href="' . esc_url(admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog')) . '">' . __('Activate PRO features', 'google-maps-widget') . '</a>';
220
 
221
  if ($file == plugin_basename(__FILE__)) {
223
  $links[] = $support_link;
224
  $links[] = $review_link;
225
  if (!GMW::is_activated()) {
226
+ $links[] = $activate_link;
227
  }
228
  }
229
 
256
  'AIzaSyDawXzxQurkSkkTxzzW-WRYKmia_Y28S1Q',
257
  'AIzaSyArcXkQ15FoOTS2Z7El2SJHDIlTMW7Rxxg',
258
  'AIzaSyBVJ4JR63d1JIL8L6b_emat-_jXMcHveR0',
259
+ 'AIzaSyDOobziwX_9-4JuAgqIlTUZgXAss7zIIEM',
260
+ 'AIzaSyAkdW5Zp4O-96nZyFKq13UUgIHY9Yabvg8');
261
 
262
  if ($type == 'static') {
263
  return $options['api_key'];
264
+ } elseif ($type == 'fallback') {
265
+ shuffle($default_api_keys);
266
+ return $default_api_keys[0];
267
  } elseif ($type == 'embed') {
268
  if (!empty($options['api_key'])) {
269
  return $options['api_key'];
374
  $address_hash = md5('gmw_' . $address);
375
 
376
  if ($force_refresh || ($data = get_transient($address_hash)) === false) {
377
+ $url = 'https://maps.googleapis.com/maps/api/geocode/xml?address=' . urlencode($address) . '&key=' . GMW::get_api_key('fallback');
378
+ $result = wp_remote_get(esc_url_raw($url), array('sslverify' => false, 'timeout' => 10));
379
 
380
  if (!is_wp_error($result) && $result['response']['code'] == 200) {
381
  $data = new SimpleXMLElement($result['body']);
386
  $cache_value['address'] = (string) $data->result->formatted_address;
387
 
388
  // cache coordinates for 2 months
389
+ set_transient($address_hash, $cache_value, MONTH_IN_SECONDS * 2);
390
  $data = $cache_value;
391
  $data['cached'] = false;
392
  } elseif (!$data->status) {
410
  static function dialogs_markup() {
411
  $out = '';
412
  $js_vars = array();
413
+ $measure_title = array('dark');
 
414
 
415
  if (empty(GoogleMapsWidget::$widgets)) {
416
  return;
417
  }
418
 
419
  // add CSS and JS in footer
420
+ $js_vars['colorbox_css'] = GMW_PLUGIN_URL . 'css/gmw.css' . '?ver=' . GMW::$version;
421
+ wp_enqueue_script('gmw-colorbox');
 
 
 
 
 
 
 
422
  wp_enqueue_script('gmw');
423
  wp_localize_script('gmw', 'gmw_data', $js_vars);
424
 
458
  // add plugin menus
459
  static function add_menus() {
460
  $title = __('Google Maps Widget', 'google-maps-widget');
 
 
 
 
461
  add_options_page($title, $title, 'manage_options', GMW::$options, array('GMW', 'settings_screen'));
462
  } // add_menus
463
 
464
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
465
  // handle dismiss button for notices
466
  static function dismiss_notice() {
467
  if (empty($_GET['notice'])) {
478
  if ($_GET['notice'] == 'api_key') {
479
  GMW::set_options(array('dismiss_notice_api_key' => true));
480
  }
 
 
 
481
 
482
  if (!empty($_GET['redirect'])) {
483
  wp_redirect($_GET['redirect']);
494
  $options = GMW::get_options();
495
  $notice = false;
496
 
497
+ // upgrade notice is shown after install
498
+ if (!$notice && empty($options['dismiss_notice_upgrade2']) &&
499
+ !GMW::is_activated() &&
500
+ (current_time('timestamp') - $options['first_install']) > 2) {
501
+ add_action('admin_notices', array('GMW', 'notice_upgrade'));
 
 
 
 
 
 
502
  $notice = true;
503
+ } // show upgrade notice
 
 
 
 
 
504
 
505
+ // API key notification is shown only on GMW settings page
506
+ // disabled as a test in v3.35
507
+ if (0 && !GMW::get_api_key('static') && GMW::is_plugin_admin_page('settings')) {
508
  add_action('admin_notices', array('GMW', 'notice_api_key'));
 
509
  } // show api key notice
 
 
 
 
 
 
 
510
 
511
+ // rating notification is shown after 7 days if you have active widgets
512
  if (!$notice && empty($options['dismiss_notice_rate']) &&
513
  GMW_tracking::count_active_widgets() > 0 &&
514
+ GMW::is_plugin_admin_page('widgets') &&
515
+ (current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 7)) {
516
  add_action('admin_notices', array('GMW', 'notice_rate_plugin'));
517
  $notice = true;
518
  } // show rate notice
519
 
520
+ // tracking notification is shown after 15 days
521
+ if (!$notice && !isset($options['allow_tracking']) &&
522
+ GMW::is_plugin_admin_page('widgets') &&
523
+ ((current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 20))) {
524
  add_action('admin_notices', array('GMW_tracking', 'tracking_notice'));
525
  $notice = true;
526
  } // show tracking notice
527
  } // add_notices
528
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
 
530
  // display message to get pro features for GMW
531
  static function notice_upgrade() {
532
+ $promo_delta = 3 * HOUR_IN_SECONDS;
533
+ $options = GMW::get_options();
534
  $activate_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
535
  $dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
536
 
537
+ echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget <span style="color: #d54e21;">PRO</span></b> has more than 50 extra features &amp; options. Our support is fast &amp; friendly and licenses are valid for an unlimited number of sites.</p>', 'google-maps-widget');
538
 
539
+ if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
540
+ $time = date(get_option('time_format'), $options['first_install'] + $promo_delta);
541
+ echo '<p>We\'ve prepared a special <b>25% welcoming discount</b> for you available <b>only until ' . $time . '</b>.</p>';
542
+ echo '<p><a href="' . esc_url($activate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Get PRO now with 25% discount - limited offer!', 'google-maps-widget') . '</a>';
543
+ } else {
544
+ echo '<p><a href="' . esc_url($activate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('See what PRO has to offer', 'google-maps-widget') . '</a>';
545
+ }
546
+
547
+ echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '" class="">' . __('I\'m not interested (remove notice)', 'google-maps-widget') . '</a>';
548
  echo '</p></div>';
549
  } // notice_activate_extra_features
550
 
564
 
565
  // display message to enter API key
566
  static function notice_api_key() {
567
+ echo '<div id="gmw_api_key_notice" class="error notice"><p>';
568
+ echo '<b>Important!</b> New Google rules dictate that you have to register for a <b>free Google Maps API key</b>. ';
569
+ echo 'Please follow the instructions below to obtain and enter the key. If you don\'t configure the API key the maps will stop working.';
570
+ echo '</p></div>';
 
 
 
 
 
 
 
 
 
 
 
571
  } // notice_api_key
572
 
573
 
574
  // register frontend scripts and styles
575
  static function register_scripts() {
 
 
576
  wp_register_style('gmw', GMW_PLUGIN_URL . 'css/gmw.css', array(), GMW::$version);
577
 
578
+ wp_register_script('gmw-colorbox', GMW_PLUGIN_URL . 'js/jquery.colorbox.min.js', array('jquery'), GMW::$version, true);
579
+ wp_register_script('gmw', GMW_PLUGIN_URL . 'js/gmw.js', array('jquery'), GMW::$version, true);
 
 
 
 
 
580
  } // register_scripts
581
 
582
 
583
  // enqueue CSS and JS scripts in admin
584
  static function admin_enqueue_scripts() {
585
+ $js_localize = array('dialog_map_title' => __('Pick an address by drag &amp; dropping the pin', 'google-maps-widget'),
 
 
 
586
  'undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'google-maps-widget'),
587
  'bad_api_key' => __('The API key format does not look right. Please double-check it.', 'google-maps-widget'),
588
  'dialog_promo_title' => '<img alt="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" title="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" src="' . GMW_PLUGIN_URL . 'images/gmw-logo-pro-dialog.png' . '">',
589
  'dialog_pins_title' => __('Pins Library', 'google-maps-widget'),
590
+ 'plugin_name' => __('Google Maps Widget', 'google-maps-widget'),
591
  'id_base' => 'googlemapswidget',
592
  'map_picker_not_active' => __('Drag&drop address picking interface is a PRO feature. Interested in switching to PRO?', 'google-maps-widget'),
593
  'customizer_address_picker' => __('At the moment, the address picker is not available in the theme customizer. Please use it in the admin widget GUI.', 'google-maps-widget'),
 
594
  'customizer_pro_dialog' => __('To see what the PRO version offers please open GMW settings in the admin.', 'google-maps-widget'),
595
  'map' => false,
596
  'marker' => false,
 
597
  'settings_url' => admin_url('options-general.php?page=gmw_options'),
 
 
 
598
  'nonce_test_api_key' => wp_create_nonce('gmw_test_api_key'),
 
599
  'nonce_activate_license_key' => wp_create_nonce('gmw_activate_license_key'),
600
+ 'nonce_get_trial' => wp_create_nonce('gmw_get_trial'),
601
+ 'deactivate_confirmation' => __('Are you sure you want to deactivate Google Maps Widget?' . "\n" . 'All maps will be removed from the site. If you are removing it because of a problem please contact our support. They will be more than glad to help.', 'google-maps-widget'));
602
 
603
  if (GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings') || is_customize_preview()) {
604
  wp_enqueue_script('jquery-ui-tabs');
605
  wp_enqueue_script('jquery-ui-dialog');
 
606
  wp_enqueue_script('wp-pointer');
607
  wp_enqueue_script('gmw-cookie', GMW_PLUGIN_URL . 'js/jquery.cookie.js', array('jquery'), GMW::$version, true);
608
+ wp_enqueue_script('gmw-gmap', '//maps.google.com/maps/api/js?key=' . GMW::get_api_key('fallback'), array(), GMW::$version, true);
 
 
609
  wp_enqueue_script('gmw-select2', GMW_PLUGIN_URL . 'js/select2.min.js', array('jquery'), GMW::$version, true);
610
  wp_enqueue_script('gmw-admin', GMW_PLUGIN_URL . 'js/gmw-admin.js', array('jquery'), GMW::$version, true);
611
 
612
  wp_enqueue_style('wp-jquery-ui-dialog');
 
613
  wp_enqueue_style('wp-pointer');
614
  wp_enqueue_style('gmw-select2', GMW_PLUGIN_URL . 'css/select2.min.css', array(), GMW::$version);
615
  wp_enqueue_style('gmw-admin', GMW_PLUGIN_URL . 'css/gmw-admin.css', array(), GMW::$version);
653
  return false;
654
  } // is_plugin_admin_page
655
 
656
+
657
  // check if license key is valid and not expired
658
+ static function is_activated() {
659
  $options = GMW::get_options();
660
 
661
  if (isset($options['license_active']) && $options['license_active'] === true &&
662
  isset($options['license_expires']) && $options['license_expires'] >= date('Y-m-d')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
  return true;
664
  } else {
665
  return false;
666
  }
667
  } // is_activated
668
+
669
+
670
+ // check if activation code is valid
671
+ static function validate_activation_code($code) {
672
+ $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
673
+ $request_args = array('action' => 'validate_license',
674
+ 'code' => $code,
675
+ 'version' => GMW::$version,
676
+ 'site' => get_home_url());
677
+
678
+ $out = array('success' => false, 'license_active' => false, 'activation_code' => $code, 'error' => '', 'license_type' => '', 'license_expires' => '1900-01-01');
679
 
680
+ $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
681
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
682
+
683
+ if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
684
+ $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
685
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
686
+ }
687
+
688
+ if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
689
+ $result = json_decode(wp_remote_retrieve_body($response), true);
690
+ if (is_array($result['data']) && sizeof($result['data']) == 4) {
691
+ $out['success'] = true;
692
+ $out = array_merge($out, $result['data']);
693
+ } else {
694
+ $out['error'] = 'Invalid response from licensing server. Please try again later.';
695
+ }
696
+ } else {
697
+ $out['error'] = 'Unable to contact licensing server. Please try again in a few moments.';
698
+ }
699
 
700
+ return $out;
701
+ } // validate_activation_code
702
+
703
+
704
  // echo markup for promo dialog; only on widgets page
705
  static function admin_dialogs_markup() {
706
  $out = '';
707
  $options = GMW::get_options();
708
+ $promo_delta = 3 * HOUR_IN_SECONDS;
709
 
710
  if (GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings')) {
711
  $current_user = wp_get_current_user();
722
  <div class="header"><p><a href="#" class="gmw_goto_pro">Learn more</a> about <span class="gmw-pro">PRO</span> features.</p>';
723
  if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
724
  $time = date(get_option('time_format'), $options['first_install'] + $promo_delta);
725
+ $out .= '<div class="gmw-discount">We\'ve prepared a special <b>25% welcoming discount</b> for you available <b>only until ' . $time . '</b>. Discount has been applied on the unlimited license. Be quick &amp; click the buy button below.</div>';
 
 
726
  }
727
  $out .= '</div>'; // header
728
 
731
  <div class="gmw-promo-description"><h3>Unlimited Lifetime License</h3><br>
732
  <span>Unlimited sites + lifetime support &amp; upgrades</span></div>';
733
  if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
734
+ $out .= '<div class="gmw-promo-button gmw-promo-button-extra"><a href="http://www.gmapswidget.com/buy/?p=pro-welcome&r=welcome-GMW+v' . GMW::$version . '" target="_blank">only $19</a><span>discount: 25%</span></div>';
 
 
735
  } else {
736
  $out .= '<div class="gmw-promo-button"><a href="http://www.gmapswidget.com/buy/?p=pro-unlimited&r=GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">BUY $25</a></div>';
737
  }
751
  $out .= '<p class="gmw-footer-intro">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>';
752
  $out .= '</div></div>'; // dialog intro
753
 
754
+ $out .= '<div id="gmw_dialog_activate" style="display: none;" class="gmw_promo_dialog_screen">';
755
+ $out .= '<div class="content">';
756
+
757
+ if (GMW::is_activated()) {
758
+ $visible = ' style="display: none;"';
759
+ } else {
760
+ $visible = '';
761
+ }
762
+ $out .= '<div class="before_activate" ' . $visible . '><p class="input_row">
763
  <input type="text" id="gmw_code" name="gmw_code" placeholder="Please enter the license key">
764
  <span style="display: none;" class="error gmw_code">Unable to verify license key. Unknown error.</span></p>
765
  <p class="center">
767
  </p>
768
  <p class="center">If you don\'t have a license key - <a href="#" class="gmw_goto_intro">Get it now</a></p>
769
  </div>';
770
+
771
+
772
+ if (!GMW::is_activated()) {
773
+ $visible = ' style="display: none;"';
774
+ } else {
775
+ $visible = '';
776
+ }
777
+ $plugin = plugin_basename(__FILE__);
778
+ $update_url = wp_nonce_url(admin_url('update.php?action=upgrade-plugin&amp;plugin=' . urlencode($plugin)), 'upgrade-plugin_' . $plugin );
779
+ $out .= '<div class="after_activate" ' . $visible . '>';
780
+ $out .= '<p class="center">Thank you for purchasing Google Maps Widget <b class="gmw-pro-red">PRO</b>! Your license has been verified and activated.</p><p class="center">Please <b>click the button below</b> to update plugin files to PRO version.</p>';
781
+ $out .= '<p class="center"><a href="' . esc_url($update_url) . '" class="button button-primary">Update Google Maps Widget</a></p>';
782
+ $out .= '</div>';
783
+
784
+ $out .= '</div>'; // content
785
  $out .= '<div class="footer">
786
  <ul class="gmw-faq-ul">
787
  <li>Having problems paying or you misplaced your key? <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">Email us</a></li>
788
+ <li>Key not working or can\'t upgrade? Our <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">support</a> is here to help</li>
789
  </ul>
790
  </div>';
791
  $out .= '</div>'; // activate screen
794
  <div class="content">';
795
  $out .= '<h4>See how <span class="gmw-pro-red">PRO</span> features can make your life easier!</h4>';
796
  $out .= '<ul class="list-left">';
797
+ $out .= '<li>Multiple pins support</li>
798
+ <li>12 thumbnail map skins</li>
799
+ <li>1500+ map pins</li>
800
  <li>4 extra map image formats for even faster loading</li>
801
  <li>replace thumb with interactive map feature</li>
802
  <li>extra hidden sidebar for easier shortcode handling</li>
808
  <li>Continuous updates &amp; new features</li>';
809
  $out .= '</ul>';
810
  $out .= '<ul class="list-right">';
811
+ $out .= '<li>Full control over all pins</li>
812
+ <li>3 additional map link types</li>
813
  <li>fullscreen lightbox mode</li>
814
  <li>extra lightbox features</li>
815
  <li>19 lightbox skins</li>
824
  $out .= ' </div>';
825
  $out .= '<div class="footer">';
826
  $out .= '<p class="center"><a href="#" class="button-secondary gmw_goto_intro">Go PRO now</a> <a href="#" class="button-secondary gmw_goto_trial">Start a free trial</a><br>
827
+ Or <a href="#" class="gmw_goto_activation">enter the license key</a> if you already have it.</p>';
828
  $out .= '</div>';
829
  $out .= '</div>'; // pro features screen
830
 
831
  $out .= '<div id="gmw_dialog_trial" style="display: none;" class="gmw_promo_dialog_screen">
832
+ <div class="content">';
833
+ if (GMW::is_activated()) {
834
+ $visible = ' style="display: none;"';
835
+ } else {
836
+ $visible = '';
837
+ }
838
+ $out .= '<div class="before_trial" ' . $visible . '>
839
+ <h3>Fill out the form and get your free trial started <b>IMMEDIATELY</b>!</h3>';
840
  $out .= '<p class="input_row">
841
  <input value="' . $name . '" type="text" id="gmw_name" name="gmw_name" placeholder="Your name">
842
  <span class="error name" style="display: none;">Please enter your name.</span>
846
  <span style="display: none;" class="error email">Please double check your email address.</span>
847
  </p>';
848
  $out .= '<p class="center">
849
+ <a id="gmw_start_trial" href="#" class="button button-primary">Start a 7 days free trial</a>
850
+ <p class="center">Or <a href="#" class="gmw_goto_intro">go PRO now</a></p>
851
+ </p>';
852
+ $out .= '</div>'; // before_trial
853
+
854
+ if (!GMW::is_activated()) {
855
+ $visible = ' style="display: none;"';
856
+ } else {
857
+ $visible = '';
858
+ }
859
+ $plugin = plugin_basename(__FILE__);
860
+ $update_url = wp_nonce_url(admin_url('update.php?action=upgrade-plugin&amp;plugin=' . urlencode($plugin)), 'upgrade-plugin_' . $plugin );
861
+ $out .= '<div class="after_trial" ' . $visible . '>';
862
+ $out .= '<p class="center">Your Google Maps Widget <b class="gmw-pro-red">PRO</b> trial has been activated!</p><p class="center">Please <b>click the button below</b> to update plugin files to PRO version.</p>';
863
+ $out .= '<p class="center"><a href="' . esc_url($update_url) . '" class="button button-primary">Update Google Maps Widget</a></p>';
864
+ $out .= '</div>';
865
+
866
+ $out .= '</div>'; // content
867
+
868
  $out .= '<div class="footer">
869
  <ul class="gmw-faq-ul">
870
+ <li>Please check your email for a <b>25% discount coupon</b></li>
871
  <li>We\'ll never share your email address</li>
872
  <li>We hate spam too, so we never send it</li>
873
  </ul>
878
  } // promo dialog
879
 
880
  // address picker and pins dialog
881
+ if (GMW::is_plugin_admin_page('widgets')) {
882
  $out .= '<div id="gmw_map_dialog" style="display: none;">';
883
  $out .= '<div id="gmw_map_canvas"></div><hr>';
884
  $out .= '<div id="gmw_map_dialog_footer">';
885
+
886
+ $out .= '<p>Address picker is a <b class="gmw-pro-red">PRO</b> feature that gives you the option to easily drag &amp; drop the pin to any location you need and fine-tune its position. <a class="open_promo_dialog" href="#">Upgrade to PRO</a> to have full control over your pins.</p><input type="hidden" autofocus="autofocus" />';
 
 
 
 
 
 
 
 
 
 
 
887
  $out .= '</div>'; // footer
888
  $out .= '</div>'; // dialog
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
889
  } // address picker and pins dialog if activated
890
 
891
  echo $out;
901
  $options = GMW::get_options();
902
 
903
  echo '<div class="wrap gmw-options">';
904
+ echo '<h1><img alt="' . __('Google Maps Widget', 'google-maps-widget') . '" title="' . __('Google Maps Widget', 'google-maps-widget') . '" height="55" src="' . GMW_PLUGIN_URL . 'images/gmw-logo.png"></h1>';
 
 
 
 
905
 
906
+ echo '<form method="post" action="options.php">';
907
  settings_fields(GMW::$options);
908
 
909
  echo '<div id="gmw-settings-tabs"><ul>';
910
  echo '<li><a href="#gmw-settings">' . __('Settings', 'google-maps-widget') . '</a></li>';
911
  echo '<li><a href="#gmw-export">' . __('Export &amp; Import', 'google-maps-widget') . '</a></li>';
912
+ echo '<li><a href="#gmw-license">' . __('PRO License', 'google-maps-widget') . '</a></li>';
913
  echo '</ul>';
914
 
915
  echo '<div id="gmw-settings" style="display: none;">';
922
  Or use <a href="https://console.developers.google.com/flows/enableapi?apiid=maps_embed_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank">wizard step #1</a> - login, click next a few times &amp; copy the key. Then use <a href="https://console.developers.google.com/flows/enableapi?apiid=static_maps_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank">wizard step #2</a> and select the same "My Project".<br>
923
  If you want to protect your API key by using the "Accept requests from these HTTP referrers" option in Google Console add your domain<br>in these two formats: *.mydomain.com/* and mydomain.com/*</p></td>
924
  </tr>';
 
 
 
 
 
 
 
925
  echo '</table>';
926
+ echo get_submit_button(__('Save Settings', 'google-maps-widget'));
927
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
928
  if (!GMW::is_activated()) {
929
+ echo '<p>Not sure if you should upgrade to <span class="gmw-pro-red">PRO</span>? It offers more than 50 extra features like shortcodes, Google Analytics tracking, multiple pins support &amp; much more; <a href="#" class="open_promo_dialog button" data-target-screen="gmw_dialog_pro_features">compare features now</a>.</p>';
930
  }
931
+
932
+ echo '<h3 class="title disabled"><br>Advanced Settings - available in the PRO version</h3>';
933
+ echo '<table class="form-table disabled">';
934
+ echo '<tr>
935
+ <th scope="row"><label for="sc_map">' . __('Map Shortcode', 'google-maps-widget') . '</label></th>
936
+ <td><input class="regular-text" name="' . GMW::$options . '[sc_map]" type="text" id="sc_map" value="' . esc_attr($options['sc_map']) . '" disabled="disabled" placeholder="Map shortcode" required="required" oninvalid="this.setCustomValidity(\'Please enter the shortcode you want to use for Google Maps Widget maps.\')" oninput="setCustomValidity(\'\')">
937
+ <p class="description">If the default shortcode "gmw" is taken by another plugin change it to something else, eg: "gmaps".</p></td>
938
+ </tr>';
939
+ echo '<tr>
940
+ <th scope="row"><label for="track_ga">' . __('Track with Google Analytics', 'google-maps-widget') . '</label></th>
941
+ <td><input name="' . GMW::$options . '[track_ga]" disabled="disabled" type="checkbox" id="track_ga" value="1"' . checked('1', $options['track_ga'], false) . '>
942
+ <span class="description">Each time the interactive map is opened either in lightbox or as a thumbnail replacement a Google Analytics Event will be tracked.<br>You need to have GA already configured on the site. It is fully compatibile with all GA plugins and all GA tracking code versions. Default: unchecked.</span></td></tr>';
943
+ echo '<tr>
944
+ <th scope="row"><label for="include_jquery">' . __('Include jQuery', 'google-maps-widget') . '</label></th>
945
+ <td><input name="' . GMW::$options . '[include_jquery]" disabled="disabled" type="checkbox" id="include_jquery" value="1"' . checked('1', $options['include_jquery'], false) . '>
946
+ <span class="description">If you\'re experiencing problems with double jQuery include disable this option. Default: checked.</span></td></tr>';
947
+ echo '<tr>
948
+ <th scope="row"><label for="include_gmaps_api">' . __('Include Google Maps API JS', 'google-maps-widget') . '</label></th>
949
+ <td><input disabled="disabled" name="' . GMW::$options . '[include_gmaps_api]" type="checkbox" id="include_gmaps_api" value="1"' . checked('1', $options['include_gmaps_api'], false) . '>
950
+ <span class="description">If your theme or other plugins already include Google Maps API JS disable this option. Default: checked.</span></td></tr>';
951
+ echo '<tr>
952
+ <th scope="row"><label for="include_lightbox_css">' . __('Include Colorbox &amp; Thumbnail CSS', 'google-maps-widget') . '</label></th>
953
+ <td><input name="' . GMW::$options . '[include_lightbox_css]" disabled="disabled" type="checkbox" id="include_lightbox_css" value="1"' . checked('1', $options['include_lightbox_css'], false) . '>
954
+ <span class="description">If your theme or other plugins already include Colorbox CSS disable this option.<br>Please note that widget (thumbnail map) related CSS will also be removed which will cause minor differences in the way it\'s displayed. Default: checked.</span></td></tr>';
955
+ echo '<tr>
956
+ <th scope="row"><label for="include_lightbox_js">' . __('Include Colorbox JS', 'google-maps-widget') . '</label></th>
957
+ <td><input name="' . GMW::$options . '[include_lightbox_js]" disabled="disabled" type="checkbox" id="include_lightbox_js" value="1"' . checked('1', $options['include_lightbox_js'], false) . '>
958
+ <span class="description">If your theme or other plugins already include Colorbox JS file disable this option. Default: checked.</span></td></tr>';
959
+ echo '<tr>
960
+ <th scope="row"><label for="disable_tooltips">' . __('Disable Admin Tooltips', 'google-maps-widget') . '</label></th>
961
+ <td><input name="' . GMW::$options . '[disable_tooltips]" type="checkbox" disabled="disabled" id="disable_tooltips" value="1"' . checked('1', $options['disable_tooltips'], false) . '>
962
+ <span class="description">All settings in widget edit GUI have tooltips. This setting completely disables them. Default: unchecked.</span></td></tr>';
963
+ echo '<tr>
964
+ <th scope="row"><label for="disable_sidebar">' . __('Disable Hidden Sidebar', 'google-maps-widget') . '</label></th>
965
+ <td><input name="' . GMW::$options . '[disable_sidebar]" disabled="disabled" type="checkbox" id="disable_sidebar" value="1"' . checked('1', $options['disable_sidebar'], false) . '>
966
+ <span class="description">Hidden sidebar helps you to build maps that are displayed with shortcodes. If it bothers you in the admin, disable it. Default: unchecked.</span></td></tr>';
967
+ echo '</table>';
968
+
969
  echo '</div>'; // settings tab
970
 
971
  echo '<div id="gmw-export" style="display: none;">';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
972
  if (!GMW::is_activated()) {
973
+ echo '<p>Export &amp; Import are one of many <span class="gmw-pro-red">PRO</span> features. <a href="#" class="open_promo_dialog button button-primary">Upgrade now</a> to get access to more than 50 extra options &amp; features.</p>';
974
  }
975
+ echo '<table class="form-table disabled">';
976
+ echo '<tr>
977
+ <th scope="row"><span>' . __('Export widgets', 'google-maps-widget') . '</span></th>
978
+ <td><a href="#" class="button button-secondary button-disabled">Download export file</a>
979
+ <p class="description">The export file will only containt Google Maps Widget widgets. This includes active (in sidebars) widgets and inactive ones as well.</p></td>
980
+ </tr>';
981
  echo '<tr>
982
+ <th scope="row"><span>' . __('Import widgets', 'google-maps-widget') . '</span></th>
983
+ <td><input type="file" disabled="disabled" name="gmw_widgets_import" id="gmw_widgets_import" accept=".txt">
984
+ <input type="button" disabled="disabled" name="submit-import" id="submit-import" class="button button-secondary button-large" value="Import widgets">';
985
+ echo '<p class="description">Only use TXT export files generated by Google Maps Widget.<br>
986
+ Existing GMW widgets will not be overwritten nor any other widgets touched. If you renamed a sidebar or old one no longer exists widgets will be placed in the inactive widgets area.</p></td>
987
  </tr>';
988
+ echo '</table>';
989
+ echo '</div>'; // export/import tab
990
+
991
+ echo '<div id="gmw-license" style="display: none;">';
992
  if (GMW::is_activated()) {
993
+ $plugin = plugin_basename(__FILE__);
994
+ $update_url = wp_nonce_url(admin_url('update.php?action=upgrade-plugin&amp;plugin=' . urlencode($plugin)), 'upgrade-plugin_' . $plugin );
995
+
996
+ echo '<p>Your <b class="gmw-pro-red">PRO</b> license is validated &amp; active. Please update the plugin to activate PRO features. In case of any problems, contact <a href="mailto:gmw@webfactoryltd.com?subject=Update%20problem" title="Contact Google Maps Widget PRO support">support</a>.</p>';
997
+ echo '<p><a href="' . esc_url($update_url) . '" class="button button-primary">Update Google Maps Widget</a></p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
998
  } else {
999
+ echo '<p>If you already bought the <b class="gmw-pro-red">PRO</b> license please <a href="#" data-target-screen="gmw_dialog_activate" class="open_promo_dialog">enter your license key</a> to activate it.</p>';
1000
+ echo '<p>Interested in a lifetime <b class="gmw-pro-red">PRO</b> license that offers more than 50 extra fetures?&nbsp;&nbsp; <a href="#" class="open_promo_dialog button button-primary">Upgrade now!</a></p>';
 
 
1001
  }
1002
+
 
1003
  echo '</div>'; // license tab
1004
 
1005
  echo '</form>';
1007
  } // settings_screen
1008
 
1009
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1010
  // check activation code and save if valid
1011
  static function activate_license_key_ajax() {
1012
  check_ajax_referer('gmw_activate_license_key');
1022
  GMW::set_options(array('activation_code' => $code, 'license_active' => $tmp['license_active'], 'license_type' => $tmp['license_type'], 'license_expires' => $tmp['license_expires']));
1023
  }
1024
  if ($tmp['license_active'] && $tmp['success']) {
1025
+ set_site_transient('update_plugins', null);
1026
  wp_send_json_success();
1027
  } else {
1028
  wp_send_json_error($tmp['error']);
1029
  }
1030
  } // activate_license_key_ajax
1031
+
1032
+
1033
+ // get info on new plugin version if one exists
1034
+ static function update_filter($current) {
1035
+ if (!GMW::is_activated()) {
1036
+ return $current;
1037
+ }
1038
+
1039
+ static $response = false;
1040
+ $options = GMW::get_options();
1041
+ $plugin = plugin_basename(__FILE__);
1042
+
1043
+ if(empty($response) || is_wp_error($response)) {
1044
+ $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
1045
+ $request_args = array('action' => 'update_info',
1046
+ 'timestamp' => time(),
1047
+ 'version' => GMW::$version,
1048
+ 'code' => $options['activation_code'],
1049
+ 'site' => get_home_url());
1050
+
1051
+ $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
1052
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
1053
+
1054
+ if (is_wp_error($response)) {
1055
+ $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
1056
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
1057
+ }
1058
+ } // if !$response
1059
 
1060
+ if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
1061
+ $data = json_decode(wp_remote_retrieve_body($response));
1062
+ if (empty($current)) {
1063
+ $current = new stdClass();
1064
+ }
1065
+ if (empty($current->response)) {
1066
+ $current->response = array();
1067
+ }
1068
+ if (!empty($data) && is_object($data)) {
1069
+ $current->response[$plugin] = $data;
1070
+ }
1071
+ }
1072
 
1073
+ return $current;
1074
+ } // update_filter
1075
+
1076
+
1077
+ // get plugin info for lightbox
1078
+ static function update_details($type, $action, $args) {
1079
+ if (!GMW::is_activated()) {
1080
+ return false;
1081
+ }
1082
+
1083
+ static $response = false;
1084
+ $options = self::get_options();
1085
+ $plugin = basename(GMW_PLUGIN_DIR);
1086
+
1087
+ if ($action != 'plugin_information' || empty($args->slug) || ($args->slug != $plugin)) {
1088
+ return false;
1089
+ }
1090
 
1091
+ if(empty($response) || is_wp_error($response)) {
1092
+ $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
1093
+ $request_args = array('action' => 'update_info',
1094
+ 'request_details' => serialize($args),
1095
+ 'timestamp' => time(),
1096
+ 'version' => GMW::$version,
1097
+ 'code' => $options['activation_code'],
1098
+ 'site' => get_home_url());
1099
+
1100
+ $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
1101
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
1102
+
1103
+ if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
1104
+ $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
1105
+ $response = wp_remote_get(esc_url_raw($url), $request_params);
1106
+ }
1107
+ } // if !$response
1108
+
1109
+ if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
1110
+ $res = new WP_Error('plugins_api_failed', __('An unexpected HTTP error occurred during the API request.', 'google-maps-widget'), $response->get_error_message());
1111
+ } else {
1112
+ $res = json_decode(wp_remote_retrieve_body($response));
1113
+
1114
+ if (!is_object($res)) {
1115
+ $res = new WP_Error('plugins_api_failed', __('Invalid API respone.', 'google-maps-widget'), wp_remote_retrieve_body($response));
1116
+ } else {
1117
+ $res->sections = (array) $res->sections;
1118
+ $res->banners = (array) $res->banners;
1119
+ }
1120
+ }
1121
+
1122
+ return $res;
1123
+ } // update_details
1124
+
1125
+
1126
+ // send user's name & email to activate trial
1127
+ static function get_trial_ajax() {
1128
+ check_ajax_referer('gmw_get_trial');
1129
+
1130
+ $name = trim($_POST['name']);
1131
+ $email = trim($_POST['email']);
1132
+ if (defined('WPLANG')) {
1133
+ $lang = strtolower(substr(WPLANG, 0, 2));
1134
+ } else {
1135
+ $lang = 'en';
1136
+ }
1137
+
1138
+ $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
1139
+ $request_args = array('action' => 'get_trial',
1140
+ 'name' => $name,
1141
+ 'email' => $email,
1142
+ 'version' => GMW::$version,
1143
+ 'lang' => $lang,
1144
+ 'ip' => $_SERVER['REMOTE_ADDR'],
1145
+ 'site' => get_home_url());
1146
 
1147
  $url = add_query_arg($request_args, GMW::$licensing_servers[0]);
1148
  $response = wp_remote_get(esc_url_raw($url), $request_params);
1151
  $url = add_query_arg($request_args, GMW::$licensing_servers[1]);
1152
  $response = wp_remote_get(esc_url_raw($url), $request_params);
1153
  }
1154
+
1155
  if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
1156
  $result = wp_remote_retrieve_body($response);
1157
+ $result = json_decode($result, true);
1158
+ if (!empty($result['success']) && $result['success'] === true && is_array($result['data']) && sizeof($result['data']) == 3) {
1159
+ $result['data']['license_active'] = true;
1160
+ GMW::set_options($result['data']);
1161
+ set_site_transient('update_plugins', null);
1162
+ wp_send_json_success();
1163
+ } elseif (isset($result['success']) && $result['success'] === false && !empty($result['data'])) {
1164
+ wp_send_json_error($result['data']);
1165
  } else {
1166
+ wp_send_json_error('Invalid response from licensing server. Please try again later.');
1167
  }
1168
  } else {
1169
+ wp_send_json_error('Unable to contact licensing server. Please try again in a few moments.');
1170
  }
1171
+ } // get_trial_ajax
 
 
1172
 
1173
 
1174
  // helper function for creating dropdowns
1181
 
1182
  foreach ($options as $tmp) {
1183
  $data = '';
 
 
 
1184
  if (isset($tmp['disabled'])) {
1185
  $data .= ' disabled="disabled" ';
1186
  }
1243
 
1244
  return $values;
1245
  } // check_var_isset
1246
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1247
 
1248
  // activate doesn't get fired on upgrades so we have to compensate
1249
  public static function maybe_upgrade() {
1255
  $update['first_install'] = current_time('timestamp');
1256
  GMW::set_options($update);
1257
  }
1258
+
1259
+ // force plugin update for PRO users
1260
+ if (!get_site_transient('gmw_update_plugins') && $options['first_version'] != GMW::$version && GMW::is_activated()) {
1261
+ set_site_transient('update_plugins', null);
1262
+ set_site_transient('gmw_update_plugins', true, WEEK_IN_SECONDS);
1263
+ }
1264
  } // maybe_upgrade
1265
 
1266
 
1267
  // write down a few things on plugin activation
1268
+ // NO DATA for tracking is sent anywhere unless user explicitly agrees to it!
1269
  static function activate() {
1270
  $options = GMW::get_options();
1271
 
1290
 
1291
  // clean up on uninstall / delete
1292
  static function uninstall() {
1293
+ // at the moment, due to lite/pro upgrade we never delete options
1294
+ if (false) {
1295
+ delete_option(GMW::$options);
1296
+ }
1297
  } // uninstall
1298
  } // class GMW
1299
 
images/colorbox/darkrimmed/colorbox_darkrimmed.png DELETED
Binary file
images/colorbox/fancyoverlay/colorbox_fancyoverlay.png DELETED
Binary file
images/colorbox/gears/frame1.png DELETED
Binary file
images/colorbox/gears/frame2.png DELETED
Binary file
images/colorbox/gray-square/border.png DELETED
Binary file
images/colorbox/gray-square/controls.png DELETED
Binary file
images/colorbox/gray-square/loading_background.png DELETED
Binary file
images/colorbox/minimal-circles/colorbox_minimalcircles.png DELETED
Binary file
images/colorbox/minimal/colorbox_minimal.png DELETED
Binary file
images/colorbox/painting/frame1.png DELETED
Binary file
images/colorbox/painting/frame2.png DELETED
Binary file
images/colorbox/rounded-white/border1.png DELETED
Binary file
images/colorbox/rounded-white/border2.png DELETED
Binary file
images/colorbox/shadow/colorbox_fancyoverlay.png DELETED
Binary file
images/colorbox/sketchtoon/colorbox_sketchtoon.png DELETED
Binary file
images/colorbox/sketchtoon/paper.jpg DELETED
Binary file
images/colorbox/square-black/controls.png DELETED
Binary file
images/colorbox/square-white/controls.png DELETED
Binary file
images/colorbox/tablet/frame1.png DELETED
Binary file
images/colorbox/tablet/frame2.png DELETED
Binary file
images/colorbox/vintage/frame1.png DELETED
Binary file
images/colorbox/vintage/frame2.png DELETED
Binary file
images/colorbox/vintage/pattern.jpg DELETED
Binary file
images/colorbox/wood/colorbox_woodtable.png DELETED
Binary file
images/colorbox/wood/woodpattern.jpg DELETED
Binary file
images/pins/big/360_degrees.png DELETED
Binary file
images/pins/big/abduction.png DELETED
Binary file
images/pins/big/aboriginal.png DELETED
Binary file
images/pins/big/access_denied.png DELETED
Binary file
images/pins/big/accupuncture.png DELETED
Binary file
images/pins/big/administration.png DELETED
Binary file
images/pins/big/administrative_boundary.png DELETED
Binary file
images/pins/big/agritourism.png DELETED
Binary file
images/pins/big/aircraft_bimotor.png DELETED
Binary file
images/pins/big/aircraft_carrier.png DELETED
Binary file
images/pins/big/aircraft_fixed_wing.png DELETED
Binary file
images/pins/big/aircraft_small.png DELETED
Binary file
images/pins/big/airport_apron.png DELETED
Binary file
images/pins/big/airport_runway.png DELETED
Binary file
images/pins/big/airport_terminal.png DELETED
Binary file
images/pins/big/airshow.png DELETED
Binary file
images/pins/big/algae.png DELETED
Binary file
images/pins/big/alien.png DELETED
Binary file
images/pins/big/alligator.png DELETED
Binary file
images/pins/big/american_football.png DELETED
Binary file
images/pins/big/amphitheater_lecture.png DELETED
Binary file
images/pins/big/amphitheater_presentation.png DELETED
Binary file
images/pins/big/anchor_pier.png DELETED
Binary file
images/pins/big/anemometer.png DELETED
Binary file
images/pins/big/animal-shelter.png DELETED
Binary file
images/pins/big/anniversary.png DELETED
Binary file
images/pins/big/ant.png DELETED
Binary file
images/pins/big/anthropology.png DELETED
Binary file
images/pins/big/apartment.png DELETED
Binary file
images/pins/big/apple.png DELETED
Binary file
images/pins/big/aquarium.png DELETED
Binary file
images/pins/big/arch.png DELETED
Binary file
images/pins/big/archery.png DELETED
Binary file
images/pins/big/army.png DELETED
Binary file
images/pins/big/art-museum.png DELETED
Binary file
images/pins/big/art_gallery.png DELETED
Binary file
images/pins/big/atm.png DELETED
Binary file
images/pins/big/atom.png DELETED
Binary file
images/pins/big/atv.png DELETED
Binary file
images/pins/big/audio.png DELETED
Binary file
images/pins/big/australian-football.png DELETED
Binary file
images/pins/big/automated_external_defibrillator.png DELETED
Binary file
images/pins/big/avalanche.png DELETED
Binary file
images/pins/big/award.png DELETED
Binary file
images/pins/big/badminton.png DELETED
Binary file
images/pins/big/bank.png DELETED
Binary file
images/pins/big/bar_beer.png DELETED
Binary file
images/pins/big/bar_cocktails.png DELETED
Binary file
images/pins/big/bar_juice.png DELETED
Binary file
images/pins/big/barbecue.png DELETED
Binary file
images/pins/big/barber.png DELETED
Binary file
images/pins/big/barrier.png DELETED
Binary file
images/pins/big/baseball.png DELETED
Binary file
images/pins/big/basketball.png DELETED
Binary file
images/pins/big/bats.png DELETED
Binary file
images/pins/big/battlefield.png DELETED
Binary file
images/pins/big/battleship.png DELETED
Binary file
images/pins/big/beach.png DELETED
Binary file
images/pins/big/beach_volleyball.png DELETED
Binary file
images/pins/big/beautiful_view.png DELETED
Binary file
images/pins/big/beauty_salon.png DELETED
Binary file
images/pins/big/bed_and_breakfast.png DELETED
Binary file
images/pins/big/beer_garden.png DELETED
Binary file
images/pins/big/bicycle_shop.png DELETED
Binary file
images/pins/big/big_city.png DELETED
Binary file
images/pins/big/bike_downhill.png DELETED
Binary file
images/pins/big/bike_uphill.png DELETED
Binary file
images/pins/big/billiard.png DELETED
Binary file
images/pins/big/binoculars.png DELETED
Binary file
images/pins/big/birds.png DELETED
Binary file
images/pins/big/blast.png DELETED
Binary file
images/pins/big/boardercross.png DELETED
Binary file
images/pins/big/boat.png DELETED
Binary file
images/pins/big/boatcrane.png DELETED
Binary file
images/pins/big/bobsleigh.png DELETED
Binary file
images/pins/big/boilie.png DELETED
Binary file
images/pins/big/bomb.png DELETED
Binary file
images/pins/big/bomber.png DELETED
Binary file
images/pins/big/bowling.png DELETED
Binary file
images/pins/big/boxing.png DELETED
Binary file
images/pins/big/bread.png DELETED
Binary file
images/pins/big/brewery.png DELETED
Binary file
images/pins/big/bridge_modern.png DELETED
Binary file
images/pins/big/bridge_stone.png DELETED
Binary file
images/pins/big/buddha.png DELETED
Binary file
images/pins/big/bulldozer.png DELETED
Binary file
images/pins/big/bullfight.png DELETED
Binary file
images/pins/big/bunker.png DELETED
Binary file
images/pins/big/bus.png DELETED
Binary file
images/pins/big/bus_stop.png DELETED
Binary file
images/pins/big/bus_tour.png DELETED
Binary file
images/pins/big/butcher.png DELETED
Binary file
images/pins/big/butterfly.png DELETED
Binary file
images/pins/big/cabin.png DELETED
Binary file
images/pins/big/cablecar.png DELETED
Binary file
images/pins/big/cafetaria.png DELETED
Binary file
images/pins/big/calendar.png DELETED
Binary file
images/pins/big/camel.png DELETED
Binary file
images/pins/big/campfire.png DELETED
Binary file
images/pins/big/camping.png DELETED
Binary file
images/pins/big/candy.png DELETED
Binary file
images/pins/big/canyon.png DELETED
Binary file
images/pins/big/car.png DELETED
Binary file
images/pins/big/car_accident.png DELETED
Binary file
images/pins/big/car_rental.png DELETED
Binary file
images/pins/big/car_wash.png DELETED
Binary file
images/pins/big/casino.png DELETED
Binary file
images/pins/big/castle.png DELETED
Binary file
images/pins/big/cathedral.png DELETED
Binary file
images/pins/big/catholic_grave.png DELETED
Binary file
images/pins/big/caution.png DELETED
Binary file
images/pins/big/cave.png DELETED
Binary file
images/pins/big/cctv.png DELETED
Binary file
images/pins/big/cemetary.png DELETED
Binary file
images/pins/big/channelchange.png DELETED
Binary file
images/pins/big/chapel.png DELETED
Binary file
images/pins/big/chart.png DELETED
Binary file
images/pins/big/checkmark.png DELETED
Binary file
images/pins/big/cheese.png DELETED
Binary file
images/pins/big/chemistry.png DELETED
Binary file
images/pins/big/chicken.png DELETED
Binary file
images/pins/big/child_museum.png DELETED
Binary file
images/pins/big/chiropractor.png DELETED
Binary file
images/pins/big/christmas_market.png DELETED
Binary file
images/pins/big/church.png DELETED
Binary file
images/pins/big/cinema.png DELETED
Binary file
images/pins/big/circus.png DELETED
Binary file
images/pins/big/city_square.png DELETED
Binary file
images/pins/big/city_walls.png DELETED
Binary file
images/pins/big/climbing.png DELETED
Binary file
images/pins/big/clock.png DELETED
Binary file
images/pins/big/closed_road.png DELETED
Binary file
images/pins/big/clothes_female.png DELETED
Binary file
images/pins/big/clothes_male.png DELETED
Binary file
images/pins/big/cloudy.png DELETED
Binary file
images/pins/big/cloudy_sunny.png DELETED
Binary file
images/pins/big/clover.png DELETED
Binary file
images/pins/big/coffee.png DELETED
Binary file
images/pins/big/coins.png DELETED
Binary file
images/pins/big/comedy_club.png DELETED
Binary file
images/pins/big/comics.png DELETED
Binary file
images/pins/big/comment.png DELETED
Binary file
images/pins/big/community_centre.png DELETED
Binary file
images/pins/big/company.png DELETED
Binary file
images/pins/big/compost.png DELETED
Binary file
images/pins/big/computer.png DELETED
Binary file
images/pins/big/condominium.png DELETED
Binary file
images/pins/big/conference.png DELETED
Binary file
images/pins/big/congress.png DELETED
Binary file
images/pins/big/construction.png DELETED
Binary file
images/pins/big/construction_crane.png DELETED
Binary file
images/pins/big/contract.png DELETED
Binary file
images/pins/big/convenience_store.png DELETED
Binary file
images/pins/big/convent.png DELETED
Binary file
images/pins/big/conversation.png DELETED
Binary file
images/pins/big/convertible.png DELETED
Binary file
images/pins/big/corral.png DELETED
Binary file
images/pins/big/country.png DELETED
Binary file
images/pins/big/court.png DELETED
Binary file
images/pins/big/cow.png DELETED
Binary file
images/pins/big/cow_abduction.png DELETED
Binary file
images/pins/big/craft_store.png DELETED
Binary file
images/pins/big/cricket.png DELETED
Binary file
images/pins/big/crime_scene.png DELETED
Binary file
images/pins/big/cromlech.png DELETED
Binary file
images/pins/big/cropcircles.png DELETED
Binary file
images/pins/big/cross.png DELETED
Binary file
images/pins/big/crossing_guard.png DELETED
Binary file
images/pins/big/crowd.png DELETED
Binary file
images/pins/big/cruise_ship.png DELETED
Binary file
images/pins/big/cup.png DELETED
Binary file
images/pins/big/curling.png DELETED
Binary file
images/pins/big/currency_exchange.png DELETED
Binary file
images/pins/big/customs.png DELETED
Binary file
images/pins/big/cycling.png DELETED
Binary file
images/pins/big/cycling_food.png DELETED
Binary file
images/pins/big/cycling_sprint.png DELETED
Binary file
images/pins/big/dam.png DELETED
Binary file
images/pins/big/dance_class.png DELETED
Binary file
images/pins/big/dancing_hall.png DELETED
Binary file
images/pins/big/database.png DELETED
Binary file
images/pins/big/daycare.png DELETED
Binary file
images/pins/big/deep_sea_fishing.png DELETED
Binary file
images/pins/big/deer.png DELETED
Binary file
images/pins/big/dentist.png DELETED
Binary file
images/pins/big/department_store.png DELETED
Binary file
images/pins/big/desert.png DELETED
Binary file
images/pins/big/detective.png DELETED
Binary file
images/pins/big/diamond.png DELETED
Binary file
images/pins/big/dino_park.png DELETED
Binary file
images/pins/big/direction_down.png DELETED
Binary file
images/pins/big/direction_up.png DELETED
Binary file
images/pins/big/disability.png DELETED
Binary file
images/pins/big/diving.png DELETED
Binary file
images/pins/big/dogs_leash.png DELETED
Binary file
images/pins/big/dolphins.png DELETED
Binary file
images/pins/big/double_bend_right.png DELETED
Binary file
images/pins/big/download.png DELETED
Binary file
images/pins/big/drinking_fountain.png DELETED
Binary file
images/pins/big/drinking_water.png DELETED
Binary file
images/pins/big/drug_store.png DELETED
Binary file
images/pins/big/duck.png DELETED
Binary file
images/pins/big/earthquake.png DELETED
Binary file
images/pins/big/eggs.png DELETED
Binary file
images/pins/big/elephants.png DELETED
Binary file
images/pins/big/elevator.png DELETED
Binary file
images/pins/big/elevator_down.png DELETED
Binary file
images/pins/big/elevator_up.png DELETED
Binary file
images/pins/big/embassy.png DELETED
Binary file
images/pins/big/entrance.png DELETED
Binary file
images/pins/big/exchequer.png DELETED
Binary file
images/pins/big/exit.png DELETED
Binary file
images/pins/big/expert.png DELETED
Binary file
images/pins/big/factory.png DELETED
Binary file
images/pins/big/falling_rocks.png DELETED
Binary file
images/pins/big/family.png DELETED
Binary file
images/pins/big/farm.png DELETED
Binary file
images/pins/big/farm_stand.png DELETED
Binary file
images/pins/big/fast_food.png DELETED
Binary file
images/pins/big/female.png DELETED
Binary file
images/pins/big/ferris_wheel.png DELETED
Binary file
images/pins/big/ferry.png DELETED
Binary file
images/pins/big/festival.png DELETED
Binary file
images/pins/big/field.png DELETED
Binary file
images/pins/big/find_a_job.png DELETED
Binary file
images/pins/big/finish.png DELETED
Binary file
images/pins/big/fire.png DELETED
Binary file
images/pins/big/fire_exstinguisher.png DELETED
Binary file
images/pins/big/fire_hydrant.png DELETED
Binary file
images/pins/big/firemen.png DELETED
Binary file
images/pins/big/fireworks.png DELETED
Binary file
images/pins/big/first_aid.png DELETED
Binary file
images/pins/big/fish_chips.png DELETED
Binary file
images/pins/big/fishing.png DELETED
Binary file
images/pins/big/fishing_boat.png DELETED
Binary file
images/pins/big/fishing_store.png DELETED
Binary file
images/pins/big/fitness.png DELETED
Binary file
images/pins/big/fjord.png DELETED
Binary file
images/pins/big/flag.png DELETED
Binary file
images/pins/big/flood.png DELETED
Binary file
images/pins/big/flowers.png DELETED
Binary file
images/pins/big/folder.png DELETED
Binary file
images/pins/big/food_delivery_service.png DELETED
Binary file
images/pins/big/food_truck.png DELETED
Binary file
images/pins/big/footprint.png DELETED
Binary file
images/pins/big/forest_mixed.png DELETED
Binary file
images/pins/big/forest_pine.png DELETED
Binary file
images/pins/big/fossils.png DELETED
Binary file
images/pins/big/foundry.png DELETED
Binary file
images/pins/big/fountain.png DELETED
Binary file
images/pins/big/four_by_four.png DELETED
Binary file
images/pins/big/frequency_change.png DELETED
Binary file
images/pins/big/frog.png DELETED
Binary file
images/pins/big/fruits.png DELETED
Binary file
images/pins/big/funicolar.png DELETED
Binary file
images/pins/big/gas_cylinder.png DELETED
Binary file
images/pins/big/gas_station.png DELETED
Binary file
images/pins/big/gay-female.png DELETED
Binary file
images/pins/big/gay-male.png DELETED
Binary file
images/pins/big/geocaching.png DELETED
Binary file
images/pins/big/geothermal_site.png DELETED
Binary file
images/pins/big/geyser.png DELETED
Binary file
images/pins/big/ghost_town.png DELETED
Binary file
images/pins/big/gift.png DELETED
Binary file
images/pins/big/glacier.png DELETED
Binary file
images/pins/big/glasses.png DELETED
Binary file
images/pins/big/golfing.png DELETED
Binary file
images/pins/big/gondola.png DELETED
Binary file
images/pins/big/gourmet_0star.png DELETED
Binary file
images/pins/big/grass.png DELETED
Binary file
images/pins/big/groceries.png DELETED
Binary file
images/pins/big/group.png DELETED
Binary file
images/pins/big/gumball_machine.png DELETED
Binary file
images/pins/big/hand.png DELETED
Binary file
images/pins/big/handbag.png DELETED
Binary file
images/pins/big/handball.png DELETED
Binary file
images/pins/big/handshake.png DELETED
Binary file
images/pins/big/hanggliding.png DELETED
Binary file
images/pins/big/harbor.png DELETED
Binary file
images/pins/big/hare.png DELETED
Binary file
images/pins/big/hat.png DELETED
Binary file
images/pins/big/haybale.png DELETED
Binary file
images/pins/big/headstone.png DELETED
Binary file
images/pins/big/helicopter.png DELETED
Binary file
images/pins/big/high_heels.png DELETED
Binary file
images/pins/big/highschool.png DELETED
Binary file
images/pins/big/highway.png DELETED
Binary file
images/pins/big/hiking.png DELETED
Binary file
images/pins/big/historical_museum.png DELETED
Binary file
images/pins/big/historical_quarter.png DELETED
Binary file
images/pins/big/home.png DELETED
Binary file
images/pins/big/home_center.png DELETED
Binary file
images/pins/big/honeycomb.png DELETED
Binary file
images/pins/big/hookah.png DELETED
Binary file
images/pins/big/horn.png DELETED
Binary file
images/pins/big/horse_riding.png DELETED
Binary file
images/pins/big/hospital.png DELETED
Binary file
images/pins/big/hostel.png DELETED
Binary file
images/pins/big/hot_air_baloon.png DELETED
Binary file
images/pins/big/hotel_0star.png DELETED
Binary file
images/pins/big/hotel_1star.png DELETED
Binary file
images/pins/big/hotel_2star.png DELETED
Binary file
images/pins/big/hotel_3star.png DELETED
Binary file
images/pins/big/hotel_4star.png DELETED
Binary file
images/pins/big/hotel_5star.png DELETED
Binary file
images/pins/big/hotspring.png DELETED
Binary file
images/pins/big/house.png DELETED
Binary file
images/pins/big/hunting.png DELETED
Binary file
images/pins/big/hut.png DELETED
Binary file
images/pins/big/ice_hockey.png DELETED
Binary file
images/pins/big/icecream.png DELETED
Binary file
images/pins/big/iceskating.png DELETED
Binary file
images/pins/big/icy_road.png DELETED
Binary file
images/pins/big/indoor_arena.png DELETED
Binary file
images/pins/big/information.png DELETED
Binary file
images/pins/big/io_bridge.png DELETED
Binary file
images/pins/big/jacuzzi.png DELETED
Binary file
images/pins/big/japanese-food.png DELETED
Binary file
images/pins/big/japanese-temple.png DELETED
Binary file
images/pins/big/japanese_sake.png DELETED
Binary file
images/pins/big/japanese_sweet.png DELETED
Binary file
images/pins/big/jazz_club.png DELETED
Binary file
images/pins/big/jeep.png DELETED
Binary file
images/pins/big/jet_fighter.png DELETED
Binary file
images/pins/big/jewelry.png DELETED
Binary file
images/pins/big/jewish_grave.png DELETED
Binary file
images/pins/big/jogging.png DELETED
Binary file
images/pins/big/judo.png DELETED
Binary file
images/pins/big/junction.png DELETED
Binary file
images/pins/big/karate.png DELETED
Binary file
images/pins/big/karting.png DELETED
Binary file
images/pins/big/kayak.png DELETED
Binary file
images/pins/big/kebab.png DELETED
Binary file
images/pins/big/key.png DELETED
Binary file
images/pins/big/king.png DELETED
Binary file
images/pins/big/kiosk.png DELETED
Binary file
images/pins/big/kitesurfing.png DELETED
Binary file
images/pins/big/laboratory.png DELETED
Binary file
images/pins/big/lake.png DELETED
Binary file
images/pins/big/landfill.png DELETED
Binary file
images/pins/big/landmark.png DELETED
Binary file
images/pins/big/latern.png DELETED
Binary file
images/pins/big/laundromat.png DELETED
Binary file
images/pins/big/level_crossing.png DELETED
Binary file
images/pins/big/library.png DELETED
Binary file
images/pins/big/lifeguard.png DELETED
Binary file
images/pins/big/lighthouse.png DELETED
Binary file
images/pins/big/linedown.png DELETED
Binary file
images/pins/big/lingerie.png DELETED
Binary file
images/pins/big/liquor.png DELETED
Binary file
images/pins/big/lobster.png DELETED
Binary file
images/pins/big/lock.png DELETED
Binary file
images/pins/big/locker_rental.png DELETED
Binary file
images/pins/big/lodging.png DELETED
Binary file
images/pins/big/love_date.png DELETED
Binary file
images/pins/big/love_interest.png DELETED
Binary file
images/pins/big/magic_show.png DELETED
Binary file
images/pins/big/main_road.png DELETED
Binary file
images/pins/big/male.png DELETED
Binary file
images/pins/big/mall.png DELETED
Binary file
images/pins/big/map.png DELETED
Binary file
images/pins/big/map_icon.png DELETED
Binary file
images/pins/big/marina.png DELETED
Binary file
images/pins/big/massage.png DELETED
Binary file
images/pins/big/mast_crane.png DELETED
Binary file
images/pins/big/medical_store.png DELETED
Binary file
images/pins/big/medicine.png DELETED
Binary file
images/pins/big/megalith.png DELETED
Binary file
images/pins/big/memorial.png DELETED
Binary file
images/pins/big/menorah.png DELETED
Binary file
images/pins/big/metropolitan_network.png DELETED
Binary file
images/pins/big/military.png DELETED
Binary file
images/pins/big/mine.png DELETED
Binary file
images/pins/big/missile.png DELETED
Binary file
images/pins/big/mobile_phone_tower.png DELETED
Binary file
images/pins/big/modern_monument.png DELETED
Binary file
images/pins/big/modern_tower.png DELETED
Binary file
images/pins/big/monkey.png DELETED
Binary file
images/pins/big/monument.png DELETED
Binary file
images/pins/big/monument_historique.png DELETED
Binary file
images/pins/big/moon_star.png DELETED
Binary file
images/pins/big/mosque.png DELETED
Binary file
images/pins/big/mosquito.png DELETED
Binary file
images/pins/big/motel.png DELETED
Binary file
images/pins/big/motorbike.png DELETED
Binary file
images/pins/big/motorcycle.png DELETED
Binary file
images/pins/big/mountain_biking.png DELETED
Binary file
images/pins/big/mountain_pass.png DELETED
Binary file
images/pins/big/mountains.png DELETED
Binary file
images/pins/big/movie_rental.png DELETED
Binary file
images/pins/big/moving_walkway.png DELETED
Binary file
images/pins/big/muffin.png DELETED
Binary file
images/pins/big/muffin_bagle.png DELETED
Binary file
images/pins/big/mural.png DELETED
Binary file
images/pins/big/museum_archeological.png DELETED
Binary file
images/pins/big/museum_art.png DELETED
Binary file
images/pins/big/museum_craft.png DELETED
Binary file
images/pins/big/museum_industry.png DELETED
Binary file
images/pins/big/museum_naval.png DELETED
Binary file
images/pins/big/museum_openair.png DELETED
Binary file
images/pins/big/museum_science.png DELETED
Binary file
images/pins/big/museum_war.png DELETED
Binary file
images/pins/big/mushroom.png DELETED
Binary file
images/pins/big/music.png DELETED
Binary file
images/pins/big/music_choral.png DELETED
Binary file
images/pins/big/music_classical.png DELETED
Binary file
images/pins/big/music_hiphop.png DELETED
Binary file
images/pins/big/music_live.png DELETED
Binary file
images/pins/big/music_rock.png DELETED
Binary file
images/pins/big/nanny.png DELETED
Binary file
images/pins/big/newspaper.png DELETED
Binary file
images/pins/big/no-nuke.png DELETED
Binary file
images/pins/big/not_visited.png DELETED
Binary file
images/pins/big/nursery.png DELETED
Binary file
images/pins/big/nursing_home.png DELETED
Binary file
images/pins/big/observatory.png DELETED
Binary file
images/pins/big/office_building.png DELETED
Binary file
images/pins/big/oil.png DELETED
Binary file
images/pins/big/oil_pump_jack.png DELETED
Binary file
images/pins/big/oil_rig.png DELETED
Binary file
images/pins/big/olympicsite.png DELETED
Binary file
images/pins/big/one_way.png DELETED
Binary file
images/pins/big/ophthalmologist.png DELETED
Binary file
images/pins/big/outlet.png DELETED
Binary file
images/pins/big/oyster.png DELETED
Binary file
images/pins/big/pagoda.png DELETED
Binary file
images/pins/big/paint.png DELETED
Binary file
images/pins/big/paintball.png DELETED
Binary file
images/pins/big/palace.png DELETED
Binary file
images/pins/big/palm_tree.png DELETED
Binary file
images/pins/big/panoramic_view.png DELETED
Binary file
images/pins/big/paperclip.png DELETED
Binary file
images/pins/big/paragliding.png DELETED
Binary file
images/pins/big/parasailing.png DELETED
Binary file
images/pins/big/park_and_ride.png DELETED
Binary file
images/pins/big/parking.png DELETED
Binary file
images/pins/big/parking_garage.png DELETED
Binary file
images/pins/big/parking_meter.png DELETED
Binary file
images/pins/big/party.png DELETED
Binary file
images/pins/big/patisserie.png DELETED
Binary file
images/pins/big/peace.png DELETED
Binary file
images/pins/big/pedestrian_crossing.png DELETED
Binary file
images/pins/big/pen.png DELETED
Binary file
images/pins/big/pencil_pad.png DELETED
Binary file
images/pins/big/penguin.png DELETED
Binary file
images/pins/big/perfumery.png DELETED
Binary file
images/pins/big/petanque.png DELETED
Binary file
images/pins/big/petroglyphs.png DELETED
Binary file
images/pins/big/pets.png DELETED
Binary file
images/pins/big/phantom.png DELETED
Binary file
images/pins/big/phones.png DELETED
Binary file
images/pins/big/photo.png DELETED
Binary file
images/pins/big/photography.png DELETED
Binary file
images/pins/big/picnic.png DELETED
Binary file
images/pins/big/pig.png DELETED
Binary file
images/pins/big/pin.png DELETED
Binary file
images/pins/big/pirates.png DELETED
Binary file
images/pins/big/pizzeria.png DELETED
Binary file
images/pins/big/plane_crash.png DELETED
Binary file
images/pins/big/planetarium.png DELETED
Binary file
images/pins/big/playground.png DELETED
Binary file
images/pins/big/poker.png DELETED
Binary file
images/pins/big/police.png DELETED
Binary file
images/pins/big/postal.png DELETED
Binary file
images/pins/big/power_line_pole.png DELETED
Binary file
images/pins/big/power_outage.png DELETED
Binary file
images/pins/big/power_plant.png DELETED
Binary file
images/pins/big/prayer.png DELETED
Binary file
images/pins/big/presentation.png DELETED
Binary file
images/pins/big/price_tag.png DELETED
Binary file
images/pins/big/printer.png DELETED
Binary file
images/pins/big/prison.png DELETED
Binary file
images/pins/big/puzzle.png DELETED
Binary file
images/pins/big/pyramid.png DELETED
Binary file
images/pins/big/radar.png DELETED
Binary file
images/pins/big/radiation.png DELETED
Binary file
images/pins/big/radio_control_model_car.png DELETED
Binary file
images/pins/big/radio_station.png DELETED
Binary file
images/pins/big/railroad.png DELETED
Binary file
images/pins/big/rainy.png DELETED
Binary file
images/pins/big/rape.png DELETED
Binary file
images/pins/big/realtor_logo.png DELETED
Binary file
images/pins/big/recycle.png DELETED
Binary file
images/pins/big/regroup.png DELETED
Binary file
images/pins/big/repair.png DELETED
Binary file
images/pins/big/rescue.png DELETED
Binary file
images/pins/big/resort.png DELETED
Binary file
images/pins/big/restaurant.png DELETED
Binary file
images/pins/big/restaurant_african.png DELETED
Binary file
images/pins/big/restaurant_breakfast.png DELETED
Binary file
images/pins/big/restaurant_buffet.png DELETED
Binary file
images/pins/big/restaurant_chinese.png DELETED
Binary file
images/pins/big/restaurant_fish.png DELETED
Binary file
images/pins/big/restaurant_greek.png DELETED
Binary file
images/pins/big/restaurant_indian.png DELETED
Binary file
images/pins/big/restaurant_italian.png DELETED
Binary file
images/pins/big/restaurant_korean.png DELETED
Binary file
images/pins/big/restaurant_mediterranean.png DELETED
Binary file
images/pins/big/restaurant_mexican.png DELETED
Binary file
images/pins/big/restaurant_romantic.png DELETED
Binary file
images/pins/big/restaurant_steakhouse.png DELETED
Binary file
images/pins/big/restaurant_tapas.png DELETED
Binary file
images/pins/big/restaurant_thai.png DELETED
Binary file
images/pins/big/restaurant_turkish.png DELETED
Binary file
images/pins/big/restaurant_vegetarian.png DELETED
Binary file
images/pins/big/revolt.png DELETED
Binary file
images/pins/big/riparian_habitat.png DELETED
Binary file
images/pins/big/river.png DELETED
Binary file
images/pins/big/road.png DELETED
Binary file
images/pins/big/road_gravel.png DELETED
Binary file
images/pins/big/rock_house.png DELETED
Binary file
images/pins/big/rollerskate.png DELETED
Binary file
images/pins/big/ropescourse.png DELETED
Binary file
images/pins/big/rowboat.png DELETED
Binary file
images/pins/big/rugby_field.png DELETED
Binary file
images/pins/big/ruins.png DELETED
Binary file
images/pins/big/sailing.png DELETED
Binary file
images/pins/big/sandwich.png DELETED
Binary file
images/pins/big/sattelite.png DELETED
Binary file
images/pins/big/sauna.png DELETED
Binary file
images/pins/big/sawmill.png DELETED
Binary file
images/pins/big/school.png DELETED
Binary file
images/pins/big/scout_group.png DELETED
Binary file
images/pins/big/scubadiving.png DELETED
Binary file
images/pins/big/seal.png DELETED
Binary file
images/pins/big/segway.png DELETED
Binary file
images/pins/big/seniorsite.png DELETED
Binary file
images/pins/big/septic_tank.png DELETED
Binary file
images/pins/big/share.png DELETED
Binary file
images/pins/big/shark.png DELETED
Binary file
images/pins/big/sheriff.png DELETED
Binary file
images/pins/big/shinto_shrine.png DELETED
Binary file
images/pins/big/shipwreck.png DELETED
Binary file
images/pins/big/shoes.png DELETED
Binary file
images/pins/big/shooting.png DELETED
Binary file
images/pins/big/shooting_range.png DELETED
Binary file
images/pins/big/shore.png DELETED
Binary file
images/pins/big/shower.png DELETED
Binary file
images/pins/big/sight.png DELETED
Binary file
images/pins/big/signpost.png DELETED
Binary file
images/pins/big/ski_boot.png DELETED
Binary file
images/pins/big/skiing.png DELETED
Binary file
images/pins/big/skijump.png DELETED
Binary file
images/pins/big/skilifting.png DELETED
Binary file
images/pins/big/skis.png DELETED
Binary file
images/pins/big/skull.png DELETED
Binary file
images/pins/big/sleigh.png DELETED
Binary file
images/pins/big/slipway.png DELETED
Binary file
images/pins/big/slots.png DELETED
Binary file
images/pins/big/small_city.png DELETED
Binary file
images/pins/big/smiley_happy.png DELETED
Binary file
images/pins/big/smoking.png DELETED
Binary file
images/pins/big/snail.png DELETED
Binary file
images/pins/big/snake.png DELETED
Binary file
images/pins/big/sneakers.png DELETED
Binary file
images/pins/big/snorkeling.png DELETED
Binary file
images/pins/big/snowboarding.png DELETED
Binary file
images/pins/big/snowflake.png DELETED
Binary file
images/pins/big/snowmobiling.png DELETED
Binary file
images/pins/big/snowpark_arc.png DELETED
Binary file
images/pins/big/snowshoeing.png DELETED
Binary file
images/pins/big/snowy.png DELETED
Binary file
images/pins/big/soccer.png DELETED
Binary file
images/pins/big/solar_energy.png DELETED
Binary file
images/pins/big/spa.png DELETED
Binary file
images/pins/big/spaceport.png DELETED
Binary file
images/pins/big/speed_50.png DELETED
Binary file
images/pins/big/speedbump.png DELETED
Binary file
images/pins/big/spelunking.png DELETED
Binary file
images/pins/big/spider.png DELETED
Binary file
images/pins/big/splice.png DELETED
Binary file
images/pins/big/sport_utility_vehicle.png DELETED
Binary file
images/pins/big/sportscar.png DELETED
Binary file
images/pins/big/square_compass.png DELETED
Binary file
images/pins/big/squash.png DELETED
Binary file
images/pins/big/squirrel.png DELETED
Binary file
images/pins/big/stadium.png DELETED
Binary file
images/pins/big/stairs.png DELETED
Binary file
images/pins/big/star.png DELETED
Binary file
images/pins/big/start_race.png DELETED
Binary file
images/pins/big/statue.png DELETED
Binary file
images/pins/big/steam_train.png DELETED
Binary file
images/pins/big/stop.png DELETED
Binary file
images/pins/big/strike.png DELETED
Binary file
images/pins/big/strip_club.png DELETED
Binary file
images/pins/big/submarine.png DELETED
Binary file
images/pins/big/subway.png DELETED
Binary file
images/pins/big/summercamp.png DELETED
Binary file
images/pins/big/sumo.png DELETED
Binary file
images/pins/big/sunny.png DELETED
Binary file
images/pins/big/sunset_land.png DELETED
Binary file
images/pins/big/sunset_water.png DELETED
Binary file
images/pins/big/supermarket.png DELETED
Binary file
images/pins/big/surfacelift.png DELETED
Binary file
images/pins/big/surfing.png DELETED
Binary file
images/pins/big/surveying.png DELETED
Binary file
images/pins/big/swimming.png DELETED
Binary file
images/pins/big/synagogue.png DELETED
Binary file
images/pins/big/tailor.png DELETED
Binary file
images/pins/big/takeaway.png DELETED
Binary file
images/pins/big/targ.png DELETED
Binary file
images/pins/big/taxi.png DELETED
Binary file
images/pins/big/taxi_boat.png DELETED
Binary file
images/pins/big/taxi_car.png DELETED
Binary file
images/pins/big/tea.png DELETED
Binary file
images/pins/big/teble_tennis.png DELETED
Binary file
images/pins/big/telephone.png DELETED
Binary file
images/pins/big/television.png DELETED
Binary file
images/pins/big/temple.png DELETED
Binary file
images/pins/big/temple_hindu.png DELETED
Binary file
images/pins/big/tennis.png DELETED
Binary file
images/pins/big/terrace.png DELETED
Binary file
images/pins/big/text.png DELETED
Binary file
images/pins/big/textiles.png DELETED
Binary file
images/pins/big/the_ravada_pagoda.png DELETED
Binary file
images/pins/big/theater.png DELETED
Binary file
images/pins/big/theft.png DELETED
Binary file
images/pins/big/themepark.png DELETED
Binary file
images/pins/big/therapy.png DELETED
Binary file
images/pins/big/thermometer.png DELETED
Binary file
images/pins/big/thunderstorm.png DELETED
Binary file
images/pins/big/ticket.png DELETED
Binary file
images/pins/big/tidal_diamond.png DELETED
Binary file
images/pins/big/tiger.png DELETED
Binary file
images/pins/big/tires.png DELETED
Binary file
images/pins/big/toilets.png DELETED
Binary file
images/pins/big/toll_station.png DELETED
Binary file
images/pins/big/tools.png DELETED
Binary file
images/pins/big/tornado.png DELETED
Binary file
images/pins/big/tower.png DELETED
Binary file
images/pins/big/townhouse.png DELETED
Binary file
images/pins/big/toys.png DELETED
Binary file
images/pins/big/traffic_camera.png DELETED
Binary file
images/pins/big/traffic_light.png DELETED
Binary file
images/pins/big/train.png DELETED
Binary file
images/pins/big/tramway.png DELETED
Binary file
images/pins/big/trash.png DELETED
Binary file
images/pins/big/travel_agency.png DELETED
Binary file
images/pins/big/treasure-mark.png DELETED
Binary file
images/pins/big/tree_down.png DELETED
Binary file
images/pins/big/trolley.png DELETED
Binary file
images/pins/big/truck.png DELETED
Binary file
images/pins/big/tsunami.png DELETED
Binary file
images/pins/big/tunnel.png DELETED
Binary file
images/pins/big/turtle.png DELETED
Binary file
images/pins/big/tweet.png DELETED
Binary file
images/pins/big/ufo.png DELETED
Binary file
images/pins/big/umbrella.png DELETED
Binary file
images/pins/big/university.png DELETED
Binary file
images/pins/big/us_football.png DELETED
Binary file
images/pins/big/van.png DELETED
Binary file
images/pins/big/vespa.png DELETED
Binary file
images/pins/big/veterinary.png DELETED
Binary file
images/pins/big/video.png DELETED
Binary file
images/pins/big/video_games.png DELETED
Binary file
images/pins/big/villa.png DELETED
Binary file
images/pins/big/vineyard.png DELETED
Binary file
images/pins/big/volcano.png DELETED
Binary file
images/pins/big/volleyball.png DELETED
Binary file
images/pins/big/waiting.png DELETED
Binary file
images/pins/big/walkingtour.png DELETED
Binary file
images/pins/big/war.png DELETED
Binary file
images/pins/big/warehouse.png DELETED
Binary file
images/pins/big/water_pump.png DELETED
Binary file
images/pins/big/water_temperature.png DELETED
Binary file
images/pins/big/water_tower.png DELETED
Binary file
images/pins/big/water_well.png DELETED
Binary file
images/pins/big/watercraft.png DELETED
Binary file
images/pins/big/waterfall.png DELETED
Binary file
images/pins/big/watermill.png DELETED
Binary file
images/pins/big/waterpark.png DELETED
Binary file
images/pins/big/waterskiing.png DELETED
Binary file
images/pins/big/webcam.png DELETED
Binary file
images/pins/big/wedding.png DELETED
Binary file
images/pins/big/weights.png DELETED
Binary file
images/pins/big/wetlands.png DELETED
Binary file
images/pins/big/whale.png DELETED
Binary file
images/pins/big/wifi.png DELETED
Binary file
images/pins/big/wiki.png DELETED
Binary file
images/pins/big/wind.png DELETED
Binary file
images/pins/big/wind_turbine.png DELETED
Binary file
images/pins/big/windmill.png DELETED
Binary file
images/pins/big/windsurfing.png DELETED
Binary file
images/pins/big/wine_tasting.png DELETED
Binary file
images/pins/big/winebar.png DELETED
Binary file
images/pins/big/woodshed.png DELETED
Binary file
images/pins/big/work_office.png DELETED
Binary file
images/pins/big/workshop.png DELETED
Binary file
images/pins/big/world.png DELETED
Binary file
images/pins/big/world_heritage_site.png DELETED
Binary file
images/pins/big/worldwideweb.png DELETED
Binary file
images/pins/big/wrestling.png DELETED
Binary file
images/pins/big/yin_yang.png DELETED
Binary file
images/pins/big/yoga.png DELETED
Binary file
images/pins/big/yooner.png DELETED
Binary file
images/pins/big/you-are-here.png DELETED
Binary file
images/pins/big/youth_hostel.png DELETED
Binary file
images/pins/big/zombie.png DELETED
Binary file
images/pins/big/zoo.png DELETED
Binary file
images/pins/big/zoom.png DELETED
Binary file
images/pins/default/2hand.png DELETED
Binary file
images/pins/default/360degrees.png DELETED
Binary file
images/pins/default/abduction.png DELETED
Binary file
images/pins/default/aboriginal.png DELETED
Binary file
images/pins/default/accesdenied.png DELETED
Binary file
images/pins/default/acupuncture.png DELETED
Binary file
images/pins/default/administration.png DELETED
Binary file
images/pins/default/administrativeboundary.png DELETED
Binary file
images/pins/default/aed-2.png DELETED
Binary file
images/pins/default/agritourism.png DELETED
Binary file
images/pins/default/air_fixwing.png DELETED
Binary file
images/pins/default/aircraftcarrier.png DELETED
Binary file
images/pins/default/aircraftsmall.png DELETED
Binary file
images/pins/default/airport.png DELETED
Binary file
images/pins/default/airport_apron.png DELETED
Binary file
images/pins/default/airport_runway.png DELETED
Binary file
images/pins/default/airport_terminal.png DELETED
Binary file
images/pins/default/airshow-2.png DELETED
Binary file
images/pins/default/algae.png DELETED
Binary file
images/pins/default/alien.png DELETED
Binary file
images/pins/default/alligator.png DELETED
Binary file
images/pins/default/amphitheater-2.png DELETED
Binary file
images/pins/default/amphitheater.png DELETED
Binary file
images/pins/default/anchorpier.png DELETED
Binary file
images/pins/default/anemometer_mono.png DELETED
Binary file
images/pins/default/animal-shelter-export.png DELETED
Binary file
images/pins/default/anniversary.png DELETED
Binary file
images/pins/default/ant-export.png DELETED
Binary file
images/pins/default/anthropo.png DELETED
Binary file
images/pins/default/apartment-3.png DELETED
Binary file
images/pins/default/apple.png DELETED
Binary file
images/pins/default/aquarium.png DELETED
Binary file
images/pins/default/arch.png DELETED
Binary file
images/pins/default/archery.png DELETED
Binary file
images/pins/default/army.png DELETED
Binary file
images/pins/default/art-museum-2.png DELETED
Binary file
images/pins/default/artgallery.png DELETED
Binary file
images/pins/default/atm-2.png DELETED
Binary file
images/pins/default/atv.png DELETED
Binary file
images/pins/default/audio.png DELETED
Binary file
images/pins/default/australian-football.png DELETED
Binary file
images/pins/default/avalanche1.png DELETED
Binary file
images/pins/default/award.png DELETED
Binary file
images/pins/default/badminton-2.png DELETED
Binary file
images/pins/default/bags.png DELETED
Binary file
images/pins/default/bank.png DELETED
Binary file
images/pins/default/bar.png DELETED
Binary file
images/pins/default/bar_coktail.png DELETED
Binary file
images/pins/default/bar_juice.png DELETED
Binary file
images/pins/default/barbecue.png DELETED
Binary file
images/pins/default/barber.png DELETED
Binary file
images/pins/default/barrier.png DELETED
Binary file
images/pins/default/baseball.png DELETED
Binary file
images/pins/default/basketball.png DELETED
Binary file
images/pins/default/bats.png DELETED
Binary file
images/pins/default/battlefield.png DELETED
Binary file
images/pins/default/battleship-3.png DELETED
Binary file
images/pins/default/beach.png DELETED
Binary file
images/pins/default/beachvolleyball.png DELETED
Binary file
images/pins/default/beautifulview.png DELETED
Binary file
images/pins/default/beautysalon.png DELETED
Binary file
images/pins/default/bed_breakfast1-2.png DELETED
Binary file
images/pins/default/beergarden.png DELETED
Binary file
images/pins/default/bicycle_shop.png DELETED
Binary file
images/pins/default/bigcity.png DELETED
Binary file
images/pins/default/bike_downhill.png DELETED
Binary file
images/pins/default/bike_rising.png DELETED
Binary file
images/pins/default/billiard-2.png DELETED
Binary file
images/pins/default/binoculars.png DELETED
Binary file
images/pins/default/birds-2.png DELETED
Binary file
images/pins/default/blast.png DELETED
Binary file
images/pins/default/boardercross.png DELETED
Binary file
images/pins/default/boat.png DELETED
Binary file
images/pins/default/boatcrane.png DELETED
Binary file
images/pins/default/bobsleigh.png DELETED
Binary file
images/pins/default/bollie.png DELETED
Binary file
images/pins/default/bomb.png DELETED
Binary file
images/pins/default/bomber-2.png DELETED
Binary file
images/pins/default/bouddha.png DELETED
Binary file
images/pins/default/bowling.png DELETED
Binary file
images/pins/default/boxing.png DELETED
Binary file
images/pins/default/bread.png DELETED
Binary file
images/pins/default/brewery1.png DELETED
Binary file
images/pins/default/bridge_modern.png DELETED
Binary file
images/pins/default/bridge_old.png DELETED
Binary file
images/pins/default/bulldozer.png DELETED
Binary file
images/pins/default/bullfight.png DELETED
Binary file
images/pins/default/bunker-2-2.png DELETED
Binary file
images/pins/default/bus.png DELETED
Binary file
images/pins/default/busstop.png DELETED
Binary file
images/pins/default/bustour.png DELETED
Binary file
images/pins/default/butcher-2.png DELETED
Binary file
images/pins/default/butterfly-2.png DELETED
Binary file
images/pins/default/cabin-2.png DELETED
Binary file
images/pins/default/cablecar.png DELETED
Binary file
images/pins/default/cafetaria.png DELETED
Binary file
images/pins/default/calendar-3.png DELETED
Binary file
images/pins/default/campfire-2.png DELETED
Binary file
images/pins/default/camping-2.png DELETED
Binary file
images/pins/default/candy.png DELETED
Binary file
images/pins/default/canyon-2.png DELETED
Binary file
images/pins/default/car.png DELETED
Binary file
images/pins/default/caraccident.png DELETED
Binary file
images/pins/default/carrental.png DELETED
Binary file
images/pins/default/carwash.png DELETED
Binary file
images/pins/default/casino-2.png DELETED
Binary file
images/pins/default/castle-2.png DELETED
Binary file
images/pins/default/cathedral.png DELETED
Binary file
images/pins/default/catholicgrave.png DELETED
Binary file
images/pins/default/caution.png DELETED
Binary file
images/pins/default/cave-2.png DELETED
Binary file
images/pins/default/cctv.png DELETED
Binary file
images/pins/default/cemetary.png DELETED
Binary file
images/pins/default/channelchange.png DELETED
Binary file
images/pins/default/chapel-2.png DELETED
Binary file
images/pins/default/chart-2.png DELETED
Binary file
images/pins/default/cheese.png DELETED
Binary file
images/pins/default/chemistry-2.png DELETED
Binary file
images/pins/default/chicken-2.png DELETED
Binary file
images/pins/default/childmuseum01.png DELETED
Binary file
images/pins/default/chiropractor.png DELETED
Binary file
images/pins/default/christmasmarket.png DELETED
Binary file
images/pins/default/church-2.png DELETED
Binary file
images/pins/default/cinema.png DELETED
Binary file
images/pins/default/circus.png DELETED
Binary file
images/pins/default/citysquare.png DELETED
Binary file
images/pins/default/citywalls.png DELETED
Binary file
images/pins/default/climbing.png DELETED
Binary file
images/pins/default/clock.png DELETED
Binary file
images/pins/default/closedroad.png DELETED
Binary file
images/pins/default/clothers_female.png DELETED
Binary file
images/pins/default/clothers_male.png DELETED
Binary file
images/pins/default/cloudy.png DELETED
Binary file
images/pins/default/cloudysunny.png DELETED
Binary file
images/pins/default/coffee.png DELETED
Binary file
images/pins/default/coins.png DELETED
Binary file
images/pins/default/comedyclub.png DELETED
Binary file
images/pins/default/comics.png DELETED
Binary file
images/pins/default/comment-map-icon.png DELETED
Binary file
images/pins/default/communitycentre.png DELETED
Binary file
images/pins/default/company.png DELETED
Binary file
images/pins/default/compost.png DELETED
Binary file
images/pins/default/computers.png DELETED
Binary file
images/pins/default/condominium.png DELETED
Binary file
images/pins/default/conference.png DELETED
Binary file
images/pins/default/congress.png DELETED
Binary file
images/pins/default/construction.png DELETED
Binary file
images/pins/default/constructioncrane.png DELETED
Binary file
images/pins/default/contract.png DELETED
Binary file
images/pins/default/conveniencestore.png DELETED
Binary file
images/pins/default/convent-2.png DELETED
Binary file
images/pins/default/conversation-map-icon.png DELETED
Binary file
images/pins/default/convertible.png DELETED
Binary file
images/pins/default/corral.png DELETED
Binary file
images/pins/default/country.png DELETED
Binary file
images/pins/default/court.png DELETED
Binary file
images/pins/default/cow-export.png DELETED
Binary file
images/pins/default/cowabduction.png DELETED
Binary file
images/pins/default/craftstore.png DELETED
Binary file
images/pins/default/cramschool.png DELETED
Binary file
images/pins/default/cricket.png DELETED
Binary file
images/pins/default/crimescene.png DELETED
Binary file
images/pins/default/cromlech.png DELETED
Binary file
images/pins/default/cropcircles.png DELETED
Binary file
images/pins/default/cross-2.png DELETED
Binary file
images/pins/default/crossingguard.png DELETED
Binary file
images/pins/default/cruiseship.png DELETED
Binary file
images/pins/default/cup.png DELETED
Binary file
images/pins/default/curling-2.png DELETED
Binary file
images/pins/default/currencyexchange.png DELETED
Binary file
images/pins/default/customs.png DELETED
Binary file
images/pins/default/cycling.png DELETED
Binary file
images/pins/default/cycling_feed.png DELETED
Binary file
images/pins/default/cycling_sprint.png DELETED
Binary file
images/pins/default/dam.png DELETED
Binary file
images/pins/default/dance_class.png DELETED
Binary file
images/pins/default/dancinghall.png DELETED
Binary file
images/pins/default/database.png DELETED
Binary file
images/pins/default/daycare.png DELETED
Binary file
images/pins/default/deepseafishing.png DELETED
Binary file
images/pins/default/deer.png DELETED
Binary file
images/pins/default/dentist.png DELETED
Binary file
images/pins/default/departmentstore.png DELETED
Binary file
images/pins/default/desert-2.png DELETED
Binary file
images/pins/default/dinopark.png DELETED
Binary file
images/pins/default/direction_down.png DELETED
Binary file
images/pins/default/disability.png DELETED
Binary file
images/pins/default/diving.png DELETED
Binary file
images/pins/default/dogs_leash.png DELETED
Binary file
images/pins/default/dolphins.png DELETED
Binary file
images/pins/default/doublebendright.png DELETED
Binary file
images/pins/default/downloadicon.png DELETED
Binary file
images/pins/default/drinkingfountain.png DELETED
Binary file
images/pins/default/drinkingwater.png DELETED
Binary file
images/pins/default/drugstore.png DELETED
Binary file
images/pins/default/duck-export.png DELETED
Binary file
images/pins/default/earthquake-3.png DELETED
Binary file
images/pins/default/eggs.png DELETED
Binary file
images/pins/default/elephants.png DELETED
Binary file
images/pins/default/elevator.png DELETED
Binary file
images/pins/default/elevator_down.png DELETED
Binary file
images/pins/default/elevator_up.png DELETED
Binary file
images/pins/default/embassy.png DELETED
Binary file
images/pins/default/entrance.png DELETED
Binary file
images/pins/default/exchequer.png DELETED
Binary file
images/pins/default/exit.png DELETED
Binary file
images/pins/default/expert.png DELETED
Binary file
images/pins/default/factory.png DELETED
Binary file
images/pins/default/fallingrocks.png DELETED
Binary file
images/pins/default/family.png DELETED
Binary file
images/pins/default/farm-2.png DELETED
Binary file
images/pins/default/farmstand.png DELETED
Binary file
images/pins/default/fastfood.png DELETED
Binary file
images/pins/default/female-2.png DELETED
Binary file
images/pins/default/ferriswheel.png DELETED
Binary file
images/pins/default/ferry.png DELETED
Binary file
images/pins/default/festival.png DELETED
Binary file
images/pins/default/fetalalcoholsyndrom.png DELETED
Binary file
images/pins/default/field.png DELETED
Binary file
images/pins/default/fillingstation.png DELETED
Binary file
images/pins/default/findajob.png DELETED
Binary file
images/pins/default/finish.png DELETED
Binary file
images/pins/default/fire-hydrant-2.png DELETED
Binary file
images/pins/default/fire.png DELETED
Binary file
images/pins/default/fireexstinguisher.png DELETED
Binary file
images/pins/default/firemen.png DELETED
Binary file
images/pins/default/fireworks.png DELETED
Binary file
images/pins/default/firstaid.png DELETED
Binary file
images/pins/default/fishchips.png DELETED
Binary file
images/pins/default/fishing.png DELETED
Binary file
images/pins/default/fishingboat.png DELETED
Binary file
images/pins/default/fishingstore.png DELETED
Binary file
images/pins/default/fitness.png DELETED
Binary file
images/pins/default/fjord-2.png DELETED
Binary file
images/pins/default/flag-export.png DELETED
Binary file
images/pins/default/flood.png DELETED
Binary file
images/pins/default/flowers.png DELETED
Binary file
images/pins/default/folder-2.png DELETED
Binary file
images/pins/default/fooddeliveryservice.png DELETED
Binary file
images/pins/default/foodtruck.png DELETED
Binary file
images/pins/default/footprint.png DELETED
Binary file
images/pins/default/ford-2.png DELETED
Binary file
images/pins/default/forest.png DELETED
Binary file
images/pins/default/forest2.png DELETED
Binary file
images/pins/default/fossils.png DELETED
Binary file
images/pins/default/foundry-2.png DELETED
Binary file
images/pins/default/fountain-2.png DELETED
Binary file
images/pins/default/fourbyfour.png DELETED
Binary file
images/pins/default/freqchg.png DELETED
Binary file
images/pins/default/frog-2.png DELETED
Binary file
images/pins/default/fruits.png DELETED
Binary file
images/pins/default/ft.png DELETED
Binary file
images/pins/default/funicolar-22x22.png DELETED
Binary file
images/pins/default/gas_cylinder1.png DELETED
Binary file
images/pins/default/gay-female.png DELETED
Binary file
images/pins/default/gay-male.png DELETED
Binary file
images/pins/default/geocaching-3.png DELETED
Binary file
images/pins/default/geothermal-site.png DELETED
Binary file
images/pins/default/geyser-2.png DELETED
Binary file
images/pins/default/ghosttown.png DELETED
Binary file
images/pins/default/gifts.png DELETED
Binary file
images/pins/default/glacier-2.png DELETED
Binary file
images/pins/default/glasses.png DELETED
Binary file
images/pins/default/golfing.png DELETED
Binary file
images/pins/default/gondola-2.png DELETED
Binary file
images/pins/default/gourmet_0star.png DELETED
Binary file
images/pins/default/grass.png DELETED
Binary file
images/pins/default/grocery.png DELETED
Binary file
images/pins/default/group-2.png DELETED
Binary file
images/pins/default/gumball_machine.png DELETED
Binary file
images/pins/default/handball.png DELETED
Binary file
images/pins/default/hanggliding.png DELETED
Binary file
images/pins/default/harbor.png DELETED
Binary file
images/pins/default/hare1.png DELETED
Binary file
images/pins/default/hats.png DELETED
Binary file
images/pins/default/haybale.png DELETED
Binary file
images/pins/default/headstone-2.png DELETED
Binary file
images/pins/default/helicopter.png DELETED
Binary file
images/pins/default/highhills.png DELETED
Binary file
images/pins/default/highschool.png DELETED
Binary file
images/pins/default/highway.png DELETED
Binary file
images/pins/default/hiking.png DELETED
Binary file
images/pins/default/historical_museum.png DELETED
Binary file
images/pins/default/historicalquarter.png DELETED
Binary file
images/pins/default/hoergeraeteakustiker_22px.png DELETED
Binary file
images/pins/default/home-2.png DELETED
Binary file
images/pins/default/homecenter.png DELETED
Binary file
images/pins/default/honeycomb.png DELETED
Binary file
images/pins/default/hookah_final.png DELETED
Binary file
images/pins/default/horseriding.png DELETED
Binary file
images/pins/default/hospital-building.png DELETED
Binary file
images/pins/default/hostel_0star.png DELETED
Binary file
images/pins/default/hotairbaloon.png DELETED
Binary file
images/pins/default/hotel_0star.png DELETED
Binary file
images/pins/default/hotspring.png DELETED
Binary file
images/pins/default/house.png DELETED
Binary file
images/pins/default/hunting.png DELETED
Binary file
images/pins/default/hut.png DELETED
Binary file
images/pins/default/icecream.png DELETED
Binary file
images/pins/default/icehockey.png DELETED
Binary file
images/pins/default/iceskating.png DELETED
Binary file
images/pins/default/icy_road.png DELETED
Binary file
images/pins/default/indoor-arena.png DELETED
Binary file
images/pins/default/information.png DELETED
Binary file
images/pins/default/iobridge.png DELETED
Binary file
images/pins/default/jacuzzi.png DELETED
Binary file
images/pins/default/japanese-food.png DELETED
Binary file
images/pins/default/japanese-lantern.png DELETED
Binary file
images/pins/default/japanese-sake.png DELETED
Binary file
images/pins/default/japanese-sweet-2.png DELETED
Binary file
images/pins/default/japanese-temple.png DELETED
Binary file
images/pins/default/jazzclub.png DELETED
Binary file
images/pins/default/jeep.png DELETED
Binary file
images/pins/default/jetfighter.png DELETED
Binary file
images/pins/default/jewelry.png DELETED
Binary file
images/pins/default/jewishgrave.png DELETED
Binary file
images/pins/default/jewishquarter.png DELETED
Binary file
images/pins/default/jogging.png DELETED
Binary file
images/pins/default/judo.png DELETED
Binary file
images/pins/default/junction.png DELETED
Binary file
images/pins/default/karate.png DELETED
Binary file
images/pins/default/karting.png DELETED
Binary file
images/pins/default/kayak1.png DELETED
Binary file
images/pins/default/kayaking.png DELETED
Binary file
images/pins/default/kebab.png DELETED
Binary file
images/pins/default/kingair.png DELETED
Binary file
images/pins/default/kiosk.png DELETED
Binary file
images/pins/default/kitesurfing.png DELETED
Binary file
images/pins/default/laboratory.png DELETED
Binary file
images/pins/default/lake.png DELETED
Binary file
images/pins/default/landfill.png DELETED
Binary file
images/pins/default/landmark.png DELETED
Binary file
images/pins/default/laterne.png DELETED
Binary file
images/pins/default/laundromat.png DELETED
Binary file
images/pins/default/levelcrossing.png DELETED
Binary file
images/pins/default/library.png DELETED
Binary file
images/pins/default/lifeguard-2.png DELETED
Binary file
images/pins/default/lighthouse-2.png DELETED
Binary file
images/pins/default/linedown.png DELETED
Binary file
images/pins/default/lingerie.png DELETED
Binary file
images/pins/default/liquor.png DELETED
Binary file
images/pins/default/lobster-export.png DELETED
Binary file
images/pins/default/lock.png DELETED
Binary file
images/pins/default/lockerrental.png DELETED
Binary file
images/pins/default/lodging_0star.png DELETED
Binary file
images/pins/default/love_date.png DELETED
Binary file
images/pins/default/loveinterest.png DELETED
Binary file
images/pins/default/magicshow.png DELETED
Binary file
images/pins/default/mainroad.png DELETED
Binary file
images/pins/default/male-2.png DELETED
Binary file
images/pins/default/mall.png DELETED
Binary file
images/pins/default/map.png DELETED
Binary file
images/pins/default/mapicon.png DELETED
Binary file
images/pins/default/marina-2.png DELETED
Binary file
images/pins/default/market.png DELETED
Binary file
images/pins/default/massage.png DELETED
Binary file
images/pins/default/mastcrane1.png DELETED
Binary file
images/pins/default/medicalstore.png DELETED
Binary file
images/pins/default/medicine.png DELETED
Binary file
images/pins/default/megalith.png DELETED
Binary file
images/pins/default/memorial.png DELETED
Binary file
images/pins/default/metronetwork.png DELETED
Binary file
images/pins/default/military.png DELETED
Binary file
images/pins/default/mine.png DELETED
Binary file
images/pins/default/missile-2.png DELETED
Binary file
images/pins/default/mobilephonetower.png DELETED
Binary file
images/pins/default/modernmonument.png DELETED
Binary file
images/pins/default/moderntower.png DELETED
Binary file
images/pins/default/monkey-export.png DELETED
Binary file
images/pins/default/monument-historique-icon-white-22x22.png DELETED
Binary file
images/pins/default/monument.png DELETED
Binary file
images/pins/default/moonstar.png DELETED
Binary file
images/pins/default/mosquee.png DELETED
Binary file
images/pins/default/mosquito-2.png DELETED
Binary file
images/pins/default/motel-2.png DELETED
Binary file
images/pins/default/motorbike.png DELETED
Binary file
images/pins/default/motorcycle.png DELETED
Binary file
images/pins/default/mountain-pass-locator-diagonal-reverse-export.png DELETED
Binary file
images/pins/default/mountainbiking-3.png DELETED
Binary file
images/pins/default/mountains.png DELETED
Binary file
images/pins/default/movierental.png DELETED
Binary file
images/pins/default/moving-walkway-enter-export.png DELETED
Binary file
images/pins/default/muffin_bagle.png DELETED
Binary file
images/pins/default/mural.png DELETED
Binary file
images/pins/default/museum_archeological.png DELETED
Binary file
images/pins/default/museum_art.png DELETED
Binary file
images/pins/default/museum_crafts.png DELETED
Binary file
images/pins/default/museum_industry.png DELETED
Binary file
images/pins/default/museum_naval.png DELETED
Binary file
images/pins/default/museum_openair.png DELETED
Binary file
images/pins/default/museum_science.png DELETED
Binary file
images/pins/default/museum_war.png DELETED
Binary file
images/pins/default/mushroom.png DELETED
Binary file
images/pins/default/music.png DELETED
Binary file
images/pins/default/music_choral.png DELETED
Binary file
images/pins/default/music_classical.png DELETED
Binary file
images/pins/default/music_hiphop.png DELETED
Binary file
images/pins/default/music_live.png DELETED
Binary file
images/pins/default/music_rock.png DELETED
Binary file
images/pins/default/nanny.png DELETED
Binary file
images/pins/default/ne_barn-2.png DELETED
Binary file
images/pins/default/newsagent.png DELETED
Binary file
images/pins/default/no-nuke-export.png DELETED
Binary file
images/pins/default/nordicski.png DELETED
Binary file
images/pins/default/notvisited.png DELETED
Binary file
images/pins/default/nursery.png DELETED
Binary file
images/pins/default/nursing_home_icon.png DELETED
Binary file
images/pins/default/observatory.png DELETED
Binary file
images/pins/default/office-building.png DELETED
Binary file
images/pins/default/oil-2.png DELETED
Binary file
images/pins/default/oilpumpjack.png DELETED
Binary file
images/pins/default/oilrig2.png DELETED
Binary file
images/pins/default/olympicsite.png DELETED
Binary file
images/pins/default/ophthalmologist.png DELETED
Binary file
images/pins/default/outlet2.png DELETED
Binary file
images/pins/default/oyster-3.png DELETED
Binary file
images/pins/default/pagoda-2.png DELETED
Binary file
images/pins/default/paint.png DELETED
Binary file
images/pins/default/paintball.png DELETED
Binary file
images/pins/default/palace-2.png DELETED
Binary file
images/pins/default/palm-tree-export.png DELETED
Binary file
images/pins/default/panoramicview.png DELETED
Binary file
images/pins/default/paragliding.png DELETED
Binary file
images/pins/default/parasailing.png DELETED
Binary file
images/pins/default/parkandride.png DELETED
Binary file
images/pins/default/parking-meter-export.png DELETED
Binary file
images/pins/default/parkinggarage.png DELETED
Binary file
images/pins/default/party-2.png DELETED
Binary file
images/pins/default/patisserie.png DELETED
Binary file
images/pins/default/peace.png DELETED
Binary file
images/pins/default/pedestriancrossing.png DELETED
Binary file
images/pins/default/penguin-2.png DELETED
Binary file
images/pins/default/pens.png DELETED
Binary file
images/pins/default/perfumery.png DELETED
Binary file
images/pins/default/petanque.png DELETED
Binary file
images/pins/default/petroglyphs-2.png DELETED
Binary file
images/pins/default/pets.png DELETED
Binary file
images/pins/default/phantom.png DELETED
Binary file
images/pins/default/phones.png DELETED
Binary file
images/pins/default/photo.png DELETED
Binary file
images/pins/default/photography.png DELETED
Binary file
images/pins/default/picnic-2.png DELETED
Binary file
images/pins/default/pig.png DELETED
Binary file
images/pins/default/pin-export.png DELETED
Binary file
images/pins/default/pirates.png DELETED
Binary file
images/pins/default/pizzaria.png DELETED
Binary file
images/pins/default/planecrash.png DELETED
Binary file
images/pins/default/planetarium-2.png DELETED
Binary file
images/pins/default/playground.png DELETED
Binary file
images/pins/default/pleasurepier.png DELETED
Binary file
images/pins/default/poker.png DELETED
Binary file
images/pins/default/police.png DELETED
Binary file
images/pins/default/postal.png DELETED
Binary file
images/pins/default/powerlinepole.png DELETED
Binary file
images/pins/default/poweroutage.png DELETED
Binary file
images/pins/default/powerplant.png DELETED
Binary file
images/pins/default/powersubstation.png DELETED
Binary file
images/pins/default/prayer.png DELETED
Binary file
images/pins/default/presentation.png DELETED
Binary file
images/pins/default/price-tag-export.png DELETED
Binary file
images/pins/default/printer-2.png DELETED
Binary file
images/pins/default/prison.png DELETED
Binary file
images/pins/default/publicart.png DELETED
Binary file
images/pins/default/pyramid.png DELETED
Binary file
images/pins/default/quadrifoglio.png DELETED
Binary file
images/pins/default/radar.png DELETED
Binary file
images/pins/default/radiation.png DELETED
Binary file
images/pins/default/radio-control-model-car.png DELETED
Binary file
images/pins/default/radio-station-2.png DELETED
Binary file
images/pins/default/rainy.png DELETED
Binary file
images/pins/default/rape.png DELETED
Binary file
images/pins/default/reatorlogowhite-22x22.png DELETED
Binary file
images/pins/default/recycle.png DELETED
Binary file
images/pins/default/regroup.png DELETED
Binary file
images/pins/default/repair.png DELETED
Binary file
images/pins/default/rescue-2.png DELETED
Binary file
images/pins/default/resort.png DELETED
Binary file
images/pins/default/restaurant.png DELETED
Binary file
images/pins/default/restaurant_african.png DELETED
Binary file
images/pins/default/restaurant_breakfast.png DELETED
Binary file
images/pins/default/restaurant_buffet.png DELETED
Binary file
images/pins/default/restaurant_chinese.png DELETED
Binary file
images/pins/default/restaurant_fish.png DELETED
Binary file
images/pins/default/restaurant_greek.png DELETED
Binary file
images/pins/default/restaurant_indian.png DELETED
Binary file
images/pins/default/restaurant_italian.png DELETED
Binary file
images/pins/default/restaurant_korean.png DELETED
Binary file
images/pins/default/restaurant_mediterranean.png DELETED
Binary file
images/pins/default/restaurant_mexican.png DELETED
Binary file
images/pins/default/restaurant_romantic.png DELETED
Binary file
images/pins/default/restaurant_steakhouse.png DELETED
Binary file
images/pins/default/restaurant_tapas.png DELETED
Binary file
images/pins/default/restaurant_thai.png DELETED
Binary file
images/pins/default/restaurant_turkish.png DELETED
Binary file
images/pins/default/restaurant_vegetarian.png DELETED
Binary file
images/pins/default/revolt.png DELETED
Binary file
images/pins/default/riparianhabitat.png DELETED
Binary file
images/pins/default/river-2.png DELETED
Binary file
images/pins/default/road.png DELETED
Binary file
images/pins/default/roadtype_gravel.png DELETED
Binary file
images/pins/default/rockhouse.png DELETED
Binary file
images/pins/default/rodent.png DELETED
Binary file
images/pins/default/rollerskate.png DELETED
Binary file
images/pins/default/ropescourse.png DELETED
Binary file
images/pins/default/rowboat.png DELETED
Binary file
images/pins/default/rugbyfield.png DELETED
Binary file
images/pins/default/ruins-2.png DELETED
Binary file
images/pins/default/sailing.png DELETED
Binary file
images/pins/default/sandwich-2.png DELETED
Binary file
images/pins/default/sauna.png DELETED
Binary file
images/pins/default/sawmill-2.png DELETED
Binary file
images/pins/default/school.png DELETED
Binary file
images/pins/default/schreibwaren_web.png DELETED
Binary file
images/pins/default/scoutgroup.png DELETED
Binary file
images/pins/default/scubadiving.png DELETED
Binary file
images/pins/default/seals.png DELETED
Binary file
images/pins/default/segway.png DELETED
Binary file
images/pins/default/seniorsite.png DELETED
Binary file
images/pins/default/septic_tank.png DELETED
Binary file
images/pins/default/share.png DELETED
Binary file
images/pins/default/shark-export.png DELETED
Binary file
images/pins/default/shintoshrine.png DELETED
Binary file
images/pins/default/shipwreck.png DELETED
Binary file
images/pins/default/shoes.png DELETED
Binary file
images/pins/default/shooting.png DELETED
Binary file
images/pins/default/shootingrange.png DELETED
Binary file
images/pins/default/shore-2.png DELETED
Binary file
images/pins/default/shower.png DELETED
Binary file
images/pins/default/sight-2.png DELETED
Binary file
images/pins/default/signpost-2.png DELETED
Binary file
images/pins/default/sikh.png DELETED
Binary file
images/pins/default/ski_shoe1.png DELETED
Binary file
images/pins/default/skiing.png DELETED
Binary file
images/pins/default/skijump.png DELETED
Binary file
images/pins/default/skilifting.png DELETED
Binary file
images/pins/default/skis.png DELETED
Binary file
images/pins/default/skull.png DELETED
Binary file
images/pins/default/sledge.png DELETED
Binary file
images/pins/default/sledge_summer.png DELETED
Binary file
images/pins/default/sledgerental.png DELETED
Binary file
images/pins/default/slipway.png DELETED
Binary file
images/pins/default/smallcity.png DELETED
Binary file
images/pins/default/smiley_happy.png DELETED
Binary file
images/pins/default/smoking.png DELETED
Binary file
images/pins/default/snail.png DELETED
Binary file
images/pins/default/snakes.png DELETED
Binary file
images/pins/default/sneakers.png DELETED
Binary file
images/pins/default/snorkeling.png DELETED
Binary file
images/pins/default/snowboarding.png DELETED
Binary file
images/pins/default/snowmobiling.png DELETED
Binary file
images/pins/default/snowpark_arc.png DELETED
Binary file
images/pins/default/snowshoeing.png DELETED
Binary file
images/pins/default/snowy-2.png DELETED
Binary file
images/pins/default/soccer.png DELETED
Binary file
images/pins/default/solarenergy.png DELETED
Binary file
images/pins/default/sozialeeinrichtung.png DELETED
Binary file
images/pins/default/spa.png DELETED
Binary file
images/pins/default/spaceport-2.png DELETED
Binary file
images/pins/default/speed_50.png DELETED
Binary file
images/pins/default/speedhump.png DELETED
Binary file
images/pins/default/speedriding.png DELETED
Binary file
images/pins/default/spelunking.png DELETED
Binary file
images/pins/default/spider.png DELETED
Binary file
images/pins/default/splice.png DELETED
Binary file
images/pins/default/sportscar.png DELETED
Binary file
images/pins/default/sportutilityvehicle.png DELETED
Binary file
images/pins/default/square-compass.png DELETED
Binary file
images/pins/default/squash-2.png DELETED
Binary file
images/pins/default/stadium.png DELETED
Binary file
images/pins/default/stairs.png DELETED
Binary file
images/pins/default/star-3.png DELETED
Binary file
images/pins/default/stargate-raw.png DELETED
Binary file
images/pins/default/start-race-2.png DELETED
Binary file
images/pins/default/statue-2.png DELETED
Binary file
images/pins/default/steamtrain.png DELETED
Binary file
images/pins/default/stop.png DELETED
Binary file
images/pins/default/strike.png DELETED
Binary file
images/pins/default/stripclub2.png DELETED
Binary file
images/pins/default/submarine-2.png DELETED
Binary file
images/pins/default/sugar-shack.png DELETED
Binary file
images/pins/default/summercamp.png DELETED
Binary file
images/pins/default/sumo-2.png DELETED
Binary file
images/pins/default/sunny.png DELETED
Binary file
images/pins/default/sunsetland.png DELETED
Binary file
images/pins/default/supermarket.png DELETED
Binary file
images/pins/default/surfacelift.png DELETED
Binary file
images/pins/default/surfing.png DELETED
Binary file
images/pins/default/surfpaddle.png DELETED
Binary file
images/pins/default/surveying-2.png DELETED
Binary file
images/pins/default/swimming.png DELETED
Binary file
images/pins/default/synagogue-2.png DELETED
Binary file
images/pins/default/taekwondo-2.png DELETED
Binary file
images/pins/default/tailor.png DELETED
Binary file
images/pins/default/takeaway.png DELETED
Binary file
images/pins/default/targ.png DELETED
Binary file
images/pins/default/taxi.png DELETED
Binary file
images/pins/default/taxiboat.png DELETED
Binary file
images/pins/default/taxiway.png DELETED
Binary file
images/pins/default/teahouse.png DELETED
Binary file
images/pins/default/tebletennis.png DELETED
Binary file
images/pins/default/telephone.png DELETED
Binary file
images/pins/default/temple-2.png DELETED
Binary file
images/pins/default/templehindu.png DELETED
Binary file
images/pins/default/tennis.png DELETED
Binary file
images/pins/default/terrace.png DELETED
Binary file
images/pins/default/text.png DELETED
Binary file
images/pins/default/textiles.png DELETED
Binary file
images/pins/default/theater.png DELETED
Binary file
images/pins/default/theft.png DELETED
Binary file
images/pins/default/themepark.png DELETED
Binary file
images/pins/default/therapy.png DELETED
Binary file
images/pins/default/theravadapagoda.png DELETED
Binary file
images/pins/default/theravadatemple.png DELETED
Binary file
images/pins/default/thunderstorm.png DELETED
Binary file
images/pins/default/ticket_office2.png DELETED
Binary file
images/pins/default/tidaldiamond.png DELETED
Binary file
images/pins/default/tiger-2.png DELETED
Binary file
images/pins/default/tires.png DELETED
Binary file
images/pins/default/toilets.png DELETED
Binary file
images/pins/default/tollstation.png DELETED
Binary file
images/pins/default/tools.png DELETED
Binary file
images/pins/default/tornado-2.png DELETED
Binary file
images/pins/default/torture.png DELETED
Binary file
images/pins/default/tower.png DELETED
Binary file
images/pins/default/townhouse.png DELETED
Binary file
images/pins/default/toys.png DELETED
Binary file
images/pins/default/trafficcamera.png DELETED
Binary file
images/pins/default/trafficlight.png DELETED
Binary file
images/pins/default/train.png DELETED
Binary file
images/pins/default/tramway.png DELETED
Binary file
images/pins/default/trash.png DELETED
Binary file
images/pins/default/travel_agency.png DELETED
Binary file
images/pins/default/treasure-mark.png DELETED
Binary file
images/pins/default/treedown.png DELETED
Binary file
images/pins/default/triskelion.png DELETED
Binary file
images/pins/default/trolley.png DELETED
Binary file
images/pins/default/truck3.png DELETED
Binary file
images/pins/default/tsunami.png DELETED
Binary file
images/pins/default/tunnel.png DELETED
Binary file
images/pins/default/turtle-2.png DELETED
Binary file
images/pins/default/tweet.png DELETED
Binary file
images/pins/default/u-pick_stand.png DELETED
Binary file
images/pins/default/ufo.png DELETED
Binary file
images/pins/default/umbrella-2.png DELETED
Binary file
images/pins/default/underground.png DELETED
Binary file
images/pins/default/university.png DELETED
Binary file
images/pins/default/usfootball.png DELETED
Binary file
images/pins/default/van.png DELETED
Binary file
images/pins/default/vespa.png DELETED
Binary file
images/pins/default/veterinary.png DELETED
Binary file
images/pins/default/video.png DELETED
Binary file
images/pins/default/videogames.png DELETED
Binary file
images/pins/default/villa.png DELETED
Binary file
images/pins/default/vineyard-2.png DELETED
Binary file
images/pins/default/volcano-2.png DELETED
Binary file
images/pins/default/volleyball.png DELETED
Binary file
images/pins/default/waiting.png DELETED
Binary file
images/pins/default/walkingtour.png DELETED
Binary file
images/pins/default/war.png DELETED
Binary file
images/pins/default/warehouse-2.png DELETED
Binary file
images/pins/default/water.png DELETED
Binary file
images/pins/default/watercraft.png DELETED
Binary file
images/pins/default/waterfall-2.png DELETED
Binary file
images/pins/default/watermill-2.png DELETED
Binary file
images/pins/default/waterpark.png DELETED
Binary file
images/pins/default/waterskiing.png DELETED
Binary file
images/pins/default/watertower.png DELETED
Binary file
images/pins/default/waterwell.png DELETED
Binary file
images/pins/default/waterwellpump.png DELETED
Binary file
images/pins/default/webcam.png DELETED
Binary file
images/pins/default/wedding.png DELETED
Binary file
images/pins/default/weights.png DELETED
Binary file
images/pins/default/wetlands.png DELETED
Binary file
images/pins/default/whale-2.png DELETED
Binary file
images/pins/default/wifi.png DELETED
Binary file
images/pins/default/wiki-export.png DELETED
Binary file
images/pins/default/wildlifecrossing.png DELETED
Binary file
images/pins/default/wind-2.png DELETED
Binary file
images/pins/default/windmill-2.png DELETED
Binary file
images/pins/default/windsurfing.png DELETED
Binary file
images/pins/default/windturbine.png DELETED
Binary file
images/pins/default/winebar.png DELETED
Binary file
images/pins/default/winetasting.png DELETED
Binary file
images/pins/default/woodshed.png DELETED
Binary file
images/pins/default/workoffice.png DELETED
Binary file
images/pins/default/workshop.png DELETED
Binary file
images/pins/default/world.png DELETED
Binary file
images/pins/default/worldheritagesite.png DELETED
Binary file
images/pins/default/worldwildway.png DELETED
Binary file
images/pins/default/wrestling-2.png DELETED
Binary file
images/pins/default/yoga.png DELETED
Binary file
images/pins/default/yooner.png DELETED
Binary file
images/pins/default/you-are-here-2.png DELETED
Binary file
images/pins/default/youthhostel.png DELETED
Binary file
images/pins/default/zombie-outbreak1.png DELETED
Binary file
images/pins/default/zoo.png DELETED
Binary file
images/pins/default/zoom.png DELETED
Binary file
js/gmw-admin-plugins.js CHANGED
@@ -15,13 +15,4 @@ jQuery(function($) {
15
  return false;
16
  }
17
  }); // confirm plugin deactivation
18
-
19
- // branding for widget title
20
- if (gmw.is_activated) {
21
- title_tmp = $('#the-list tr[data-slug="google-maps-widget"] .plugin-title strong').html();
22
- if (title_tmp) {
23
- title_tmp += ' <span style="color: #d54e21;">PRO</span>';
24
- $('#the-list tr[data-slug="google-maps-widget"] .plugin-title strong').html(title_tmp);
25
- }
26
- } // branding if PRO
27
  }); // onload
15
  return false;
16
  }
17
  }); // confirm plugin deactivation
 
 
 
 
 
 
 
 
 
18
  }); // onload
js/gmw-admin.js CHANGED
@@ -16,27 +16,14 @@ jQuery(function($) {
16
  });
17
 
18
 
19
- // open promo dialog on settings
20
- $('.settings_page_gmw_options .open_promo_dialog').on('click', function(e) {
21
  e.preventDefault();
22
 
23
- gmw_open_promo_dialog();
24
 
25
  return false;
26
  }); // open promo dialog
27
-
28
-
29
- // branding for widget title
30
- if (gmw.is_activated) {
31
- $("[id*='" + gmw.id_base + "-'].widget").each(function (i, widget) {
32
- title_tmp = $('.widget-title h3', widget).html();
33
- if (!title_tmp) {
34
- return true;
35
- }
36
- title_tmp = title_tmp.replace('PRO', '<span class="gmw-pro-red">PRO</span>');
37
- $('.widget-title h3', widget).html(title_tmp);
38
- }); // foreach GMW widget
39
- } // branding if PRO
40
 
41
 
42
  // init variables
@@ -44,21 +31,6 @@ jQuery(function($) {
44
  gmw.geocoder = new google.maps.Geocoder();
45
  }
46
  gmw.map = gmw.marker = false;
47
-
48
-
49
- // add clone button only to GMW widgets
50
- if (gmw.is_activated) {
51
- $('div[id*="' + gmw.id_base + '"] .widget-control-actions').each(function() {
52
- var $clone = $('<a>');
53
- var clone = $clone.get()[0];
54
- $clone.addClass('gmw-clone-me')
55
- .attr('title', 'Clone and save the widget in the same sidebar')
56
- .attr('href', '#')
57
- .html('Clone');
58
- $clone.insertAfter($(this).find('.alignleft .widget-control-remove'));
59
- clone.insertAdjacentHTML('beforebegin', ' | ');
60
- }); // add clone button
61
- } // if activated - clone
62
 
63
 
64
  // init JS for each active widget
@@ -80,20 +52,10 @@ jQuery(function($) {
80
  gmw_init_widget_ui(widget);
81
  }
82
  }); // refresh GUI on widget add/update
83
-
84
-
85
- // clone button click
86
- $(document).on('click', '.gmw-clone-me', function(e) {
87
- gmw_clone(e, this);
88
-
89
- e.preventDefault();
90
- return false;
91
- }); // clone button click
92
 
93
 
94
  // init JS UI for an individual GMW
95
  function gmw_init_widget_ui(widget) {
96
- $('.gmw-colorpicker', widget).wpColorPicker({ change: function(picker, event) { $('.gmw-colorpicker', widget).val(event.color.toString()).trigger('change'); } });
97
  $('.gmw-select2', widget).select2({ minimumResultsForSearch: 100, width: '331px' });
98
 
99
  // init tabs
@@ -116,43 +78,6 @@ jQuery(function($) {
116
  $('.gmw_lightbox_fullscreen', widget).on('change', function(e) {
117
  gmw_change_fullscreen(widget);
118
  }).trigger('change');
119
- $('.gmw_lightbox_mode', widget).on('change', function(e) {
120
- gmw_change_mode(widget);
121
- }).trigger('change');
122
-
123
- // open promo/activation dialog
124
- $('.open_promo_dialog', widget).on('click', function(e) {
125
- e.preventDefault();
126
-
127
- gmw_open_promo_dialog();
128
-
129
- return false;
130
- }); // open promo/activation dialog
131
-
132
- // open pin library
133
- $('.open_pins_library', widget).on('click', function(e) {
134
- e.preventDefault();
135
-
136
- if (typeof wp !== 'undefined' && wp.customize) {
137
- alert(gmw.customizer_pins_picker);
138
- return false;
139
- }
140
-
141
- gmw_open_pins_library_dialog(this);
142
-
143
- return false;
144
- }); // open pin library
145
-
146
- // open address picking map dialog - non pro, just ad
147
- $('a.gmw-pick-address.gmw-pick-address-non-pro', widget).on('click', function(e) {
148
- e.preventDefault();
149
-
150
- if (confirm(gmw.map_picker_not_active)) {
151
- gmw_open_promo_dialog();
152
- }
153
-
154
- return false;
155
- }); // open address picking map dialog - non pro, just ad
156
 
157
  // open address picking map dialog
158
  $('a.gmw-pick-address', widget).on('click', function(e) {
@@ -275,15 +200,6 @@ jQuery(function($) {
275
  } // fullscreen
276
 
277
 
278
- // show/hide fields based on mode
279
- function gmw_change_mode(widget) {
280
- mode = $('.gmw_lightbox_mode', widget).val();
281
-
282
- $('p[class^="gmw_lightbox_mode_"]', widget).hide();
283
- $('p.gmw_lightbox_mode_' + mode, widget).show();
284
- } // mode
285
-
286
-
287
  // show/hide custom pin URL field based on user's pin type choice
288
  function gmw_change_pin_type(widget) {
289
  type = $('.gmw_thumb_pin_type', widget).val();
@@ -308,7 +224,7 @@ jQuery(function($) {
308
 
309
  $(event.target).find('option').attr('selected', '');
310
  $(event.target).find('option:first').attr('selected', 'selected');
311
- gmw_open_promo_dialog(widget);
312
  }
313
  } // promo_option_change
314
 
@@ -322,33 +238,29 @@ jQuery(function($) {
322
  $('#gmw_dialog_intro .gmw-promo-box').removeClass('gmw-promo-box-hover');
323
  $('#gmw_dialog_intro .gmw-promo-box:first').addClass('gmw-promo-box-hover');
324
  }
325
- );// on hover for pricing table
326
 
327
 
328
- // already have a key button click in dialog
329
- $('a.gmw_goto_activation').on('click', function(e) {
 
 
 
 
330
  $('.gmw_promo_dialog_screen').hide();
331
  $('#gmw_dialog_activate').show();
332
 
333
- if ($(this).data('noprevent')) {
334
- return true;
335
- } else {
336
- e.stopPropagation();
337
- e.preventDefault();
338
- return false;
339
- }
340
- }); // already have a key click
341
 
342
 
343
  // already have a key button click in dialog
344
- $('div.gmw_goto_activation').on('click', function(e) {
 
 
345
  $('.gmw_promo_dialog_screen').hide();
346
  $('#gmw_dialog_activate').show();
347
 
348
- url = $(this).find('a').attr('href');
349
- win = window.open(url, '_blank');
350
- win.focus();
351
-
352
  return false;
353
  }); // already have a key click
354
 
@@ -396,16 +308,6 @@ jQuery(function($) {
396
  }); // enter press
397
 
398
 
399
- // enter is pressed in license key field in settings
400
- $('#activation_code').on('keypress', function(e) {
401
- if (e.which === 13 || e.which === 10) {
402
- e.preventDefault();
403
- $('#submit-license').trigger('click');
404
- return false;
405
- }
406
- }); // enter press
407
-
408
-
409
  // check code and activate button in dialog
410
  $('#gmw_activate').on('click', function(e) {
411
  e.preventDefault();
@@ -420,10 +322,8 @@ jQuery(function($) {
420
  if (typeof response != 'object') {
421
  alert(gmw.undocumented_error);
422
  } else if (response.success === true) {
423
- alert(gmw.activate_ok);
424
- tmp = window.location.pathname + window.location.search;
425
- tmp = tmp.replace('gmw_open_promo_dialog', '');
426
- window.location = tmp;
427
  } else {
428
  $('#gmw_dialog_activate input').addClass('error');
429
  $('#gmw_dialog_activate span.error.gmw_code').html(response.data).show();
@@ -478,8 +378,8 @@ jQuery(function($) {
478
  '_ajax_nonce': gmw.nonce_get_trial},
479
  function(response) {
480
  if (response && response.success == true) {
481
- alert(gmw.trial_ok);
482
- document.location = gmw.settings_url;
483
  } else if (response && response.success == false && response.data) {
484
  alert(response.data);
485
  } else {
@@ -499,12 +399,17 @@ jQuery(function($) {
499
 
500
 
501
  // open promo/activation dialog
502
- function gmw_open_promo_dialog() {
503
  if (typeof wp !== 'undefined' && wp.customize) {
504
  alert(gmw.customizer_pro_dialog);
505
  return false;
506
  }
507
 
 
 
 
 
 
508
  $('.gmw_promo_dialog_screen').hide();
509
  $('#gmw_dialog_intro').show();
510
 
@@ -521,45 +426,24 @@ jQuery(function($) {
521
  $('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
522
  $('.gmw_goto_pro').blur();
523
  },
524
- close: function(event, ui) { }
525
- }).dialog('open');
526
- } // open_promo_dialog
527
-
528
-
529
- // open pin picker library dialog
530
- function gmw_open_pins_library_dialog(button) {
531
- $('#gmw_pins_dialog').dialog({
532
- 'dialogClass' : 'wp-dialog gmw-map-dialog',
533
- 'modal' : true,
534
- 'resizable': true,
535
- 'width': Math.min(1100, $(window).width() * 0.75),
536
- 'height': 585,
537
- 'title': gmw.dialog_pins_title,
538
- 'autoOpen': false,
539
- 'closeOnEscape': true,
540
- open: function(event, ui) {
541
- $('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
542
- $('#pins_container').height($('#gmw_pins_dialog').dialog('option', 'height') - 185);
543
- $('#pins_container img').each(function(ind, el) {
544
- if (!$(el).attr('src')) {
545
- tmp = gmw.pins_library + $(el).parent('a').data('filename');
546
- $(el).attr('src', tmp);
547
- }
548
- });
549
- },
550
- close: function(event, ui) { },
551
- resizeStop: function(event, ui) {
552
- $('#gmw_pins_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
553
- $('#pins_container').height($('#gmw_pins_dialog').dialog('option', 'height') - 185);
554
  }
555
  }).dialog('open');
556
 
557
- if (button) {
558
- $('#gmw_pins_dialog').data('widget-id', $(button).parents('div.widget').attr('id'));
 
 
559
  }
560
- } // open_pins_library_dialog
 
561
 
562
-
563
  // recenter dialogs when window resizes
564
  $(window).resize(function(e) {
565
  if ($('.ui-dialog #gmw_promo_dialog').is(':visible')) {
@@ -568,9 +452,6 @@ jQuery(function($) {
568
  if ($('.ui-dialog #gmw_map_dialog').is(':visible')) {
569
  $('#gmw_map_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
570
  }
571
- if ($('.ui-dialog #gmw_pins_dialog').is(':visible')) {
572
- $('#gmw_pins_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
573
- }
574
 
575
  return true;
576
  }); // recenter dialogs
@@ -604,64 +485,6 @@ jQuery(function($) {
604
  } // open_map_dialog
605
 
606
 
607
- // filter pins
608
- // bind and run
609
- var last_search = '', last_icon_set = '';
610
- $('#pins_search').val($.cookie('gmw_pins_search'));
611
- $('#pins_set').val($.cookie('gmw_pins_set'));
612
- $('#pins_search').on('change mouseup keyup focus blur search', function(e) {
613
- search = $(this).val();
614
- icon_set = $('#pins_set').val();
615
-
616
- if (search == last_search && icon_set == last_icon_set) {
617
- return false;
618
- }
619
-
620
- last_search = search;
621
- last_icon_set = icon_set;
622
-
623
- if (!search && !icon_set) {
624
- $.cookie('gmw_pins_search', search, { expires: 90 });
625
- $.cookie('gmw_pins_set', icon_set, { expires: 90 });
626
- $('#pins_container a').show();
627
- } else {
628
- $.cookie('gmw_pins_search', search, { expires: 90 });
629
- $.cookie('gmw_pins_set', icon_set, { expires: 90 });
630
- reg_exp = new RegExp(search, 'i');
631
- reg_exp2 = new RegExp(icon_set, 'i');
632
-
633
- $('#pins_container a:not(.skip-search)').each(function(ind, el) {
634
- name = $('span', el).text();
635
- filename = $(el).data('filename');
636
- if (name.search(reg_exp) != -1 && filename.search(reg_exp2) != -1) {
637
- $(el).show();
638
- } else {
639
- $(el).hide();
640
- }
641
- });
642
- }
643
- }).trigger('search');
644
- // filter pins
645
-
646
- // trigger search on pin set change
647
- $('#pins_set').on('change focus blur', function(e) {
648
- $('#pins_search').trigger('search');
649
- }); // trigger search
650
-
651
-
652
- // select pin from dialog
653
- $('#pins_container a:not(.skip-search)').on('click', function(e) {
654
- e.preventDefault();
655
- widget_id = $('#gmw_pins_dialog').data('widget-id');
656
-
657
- $('#' + widget_id + ' .thumb_pin_img_library').val($(this).data('filename'));
658
- $('#' + widget_id + ' .thumb_pin_img_library_preview').attr('src', gmw.pins_library + $(this).data('filename'));
659
-
660
- $('#gmw_pins_dialog').dialog('close');
661
-
662
- return false;
663
- }); // select pin from dialog
664
-
665
  function gmw_init_map(address) {
666
  if (!address) {
667
  address = 'New York, USA';
@@ -717,17 +540,6 @@ jQuery(function($) {
717
  } // gmw_update_address_by_pos
718
 
719
 
720
- // move pin in dialog based on entered coordinates or address
721
- $('.gmw-move-pin').on('click', function(e) {
722
- e.preventDefault();
723
-
724
- field = $(this).data('location-holder');
725
- gmw_put_pin($('#' + field).val());
726
-
727
- return false;
728
- }); // move pin in dialog
729
-
730
-
731
  // just close the map dialog
732
  $('#gmw_close_map_dialog').on('click', function(e) {
733
  e.preventDefault();
@@ -736,23 +548,6 @@ jQuery(function($) {
736
 
737
  return false;
738
  }); // close dialog
739
-
740
-
741
- // close map dialog and transfer address or coordinates
742
- $('.gmw_close_save_map_dialog').on('click', function(e) {
743
- e.preventDefault();
744
-
745
- field = $(this).data('location-holder');
746
- field_val = $('#' + field).val();
747
-
748
- widget_id = $('#gmw_map_dialog').data('widget-id');
749
- target = $('#gmw_map_dialog').data('target');
750
- $('#' + widget_id + ' input[id$="-' + target + '"]').val(field_val);
751
-
752
- $('#gmw_map_dialog').dialog('close');
753
-
754
- return false;
755
- }); // move pin in dialog
756
 
757
 
758
  // test API key
@@ -784,70 +579,4 @@ jQuery(function($) {
784
 
785
  return false;
786
  }); // test api key
787
-
788
-
789
- // clone and save new instance of GMW
790
- function gmw_clone(ev, org_widget) {
791
- var $original = $(org_widget).parents('.widget');
792
- var $widget = $original.clone();
793
- var idbase = $widget.find('input[name="id_base"]').val();
794
- var number = $widget.find('input[name="widget_number"]').val();
795
- var mnumber = $widget.find('input[name="multi_number"]').val();
796
- var highest = 0;
797
-
798
- if (mnumber != '') {
799
- number = mnumber;
800
- }
801
-
802
- $('input.widget-id[value|="' + idbase + '"]').each(function() {
803
- var match = this.value.match(/-(\d+)$/);
804
- if (match && parseInt(match[1]) > highest) {
805
- highest = parseInt(match[1]);
806
- }
807
- });
808
-
809
- var newnum = highest + 1;
810
-
811
- $widget.find('.widget-content').find('input, select, textarea, label').each(function() {
812
- if ($(this).attr('name')) {
813
- $(this).attr('name', $(this).attr('name').replace(number, newnum));
814
- }
815
- if ($(this).attr('id')) {
816
- $(this).attr('id', $(this).attr('id').replace(number, newnum));
817
- }
818
- if ($(this).attr('for')) {
819
- $(this).attr('for', $(this).attr('for').replace(number, newnum));
820
- }
821
- });
822
-
823
- var match = $widget[0].id.match(/^widget-(\d+)/i);
824
- if (match && parseInt(match[1])) {
825
- newid = parseInt(match[1]);
826
- }
827
-
828
- $widget.find('input.add_new').val('multi');
829
- $widget[0].id = 'widget-' + newid + '_' + idbase + '-' + newnum;
830
- $widget.find('input.widget-id').val(idbase + '-' + newnum);
831
- $widget.find('input.widget_number').val(newnum);
832
- $widget.hide();
833
- $original.after($widget);
834
- $widget.fadeIn();
835
-
836
- $widget.find('.multi_number').val(newnum);
837
-
838
- $(document).ajaxSuccess(function(event, xhr, settings) {
839
- if (xhr.responseText == '' && xhr.status == 200 && settings.data.search('&action=save-widget&')) {
840
- wpWidgets.save($widget, 0, 0, 1);
841
- $(document).unbind('ajaxSuccess');
842
- }
843
- });
844
-
845
- wpWidgets.save($widget, 0, 0, 1);
846
-
847
- $widget.find('input.multi_number').val('');
848
- $widget.find('input.add_new').val('');
849
-
850
- ev.stopPropagation();
851
- ev.preventDefault();
852
- } // clone widget
853
  }); // onload
16
  });
17
 
18
 
19
+ // open promo dialog on settings and address dialog
20
+ $(document).on('click', '.settings_page_gmw_options .open_promo_dialog, .gmw-map-dialog a.open_promo_dialog, .widget .open_promo_dialog', function(e) {
21
  e.preventDefault();
22
 
23
+ gmw_open_promo_dialog($(this).data('target-screen'));
24
 
25
  return false;
26
  }); // open promo dialog
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
 
29
  // init variables
31
  gmw.geocoder = new google.maps.Geocoder();
32
  }
33
  gmw.map = gmw.marker = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
 
36
  // init JS for each active widget
52
  gmw_init_widget_ui(widget);
53
  }
54
  }); // refresh GUI on widget add/update
 
 
 
 
 
 
 
 
 
55
 
56
 
57
  // init JS UI for an individual GMW
58
  function gmw_init_widget_ui(widget) {
 
59
  $('.gmw-select2', widget).select2({ minimumResultsForSearch: 100, width: '331px' });
60
 
61
  // init tabs
78
  $('.gmw_lightbox_fullscreen', widget).on('change', function(e) {
79
  gmw_change_fullscreen(widget);
80
  }).trigger('change');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
 
82
  // open address picking map dialog
83
  $('a.gmw-pick-address', widget).on('click', function(e) {
200
  } // fullscreen
201
 
202
 
 
 
 
 
 
 
 
 
 
203
  // show/hide custom pin URL field based on user's pin type choice
204
  function gmw_change_pin_type(widget) {
205
  type = $('.gmw_thumb_pin_type', widget).val();
224
 
225
  $(event.target).find('option').attr('selected', '');
226
  $(event.target).find('option:first').attr('selected', 'selected');
227
+ gmw_open_promo_dialog();
228
  }
229
  } // promo_option_change
230
 
238
  $('#gmw_dialog_intro .gmw-promo-box').removeClass('gmw-promo-box-hover');
239
  $('#gmw_dialog_intro .gmw-promo-box:first').addClass('gmw-promo-box-hover');
240
  }
241
+ ); // on hover for pricing table
242
 
243
 
244
+ // buy pro click
245
+ $('div.gmw_goto_activation').on('click', function(e) {
246
+ url = $(this).find('a').attr('href');
247
+ win = window.open(url, '_blank');
248
+ win.focus();
249
+
250
  $('.gmw_promo_dialog_screen').hide();
251
  $('#gmw_dialog_activate').show();
252
 
253
+ return false;
254
+ }); // buy pro click
 
 
 
 
 
 
255
 
256
 
257
  // already have a key button click in dialog
258
+ $('.gmw-footer-intro a.gmw_goto_activation, .footer a.gmw_goto_activation').on('click', function(e) {
259
+ e.preventDefault();
260
+
261
  $('.gmw_promo_dialog_screen').hide();
262
  $('#gmw_dialog_activate').show();
263
 
 
 
 
 
264
  return false;
265
  }); // already have a key click
266
 
308
  }); // enter press
309
 
310
 
 
 
 
 
 
 
 
 
 
 
311
  // check code and activate button in dialog
312
  $('#gmw_activate').on('click', function(e) {
313
  e.preventDefault();
322
  if (typeof response != 'object') {
323
  alert(gmw.undocumented_error);
324
  } else if (response.success === true) {
325
+ $('.before_activate').hide();
326
+ $('.after_activate').show();
 
 
327
  } else {
328
  $('#gmw_dialog_activate input').addClass('error');
329
  $('#gmw_dialog_activate span.error.gmw_code').html(response.data).show();
378
  '_ajax_nonce': gmw.nonce_get_trial},
379
  function(response) {
380
  if (response && response.success == true) {
381
+ $('.before_trial').hide();
382
+ $('.after_trial').show();
383
  } else if (response && response.success == false && response.data) {
384
  alert(response.data);
385
  } else {
399
 
400
 
401
  // open promo/activation dialog
402
+ function gmw_open_promo_dialog(target_screen) {
403
  if (typeof wp !== 'undefined' && wp.customize) {
404
  alert(gmw.customizer_pro_dialog);
405
  return false;
406
  }
407
 
408
+ // close address picker
409
+ if ($('#gmw_map_dialog').is(':ui-dialog')) {
410
+ $('#gmw_map_dialog').dialog('close');
411
+ }
412
+
413
  $('.gmw_promo_dialog_screen').hide();
414
  $('#gmw_dialog_intro').show();
415
 
426
  $('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
427
  $('.gmw_goto_pro').blur();
428
  },
429
+ close: function(event, ui) {
430
+ // remove open dialog string from URL
431
+ if (window.location.search.search('gmw_open_promo_dialog') != -1) {
432
+ new_url = window.location.href.replace('gmw_open_promo_dialog', '');
433
+ new_url = new_url.replace(/&$/, '');
434
+ window.history.pushState({}, '', new_url);
435
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
436
  }
437
  }).dialog('open');
438
 
439
+ // open specific screen in dialog
440
+ if (target_screen) {
441
+ $('.gmw_promo_dialog_screen').hide();
442
+ $('#' + target_screen).show();
443
  }
444
+ } // open_promo_dialog
445
+
446
 
 
447
  // recenter dialogs when window resizes
448
  $(window).resize(function(e) {
449
  if ($('.ui-dialog #gmw_promo_dialog').is(':visible')) {
452
  if ($('.ui-dialog #gmw_map_dialog').is(':visible')) {
453
  $('#gmw_map_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
454
  }
 
 
 
455
 
456
  return true;
457
  }); // recenter dialogs
485
  } // open_map_dialog
486
 
487
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
488
  function gmw_init_map(address) {
489
  if (!address) {
490
  address = 'New York, USA';
540
  } // gmw_update_address_by_pos
541
 
542
 
 
 
 
 
 
 
 
 
 
 
 
543
  // just close the map dialog
544
  $('#gmw_close_map_dialog').on('click', function(e) {
545
  e.preventDefault();
548
 
549
  return false;
550
  }); // close dialog
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
551
 
552
 
553
  // test API key
579
 
580
  return false;
581
  }); // test api key
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  }); // onload
js/gmw.js CHANGED
@@ -52,7 +52,7 @@ jQuery(function($) {
52
  $.colorbox({ html: content,
53
  title: map_title,
54
  width: map_width,
55
- height: map_width,
56
  scrolling: false,
57
  preloading: false,
58
  arrowKey: false,
@@ -61,17 +61,6 @@ jQuery(function($) {
61
  overlayClose: close_overlay,
62
  escKey: close_esc });
63
 
64
- // if GA tracking is enabled - track
65
- if (gmw_data.track_ga === '1') {
66
- if (typeof _gaq !== 'undefined') {
67
- _gaq.push(['_trackEvent', 'Open GMW interactive map in lightbox', dialog.attr('title')]);
68
- }
69
-
70
- if (typeof ga !== 'undefined') {
71
- ga('send', 'event', 'Open GMW interactive map in lightbox', dialog.attr('title'));
72
- }
73
- } // if track GA
74
-
75
  return false;
76
  }); // click map to open lightbox
77
 
@@ -104,17 +93,6 @@ jQuery(function($) {
104
  $(this).parent('p').next('p, span.gmw-powered-by').hide();
105
  $(this).parent('p').replaceWith(content);
106
 
107
- // if GA tracking is enabled - track
108
- if (gmw_data.track_ga === '1') {
109
- if (typeof _gaq !== 'undefined') {
110
- _gaq.push(['_trackEvent', 'Replace GMW thumbnail with interactive map', dialog.attr('title')]);
111
- }
112
-
113
- if (typeof ga !== 'undefined') {
114
- ga('send', 'event', 'Replace GMW thumbnail with interactive map', dialog.attr('title'));
115
- }
116
- } // if track GA
117
-
118
  return false;
119
  }); // click map to replace img with interactive map
120
 
52
  $.colorbox({ html: content,
53
  title: map_title,
54
  width: map_width,
55
+ height: map_height,
56
  scrolling: false,
57
  preloading: false,
58
  arrowKey: false,
61
  overlayClose: close_overlay,
62
  escKey: close_esc });
63
 
 
 
 
 
 
 
 
 
 
 
 
64
  return false;
65
  }); // click map to open lightbox
66
 
93
  $(this).parent('p').next('p, span.gmw-powered-by').hide();
94
  $(this).parent('p').replaceWith(content);
95
 
 
 
 
 
 
 
 
 
 
 
 
96
  return false;
97
  }); // click map to replace img with interactive map
98
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ License: GPLv2 or later
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
  Requires at least: 4.0
8
  Tested up to: 4.5
9
- Stable tag: 3.30
10
 
11
  Displays a single image, super-fast loading Google map in a widget. A larger map with all interactive features is available on click in a lightbox.
12
 
@@ -31,8 +31,8 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
31
  * pin size
32
  * pin label
33
  * custom pin icon - any image can be used
34
- * 1000+ pins library in PRO
35
- * link type - lightbox, custom URL, replace thumbnail with interactive map, or disable link
36
  * text above map
37
  * text below map
38
 
@@ -49,10 +49,10 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
49
 
50
  **Shortcode**
51
 
52
- * by using the _[gmw id="#"]_ shortcode you can display the map in any page, post, or custom post type (this is a PRO feature)
53
 
54
 
55
- > **PRO** version offers more than 50 extra features including extra pins, skins, export & import features, Google Analytics integration and premium support. Install the plugin and try the PRO features 7 days for free!
56
 
57
 
58
  **What others say about the plugin**
@@ -85,11 +85,8 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
85
 
86
  **License info**
87
 
88
- * Parts of export & import code are based on <a href="https://wordpress.org/plugins/widget-importer-exporter/">Widget Importer & Exporter</a> plugin by Steven Gliebe, licensed under GPLv2
89
- * Most <a href="https://mapicons.mapsmarker.com/">icons</a> are created by Nicolas Mollet under the Creative Commons Attribution-Share Alike 3.0 Unported license
90
  * <a href="https://select2.github.io/">Select2 v4</a>, licensed under MIT
91
  * <a href="http://www.jacklmoore.com/colorbox">Colorbox 1.6</a>, licensed under MIT
92
- * Widget cloning is based on <a href="https://wordpress.org/plugins/widget-clone/">Widget Clone</a> plugin by 93digital, licensed under GPLv3
93
 
94
 
95
  == Installation ==
@@ -143,6 +140,11 @@ Read the <a href="http://wordpress.org/support/plugin/google-maps-widget">suppor
143
  5. Widget options - Shortcode
144
 
145
  == Changelog ==
 
 
 
 
 
146
 
147
  = 3.30 =
148
  * 2016/04/14
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
  Requires at least: 4.0
8
  Tested up to: 4.5
9
+ Stable tag: 3.35
10
 
11
  Displays a single image, super-fast loading Google map in a widget. A larger map with all interactive features is available on click in a lightbox.
12
 
31
  * pin size
32
  * pin label
33
  * custom pin icon - any image can be used
34
+ * 1500+ pins library in PRO
35
+ * link type - lightbox, custom URL, replace thumbnail with interactive map (PRO), or disable link
36
  * text above map
37
  * text below map
38
 
49
 
50
  **Shortcode**
51
 
52
+ * by using the _[gmw id="#"]_ shortcode you can display the map in any page, post, or custom post type (PRO feature)
53
 
54
 
55
+ > > **PRO** version offers more than 50 extra features and options including multiple pins support, pins library, skins, export, import and widget cloning features, Google Analytics integration and premium, USA based support. Install the plugin and try the PRO features 7 days for free! Features are activated instantly.
56
 
57
 
58
  **What others say about the plugin**
85
 
86
  **License info**
87
 
 
 
88
  * <a href="https://select2.github.io/">Select2 v4</a>, licensed under MIT
89
  * <a href="http://www.jacklmoore.com/colorbox">Colorbox 1.6</a>, licensed under MIT
 
90
 
91
 
92
  == Installation ==
140
  5. Widget options - Shortcode
141
 
142
  == Changelog ==
143
+ = 3.35 =
144
+ * 2016/04/30
145
+ * bug fixes
146
+ * new static map color scheme
147
+ * big cleanup - plugin footprint reduced by half
148
 
149
  = 3.30 =
150
  * 2016/04/14