Version Description
- 2016/02/16
- huge upgrade - numerous functions added
- switched to new Google Maps API
Download this release
Release Info
Developer | WebFactory |
Plugin | Google Maps Widget – Ultimate Google Maps Plugin |
Version | 3.0 |
Comparing to | |
See all releases |
Code changes from version 2.92 to 3.0
- css/gmw-admin.css +371 -39
- css/gmw.css +698 -198
- css/select2.min.css +1 -0
- gmw-export-import.php +217 -0
- gmw-map-styles.php +41 -0
- gmw-tracking.php +19 -27
- gmw-widget.php +568 -237
- google-maps-widget.php +916 -328
- images/blank.gif +0 -0
- images/border.png +0 -0
- images/colorbox/dark/border.png +0 -0
- images/colorbox/dark/controls.png +0 -0
- images/colorbox/dark/loading_background.png +0 -0
- images/colorbox/dark/overlay.png +0 -0
- images/colorbox/darkrimmed/colorbox_darkrimmed.png +0 -0
- images/colorbox/fancyoverlay/colorbox_fancyoverlay.png +0 -0
- images/colorbox/gears/frame1.png +0 -0
- images/colorbox/gears/frame2.png +0 -0
- images/colorbox/gray-square/border.png +0 -0
- images/colorbox/gray-square/controls.png +0 -0
- images/colorbox/gray-square/loading_background.png +0 -0
- images/colorbox/loading.gif +0 -0
- images/colorbox/minimal-circles/colorbox_minimalcircles.png +0 -0
- images/colorbox/minimal/colorbox_minimal.png +0 -0
- images/colorbox/painting/frame1.png +0 -0
- images/colorbox/painting/frame2.png +0 -0
- images/colorbox/rounded-white/border1.png +0 -0
- images/colorbox/rounded-white/border2.png +0 -0
- images/colorbox/shadow/colorbox_fancyoverlay.png +0 -0
- images/colorbox/sketchtoon/colorbox_sketchtoon.png +0 -0
- images/colorbox/sketchtoon/paper.jpg +0 -0
- images/colorbox/square-black/controls.png +0 -0
- images/colorbox/square-white/controls.png +0 -0
- images/colorbox/tablet/frame1.png +0 -0
- images/colorbox/tablet/frame2.png +0 -0
- images/colorbox/vintage/frame1.png +0 -0
- images/colorbox/vintage/frame2.png +0 -0
- images/colorbox/vintage/pattern.jpg +0 -0
- images/colorbox/wood/colorbox_woodtable.png +0 -0
- images/colorbox/wood/woodpattern.jpg +0 -0
- images/controls.png +0 -0
- images/gmw-logo-pro-dialog.png +0 -0
- images/gmw-logo-pro.png +0 -0
- images/gmw-logo.png +0 -0
- images/loading.gif +0 -0
- images/loading_background.png +0 -0
- images/overlay.png +0 -0
- images/pins/default/2hand.png +0 -0
- images/pins/default/360degrees.png +0 -0
- images/pins/default/abduction.png +0 -0
- images/pins/default/aboriginal.png +0 -0
- images/pins/default/accesdenied.png +0 -0
- images/pins/default/acupuncture.png +0 -0
- images/pins/default/administration.png +0 -0
- images/pins/default/administrativeboundary.png +0 -0
- images/pins/default/aed-2.png +0 -0
- images/pins/default/agritourism.png +0 -0
- images/pins/default/air_fixwing.png +0 -0
- images/pins/default/aircraftcarrier.png +0 -0
- images/pins/default/aircraftsmall.png +0 -0
- images/pins/default/airport.png +0 -0
- images/pins/default/airport_apron.png +0 -0
- images/pins/default/airport_runway.png +0 -0
- images/pins/default/airport_terminal.png +0 -0
- images/pins/default/airshow-2.png +0 -0
- images/pins/default/algae.png +0 -0
- images/pins/default/alien.png +0 -0
- images/pins/default/alligator.png +0 -0
- images/pins/default/amphitheater-2.png +0 -0
- images/pins/default/amphitheater.png +0 -0
- images/pins/default/anchorpier.png +0 -0
- images/pins/default/anemometer_mono.png +0 -0
- images/pins/default/animal-shelter-export.png +0 -0
- images/pins/default/anniversary.png +0 -0
- images/pins/default/ant-export.png +0 -0
- images/pins/default/anthropo.png +0 -0
- images/pins/default/apartment-3.png +0 -0
- images/pins/default/apple.png +0 -0
- images/pins/default/aquarium.png +0 -0
- images/pins/default/arch.png +0 -0
- images/pins/default/archery.png +0 -0
- images/pins/default/army.png +0 -0
- images/pins/default/art-museum-2.png +0 -0
- images/pins/default/artgallery.png +0 -0
- images/pins/default/atm-2.png +0 -0
- images/pins/default/atv.png +0 -0
- images/pins/default/audio.png +0 -0
- images/pins/default/australian-football.png +0 -0
- images/pins/default/avalanche1.png +0 -0
- images/pins/default/award.png +0 -0
- images/pins/default/badminton-2.png +0 -0
- images/pins/default/bags.png +0 -0
- images/pins/default/bank.png +0 -0
- images/pins/default/bar.png +0 -0
- images/pins/default/bar_coktail.png +0 -0
- images/pins/default/bar_juice.png +0 -0
- images/pins/default/barbecue.png +0 -0
- images/pins/default/barber.png +0 -0
- images/pins/default/barrier.png +0 -0
- images/pins/default/baseball.png +0 -0
- images/pins/default/basketball.png +0 -0
- images/pins/default/bats.png +0 -0
- images/pins/default/battlefield.png +0 -0
- images/pins/default/battleship-3.png +0 -0
- images/pins/default/beach.png +0 -0
- images/pins/default/beachvolleyball.png +0 -0
- images/pins/default/beautifulview.png +0 -0
- images/pins/default/beautysalon.png +0 -0
- images/pins/default/bed_breakfast1-2.png +0 -0
- images/pins/default/beergarden.png +0 -0
- images/pins/default/bicycle_shop.png +0 -0
- images/pins/default/bigcity.png +0 -0
- images/pins/default/bike_downhill.png +0 -0
- images/pins/default/bike_rising.png +0 -0
- images/pins/default/billiard-2.png +0 -0
- images/pins/default/binoculars.png +0 -0
- images/pins/default/birds-2.png +0 -0
- images/pins/default/blast.png +0 -0
- images/pins/default/boardercross.png +0 -0
- images/pins/default/boat.png +0 -0
- images/pins/default/boatcrane.png +0 -0
- images/pins/default/bobsleigh.png +0 -0
- images/pins/default/bollie.png +0 -0
- images/pins/default/bomb.png +0 -0
- images/pins/default/bomber-2.png +0 -0
- images/pins/default/bouddha.png +0 -0
- images/pins/default/bowling.png +0 -0
- images/pins/default/boxing.png +0 -0
- images/pins/default/bread.png +0 -0
- images/pins/default/brewery1.png +0 -0
- images/pins/default/bridge_modern.png +0 -0
- images/pins/default/bridge_old.png +0 -0
- images/pins/default/bulldozer.png +0 -0
- images/pins/default/bullfight.png +0 -0
- images/pins/default/bunker-2-2.png +0 -0
- images/pins/default/bus.png +0 -0
- images/pins/default/busstop.png +0 -0
- images/pins/default/bustour.png +0 -0
- images/pins/default/butcher-2.png +0 -0
- images/pins/default/butterfly-2.png +0 -0
- images/pins/default/cabin-2.png +0 -0
- images/pins/default/cablecar.png +0 -0
- images/pins/default/cafetaria.png +0 -0
- images/pins/default/calendar-3.png +0 -0
- images/pins/default/campfire-2.png +0 -0
- images/pins/default/camping-2.png +0 -0
- images/pins/default/candy.png +0 -0
- images/pins/default/canyon-2.png +0 -0
- images/pins/default/car.png +0 -0
- images/pins/default/caraccident.png +0 -0
- images/pins/default/carrental.png +0 -0
- images/pins/default/carwash.png +0 -0
- images/pins/default/casino-2.png +0 -0
- images/pins/default/castle-2.png +0 -0
- images/pins/default/cathedral.png +0 -0
- images/pins/default/catholicgrave.png +0 -0
- images/pins/default/caution.png +0 -0
- images/pins/default/cave-2.png +0 -0
- images/pins/default/cctv.png +0 -0
- images/pins/default/cemetary.png +0 -0
- images/pins/default/channelchange.png +0 -0
- images/pins/default/chapel-2.png +0 -0
- images/pins/default/chart-2.png +0 -0
- images/pins/default/cheese.png +0 -0
- images/pins/default/chemistry-2.png +0 -0
- images/pins/default/chicken-2.png +0 -0
- images/pins/default/childmuseum01.png +0 -0
- images/pins/default/chiropractor.png +0 -0
- images/pins/default/christmasmarket.png +0 -0
- images/pins/default/church-2.png +0 -0
- images/pins/default/cinema.png +0 -0
- images/pins/default/circus.png +0 -0
- images/pins/default/citysquare.png +0 -0
- images/pins/default/citywalls.png +0 -0
- images/pins/default/climbing.png +0 -0
- images/pins/default/clock.png +0 -0
- images/pins/default/closedroad.png +0 -0
- images/pins/default/clothers_female.png +0 -0
- images/pins/default/clothers_male.png +0 -0
- images/pins/default/cloudy.png +0 -0
- images/pins/default/cloudysunny.png +0 -0
- images/pins/default/coffee.png +0 -0
- images/pins/default/coins.png +0 -0
- images/pins/default/comedyclub.png +0 -0
- images/pins/default/comics.png +0 -0
- images/pins/default/comment-map-icon.png +0 -0
- images/pins/default/communitycentre.png +0 -0
- images/pins/default/company.png +0 -0
- images/pins/default/compost.png +0 -0
- images/pins/default/computers.png +0 -0
- images/pins/default/condominium.png +0 -0
- images/pins/default/conference.png +0 -0
- images/pins/default/congress.png +0 -0
- images/pins/default/construction.png +0 -0
- images/pins/default/constructioncrane.png +0 -0
- images/pins/default/contract.png +0 -0
- images/pins/default/conveniencestore.png +0 -0
- images/pins/default/convent-2.png +0 -0
- images/pins/default/conversation-map-icon.png +0 -0
- images/pins/default/convertible.png +0 -0
- images/pins/default/corral.png +0 -0
- images/pins/default/country.png +0 -0
- images/pins/default/court.png +0 -0
- images/pins/default/cow-export.png +0 -0
- images/pins/default/cowabduction.png +0 -0
- images/pins/default/craftstore.png +0 -0
- images/pins/default/cramschool.png +0 -0
- images/pins/default/cricket.png +0 -0
- images/pins/default/crimescene.png +0 -0
- images/pins/default/cromlech.png +0 -0
- images/pins/default/cropcircles.png +0 -0
- images/pins/default/cross-2.png +0 -0
- images/pins/default/crossingguard.png +0 -0
- images/pins/default/cruiseship.png +0 -0
- images/pins/default/cup.png +0 -0
- images/pins/default/curling-2.png +0 -0
- images/pins/default/currencyexchange.png +0 -0
- images/pins/default/customs.png +0 -0
- images/pins/default/cycling.png +0 -0
- images/pins/default/cycling_feed.png +0 -0
- images/pins/default/cycling_sprint.png +0 -0
- images/pins/default/dam.png +0 -0
- images/pins/default/dance_class.png +0 -0
- images/pins/default/dancinghall.png +0 -0
- images/pins/default/database.png +0 -0
- images/pins/default/daycare.png +0 -0
- images/pins/default/deepseafishing.png +0 -0
- images/pins/default/deer.png +0 -0
- images/pins/default/dentist.png +0 -0
- images/pins/default/departmentstore.png +0 -0
- images/pins/default/desert-2.png +0 -0
- images/pins/default/dinopark.png +0 -0
- images/pins/default/direction_down.png +0 -0
- images/pins/default/disability.png +0 -0
- images/pins/default/diving.png +0 -0
- images/pins/default/dogs_leash.png +0 -0
- images/pins/default/dolphins.png +0 -0
- images/pins/default/doublebendright.png +0 -0
- images/pins/default/downloadicon.png +0 -0
- images/pins/default/drinkingfountain.png +0 -0
- images/pins/default/drinkingwater.png +0 -0
- images/pins/default/drugstore.png +0 -0
- images/pins/default/duck-export.png +0 -0
- images/pins/default/earthquake-3.png +0 -0
- images/pins/default/eggs.png +0 -0
- images/pins/default/elephants.png +0 -0
- images/pins/default/elevator.png +0 -0
- images/pins/default/elevator_down.png +0 -0
- images/pins/default/elevator_up.png +0 -0
- images/pins/default/embassy.png +0 -0
- images/pins/default/entrance.png +0 -0
- images/pins/default/exchequer.png +0 -0
- images/pins/default/exit.png +0 -0
- images/pins/default/expert.png +0 -0
- images/pins/default/factory.png +0 -0
- images/pins/default/fallingrocks.png +0 -0
- images/pins/default/family.png +0 -0
- images/pins/default/farm-2.png +0 -0
- images/pins/default/farmstand.png +0 -0
- images/pins/default/fastfood.png +0 -0
- images/pins/default/female-2.png +0 -0
- images/pins/default/ferriswheel.png +0 -0
- images/pins/default/ferry.png +0 -0
- images/pins/default/festival.png +0 -0
- images/pins/default/fetalalcoholsyndrom.png +0 -0
- images/pins/default/field.png +0 -0
- images/pins/default/fillingstation.png +0 -0
- images/pins/default/findajob.png +0 -0
- images/pins/default/finish.png +0 -0
- images/pins/default/fire-hydrant-2.png +0 -0
- images/pins/default/fire.png +0 -0
- images/pins/default/fireexstinguisher.png +0 -0
- images/pins/default/firemen.png +0 -0
- images/pins/default/fireworks.png +0 -0
- images/pins/default/firstaid.png +0 -0
- images/pins/default/fishchips.png +0 -0
- images/pins/default/fishing.png +0 -0
- images/pins/default/fishingboat.png +0 -0
- images/pins/default/fishingstore.png +0 -0
- images/pins/default/fitness.png +0 -0
- images/pins/default/fjord-2.png +0 -0
- images/pins/default/flag-export.png +0 -0
- images/pins/default/flood.png +0 -0
- images/pins/default/flowers.png +0 -0
- images/pins/default/folder-2.png +0 -0
- images/pins/default/fooddeliveryservice.png +0 -0
- images/pins/default/foodtruck.png +0 -0
- images/pins/default/footprint.png +0 -0
- images/pins/default/ford-2.png +0 -0
- images/pins/default/forest.png +0 -0
- images/pins/default/forest2.png +0 -0
- images/pins/default/fossils.png +0 -0
- images/pins/default/foundry-2.png +0 -0
- images/pins/default/fountain-2.png +0 -0
- images/pins/default/fourbyfour.png +0 -0
- images/pins/default/freqchg.png +0 -0
- images/pins/default/frog-2.png +0 -0
- images/pins/default/fruits.png +0 -0
- images/pins/default/ft.png +0 -0
- images/pins/default/funicolar-22x22.png +0 -0
- images/pins/default/gas_cylinder1.png +0 -0
- images/pins/default/gay-female.png +0 -0
- images/pins/default/gay-male.png +0 -0
- images/pins/default/geocaching-3.png +0 -0
- images/pins/default/geothermal-site.png +0 -0
- images/pins/default/geyser-2.png +0 -0
- images/pins/default/ghosttown.png +0 -0
- images/pins/default/gifts.png +0 -0
- images/pins/default/glacier-2.png +0 -0
- images/pins/default/glasses.png +0 -0
- images/pins/default/golfing.png +0 -0
- images/pins/default/gondola-2.png +0 -0
- images/pins/default/gourmet_0star.png +0 -0
- images/pins/default/grass.png +0 -0
- images/pins/default/grocery.png +0 -0
- images/pins/default/group-2.png +0 -0
- images/pins/default/gumball_machine.png +0 -0
- images/pins/default/handball.png +0 -0
- images/pins/default/hanggliding.png +0 -0
- images/pins/default/harbor.png +0 -0
- images/pins/default/hare1.png +0 -0
- images/pins/default/hats.png +0 -0
- images/pins/default/haybale.png +0 -0
- images/pins/default/headstone-2.png +0 -0
- images/pins/default/helicopter.png +0 -0
- images/pins/default/highhills.png +0 -0
- images/pins/default/highschool.png +0 -0
- images/pins/default/highway.png +0 -0
- images/pins/default/hiking.png +0 -0
- images/pins/default/historical_museum.png +0 -0
- images/pins/default/historicalquarter.png +0 -0
- images/pins/default/hoergeraeteakustiker_22px.png +0 -0
- images/pins/default/home-2.png +0 -0
- images/pins/default/homecenter.png +0 -0
- images/pins/default/honeycomb.png +0 -0
- images/pins/default/hookah_final.png +0 -0
- images/pins/default/horseriding.png +0 -0
- images/pins/default/hospital-building.png +0 -0
- images/pins/default/hostel_0star.png +0 -0
- images/pins/default/hotairbaloon.png +0 -0
- images/pins/default/hotel_0star.png +0 -0
- images/pins/default/hotspring.png +0 -0
- images/pins/default/house.png +0 -0
- images/pins/default/hunting.png +0 -0
- images/pins/default/hut.png +0 -0
- images/pins/default/icecream.png +0 -0
- images/pins/default/icehockey.png +0 -0
- images/pins/default/iceskating.png +0 -0
- images/pins/default/icy_road.png +0 -0
- images/pins/default/indoor-arena.png +0 -0
- images/pins/default/information.png +0 -0
- images/pins/default/iobridge.png +0 -0
- images/pins/default/jacuzzi.png +0 -0
- images/pins/default/japanese-food.png +0 -0
- images/pins/default/japanese-lantern.png +0 -0
- images/pins/default/japanese-sake.png +0 -0
- images/pins/default/japanese-sweet-2.png +0 -0
- images/pins/default/japanese-temple.png +0 -0
- images/pins/default/jazzclub.png +0 -0
- images/pins/default/jeep.png +0 -0
- images/pins/default/jetfighter.png +0 -0
- images/pins/default/jewelry.png +0 -0
- images/pins/default/jewishgrave.png +0 -0
- images/pins/default/jewishquarter.png +0 -0
- images/pins/default/jogging.png +0 -0
- images/pins/default/judo.png +0 -0
- images/pins/default/junction.png +0 -0
- images/pins/default/karate.png +0 -0
- images/pins/default/karting.png +0 -0
- images/pins/default/kayak1.png +0 -0
- images/pins/default/kayaking.png +0 -0
- images/pins/default/kebab.png +0 -0
- images/pins/default/kingair.png +0 -0
- images/pins/default/kiosk.png +0 -0
- images/pins/default/kitesurfing.png +0 -0
- images/pins/default/laboratory.png +0 -0
- images/pins/default/lake.png +0 -0
- images/pins/default/landfill.png +0 -0
- images/pins/default/landmark.png +0 -0
- images/pins/default/laterne.png +0 -0
- images/pins/default/laundromat.png +0 -0
- images/pins/default/levelcrossing.png +0 -0
- images/pins/default/library.png +0 -0
- images/pins/default/lifeguard-2.png +0 -0
- images/pins/default/lighthouse-2.png +0 -0
- images/pins/default/linedown.png +0 -0
- images/pins/default/lingerie.png +0 -0
- images/pins/default/liquor.png +0 -0
- images/pins/default/lobster-export.png +0 -0
- images/pins/default/lock.png +0 -0
- images/pins/default/lockerrental.png +0 -0
- images/pins/default/lodging_0star.png +0 -0
- images/pins/default/love_date.png +0 -0
- images/pins/default/loveinterest.png +0 -0
- images/pins/default/magicshow.png +0 -0
- images/pins/default/mainroad.png +0 -0
- images/pins/default/male-2.png +0 -0
- images/pins/default/mall.png +0 -0
- images/pins/default/map.png +0 -0
- images/pins/default/mapicon.png +0 -0
- images/pins/default/marina-2.png +0 -0
- images/pins/default/market.png +0 -0
- images/pins/default/massage.png +0 -0
- images/pins/default/mastcrane1.png +0 -0
- images/pins/default/medicalstore.png +0 -0
- images/pins/default/medicine.png +0 -0
- images/pins/default/megalith.png +0 -0
- images/pins/default/memorial.png +0 -0
- images/pins/default/metronetwork.png +0 -0
- images/pins/default/military.png +0 -0
- images/pins/default/mine.png +0 -0
- images/pins/default/missile-2.png +0 -0
- images/pins/default/mobilephonetower.png +0 -0
- images/pins/default/modernmonument.png +0 -0
- images/pins/default/moderntower.png +0 -0
- images/pins/default/monkey-export.png +0 -0
- images/pins/default/monument-historique-icon-white-22x22.png +0 -0
- images/pins/default/monument.png +0 -0
- images/pins/default/moonstar.png +0 -0
- images/pins/default/mosquee.png +0 -0
- images/pins/default/mosquito-2.png +0 -0
- images/pins/default/motel-2.png +0 -0
- images/pins/default/motorbike.png +0 -0
- images/pins/default/motorcycle.png +0 -0
- images/pins/default/mountain-pass-locator-diagonal-reverse-export.png +0 -0
- images/pins/default/mountainbiking-3.png +0 -0
- images/pins/default/mountains.png +0 -0
- images/pins/default/movierental.png +0 -0
- images/pins/default/moving-walkway-enter-export.png +0 -0
- images/pins/default/muffin_bagle.png +0 -0
- images/pins/default/mural.png +0 -0
- images/pins/default/museum_archeological.png +0 -0
- images/pins/default/museum_art.png +0 -0
- images/pins/default/museum_crafts.png +0 -0
- images/pins/default/museum_industry.png +0 -0
- images/pins/default/museum_naval.png +0 -0
- images/pins/default/museum_openair.png +0 -0
- images/pins/default/museum_science.png +0 -0
- images/pins/default/museum_war.png +0 -0
- images/pins/default/mushroom.png +0 -0
- images/pins/default/music.png +0 -0
- images/pins/default/music_choral.png +0 -0
- images/pins/default/music_classical.png +0 -0
- images/pins/default/music_hiphop.png +0 -0
- images/pins/default/music_live.png +0 -0
- images/pins/default/music_rock.png +0 -0
- images/pins/default/nanny.png +0 -0
- images/pins/default/ne_barn-2.png +0 -0
- images/pins/default/newsagent.png +0 -0
- images/pins/default/no-nuke-export.png +0 -0
- images/pins/default/nordicski.png +0 -0
- images/pins/default/notvisited.png +0 -0
- images/pins/default/nursery.png +0 -0
- images/pins/default/nursing_home_icon.png +0 -0
- images/pins/default/observatory.png +0 -0
- images/pins/default/office-building.png +0 -0
- images/pins/default/oil-2.png +0 -0
- images/pins/default/oilpumpjack.png +0 -0
- images/pins/default/oilrig2.png +0 -0
- images/pins/default/olympicsite.png +0 -0
- images/pins/default/ophthalmologist.png +0 -0
- images/pins/default/outlet2.png +0 -0
- images/pins/default/oyster-3.png +0 -0
- images/pins/default/pagoda-2.png +0 -0
- images/pins/default/paint.png +0 -0
- images/pins/default/paintball.png +0 -0
- images/pins/default/palace-2.png +0 -0
- images/pins/default/palm-tree-export.png +0 -0
- images/pins/default/panoramicview.png +0 -0
- images/pins/default/paragliding.png +0 -0
- images/pins/default/parasailing.png +0 -0
- images/pins/default/parkandride.png +0 -0
- images/pins/default/parking-meter-export.png +0 -0
- images/pins/default/parkinggarage.png +0 -0
- images/pins/default/party-2.png +0 -0
- images/pins/default/patisserie.png +0 -0
- images/pins/default/peace.png +0 -0
- images/pins/default/pedestriancrossing.png +0 -0
- images/pins/default/penguin-2.png +0 -0
- images/pins/default/pens.png +0 -0
- images/pins/default/perfumery.png +0 -0
- images/pins/default/petanque.png +0 -0
- images/pins/default/petroglyphs-2.png +0 -0
- images/pins/default/pets.png +0 -0
- images/pins/default/phantom.png +0 -0
- images/pins/default/phones.png +0 -0
- images/pins/default/photo.png +0 -0
- images/pins/default/photography.png +0 -0
- images/pins/default/picnic-2.png +0 -0
- images/pins/default/pig.png +0 -0
- images/pins/default/pin-export.png +0 -0
- images/pins/default/pirates.png +0 -0
- images/pins/default/pizzaria.png +0 -0
- images/pins/default/planecrash.png +0 -0
- images/pins/default/planetarium-2.png +0 -0
- images/pins/default/playground.png +0 -0
- images/pins/default/pleasurepier.png +0 -0
- images/pins/default/poker.png +0 -0
- images/pins/default/police.png +0 -0
- images/pins/default/postal.png +0 -0
- images/pins/default/powerlinepole.png +0 -0
- images/pins/default/poweroutage.png +0 -0
- images/pins/default/powerplant.png +0 -0
- images/pins/default/powersubstation.png +0 -0
- images/pins/default/prayer.png +0 -0
- images/pins/default/presentation.png +0 -0
- images/pins/default/price-tag-export.png +0 -0
- images/pins/default/printer-2.png +0 -0
- images/pins/default/prison.png +0 -0
- images/pins/default/publicart.png +0 -0
- images/pins/default/pyramid.png +0 -0
- images/pins/default/quadrifoglio.png +0 -0
- images/pins/default/radar.png +0 -0
- images/pins/default/radiation.png +0 -0
- images/pins/default/radio-control-model-car.png +0 -0
- images/pins/default/radio-station-2.png +0 -0
- images/pins/default/rainy.png +0 -0
- images/pins/default/rape.png +0 -0
- images/pins/default/reatorlogowhite-22x22.png +0 -0
- images/pins/default/recycle.png +0 -0
- images/pins/default/regroup.png +0 -0
- images/pins/default/repair.png +0 -0
- images/pins/default/rescue-2.png +0 -0
- images/pins/default/resort.png +0 -0
- images/pins/default/restaurant.png +0 -0
- images/pins/default/restaurant_african.png +0 -0
- images/pins/default/restaurant_breakfast.png +0 -0
- images/pins/default/restaurant_buffet.png +0 -0
- images/pins/default/restaurant_chinese.png +0 -0
- images/pins/default/restaurant_fish.png +0 -0
- images/pins/default/restaurant_greek.png +0 -0
- images/pins/default/restaurant_indian.png +0 -0
- images/pins/default/restaurant_italian.png +0 -0
- images/pins/default/restaurant_korean.png +0 -0
- images/pins/default/restaurant_mediterranean.png +0 -0
- images/pins/default/restaurant_mexican.png +0 -0
- images/pins/default/restaurant_romantic.png +0 -0
- images/pins/default/restaurant_steakhouse.png +0 -0
- images/pins/default/restaurant_tapas.png +0 -0
- images/pins/default/restaurant_thai.png +0 -0
- images/pins/default/restaurant_turkish.png +0 -0
- images/pins/default/restaurant_vegetarian.png +0 -0
- images/pins/default/revolt.png +0 -0
- images/pins/default/riparianhabitat.png +0 -0
- images/pins/default/river-2.png +0 -0
- images/pins/default/road.png +0 -0
- images/pins/default/roadtype_gravel.png +0 -0
- images/pins/default/rockhouse.png +0 -0
- images/pins/default/rodent.png +0 -0
- images/pins/default/rollerskate.png +0 -0
- images/pins/default/ropescourse.png +0 -0
- images/pins/default/rowboat.png +0 -0
- images/pins/default/rugbyfield.png +0 -0
- images/pins/default/ruins-2.png +0 -0
- images/pins/default/sailing.png +0 -0
- images/pins/default/sandwich-2.png +0 -0
- images/pins/default/sauna.png +0 -0
- images/pins/default/sawmill-2.png +0 -0
- images/pins/default/school.png +0 -0
- images/pins/default/schreibwaren_web.png +0 -0
- images/pins/default/scoutgroup.png +0 -0
- images/pins/default/scubadiving.png +0 -0
- images/pins/default/seals.png +0 -0
- images/pins/default/segway.png +0 -0
- images/pins/default/seniorsite.png +0 -0
- images/pins/default/septic_tank.png +0 -0
- images/pins/default/share.png +0 -0
- images/pins/default/shark-export.png +0 -0
- images/pins/default/shintoshrine.png +0 -0
- images/pins/default/shipwreck.png +0 -0
- images/pins/default/shoes.png +0 -0
- images/pins/default/shooting.png +0 -0
- images/pins/default/shootingrange.png +0 -0
- images/pins/default/shore-2.png +0 -0
- images/pins/default/shower.png +0 -0
- images/pins/default/sight-2.png +0 -0
- images/pins/default/signpost-2.png +0 -0
- images/pins/default/sikh.png +0 -0
- images/pins/default/ski_shoe1.png +0 -0
- images/pins/default/skiing.png +0 -0
- images/pins/default/skijump.png +0 -0
- images/pins/default/skilifting.png +0 -0
- images/pins/default/skis.png +0 -0
- images/pins/default/skull.png +0 -0
- images/pins/default/sledge.png +0 -0
- images/pins/default/sledge_summer.png +0 -0
- images/pins/default/sledgerental.png +0 -0
- images/pins/default/slipway.png +0 -0
- images/pins/default/smallcity.png +0 -0
- images/pins/default/smiley_happy.png +0 -0
- images/pins/default/smoking.png +0 -0
- images/pins/default/snail.png +0 -0
- images/pins/default/snakes.png +0 -0
- images/pins/default/sneakers.png +0 -0
- images/pins/default/snorkeling.png +0 -0
- images/pins/default/snowboarding.png +0 -0
- images/pins/default/snowmobiling.png +0 -0
- images/pins/default/snowpark_arc.png +0 -0
- images/pins/default/snowshoeing.png +0 -0
- images/pins/default/snowy-2.png +0 -0
- images/pins/default/soccer.png +0 -0
- images/pins/default/solarenergy.png +0 -0
- images/pins/default/sozialeeinrichtung.png +0 -0
- images/pins/default/spa.png +0 -0
- images/pins/default/spaceport-2.png +0 -0
- images/pins/default/speed_50.png +0 -0
- images/pins/default/speedhump.png +0 -0
- images/pins/default/speedriding.png +0 -0
- images/pins/default/spelunking.png +0 -0
- images/pins/default/spider.png +0 -0
- images/pins/default/splice.png +0 -0
- images/pins/default/sportscar.png +0 -0
- images/pins/default/sportutilityvehicle.png +0 -0
- images/pins/default/square-compass.png +0 -0
- images/pins/default/squash-2.png +0 -0
- images/pins/default/stadium.png +0 -0
- images/pins/default/stairs.png +0 -0
- images/pins/default/star-3.png +0 -0
- images/pins/default/stargate-raw.png +0 -0
- images/pins/default/start-race-2.png +0 -0
- images/pins/default/statue-2.png +0 -0
- images/pins/default/steamtrain.png +0 -0
- images/pins/default/stop.png +0 -0
- images/pins/default/strike.png +0 -0
- images/pins/default/stripclub2.png +0 -0
- images/pins/default/submarine-2.png +0 -0
- images/pins/default/sugar-shack.png +0 -0
- images/pins/default/summercamp.png +0 -0
- images/pins/default/sumo-2.png +0 -0
- images/pins/default/sunny.png +0 -0
- images/pins/default/sunsetland.png +0 -0
- images/pins/default/supermarket.png +0 -0
- images/pins/default/surfacelift.png +0 -0
- images/pins/default/surfing.png +0 -0
- images/pins/default/surfpaddle.png +0 -0
- images/pins/default/surveying-2.png +0 -0
- images/pins/default/swimming.png +0 -0
- images/pins/default/synagogue-2.png +0 -0
- images/pins/default/taekwondo-2.png +0 -0
- images/pins/default/tailor.png +0 -0
- images/pins/default/takeaway.png +0 -0
- images/pins/default/targ.png +0 -0
- images/pins/default/taxi.png +0 -0
- images/pins/default/taxiboat.png +0 -0
- images/pins/default/taxiway.png +0 -0
- images/pins/default/teahouse.png +0 -0
- images/pins/default/tebletennis.png +0 -0
- images/pins/default/telephone.png +0 -0
- images/pins/default/temple-2.png +0 -0
- images/pins/default/templehindu.png +0 -0
- images/pins/default/tennis.png +0 -0
- images/pins/default/terrace.png +0 -0
- images/pins/default/text.png +0 -0
- images/pins/default/textiles.png +0 -0
- images/pins/default/theater.png +0 -0
- images/pins/default/theft.png +0 -0
- images/pins/default/themepark.png +0 -0
- images/pins/default/therapy.png +0 -0
- images/pins/default/theravadapagoda.png +0 -0
- images/pins/default/theravadatemple.png +0 -0
- images/pins/default/thunderstorm.png +0 -0
- images/pins/default/ticket_office2.png +0 -0
- images/pins/default/tidaldiamond.png +0 -0
- images/pins/default/tiger-2.png +0 -0
- images/pins/default/tires.png +0 -0
- images/pins/default/toilets.png +0 -0
- images/pins/default/tollstation.png +0 -0
- images/pins/default/tools.png +0 -0
- images/pins/default/tornado-2.png +0 -0
- images/pins/default/torture.png +0 -0
- images/pins/default/tower.png +0 -0
- images/pins/default/townhouse.png +0 -0
- images/pins/default/toys.png +0 -0
- images/pins/default/trafficcamera.png +0 -0
- images/pins/default/trafficlight.png +0 -0
- images/pins/default/train.png +0 -0
- images/pins/default/tramway.png +0 -0
- images/pins/default/trash.png +0 -0
- images/pins/default/travel_agency.png +0 -0
- images/pins/default/treasure-mark.png +0 -0
- images/pins/default/treedown.png +0 -0
- images/pins/default/triskelion.png +0 -0
- images/pins/default/trolley.png +0 -0
- images/pins/default/truck3.png +0 -0
- images/pins/default/tsunami.png +0 -0
- images/pins/default/tunnel.png +0 -0
- images/pins/default/turtle-2.png +0 -0
- images/pins/default/tweet.png +0 -0
- images/pins/default/u-pick_stand.png +0 -0
- images/pins/default/ufo.png +0 -0
- images/pins/default/umbrella-2.png +0 -0
- images/pins/default/underground.png +0 -0
- images/pins/default/university.png +0 -0
- images/pins/default/usfootball.png +0 -0
- images/pins/default/van.png +0 -0
- images/pins/default/vespa.png +0 -0
- images/pins/default/veterinary.png +0 -0
- images/pins/default/video.png +0 -0
- images/pins/default/videogames.png +0 -0
- images/pins/default/villa.png +0 -0
- images/pins/default/vineyard-2.png +0 -0
- images/pins/default/volcano-2.png +0 -0
- images/pins/default/volleyball.png +0 -0
- images/pins/default/waiting.png +0 -0
- images/pins/default/walkingtour.png +0 -0
- images/pins/default/war.png +0 -0
- images/pins/default/warehouse-2.png +0 -0
- images/pins/default/water.png +0 -0
- images/pins/default/watercraft.png +0 -0
- images/pins/default/waterfall-2.png +0 -0
- images/pins/default/watermill-2.png +0 -0
- images/pins/default/waterpark.png +0 -0
- images/pins/default/waterskiing.png +0 -0
- images/pins/default/watertower.png +0 -0
- images/pins/default/waterwell.png +0 -0
- images/pins/default/waterwellpump.png +0 -0
- images/pins/default/webcam.png +0 -0
- images/pins/default/wedding.png +0 -0
- images/pins/default/weights.png +0 -0
- images/pins/default/wetlands.png +0 -0
- images/pins/default/whale-2.png +0 -0
- images/pins/default/wifi.png +0 -0
- images/pins/default/wiki-export.png +0 -0
- images/pins/default/wildlifecrossing.png +0 -0
- images/pins/default/wind-2.png +0 -0
- images/pins/default/windmill-2.png +0 -0
- images/pins/default/windsurfing.png +0 -0
- images/pins/default/windturbine.png +0 -0
- images/pins/default/winebar.png +0 -0
- images/pins/default/winetasting.png +0 -0
- images/pins/default/woodshed.png +0 -0
- images/pins/default/workoffice.png +0 -0
- images/pins/default/workshop.png +0 -0
- images/pins/default/world.png +0 -0
- images/pins/default/worldheritagesite.png +0 -0
- images/pins/default/worldwildway.png +0 -0
- images/pins/default/wrestling-2.png +0 -0
- images/pins/default/yoga.png +0 -0
- images/pins/default/yooner.png +0 -0
- images/pins/default/you-are-here-2.png +0 -0
- images/pins/default/youthhostel.png +0 -0
- images/pins/default/zombie-outbreak1.png +0 -0
- images/pins/default/zoo.png +0 -0
- images/pins/default/zoom.png +0 -0
- images/santa_cap.png +0 -0
- images/spinner.gif +0 -0
- js/gmw-admin.js +469 -112
- js/gmw.js +124 -21
- js/jquery.colorbox.min.js +2 -2
- js/select2.min.js +2 -0
- readme.txt +47 -30
css/gmw-admin.css
CHANGED
@@ -2,13 +2,79 @@
|
|
2 |
* Google Maps Widget
|
3 |
* (c) Web factory Ltd, 2012 - 2016
|
4 |
*/
|
|
|
5 |
@import url(http://fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light&lang=en);
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
.gmw-label {
|
8 |
width: 115px;
|
9 |
display: inline-block;
|
10 |
}
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
.gmw-label-wide {
|
13 |
width: 90%;
|
14 |
}
|
@@ -24,7 +90,7 @@
|
|
24 |
padding: 1px 6px;
|
25 |
}
|
26 |
|
27 |
-
.gmw-tabs select {
|
28 |
min-width: 230px;
|
29 |
max-width: 331px;
|
30 |
width: 100%;
|
@@ -34,7 +100,17 @@
|
|
34 |
max-width: 331px;
|
35 |
}
|
36 |
|
37 |
-
option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
color: #e14d43;
|
39 |
}
|
40 |
|
@@ -48,12 +124,24 @@ option.promo {
|
|
48 |
}
|
49 |
|
50 |
.gmw-dialog .ui-dialog-titlebar {
|
51 |
-
line-height:
|
52 |
-
height:
|
53 |
background-color: #303030;
|
54 |
text-align: center;
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
.gmw-dialog .ui-dialog-titlebar span {
|
58 |
color: #fff;
|
59 |
}
|
@@ -81,17 +169,17 @@ option.promo {
|
|
81 |
.gmw-left-box,
|
82 |
.gmw-right-box {
|
83 |
position: relative;
|
84 |
-
min-height:
|
85 |
-
padding:
|
86 |
width: 34.6%;
|
87 |
float: left;
|
88 |
text-align: center;
|
89 |
}
|
90 |
|
91 |
.gmw-left-box .gmw_goto_activation.button-primary,
|
92 |
-
.gmw-right-box .
|
93 |
position: absolute;
|
94 |
-
bottom:
|
95 |
left: 77px;
|
96 |
letter-spacing: 1px;
|
97 |
width: 170px;
|
@@ -131,9 +219,15 @@ option.promo {
|
|
131 |
font-size: 20px;
|
132 |
}
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
.gmw-dialog .ui-dialog-titlebar-close {
|
135 |
-
top:
|
136 |
-
right:
|
137 |
}
|
138 |
|
139 |
#gmw_promo_dialog ul {
|
@@ -148,9 +242,9 @@ option.promo {
|
|
148 |
}
|
149 |
|
150 |
.gmw-dialog input.error {
|
151 |
-
border-color: rgb(225, 77, 67);
|
152 |
-
outline-color: rgb(225, 77, 67);
|
153 |
-
-webkit-box-shadow: rgba(225, 77, 67, 0.8) 0px 0px 2px 0px;
|
154 |
}
|
155 |
|
156 |
.gmw-dialog .input_row {
|
@@ -175,7 +269,19 @@ option.promo {
|
|
175 |
color: #dd3d36;
|
176 |
padding: 8px 0 0 1px;
|
177 |
display: inline-block;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
|
|
|
|
|
|
|
|
|
179 |
}
|
180 |
|
181 |
#gmw_promo_dialog .center {
|
@@ -203,6 +309,74 @@ input:required:invalid {
|
|
203 |
border-color: #D54E21;
|
204 |
}
|
205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
/*
|
207 |
* jQuery UI Tabs 1.8.14
|
208 |
*
|
@@ -217,7 +391,7 @@ input:required:invalid {
|
|
217 |
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
218 |
.ui-tabs .ui-tabs-nav li a { text-decoration: none; outline: none; box-shadow: none; }
|
219 |
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; border-bottom: 1px solid white !important; }
|
220 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom:
|
221 |
.ui-tabs .ui-tabs-nav li.ui-tabs-active a { outline: none;}
|
222 |
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
223 |
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
@@ -229,6 +403,7 @@ input:required:invalid {
|
|
229 |
line-height: 32px;
|
230 |
color: #AAAAAA;
|
231 |
padding: 0 9px;
|
|
|
232 |
}
|
233 |
|
234 |
.ui-tabs ul.ui-tabs-nav li {
|
@@ -240,11 +415,27 @@ input:required:invalid {
|
|
240 |
display: inline-block;
|
241 |
font-size: 12px;
|
242 |
line-height: 16px;
|
243 |
-
margin: 0 0
|
244 |
text-decoration: none;
|
245 |
text-shadow: 0 1px 0 #FFFFFF;
|
246 |
}
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
/* fixes for customizer */
|
249 |
#customize-theme-controls .ui-tabs ul.ui-tabs-nav li {
|
250 |
margin: 0 0 -1px 2px;
|
@@ -262,22 +453,7 @@ input:required:invalid {
|
|
262 |
content: "\f230";
|
263 |
}
|
264 |
|
265 |
-
|
266 |
-
float: left;
|
267 |
-
border-bottom: 1px solid #e5e5e5;
|
268 |
-
padding-bottom: 0;
|
269 |
-
width: 100%;
|
270 |
-
margin-bottom: 20px !important
|
271 |
-
}
|
272 |
-
|
273 |
-
.ui-state-hover a, .ui-state-active a {
|
274 |
-
color: #464646 !important;
|
275 |
-
}
|
276 |
-
|
277 |
-
.ui-state-hover a {
|
278 |
-
color: #0073aa !important;
|
279 |
-
}
|
280 |
-
|
281 |
|
282 |
.gmw-content-box-alternate h3,
|
283 |
.gmw-content-box h3 {
|
@@ -293,8 +469,8 @@ ul.ui-tabs-nav{
|
|
293 |
padding: 0;
|
294 |
}
|
295 |
|
296 |
-
.gmw-content-box-alternate i,
|
297 |
-
.gmw-content-box i {
|
298 |
font-size: 32px;
|
299 |
padding: 15px 0px;
|
300 |
}
|
@@ -322,13 +498,18 @@ ul.ui-tabs-nav{
|
|
322 |
position: absolute;
|
323 |
left: 0;
|
324 |
top: 0;
|
|
|
|
|
|
|
|
|
|
|
325 |
}
|
326 |
|
327 |
.gmw-content-box ul li {
|
328 |
position: relative;
|
329 |
padding-left: 25px;
|
330 |
text-align: left;
|
331 |
-
padding-bottom:
|
332 |
color: #fff;
|
333 |
}
|
334 |
|
@@ -363,7 +544,7 @@ ul.ui-tabs-nav{
|
|
363 |
border: 2px solid #fff;
|
364 |
}
|
365 |
|
366 |
-
.
|
367 |
border: 2px solid #666;
|
368 |
box-shadow: none !important;
|
369 |
border-radius: 4px;
|
@@ -377,13 +558,32 @@ ul.ui-tabs-nav{
|
|
377 |
height: auto !important;
|
378 |
}
|
379 |
|
380 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
381 |
background: rgba(0,0,0,0.15);
|
382 |
}
|
383 |
|
384 |
.gmw-footer-intro {
|
385 |
display: block;
|
386 |
-
padding:
|
387 |
text-align: center;
|
388 |
margin: 0px !important;
|
389 |
font-size: 14px;
|
@@ -416,7 +616,7 @@ ul.ui-tabs-nav{
|
|
416 |
display: block;
|
417 |
border: 1px solid #fff;
|
418 |
border-radius:4px;
|
419 |
-
background: #0085ba;
|
420 |
color: #fff !important;
|
421 |
font-weight: bold;
|
422 |
text-transform: uppercase;
|
@@ -459,7 +659,7 @@ ul.ui-tabs-nav{
|
|
459 |
}
|
460 |
|
461 |
#gmw_dialog_subscribe .button.button-primary {
|
462 |
-
|
463 |
border: 1px solid #fff;
|
464 |
border-radius:4px;
|
465 |
background: #0085ba;
|
@@ -485,4 +685,136 @@ ul.ui-tabs-nav{
|
|
485 |
#gmw_dialog_subscribe .footer p,
|
486 |
#gmw_dialog_subscribe .footer ul li {
|
487 |
color: #fff;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
}
|
2 |
* Google Maps Widget
|
3 |
* (c) Web factory Ltd, 2012 - 2016
|
4 |
*/
|
5 |
+
|
6 |
@import url(http://fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light&lang=en);
|
7 |
|
8 |
+
.settings_page_gmw_options .form-table td {
|
9 |
+
padding: 15px 10px;
|
10 |
+
}
|
11 |
+
|
12 |
+
.wrap.gmw-options .ui-tabs {
|
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;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wrap.gmw-options .ui-tabs li.ui-tabs-active {
|
26 |
+
border-bottom: 3px solid #F1F1F1 !important;
|
27 |
+
background-color: #f1f1f1;
|
28 |
+
}
|
29 |
+
|
30 |
+
.wrap.gmw-options .ui-tabs li {
|
31 |
+
background-color: #dfdfdf;
|
32 |
+
}
|
33 |
+
|
34 |
+
.wrap.gmw-options .ui-tabs li a {
|
35 |
+
color: #908E8E;
|
36 |
+
font-weight: bold;
|
37 |
+
font-size: 13px;
|
38 |
+
padding: 0 20px;
|
39 |
+
}
|
40 |
+
|
41 |
+
.wrap.gmw-options .ui-tabs li.ui-state-hover a {
|
42 |
+
color: #404448 !important;
|
43 |
+
}
|
44 |
+
|
45 |
.gmw-label {
|
46 |
width: 115px;
|
47 |
display: inline-block;
|
48 |
}
|
49 |
|
50 |
+
.gmw-tabs p.colorpicker_section {
|
51 |
+
height: 30px;
|
52 |
+
}
|
53 |
+
|
54 |
+
.gmw-tabs p.colorpicker_section label {
|
55 |
+
padding-bottom: 18px;
|
56 |
+
}
|
57 |
+
|
58 |
+
.gmw-tabs p.colorpicker_section .wp-picker-container {
|
59 |
+
margin-top: 3px;
|
60 |
+
}
|
61 |
+
|
62 |
+
.gmw-tabs .gmw_lightbox_fullscreen_custom_section {
|
63 |
+
display: inline-block;
|
64 |
+
margin-top: 13px;
|
65 |
+
}
|
66 |
+
|
67 |
+
.gmw-tabs .select2-container--default .select2-selection--multiple {
|
68 |
+
border: 1px solid #ddd;
|
69 |
+
-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
|
70 |
+
box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
|
71 |
+
border-radius: 0;
|
72 |
+
}
|
73 |
+
|
74 |
+
.gmw-tabs .select2-container--default .select2-selection--multiple ul {
|
75 |
+
margin-bottom: -5px;
|
76 |
+
}
|
77 |
+
|
78 |
.gmw-label-wide {
|
79 |
width: 90%;
|
80 |
}
|
90 |
padding: 1px 6px;
|
91 |
}
|
92 |
|
93 |
+
.gmw-tabs select, .gmw-tabs input[type=text]:not(.wp-color-picker) {
|
94 |
min-width: 230px;
|
95 |
max-width: 331px;
|
96 |
width: 100%;
|
100 |
max-width: 331px;
|
101 |
}
|
102 |
|
103 |
+
option.gmw_promo {
|
104 |
+
color: #e14d43;
|
105 |
+
}
|
106 |
+
|
107 |
+
.gmw-api-key-error {
|
108 |
+
border: 1px solid #ff3f3f;
|
109 |
+
color: #ff3f3f;
|
110 |
+
padding: 10px 15px;
|
111 |
+
}
|
112 |
+
|
113 |
+
body.widgets-php .select2-container--default .select2-results__option[aria-disabled=true] {
|
114 |
color: #e14d43;
|
115 |
}
|
116 |
|
124 |
}
|
125 |
|
126 |
.gmw-dialog .ui-dialog-titlebar {
|
127 |
+
line-height: 70px;
|
128 |
+
height: 70px;
|
129 |
background-color: #303030;
|
130 |
text-align: center;
|
131 |
}
|
132 |
|
133 |
+
.gmw-map-dialog .ui-dialog-titlebar {
|
134 |
+
line-height: 70px;
|
135 |
+
height: 70px;
|
136 |
+
font-weight: bold;
|
137 |
+
padding-left: 26px;
|
138 |
+
}
|
139 |
+
|
140 |
+
.gmw-map-dialog .ui-dialog-titlebar-close {
|
141 |
+
top: 19px;
|
142 |
+
right: 18px;
|
143 |
+
}
|
144 |
+
|
145 |
.gmw-dialog .ui-dialog-titlebar span {
|
146 |
color: #fff;
|
147 |
}
|
169 |
.gmw-left-box,
|
170 |
.gmw-right-box {
|
171 |
position: relative;
|
172 |
+
min-height: 300px;
|
173 |
+
padding: 35px 50px 55px 50px !important;
|
174 |
width: 34.6%;
|
175 |
float: left;
|
176 |
text-align: center;
|
177 |
}
|
178 |
|
179 |
.gmw-left-box .gmw_goto_activation.button-primary,
|
180 |
+
.gmw-right-box .gmw_goto_activation.button-secondary {
|
181 |
position: absolute;
|
182 |
+
bottom: 40px;
|
183 |
left: 77px;
|
184 |
letter-spacing: 1px;
|
185 |
width: 170px;
|
219 |
font-size: 20px;
|
220 |
}
|
221 |
|
222 |
+
.gmw-dialog .ui-dialog-title img {
|
223 |
+
height: 30px;
|
224 |
+
padding-left: 35px;
|
225 |
+
padding-top: 20px;
|
226 |
+
}
|
227 |
+
|
228 |
.gmw-dialog .ui-dialog-titlebar-close {
|
229 |
+
top: 18px;
|
230 |
+
right: 18px;
|
231 |
}
|
232 |
|
233 |
#gmw_promo_dialog ul {
|
242 |
}
|
243 |
|
244 |
.gmw-dialog input.error {
|
245 |
+
border-color: rgb(225, 77, 67) !important;
|
246 |
+
outline-color: rgb(225, 77, 67) !important;
|
247 |
+
-webkit-box-shadow: rgba(225, 77, 67, 0.8) 0px 0px 2px 0px !important;
|
248 |
}
|
249 |
|
250 |
.gmw-dialog .input_row {
|
269 |
color: #dd3d36;
|
270 |
padding: 8px 0 0 1px;
|
271 |
display: inline-block;
|
272 |
+
font-weight: bold;
|
273 |
+
}
|
274 |
+
|
275 |
+
.gmw_spinner {
|
276 |
+
background: url(../images/spinner.gif) no-repeat center center;
|
277 |
+
-webkit-background-size: 20px 20px;
|
278 |
+
background-size: 20px 20px;
|
279 |
+
}
|
280 |
|
281 |
+
.gmw_disabled {
|
282 |
+
pointer-events: none;
|
283 |
+
opacity: .65;
|
284 |
+
filter: alpha(opacity=65);
|
285 |
}
|
286 |
|
287 |
#gmw_promo_dialog .center {
|
309 |
border-color: #D54E21;
|
310 |
}
|
311 |
|
312 |
+
.gmw-options p.description, .gmw-options span.description {
|
313 |
+
font-size: 14px;
|
314 |
+
color: rgb(102, 102, 102);
|
315 |
+
margin-left: 5px;
|
316 |
+
line-height: 180%;
|
317 |
+
}
|
318 |
+
|
319 |
+
.gmw-tabs .iris-picker {
|
320 |
+
position: absolute !important;
|
321 |
+
z-index: 99;
|
322 |
+
}
|
323 |
+
|
324 |
+
#gmw-thumb > p, #gmw-lightbox > p {
|
325 |
+
min-height: 30px;
|
326 |
+
}
|
327 |
+
|
328 |
+
#gmw_map_canvas {
|
329 |
+
width: 100%;
|
330 |
+
height: 400px;
|
331 |
+
}
|
332 |
+
|
333 |
+
#pins_container {
|
334 |
+
height: 400px;
|
335 |
+
overflow: auto;
|
336 |
+
text-align: center;
|
337 |
+
margin-left: -15px;
|
338 |
+
}
|
339 |
+
|
340 |
+
#pins_container>a {
|
341 |
+
padding: 10px;
|
342 |
+
margin: 5px 8px;
|
343 |
+
border: 1px solid #fff;
|
344 |
+
width: 80px;
|
345 |
+
height: 80px;
|
346 |
+
font-size: 12px;
|
347 |
+
word-break: break-all;
|
348 |
+
text-align: center;
|
349 |
+
display: inline-block;
|
350 |
+
text-decoration: none;
|
351 |
+
color: #111;
|
352 |
+
vertical-align: top;
|
353 |
+
}
|
354 |
+
|
355 |
+
#pins_container>a span {
|
356 |
+
display: block;
|
357 |
+
}
|
358 |
+
|
359 |
+
#pins_container a:hover {
|
360 |
+
border: 1px solid #e5e5e5;
|
361 |
+
}
|
362 |
+
|
363 |
+
#search_header input {
|
364 |
+
width: 45%;
|
365 |
+
padding: 17px;
|
366 |
+
font-size: 17px;
|
367 |
+
}
|
368 |
+
|
369 |
+
#search_header {
|
370 |
+
text-align: center;
|
371 |
+
padding: 10px;
|
372 |
+
}
|
373 |
+
|
374 |
+
.thumb_pin_img_library_preview {
|
375 |
+
height: 28px;
|
376 |
+
vertical-align: bottom;
|
377 |
+
margin-right: 10px;
|
378 |
+
}
|
379 |
+
|
380 |
/*
|
381 |
* jQuery UI Tabs 1.8.14
|
382 |
*
|
391 |
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
392 |
.ui-tabs .ui-tabs-nav li a { text-decoration: none; outline: none; box-shadow: none; }
|
393 |
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; border-bottom: 1px solid white !important; }
|
394 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; border-bottom: 3px solid white !important; }
|
395 |
.ui-tabs .ui-tabs-nav li.ui-tabs-active a { outline: none;}
|
396 |
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
397 |
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
403 |
line-height: 32px;
|
404 |
color: #AAAAAA;
|
405 |
padding: 0 9px;
|
406 |
+
display: block;
|
407 |
}
|
408 |
|
409 |
.ui-tabs ul.ui-tabs-nav li {
|
415 |
display: inline-block;
|
416 |
font-size: 12px;
|
417 |
line-height: 16px;
|
418 |
+
margin: 0 0 0 10px;
|
419 |
text-decoration: none;
|
420 |
text-shadow: 0 1px 0 #FFFFFF;
|
421 |
}
|
422 |
|
423 |
+
ul.ui-tabs-nav{
|
424 |
+
float: left;
|
425 |
+
border-bottom: 1px solid #e5e5e5;
|
426 |
+
padding-bottom: 0;
|
427 |
+
width: 100%;
|
428 |
+
margin-bottom: 20px !important
|
429 |
+
}
|
430 |
+
|
431 |
+
.ui-state-hover a, .ui-state-active a {
|
432 |
+
color: #464646 !important;
|
433 |
+
}
|
434 |
+
|
435 |
+
.ui-state-hover a {
|
436 |
+
color: #0073aa !important;
|
437 |
+
}
|
438 |
+
|
439 |
/* fixes for customizer */
|
440 |
#customize-theme-controls .ui-tabs ul.ui-tabs-nav li {
|
441 |
margin: 0 0 -1px 2px;
|
453 |
content: "\f230";
|
454 |
}
|
455 |
|
456 |
+
/* upgrade dialog */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
457 |
|
458 |
.gmw-content-box-alternate h3,
|
459 |
.gmw-content-box h3 {
|
469 |
padding: 0;
|
470 |
}
|
471 |
|
472 |
+
.gmw-content-box-alternate i.dashicons,
|
473 |
+
.gmw-content-box i.dashicons {
|
474 |
font-size: 32px;
|
475 |
padding: 15px 0px;
|
476 |
}
|
498 |
position: absolute;
|
499 |
left: 0;
|
500 |
top: 0;
|
501 |
+
font-weight: bold;
|
502 |
+
}
|
503 |
+
|
504 |
+
.gmw-content-box ul li.gmw-not-available:before {
|
505 |
+
content:'\f335';
|
506 |
}
|
507 |
|
508 |
.gmw-content-box ul li {
|
509 |
position: relative;
|
510 |
padding-left: 25px;
|
511 |
text-align: left;
|
512 |
+
padding-bottom: 3px;
|
513 |
color: #fff;
|
514 |
}
|
515 |
|
544 |
border: 2px solid #fff;
|
545 |
}
|
546 |
|
547 |
+
.gmw_goto_activation.button-secondary {
|
548 |
border: 2px solid #666;
|
549 |
box-shadow: none !important;
|
550 |
border-radius: 4px;
|
558 |
height: auto !important;
|
559 |
}
|
560 |
|
561 |
+
.gmw_goto_activation.button-secondary:hover {
|
562 |
+
background: rgba(0,0,0,0.15);
|
563 |
+
}
|
564 |
+
|
565 |
+
.gmw_goto_pro.button-secondary {
|
566 |
+
border: 2px solid #d54e21;
|
567 |
+
box-shadow: none !important;
|
568 |
+
border-radius: 4px;
|
569 |
+
background: #fff;
|
570 |
+
color: #d54e21;
|
571 |
+
font-weight: bold;
|
572 |
+
text-transform: uppercase;
|
573 |
+
font-size: 12px;
|
574 |
+
padding: 10px 20px;
|
575 |
+
text-shadow:none !important;
|
576 |
+
height: auto !important;
|
577 |
+
margin-top: 20px;
|
578 |
+
}
|
579 |
+
|
580 |
+
.gmw_goto_pro.button-secondary:hover {
|
581 |
background: rgba(0,0,0,0.15);
|
582 |
}
|
583 |
|
584 |
.gmw-footer-intro {
|
585 |
display: block;
|
586 |
+
padding: 25px 0px;
|
587 |
text-align: center;
|
588 |
margin: 0px !important;
|
589 |
font-size: 14px;
|
616 |
display: block;
|
617 |
border: 1px solid #fff;
|
618 |
border-radius:4px;
|
619 |
+
background-color: #0085ba;
|
620 |
color: #fff !important;
|
621 |
font-weight: bold;
|
622 |
text-transform: uppercase;
|
659 |
}
|
660 |
|
661 |
#gmw_dialog_subscribe .button.button-primary {
|
662 |
+
display: block;
|
663 |
border: 1px solid #fff;
|
664 |
border-radius:4px;
|
665 |
background: #0085ba;
|
685 |
#gmw_dialog_subscribe .footer p,
|
686 |
#gmw_dialog_subscribe .footer ul li {
|
687 |
color: #fff;
|
688 |
+
}
|
689 |
+
|
690 |
+
.gmw-pro-red {
|
691 |
+
color: #d54e21;
|
692 |
+
font-weight: bold;
|
693 |
+
}
|
694 |
+
|
695 |
+
.gmw_pointer h3 {
|
696 |
+
background-color: #f7f7f7;
|
697 |
+
border: 1px solid #dfdfdf;
|
698 |
+
border-bottom: none;
|
699 |
+
padding-left: 15px;
|
700 |
+
color: #797979;
|
701 |
+
}
|
702 |
+
.gmw_pointer h3:before, .gmw_pointer .wp-pointer-buttons {
|
703 |
+
display: none;
|
704 |
+
}
|
705 |
+
|
706 |
+
.gmw-pick-address {
|
707 |
+
display: inline-block;
|
708 |
+
}
|
709 |
+
|
710 |
+
.input-address-group {
|
711 |
+
width: 100%;
|
712 |
+
position: relative;
|
713 |
+
}
|
714 |
+
|
715 |
+
.input-address-group input {
|
716 |
+
position: relative;
|
717 |
+
z-index:100;
|
718 |
+
padding-right: 55px;
|
719 |
+
height: 29px;
|
720 |
+
max-width: 100% !important;
|
721 |
+
padding: 4px 10px;
|
722 |
+
margin: 0px !important;
|
723 |
+
}
|
724 |
+
|
725 |
+
.input-address-group .gmw-pick-address {
|
726 |
+
position: absolute;
|
727 |
+
top: 0;
|
728 |
+
right:-1px;
|
729 |
+
z-index: 9999;
|
730 |
+
padding: 4px 10px;
|
731 |
+
border-top-left-radius: 0;
|
732 |
+
border-bottom-left-radius: 0;
|
733 |
+
box-shadow: none;
|
734 |
+
height: 29px;
|
735 |
+
}
|
736 |
+
|
737 |
+
#gmw-lightbox .input-address-group {
|
738 |
+
display: inline-block;
|
739 |
+
max-width: 330px;
|
740 |
+
}
|
741 |
+
|
742 |
+
.gmw_dialog_current_coordinates {
|
743 |
+
display: inline-block;
|
744 |
+
vertical-align: top;
|
745 |
+
width: 49%;
|
746 |
+
max-width: 420px;
|
747 |
+
font-size: 14px;
|
748 |
+
}
|
749 |
+
|
750 |
+
.gmw_closest_matching_address {
|
751 |
+
display: inline-block;
|
752 |
+
vertical-align: top;
|
753 |
+
width: 49%;
|
754 |
+
max-width: 420px;
|
755 |
+
font-size: 14px;
|
756 |
+
}
|
757 |
+
|
758 |
+
.gmw_close_save_map_dialog {
|
759 |
+
margin-top: 5px !important;
|
760 |
+
}
|
761 |
+
|
762 |
+
#gmw_dialog_pro_features .list-left {
|
763 |
+
width: 65%;
|
764 |
+
display: inline-block;
|
765 |
+
vertical-align: top;
|
766 |
+
margin: 0;
|
767 |
+
padding: 0;
|
768 |
+
}
|
769 |
+
|
770 |
+
#gmw_dialog_pro_features .list-right {
|
771 |
+
width: 33%;
|
772 |
+
display: inline-block;
|
773 |
+
vertical-align: top;
|
774 |
+
margin: 0;
|
775 |
+
padding: 0;
|
776 |
+
}
|
777 |
+
|
778 |
+
#gmw_dialog_pro_features li {
|
779 |
+
margin-bottom: 20px;
|
780 |
+
list-style-position: inside;
|
781 |
+
text-indent: -1em;
|
782 |
+
padding-left: 1em;
|
783 |
+
}
|
784 |
+
|
785 |
+
#gmw_dialog_pro_features li:first-letter {
|
786 |
+
text-transform: capitalize
|
787 |
+
}
|
788 |
+
|
789 |
+
#gmw_dialog_pro_features .content {
|
790 |
+
padding: 0 35px 20px 55px;
|
791 |
+
}
|
792 |
+
|
793 |
+
#gmw_dialog_pro_features h4 {
|
794 |
+
text-align: center;
|
795 |
+
margin: 30px 0 35px 0;
|
796 |
+
font-size: 19px;
|
797 |
+
}
|
798 |
+
|
799 |
+
#gmw_dialog_pro_features .footer {
|
800 |
+
background-color: #f5f5f5;
|
801 |
+
}
|
802 |
+
|
803 |
+
.gmw_goto_intro.button-secondary {
|
804 |
+
border: 2px solid #d54e21;
|
805 |
+
box-shadow: none !important;
|
806 |
+
border-radius: 4px;
|
807 |
+
background: #f5f5f5;
|
808 |
+
color: #d54e21;
|
809 |
+
font-weight: bold;
|
810 |
+
text-transform: uppercase;
|
811 |
+
font-size: 12px;
|
812 |
+
padding: 10px 20px;
|
813 |
+
text-shadow:none !important;
|
814 |
+
height: auto !important;
|
815 |
+
margin: 0 0 10px 0;
|
816 |
+
}
|
817 |
+
|
818 |
+
.gmw_goto_intro.button-secondary:hover {
|
819 |
+
background: rgba(0,0,0,0.15);
|
820 |
}
|
css/gmw.css
CHANGED
@@ -7,10 +7,14 @@
|
|
7 |
padding: 5px;
|
8 |
font-style: italic;
|
9 |
}
|
|
|
10 |
.gmw-map iframe {
|
11 |
border: none;
|
12 |
margin: 0;
|
13 |
padding: 0;
|
|
|
|
|
|
|
14 |
}
|
15 |
|
16 |
.gmw-error {
|
@@ -31,220 +35,716 @@
|
|
31 |
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
|
32 |
#cboxTitle{margin:0;}
|
33 |
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
|
|
34 |
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
35 |
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
|
36 |
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
|
37 |
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
|
38 |
|
39 |
/* dark */
|
40 |
-
#cboxOverlay.gmw-dark{background:url(../images/overlay.png) repeat 0 0;}
|
41 |
#colorbox.gmw-dark{outline:0;}
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
.gmw-dark #cboxNext{position:absolute; bottom:0; left:27px; background:url(../images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
|
67 |
-
.gmw-dark #cboxNext:hover{background-position:-50px -25px;}
|
68 |
-
.gmw-dark #cboxClose{position:absolute; bottom:0; right:0; background:url(../images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
|
69 |
-
.gmw-dark #cboxClose:hover{background-position:-25px -25px;}
|
70 |
-
|
71 |
|
72 |
/* light */
|
73 |
#cboxOverlay.gmw-light {background:#fff;}
|
74 |
#colorbox.gmw-light {outline:0;}
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
.gmw-light .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
|
96 |
-
.gmw-light .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
|
97 |
-
.gmw-light .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
|
98 |
-
.gmw-light .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
|
99 |
-
|
100 |
|
101 |
/* blue */
|
102 |
#cboxOverlay.gmw-noimage-blue { background:#80a2ba; }
|
103 |
-
.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 {
|
104 |
-
|
105 |
-
}
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
}
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
.gmw-noimage-blue #cboxPrevious, .gmw-noimage-blue #cboxNext, .gmw-noimage-blue #cboxSlideshow, .gmw-noimage-blue #cboxClose {
|
141 |
-
border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize;
|
142 |
-
-webkit-border-radius:5px; border-radius:5px;
|
143 |
-
}
|
144 |
-
|
145 |
-
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
|
146 |
-
.gmw-noimage-blue #cboxPrevious:active, .gmw-noimage-blue #cboxNext:active, .gmw-noimage-blue #cboxSlideshow:active, .gmw-noimage-blue #cboxClose:active {outline:0;}
|
147 |
-
button:focus{ outline:1px dotted #000000; }
|
148 |
-
|
149 |
-
.gmw-noimage-blue #cboxSlideshow{position:absolute; bottom:0px; right:62px; }
|
150 |
-
.gmw-noimage-blue #cboxPrevious{position:absolute; bottom:0px; left:0; }
|
151 |
-
.gmw-noimage-blue #cboxNext{position:absolute; bottom:0px; left:76px; }
|
152 |
-
.gmw-noimage-blue #cboxClose{position:absolute; bottom:0; right:0; display:block; }
|
153 |
-
|
154 |
-
/* Button Styles */
|
155 |
-
.gmw-noimage-blue #cboxPrevious,
|
156 |
-
.gmw-noimage-blue #cboxNext,
|
157 |
-
.gmw-noimage-blue #cboxSlideshow,
|
158 |
-
.gmw-noimage-blue #cboxClose {
|
159 |
-
color:#D2D2D2;
|
160 |
-
font-size:12px; line-height:12px;
|
161 |
-
background-color: #0b2a44;
|
162 |
-
border-right: 1px solid #061c2f;
|
163 |
-
border-bottom: 1px solid #061c2f;
|
164 |
-
padding: 6px 10px;
|
165 |
-
transition: all 0.35s ease;
|
166 |
-
}
|
167 |
-
.gmw-noimage-blue #cboxPrevious:hover,
|
168 |
-
.gmw-noimage-blue #cboxNext:hover,
|
169 |
-
.gmw-noimage-blue #cboxSlideshow:hover,
|
170 |
-
.gmw-noimage-blue #cboxClose:hover {
|
171 |
-
background-color: #cccccc; color:#444444;
|
172 |
-
}
|
173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
-
/*
|
176 |
-
|
177 |
-
|
178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
|
181 |
-
/*
|
182 |
-
#cboxOverlay.gmw-
|
183 |
-
|
184 |
-
}
|
185 |
-
|
186 |
-
|
187 |
-
}
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
-
|
194 |
-
|
195 |
-
}
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
.gmw-noimage-rounded #cboxLoadingOverlay{background:#fff url(../images/loading.gif) no-repeat 50% 50%;}
|
215 |
-
|
216 |
-
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
|
217 |
-
.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; }
|
218 |
-
|
219 |
-
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
|
220 |
-
.gmw-noimage-rounded #cboxPrevious:active, .gmw-noimage-rounded #cboxNext:active, .gmw-noimage-rounded #cboxSlideshow:active, .gmw-noimage-rounded #cboxClose:active {outline:0;}
|
221 |
-
button:focus{ outline:1px dotted #ffffff; }
|
222 |
-
|
223 |
-
.gmw-noimage-rounded #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
|
224 |
-
.gmw-noimage-rounded #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
|
225 |
-
.gmw-noimage-rounded #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
|
226 |
-
.gmw-noimage-rounded #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
|
227 |
-
|
228 |
-
/* Button Styles */
|
229 |
-
.gmw-noimage-rounded #cboxPrevious,
|
230 |
-
.gmw-noimage-rounded #cboxNext,
|
231 |
-
.gmw-noimage-rounded #cboxSlideshow,
|
232 |
-
.gmw-noimage-rounded #cboxClose {
|
233 |
-
color: #777777;
|
234 |
-
font-size:10px; line-height:12px;
|
235 |
-
background-color: #dddddd;
|
236 |
-
border-right: 1px solid #ccc;
|
237 |
-
border-bottom: 1px solid #ccc;
|
238 |
-
padding: 4px 8px;
|
239 |
-
}
|
240 |
-
.gmw-noimage-rounded #cboxPrevious:hover,
|
241 |
-
.gmw-noimage-rounded #cboxNext:hover,
|
242 |
-
.gmw-noimage-rounded #cboxSlideshow:hover,
|
243 |
-
.gmw-noimage-rounded #cboxClose:hover {
|
244 |
-
background-color: #cccccc; color:#444444;
|
245 |
-
}
|
246 |
|
247 |
-
/*
|
248 |
-
|
249 |
-
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
padding: 5px;
|
8 |
font-style: italic;
|
9 |
}
|
10 |
+
|
11 |
.gmw-map iframe {
|
12 |
border: none;
|
13 |
margin: 0;
|
14 |
padding: 0;
|
15 |
+
z-index: 999;
|
16 |
+
position: relative;
|
17 |
+
background: url(../images/colorbox/loading.gif) no-repeat center center;
|
18 |
}
|
19 |
|
20 |
.gmw-error {
|
35 |
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
|
36 |
#cboxTitle{margin:0;}
|
37 |
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
38 |
+
#cboxLoadingOverlay{background: url(../images/colorbox/loading.gif) no-repeat 50% 50%;}
|
39 |
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
40 |
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
|
41 |
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
|
42 |
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
|
43 |
|
44 |
/* dark */
|
45 |
+
#cboxOverlay.gmw-dark{background:url(../images/colorbox/dark/overlay.png) repeat 0 0;}
|
46 |
#colorbox.gmw-dark{outline:0;}
|
47 |
+
.gmw-dark #cboxTopLeft{width:21px; height:21px; background:url(../images/colorbox/dark/controls.png) no-repeat -101px 0;}
|
48 |
+
.gmw-dark #cboxTopRight{width:21px; height:21px; background:url(../images/colorbox/dark/controls.png) no-repeat -130px 0;}
|
49 |
+
.gmw-dark #cboxBottomLeft{width:21px; height:21px; background:url(../images/colorbox/dark/controls.png) no-repeat -101px -29px;}
|
50 |
+
.gmw-dark #cboxBottomRight{width:21px; height:21px; background:url(../images/colorbox/dark/controls.png) no-repeat -130px -29px;}
|
51 |
+
.gmw-dark #cboxMiddleLeft{width:21px; background:url(../images/colorbox/dark/controls.png) left top repeat-y;}
|
52 |
+
.gmw-dark #cboxMiddleRight{width:21px; background:url(../images/colorbox/dark/controls.png) right top repeat-y;}
|
53 |
+
.gmw-dark #cboxTopCenter{height:21px; background:url(../images/colorbox/dark/border.png) 0 0 repeat-x;}
|
54 |
+
.gmw-dark #cboxBottomCenter{height:21px; background:url(../images/colorbox/dark/border.png) 0 -29px repeat-x;}
|
55 |
+
.gmw-dark #cboxContent{background:#fff; overflow:hidden;}
|
56 |
+
.gmw-dark .cboxIframe{background:#fff;}
|
57 |
+
.gmw-dark #cboxError{padding:50px; border:1px solid #ccc;}
|
58 |
+
.gmw-dark #cboxLoadedContent{margin-bottom:28px;}
|
59 |
+
.gmw-dark #cboxTitle{position:absolute; bottom:-1px; left:0; text-align:center; width:100%; color:#949494; }
|
60 |
+
.gmw-dark #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
|
61 |
+
.gmw-dark #cboxLoadingOverlay{background:url(../images/colorbox/dark/loading_background.png) no-repeat center center;}
|
62 |
+
.gmw-dark #cboxPrevious, .gmw-dark #cboxNext, .gmw-dark #cboxSlideshow, .gmw-dark #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
|
63 |
+
.gmw-dark #cboxPrevious:active, .gmw-dark #cboxNext:active, .gmw-dark #cboxSlideshow:active, .gmw-dark #cboxClose:active {outline:0;}
|
64 |
+
.gmw-dark #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
|
65 |
+
.gmw-dark #cboxPrevious{position:absolute; bottom:0; left:0; background:url(../images/colorbox/dark/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
|
66 |
+
.gmw-dark #cboxPrevious:hover{background-position:-75px -25px;}
|
67 |
+
.gmw-dark #cboxNext{position:absolute; bottom:0; left:27px; background:url(../images/colorbox/dark/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
|
68 |
+
.gmw-dark #cboxNext:hover{background-position:-50px -25px;}
|
69 |
+
.gmw-dark #cboxClose{position:absolute; bottom:0; right:0; background:url(../images/colorbox/dark/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
|
70 |
+
.gmw-dark #cboxClose:hover{background-position:-25px -25px;}
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
/* light */
|
73 |
#cboxOverlay.gmw-light {background:#fff;}
|
74 |
#colorbox.gmw-light {outline:0;}
|
75 |
+
.gmw-light #cboxContent{margin-top:32px; overflow:visible; background:#000;}
|
76 |
+
.gmw-light .cboxIframe{background:#fff;}
|
77 |
+
.gmw-light #cboxError{padding:50px; border:1px solid #ccc;}
|
78 |
+
.gmw-light #cboxLoadedContent{background:#fff; padding:1px; border:1px solid #777;}
|
79 |
+
.gmw-light #cboxLoadingOverlay{background:#000;}
|
80 |
+
.gmw-light #cboxTitle{position:absolute; top:-33px; left:0; color:#000;}
|
81 |
+
.gmw-light #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
|
82 |
+
.gmw-light #cboxPrevious, .gmw-light #cboxNext, .gmw-light #cboxSlideshow, .gmw-light #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:21px; height:23px; position:absolute; top:-26px; background:url(../images/colorbox/dark/controls.png) no-repeat 0 0;}
|
83 |
+
.gmw-light #cboxPrevious:active, .gmw-light #cboxNext:active, .gmw-light #cboxSlideshow:active, .gmw-light #cboxClose:active {outline:0;}
|
84 |
+
.gmw-light #cboxPrevious{background-position:0px 0px; right:44px;}
|
85 |
+
.gmw-light #cboxPrevious:hover{background-position:0px -25px;}
|
86 |
+
.gmw-light #cboxNext{background-position:-25px 0px; right:22px;}
|
87 |
+
.gmw-light #cboxNext:hover{background-position:-25px -25px;}
|
88 |
+
.gmw-light #cboxClose{background-position:-27px 0px;top:1px;right: 2px;}
|
89 |
+
.gmw-light #cboxClose:hover{background-position:-27px -25px;}
|
90 |
+
.gmw-light .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off .gmw-light #cboxPrevious{right:66px;}
|
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:0px; 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:-25px; 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:-22px; 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:-20px; 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:26px; 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:left; width:100%; color:#666; height:76px; 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:50px; 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; }
|
css/select2.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
|
gmw-export-import.php
ADDED
@@ -0,0 +1,217 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
@@ -6,18 +6,20 @@
|
|
6 |
*/
|
7 |
|
8 |
|
9 |
-
// include only file
|
10 |
if (!defined('ABSPATH')) {
|
11 |
-
die
|
12 |
}
|
13 |
|
14 |
|
15 |
class GMW_tracking {
|
|
|
|
|
16 |
// set things up
|
17 |
static function init() {
|
18 |
self::check_opt_in_out();
|
19 |
|
20 |
-
add_action(
|
21 |
GMW_tracking::setup_cron();
|
22 |
} // init
|
23 |
|
@@ -37,17 +39,17 @@ class GMW_tracking {
|
|
37 |
|
38 |
// clear cron scheadule
|
39 |
static function clear_cron() {
|
40 |
-
wp_clear_scheduled_hook(
|
41 |
} // clear_cron
|
42 |
|
43 |
|
44 |
// setup cron job when user allows tracking
|
45 |
static function setup_cron() {
|
46 |
-
$options =
|
47 |
|
48 |
if (isset($options['allow_tracking']) && $options['allow_tracking'] === true) {
|
49 |
-
if (!wp_next_scheduled(
|
50 |
-
wp_schedule_event(
|
51 |
}
|
52 |
} else {
|
53 |
self::clear_cron();
|
@@ -57,17 +59,13 @@ class GMW_tracking {
|
|
57 |
|
58 |
// save user's choice for (not) allowing tracking
|
59 |
static function check_opt_in_out() {
|
60 |
-
$options = get_option(GMW_OPTIONS);
|
61 |
-
|
62 |
if (isset($_GET['gmw_tracking']) && $_GET['gmw_tracking'] == 'opt_in') {
|
63 |
-
|
64 |
-
update_option(GMW_OPTIONS, $options);
|
65 |
self::send_data(true);
|
66 |
wp_redirect(esc_url_raw(remove_query_arg('gmw_tracking')));
|
67 |
die();
|
68 |
-
}
|
69 |
-
|
70 |
-
update_option(GMW_OPTIONS, $options);
|
71 |
wp_redirect(esc_url_raw(remove_query_arg('gmw_tracking')));
|
72 |
die();
|
73 |
}
|
@@ -80,7 +78,7 @@ class GMW_tracking {
|
|
80 |
$optout_url = add_query_arg('gmw_tracking', 'opt_out');
|
81 |
|
82 |
echo '<div class="updated"><p>';
|
83 |
-
echo __('Please help us improve <strong>Google Maps Widget</strong> by allowing
|
84 |
echo '<br /><a href="' . esc_url($optin_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Allow', 'google-maps-widget') . '</a>';
|
85 |
echo ' <a href="' . esc_url($optout_url) . '" class="">' . __('Do not allow tracking', 'google-maps-widget') . '</a>';
|
86 |
echo '</p></div>';
|
@@ -89,7 +87,7 @@ class GMW_tracking {
|
|
89 |
|
90 |
// send usage data once a week to our server
|
91 |
static function send_data($force = false) {
|
92 |
-
$options =
|
93 |
|
94 |
if ($force == false && (!isset($options['allow_tracking']) || $options['allow_tracking'] !== true)) {
|
95 |
return;
|
@@ -108,13 +106,13 @@ class GMW_tracking {
|
|
108 |
'user-agent' => 'GMW/' . GMW::$version));
|
109 |
|
110 |
$options['last_tracking'] = current_time('timestamp');
|
111 |
-
update_option(
|
112 |
} // send_data
|
113 |
|
114 |
|
115 |
// get and prepare data that will be sent out
|
116 |
static function prepare_data() {
|
117 |
-
$options =
|
118 |
$data = array();
|
119 |
$current_user = wp_get_current_user();
|
120 |
|
@@ -132,15 +130,9 @@ class GMW_tracking {
|
|
132 |
$data['ioncube'] = extension_loaded('IonCube Loader');
|
133 |
$data['gmw_count'] = self::count_active_widgets();
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
$data['theme_version'] = $theme['Version'];
|
139 |
-
} else {
|
140 |
-
$theme = wp_get_theme();
|
141 |
-
$data['theme_name'] = $theme->Name;
|
142 |
-
$data['theme_version'] = $theme->Version;
|
143 |
-
}
|
144 |
|
145 |
// get current plugin information
|
146 |
if (!function_exists('get_plugins')) {
|
6 |
*/
|
7 |
|
8 |
|
9 |
+
// this is an include only WP file
|
10 |
if (!defined('ABSPATH')) {
|
11 |
+
die;
|
12 |
}
|
13 |
|
14 |
|
15 |
class GMW_tracking {
|
16 |
+
static $cron_biweekly = 'gmw_biweekly_cron';
|
17 |
+
|
18 |
// set things up
|
19 |
static function init() {
|
20 |
self::check_opt_in_out();
|
21 |
|
22 |
+
add_action(self::$cron_biweekly, array(__CLASS__, 'send_data'));
|
23 |
GMW_tracking::setup_cron();
|
24 |
} // init
|
25 |
|
39 |
|
40 |
// clear cron scheadule
|
41 |
static function clear_cron() {
|
42 |
+
wp_clear_scheduled_hook(self::$cron_biweekly);
|
43 |
} // clear_cron
|
44 |
|
45 |
|
46 |
// setup cron job when user allows tracking
|
47 |
static function setup_cron() {
|
48 |
+
$options = GMW::get_options();
|
49 |
|
50 |
if (isset($options['allow_tracking']) && $options['allow_tracking'] === true) {
|
51 |
+
if (!wp_next_scheduled(self::$cron_biweekly)) {
|
52 |
+
wp_schedule_event(current_time('timestamp') + 60, 'gmw_biweekly', self::$cron_biweekly);
|
53 |
}
|
54 |
} else {
|
55 |
self::clear_cron();
|
59 |
|
60 |
// save user's choice for (not) allowing tracking
|
61 |
static function check_opt_in_out() {
|
|
|
|
|
62 |
if (isset($_GET['gmw_tracking']) && $_GET['gmw_tracking'] == 'opt_in') {
|
63 |
+
GMW::set_options(array('allow_tracking' => true));
|
|
|
64 |
self::send_data(true);
|
65 |
wp_redirect(esc_url_raw(remove_query_arg('gmw_tracking')));
|
66 |
die();
|
67 |
+
} elseif (isset($_GET['gmw_tracking']) && $_GET['gmw_tracking'] == 'opt_out') {
|
68 |
+
GMW::set_options(array('allow_tracking' => false));
|
|
|
69 |
wp_redirect(esc_url_raw(remove_query_arg('gmw_tracking')));
|
70 |
die();
|
71 |
}
|
78 |
$optout_url = add_query_arg('gmw_tracking', 'opt_out');
|
79 |
|
80 |
echo '<div class="updated"><p>';
|
81 |
+
echo __('Please help us improve <strong>Google Maps Widget</strong> by allowing tracking of anonymous usage data. Absolutely <strong>no sensitive data is tracked</strong> (<a href="http://www.googlemapswidget.com/plugin-tracking-info/" target="_blank">complete disclosure & details of our tracking policy</a>).', 'google-maps-widget');
|
82 |
echo '<br /><a href="' . esc_url($optin_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Allow', 'google-maps-widget') . '</a>';
|
83 |
echo ' <a href="' . esc_url($optout_url) . '" class="">' . __('Do not allow tracking', 'google-maps-widget') . '</a>';
|
84 |
echo '</p></div>';
|
87 |
|
88 |
// send usage data once a week to our server
|
89 |
static function send_data($force = false) {
|
90 |
+
$options = GMW::get_options();
|
91 |
|
92 |
if ($force == false && (!isset($options['allow_tracking']) || $options['allow_tracking'] !== true)) {
|
93 |
return;
|
106 |
'user-agent' => 'GMW/' . GMW::$version));
|
107 |
|
108 |
$options['last_tracking'] = current_time('timestamp');
|
109 |
+
update_option(GMW::$options, $options);
|
110 |
} // send_data
|
111 |
|
112 |
|
113 |
// get and prepare data that will be sent out
|
114 |
static function prepare_data() {
|
115 |
+
$options = GMW::get_options();
|
116 |
$data = array();
|
117 |
$current_user = wp_get_current_user();
|
118 |
|
130 |
$data['ioncube'] = extension_loaded('IonCube Loader');
|
131 |
$data['gmw_count'] = self::count_active_widgets();
|
132 |
|
133 |
+
$theme = wp_get_theme();
|
134 |
+
$data['theme_name'] = $theme->Name;
|
135 |
+
$data['theme_version'] = $theme->Version;
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
|
137 |
// get current plugin information
|
138 |
if (!function_exists('get_plugins')) {
|
gmw-widget.php
CHANGED
@@ -1,280 +1,568 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
* Google Maps Widget
|
4 |
-
* Widget definition, admin GUI and
|
5 |
* (c) Web factory Ltd, 2012 - 2016
|
6 |
*/
|
7 |
|
8 |
|
9 |
-
// this is an include only file
|
10 |
if (!defined('ABSPATH')) {
|
11 |
-
die
|
12 |
}
|
13 |
|
14 |
|
15 |
// main widget class, extends WP widget interface/class
|
16 |
class GoogleMapsWidget extends WP_Widget {
|
17 |
static $widgets = array();
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
function __construct() {
|
|
|
|
|
|
|
|
|
|
|
22 |
$widget_ops = array('classname' => 'google-maps-widget', 'description' => __('Displays a map image thumbnail with a larger map available in a lightbox.', 'google-maps-widget'));
|
23 |
$control_ops = array('width' => 450, 'height' => 350);
|
24 |
-
parent::__construct('GoogleMapsWidget',
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
|
28 |
// widget edit form HTML
|
29 |
function form($instance) {
|
30 |
-
$
|
31 |
-
|
32 |
-
'address' => __('New York, USA', 'google-maps-widget'),
|
33 |
-
'thumb_pin_color' => 'red',
|
34 |
-
'thumb_pin_type' => 'predefined',
|
35 |
-
'thumb_pin_size' => 'default',
|
36 |
-
'thumb_pin_img' => '',
|
37 |
-
'thumb_width' => '250',
|
38 |
-
'thumb_height' => '250',
|
39 |
-
'thumb_type' => 'roadmap',
|
40 |
-
'thumb_zoom' => '13',
|
41 |
-
'thumb_header' => '',
|
42 |
-
'thumb_footer' => 'Powered by Google Maps Widget',
|
43 |
-
'thumb_color_scheme' => '',
|
44 |
-
'thumb_link_type' => 'lightbox',
|
45 |
-
'thumb_link' => '',
|
46 |
-
'lightbox_width' => '550',
|
47 |
-
'lightbox_height' => '550',
|
48 |
-
'lightbox_type' => 'roadmap',
|
49 |
-
'lightbox_zoom' => '14',
|
50 |
-
'lightbox_bubble' => '1',
|
51 |
-
'lightbox_skin' => 'light',
|
52 |
-
'lightbox_title' => '1',
|
53 |
-
'lightbox_header' => '',
|
54 |
-
'lightbox_footer' => ''));
|
55 |
-
|
56 |
extract($instance, EXTR_SKIP);
|
57 |
|
58 |
-
|
59 |
-
if(!$thumb_pin_type) {
|
60 |
-
$thumb_pin_type = 'predefined';
|
61 |
-
}
|
62 |
-
if(!$thumb_link_type) {
|
63 |
-
$thumb_link_type = 'lightbox';
|
64 |
-
}
|
65 |
-
if(!$lightbox_skin) {
|
66 |
-
$lightbox_skin = 'light';
|
67 |
-
}
|
68 |
-
|
69 |
-
$map_types_thumb = array(array('val' => 'roadmap', 'label' => __('Road (default)', 'google-maps-widget')),
|
70 |
array('val' => 'satellite', 'label' => __('Satellite', 'google-maps-widget')),
|
71 |
array('val' => 'terrain', 'label' => __('Terrain', 'google-maps-widget')),
|
72 |
array('val' => 'hybrid', 'label' => __('Hybrid', 'google-maps-widget')));
|
73 |
|
74 |
-
$
|
75 |
-
array('val' => '
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
$
|
80 |
-
array('val' => 'brown', 'label' => __('Brown', 'google-maps-widget')),
|
81 |
-
array('val' => 'green', 'label' => __('Green', 'google-maps-widget')),
|
82 |
-
array('val' => 'purple', 'label' => __('Purple', 'google-maps-widget')),
|
83 |
-
array('val' => 'yellow', 'label' => __('Yellow', 'google-maps-widget')),
|
84 |
-
array('val' => 'blue', 'label' => __('Blue', 'google-maps-widget')),
|
85 |
-
array('val' => 'gray', 'label' => __('Gray', 'google-maps-widget')),
|
86 |
-
array('val' => 'orange', 'label' => __('Orange', 'google-maps-widget')),
|
87 |
-
array('val' => 'red', 'label' => __('Red (default)', 'google-maps-widget')),
|
88 |
-
array('val' => 'white', 'label' => __('White', 'google-maps-widget')));
|
89 |
-
|
90 |
-
$pin_sizes = array(array('val' => 'tiny', 'label' => __('Tiny', 'google-maps-widget')),
|
91 |
array('val' => 'small', 'label' => __('Small', 'google-maps-widget')),
|
92 |
array('val' => 'mid', 'label' => __('Medium', 'google-maps-widget')),
|
93 |
array('val' => 'default', 'label' => __('Large (default)', 'google-maps-widget')));
|
94 |
|
95 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
for ($tmp = 1; $tmp <= 21; $tmp++) {
|
97 |
-
|
|
|
|
|
|
|
|
|
98 |
}
|
|
|
|
|
|
|
99 |
|
100 |
$lightbox_skins = array(array('val' => 'light', 'label' => __('Light (default)', 'google-maps-widget')),
|
101 |
array('val' => 'dark', 'label' => __('Dark', 'google-maps-widget')));
|
102 |
|
103 |
-
$
|
104 |
-
|
105 |
-
|
106 |
-
$lightbox_titles = array(array('val' => '0', 'label' => __('Do not show map title on lightbox', 'google-maps-widget')),
|
107 |
-
array('val' => '1', 'label' => __('Show map title on lightbox (default)', 'google-maps-widget')));
|
108 |
|
109 |
-
$
|
110 |
-
array('val' => 'custom', 'label' => __('Custom', 'google-maps-widget')));
|
111 |
-
|
112 |
-
$thumb_link_types = array(array('val' => 'lightbox', 'label' => __('Lightbox (default)', 'google-maps-widget')),
|
113 |
array('val' => 'custom', 'label' => __('Custom URL', 'google-maps-widget')),
|
114 |
array('val' => 'nolink', 'label' => __('Disable link', 'google-maps-widget')));
|
115 |
|
116 |
-
$thumb_color_schemes = array(array('val' => 'default', 'label' => __('Default', '
|
117 |
-
array('val' => 'new', 'label' => __('Refreshed by Google', '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
|
119 |
if (GMW::is_activated()) {
|
120 |
array_push($thumb_color_schemes, array('val' => 'apple', 'label' => __('Apple', 'google-maps-widget')),
|
|
|
|
|
|
|
121 |
array('val' => 'gray', 'label' => __('Gray', 'google-maps-widget')),
|
|
|
|
|
|
|
|
|
|
|
122 |
array('val' => 'paper', 'label' => __('Paper', 'google-maps-widget')));
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
echo '<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
echo '<div id="gmw-thumb">';
|
132 |
-
|
133 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_width') . '">' . __('Map Size', 'google-maps-widget') . ':</label>';
|
134 |
-
echo '<input min="50" max="640" step="1" class="small-text" id="' . $this->get_field_id('thumb_width') . '" name="' . $this->get_field_name('thumb_width') . '" type="number" value="' . esc_attr($thumb_width) . '" required="required"
|
135 |
-
echo '<input min="50" max="640" step="1" class="small-text" id="' . $this->get_field_id('thumb_height') . '" name="' . $this->get_field_name('thumb_height') . '" type="number" value="' . esc_attr($thumb_height) . '" required="required"
|
136 |
echo ' px</p>';
|
137 |
|
138 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
|
139 |
-
echo '<select id="' . $this->get_field_id('thumb_type') . '" name="' . $this->get_field_name('thumb_type') . '">';
|
140 |
-
GMW::create_select_options($
|
|
|
|
|
|
|
|
|
|
|
141 |
echo '</select></p>';
|
142 |
|
|
|
|
|
|
|
|
|
|
|
143 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_type') . '">' . __('Pin Type', 'google-maps-widget') . ':</label>';
|
144 |
-
echo '<select
|
|
|
|
|
145 |
GMW::create_select_options($thumb_pin_types, $thumb_pin_type);
|
146 |
echo '</select></p>';
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
-
echo '<p class="
|
154 |
-
echo '<select id="' . $this->get_field_id('thumb_pin_size') . '" name="' . $this->get_field_name('thumb_pin_size') . '">';
|
155 |
-
GMW::create_select_options($
|
156 |
echo '</select></p>';
|
157 |
|
158 |
-
echo '<p class="
|
159 |
-
echo '<
|
160 |
-
|
161 |
-
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_zoom') . '">' . __('Zoom Level', 'google-maps-widget') . ':</label>';
|
162 |
-
echo '<select id="' . $this->get_field_id('thumb_zoom') . '" name="' . $this->get_field_name('thumb_zoom') . '">';
|
163 |
-
GMW::create_select_options($zoom_levels, $thumb_zoom);
|
164 |
echo '</select></p>';
|
165 |
|
|
|
|
|
|
|
|
|
166 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_link_type') . '">' . __('Link To', 'google-maps-widget') . ':</label>';
|
167 |
-
echo '<select class="gmw_thumb_link_type" id="' . $this->get_field_id('thumb_link_type') . '" name="' . $this->get_field_name('thumb_link_type') . '">';
|
168 |
GMW::create_select_options($thumb_link_types, $thumb_link_type);
|
169 |
echo '</select></p>';
|
170 |
|
171 |
echo '<p class="gmw_thumb_link_section"><label class="gmw-label" for="' . $this->get_field_id('thumb_link') . '">' . __('Custom URL', 'google-maps-widget') . ':</label>';
|
172 |
-
echo '<input
|
|
|
173 |
|
174 |
-
echo '<p><label class="gmw-label" for="' . $this->get_field_id('
|
175 |
-
echo '<select
|
176 |
-
GMW::create_select_options($
|
177 |
-
if (!GMW::is_activated()) {
|
178 |
-
echo '<option class="promo" value="-1">' . __('Add more schemes for FREE', 'google-maps-widget') . '</option>';
|
179 |
-
}
|
180 |
echo '</select></p>';
|
181 |
|
182 |
-
echo '<p><label for="' . $this->get_field_id('
|
183 |
-
echo '<
|
|
|
|
|
184 |
|
|
|
|
|
|
|
|
|
185 |
echo '<p><label for="' . $this->get_field_id('thumb_footer') . '">' . __('Text Below Map', 'google-maps-widget') . ':</label>';
|
186 |
-
echo '<textarea
|
|
|
|
|
|
|
|
|
187 |
|
188 |
-
|
189 |
echo '<div id="gmw-lightbox">';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
-
echo '<p
|
192 |
-
echo '<
|
193 |
-
echo '<
|
194 |
-
echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
|
196 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
|
197 |
-
echo '<select id="' . $this->get_field_id('lightbox_type') . '" name="' . $this->get_field_name('lightbox_type') . '">';
|
198 |
-
GMW::create_select_options($
|
199 |
echo '</select></p>';
|
200 |
|
201 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_zoom') . '">' . __('Zoom Level', 'google-maps-widget') . ':</label>';
|
202 |
-
echo '<select id="' . $this->get_field_id('lightbox_zoom') . '" name="' . $this->get_field_name('lightbox_zoom') . '">';
|
203 |
-
GMW::create_select_options($
|
204 |
echo '</select></p>';
|
205 |
|
206 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_skin') . '">' . __('Lightbox Skin', 'google-maps-widget') . ':</label>';
|
207 |
-
echo '<select class="gmw_lightbox_skin" id="' . $this->get_field_id('lightbox_skin') . '" name="' . $this->get_field_name('lightbox_skin') . '">';
|
208 |
GMW::create_select_options($lightbox_skins, $lightbox_skin);
|
209 |
-
if (!GMW::is_activated()) {
|
210 |
-
echo '<option class="promo" value="-1">' . __('Add more skins for FREE', 'google-maps-widget') . '</option>';
|
211 |
-
}
|
212 |
echo '</select></p>';
|
213 |
|
214 |
-
echo '<p><label class="gmw-label" for="' . $this->get_field_id('
|
215 |
-
echo '<select
|
216 |
-
|
|
|
217 |
echo '</select></p>';
|
218 |
|
219 |
-
echo '<p><label class="gmw-label" for="' . $this->get_field_id('
|
220 |
-
echo '<select id="' . $this->get_field_id('
|
221 |
-
GMW::create_select_options($
|
222 |
echo '</select></p>';
|
223 |
|
224 |
echo '<p><label for="' . $this->get_field_id('lightbox_header') . '">' . __('Header Text', 'google-maps-widget') . ':</label>';
|
225 |
-
echo '<textarea
|
|
|
226 |
|
227 |
echo '<p><label for="' . $this->get_field_id('lightbox_footer') . '">' . __('Footer Text', 'google-maps-widget') . ':</label>';
|
228 |
-
echo '<textarea
|
|
|
229 |
|
230 |
-
echo '</div>';
|
|
|
231 |
|
232 |
// shortcode tab
|
233 |
echo '<div id="gmw-shortcode">';
|
234 |
if (GMW::is_activated()) {
|
235 |
$id = str_replace('googlemapswidget-', '', $this->id);
|
236 |
|
237 |
-
if (
|
238 |
echo '<p>' . __('Please save the widget so that the shortcode can be generated.', 'google-maps-widget') . '</p>';
|
239 |
} else {
|
240 |
-
echo '<p><code>[
|
241 |
-
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>
|
242 |
}
|
243 |
} else {
|
244 |
-
echo '<p>Shortcode support is
|
245 |
}
|
246 |
-
echo '</div>';
|
|
|
247 |
|
|
|
248 |
echo '<div id="gmw-info">';
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
echo '
|
253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
-
echo '</p>';
|
256 |
echo '<h4>' . __('Rate the plugin & spread the word', 'google-maps-widget') . '</h4>';
|
257 |
-
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&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>';
|
258 |
-
echo '</div>';
|
|
|
259 |
|
260 |
echo '</div><p></p>'; // tabs
|
261 |
|
262 |
-
if (!
|
263 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
}
|
265 |
} // form
|
266 |
|
267 |
|
268 |
// update/save widget options
|
269 |
function update($new_instance, $old_instance) {
|
270 |
-
$instance =
|
271 |
|
272 |
$instance['title'] = $new_instance['title'];
|
273 |
-
$instance['address'] = $new_instance['address'];
|
|
|
274 |
$instance['thumb_pin_type'] = $new_instance['thumb_pin_type'];
|
275 |
-
$instance['thumb_pin_color'] = $new_instance['thumb_pin_color'];
|
276 |
$instance['thumb_pin_size'] = $new_instance['thumb_pin_size'];
|
|
|
277 |
$instance['thumb_pin_img'] = trim($new_instance['thumb_pin_img']);
|
|
|
278 |
$instance['thumb_width'] = min(640, max(50, (int) $new_instance['thumb_width']));
|
279 |
$instance['thumb_height'] = min(640, max(50, (int) $new_instance['thumb_height']));
|
280 |
$instance['thumb_zoom'] = $new_instance['thumb_zoom'];
|
@@ -284,127 +572,170 @@ class GoogleMapsWidget extends WP_Widget {
|
|
284 |
$instance['thumb_header'] = trim($new_instance['thumb_header']);
|
285 |
$instance['thumb_footer'] = trim($new_instance['thumb_footer']);
|
286 |
$instance['thumb_color_scheme'] = $new_instance['thumb_color_scheme'];
|
|
|
|
|
|
|
|
|
287 |
$instance['lightbox_width'] = min(2000, max(50, (int) $new_instance['lightbox_width']));
|
288 |
$instance['lightbox_height'] = min(2000, max(50, (int) $new_instance['lightbox_height']));
|
289 |
-
$instance['
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
$instance['lightbox_zoom'] = $new_instance['lightbox_zoom'];
|
291 |
-
$instance['
|
292 |
-
$instance['lightbox_title'] = $new_instance['lightbox_title'];
|
293 |
$instance['lightbox_header'] = trim($new_instance['lightbox_header']);
|
294 |
$instance['lightbox_footer'] = trim($new_instance['lightbox_footer']);
|
295 |
$instance['lightbox_skin'] = $new_instance['lightbox_skin'];
|
|
|
|
|
296 |
$instance['core_ver'] = GMW::$version;
|
297 |
|
298 |
return $instance;
|
299 |
} // update
|
300 |
|
301 |
|
302 |
-
//
|
303 |
-
function widget($
|
304 |
-
$out = $
|
|
|
305 |
|
306 |
-
$
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
|
311 |
-
|
|
|
|
|
312 |
|
313 |
-
|
314 |
-
if (
|
315 |
-
$
|
316 |
-
if ($coordinates) {
|
317 |
-
$ll = $coordinates['lat'] . ',' . $coordinates['lng'];
|
318 |
-
}
|
319 |
}
|
320 |
-
|
321 |
-
$
|
322 |
-
|
323 |
-
|
|
|
|
|
324 |
}
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
329 |
}
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
'zoom' => $instance['lightbox_zoom'],
|
338 |
-
'type' => $instance['lightbox_type'],
|
339 |
-
'skin' => $instance['lightbox_skin'],
|
340 |
-
'bubble' => $instance['lightbox_bubble'],
|
341 |
-
'll' => $ll,
|
342 |
-
'id' => $widget_id);
|
343 |
-
|
344 |
-
$out .= $before_widget;
|
345 |
-
|
346 |
-
if (!isset($instance['thumb_pin_type']) || empty($instance['thumb_pin_type'])) {
|
347 |
-
$instance['thumb_pin_type'] = 'predefined';
|
348 |
}
|
349 |
|
350 |
-
|
351 |
-
|
352 |
-
}
|
353 |
|
354 |
-
|
|
|
355 |
if (!empty($title)) {
|
356 |
-
$out .= $before_title . $title . $after_title;
|
357 |
}
|
358 |
|
359 |
-
if
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
if ($instance['thumb_link_type'] == 'lightbox') {
|
365 |
-
$alt = __('Click to open larger map', 'google-maps-widget');
|
366 |
-
} else {
|
367 |
-
$alt = esc_attr($instance['address']);
|
368 |
}
|
|
|
369 |
|
370 |
if ($instance['thumb_link_type'] == 'lightbox') {
|
371 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
} elseif ($instance['thumb_link_type'] == 'custom') {
|
373 |
-
$
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
$
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
$tmp .= '%7Clabel:A%7C' . urlencode($instance['address']) . '&language=' . $lang;
|
385 |
-
if (!isset($instance['thumb_color_scheme']) || $instance['thumb_color_scheme'] == 'default') {
|
386 |
-
$tmp .= '&visual_refresh=false';
|
387 |
-
} elseif ($instance['thumb_color_scheme'] == 'new') {
|
388 |
-
$tmp .= '&visual_refresh=true';
|
389 |
-
} elseif (GMW::is_activated()) {
|
390 |
-
$tmp .= '&' . str_replace('&', '&', $thumb_styles[$instance['thumb_color_scheme']]);
|
391 |
}
|
392 |
-
|
393 |
-
|
394 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
}
|
396 |
-
$
|
397 |
-
|
|
|
|
|
398 |
if ($instance['thumb_footer'] == 'Powered by Google Maps Widget') {
|
399 |
-
$
|
400 |
} else {
|
401 |
-
$tmp
|
|
|
402 |
}
|
403 |
}
|
404 |
-
$out .= apply_filters('google_maps_widget_content', $tmp);
|
405 |
|
406 |
-
$out .= $
|
|
|
407 |
|
408 |
echo $out;
|
409 |
} // widget
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
} // class GoogleMapsWidget
|
1 |
<?php
|
2 |
/*
|
3 |
* Google Maps Widget
|
4 |
+
* Widget definition, admin GUI and widget rendering functions
|
5 |
* (c) Web factory Ltd, 2012 - 2016
|
6 |
*/
|
7 |
|
8 |
|
9 |
+
// this is an include only WP file
|
10 |
if (!defined('ABSPATH')) {
|
11 |
+
die;
|
12 |
}
|
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',
|
19 |
+
'address' => 'New York, USA',
|
20 |
+
'thumb_pin_color' => '#ff0000',
|
21 |
+
'thumb_pin_type' => 'predefined',
|
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',
|
29 |
+
'thumb_zoom' => '13',
|
30 |
+
'thumb_header' => '',
|
31 |
+
'thumb_footer' => 'Powered by Google Maps Widget',
|
32 |
+
'thumb_color_scheme' => 'new',
|
33 |
+
'thumb_link_type' => 'lightbox',
|
34 |
+
'thumb_link' => '',
|
35 |
+
'thumb_format' => 'png',
|
36 |
+
'thumb_lang' => 'en',
|
37 |
+
'lightbox_width' => '550',
|
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'),
|
49 |
+
'lightbox_skin' => 'light',
|
50 |
+
'lightbox_lang' => 'en',
|
51 |
+
'lightbox_header' => '',
|
52 |
+
'lightbox_footer' => '');
|
53 |
+
|
54 |
+
|
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'));
|
63 |
$control_ops = array('width' => 450, 'height' => 350);
|
64 |
+
parent::__construct('GoogleMapsWidget', $title, $widget_ops, $control_ops);
|
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 = self::upgrade_wiget_instance($instance);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
extract($instance, EXTR_SKIP);
|
80 |
|
81 |
+
$thumb_map_types = array(array('val' => 'roadmap', 'label' => __('Road (default)', 'google-maps-widget')),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
array('val' => 'satellite', 'label' => __('Satellite', 'google-maps-widget')),
|
83 |
array('val' => 'terrain', 'label' => __('Terrain', 'google-maps-widget')),
|
84 |
array('val' => 'hybrid', 'label' => __('Hybrid', 'google-maps-widget')));
|
85 |
|
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')),
|
93 |
array('val' => 'mid', 'label' => __('Medium', 'google-maps-widget')),
|
94 |
array('val' => 'default', 'label' => __('Large (default)', 'google-maps-widget')));
|
95 |
|
96 |
+
$thumb_pin_colors = array(array('val' => '#000000', 'label' => __('Black', 'google-maps-widget')),
|
97 |
+
array('val' => '#a52a2a', 'label' => __('Brown', 'google-maps-widget')),
|
98 |
+
array('val' => '#00ff00', 'label' => __('Green', 'google-maps-widget')),
|
99 |
+
array('val' => '#800080', 'label' => __('Purple', 'google-maps-widget')),
|
100 |
+
array('val' => '#ffff00', 'label' => __('Yellow', 'google-maps-widget')),
|
101 |
+
array('val' => '#0000ff', 'label' => __('Blue', 'google-maps-widget')),
|
102 |
+
array('val' => '#808080', 'label' => __('Gray', 'google-maps-widget')),
|
103 |
+
array('val' => '#ffa500', 'label' => __('Orange', 'google-maps-widget')),
|
104 |
+
array('val' => '#ff0000', 'label' => __('Red (default)', 'google-maps-widget')),
|
105 |
+
array('val' => '#ffffff', 'label' => __('White', '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++) {
|
111 |
+
if ($tmp == 13) {
|
112 |
+
$zoom_levels_thumb[] = array('val' => $tmp, 'label' => $tmp . ' (default)');
|
113 |
+
} else {
|
114 |
+
$zoom_levels_thumb[] = array('val' => $tmp, 'label' => $tmp);
|
115 |
+
}
|
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' => 'light', 'label' => __('Light (default)', 'google-maps-widget')),
|
122 |
array('val' => 'dark', 'label' => __('Dark', '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' => 'metric', 'label' => __('Metric', 'google-maps-widget')),
|
145 |
+
array('val' => 'imperial', 'label' => __('Imperial', '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' => 'darkrimmed', 'label' => __('Dark rim', 'google-maps-widget')),
|
230 |
+
array('val' => 'fancyoverlay', 'label' => __('Fancy', 'google-maps-widget')),
|
231 |
+
array('val' => 'gray-square', 'label' => __('Gray squared', 'google-maps-widget')),
|
232 |
+
array('val' => 'minimal', 'label' => __('Minimalistic', 'google-maps-widget')),
|
233 |
+
array('val' => 'minimal-circles', 'label' => __('Minimalistic #2', 'google-maps-widget')),
|
234 |
+
array('val' => 'noimage', 'label' => __('Simple', 'google-maps-widget')),
|
235 |
+
array('val' => 'noimage-blue', 'label' => __('Blue', 'google-maps-widget')),
|
236 |
+
array('val' => 'noimage-polaroid', 'label' => __('Polaroid', 'google-maps-widget')),
|
237 |
+
array('val' => 'noimage-rounded', 'label' => __('Rounded', 'google-maps-widget')),
|
238 |
+
array('val' => 'tablet', 'label' => __('Tablet', 'google-maps-widget')),
|
239 |
+
array('val' => 'gears', 'label' => __('Gears', 'google-maps-widget')),
|
240 |
+
array('val' => 'painting', 'label' => __('Painting', 'google-maps-widget')),
|
241 |
+
array('val' => 'rounded-white', 'label' => __('Rounded white', 'google-maps-widget')),
|
242 |
+
array('val' => 'shadow', 'label' => __('Shadow', 'google-maps-widget')),
|
243 |
+
array('val' => 'sketchtoon', 'label' => __('Cartoonish', 'google-maps-widget')),
|
244 |
+
array('val' => 'square-black', 'label' => __('Squared black', 'google-maps-widget')),
|
245 |
+
array('val' => 'square-white', 'label' => __('Squared white', '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' => 'view', 'label' => __('View (clean map, no markers)', 'google-maps-widget')),
|
252 |
+
array('val' => 'streetview', 'label' => __('Street View', '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' => __('View (clean map, no markers)', 'google-maps-widget')),
|
288 |
+
array('val' => '-1', 'label' => __('Street View', '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 |
+
// warn if API key is not set
|
301 |
+
if (!GMW::get_api_key()) {
|
302 |
+
echo '<p class="gmw-api-key-error"><b>Important!</b> ';
|
303 |
+
echo 'Go to <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Google Maps Widget options">options</a> and follow instructions on how to obtain your <b>free maps API key</b>. Without a key the maps will stop working.</p>';
|
304 |
}
|
305 |
|
306 |
+
// widget options markup
|
307 |
+
// title & address
|
308 |
+
echo '<p><label for="' . $this->get_field_id('title') . '">' . __('Title', 'google-maps-widget') . ':</label>';
|
309 |
+
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) . '">';
|
310 |
+
echo '</p>';
|
311 |
+
echo '<label for="' . $this->get_field_id('address') . '">' . __('Address', 'google-maps-widget') . ':</label>';
|
312 |
+
echo '<div class="input-address-group">';
|
313 |
+
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
|
314 |
+
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.') . '">';
|
315 |
+
if (GMW::is_activated()) {
|
316 |
+
echo '<a data-target="address" href="#" class="button-secondary gmw-pick-address"><span class="dashicons dashicons-location"></span></a>';
|
317 |
+
} else {
|
318 |
+
echo '<a data-target="address" href="#" class="button-secondary gmw-pick-address gmw-pick-address-non-pro"><span class="dashicons dashicons-location"></span></a>';
|
319 |
+
}
|
320 |
+
echo '</div>';
|
321 |
+
// end - title & address
|
322 |
+
|
323 |
+
echo '<div class="gmw-tabs" id="tab-' . $this->id . '"><ul>';
|
324 |
+
echo '<li><a href="#gmw-thumb">' . __('Thumbnail Map', 'google-maps-widget') . '</a></li>';
|
325 |
+
echo '<li><a href="#gmw-lightbox">' . __('Interactive Map', 'google-maps-widget') . '</a></li>';
|
326 |
+
echo '<li><a href="#gmw-shortcode">' . __('Shortcode', 'google-maps-widget') . '</a></li>';
|
327 |
+
echo '<li><a href="#gmw-info">' . __('Info & Support', 'google-maps-widget') . '</a></li>';
|
328 |
+
echo '</ul>';
|
329 |
+
|
330 |
+
// thumb tab
|
331 |
echo '<div id="gmw-thumb">';
|
|
|
332 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_width') . '">' . __('Map Size', 'google-maps-widget') . ':</label>';
|
333 |
+
echo '<input data-title="Map Width" data-tooltip="Map width in pixels; from 50 to 640. The size limit is imposed by Google. Image may be resized by the theme if the sidebar is narrower." min="50" max="640" step="1" class="small-text" id="' . $this->get_field_id('thumb_width') . '" name="' . $this->get_field_name('thumb_width') . '" type="number" value="' . esc_attr($thumb_width) . '" required="required"> x ';
|
334 |
+
echo '<input data-title="Map Height" data-tooltip="Map height in pixels; from 50 to 640. The size limit is imposed by Google." min="50" max="640" step="1" class="small-text" id="' . $this->get_field_id('thumb_height') . '" name="' . $this->get_field_name('thumb_height') . '" type="number" value="' . esc_attr($thumb_height) . '" required="required">';
|
335 |
echo ' px</p>';
|
336 |
|
337 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
|
338 |
+
echo '<select data-tooltip="Controls the map layers shown. Roadmap is the most popular, hybrid combines road and satellite while terrain shows physical relief map image, displaying terrain and vegetation." id="' . $this->get_field_id('thumb_type') . '" name="' . $this->get_field_name('thumb_type') . '">';
|
339 |
+
GMW::create_select_options($thumb_map_types, $thumb_type);
|
340 |
+
echo '</select></p>';
|
341 |
+
|
342 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_color_scheme') . '">' . __('Color Scheme', 'google-maps-widget') . ':</label>';
|
343 |
+
echo '<select data-tooltip="Changes the overall appearance of the map. Please note that most visitors are acustomed to the Refreshed color scheme." class="gmw_thumb_color_scheme" id="' . $this->get_field_id('thumb_color_scheme') . '" name="' . $this->get_field_name('thumb_color_scheme') . '">';
|
344 |
+
GMW::create_select_options($thumb_color_schemes, $thumb_color_scheme);
|
345 |
echo '</select></p>';
|
346 |
|
347 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_zoom') . '">' . __('Zoom Level', 'google-maps-widget') . ':</label>';
|
348 |
+
echo '<select data-tooltip="Zoom varies from the lowest level, in which the entire world can be seen, to highest, which shows streets and individual buildings. Building outlines, where available, appear on the map around zoom level 17. This value differs from area to area." class="gmw_thumb_zoom" id="' . $this->get_field_id('thumb_zoom') . '" name="' . $this->get_field_name('thumb_zoom') . '">';
|
349 |
+
GMW::create_select_options($zoom_levels_thumb, $thumb_zoom);
|
350 |
+
echo '</select></p>';
|
351 |
+
|
352 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_pin_type') . '">' . __('Pin Type', 'google-maps-widget') . ':</label>';
|
353 |
+
echo '<select data-tooltip="Predefined pin can be adjusted in terms of color, size and one letter label.
|
354 |
+
Custom pin can be any custom image stored on a publically available server.
|
355 |
+
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') . '">';
|
356 |
GMW::create_select_options($thumb_pin_types, $thumb_pin_type);
|
357 |
echo '</select></p>';
|
358 |
+
|
359 |
+
echo '<p class="gmw_thumb_pin_type_custom_library"><label class="gmw-label" for="">' . __('Pin Image', 'google-maps-widget') . ':</label>';
|
360 |
+
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) . '">';
|
361 |
+
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>';
|
362 |
+
echo '</p>';
|
363 |
|
364 |
+
if (GMW::is_activated()) {
|
365 |
+
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>';
|
366 |
+
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) . '">';
|
367 |
+
} else {
|
368 |
+
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>';
|
369 |
+
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') . '">';
|
370 |
+
GMW::create_select_options($thumb_pin_colors, $thumb_pin_color);
|
371 |
+
echo '</select>';
|
372 |
+
}
|
373 |
+
echo '</p>';
|
374 |
|
375 |
+
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>';
|
376 |
+
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') . '">';
|
377 |
+
GMW::create_select_options($thumb_pin_sizes, $thumb_pin_size);
|
378 |
echo '</select></p>';
|
379 |
|
380 |
+
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>';
|
381 |
+
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') . '">';
|
382 |
+
GMW::create_select_options($pin_labels, $thumb_pin_label);
|
|
|
|
|
|
|
383 |
echo '</select></p>';
|
384 |
|
385 |
+
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>';
|
386 |
+
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">';
|
387 |
+
echo '</p>';
|
388 |
+
|
389 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_link_type') . '">' . __('Link To', 'google-maps-widget') . ':</label>';
|
390 |
+
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') . '">';
|
391 |
GMW::create_select_options($thumb_link_types, $thumb_link_type);
|
392 |
echo '</select></p>';
|
393 |
|
394 |
echo '<p class="gmw_thumb_link_section"><label class="gmw-label" for="' . $this->get_field_id('thumb_link') . '">' . __('Custom URL', 'google-maps-widget') . ':</label>';
|
395 |
+
echo '<input data-tooltip="Make sure the URL starts with http:// if it leads to a different site." placeholder="http://" class="regular-text" id="' . $this->get_field_id('thumb_link') . '" name="' . $this->get_field_name('thumb_link') . '" type="url" value="' . esc_attr($thumb_link) . '" required="required">';
|
396 |
+
echo '</p>';
|
397 |
|
398 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_format') . '">' . __('Image Format', 'google-maps-widget') . ':</label>';
|
399 |
+
echo '<select data-tooltip="Jpg and jpg-baseline typically provide the smallest image size, though they do so through _lossy_ compression which may degrade the image. Gif, png8 and png32 provide lossless compression." id="' . $this->get_field_id('thumb_format') . '" name="' . $this->get_field_name('thumb_format') . '">';
|
400 |
+
GMW::create_select_options($thumb_formats, $thumb_format);
|
|
|
|
|
|
|
401 |
echo '</select></p>';
|
402 |
|
403 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('thumb_lang') . '">' . __('Map Language', 'google-maps-widget') . ':</label>';
|
404 |
+
echo '<select data-tooltip="Not all map labels and texts have translations. Everything is controlled by Google at their discretion. If you choose the auto-detect mode language will be detected from the users browser settings." id="' . $this->get_field_id('thumb_lang') . '" name="' . $this->get_field_name('thumb_lang') . '">';
|
405 |
+
GMW::create_select_options($thumb_langs, $thumb_lang);
|
406 |
+
echo '</select></p>';
|
407 |
|
408 |
+
echo '<p><label for="' . $this->get_field_id('thumb_header') . '">' . __('Text Above Map', 'google-maps-widget') . ':</label>';
|
409 |
+
echo '<textarea data-tooltip="Text that appears above the map. HTML tags and shortcodes are fully supported.
|
410 |
+
If you choose to have the thumb replaced by an interactive map this text will be replaced by the interactive header text.
|
411 |
+
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>';
|
412 |
echo '<p><label for="' . $this->get_field_id('thumb_footer') . '">' . __('Text Below Map', 'google-maps-widget') . ':</label>';
|
413 |
+
echo '<textarea data-tooltip="Text that appears below the map. HTML tags and shortcodes are fully supported.
|
414 |
+
If you choose to have the thumb replaced by an interactive map this text will be replaced by the interactive header text.
|
415 |
+
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>';
|
416 |
+
echo '</div>';
|
417 |
+
// end - thumbnail tab
|
418 |
|
419 |
+
// lightbox tab
|
420 |
echo '<div id="gmw-lightbox">';
|
421 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_fullscreen') . '">' . __('Lightbox Size', 'google-maps-widget') . ':</label>';
|
422 |
+
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') . '">';
|
423 |
+
GMW::create_select_options($lightbox_sizes, $lightbox_fullscreen);
|
424 |
+
echo '</select>';
|
425 |
+
echo '<span class="gmw_lightbox_fullscreen_custom_section"><label class="gmw-label" for=""> </label>';
|
426 |
+
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 ';
|
427 |
+
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>';
|
428 |
+
|
429 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_mode') . '">' . __('Map Mode', 'google-maps-widget') . ':</label>';
|
430 |
+
echo '<select data-tooltip="Place mode displays a map pin at a defined place or address.
|
431 |
+
Directions mode displays the path between a start address defined below, and destination defined in the map\'s address.
|
432 |
+
Search mode displays results for a search across the area around the map\'s address.
|
433 |
+
View mode returns a map with no markers or directions; it produces a very clean map.
|
434 |
+
Street View provides panoramic views on the designated location. Please note that it\'s not available on all locations." class="gmw_lightbox_mode" id="' . $this->get_field_id('lightbox_mode') . '" name="' . $this->get_field_name('lightbox_mode') . '">';
|
435 |
+
GMW::create_select_options($lightbox_modes, $lightbox_mode);
|
436 |
+
echo '</select></p>';
|
437 |
+
|
438 |
+
echo '<p class="gmw_lightbox_mode_search"><label class="gmw-label" for="' . $this->get_field_id('lightbox_search') . '">' . __('Search Query', 'google-maps-widget') . ':</label>';
|
439 |
+
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) . '">';
|
440 |
+
echo '</p>';
|
441 |
|
442 |
+
echo '<p class="gmw_lightbox_mode_directions">';
|
443 |
+
echo '<label class="gmw-label" for="' . $this->get_field_id('lightbox_origin') . '">' . __('Start Address', 'google-maps-widget') . ':</label>';
|
444 |
+
echo '<span class="input-address-group">';
|
445 |
+
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) . '">';
|
446 |
+
echo '<a href="#" data-target="lightbox_origin" class="button-secondary gmw-pick-address"><span class="dashicons dashicons-location"></span></a>';
|
447 |
+
echo '</span>';
|
448 |
+
echo '</p>';
|
449 |
+
|
450 |
+
echo '<p class="gmw_lightbox_mode_directions"><label class="gmw-label" for="' . $this->get_field_id('lightbox_unit') . '">' . __('Distance Units', 'google-maps-widget') . ':</label>';
|
451 |
+
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') . '">';
|
452 |
+
GMW::create_select_options($lightbox_units, $lightbox_unit);
|
453 |
+
echo '</select></p>';
|
454 |
+
|
455 |
+
echo '<p class="gmw_lightbox_mode_streetview"><label class="gmw-label" for="' . $this->get_field_id('lightbox_heading') . '">' . __('Streetview', 'google-maps-widget') . ':</label>';
|
456 |
+
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"> ';
|
457 |
+
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';
|
458 |
+
echo '</p>';
|
459 |
|
460 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_type') . '">' . __('Map Type', 'google-maps-widget') . ':</label>';
|
461 |
+
echo '<select data-tooltip="Controls the map layers shown." id="' . $this->get_field_id('lightbox_type') . '" name="' . $this->get_field_name('lightbox_type') . '">';
|
462 |
+
GMW::create_select_options($lightbox_map_types, $lightbox_map_type);
|
463 |
echo '</select></p>';
|
464 |
|
465 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_zoom') . '">' . __('Zoom Level', 'google-maps-widget') . ':</label>';
|
466 |
+
echo '<select data-tooltip="Zoom varies from the lowest level, in which the entire world can be seen, to highest, which shows streets and individual buildings. Building outlines, where available, appear on the map around zoom level 17. This value differs from area to area." id="' . $this->get_field_id('lightbox_zoom') . '" name="' . $this->get_field_name('lightbox_zoom') . '">';
|
467 |
+
GMW::create_select_options($zoom_levels_lightbox, $lightbox_zoom);
|
468 |
echo '</select></p>';
|
469 |
|
470 |
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_skin') . '">' . __('Lightbox Skin', 'google-maps-widget') . ':</label>';
|
471 |
+
echo '<select data-tooltip="Controls the overall appearance of the lightbox, not the map itself. Adjust according to your site\'s design." class="gmw_lightbox_skin" id="' . $this->get_field_id('lightbox_skin') . '" name="' . $this->get_field_name('lightbox_skin') . '">';
|
472 |
GMW::create_select_options($lightbox_skins, $lightbox_skin);
|
|
|
|
|
|
|
473 |
echo '</select></p>';
|
474 |
|
475 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_feature') . '">' . __('Lightbox Features', 'google-maps-widget') . ':</label>';
|
476 |
+
echo '<select data-tooltip="Title is taken from the widget title field. Not all skins have a title, and the ones that do have it in different places, so please test your maps.
|
477 |
+
Other 3 options control the way users close the lightbox. Enable at least one of them." class="gmw-select2" data-placeholder="' . __('Click to choose features', 'google-maps-widget') . '" multiple="multiple" id="' . $this->get_field_id('lightbox_feature') . '" name="' . $this->get_field_name('lightbox_feature') . '[]">';
|
478 |
+
GMW::create_select_options($lightbox_features, $lightbox_feature);
|
479 |
echo '</select></p>';
|
480 |
|
481 |
+
echo '<p><label class="gmw-label" for="' . $this->get_field_id('lightbox_lang') . '">' . __('Map Language', 'google-maps-widget') . ':</label>';
|
482 |
+
echo '<select data-tooltip="Not all map labels and texts have translations. Everything is controlled by Google at their discretion. If you choose the auto-detect mode language will be detected from the users browser settings." id="' . $this->get_field_id('lightbox_lang') . '" name="' . $this->get_field_name('lightbox_lang') . '">';
|
483 |
+
GMW::create_select_options($lightbox_langs, $lightbox_lang);
|
484 |
echo '</select></p>';
|
485 |
|
486 |
echo '<p><label for="' . $this->get_field_id('lightbox_header') . '">' . __('Header Text', 'google-maps-widget') . ':</label>';
|
487 |
+
echo '<textarea data-tooltip="Text that appears above the interactive map. HTML tags and shortcodes are fully supported.
|
488 |
+
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>';
|
489 |
|
490 |
echo '<p><label for="' . $this->get_field_id('lightbox_footer') . '">' . __('Footer Text', 'google-maps-widget') . ':</label>';
|
491 |
+
echo '<textarea data-tooltip="Text that appears below the interactive map. HTML tags and shortcodes are fully supported.
|
492 |
+
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>';
|
493 |
|
494 |
+
echo '</div>';
|
495 |
+
// end - lightbox tab
|
496 |
|
497 |
// shortcode tab
|
498 |
echo '<div id="gmw-shortcode">';
|
499 |
if (GMW::is_activated()) {
|
500 |
$id = str_replace('googlemapswidget-', '', $this->id);
|
501 |
|
502 |
+
if (empty($id) || !is_numeric($id)) {
|
503 |
echo '<p>' . __('Please save the widget so that the shortcode can be generated.', 'google-maps-widget') . '</p>';
|
504 |
} else {
|
505 |
+
echo '<p><code>[' . $options['sc_map'] . ' thumb_width="' . $thumb_width . '" thumb_height="' . $thumb_width . '" id="' . $id . '"]</code><br></p>';
|
506 |
+
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>';
|
507 |
}
|
508 |
} else {
|
509 |
+
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>';
|
510 |
}
|
511 |
+
echo '</div>';
|
512 |
+
// end - shortcode tab
|
513 |
|
514 |
+
// info tab
|
515 |
echo '<div id="gmw-info">';
|
516 |
+
if (GMW::is_activated()) {
|
517 |
+
echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
|
518 |
+
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.';
|
519 |
+
echo '</p>';
|
520 |
+
|
521 |
+
echo '<h4>' . __('License', 'google-maps-widget') . '</h4>';
|
522 |
+
echo '<p>Your <span class="gmw-pro-red">PRO</span> license is active and valid ' . ($options['license_expires'] == '2035-01-01'? 'indefinitely': 'until ' . date(get_option('date_format'), strtotime($options['license_expires']))) . '. ';
|
523 |
+
echo 'Additional info is available in <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Settings">settings</a>.</p>';
|
524 |
+
} else {
|
525 |
+
echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
|
526 |
+
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>';
|
527 |
+
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>';
|
528 |
+
|
529 |
+
echo '<h4>' . __('Activate <span class="gmw-pro-red">PRO</span> features', 'google-maps-widget') . '</h4>';
|
530 |
+
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.';
|
531 |
+
echo ' <a class="open_promo_dialog" href="#">Activate PRO features</a>';
|
532 |
+
echo '</p>';
|
533 |
}
|
|
|
534 |
echo '<h4>' . __('Rate the plugin & spread the word', 'google-maps-widget') . '</h4>';
|
535 |
+
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&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>';
|
536 |
+
echo '</div>';
|
537 |
+
// end - info tab
|
538 |
|
539 |
echo '</div><p></p>'; // tabs
|
540 |
|
541 |
+
if (!GMW::is_activated()) {
|
542 |
+
if (date('d') % 2 && (username_exists('admin') || get_userdata(1))) {
|
543 |
+
echo '<p>' . __('We have detected at least one <span class="gmw-pro-red">security issue</span> on this site related to user accounts. Don\'t become a statistic! Protect your site with <a href="http://security-ninja-plugins-bundle.webfactoryltd.com/?ref=gmw" target="_blank">Security Ninja</a>.', 'google-maps-widget') . '</p>';
|
544 |
+
} else {
|
545 |
+
echo '<p>' . __('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>';
|
546 |
+
}
|
547 |
+
} else {
|
548 |
+
echo '<p>' . 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 |
|
553 |
// update/save widget options
|
554 |
function update($new_instance, $old_instance) {
|
555 |
+
$instance = array();
|
556 |
|
557 |
$instance['title'] = $new_instance['title'];
|
558 |
+
$instance['address'] = strip_tags(trim($new_instance['address']));
|
559 |
+
|
560 |
$instance['thumb_pin_type'] = $new_instance['thumb_pin_type'];
|
561 |
+
$instance['thumb_pin_color'] = GMW::sanitize_hex_color($new_instance['thumb_pin_color']);
|
562 |
$instance['thumb_pin_size'] = $new_instance['thumb_pin_size'];
|
563 |
+
$instance['thumb_pin_label'] = $new_instance['thumb_pin_label'];
|
564 |
$instance['thumb_pin_img'] = trim($new_instance['thumb_pin_img']);
|
565 |
+
$instance['thumb_pin_img_library'] = trim($new_instance['thumb_pin_img_library']);
|
566 |
$instance['thumb_width'] = min(640, max(50, (int) $new_instance['thumb_width']));
|
567 |
$instance['thumb_height'] = min(640, max(50, (int) $new_instance['thumb_height']));
|
568 |
$instance['thumb_zoom'] = $new_instance['thumb_zoom'];
|
572 |
$instance['thumb_header'] = trim($new_instance['thumb_header']);
|
573 |
$instance['thumb_footer'] = trim($new_instance['thumb_footer']);
|
574 |
$instance['thumb_color_scheme'] = $new_instance['thumb_color_scheme'];
|
575 |
+
$instance['thumb_format'] = $new_instance['thumb_format'];
|
576 |
+
$instance['thumb_lang'] = $new_instance['thumb_lang'];
|
577 |
+
|
578 |
+
$instance['lightbox_fullscreen'] = (int) $new_instance['lightbox_fullscreen'];
|
579 |
$instance['lightbox_width'] = min(2000, max(50, (int) $new_instance['lightbox_width']));
|
580 |
$instance['lightbox_height'] = min(2000, max(50, (int) $new_instance['lightbox_height']));
|
581 |
+
$instance['lightbox_mode'] = $new_instance['lightbox_mode'];
|
582 |
+
$instance['lightbox_origin'] = trim($new_instance['lightbox_origin']);
|
583 |
+
$instance['lightbox_search'] = trim($new_instance['lightbox_search']);
|
584 |
+
$instance['lightbox_unit'] = $new_instance['lightbox_unit'];
|
585 |
+
$instance['lightbox_heading'] = min(360, max(-180, (int) $new_instance['lightbox_heading']));
|
586 |
+
$instance['lightbox_pitch'] = min(90, max(-90, (int) $new_instance['lightbox_pitch']));
|
587 |
+
$instance['lightbox_map_type'] = $new_instance['lightbox_map_type'];
|
588 |
$instance['lightbox_zoom'] = $new_instance['lightbox_zoom'];
|
589 |
+
$instance['lightbox_feature'] = (array) $new_instance['lightbox_feature'];
|
|
|
590 |
$instance['lightbox_header'] = trim($new_instance['lightbox_header']);
|
591 |
$instance['lightbox_footer'] = trim($new_instance['lightbox_footer']);
|
592 |
$instance['lightbox_skin'] = $new_instance['lightbox_skin'];
|
593 |
+
$instance['lightbox_lang'] = $new_instance['lightbox_lang'];
|
594 |
+
|
595 |
$instance['core_ver'] = GMW::$version;
|
596 |
|
597 |
return $instance;
|
598 |
} // update
|
599 |
|
600 |
|
601 |
+
// output widget
|
602 |
+
function widget($widget, $instance) {
|
603 |
+
$out = $widget_content = $style = '';
|
604 |
+
$map_params = array();
|
605 |
|
606 |
+
$options = GMW::get_options();
|
607 |
+
$instance = self::upgrade_wiget_instance($instance);
|
608 |
+
|
609 |
+
$map_src = '//maps.googleapis.com/maps/api/staticmap';
|
610 |
|
611 |
+
// make sure all params are defined
|
612 |
+
$instance = wp_parse_args((array) $instance, self::$defaults);
|
613 |
+
$instance['id'] = $widget['widget_id'];
|
614 |
|
615 |
+
// build thumbnail map parameters
|
616 |
+
if (GMW::get_api_key('static')) {
|
617 |
+
$map_params['key'] = GMW::get_api_key('static');
|
|
|
|
|
|
|
618 |
}
|
619 |
+
$map_params['scale'] = 1;
|
620 |
+
$map_params['format'] = $instance['thumb_format'];
|
621 |
+
$map_params['zoom'] = $instance['thumb_zoom'];
|
622 |
+
$map_params['size'] = $instance['thumb_width'] . 'x' . $instance['thumb_height'];
|
623 |
+
if ($instance['thumb_lang'] != 'auto') {
|
624 |
+
$map_params['language'] = $instance['thumb_lang'];
|
625 |
}
|
626 |
+
$map_params['maptype'] = $instance['thumb_type'];
|
627 |
+
if ($instance['thumb_pin_type'] == 'custom') {
|
628 |
+
$map_params['markers'] = 'icon:' . $instance['thumb_pin_img'];
|
629 |
+
} elseif ($instance['thumb_pin_type'] == 'custom-library') {
|
630 |
+
$map_params['markers'] = 'icon:' . plugins_url('/images/pins/' . $instance['thumb_pin_img_library'], __FILE__);
|
631 |
+
} else {
|
632 |
+
$map_params['markers'] = 'size:' . $instance['thumb_pin_size'] . '|color:' . str_replace('#', '0x', $instance['thumb_pin_color']) . '|label:' . $instance['thumb_pin_label'];
|
633 |
}
|
634 |
+
$map_params['markers'] .= '|' . $instance['address'];
|
635 |
+
$map_params['center'] = $instance['address'];
|
636 |
+
if ($instance['thumb_color_scheme'] == 'new') {
|
637 |
+
$map_params['visual_refresh'] = 'true';
|
638 |
+
} elseif ($instance['thumb_color_scheme'] != 'default') {
|
639 |
+
$map_params['visual_refresh'] = 'false';
|
640 |
+
$style = '&' . str_replace('&', '&', GMW_styles::$php_styles[$instance['thumb_color_scheme']]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
}
|
642 |
|
643 |
+
// start building widget markup
|
644 |
+
$out .= $widget['before_widget'];
|
|
|
645 |
|
646 |
+
// add widget title; respect sidebar markup
|
647 |
+
$title = empty($instance['title'])? '' : apply_filters('widget_title', $instance['title']);
|
648 |
if (!empty($title)) {
|
649 |
+
$out .= $widget['before_title'] . $title . $widget['after_title'];
|
650 |
}
|
651 |
|
652 |
+
// if not empty, add header text
|
653 |
+
if (!empty($instance['thumb_header'])) {
|
654 |
+
$tmp = str_ireplace(array('{address}'), array($instance['address']), $instance['thumb_header']);
|
655 |
+
$widget_content .= wpautop(do_shortcode($tmp));
|
|
|
|
|
|
|
|
|
|
|
656 |
}
|
657 |
+
$widget_content .= '<p>';
|
658 |
|
659 |
if ($instance['thumb_link_type'] == 'lightbox') {
|
660 |
+
self::$widgets[$widget['widget_id']] = $instance;
|
661 |
+
$map_alt = __('Click to open a larger map', 'google-maps-widget');
|
662 |
+
$widget_content .= '<a data-gmw-id="' . $widget['widget_id'] . '" class="gmw-thumbnail-map gmw-lightbox-enabled" href="#gmw-dialog-' . $widget['widget_id'] . '" title="' . __('Click to open a larger map', 'google-maps-widget') . '">';
|
663 |
+
} elseif ($instance['thumb_link_type'] == 'replace') {
|
664 |
+
self::$widgets[$widget['widget_id']] = $instance;
|
665 |
+
$map_alt = __('Click to open the interactive map', 'google-maps-widget');
|
666 |
+
$widget_content .= '<a data-gmw-id="' . $widget['widget_id'] . '" class="gmw-thumbnail-map gmw-replace-enabled" href="#gmw-dialog-' . $widget['widget_id'] . '" title="' . __('Click to open an interactive map', 'google-maps-widget') . '">';
|
667 |
} elseif ($instance['thumb_link_type'] == 'custom') {
|
668 |
+
$map_alt = esc_attr($instance['address']);
|
669 |
+
$widget_content .= '<a class="gmw-thumbnail-map" title="' . esc_attr($instance['address']) . '" href="' . $instance['thumb_link'] . '">';
|
670 |
+
} elseif ($instance['thumb_link_type'] == 'custom_blank') {
|
671 |
+
$map_alt = esc_attr($instance['address']);
|
672 |
+
$widget_content .= '<a class="gmw-thumbnail-map" title="' . esc_attr($instance['address']) . '" target="_blank" href="' . $instance['thumb_link'] . '">';
|
673 |
+
} elseif ($instance['thumb_link_type'] == 'map_blank') {
|
674 |
+
$map_alt = __('Click to open the interactive map in a new window', 'google-maps-widget');
|
675 |
+
$map_url = GMW::build_lightbox_url($instance);
|
676 |
+
$widget_content .= '<a class="gmw-thumbnail-map" title="' . esc_attr($instance['address']) . '" target="_blank" href="' . $map_url . '">';
|
677 |
+
} elseif ($instance['thumb_link_type'] == 'nolink') {
|
678 |
+
$map_alt = esc_attr($instance['address']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
}
|
680 |
+
|
681 |
+
// build map image source
|
682 |
+
$map_src .= '?' . http_build_query($map_params, null, '&') . $style;
|
683 |
+
$map_src = apply_filters('gmw_thumb_map_src', $map_src, $instance);
|
684 |
+
$widget_content .= '<img width="' . $instance['thumb_width'] . 'px" height="' . $instance['thumb_height'] . 'px" alt="' . $map_alt . '" title="' . $map_alt . '" src="' . $map_src . '">';
|
685 |
+
|
686 |
+
if ($instance['thumb_link_type'] == 'lightbox' ||
|
687 |
+
$instance['thumb_link_type'] == 'replace' ||
|
688 |
+
$instance['thumb_link_type'] == 'custom' ||
|
689 |
+
$instance['thumb_link_type'] == 'custom_blank' ||
|
690 |
+
$instance['thumb_link_type'] == 'map_blank') {
|
691 |
+
$widget_content .= '</a>';
|
692 |
}
|
693 |
+
$widget_content .= '</p>';
|
694 |
+
|
695 |
+
// if not empty, add footer text
|
696 |
+
if (!empty($instance['thumb_footer'])) {
|
697 |
if ($instance['thumb_footer'] == 'Powered by Google Maps Widget') {
|
698 |
+
$widget_content .= '<span class="gmw-powered-by">Powered by <a title="Powered by free Google Maps Widget plugin for WordPress" href="http://www.googlemapswidget.com/" target="_blank">Google Maps Widget</a></span>';
|
699 |
} else {
|
700 |
+
$tmp = str_ireplace(array('{address}'), array($instance['address']), $instance['thumb_footer']);
|
701 |
+
$widget_content .= wpautop(do_shortcode($tmp));
|
702 |
}
|
703 |
}
|
|
|
704 |
|
705 |
+
$out .= apply_filters('gmw_widget_content', $widget_content, $instance);
|
706 |
+
$out .= $widget['after_widget'];
|
707 |
|
708 |
echo $out;
|
709 |
} // widget
|
710 |
+
|
711 |
+
|
712 |
+
// compatibility fixes for widgets prior to v3.0
|
713 |
+
static function upgrade_wiget_instance($instance) {
|
714 |
+
$instance = wp_parse_args((array) $instance, self::$defaults);
|
715 |
+
|
716 |
+
if (isset($instance['core_ver']) && version_compare($instance['core_ver'], '3.0', '>=')) {
|
717 |
+
return $instance;
|
718 |
+
}
|
719 |
+
|
720 |
+
// pin color is now in hex
|
721 |
+
if ($instance['thumb_pin_color'][0] != '#') {
|
722 |
+
$instance['thumb_pin_color'] = GMW::convert_color($instance['thumb_pin_color']);
|
723 |
+
} elseif (empty($instance['thumb_pin_color'])) {
|
724 |
+
$instance['thumb_pin_color'] = '#ff0000';
|
725 |
+
}
|
726 |
+
|
727 |
+
// if we had title before, we need it now too
|
728 |
+
if (!empty($instance['lightbox_title']) && !in_array('title', $instance['lightbox_feature'])) {
|
729 |
+
$instance['lightbox_feature'][] = 'title';
|
730 |
+
}
|
731 |
+
|
732 |
+
// map type values changed
|
733 |
+
if (isset($instance['lightbox_map_type']) && $instance['lightbox_map_type'] == 'k') {
|
734 |
+
$instance['lightbox_map_type'] = 'satellite';
|
735 |
+
} else {
|
736 |
+
$instance['lightbox_map_type'] = 'roadmap';
|
737 |
+
}
|
738 |
+
|
739 |
+
return $instance;
|
740 |
+
} // upgrade_widget_instance
|
741 |
} // class GoogleMapsWidget
|
google-maps-widget.php
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
/*
|
3 |
Plugin Name: Google Maps Widget
|
4 |
Plugin URI: http://www.googlemapswidget.com/
|
5 |
-
Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available
|
6 |
Author: Web factory Ltd
|
7 |
-
Version:
|
8 |
Author URI: http://www.webfactoryltd.com/
|
9 |
Text Domain: google-maps-widget
|
10 |
Domain Path: lang
|
@@ -26,63 +26,79 @@ Domain Path: lang
|
|
26 |
*/
|
27 |
|
28 |
|
|
|
29 |
if (!defined('ABSPATH')) {
|
30 |
-
die
|
31 |
}
|
32 |
|
33 |
|
34 |
-
|
35 |
-
define('GMW_CRON', 'gmw_cron');
|
36 |
-
define('GMW_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
37 |
|
|
|
38 |
|
39 |
-
require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
|
40 |
require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
|
43 |
class GMW {
|
44 |
-
static $version = '
|
|
|
|
|
45 |
|
46 |
// hook everything up
|
47 |
static function init() {
|
48 |
-
GMW_tracking::init();
|
49 |
-
|
50 |
if (is_admin()) {
|
51 |
-
// check if minimal required WP version is
|
52 |
-
|
|
|
|
|
53 |
|
54 |
-
// check
|
55 |
-
|
56 |
|
57 |
// aditional links in plugin description
|
58 |
add_filter('plugin_action_links_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__),
|
59 |
-
array(
|
60 |
-
add_filter('plugin_row_meta', array(
|
61 |
|
62 |
// enqueue admin scripts
|
63 |
-
add_action('admin_enqueue_scripts', array(
|
64 |
-
add_action('customize_controls_enqueue_scripts', array(
|
65 |
|
66 |
// JS dialog markup
|
67 |
-
add_action('admin_footer', array(
|
68 |
|
69 |
// register AJAX endpoints
|
70 |
-
add_action('
|
71 |
-
add_action('wp_ajax_gmw_activate', array(__CLASS__, 'activate_via_code'));
|
72 |
|
73 |
-
//
|
74 |
-
add_action('admin_action_gmw_dismiss_notice', array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
// display various notices
|
77 |
-
|
78 |
} else {
|
79 |
// enqueue frontend scripts
|
80 |
-
add_action('wp_enqueue_scripts', array(
|
81 |
-
add_action('wp_footer', array(
|
82 |
}
|
83 |
|
|
|
|
|
|
|
84 |
// add shortcode support
|
85 |
-
|
86 |
} // init
|
87 |
|
88 |
|
@@ -96,13 +112,161 @@ class GMW {
|
|
96 |
// initialize widgets
|
97 |
static function widgets_init() {
|
98 |
register_widget('GoogleMapsWidget');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
} // widgets_init
|
100 |
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
// add widgets link to plugins page
|
103 |
static function plugin_action_links($links) {
|
104 |
-
$settings_link = '<a href="' . admin_url('
|
|
|
|
|
105 |
array_unshift($links, $settings_link);
|
|
|
106 |
|
107 |
return $links;
|
108 |
} // plugin_action_links
|
@@ -111,17 +275,19 @@ class GMW {
|
|
111 |
// add links to plugin's description in plugins table
|
112 |
static function plugin_meta_links($links, $file) {
|
113 |
$documentation_link = '<a target="_blank" href="http://www.googlemapswidget.com/documentation/" title="' . __('View Google Maps Widget documentation', 'google-maps-widget') . '">'. __('Documentation', 'google-maps-widget') . '</a>';
|
114 |
-
|
|
|
|
|
|
|
|
|
115 |
$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>';
|
116 |
-
$
|
117 |
-
$activate_link = '<a href="' . esc_url(admin_url('widgets.php?gmw_open_promo_dialog')) . '">' . __('Activate premium features for <b>FREE</b>', 'google-maps-widget') . '</a>';
|
118 |
|
119 |
if ($file == plugin_basename(__FILE__)) {
|
120 |
$links[] = $documentation_link;
|
121 |
$links[] = $support_link;
|
122 |
$links[] = $review_link;
|
123 |
-
|
124 |
-
if (!self::is_activated()) {
|
125 |
$links[] = $activate_link;
|
126 |
}
|
127 |
}
|
@@ -130,57 +296,185 @@ class GMW {
|
|
130 |
} // plugin_meta_links
|
131 |
|
132 |
|
133 |
-
// check if user has the minimal WP version required by
|
134 |
static function check_wp_version($min_version) {
|
135 |
if (!version_compare(get_bloginfo('version'), $min_version, '>=')) {
|
136 |
-
add_action('admin_notices', array(
|
|
|
137 |
}
|
|
|
|
|
138 |
} // check_wp_version
|
139 |
|
140 |
|
141 |
// display error message if WP version is too low
|
142 |
static function notice_min_version_error() {
|
143 |
-
echo '<div class="error"><p>' . sprintf(__('Google Maps Widget <b>requires WordPress version 3.
|
144 |
} // notice_min_version_error
|
145 |
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
// print dialogs markup in footer
|
148 |
static function dialogs_markup() {
|
149 |
$out = '';
|
150 |
-
$
|
|
|
151 |
|
152 |
-
if (
|
153 |
-
wp_dequeue_script('gmw');
|
154 |
-
wp_dequeue_script('gmw-fancybox');
|
155 |
return;
|
156 |
}
|
157 |
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
|
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
$lang = 'en';
|
173 |
-
}
|
174 |
|
175 |
-
|
|
|
|
|
|
|
176 |
|
177 |
-
$out .= '<div class="gmw-dialog" style="display: none;" data-map-height="' . $widget['
|
178 |
-
|
179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
$out .= '<div class="gmw-map"></div>';
|
182 |
-
if ($widget['
|
183 |
-
|
|
|
184 |
}
|
185 |
$out .= "</div>\n";
|
186 |
} // foreach $widgets
|
@@ -189,340 +483,598 @@ class GMW {
|
|
189 |
} // dialogs_markup
|
190 |
|
191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
// check availability and register shortcode
|
193 |
-
static function
|
|
|
|
|
|
|
|
|
194 |
global $shortcode_tags;
|
|
|
195 |
|
196 |
-
if (isset($shortcode_tags['
|
197 |
-
add_action('admin_notices', array(
|
198 |
} else {
|
199 |
-
add_shortcode('
|
200 |
}
|
201 |
-
} //
|
202 |
|
203 |
|
204 |
// display notice if shortcode name is already taken
|
205 |
static function notice_sc_conflict_error() {
|
206 |
-
|
207 |
-
return;
|
208 |
-
}
|
209 |
|
210 |
-
echo '<div class="error"><p><strong>' . __('Google Maps Widget shortcode is not active!', 'google-maps-widget') . '</strong>' . __(' Shortcode <i>[
|
211 |
} // notice_sc_conflict_error
|
212 |
|
213 |
|
214 |
-
// handle dismiss button for
|
215 |
-
// todo - convert all notices
|
216 |
static function dismiss_notice() {
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
$options['dismiss_notice_upgrade'] = true;
|
221 |
-
update_option(GMW_OPTIONS, $options);
|
222 |
-
}
|
223 |
-
if (isset($_GET['notice']) && $_GET['notice'] == 'rate') {
|
224 |
-
$options['dismiss_notice_rate'] = true;
|
225 |
-
update_option(GMW_OPTIONS, $options);
|
226 |
}
|
227 |
|
228 |
-
if ($_GET['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
wp_redirect($_GET['redirect']);
|
230 |
} else {
|
231 |
wp_redirect(admin_url());
|
232 |
}
|
|
|
233 |
exit;
|
234 |
} // dismiss_notice
|
235 |
|
236 |
|
237 |
-
//
|
238 |
static function add_notices() {
|
239 |
-
$options =
|
240 |
$notice = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
-
if
|
243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
$notice = true;
|
245 |
} // show upgrade notice
|
246 |
|
|
|
247 |
if (!$notice && empty($options['dismiss_notice_rate']) &&
|
248 |
GMW_tracking::count_active_widgets() > 0 &&
|
249 |
-
(current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS *
|
250 |
-
add_action('admin_notices', array(
|
251 |
$notice = true;
|
252 |
} // show rate notice
|
253 |
-
|
254 |
-
|
|
|
|
|
255 |
add_action('admin_notices', array('GMW_tracking', 'tracking_notice'));
|
256 |
$notice = true;
|
257 |
} // show tracking notice
|
258 |
} // add_notices
|
259 |
|
260 |
|
261 |
-
// display message
|
262 |
-
static function
|
263 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
265 |
|
266 |
-
|
267 |
-
// todo remove style from HTML
|
268 |
-
echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget</b> has extra premium features you can get for <b style="color: #d54e21;">FREE</b>. This is a limited time offer so act now!', 'google-maps-widget');
|
269 |
|
270 |
-
echo '<br
|
271 |
-
echo ' <a href="' . esc_url($dismiss_url) . '">' . __('
|
272 |
echo '</p></div>';
|
273 |
} // notice_activate_extra_features
|
274 |
-
|
275 |
-
|
276 |
-
// display message to get
|
277 |
static function notice_rate_plugin() {
|
278 |
$rate_url = 'https://wordpress.org/support/view/plugin-reviews/google-maps-widget?rate=5#postform';
|
279 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'rate', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
280 |
|
281 |
-
|
282 |
-
// todo remove style from HTML
|
283 |
-
echo '<div id="gmw_rate_notice" class="updated notice"><p>' . __('Hi! We saw you\'ve been using <b>Google Maps Widget</b> for some time and wanted to ask for your help to make the plugin even better.<br>We don\'t need money :), just a minute of your time to rate the plugin. Thank you!', 'google-maps-widget');
|
284 |
|
285 |
-
echo '<br
|
286 |
-
echo ' <a href="' . esc_url($dismiss_url) . '"
|
287 |
echo '</p></div>';
|
288 |
} // notice_rate_plugin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
|
290 |
|
291 |
-
//
|
292 |
-
static function
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
}
|
298 |
-
} //
|
299 |
|
300 |
|
301 |
-
// enqueue CSS and JS scripts
|
302 |
static function admin_enqueue_scripts() {
|
303 |
global $wp_customize;
|
|
|
304 |
|
305 |
-
if (
|
306 |
wp_enqueue_script('jquery-ui-tabs');
|
307 |
wp_enqueue_script('jquery-ui-dialog');
|
|
|
|
|
308 |
wp_enqueue_script('gmw-cookie', plugins_url('js/jquery.cookie.js', __FILE__), array('jquery'), GMW::$version, true);
|
|
|
|
|
309 |
wp_enqueue_script('gmw-admin', plugins_url('js/gmw-admin.js', __FILE__), array('jquery'), GMW::$version, true);
|
310 |
|
311 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
|
|
|
|
|
|
312 |
wp_enqueue_style('gmw-admin', plugins_url('css/gmw-admin.css', __FILE__), array(), GMW::$version);
|
313 |
|
314 |
-
$js_localize = array('
|
315 |
-
'
|
316 |
-
'subscribe_error' => __('Something is not right on our end. Sorry :( Try again later.', 'google-maps-widget'),
|
317 |
-
'activate_ok' => __('Superb! Extra features are active ;)', 'google-maps-widget'),
|
318 |
-
'dialog_title' => __('Google Maps Widget <b>Extra Features</b>', 'google-maps-widget'),
|
319 |
'undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'google-maps-widget'),
|
320 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
wp_localize_script('gmw-admin', 'gmw', $js_localize);
|
322 |
} // if
|
323 |
} // admin_enqueue_scripts
|
324 |
|
325 |
|
326 |
// check if plugin's admin page is shown
|
327 |
-
static function is_plugin_admin_page() {
|
328 |
$current_screen = get_current_screen();
|
329 |
|
330 |
-
if ($current_screen->id == 'widgets') {
|
|
|
|
|
|
|
|
|
331 |
return true;
|
332 |
-
} else {
|
333 |
-
return false;
|
334 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
} // is_plugin_admin_page
|
336 |
|
337 |
|
338 |
-
// check if
|
339 |
-
static function is_activated($
|
340 |
-
$options =
|
341 |
|
342 |
-
if (
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
} else {
|
345 |
-
|
346 |
-
return strlen($options['activation_code']) === 35;
|
347 |
-
} else {
|
348 |
-
return true;
|
349 |
-
}
|
350 |
}
|
351 |
} // is_activated
|
352 |
|
353 |
|
354 |
// echo markup for promo dialog; only on widgets page
|
355 |
static function admin_dialogs_markup() {
|
356 |
-
|
357 |
-
return false;
|
358 |
-
}
|
359 |
-
|
360 |
-
$current_user = wp_get_current_user();
|
361 |
-
if (empty($current_user->user_firstname)) {
|
362 |
-
$name = $current_user->display_name;
|
363 |
-
} else {
|
364 |
-
$name = $current_user->user_firstname;
|
365 |
-
}
|
366 |
-
|
367 |
-
$out = '<div id="gmw_promo_dialog">';
|
368 |
-
|
369 |
-
$out .= '<div id="gmw_dialog_intro">
|
370 |
-
<div class="content">
|
371 |
-
<h3 class="center boxed-h">' . __('Choose your prefered way of activating extra features:', 'google-maps-widget') . '</h3>';
|
372 |
-
$out .= '<div class="gmw-left-box gmw-content-box">
|
373 |
-
<h3>Support</h3>
|
374 |
-
<p>development & help us maintain GMW</p>
|
375 |
-
<i class="dashicons dashicons-heart"></i>
|
376 |
-
<ul>
|
377 |
-
<li>Premium email support for 1 year</li>
|
378 |
-
<li>Access to all new extra features</li>
|
379 |
-
<li>No annoying emails</li>
|
380 |
-
<li>No ads in the plugin</li>
|
381 |
-
</ul>
|
382 |
-
<a href="https://gum.co/gmw-wp" data-noprevent="1" class="gmw_goto_activation button-primary" target="_blank">Donate</a>
|
383 |
-
</div>';
|
384 |
-
$out .= '<div class="gmw-right-box gmw-content-box gmw-content-box-alternate">
|
385 |
-
<h3>Subscribe</h3>
|
386 |
-
<p>and receive promotional e-mails</p>
|
387 |
-
<i class="dashicons dashicons-email-alt"></i>
|
388 |
-
<ul>
|
389 |
-
<li>Community based support</li>
|
390 |
-
<li>Access to new extra features</li>
|
391 |
-
<li>Receive promotional emails</li>
|
392 |
-
<li>Ads in the plugin</li>
|
393 |
-
</ul>
|
394 |
-
<br>
|
395 |
-
<a href="#" class="gmw_goto_subscribe button-secondary">Subscribe</a>
|
396 |
-
</div>';
|
397 |
-
$out .= '<p class="clear center gmw-footer-intro">Already have an activation code? <a href="#" class="gmw_goto_activation">Enter it here</a></p>';
|
398 |
-
$out .= '</div></div>'; // dialog intro
|
399 |
-
|
400 |
-
$out .= '<div id="gmw_dialog_subscribe">
|
401 |
-
<div class="content">
|
402 |
-
<h3>' . __('Fill out the form and get extra features for <b>FREE</b> instantly!', 'google-maps-widget') . '</h3>';
|
403 |
-
$out .= '<p class="input_row">
|
404 |
-
<input value="' . $name . '" type="text" id="gmw_name" name="gmw_name" placeholder="Your name">
|
405 |
-
<span class="error name" style="display: none;">Please enter your name.</span>
|
406 |
-
</p>';
|
407 |
-
$out .= '<p class="input_row">
|
408 |
-
<input value="' . $current_user->user_email . '" type="text" name="gmw_email" id="gmw_email" placeholder="Your email address">
|
409 |
-
<span style="display: none;" class="error email">Please double check your email address.</span>
|
410 |
-
</p>';
|
411 |
-
$out .= '<p class="center">
|
412 |
-
<a id="gmw_subscribe" href="#" class="button button-primary">Activate extra features</a></p>
|
413 |
-
<p class="center">Already have an activation code? <a href="#" class="gmw_goto_activation">Enter it here</a></p>
|
414 |
-
</div>';
|
415 |
-
$out .= '<div class="footer">
|
416 |
-
<p><b>Still not sure?</b></p>
|
417 |
-
<ul>
|
418 |
-
<li>We\'ll never share your email address</li>
|
419 |
-
<li>We won\'t spam you or overwhelm with emails</li>
|
420 |
-
<li>You\'ll get discounts for our premium WP plugins</li>
|
421 |
-
</ul>
|
422 |
-
</div>';
|
423 |
-
$out .= '</div>'; // dialog subscribe
|
424 |
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
<
|
430 |
-
|
431 |
-
|
432 |
-
</
|
433 |
-
<p
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
<li>
|
439 |
-
<li>
|
440 |
-
<li
|
441 |
</ul>
|
442 |
-
|
443 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
|
445 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
|
447 |
echo $out;
|
448 |
} // admin_dialogs_markup
|
449 |
|
450 |
|
451 |
-
//
|
452 |
-
static function
|
453 |
-
$
|
454 |
-
|
455 |
-
|
456 |
-
|
|
|
457 |
} else {
|
458 |
-
|
459 |
}
|
460 |
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
}
|
467 |
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
} else {
|
473 |
-
|
474 |
}
|
475 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
476 |
|
|
|
|
|
|
|
477 |
|
478 |
-
// check activation code and save if valid
|
479 |
-
static function activate_via_code() {
|
480 |
-
$code = trim($_POST['code']);
|
481 |
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
|
|
|
|
487 |
|
|
|
|
|
|
|
|
|
|
|
488 |
wp_send_json_success();
|
489 |
} else {
|
490 |
-
wp_send_json_error();
|
491 |
}
|
492 |
-
} //
|
493 |
|
494 |
|
495 |
-
// check if activation code
|
496 |
-
static function validate_activation_code_format($code) {
|
497 |
-
// old key format
|
498 |
-
if (strlen($code) == 6) {
|
499 |
-
if (($code[0] + $code[5]) != 9 || preg_match('/[0-9a-f]+/i', $code, $matches) != 1) {
|
500 |
-
return false;
|
501 |
-
}
|
502 |
-
return true;
|
503 |
-
} // old key format
|
504 |
-
|
505 |
-
// new key format
|
506 |
-
if (strlen($code) == 35) {
|
507 |
-
if (preg_match('/^[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}$/i', $code, $matches) != 1) {
|
508 |
-
return false;
|
509 |
-
}
|
510 |
-
return true;
|
511 |
-
} // new key format
|
512 |
-
|
513 |
-
return false;
|
514 |
-
} // validate_activation_code_format
|
515 |
-
|
516 |
-
|
517 |
-
// check if activation code for additional features is valid
|
518 |
static function validate_activation_code($code) {
|
519 |
-
$
|
|
|
|
|
|
|
520 |
|
521 |
-
if (
|
522 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
} else {
|
524 |
-
|
525 |
}
|
|
|
|
|
526 |
} // validate_activation_code
|
527 |
|
528 |
|
@@ -530,11 +1082,25 @@ class GMW {
|
|
530 |
static function create_select_options($options, $selected = null, $output = true) {
|
531 |
$out = "\n";
|
532 |
|
|
|
|
|
|
|
|
|
533 |
foreach ($options as $tmp) {
|
534 |
-
|
535 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
} else {
|
537 |
-
$out .= "<option value=\"{$tmp['val']}\">{$tmp['label']} </option>\n";
|
538 |
}
|
539 |
} // foreach
|
540 |
|
@@ -546,102 +1112,126 @@ class GMW {
|
|
546 |
} // create_select_options
|
547 |
|
548 |
|
549 |
-
//
|
550 |
-
static function
|
551 |
-
|
|
|
|
|
552 |
|
553 |
-
|
554 |
-
|
555 |
-
|
|
|
|
|
556 |
|
557 |
-
if (!is_wp_error($result) && $result['response']['code'] == 200) {
|
558 |
-
$data = new SimpleXMLElement($result['body']);
|
559 |
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
|
|
|
|
|
|
564 |
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
return false;
|
570 |
-
} else {
|
571 |
-
return false;
|
572 |
-
}
|
573 |
-
} else {
|
574 |
-
return false;
|
575 |
-
}
|
576 |
} else {
|
577 |
-
|
578 |
-
$data = get_transient($address_hash);
|
579 |
}
|
|
|
580 |
|
581 |
-
|
582 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
|
584 |
|
585 |
// shortcode support for any GMW instance
|
586 |
static function do_shortcode($atts, $content = null) {
|
587 |
-
if (!
|
588 |
return '';
|
589 |
}
|
590 |
|
591 |
global $wp_widget_factory;
|
592 |
$out = '';
|
593 |
-
$atts = shortcode_atts(array('id' => 0), $atts);
|
594 |
$id = (int) $atts['id'];
|
595 |
$widgets = get_option('widget_googlemapswidget');
|
596 |
|
597 |
-
if (!$id || empty($widgets[$id])) {
|
598 |
-
$out .= '<span class="gmw-error">
|
599 |
} else {
|
600 |
$widget_args = $widgets[$id];
|
601 |
$widget_instance['widget_id'] = 'googlemapswidget-' . $id;
|
602 |
$widget_instance['widget_name'] = 'Google Maps Widget';
|
|
|
|
|
|
|
|
|
|
|
603 |
|
604 |
-
$out .= '<
|
605 |
ob_start();
|
606 |
the_widget('GoogleMapsWidget', $widget_args, $widget_instance);
|
607 |
$out .= ob_get_contents();
|
608 |
ob_end_clean();
|
609 |
-
$out .= '</
|
610 |
}
|
611 |
-
|
612 |
return $out;
|
613 |
} // do_shortcode
|
614 |
|
615 |
|
616 |
// activate doesn't get fired on upgrades so we have to compensate
|
617 |
-
public static function
|
618 |
-
$options =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
|
620 |
if (!isset($options['first_version']) || !isset($options['first_install'])) {
|
621 |
-
$
|
622 |
-
$
|
623 |
-
|
|
|
624 |
}
|
625 |
-
} //
|
626 |
|
627 |
|
628 |
// write down a few things on plugin activation
|
629 |
// NO DATA is sent anywhere unless user explicitly agrees to it!
|
630 |
static function activate() {
|
631 |
-
$options =
|
632 |
|
633 |
if (!isset($options['first_version']) || !isset($options['first_install'])) {
|
634 |
$options['first_version'] = GMW::$version;
|
635 |
$options['first_install'] = current_time('timestamp');
|
636 |
$options['last_tracking'] = false;
|
637 |
-
|
638 |
}
|
639 |
} // activate
|
640 |
|
641 |
|
642 |
// clean up on deactivation
|
643 |
static function deactivate() {
|
644 |
-
$options =
|
645 |
|
646 |
if (isset($options['allow_tracking']) && $options['allow_tracking'] === true) {
|
647 |
GMW_tracking::clear_cron();
|
@@ -651,14 +1241,12 @@ class GMW {
|
|
651 |
|
652 |
// clean up on uninstall / delete
|
653 |
static function uninstall() {
|
654 |
-
|
655 |
-
return;
|
656 |
-
}
|
657 |
-
|
658 |
-
delete_option(GMW_OPTIONS);
|
659 |
} // uninstall
|
660 |
} // class GMW
|
661 |
|
|
|
|
|
662 |
|
663 |
// hook everything up
|
664 |
register_activation_hook(__FILE__, array('GMW', 'activate'));
|
2 |
/*
|
3 |
Plugin Name: Google Maps Widget
|
4 |
Plugin URI: http://www.googlemapswidget.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.0
|
8 |
Author URI: http://www.webfactoryltd.com/
|
9 |
Text Domain: google-maps-widget
|
10 |
Domain Path: lang
|
26 |
*/
|
27 |
|
28 |
|
29 |
+
// this is an include only WP file
|
30 |
if (!defined('ABSPATH')) {
|
31 |
+
die;
|
32 |
}
|
33 |
|
34 |
|
35 |
+
if (!class_exists('GMW')) :
|
|
|
|
|
36 |
|
37 |
+
define('GMW_PLUGIN_DIR', plugin_dir_path( __FILE__ ));
|
38 |
|
|
|
39 |
require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
|
40 |
+
require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
|
41 |
+
require_once GMW_PLUGIN_DIR . 'gmw-map-styles.php';
|
42 |
+
require_once GMW_PLUGIN_DIR . 'gmw-export-import.php';
|
43 |
+
if (file_exists(GMW_PLUGIN_DIR . 'gmw-pro-license.php')) {
|
44 |
+
require_once GMW_PLUGIN_DIR . 'gmw-pro-license.php';
|
45 |
+
}
|
46 |
|
47 |
|
48 |
class GMW {
|
49 |
+
static $version = '3.0';
|
50 |
+
static $options = 'gmw_options';
|
51 |
+
|
52 |
|
53 |
// hook everything up
|
54 |
static function init() {
|
|
|
|
|
55 |
if (is_admin()) {
|
56 |
+
// check if minimal required WP version is present
|
57 |
+
if (false === GMW::check_wp_version(3.8)) {
|
58 |
+
return false;
|
59 |
+
}
|
60 |
|
61 |
+
// check a few variables
|
62 |
+
GMW::maybe_upgrade();
|
63 |
|
64 |
// aditional links in plugin description
|
65 |
add_filter('plugin_action_links_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__),
|
66 |
+
array('GMW', 'plugin_action_links'));
|
67 |
+
add_filter('plugin_row_meta', array('GMW', 'plugin_meta_links'), 10, 2);
|
68 |
|
69 |
// enqueue admin scripts
|
70 |
+
add_action('admin_enqueue_scripts', array('GMW', 'admin_enqueue_scripts'));
|
71 |
+
add_action('customize_controls_enqueue_scripts', array('GMW', 'admin_enqueue_scripts'));
|
72 |
|
73 |
// JS dialog markup
|
74 |
+
add_action('admin_footer', array('GMW', 'admin_dialogs_markup'));
|
75 |
|
76 |
// register AJAX endpoints
|
77 |
+
add_action('wp_ajax_gmw_activate', array('GMW', 'activate_license_key_ajax'));
|
|
|
78 |
|
79 |
+
// custom admin actions
|
80 |
+
add_action('admin_action_gmw_dismiss_notice', array('GMW', 'dismiss_notice'));
|
81 |
+
add_action('admin_action_gmw_export_widgets', array('GMW_export_import', 'send_export_file'));
|
82 |
+
|
83 |
+
// add options menu
|
84 |
+
add_action('admin_menu', array('GMW', 'add_menus'));
|
85 |
+
|
86 |
+
// settings registration
|
87 |
+
add_action('admin_init', array('GMW', 'register_settings'));
|
88 |
|
89 |
// display various notices
|
90 |
+
GMW::add_notices();
|
91 |
} else {
|
92 |
// enqueue frontend scripts
|
93 |
+
add_action('wp_enqueue_scripts', array('GMW', 'register_scripts'));
|
94 |
+
add_action('wp_footer', array('GMW', 'dialogs_markup'));
|
95 |
}
|
96 |
|
97 |
+
// track plugin usage
|
98 |
+
GMW_tracking::init();
|
99 |
+
|
100 |
// add shortcode support
|
101 |
+
GMW::add_shortcodes();
|
102 |
} // init
|
103 |
|
104 |
|
112 |
// initialize widgets
|
113 |
static function widgets_init() {
|
114 |
register_widget('GoogleMapsWidget');
|
115 |
+
|
116 |
+
if (GMW::is_activated()) {
|
117 |
+
register_sidebar( array(
|
118 |
+
'name' => __('Google Maps Widget PRO hidden sidebar', 'google-maps-widget'),
|
119 |
+
'id' => 'google-maps-widget-hidden',
|
120 |
+
'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'),
|
121 |
+
'before_widget' => '<li id="%1$s" class="widget %2$s">',
|
122 |
+
'after_widget' => '</li>',
|
123 |
+
'before_title' => '<h2 class="widgettitle">',
|
124 |
+
'after_title' => '</h2>',
|
125 |
+
));
|
126 |
+
} // if activated
|
127 |
} // widgets_init
|
128 |
|
129 |
|
130 |
+
// all settings are saved in one option
|
131 |
+
static function register_settings() {
|
132 |
+
register_setting(GMW::$options, GMW::$options, array('GMW', 'sanitize_settings'));
|
133 |
+
} // register_settings
|
134 |
+
|
135 |
+
|
136 |
+
// sanitize settings on save
|
137 |
+
static function sanitize_settings($values) {
|
138 |
+
$new_values = array();
|
139 |
+
$old_options = GMW::get_options();
|
140 |
+
|
141 |
+
// license_key_changed
|
142 |
+
if (isset($_POST['submit-license'])) {
|
143 |
+
if (empty($values['activation_code'])) {
|
144 |
+
$new_values['license_type'] = '';
|
145 |
+
$new_values['license_expires'] = '';
|
146 |
+
$new_values['license_active'] = false;
|
147 |
+
$new_values['activation_code'] = '';
|
148 |
+
} else {
|
149 |
+
$tmp = GMW::validate_activation_code($values['activation_code']);
|
150 |
+
$new_values['activation_code'] = $values['activation_code'];
|
151 |
+
if ($tmp['success']) {
|
152 |
+
$new_values['license_type'] = $tmp['license_type'];
|
153 |
+
$new_values['license_expires'] = $tmp['license_expires'];
|
154 |
+
$new_values['license_active'] = $tmp['license_active'];
|
155 |
+
if ($tmp['license_active']) {
|
156 |
+
add_settings_error(GMW::$options, 'license_key', __('License key saved and activated!', 'google-maps-widget'), 'updated');
|
157 |
+
} else {
|
158 |
+
add_settings_error(GMW::$options, 'license_key', 'License not active. ' . $tmp['error'], 'error');
|
159 |
+
}
|
160 |
+
} else {
|
161 |
+
add_settings_error(GMW::$options, 'license_key', 'Unable to contact licensing server. Please try again in a few moments.', 'error');
|
162 |
+
}
|
163 |
+
}
|
164 |
+
$values = $new_values;
|
165 |
+
} elseif (isset($_POST['submit'])) { // save settings
|
166 |
+
foreach ($values as $key => $value) {
|
167 |
+
switch ($key) {
|
168 |
+
case 'api_key':
|
169 |
+
$values[$key] = str_replace(' ', '', $value);
|
170 |
+
break;
|
171 |
+
case 'sc_map':
|
172 |
+
$values[$key] = sanitize_title_with_dashes($value);
|
173 |
+
break;
|
174 |
+
case 'activation_code':
|
175 |
+
$values[$key] = substr(trim($value), 0, 50);
|
176 |
+
break;
|
177 |
+
case 'track_ga':
|
178 |
+
case 'include_jquery':
|
179 |
+
case 'include_lightbox_css':
|
180 |
+
case 'include_lightbox_js':
|
181 |
+
case 'disable_tooltips':
|
182 |
+
$values[$key] = (int) $value;
|
183 |
+
break;
|
184 |
+
} // switch
|
185 |
+
} // foreach
|
186 |
+
|
187 |
+
if (GMW::is_activated()) {
|
188 |
+
$values = GMW::check_var_isset($values, array('track_ga' => 0, 'include_jquery' => 0, 'include_lightbox_js' => '0', 'include_lightbox_css' => '0', 'disable_tooltips' => '0'));
|
189 |
+
}
|
190 |
+
|
191 |
+
if (strlen($values['api_key']) < 30) {
|
192 |
+
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');
|
193 |
+
}
|
194 |
+
|
195 |
+
if (GMW::is_activated() && empty($values['sc_map'])) {
|
196 |
+
$values['sc_map'] = 'gmw';
|
197 |
+
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');
|
198 |
+
}
|
199 |
+
} elseif (isset($_POST['submit-import'])) { // import widgets
|
200 |
+
$import_data = GMW_export_import::validate_import_file();
|
201 |
+
if (is_wp_error($import_data)) {
|
202 |
+
add_settings_error(GMW::$options, 'import_widgets', $import_data->get_error_message(), 'error');
|
203 |
+
} else {
|
204 |
+
$results = GMW_export_import::process_import_file($import_data);
|
205 |
+
add_settings_error(GMW::$options, 'import_widgets', __($results['total'] . ' widgets imported.', 'google-maps-widget'), 'updated');
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
return array_merge($old_options, $values);
|
210 |
+
} // sanitize_settings
|
211 |
+
|
212 |
+
|
213 |
+
// return default options
|
214 |
+
static function default_options() {
|
215 |
+
$defaults = array('sc_map' => 'gmw',
|
216 |
+
'api_key' => '',
|
217 |
+
'track_ga' => '0',
|
218 |
+
'include_jquery' => '1',
|
219 |
+
'include_lightbox_js' => '1',
|
220 |
+
'include_lightbox_css' => '1',
|
221 |
+
'disable_tooltips' => '0',
|
222 |
+
'activation_code' => '',
|
223 |
+
'license_active' => '',
|
224 |
+
'license_expires' => '',
|
225 |
+
'license_type' => ''
|
226 |
+
);
|
227 |
+
|
228 |
+
return $defaults;
|
229 |
+
} // default_settings
|
230 |
+
|
231 |
+
|
232 |
+
// get plugin's options
|
233 |
+
static function get_options() {
|
234 |
+
$options = get_option(GMW::$options, array());
|
235 |
+
|
236 |
+
if (!is_array($options)) {
|
237 |
+
$options = array();
|
238 |
+
}
|
239 |
+
if (empty($options) || !isset($options['sc_map']) || !isset($options['track_ga'])) {
|
240 |
+
$options = array_merge(GMW::default_options(), $options);
|
241 |
+
update_option(GMW::$options, $options);
|
242 |
+
}
|
243 |
+
|
244 |
+
return $options;
|
245 |
+
} // get_options
|
246 |
+
|
247 |
+
|
248 |
+
// update and set one or more options
|
249 |
+
static function set_options($new_options) {
|
250 |
+
if (!is_array($new_options)) {
|
251 |
+
return false;
|
252 |
+
}
|
253 |
+
|
254 |
+
$options = GMW::get_options();
|
255 |
+
$options = array_merge($options, $new_options);
|
256 |
+
|
257 |
+
update_option(GMW::$options, $options);
|
258 |
+
|
259 |
+
return $options;
|
260 |
+
} // set_options
|
261 |
+
|
262 |
+
|
263 |
// add widgets link to plugins page
|
264 |
static function plugin_action_links($links) {
|
265 |
+
$settings_link = '<a href="' . admin_url('options-general.php?page=gmw_options') . '" title="' . __('Settings for Google Maps Widget', 'google-maps-widget') . '">' . __('Settings', 'google-maps-widget') . '</a>';
|
266 |
+
$widgets_link = '<a href="' . admin_url('widgets.php') . '" title="' . __('Configure Google Maps Widget for your theme', 'google-maps-widget') . '">' . __('Widgets', 'google-maps-widget') . '</a>';
|
267 |
+
|
268 |
array_unshift($links, $settings_link);
|
269 |
+
array_unshift($links, $widgets_link);
|
270 |
|
271 |
return $links;
|
272 |
} // plugin_action_links
|
275 |
// add links to plugin's description in plugins table
|
276 |
static function plugin_meta_links($links, $file) {
|
277 |
$documentation_link = '<a target="_blank" href="http://www.googlemapswidget.com/documentation/" title="' . __('View Google Maps Widget documentation', 'google-maps-widget') . '">'. __('Documentation', 'google-maps-widget') . '</a>';
|
278 |
+
if (GMW::is_activated()) {
|
279 |
+
$support_link = '<a target="_blank" href="mailto:gmw@webfactoryltd.com?subject=GMW%20support" title="' . __('Problems? We are here to help!', 'google-maps-widget') . '">' . __('Support', 'google-maps-widget') . '</a>';
|
280 |
+
} else {
|
281 |
+
$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>';
|
282 |
+
}
|
283 |
$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>';
|
284 |
+
$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>';
|
|
|
285 |
|
286 |
if ($file == plugin_basename(__FILE__)) {
|
287 |
$links[] = $documentation_link;
|
288 |
$links[] = $support_link;
|
289 |
$links[] = $review_link;
|
290 |
+
if (!GMW::is_activated()) {
|
|
|
291 |
$links[] = $activate_link;
|
292 |
}
|
293 |
}
|
296 |
} // plugin_meta_links
|
297 |
|
298 |
|
299 |
+
// check if user has the minimal WP version required by GMW
|
300 |
static function check_wp_version($min_version) {
|
301 |
if (!version_compare(get_bloginfo('version'), $min_version, '>=')) {
|
302 |
+
add_action('admin_notices', array('GMW', 'notice_min_version_error'));
|
303 |
+
return false;
|
304 |
}
|
305 |
+
|
306 |
+
return true;
|
307 |
} // check_wp_version
|
308 |
|
309 |
|
310 |
// display error message if WP version is too low
|
311 |
static function notice_min_version_error() {
|
312 |
+
echo '<div class="error"><p>' . sprintf(__('Google Maps Widget <b>requires WordPress version 3.8</b> or higher to function properly. You are using WordPress version %s. Please <a href="%s">update it</a>.', 'google-maps-widget'), get_bloginfo('version'), admin_url('update-core.php')) . '</p></div>';
|
313 |
} // notice_min_version_error
|
314 |
|
315 |
|
316 |
+
// get users maps api key or one of temporary plugin ones
|
317 |
+
static function get_api_key($type = 'static') {
|
318 |
+
$options = GMW::get_options();
|
319 |
+
$default_api_keys = array('AIzaSyB35Ukt8bKRSY-mII-1Q7DmVx8LnlpmND0', 'AIzaSyCsY7jqJLTFBtRsGLcb-JQOhW6910qh1ts', 'AIzaSyDawXzxQurkSkkTxzzW-WRYKmia_Y28S1Q', 'AIzaSyAROFAWFu9Jr9s7RlBmrMqeQ8COGIL_R1Y', 'AIzaSyD6CpBT4dZ49Or182CXjr29le1eJeZ-NPU');
|
320 |
+
|
321 |
+
if ($type == 'static') {
|
322 |
+
return $options['api_key'];
|
323 |
+
} elseif ($type == 'embed') {
|
324 |
+
if (!empty($options['api_key'])) {
|
325 |
+
return $options['api_key'];
|
326 |
+
} else {
|
327 |
+
shuffle($default_api_keys);
|
328 |
+
return $default_api_keys[0];
|
329 |
+
}
|
330 |
+
}
|
331 |
+
|
332 |
+
return false;
|
333 |
+
} // get_api_key
|
334 |
+
|
335 |
+
|
336 |
+
// build a complete URL for the iframe map
|
337 |
+
static function build_lightbox_url($widget) {
|
338 |
+
$map_params = array();
|
339 |
+
|
340 |
+
if ($widget['lightbox_mode'] == 'place') {
|
341 |
+
$map_params['q'] = $widget['address'];
|
342 |
+
$map_params['attribution_source'] = get_bloginfo('name');
|
343 |
+
$map_params['attribution_web_url'] = get_bloginfo('url');
|
344 |
+
$map_params['attribution_ios_deep_link_id'] = 'comgooglemaps://?daddr=' . $widget['address'];
|
345 |
+
$map_params['maptype'] = $widget['lightbox_map_type'];
|
346 |
+
$map_params['zoom'] = $widget['lightbox_zoom'];
|
347 |
+
} elseif ($widget['lightbox_mode'] == 'directions') {
|
348 |
+
$map_params['origin'] = $widget['lightbox_origin'];
|
349 |
+
$map_params['destination'] = $widget['address'];
|
350 |
+
$map_params['maptype'] = $widget['lightbox_map_type'];
|
351 |
+
if (!empty($widget['lightbox_unit']) && $widget['lightbox_unit'] != 'auto') {
|
352 |
+
$map_params['units'] = $widget['lightbox_unit'];
|
353 |
+
}
|
354 |
+
if ($widget['lightbox_zoom'] != 'auto') {
|
355 |
+
$map_params['zoom'] = $widget['lightbox_zoom'];
|
356 |
+
}
|
357 |
+
} elseif ($widget['lightbox_mode'] == 'search') {
|
358 |
+
if (($coordinates = GMW::get_coordinates($widget['address'])) !== false) {
|
359 |
+
$map_params['center'] = $coordinates['lat'] . ',' . $coordinates['lng'];
|
360 |
+
}
|
361 |
+
$map_params['q'] = $widget['lightbox_search'];
|
362 |
+
$map_params['maptype'] = $widget['lightbox_map_type'];
|
363 |
+
if ($widget['lightbox_zoom'] != 'auto') {
|
364 |
+
$map_params['zoom'] = $widget['lightbox_zoom'];
|
365 |
+
}
|
366 |
+
} elseif ($widget['lightbox_mode'] == 'view') {
|
367 |
+
if (($coordinates = GMW::get_coordinates($widget['address'])) !== false) {
|
368 |
+
$map_params['center'] = $coordinates['lat'] . ',' . $coordinates['lng'];
|
369 |
+
}
|
370 |
+
$map_params['maptype'] = $widget['lightbox_map_type'];
|
371 |
+
if ($widget['lightbox_zoom'] != 'auto') {
|
372 |
+
$map_params['zoom'] = $widget['lightbox_zoom'];
|
373 |
+
}
|
374 |
+
} elseif ($widget['lightbox_mode'] == 'streetview') {
|
375 |
+
if (($coordinates = GMW::get_coordinates($widget['address'])) !== false) {
|
376 |
+
$map_params['location'] = $coordinates['lat'] . ',' . $coordinates['lng'];
|
377 |
+
}
|
378 |
+
$map_params['heading'] = $widget['lightbox_heading'];
|
379 |
+
$map_params['pitch'] = $widget['lightbox_pitch'];
|
380 |
+
}
|
381 |
+
|
382 |
+
if ($widget['lightbox_lang'] != 'auto') {
|
383 |
+
$map_params['language'] = $widget['lightbox_lang'];
|
384 |
+
}
|
385 |
+
$map_params['key'] = GMW::get_api_key('embed');
|
386 |
+
|
387 |
+
$map_url = 'https://www.google.com/maps/embed/v1/' . $widget['lightbox_mode'] . '?';
|
388 |
+
$map_url .= http_build_query($map_params, null, '&');
|
389 |
+
|
390 |
+
return $map_url;
|
391 |
+
} // build_lightbox_url
|
392 |
+
|
393 |
+
|
394 |
+
// fetch coordinates based on the address
|
395 |
+
static function get_coordinates($address, $force_refresh = false) {
|
396 |
+
$address_hash = md5('gmw_' . $address);
|
397 |
+
|
398 |
+
if ($force_refresh || ($data = get_transient($address_hash)) === false) {
|
399 |
+
$url = 'https://maps.googleapis.com/maps/api/geocode/xml?address=' . urlencode($address) . '&sensor=false';
|
400 |
+
$result = wp_remote_get($url, array('sslverify' => false, 'timeout' => 5));
|
401 |
+
|
402 |
+
if (!is_wp_error($result) && $result['response']['code'] == 200) {
|
403 |
+
$data = new SimpleXMLElement($result['body']);
|
404 |
+
|
405 |
+
if ($data->status == 'OK') {
|
406 |
+
$cache_value['lat'] = (string) $data->result->geometry->location->lat;
|
407 |
+
$cache_value['lng'] = (string) $data->result->geometry->location->lng;
|
408 |
+
$cache_value['address'] = (string) $data->result->formatted_address;
|
409 |
+
|
410 |
+
// cache coordinates for 2 months
|
411 |
+
set_transient($address_hash, $cache_value, DAY_IN_SECONDS * 60);
|
412 |
+
$data = $cache_value;
|
413 |
+
$data['cached'] = false;
|
414 |
+
} elseif (!$data->status) {
|
415 |
+
return false;
|
416 |
+
} else {
|
417 |
+
return false;
|
418 |
+
}
|
419 |
+
} else {
|
420 |
+
return false;
|
421 |
+
}
|
422 |
+
} else {
|
423 |
+
// data is cached
|
424 |
+
$data['cached'] = true;
|
425 |
+
}
|
426 |
+
|
427 |
+
return $data;
|
428 |
+
} // get_coordinates
|
429 |
+
|
430 |
+
|
431 |
// print dialogs markup in footer
|
432 |
static function dialogs_markup() {
|
433 |
$out = '';
|
434 |
+
$js_vars = array();
|
435 |
+
$options = GMW::get_options();
|
436 |
|
437 |
+
if (empty(GoogleMapsWidget::$widgets)) {
|
|
|
|
|
438 |
return;
|
439 |
}
|
440 |
|
441 |
+
// add CSS and JS in footer
|
442 |
+
$js_vars['track_ga'] = $options['track_ga'];
|
443 |
+
if ($options['include_lightbox_css']) {
|
444 |
+
$js_vars['colorbox_css'] = plugins_url('/css/gmw.css', __FILE__) . '?ver=' . GMW::$version;
|
445 |
+
} else {
|
446 |
+
$js_vars['colorbox_css'] = false;
|
447 |
+
}
|
448 |
+
if ($options['include_lightbox_js']) {
|
449 |
+
wp_enqueue_script('gmw-colorbox');
|
450 |
+
}
|
451 |
+
wp_enqueue_script('gmw');
|
452 |
+
wp_localize_script('gmw', 'gmw_data', $js_vars);
|
453 |
|
454 |
+
foreach (GoogleMapsWidget::$widgets as $widget) {
|
455 |
+
$map_url = GMW::build_lightbox_url($widget);
|
|
|
|
|
456 |
|
457 |
+
if ($widget['lightbox_fullscreen']) {
|
458 |
+
$widget['lightbox_width'] = '100%';
|
459 |
+
$widget['lightbox_height'] = '100%';
|
460 |
+
}
|
461 |
|
462 |
+
$out .= '<div class="gmw-dialog" style="display: none;" data-map-height="' . $widget['lightbox_height'] . '"
|
463 |
+
data-map-width="' . $widget['lightbox_width'] . '" data-thumb-height="' . $widget['thumb_height'] . '"
|
464 |
+
data-thumb-width="' . $widget['thumb_width'] . '" data-map-skin="' . $widget['lightbox_skin'] . '"
|
465 |
+
data-map-iframe-url="' . $map_url . '" id="gmw-dialog-' . $widget['id'] . '" title="' . esc_attr($widget['title']) . '"
|
466 |
+
data-close-button="' . (int) in_array('close_button', $widget['lightbox_feature']) . '"
|
467 |
+
data-show-title="' . (int) in_array('title', $widget['lightbox_feature']) . '"
|
468 |
+
data-close-overlay="' . (int) in_array('overlay_close', $widget['lightbox_feature']) . '"
|
469 |
+
data-close-esc="' . (int) in_array('esc_close', $widget['lightbox_feature']) . '">';
|
470 |
+
if ($widget['lightbox_header']) {
|
471 |
+
$tmp = str_ireplace(array('{address}'), array($widget['address']), $widget['lightbox_header']);
|
472 |
+
$out .= '<div class="gmw-header">' . wpautop(do_shortcode($tmp)) . '</div>';
|
473 |
}
|
474 |
$out .= '<div class="gmw-map"></div>';
|
475 |
+
if ($widget['lightbox_footer']) {
|
476 |
+
$tmp = str_ireplace(array('{address}'), array($widget['address']), $widget['lightbox_footer']);
|
477 |
+
$out .= '<div class="gmw-footer">' . wpautop(do_shortcode($tmp)) . '</div>';
|
478 |
}
|
479 |
$out .= "</div>\n";
|
480 |
} // foreach $widgets
|
483 |
} // dialogs_markup
|
484 |
|
485 |
|
486 |
+
// add plugin menus
|
487 |
+
static function add_menus() {
|
488 |
+
$title = __('Google Maps Widget', 'google-maps-widget');
|
489 |
+
if (GMW::is_activated()) {
|
490 |
+
$title = '<span style="font-size: 11px;">' . $title . ' <span style="color: #d54e21;">PRO</span></span>';
|
491 |
+
}
|
492 |
+
|
493 |
+
add_options_page($title, $title, 'manage_options', GMW::$options, array('GMW', 'settings_screen'));
|
494 |
+
} // add_menus
|
495 |
+
|
496 |
+
|
497 |
// check availability and register shortcode
|
498 |
+
static function add_shortcodes() {
|
499 |
+
if (!GMW::is_activated()) {
|
500 |
+
return;
|
501 |
+
}
|
502 |
+
|
503 |
global $shortcode_tags;
|
504 |
+
$options = GMW::get_options();
|
505 |
|
506 |
+
if (isset($shortcode_tags[$options['sc_map']])) {
|
507 |
+
add_action('admin_notices', array('GMW', 'notice_sc_conflict_error'));
|
508 |
} else {
|
509 |
+
add_shortcode($options['sc_map'], array('GMW', 'do_shortcode'));
|
510 |
}
|
511 |
+
} // add_shortcodes
|
512 |
|
513 |
|
514 |
// display notice if shortcode name is already taken
|
515 |
static function notice_sc_conflict_error() {
|
516 |
+
$options = GMW::get_options();
|
|
|
|
|
517 |
|
518 |
+
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>';
|
519 |
} // notice_sc_conflict_error
|
520 |
|
521 |
|
522 |
+
// handle dismiss button for notices
|
|
|
523 |
static function dismiss_notice() {
|
524 |
+
if (empty($_GET['notice'])) {
|
525 |
+
wp_redirect(admin_url());
|
526 |
+
exit;
|
|
|
|
|
|
|
|
|
|
|
|
|
527 |
}
|
528 |
|
529 |
+
if ($_GET['notice'] == 'upgrade') {
|
530 |
+
GMW::set_options(array('dismiss_notice_upgrade2' => true));
|
531 |
+
}
|
532 |
+
if ($_GET['notice'] == 'rate') {
|
533 |
+
GMW::set_options(array('dismiss_notice_rate' => true));
|
534 |
+
}
|
535 |
+
if ($_GET['notice'] == 'api_key') {
|
536 |
+
GMW::set_options(array('dismiss_notice_api_key' => true));
|
537 |
+
}
|
538 |
+
if ($_GET['notice'] == 'license_expires') {
|
539 |
+
GMW::set_options(array('dismiss_notice_license_expires' => true));
|
540 |
+
}
|
541 |
+
|
542 |
+
if (!empty($_GET['redirect'])) {
|
543 |
wp_redirect($_GET['redirect']);
|
544 |
} else {
|
545 |
wp_redirect(admin_url());
|
546 |
}
|
547 |
+
|
548 |
exit;
|
549 |
} // dismiss_notice
|
550 |
|
551 |
|
552 |
+
// controls which notices are shown
|
553 |
static function add_notices() {
|
554 |
+
$options = GMW::get_options();
|
555 |
$notice = false;
|
556 |
+
|
557 |
+
// license expire notice is always shown
|
558 |
+
if (!$notice && GMW::is_activated() && empty($options['dismiss_notice_license_expires']) &&
|
559 |
+
(strtotime($options['license_expires']) - time() < DAY_IN_SECONDS * 15)) {
|
560 |
+
add_action('admin_notices', array('GMW', 'notice_license_expires'));
|
561 |
+
$notice = true;
|
562 |
+
} // show license expire notice
|
563 |
|
564 |
+
// API key notification is shown if there are active widgets and no key
|
565 |
+
if (!$notice && empty($options['dismiss_notice_api_key']) &&
|
566 |
+
!GMW::get_api_key('static') && GMW_tracking::count_active_widgets() > 0) {
|
567 |
+
add_action('admin_notices', array('GMW', 'notice_api_key'));
|
568 |
+
$notice = true;
|
569 |
+
} // show api key notice
|
570 |
+
|
571 |
+
// upgrade notice is shown after one day
|
572 |
+
if (!$notice && empty($options['dismiss_notice_upgrade2']) && !GMW::is_activated() &&
|
573 |
+
(current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS)) {
|
574 |
+
add_action('admin_notices', array('GMW', 'notice_upgrade'));
|
575 |
$notice = true;
|
576 |
} // show upgrade notice
|
577 |
|
578 |
+
// rating notification is shown after 5 days if you have active widgets
|
579 |
if (!$notice && empty($options['dismiss_notice_rate']) &&
|
580 |
GMW_tracking::count_active_widgets() > 0 &&
|
581 |
+
(current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 5)) {
|
582 |
+
add_action('admin_notices', array('GMW', 'notice_rate_plugin'));
|
583 |
$notice = true;
|
584 |
} // show rate notice
|
585 |
+
|
586 |
+
// tracking notification is shown after 15 days and only to non PRO users
|
587 |
+
if (!$notice && !isset($options['allow_tracking']) && !GMW::is_activated() &&
|
588 |
+
((current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 15))) {
|
589 |
add_action('admin_notices', array('GMW_tracking', 'tracking_notice'));
|
590 |
$notice = true;
|
591 |
} // show tracking notice
|
592 |
} // add_notices
|
593 |
|
594 |
|
595 |
+
// display message if license will expire in 14 days or less
|
596 |
+
static function notice_license_expires() {
|
597 |
+
$options = GMW::get_options();
|
598 |
+
|
599 |
+
$buy_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
600 |
+
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'license_expires', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
601 |
+
$days = strtotime($options['license_expires']) - time();
|
602 |
+
$days = round($days / DAY_IN_SECONDS);
|
603 |
+
|
604 |
+
echo '<div id="gmw_license_expires_notice" class="error notice"><p>';
|
605 |
+
echo 'Your <b>Google Maps Widget</b> <b style="color: #d54e21;">PRO</b> license ';
|
606 |
+
if ($days > 1) {
|
607 |
+
echo '<b>expires in ' . $days . ' days</b>!';
|
608 |
+
} elseif ($days == 0) {
|
609 |
+
echo '<b>expires today</b>!';
|
610 |
+
} else {
|
611 |
+
echo '<b>has expired</b>!';
|
612 |
+
}
|
613 |
+
echo ' <a href="' . esc_url($buy_url) . '">Renew now</a> and for a limited time pay only as much as you <b>think is far</b>!<br>';
|
614 |
+
echo 'All extra features will be disabled once the license expires.';
|
615 |
+
|
616 |
+
echo '<br><a href="' . esc_url($buy_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Pay what you think is fair', 'google-maps-widget') . '</a>';
|
617 |
+
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I will pay the full price later', 'google-maps-widget') . '</a>';
|
618 |
+
echo '</p></div>';
|
619 |
+
} // notice_license_expires
|
620 |
+
|
621 |
+
|
622 |
+
// display message to get pro features for GMW
|
623 |
+
static function notice_upgrade() {
|
624 |
+
$activate_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
625 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
626 |
|
627 |
+
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. Check them out and grab the limited time offer! Act now!', 'google-maps-widget');
|
|
|
|
|
628 |
|
629 |
+
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>';
|
630 |
+
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I will pay more later', 'google-maps-widget') . '</a>';
|
631 |
echo '</p></div>';
|
632 |
} // notice_activate_extra_features
|
633 |
+
|
634 |
+
|
635 |
+
// display message to get pro features for GMW
|
636 |
static function notice_rate_plugin() {
|
637 |
$rate_url = 'https://wordpress.org/support/view/plugin-reviews/google-maps-widget?rate=5#postform';
|
638 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'rate', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
639 |
|
640 |
+
echo '<div id="gmw_rate_notice" class="updated notice"><p>' . __('Hi! We saw you\'ve been using <b>Google Maps Widget</b> for a few days and wanted to ask for your help to make the plugin even better.<br>We just need a minute of your time to rate the plugin. Thank you!', 'google-maps-widget');
|
|
|
|
|
641 |
|
642 |
+
echo '<br><a target="_blank" href="' . esc_url($rate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Help us out & rate the plugin', 'google-maps-widget') . '</a>';
|
643 |
+
echo ' <a href="' . esc_url($dismiss_url) . '">' . __('I already rated the plugin', 'google-maps-widget') . '</a>';
|
644 |
echo '</p></div>';
|
645 |
} // notice_rate_plugin
|
646 |
+
|
647 |
+
|
648 |
+
// display message to get pro features for GMW
|
649 |
+
static function notice_api_key() {
|
650 |
+
if (GMW::is_plugin_admin_page('settings')) {
|
651 |
+
echo '<div id="gmw_api_key_notice" class="error notice"><p>';
|
652 |
+
echo '<b>Important!</b> New Google rules dictate that you have to register for a <b>free Google Maps API key</b>. ';
|
653 |
+
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.';
|
654 |
+
echo '</p></div>';
|
655 |
+
} else {
|
656 |
+
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'api_key', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
657 |
+
|
658 |
+
echo '<div id="gmw_api_key_notice" class="error notice"><p>';
|
659 |
+
echo '<b>Important!</b> New Google rules dictate that you have to register for a <b>free Google Maps API key</b>. ';
|
660 |
+
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.';
|
661 |
+
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>';
|
662 |
+
echo ' <a href="' . esc_url($dismiss_url) . '">' . __('Dismiss notice', 'google-maps-widget') . '</a>';
|
663 |
+
echo '</p></div>';
|
664 |
+
}
|
665 |
+
} // notice_api_key
|
666 |
|
667 |
|
668 |
+
// register frontend scripts and styles
|
669 |
+
static function register_scripts() {
|
670 |
+
$options = GMW::get_options();
|
671 |
+
|
672 |
+
wp_register_style('gmw', plugins_url('/css/gmw.css', __FILE__), array(), GMW::$version);
|
673 |
+
|
674 |
+
if ($options['include_jquery']) {
|
675 |
+
wp_register_script('gmw-colorbox', plugins_url('/js/jquery.colorbox.min.js', __FILE__), array('jquery'), GMW::$version, true);
|
676 |
+
wp_register_script('gmw', plugins_url('/js/gmw.js', __FILE__), array('jquery'), GMW::$version, true);
|
677 |
+
} else {
|
678 |
+
wp_register_script('gmw-colorbox', plugins_url('/js/jquery.colorbox.min.js', __FILE__), array(), GMW::$version, true);
|
679 |
+
wp_register_script('gmw', plugins_url('/js/gmw.js', __FILE__), array(), GMW::$version, true);
|
680 |
}
|
681 |
+
} // register_scripts
|
682 |
|
683 |
|
684 |
+
// enqueue CSS and JS scripts in admin
|
685 |
static function admin_enqueue_scripts() {
|
686 |
global $wp_customize;
|
687 |
+
$options = GMW::get_options();
|
688 |
|
689 |
+
if (GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings') || !empty($wp_customize)) {
|
690 |
wp_enqueue_script('jquery-ui-tabs');
|
691 |
wp_enqueue_script('jquery-ui-dialog');
|
692 |
+
wp_enqueue_script('wp-color-picker');
|
693 |
+
wp_enqueue_script('wp-pointer');
|
694 |
wp_enqueue_script('gmw-cookie', plugins_url('js/jquery.cookie.js', __FILE__), array('jquery'), GMW::$version, true);
|
695 |
+
wp_enqueue_script('gmw-gmap', '//maps.google.com/maps/api/js', array(), GMW::$version, true);
|
696 |
+
wp_enqueue_script('gmw-select2', plugins_url('js/select2.min.js', __FILE__), array('jquery'), GMW::$version, true);
|
697 |
wp_enqueue_script('gmw-admin', plugins_url('js/gmw-admin.js', __FILE__), array('jquery'), GMW::$version, true);
|
698 |
|
699 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
700 |
+
wp_enqueue_style('wp-color-picker');
|
701 |
+
wp_enqueue_style('wp-pointer');
|
702 |
+
wp_enqueue_style('gmw-select2', plugins_url('css/select2.min.css', __FILE__), array(), GMW::$version);
|
703 |
wp_enqueue_style('gmw-admin', plugins_url('css/gmw-admin.css', __FILE__), array(), GMW::$version);
|
704 |
|
705 |
+
$js_localize = array('activate_ok' => __('Superb! PRO features are active ;)', 'google-maps-widget'),
|
706 |
+
'dialog_map_title' => __('Pick an address by drag & dropping the pin', 'google-maps-widget'),
|
|
|
|
|
|
|
707 |
'undocumented_error' => __('An undocumented error has occured. Please refresh the page and try again.', 'google-maps-widget'),
|
708 |
+
'dialog_promo_title' => '<img alt="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" title="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" src="' . plugins_url('/images/gmw-logo-pro-dialog.png', __FILE__) . '">',
|
709 |
+
'dialog_pins_title' => __('Pins Library', 'google-maps-widget'),
|
710 |
+
'plugin_name' => GMW::is_activated()? __('Google Maps Widget PRO', 'google-maps-widget'): __('Google Maps Widget', 'google-maps-widget'),
|
711 |
+
'id_base' => 'googlemapswidget',
|
712 |
+
'map_picker_not_active' => __('Drag&drop address picking interface is a PRO feature. Interested in switching to PRO?', 'google-maps-widget'),
|
713 |
+
'map' => false,
|
714 |
+
'marker' => false,
|
715 |
+
'pins_library' => plugins_url('/images/pins/', __FILE__),
|
716 |
+
'disable_tooltips' => $options['disable_tooltips'],
|
717 |
+
'is_activated' => GMW::is_activated());
|
718 |
wp_localize_script('gmw-admin', 'gmw', $js_localize);
|
719 |
} // if
|
720 |
} // admin_enqueue_scripts
|
721 |
|
722 |
|
723 |
// check if plugin's admin page is shown
|
724 |
+
static function is_plugin_admin_page($page = 'widgets') {
|
725 |
$current_screen = get_current_screen();
|
726 |
|
727 |
+
if ($page == 'widgets' && $current_screen->id == 'widgets') {
|
728 |
+
return true;
|
729 |
+
}
|
730 |
+
|
731 |
+
if ($page == 'settings' && $current_screen->id == 'settings_page_gmw_options') {
|
732 |
return true;
|
|
|
|
|
733 |
}
|
734 |
+
|
735 |
+
if ($page == 'plugins' && $current_screen->id == 'plugins') {
|
736 |
+
return true;
|
737 |
+
}
|
738 |
+
|
739 |
+
return false;
|
740 |
} // is_plugin_admin_page
|
741 |
|
742 |
|
743 |
+
// check if license key is valid and not expired
|
744 |
+
static function is_activated($license_type = false) {
|
745 |
+
$options = GMW::get_options();
|
746 |
|
747 |
+
if (isset($options['license_active']) && $options['license_active'] === true &&
|
748 |
+
isset($options['license_expires']) && $options['license_expires'] >= date('Y-m-d')) {
|
749 |
+
|
750 |
+
if (mt_rand(0, 500) == 500) {
|
751 |
+
$tmp = GMW::validate_activation_code($options['activation_code']);
|
752 |
+
if ($tmp['success']) {
|
753 |
+
$update['license_type'] = $tmp['license_type'];
|
754 |
+
$update['license_expires'] = $tmp['license_expires'];
|
755 |
+
$update['license_active'] = $tmp['license_active'];
|
756 |
+
GMW::set_options($update);
|
757 |
+
}
|
758 |
+
} // random license revalidation
|
759 |
+
|
760 |
+
// check for specific license type?
|
761 |
+
if (!empty($license_type)) {
|
762 |
+
if (strtolower(trim($license_type)) == strtolower($options['license_type'])) {
|
763 |
+
return true;
|
764 |
+
} else {
|
765 |
+
return false;
|
766 |
+
}
|
767 |
+
} // check specific license type
|
768 |
+
|
769 |
+
return true;
|
770 |
} else {
|
771 |
+
return false;
|
|
|
|
|
|
|
|
|
772 |
}
|
773 |
} // is_activated
|
774 |
|
775 |
|
776 |
// echo markup for promo dialog; only on widgets page
|
777 |
static function admin_dialogs_markup() {
|
778 |
+
$out = '';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
779 |
|
780 |
+
if ((GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings'))) {
|
781 |
+
$out .= '<div id="gmw_promo_dialog" style="display: none;">';
|
782 |
+
|
783 |
+
$out .= '<div id="gmw_dialog_intro" class="gmw_promo_dialog_screen">
|
784 |
+
<div class="content">
|
785 |
+
<div class="center boxed-h">Not sure if it\'s worth it? See everything <span class="gmw-pro-red">PRO</span> has to offer.<br><a href="#" class="button-secondary gmw_goto_pro">See PRO features</a></div>';
|
786 |
+
$out .= '<div class="gmw-left-box gmw-content-box">
|
787 |
+
<h3>Buy PRO</h3>
|
788 |
+
<p><strike><i>$29</i></strike> $19 for unlimited sites</p>
|
789 |
+
<i class="dashicons dashicons-star-filled"></i>
|
790 |
+
<ul>
|
791 |
+
<li>One-time fee - lifetime license</li>
|
792 |
+
<li>Premium email support for 1 year</li>
|
793 |
+
<li>Access to all PRO features</li>
|
794 |
+
<li>Export & import feature</li>
|
795 |
+
<li style="display: none;">Extra skins and icons</li>
|
796 |
</ul>
|
797 |
+
<a href="http://www.googlemapswidget.com/buy/?p=pro" data-noprevent="1" class="gmw_goto_activation button-primary" target="_blank">BUY NOW</a>
|
798 |
+
</div>';
|
799 |
+
$out .= '<div class="gmw-right-box gmw-content-box gmw-content-box-alternate">
|
800 |
+
<h3>Donate</h3>
|
801 |
+
<p>as much as you thinks is fair</p>
|
802 |
+
<i class="dashicons dashicons-heart"></i>
|
803 |
+
<ul>
|
804 |
+
<li>One-time fee - lifetime license</li>
|
805 |
+
<li>Priority community based support</li>
|
806 |
+
<li>Access to PRO features</li>
|
807 |
+
<li class="gmw-not-available">Export & import feature</li>
|
808 |
+
<li style="display: none;" class="gmw-not-available">Extra skins and icons</li>
|
809 |
+
</ul>
|
810 |
+
<a href="http://www.googlemapswidget.com/buy/?p=donate" data-noprevent="1" class="gmw_goto_activation button-secondary" target="_blank">Donate</a>
|
811 |
+
</div>';
|
812 |
+
$out .= '<p class="clear center gmw-footer-intro">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>';
|
813 |
+
$out .= '</div></div>'; // dialog intro
|
814 |
+
|
815 |
+
$out .= '<div id="gmw_dialog_activate" style="display: none;" class="gmw_promo_dialog_screen">
|
816 |
+
<div class="content">';
|
817 |
+
$out .= '<p class="input_row">
|
818 |
+
<input type="text" id="gmw_code" name="gmw_code" placeholder="Please enter the license key.">
|
819 |
+
<span style="display: none;" class="error gmw_code">Unable to verify license key. Unknown error.</span></p>
|
820 |
+
<p class="center">
|
821 |
+
<a href="#" class="button button-primary" id="gmw_activate">Activate PRO features</a>
|
822 |
+
</p>
|
823 |
+
<p class="center">If you don\'t have a license key - <a href="#" class="gmw_goto_intro">Get it now</a></p>
|
824 |
+
</div>';
|
825 |
+
$out .= '<div class="footer">
|
826 |
+
<p><b>FAQ</b></p>
|
827 |
+
<ul class="gmw-faq-ul">
|
828 |
+
<li>Payed or donated and didn\'t received the key? <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">Email us</a></li>
|
829 |
+
<li>Key not working? Our <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">support</a> is here to help</li>
|
830 |
+
<li>Your key is valid for an unlimited number of sites</li>
|
831 |
+
</ul>
|
832 |
+
</div>';
|
833 |
+
$out .= '</div>'; // activate screen
|
834 |
+
|
835 |
+
$out .= '<div id="gmw_dialog_pro_features" style="display: none;" class="gmw_promo_dialog_screen">
|
836 |
+
<div class="content">';
|
837 |
+
$out .= '<h4>Detailed description of <span class="gmw-pro-red">PRO</span> features</h4>';
|
838 |
+
$out .= '<ul class="list-left">';
|
839 |
+
$out .= '<li>11 thumbnail map skins</li>
|
840 |
+
<li>700+ thumbnail map pins</li>
|
841 |
+
<li>4 extra map image formats for even faster loading</li>
|
842 |
+
<li>replace thumb with interactive map feature</li>
|
843 |
+
<li>extra hidden sidebar for easier shortcode handling</li>
|
844 |
+
<li>custom map language option</li>
|
845 |
+
<li>4 map modes; directions, view, street & streetview</li>
|
846 |
+
<li>fully customizable pin options for thumbnail map</li>
|
847 |
+
<li>Advanced cache & fastest loading times</li>
|
848 |
+
<li>JS & CSS optimization options</li>';
|
849 |
+
$out .= '</ul>';
|
850 |
+
$out .= '<ul class="list-right">';
|
851 |
+
$out .= '<li>3 additional map link types</li>
|
852 |
+
<li>fullscreen lightbox mode</li>
|
853 |
+
<li>extra lightbox features</li>
|
854 |
+
<li>19 lightbox skins</li>
|
855 |
+
<li>full shortcode support</li>
|
856 |
+
<li>export & import tools</li>
|
857 |
+
<li>Google Analytics integration</li>
|
858 |
+
<li>no ads</li>
|
859 |
+
<li>no promo emails</li>
|
860 |
+
<li>premium support</li>';
|
861 |
+
$out .= '</ul>';
|
862 |
+
$out .= ' </div>';
|
863 |
+
$out .= '<div class="footer">';
|
864 |
+
$out .= '<p class="center"><a href="#" class="button-secondary gmw_goto_intro">Go PRO now</a><br>
|
865 |
+
Or <a href="#" class="gmw_goto_activation">enter the license key</a> if you already have it.</p>';
|
866 |
+
$out .= '</div>';
|
867 |
+
$out .= '</div>'; // pro features screen
|
868 |
+
|
869 |
+
$out .= '</div>'; // dialog
|
870 |
+
} // promo dialog
|
871 |
|
872 |
+
// address picker and pins dialog
|
873 |
+
if (GMW::is_plugin_admin_page('widgets') && GMW::is_activated()) {
|
874 |
+
$out .= '<div id="gmw_map_dialog" style="display: none;">';
|
875 |
+
$out .= '<div id="gmw_map_canvas"></div><hr>';
|
876 |
+
$out .= '<div id="gmw_map_dialog_footer">';
|
877 |
+
|
878 |
+
// current coordinates
|
879 |
+
$out .= '<div class="gmw_dialog_current_coordinates">';
|
880 |
+
$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>';
|
881 |
+
$out .= '<a href="#" class="button-secondary gmw_close_save_map_dialog" data-location-holder="gmw_map_pin_coordinates">Use selected coordinates</a>';
|
882 |
+
$out .= '</div>';
|
883 |
+
|
884 |
+
// closest matching address
|
885 |
+
$out .= '<div class="gmw_closest_matching_address">';
|
886 |
+
$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>';
|
887 |
+
$out .= '<a href="#" class="button-primary gmw_close_save_map_dialog" data-location-holder="gmw_map_pin_address">Use selected address</a>';
|
888 |
+
$out .= '</div>';
|
889 |
+
|
890 |
+
$out .= '</div>'; // footer
|
891 |
+
$out .= '</div>'; // dialog
|
892 |
+
|
893 |
+
// pins
|
894 |
+
$out .= '<div id="gmw_pins_dialog" style="display: none;">';
|
895 |
+
$out .= '<div id="search_header"><input type="search" id="pins_search" name="pins_search" placeholder="Search pins by name, eg hotel"></div>';
|
896 |
+
$out .= '<div id="pins_container">';
|
897 |
+
foreach (glob(GMW_PLUGIN_DIR . 'images/pins/default/*.png') as $filename) {
|
898 |
+
$filename = basename($filename);
|
899 |
+
$name = str_replace(array('.png', '-', '_'), array('', ' ', ' '), $filename);
|
900 |
+
$name = ucfirst($name);
|
901 |
+
$filename = 'default/' . $filename;
|
902 |
+
$out .= '<a href="#" data-filename="' . $filename . '"><img src="" alt="' . $name . '" title="' . $name . '"><span>' . $name . '</span></a>';
|
903 |
+
}
|
904 |
+
$out .= '<p><i>Most icons are 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>';
|
905 |
+
$out .= '</div>';
|
906 |
+
$out .= '</div>'; // dialog
|
907 |
+
} // address picker and pins dialog if activated
|
908 |
|
909 |
echo $out;
|
910 |
} // admin_dialogs_markup
|
911 |
|
912 |
|
913 |
+
// complete options screen markup
|
914 |
+
static function settings_screen() {
|
915 |
+
$options = GMW::get_options();
|
916 |
+
|
917 |
+
echo '<div class="wrap gmw-options">';
|
918 |
+
if (GMW::is_activated()) {
|
919 |
+
echo '<h1><img alt="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" title="' . __('Google Maps Widget PRO', 'google-maps-widget') . '" height="55" src="' . plugins_url('/images/gmw-logo-pro.png', __FILE__) . '"></h1>';
|
920 |
} else {
|
921 |
+
echo '<h1><img alt="' . __('Google Maps Widget', 'google-maps-widget') . '" title="' . __('Google Maps Widget', 'google-maps-widget') . '" height="55" src="' . plugins_url('/images/gmw-logo.png', __FILE__) . '"></h1>';
|
922 |
}
|
923 |
|
924 |
+
echo '<form method="post" action="options.php" enctype="multipart/form-data">';
|
925 |
+
settings_fields(GMW::$options);
|
926 |
+
|
927 |
+
echo '<div id="gmw-settings-tabs"><ul>';
|
928 |
+
echo '<li><a href="#gmw-settings">' . __('Settings', 'google-maps-widget') . '</a></li>';
|
929 |
+
echo '<li><a href="#gmw-export">' . __('Export & Import', 'google-maps-widget') . '</a></li>';
|
930 |
+
echo '<li><a href="#gmw-license">' . __('License', 'google-maps-widget') . '</a></li>';
|
931 |
+
echo '</ul>';
|
932 |
+
|
933 |
+
echo '<div id="gmw-settings">';
|
934 |
+
echo '<table class="form-table">';
|
935 |
+
echo '<tr>
|
936 |
+
<th scope="row"><label for="api_key">' . __('Google Maps API Key', 'google-maps-widget') . '</label></th>
|
937 |
+
<td><input name="' . GMW::$options . '[api_key]" type="text" id="api_key" value="' . esc_attr($options['api_key']) . '" class="regular-text" placeholder="Google Maps API key" oninput="setCustomValidity(\'\')" oninvalid="this.setCustomValidity(\'Please use Google Developers Console to generate an API key and enter it here. It is completely free.\')">
|
938 |
+
<p class="description">New Google Maps usage policy dictates that everyone using the maps should register for a free API key.<br>
|
939 |
+
Please create a key using <a href="https://console.developers.google.com/project" target="blank">Google Developers Console</a> or use this <a href="https://console.developers.google.com/flows/enableapi?apiid=maps_embed_backend&keyType=CLIENT_SIDE&reusekey=true" target="_blank">wizard</a>.
|
940 |
+
Detailed video instructions coming soon.</p></td>
|
941 |
+
</tr>';
|
942 |
+
if (GMW::is_activated()) {
|
943 |
+
echo '<tr>
|
944 |
+
<th scope="row"><label for="sc_map">' . __('Map Shortcode', 'google-maps-widget') . '</label></th>
|
945 |
+
<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(\'\')">
|
946 |
+
<p class="description">If the default shortcode "gmw" is taken by another plugin change it to something else, eg: "gmaps".</p></td>
|
947 |
+
</tr>';
|
948 |
+
}
|
949 |
+
echo '</table>';
|
950 |
+
|
951 |
+
if (GMW::is_activated()) {
|
952 |
+
echo '<h3 class="title">Advanced Settings</h3>';
|
953 |
+
echo '<table class="form-table">';
|
954 |
+
echo '<tr>
|
955 |
+
<th scope="row"><label for="track_ga">' . __('Track with Google Analytics', 'google-maps-widget') . '</label></th>
|
956 |
+
<td><input name="' . GMW::$options . '[track_ga]" type="checkbox" id="track_ga" value="1"' . checked('1', $options['track_ga'], false) . '>
|
957 |
+
<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>';
|
958 |
+
echo '<tr>
|
959 |
+
<th scope="row"><label for="include_jquery">' . __('Include jQuery', 'google-maps-widget') . '</label></th>
|
960 |
+
<td><input name="' . GMW::$options . '[include_jquery]" type="checkbox" id="include_jquery" value="1"' . checked('1', $options['include_jquery'], false) . '>
|
961 |
+
<span class="description">If you\'re experiencing problems with double jQuery include disable this option. Default: checked.</span></td></tr>';
|
962 |
+
echo '<tr>
|
963 |
+
<th scope="row"><label for="include_lightbox_css">' . __('Include Colorbox & Thumbnail CSS', 'google-maps-widget') . '</label></th>
|
964 |
+
<td><input name="' . GMW::$options . '[include_lightbox_css]" type="checkbox" id="include_lightbox_css" value="1"' . checked('1', $options['include_lightbox_css'], false) . '>
|
965 |
+
<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>';
|
966 |
+
echo '<tr>
|
967 |
+
<th scope="row"><label for="include_lightbox_js">' . __('Include Colorbox JS', 'google-maps-widget') . '</label></th>
|
968 |
+
<td><input name="' . GMW::$options . '[include_lightbox_js]" type="checkbox" id="include_lightbox_js" value="1"' . checked('1', $options['include_lightbox_js'], false) . '>
|
969 |
+
<span class="description">If your theme or other plugins already include Colorbox JS file disable this option. Default: checked.</span></td></tr>';
|
970 |
+
echo '<tr>
|
971 |
+
<th scope="row"><label for="disable_tooltips">' . __('Disable Admin Tooltips', 'google-maps-widget') . '</label></th>
|
972 |
+
<td><input name="' . GMW::$options . '[disable_tooltips]" type="checkbox" id="disable_tooltips" value="1"' . checked('1', $options['disable_tooltips'], false) . '>
|
973 |
+
<span class="description">All settings in widget edit GUI have tooltips. This setting completely disables them. Default: unchecked.</span></td></tr>';
|
974 |
+
echo '</table>';
|
975 |
+
} // advanced settings
|
976 |
+
|
977 |
+
if (!GMW::is_activated()) {
|
978 |
+
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>';
|
979 |
}
|
980 |
|
981 |
+
echo get_submit_button(__('Save Settings', 'google-maps-widget'));
|
982 |
+
echo '</div>'; // settings tab
|
983 |
+
|
984 |
+
echo '<div id="gmw-export">';
|
985 |
+
if (GMW::is_activated('pro')) {
|
986 |
+
echo '<table class="form-table">';
|
987 |
+
echo '<tr>
|
988 |
+
<th scope="row"><label for="">' . __('Export widgets', 'google-maps-widget') . '</label></th>
|
989 |
+
<td><a href="' . add_query_arg(array('action' => 'gmw_export_widgets'), admin_url('admin.php')) . '" class="button button-secondary">Download export file</a>
|
990 |
+
<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>
|
991 |
+
</tr>';
|
992 |
+
echo '<tr>
|
993 |
+
<th scope="row"><label for="">' . __('Import widgets', 'google-maps-widget') . '</label></th>
|
994 |
+
<td><input type="file" name="gmw_widgets_import" id="gmw_widgets_import" accept=".txt">
|
995 |
+
<input type="submit" name="submit-import" id="submit-import" class="button button-secondary button-large" value="Import widgets">';
|
996 |
+
echo '<p class="description">Only use TXT export files generated by Google Maps Widget.<br>
|
997 |
+
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>
|
998 |
+
</tr>';
|
999 |
+
echo '</table>';
|
1000 |
} else {
|
1001 |
+
echo '<p>Export & 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>';
|
1002 |
}
|
1003 |
+
echo '</div>'; // export/import tab
|
1004 |
+
|
1005 |
+
echo '<div id="gmw-license">';
|
1006 |
+
if (!GMW::is_activated()) {
|
1007 |
+
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>';
|
1008 |
+
}
|
1009 |
+
echo '<table class="form-table">';
|
1010 |
+
echo '<tr>
|
1011 |
+
<th scope="row"><label for="activation_code">' . __('License Key', 'google-maps-widget') . '</label></th>
|
1012 |
+
<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">
|
1013 |
+
<p class="description">License key can be found in the confirmation email you received after purchasing.</p></td>
|
1014 |
+
</tr>';
|
1015 |
+
if (GMW::is_activated()) {
|
1016 |
+
echo '<tr>
|
1017 |
+
<th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
|
1018 |
+
<td><b style="color: green">Active</b><br>
|
1019 |
+
Type: ' . $options['license_type'] . '<br>
|
1020 |
+
Valid ' . ($options['license_expires'] == '2035-01-01'? 'indefinitely': 'until ' . date(get_option('date_format'), strtotime($options['license_expires']))) . '</td>
|
1021 |
+
</tr>';
|
1022 |
+
} else {
|
1023 |
+
echo '<tr>
|
1024 |
+
<th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
|
1025 |
+
<td><b style="color: red">Inactive</b></td>
|
1026 |
+
</tr>';
|
1027 |
+
}
|
1028 |
+
echo '</table>';
|
1029 |
+
echo get_submit_button(__('Save and Validate License Key', 'google-maps-widget'), 'primary large', 'submit-license', true, array());
|
1030 |
+
echo '</div>'; // license tab
|
1031 |
|
1032 |
+
echo '</form>';
|
1033 |
+
echo '</div>'; // wrap
|
1034 |
+
} // settings_screen
|
1035 |
|
|
|
|
|
|
|
1036 |
|
1037 |
+
// check activation code and save if valid
|
1038 |
+
static function activate_license_key_ajax() {
|
1039 |
+
$code = str_replace(' ', '', $_POST['code']);
|
1040 |
+
|
1041 |
+
if (strlen($code) < 6 || strlen($code) > 50) {
|
1042 |
+
wp_send_json_error(__('Please double-check the license key. The format is not valid.', 'google-maps-widget'));
|
1043 |
+
}
|
1044 |
|
1045 |
+
$tmp = GMW::validate_activation_code($code);
|
1046 |
+
if ($tmp['success']) {
|
1047 |
+
GMW::set_options(array('activation_code' => $code, 'license_active' => $tmp['license_active'], 'license_type' => $tmp['license_type'], 'license_expires' => $tmp['license_expires']));
|
1048 |
+
}
|
1049 |
+
if ($tmp['license_active'] && $tmp['success']) {
|
1050 |
wp_send_json_success();
|
1051 |
} else {
|
1052 |
+
wp_send_json_error($tmp['error']);
|
1053 |
}
|
1054 |
+
} // activate_license_key_ajax
|
1055 |
|
1056 |
|
1057 |
+
// check if activation code is valid
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1058 |
static function validate_activation_code($code) {
|
1059 |
+
$out = array('success' => false, 'license_active' => false, 'activation_code' => $code, 'error' => '', 'license_type' => '', 'license_expires' => '1900-01-01');
|
1060 |
+
|
1061 |
+
$url = add_query_arg(array('code' => $code, 'domain' => get_home_url()), 'http://www.googlemapswidget.com/verify_license.php');
|
1062 |
+
$response = wp_remote_get(esc_url_raw($url), array('sslverify' => false));
|
1063 |
|
1064 |
+
if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
|
1065 |
+
$result = wp_remote_retrieve_body($response);
|
1066 |
+
$result = @json_decode($result, true);
|
1067 |
+
if (is_array($result['data']) && sizeof($result['data']) == 4) {
|
1068 |
+
$out['success'] = true;
|
1069 |
+
$out = array_merge($out, $result['data']);
|
1070 |
+
} else {
|
1071 |
+
$out['error'] = 'Invalid response from licensing server. Please try again later.';
|
1072 |
+
}
|
1073 |
} else {
|
1074 |
+
$out['error'] = 'Unable to contact licensing server. Please try again in a few moments.';
|
1075 |
}
|
1076 |
+
|
1077 |
+
return $out;
|
1078 |
} // validate_activation_code
|
1079 |
|
1080 |
|
1082 |
static function create_select_options($options, $selected = null, $output = true) {
|
1083 |
$out = "\n";
|
1084 |
|
1085 |
+
if(!is_array($selected)) {
|
1086 |
+
$selected = array($selected);
|
1087 |
+
}
|
1088 |
+
|
1089 |
foreach ($options as $tmp) {
|
1090 |
+
$data = '';
|
1091 |
+
if (isset($tmp['data-imagesrc'])) {
|
1092 |
+
$data .= ' data-imagesrc="' . $tmp['data-imagesrc'] . '" ';
|
1093 |
+
}
|
1094 |
+
if (isset($tmp['disabled'])) {
|
1095 |
+
$data .= ' disabled="disabled" ';
|
1096 |
+
}
|
1097 |
+
if ($tmp['val'] == '-1') {
|
1098 |
+
$data .= ' class="gmw_promo" ';
|
1099 |
+
}
|
1100 |
+
if (in_array($tmp['val'], $selected)) {
|
1101 |
+
$out .= "<option selected=\"selected\" value=\"{$tmp['val']}\"{$data}>{$tmp['label']} </option>\n";
|
1102 |
} else {
|
1103 |
+
$out .= "<option value=\"{$tmp['val']}\"{$data}>{$tmp['label']} </option>\n";
|
1104 |
}
|
1105 |
} // foreach
|
1106 |
|
1112 |
} // create_select_options
|
1113 |
|
1114 |
|
1115 |
+
// sanitizes color code string, leaves # intact
|
1116 |
+
static function sanitize_hex_color( $color ) {
|
1117 |
+
if (empty($color)) {
|
1118 |
+
return '#ff0000';
|
1119 |
+
}
|
1120 |
|
1121 |
+
// 3 or 6 hex digits
|
1122 |
+
if (preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color)) {
|
1123 |
+
return $color;
|
1124 |
+
}
|
1125 |
+
} // sanitize_hex_color
|
1126 |
|
|
|
|
|
1127 |
|
1128 |
+
// converts color from human readable to hex
|
1129 |
+
static function convert_color($color) {
|
1130 |
+
$color_codes = array('black' => '#000000', 'white' => '#ffffff',
|
1131 |
+
'brown' => '#a52a2a', 'green' => '#00ff00',
|
1132 |
+
'purple' => '#800080', 'yellow' => '#ffff00',
|
1133 |
+
'blue' => '#0000ff', 'gray' => '#808080',
|
1134 |
+
'orange' => '#ffa500', 'red' => '#ff0000');
|
1135 |
|
1136 |
+
$color = strtolower(trim($color));
|
1137 |
+
|
1138 |
+
if (empty($color) || !isset($color_codes[$color])) {
|
1139 |
+
return '#ff0000';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1140 |
} else {
|
1141 |
+
return $color_codes[$color];
|
|
|
1142 |
}
|
1143 |
+
} // convert_color
|
1144 |
|
1145 |
+
|
1146 |
+
// helper function for checkbox handling
|
1147 |
+
static function check_var_isset($values, $variables) {
|
1148 |
+
foreach ($variables as $key => $value) {
|
1149 |
+
if (!isset($values[$key])) {
|
1150 |
+
$values[$key] = $value;
|
1151 |
+
}
|
1152 |
+
}
|
1153 |
+
|
1154 |
+
return $values;
|
1155 |
+
} // check_var_isset
|
1156 |
|
1157 |
|
1158 |
// shortcode support for any GMW instance
|
1159 |
static function do_shortcode($atts, $content = null) {
|
1160 |
+
if (!GMW::is_activated()) {
|
1161 |
return '';
|
1162 |
}
|
1163 |
|
1164 |
global $wp_widget_factory;
|
1165 |
$out = '';
|
1166 |
+
$atts = shortcode_atts(array('id' => 0, 'thumb_width' => 0, 'thumb_height' => 0), $atts);
|
1167 |
$id = (int) $atts['id'];
|
1168 |
$widgets = get_option('widget_googlemapswidget');
|
1169 |
|
1170 |
+
if (!$id || !isset($widgets[$id]) || empty($widgets[$id])) {
|
1171 |
+
$out .= '<span class="gmw-error">Google Maps Widget shortcode error - please double-check the widget ID.</span>';
|
1172 |
} else {
|
1173 |
$widget_args = $widgets[$id];
|
1174 |
$widget_instance['widget_id'] = 'googlemapswidget-' . $id;
|
1175 |
$widget_instance['widget_name'] = 'Google Maps Widget';
|
1176 |
+
|
1177 |
+
if (!empty($atts['thumb_width']) && !empty($atts['thumb_height'])) {
|
1178 |
+
$widget_args['thumb_width'] = min(640, max(50, (int) $atts['thumb_width']));
|
1179 |
+
$widget_args['thumb_height'] = min(640, max(50, (int) $atts['thumb_height']));
|
1180 |
+
}
|
1181 |
|
1182 |
+
$out .= '<div class="gmw-shortcode-widget">';
|
1183 |
ob_start();
|
1184 |
the_widget('GoogleMapsWidget', $widget_args, $widget_instance);
|
1185 |
$out .= ob_get_contents();
|
1186 |
ob_end_clean();
|
1187 |
+
$out .= '</div>';
|
1188 |
}
|
1189 |
+
|
1190 |
return $out;
|
1191 |
} // do_shortcode
|
1192 |
|
1193 |
|
1194 |
// activate doesn't get fired on upgrades so we have to compensate
|
1195 |
+
public static function maybe_upgrade() {
|
1196 |
+
$options = GMW::get_options();
|
1197 |
+
|
1198 |
+
// pro was active with old key, recheck
|
1199 |
+
if (!empty($options['activation_code']) && $options['license_active'] === '') {
|
1200 |
+
$tmp = GMW::validate_activation_code($options['activation_code']);
|
1201 |
+
if ($tmp['success']) {
|
1202 |
+
$update['license_type'] = $tmp['license_type'];
|
1203 |
+
$update['license_expires'] = $tmp['license_expires'];
|
1204 |
+
$update['license_active'] = $tmp['license_active'];
|
1205 |
+
GMW::set_options($update);
|
1206 |
+
}
|
1207 |
+
} // old license upgrade
|
1208 |
|
1209 |
if (!isset($options['first_version']) || !isset($options['first_install'])) {
|
1210 |
+
$update = array();
|
1211 |
+
$update['first_version'] = GMW::$version;
|
1212 |
+
$update['first_install'] = current_time('timestamp');
|
1213 |
+
GMW::set_options($update);
|
1214 |
}
|
1215 |
+
} // maybe_upgrade
|
1216 |
|
1217 |
|
1218 |
// write down a few things on plugin activation
|
1219 |
// NO DATA is sent anywhere unless user explicitly agrees to it!
|
1220 |
static function activate() {
|
1221 |
+
$options = GMW::get_options();
|
1222 |
|
1223 |
if (!isset($options['first_version']) || !isset($options['first_install'])) {
|
1224 |
$options['first_version'] = GMW::$version;
|
1225 |
$options['first_install'] = current_time('timestamp');
|
1226 |
$options['last_tracking'] = false;
|
1227 |
+
GMW::set_options($options);
|
1228 |
}
|
1229 |
} // activate
|
1230 |
|
1231 |
|
1232 |
// clean up on deactivation
|
1233 |
static function deactivate() {
|
1234 |
+
$options = GMW::get_options();
|
1235 |
|
1236 |
if (isset($options['allow_tracking']) && $options['allow_tracking'] === true) {
|
1237 |
GMW_tracking::clear_cron();
|
1241 |
|
1242 |
// clean up on uninstall / delete
|
1243 |
static function uninstall() {
|
1244 |
+
delete_option(GMW::$options);
|
|
|
|
|
|
|
|
|
1245 |
} // uninstall
|
1246 |
} // class GMW
|
1247 |
|
1248 |
+
endif; // if GMW class exists
|
1249 |
+
|
1250 |
|
1251 |
// hook everything up
|
1252 |
register_activation_hook(__FILE__, array('GMW', 'activate'));
|
images/blank.gif
DELETED
Binary file
|
images/border.png
DELETED
Binary file
|
images/colorbox/dark/border.png
ADDED
Binary file
|
images/colorbox/dark/controls.png
ADDED
Binary file
|
images/colorbox/dark/loading_background.png
ADDED
Binary file
|
images/colorbox/dark/overlay.png
ADDED
Binary file
|
images/colorbox/darkrimmed/colorbox_darkrimmed.png
ADDED
Binary file
|
images/colorbox/fancyoverlay/colorbox_fancyoverlay.png
ADDED
Binary file
|
images/colorbox/gears/frame1.png
ADDED
Binary file
|
images/colorbox/gears/frame2.png
ADDED
Binary file
|
images/colorbox/gray-square/border.png
ADDED
Binary file
|
images/colorbox/gray-square/controls.png
ADDED
Binary file
|
images/colorbox/gray-square/loading_background.png
ADDED
Binary file
|
images/colorbox/loading.gif
ADDED
Binary file
|
images/colorbox/minimal-circles/colorbox_minimalcircles.png
ADDED
Binary file
|
images/colorbox/minimal/colorbox_minimal.png
ADDED
Binary file
|
images/colorbox/painting/frame1.png
ADDED
Binary file
|
images/colorbox/painting/frame2.png
ADDED
Binary file
|
images/colorbox/rounded-white/border1.png
ADDED
Binary file
|
images/colorbox/rounded-white/border2.png
ADDED
Binary file
|
images/colorbox/shadow/colorbox_fancyoverlay.png
ADDED
Binary file
|
images/colorbox/sketchtoon/colorbox_sketchtoon.png
ADDED
Binary file
|
images/colorbox/sketchtoon/paper.jpg
ADDED
Binary file
|
images/colorbox/square-black/controls.png
ADDED
Binary file
|
images/colorbox/square-white/controls.png
ADDED
Binary file
|
images/colorbox/tablet/frame1.png
ADDED
Binary file
|
images/colorbox/tablet/frame2.png
ADDED
Binary file
|
images/colorbox/vintage/frame1.png
ADDED
Binary file
|
images/colorbox/vintage/frame2.png
ADDED
Binary file
|
images/colorbox/vintage/pattern.jpg
ADDED
Binary file
|
images/colorbox/wood/colorbox_woodtable.png
ADDED
Binary file
|
images/colorbox/wood/woodpattern.jpg
ADDED
Binary file
|
images/controls.png
DELETED
Binary file
|
images/gmw-logo-pro-dialog.png
ADDED
Binary file
|
images/gmw-logo-pro.png
ADDED
Binary file
|
images/gmw-logo.png
ADDED
Binary file
|
images/loading.gif
DELETED
Binary file
|
images/loading_background.png
DELETED
Binary file
|
images/overlay.png
DELETED
Binary file
|
images/pins/default/2hand.png
ADDED
Binary file
|
images/pins/default/360degrees.png
ADDED
Binary file
|
images/pins/default/abduction.png
ADDED
Binary file
|
images/pins/default/aboriginal.png
ADDED
Binary file
|
images/pins/default/accesdenied.png
ADDED
Binary file
|
images/pins/default/acupuncture.png
ADDED
Binary file
|
images/pins/default/administration.png
ADDED
Binary file
|
images/pins/default/administrativeboundary.png
ADDED
Binary file
|
images/pins/default/aed-2.png
ADDED
Binary file
|
images/pins/default/agritourism.png
ADDED
Binary file
|
images/pins/default/air_fixwing.png
ADDED
Binary file
|
images/pins/default/aircraftcarrier.png
ADDED
Binary file
|
images/pins/default/aircraftsmall.png
ADDED
Binary file
|
images/pins/default/airport.png
ADDED
Binary file
|
images/pins/default/airport_apron.png
ADDED
Binary file
|
images/pins/default/airport_runway.png
ADDED
Binary file
|
images/pins/default/airport_terminal.png
ADDED
Binary file
|
images/pins/default/airshow-2.png
ADDED
Binary file
|
images/pins/default/algae.png
ADDED
Binary file
|
images/pins/default/alien.png
ADDED
Binary file
|
images/pins/default/alligator.png
ADDED
Binary file
|
images/pins/default/amphitheater-2.png
ADDED
Binary file
|
images/pins/default/amphitheater.png
ADDED
Binary file
|
images/pins/default/anchorpier.png
ADDED
Binary file
|
images/pins/default/anemometer_mono.png
ADDED
Binary file
|
images/pins/default/animal-shelter-export.png
ADDED
Binary file
|
images/pins/default/anniversary.png
ADDED
Binary file
|
images/pins/default/ant-export.png
ADDED
Binary file
|
images/pins/default/anthropo.png
ADDED
Binary file
|
images/pins/default/apartment-3.png
ADDED
Binary file
|
images/pins/default/apple.png
ADDED
Binary file
|
images/pins/default/aquarium.png
ADDED
Binary file
|
images/pins/default/arch.png
ADDED
Binary file
|
images/pins/default/archery.png
ADDED
Binary file
|
images/pins/default/army.png
ADDED
Binary file
|
images/pins/default/art-museum-2.png
ADDED
Binary file
|
images/pins/default/artgallery.png
ADDED
Binary file
|
images/pins/default/atm-2.png
ADDED
Binary file
|
images/pins/default/atv.png
ADDED
Binary file
|
images/pins/default/audio.png
ADDED
Binary file
|
images/pins/default/australian-football.png
ADDED
Binary file
|
images/pins/default/avalanche1.png
ADDED
Binary file
|
images/pins/default/award.png
ADDED
Binary file
|
images/pins/default/badminton-2.png
ADDED
Binary file
|
images/pins/default/bags.png
ADDED
Binary file
|
images/pins/default/bank.png
ADDED
Binary file
|
images/pins/default/bar.png
ADDED
Binary file
|
images/pins/default/bar_coktail.png
ADDED
Binary file
|
images/pins/default/bar_juice.png
ADDED
Binary file
|
images/pins/default/barbecue.png
ADDED
Binary file
|
images/pins/default/barber.png
ADDED
Binary file
|
images/pins/default/barrier.png
ADDED
Binary file
|
images/pins/default/baseball.png
ADDED
Binary file
|
images/pins/default/basketball.png
ADDED
Binary file
|
images/pins/default/bats.png
ADDED
Binary file
|
images/pins/default/battlefield.png
ADDED
Binary file
|
images/pins/default/battleship-3.png
ADDED
Binary file
|
images/pins/default/beach.png
ADDED
Binary file
|
images/pins/default/beachvolleyball.png
ADDED
Binary file
|
images/pins/default/beautifulview.png
ADDED
Binary file
|
images/pins/default/beautysalon.png
ADDED
Binary file
|
images/pins/default/bed_breakfast1-2.png
ADDED
Binary file
|
images/pins/default/beergarden.png
ADDED
Binary file
|
images/pins/default/bicycle_shop.png
ADDED
Binary file
|
images/pins/default/bigcity.png
ADDED
Binary file
|
images/pins/default/bike_downhill.png
ADDED
Binary file
|
images/pins/default/bike_rising.png
ADDED
Binary file
|
images/pins/default/billiard-2.png
ADDED
Binary file
|
images/pins/default/binoculars.png
ADDED
Binary file
|
images/pins/default/birds-2.png
ADDED
Binary file
|
images/pins/default/blast.png
ADDED
Binary file
|
images/pins/default/boardercross.png
ADDED
Binary file
|
images/pins/default/boat.png
ADDED
Binary file
|
images/pins/default/boatcrane.png
ADDED
Binary file
|
images/pins/default/bobsleigh.png
ADDED
Binary file
|
images/pins/default/bollie.png
ADDED
Binary file
|
images/pins/default/bomb.png
ADDED
Binary file
|
images/pins/default/bomber-2.png
ADDED
Binary file
|
images/pins/default/bouddha.png
ADDED
Binary file
|
images/pins/default/bowling.png
ADDED
Binary file
|
images/pins/default/boxing.png
ADDED
Binary file
|
images/pins/default/bread.png
ADDED
Binary file
|
images/pins/default/brewery1.png
ADDED
Binary file
|
images/pins/default/bridge_modern.png
ADDED
Binary file
|
images/pins/default/bridge_old.png
ADDED
Binary file
|
images/pins/default/bulldozer.png
ADDED
Binary file
|
images/pins/default/bullfight.png
ADDED
Binary file
|
images/pins/default/bunker-2-2.png
ADDED
Binary file
|
images/pins/default/bus.png
ADDED
Binary file
|
images/pins/default/busstop.png
ADDED
Binary file
|
images/pins/default/bustour.png
ADDED
Binary file
|
images/pins/default/butcher-2.png
ADDED
Binary file
|
images/pins/default/butterfly-2.png
ADDED
Binary file
|
images/pins/default/cabin-2.png
ADDED
Binary file
|
images/pins/default/cablecar.png
ADDED
Binary file
|
images/pins/default/cafetaria.png
ADDED
Binary file
|
images/pins/default/calendar-3.png
ADDED
Binary file
|
images/pins/default/campfire-2.png
ADDED
Binary file
|
images/pins/default/camping-2.png
ADDED
Binary file
|
images/pins/default/candy.png
ADDED
Binary file
|
images/pins/default/canyon-2.png
ADDED
Binary file
|
images/pins/default/car.png
ADDED
Binary file
|
images/pins/default/caraccident.png
ADDED
Binary file
|
images/pins/default/carrental.png
ADDED
Binary file
|
images/pins/default/carwash.png
ADDED
Binary file
|
images/pins/default/casino-2.png
ADDED
Binary file
|
images/pins/default/castle-2.png
ADDED
Binary file
|
images/pins/default/cathedral.png
ADDED
Binary file
|
images/pins/default/catholicgrave.png
ADDED
Binary file
|
images/pins/default/caution.png
ADDED
Binary file
|
images/pins/default/cave-2.png
ADDED
Binary file
|
images/pins/default/cctv.png
ADDED
Binary file
|
images/pins/default/cemetary.png
ADDED
Binary file
|
images/pins/default/channelchange.png
ADDED
Binary file
|
images/pins/default/chapel-2.png
ADDED
Binary file
|
images/pins/default/chart-2.png
ADDED
Binary file
|
images/pins/default/cheese.png
ADDED
Binary file
|
images/pins/default/chemistry-2.png
ADDED
Binary file
|
images/pins/default/chicken-2.png
ADDED
Binary file
|
images/pins/default/childmuseum01.png
ADDED
Binary file
|
images/pins/default/chiropractor.png
ADDED
Binary file
|
images/pins/default/christmasmarket.png
ADDED
Binary file
|
images/pins/default/church-2.png
ADDED
Binary file
|
images/pins/default/cinema.png
ADDED
Binary file
|
images/pins/default/circus.png
ADDED
Binary file
|
images/pins/default/citysquare.png
ADDED
Binary file
|
images/pins/default/citywalls.png
ADDED
Binary file
|
images/pins/default/climbing.png
ADDED
Binary file
|
images/pins/default/clock.png
ADDED
Binary file
|
images/pins/default/closedroad.png
ADDED
Binary file
|
images/pins/default/clothers_female.png
ADDED
Binary file
|
images/pins/default/clothers_male.png
ADDED
Binary file
|
images/pins/default/cloudy.png
ADDED
Binary file
|
images/pins/default/cloudysunny.png
ADDED
Binary file
|
images/pins/default/coffee.png
ADDED
Binary file
|
images/pins/default/coins.png
ADDED
Binary file
|
images/pins/default/comedyclub.png
ADDED
Binary file
|
images/pins/default/comics.png
ADDED
Binary file
|
images/pins/default/comment-map-icon.png
ADDED
Binary file
|
images/pins/default/communitycentre.png
ADDED
Binary file
|
images/pins/default/company.png
ADDED
Binary file
|
images/pins/default/compost.png
ADDED
Binary file
|
images/pins/default/computers.png
ADDED
Binary file
|
images/pins/default/condominium.png
ADDED
Binary file
|
images/pins/default/conference.png
ADDED
Binary file
|
images/pins/default/congress.png
ADDED
Binary file
|
images/pins/default/construction.png
ADDED
Binary file
|
images/pins/default/constructioncrane.png
ADDED
Binary file
|
images/pins/default/contract.png
ADDED
Binary file
|
images/pins/default/conveniencestore.png
ADDED
Binary file
|
images/pins/default/convent-2.png
ADDED
Binary file
|
images/pins/default/conversation-map-icon.png
ADDED
Binary file
|
images/pins/default/convertible.png
ADDED
Binary file
|
images/pins/default/corral.png
ADDED
Binary file
|
images/pins/default/country.png
ADDED
Binary file
|
images/pins/default/court.png
ADDED
Binary file
|
images/pins/default/cow-export.png
ADDED
Binary file
|
images/pins/default/cowabduction.png
ADDED
Binary file
|
images/pins/default/craftstore.png
ADDED
Binary file
|
images/pins/default/cramschool.png
ADDED
Binary file
|
images/pins/default/cricket.png
ADDED
Binary file
|
images/pins/default/crimescene.png
ADDED
Binary file
|
images/pins/default/cromlech.png
ADDED
Binary file
|
images/pins/default/cropcircles.png
ADDED
Binary file
|
images/pins/default/cross-2.png
ADDED
Binary file
|
images/pins/default/crossingguard.png
ADDED
Binary file
|
images/pins/default/cruiseship.png
ADDED
Binary file
|
images/pins/default/cup.png
ADDED
Binary file
|
images/pins/default/curling-2.png
ADDED
Binary file
|
images/pins/default/currencyexchange.png
ADDED
Binary file
|
images/pins/default/customs.png
ADDED
Binary file
|
images/pins/default/cycling.png
ADDED
Binary file
|
images/pins/default/cycling_feed.png
ADDED
Binary file
|
images/pins/default/cycling_sprint.png
ADDED
Binary file
|
images/pins/default/dam.png
ADDED
Binary file
|
images/pins/default/dance_class.png
ADDED
Binary file
|
images/pins/default/dancinghall.png
ADDED
Binary file
|
images/pins/default/database.png
ADDED
Binary file
|
images/pins/default/daycare.png
ADDED
Binary file
|
images/pins/default/deepseafishing.png
ADDED
Binary file
|
images/pins/default/deer.png
ADDED
Binary file
|
images/pins/default/dentist.png
ADDED
Binary file
|
images/pins/default/departmentstore.png
ADDED
Binary file
|
images/pins/default/desert-2.png
ADDED
Binary file
|
images/pins/default/dinopark.png
ADDED
Binary file
|
images/pins/default/direction_down.png
ADDED
Binary file
|
images/pins/default/disability.png
ADDED
Binary file
|
images/pins/default/diving.png
ADDED
Binary file
|
images/pins/default/dogs_leash.png
ADDED
Binary file
|
images/pins/default/dolphins.png
ADDED
Binary file
|
images/pins/default/doublebendright.png
ADDED
Binary file
|
images/pins/default/downloadicon.png
ADDED
Binary file
|
images/pins/default/drinkingfountain.png
ADDED
Binary file
|
images/pins/default/drinkingwater.png
ADDED
Binary file
|
images/pins/default/drugstore.png
ADDED
Binary file
|
images/pins/default/duck-export.png
ADDED
Binary file
|
images/pins/default/earthquake-3.png
ADDED
Binary file
|
images/pins/default/eggs.png
ADDED
Binary file
|
images/pins/default/elephants.png
ADDED
Binary file
|
images/pins/default/elevator.png
ADDED
Binary file
|
images/pins/default/elevator_down.png
ADDED
Binary file
|
images/pins/default/elevator_up.png
ADDED
Binary file
|
images/pins/default/embassy.png
ADDED
Binary file
|
images/pins/default/entrance.png
ADDED
Binary file
|
images/pins/default/exchequer.png
ADDED
Binary file
|
images/pins/default/exit.png
ADDED
Binary file
|
images/pins/default/expert.png
ADDED
Binary file
|
images/pins/default/factory.png
ADDED
Binary file
|
images/pins/default/fallingrocks.png
ADDED
Binary file
|
images/pins/default/family.png
ADDED
Binary file
|
images/pins/default/farm-2.png
ADDED
Binary file
|
images/pins/default/farmstand.png
ADDED
Binary file
|
images/pins/default/fastfood.png
ADDED
Binary file
|
images/pins/default/female-2.png
ADDED
Binary file
|
images/pins/default/ferriswheel.png
ADDED
Binary file
|
images/pins/default/ferry.png
ADDED
Binary file
|
images/pins/default/festival.png
ADDED
Binary file
|
images/pins/default/fetalalcoholsyndrom.png
ADDED
Binary file
|
images/pins/default/field.png
ADDED
Binary file
|
images/pins/default/fillingstation.png
ADDED
Binary file
|
images/pins/default/findajob.png
ADDED
Binary file
|
images/pins/default/finish.png
ADDED
Binary file
|
images/pins/default/fire-hydrant-2.png
ADDED
Binary file
|
images/pins/default/fire.png
ADDED
Binary file
|
images/pins/default/fireexstinguisher.png
ADDED
Binary file
|
images/pins/default/firemen.png
ADDED
Binary file
|
images/pins/default/fireworks.png
ADDED
Binary file
|
images/pins/default/firstaid.png
ADDED
Binary file
|
images/pins/default/fishchips.png
ADDED
Binary file
|
images/pins/default/fishing.png
ADDED
Binary file
|
images/pins/default/fishingboat.png
ADDED
Binary file
|
images/pins/default/fishingstore.png
ADDED
Binary file
|
images/pins/default/fitness.png
ADDED
Binary file
|
images/pins/default/fjord-2.png
ADDED
Binary file
|
images/pins/default/flag-export.png
ADDED
Binary file
|
images/pins/default/flood.png
ADDED
Binary file
|
images/pins/default/flowers.png
ADDED
Binary file
|
images/pins/default/folder-2.png
ADDED
Binary file
|
images/pins/default/fooddeliveryservice.png
ADDED
Binary file
|
images/pins/default/foodtruck.png
ADDED
Binary file
|
images/pins/default/footprint.png
ADDED
Binary file
|
images/pins/default/ford-2.png
ADDED
Binary file
|
images/pins/default/forest.png
ADDED
Binary file
|
images/pins/default/forest2.png
ADDED
Binary file
|
images/pins/default/fossils.png
ADDED
Binary file
|
images/pins/default/foundry-2.png
ADDED
Binary file
|
images/pins/default/fountain-2.png
ADDED
Binary file
|
images/pins/default/fourbyfour.png
ADDED
Binary file
|
images/pins/default/freqchg.png
ADDED
Binary file
|
images/pins/default/frog-2.png
ADDED
Binary file
|
images/pins/default/fruits.png
ADDED
Binary file
|
images/pins/default/ft.png
ADDED
Binary file
|
images/pins/default/funicolar-22x22.png
ADDED
Binary file
|
images/pins/default/gas_cylinder1.png
ADDED
Binary file
|
images/pins/default/gay-female.png
ADDED
Binary file
|
images/pins/default/gay-male.png
ADDED
Binary file
|
images/pins/default/geocaching-3.png
ADDED
Binary file
|
images/pins/default/geothermal-site.png
ADDED
Binary file
|
images/pins/default/geyser-2.png
ADDED
Binary file
|
images/pins/default/ghosttown.png
ADDED
Binary file
|
images/pins/default/gifts.png
ADDED
Binary file
|
images/pins/default/glacier-2.png
ADDED
Binary file
|
images/pins/default/glasses.png
ADDED
Binary file
|
images/pins/default/golfing.png
ADDED
Binary file
|
images/pins/default/gondola-2.png
ADDED
Binary file
|
images/pins/default/gourmet_0star.png
ADDED
Binary file
|
images/pins/default/grass.png
ADDED
Binary file
|
images/pins/default/grocery.png
ADDED
Binary file
|
images/pins/default/group-2.png
ADDED
Binary file
|
images/pins/default/gumball_machine.png
ADDED
Binary file
|
images/pins/default/handball.png
ADDED
Binary file
|
images/pins/default/hanggliding.png
ADDED
Binary file
|
images/pins/default/harbor.png
ADDED
Binary file
|
images/pins/default/hare1.png
ADDED
Binary file
|
images/pins/default/hats.png
ADDED
Binary file
|
images/pins/default/haybale.png
ADDED
Binary file
|
images/pins/default/headstone-2.png
ADDED
Binary file
|
images/pins/default/helicopter.png
ADDED
Binary file
|
images/pins/default/highhills.png
ADDED
Binary file
|
images/pins/default/highschool.png
ADDED
Binary file
|
images/pins/default/highway.png
ADDED
Binary file
|
images/pins/default/hiking.png
ADDED
Binary file
|
images/pins/default/historical_museum.png
ADDED
Binary file
|
images/pins/default/historicalquarter.png
ADDED
Binary file
|
images/pins/default/hoergeraeteakustiker_22px.png
ADDED
Binary file
|
images/pins/default/home-2.png
ADDED
Binary file
|
images/pins/default/homecenter.png
ADDED
Binary file
|
images/pins/default/honeycomb.png
ADDED
Binary file
|
images/pins/default/hookah_final.png
ADDED
Binary file
|
images/pins/default/horseriding.png
ADDED
Binary file
|
images/pins/default/hospital-building.png
ADDED
Binary file
|
images/pins/default/hostel_0star.png
ADDED
Binary file
|
images/pins/default/hotairbaloon.png
ADDED
Binary file
|
images/pins/default/hotel_0star.png
ADDED
Binary file
|
images/pins/default/hotspring.png
ADDED
Binary file
|
images/pins/default/house.png
ADDED
Binary file
|
images/pins/default/hunting.png
ADDED
Binary file
|
images/pins/default/hut.png
ADDED
Binary file
|
images/pins/default/icecream.png
ADDED
Binary file
|
images/pins/default/icehockey.png
ADDED
Binary file
|
images/pins/default/iceskating.png
ADDED
Binary file
|
images/pins/default/icy_road.png
ADDED
Binary file
|
images/pins/default/indoor-arena.png
ADDED
Binary file
|
images/pins/default/information.png
ADDED
Binary file
|
images/pins/default/iobridge.png
ADDED
Binary file
|
images/pins/default/jacuzzi.png
ADDED
Binary file
|
images/pins/default/japanese-food.png
ADDED
Binary file
|
images/pins/default/japanese-lantern.png
ADDED
Binary file
|
images/pins/default/japanese-sake.png
ADDED
Binary file
|
images/pins/default/japanese-sweet-2.png
ADDED
Binary file
|
images/pins/default/japanese-temple.png
ADDED
Binary file
|
images/pins/default/jazzclub.png
ADDED
Binary file
|
images/pins/default/jeep.png
ADDED
Binary file
|
images/pins/default/jetfighter.png
ADDED
Binary file
|
images/pins/default/jewelry.png
ADDED
Binary file
|
images/pins/default/jewishgrave.png
ADDED
Binary file
|
images/pins/default/jewishquarter.png
ADDED
Binary file
|
images/pins/default/jogging.png
ADDED
Binary file
|
images/pins/default/judo.png
ADDED
Binary file
|
images/pins/default/junction.png
ADDED
Binary file
|
images/pins/default/karate.png
ADDED
Binary file
|
images/pins/default/karting.png
ADDED
Binary file
|
images/pins/default/kayak1.png
ADDED
Binary file
|
images/pins/default/kayaking.png
ADDED
Binary file
|
images/pins/default/kebab.png
ADDED
Binary file
|
images/pins/default/kingair.png
ADDED
Binary file
|
images/pins/default/kiosk.png
ADDED
Binary file
|
images/pins/default/kitesurfing.png
ADDED
Binary file
|
images/pins/default/laboratory.png
ADDED
Binary file
|
images/pins/default/lake.png
ADDED
Binary file
|
images/pins/default/landfill.png
ADDED
Binary file
|
images/pins/default/landmark.png
ADDED
Binary file
|
images/pins/default/laterne.png
ADDED
Binary file
|
images/pins/default/laundromat.png
ADDED
Binary file
|
images/pins/default/levelcrossing.png
ADDED
Binary file
|
images/pins/default/library.png
ADDED
Binary file
|
images/pins/default/lifeguard-2.png
ADDED
Binary file
|
images/pins/default/lighthouse-2.png
ADDED
Binary file
|
images/pins/default/linedown.png
ADDED
Binary file
|
images/pins/default/lingerie.png
ADDED
Binary file
|
images/pins/default/liquor.png
ADDED
Binary file
|
images/pins/default/lobster-export.png
ADDED
Binary file
|
images/pins/default/lock.png
ADDED
Binary file
|
images/pins/default/lockerrental.png
ADDED
Binary file
|
images/pins/default/lodging_0star.png
ADDED
Binary file
|
images/pins/default/love_date.png
ADDED
Binary file
|
images/pins/default/loveinterest.png
ADDED
Binary file
|
images/pins/default/magicshow.png
ADDED
Binary file
|
images/pins/default/mainroad.png
ADDED
Binary file
|
images/pins/default/male-2.png
ADDED
Binary file
|
images/pins/default/mall.png
ADDED
Binary file
|
images/pins/default/map.png
ADDED
Binary file
|
images/pins/default/mapicon.png
ADDED
Binary file
|
images/pins/default/marina-2.png
ADDED
Binary file
|
images/pins/default/market.png
ADDED
Binary file
|
images/pins/default/massage.png
ADDED
Binary file
|
images/pins/default/mastcrane1.png
ADDED
Binary file
|
images/pins/default/medicalstore.png
ADDED
Binary file
|
images/pins/default/medicine.png
ADDED
Binary file
|
images/pins/default/megalith.png
ADDED
Binary file
|
images/pins/default/memorial.png
ADDED
Binary file
|
images/pins/default/metronetwork.png
ADDED
Binary file
|
images/pins/default/military.png
ADDED
Binary file
|
images/pins/default/mine.png
ADDED
Binary file
|
images/pins/default/missile-2.png
ADDED
Binary file
|
images/pins/default/mobilephonetower.png
ADDED
Binary file
|
images/pins/default/modernmonument.png
ADDED
Binary file
|
images/pins/default/moderntower.png
ADDED
Binary file
|
images/pins/default/monkey-export.png
ADDED
Binary file
|
images/pins/default/monument-historique-icon-white-22x22.png
ADDED
Binary file
|
images/pins/default/monument.png
ADDED
Binary file
|
images/pins/default/moonstar.png
ADDED
Binary file
|
images/pins/default/mosquee.png
ADDED
Binary file
|
images/pins/default/mosquito-2.png
ADDED
Binary file
|
images/pins/default/motel-2.png
ADDED
Binary file
|
images/pins/default/motorbike.png
ADDED
Binary file
|
images/pins/default/motorcycle.png
ADDED
Binary file
|
images/pins/default/mountain-pass-locator-diagonal-reverse-export.png
ADDED
Binary file
|
images/pins/default/mountainbiking-3.png
ADDED
Binary file
|
images/pins/default/mountains.png
ADDED
Binary file
|
images/pins/default/movierental.png
ADDED
Binary file
|
images/pins/default/moving-walkway-enter-export.png
ADDED
Binary file
|
images/pins/default/muffin_bagle.png
ADDED
Binary file
|
images/pins/default/mural.png
ADDED
Binary file
|
images/pins/default/museum_archeological.png
ADDED
Binary file
|
images/pins/default/museum_art.png
ADDED
Binary file
|
images/pins/default/museum_crafts.png
ADDED
Binary file
|
images/pins/default/museum_industry.png
ADDED
Binary file
|
images/pins/default/museum_naval.png
ADDED
Binary file
|
images/pins/default/museum_openair.png
ADDED
Binary file
|
images/pins/default/museum_science.png
ADDED
Binary file
|
images/pins/default/museum_war.png
ADDED
Binary file
|
images/pins/default/mushroom.png
ADDED
Binary file
|
images/pins/default/music.png
ADDED
Binary file
|
images/pins/default/music_choral.png
ADDED
Binary file
|
images/pins/default/music_classical.png
ADDED
Binary file
|
images/pins/default/music_hiphop.png
ADDED
Binary file
|
images/pins/default/music_live.png
ADDED
Binary file
|
images/pins/default/music_rock.png
ADDED
Binary file
|
images/pins/default/nanny.png
ADDED
Binary file
|
images/pins/default/ne_barn-2.png
ADDED
Binary file
|
images/pins/default/newsagent.png
ADDED
Binary file
|
images/pins/default/no-nuke-export.png
ADDED
Binary file
|
images/pins/default/nordicski.png
ADDED
Binary file
|
images/pins/default/notvisited.png
ADDED
Binary file
|
images/pins/default/nursery.png
ADDED
Binary file
|
images/pins/default/nursing_home_icon.png
ADDED
Binary file
|
images/pins/default/observatory.png
ADDED
Binary file
|
images/pins/default/office-building.png
ADDED
Binary file
|
images/pins/default/oil-2.png
ADDED
Binary file
|
images/pins/default/oilpumpjack.png
ADDED
Binary file
|
images/pins/default/oilrig2.png
ADDED
Binary file
|
images/pins/default/olympicsite.png
ADDED
Binary file
|
images/pins/default/ophthalmologist.png
ADDED
Binary file
|
images/pins/default/outlet2.png
ADDED
Binary file
|
images/pins/default/oyster-3.png
ADDED
Binary file
|
images/pins/default/pagoda-2.png
ADDED
Binary file
|
images/pins/default/paint.png
ADDED
Binary file
|
images/pins/default/paintball.png
ADDED
Binary file
|
images/pins/default/palace-2.png
ADDED
Binary file
|
images/pins/default/palm-tree-export.png
ADDED
Binary file
|
images/pins/default/panoramicview.png
ADDED
Binary file
|
images/pins/default/paragliding.png
ADDED
Binary file
|
images/pins/default/parasailing.png
ADDED
Binary file
|
images/pins/default/parkandride.png
ADDED
Binary file
|
images/pins/default/parking-meter-export.png
ADDED
Binary file
|
images/pins/default/parkinggarage.png
ADDED
Binary file
|
images/pins/default/party-2.png
ADDED
Binary file
|
images/pins/default/patisserie.png
ADDED
Binary file
|
images/pins/default/peace.png
ADDED
Binary file
|
images/pins/default/pedestriancrossing.png
ADDED
Binary file
|
images/pins/default/penguin-2.png
ADDED
Binary file
|
images/pins/default/pens.png
ADDED
Binary file
|
images/pins/default/perfumery.png
ADDED
Binary file
|
images/pins/default/petanque.png
ADDED
Binary file
|
images/pins/default/petroglyphs-2.png
ADDED
Binary file
|
images/pins/default/pets.png
ADDED
Binary file
|
images/pins/default/phantom.png
ADDED
Binary file
|
images/pins/default/phones.png
ADDED
Binary file
|
images/pins/default/photo.png
ADDED
Binary file
|
images/pins/default/photography.png
ADDED
Binary file
|
images/pins/default/picnic-2.png
ADDED
Binary file
|
images/pins/default/pig.png
ADDED
Binary file
|
images/pins/default/pin-export.png
ADDED
Binary file
|
images/pins/default/pirates.png
ADDED
Binary file
|
images/pins/default/pizzaria.png
ADDED
Binary file
|
images/pins/default/planecrash.png
ADDED
Binary file
|
images/pins/default/planetarium-2.png
ADDED
Binary file
|
images/pins/default/playground.png
ADDED
Binary file
|
images/pins/default/pleasurepier.png
ADDED
Binary file
|
images/pins/default/poker.png
ADDED
Binary file
|
images/pins/default/police.png
ADDED
Binary file
|
images/pins/default/postal.png
ADDED
Binary file
|
images/pins/default/powerlinepole.png
ADDED
Binary file
|
images/pins/default/poweroutage.png
ADDED
Binary file
|
images/pins/default/powerplant.png
ADDED
Binary file
|
images/pins/default/powersubstation.png
ADDED
Binary file
|
images/pins/default/prayer.png
ADDED
Binary file
|
images/pins/default/presentation.png
ADDED
Binary file
|
images/pins/default/price-tag-export.png
ADDED
Binary file
|
images/pins/default/printer-2.png
ADDED
Binary file
|
images/pins/default/prison.png
ADDED
Binary file
|
images/pins/default/publicart.png
ADDED
Binary file
|
images/pins/default/pyramid.png
ADDED
Binary file
|
images/pins/default/quadrifoglio.png
ADDED
Binary file
|
images/pins/default/radar.png
ADDED
Binary file
|
images/pins/default/radiation.png
ADDED
Binary file
|
images/pins/default/radio-control-model-car.png
ADDED
Binary file
|
images/pins/default/radio-station-2.png
ADDED
Binary file
|
images/pins/default/rainy.png
ADDED
Binary file
|
images/pins/default/rape.png
ADDED
Binary file
|
images/pins/default/reatorlogowhite-22x22.png
ADDED
Binary file
|
images/pins/default/recycle.png
ADDED
Binary file
|
images/pins/default/regroup.png
ADDED
Binary file
|
images/pins/default/repair.png
ADDED
Binary file
|
images/pins/default/rescue-2.png
ADDED
Binary file
|
images/pins/default/resort.png
ADDED
Binary file
|
images/pins/default/restaurant.png
ADDED
Binary file
|
images/pins/default/restaurant_african.png
ADDED
Binary file
|
images/pins/default/restaurant_breakfast.png
ADDED
Binary file
|
images/pins/default/restaurant_buffet.png
ADDED
Binary file
|
images/pins/default/restaurant_chinese.png
ADDED
Binary file
|
images/pins/default/restaurant_fish.png
ADDED
Binary file
|
images/pins/default/restaurant_greek.png
ADDED
Binary file
|
images/pins/default/restaurant_indian.png
ADDED
Binary file
|
images/pins/default/restaurant_italian.png
ADDED
Binary file
|
images/pins/default/restaurant_korean.png
ADDED
Binary file
|
images/pins/default/restaurant_mediterranean.png
ADDED
Binary file
|
images/pins/default/restaurant_mexican.png
ADDED
Binary file
|
images/pins/default/restaurant_romantic.png
ADDED
Binary file
|
images/pins/default/restaurant_steakhouse.png
ADDED
Binary file
|
images/pins/default/restaurant_tapas.png
ADDED
Binary file
|
images/pins/default/restaurant_thai.png
ADDED
Binary file
|
images/pins/default/restaurant_turkish.png
ADDED
Binary file
|
images/pins/default/restaurant_vegetarian.png
ADDED
Binary file
|
images/pins/default/revolt.png
ADDED
Binary file
|
images/pins/default/riparianhabitat.png
ADDED
Binary file
|
images/pins/default/river-2.png
ADDED
Binary file
|
images/pins/default/road.png
ADDED
Binary file
|
images/pins/default/roadtype_gravel.png
ADDED
Binary file
|
images/pins/default/rockhouse.png
ADDED
Binary file
|
images/pins/default/rodent.png
ADDED
Binary file
|
images/pins/default/rollerskate.png
ADDED
Binary file
|
images/pins/default/ropescourse.png
ADDED
Binary file
|
images/pins/default/rowboat.png
ADDED
Binary file
|
images/pins/default/rugbyfield.png
ADDED
Binary file
|
images/pins/default/ruins-2.png
ADDED
Binary file
|
images/pins/default/sailing.png
ADDED
Binary file
|
images/pins/default/sandwich-2.png
ADDED
Binary file
|
images/pins/default/sauna.png
ADDED
Binary file
|
images/pins/default/sawmill-2.png
ADDED
Binary file
|
images/pins/default/school.png
ADDED
Binary file
|
images/pins/default/schreibwaren_web.png
ADDED
Binary file
|
images/pins/default/scoutgroup.png
ADDED
Binary file
|
images/pins/default/scubadiving.png
ADDED
Binary file
|
images/pins/default/seals.png
ADDED
Binary file
|
images/pins/default/segway.png
ADDED
Binary file
|
images/pins/default/seniorsite.png
ADDED
Binary file
|
images/pins/default/septic_tank.png
ADDED
Binary file
|
images/pins/default/share.png
ADDED
Binary file
|
images/pins/default/shark-export.png
ADDED
Binary file
|
images/pins/default/shintoshrine.png
ADDED
Binary file
|
images/pins/default/shipwreck.png
ADDED
Binary file
|
images/pins/default/shoes.png
ADDED
Binary file
|
images/pins/default/shooting.png
ADDED
Binary file
|
images/pins/default/shootingrange.png
ADDED
Binary file
|
images/pins/default/shore-2.png
ADDED
Binary file
|
images/pins/default/shower.png
ADDED
Binary file
|
images/pins/default/sight-2.png
ADDED
Binary file
|
images/pins/default/signpost-2.png
ADDED
Binary file
|
images/pins/default/sikh.png
ADDED
Binary file
|
images/pins/default/ski_shoe1.png
ADDED
Binary file
|
images/pins/default/skiing.png
ADDED
Binary file
|
images/pins/default/skijump.png
ADDED
Binary file
|
images/pins/default/skilifting.png
ADDED
Binary file
|
images/pins/default/skis.png
ADDED
Binary file
|
images/pins/default/skull.png
ADDED
Binary file
|
images/pins/default/sledge.png
ADDED
Binary file
|
images/pins/default/sledge_summer.png
ADDED
Binary file
|
images/pins/default/sledgerental.png
ADDED
Binary file
|
images/pins/default/slipway.png
ADDED
Binary file
|
images/pins/default/smallcity.png
ADDED
Binary file
|
images/pins/default/smiley_happy.png
ADDED
Binary file
|
images/pins/default/smoking.png
ADDED
Binary file
|
images/pins/default/snail.png
ADDED
Binary file
|
images/pins/default/snakes.png
ADDED
Binary file
|
images/pins/default/sneakers.png
ADDED
Binary file
|
images/pins/default/snorkeling.png
ADDED
Binary file
|
images/pins/default/snowboarding.png
ADDED
Binary file
|
images/pins/default/snowmobiling.png
ADDED
Binary file
|
images/pins/default/snowpark_arc.png
ADDED
Binary file
|
images/pins/default/snowshoeing.png
ADDED
Binary file
|
images/pins/default/snowy-2.png
ADDED
Binary file
|
images/pins/default/soccer.png
ADDED
Binary file
|
images/pins/default/solarenergy.png
ADDED
Binary file
|
images/pins/default/sozialeeinrichtung.png
ADDED
Binary file
|
images/pins/default/spa.png
ADDED
Binary file
|
images/pins/default/spaceport-2.png
ADDED
Binary file
|
images/pins/default/speed_50.png
ADDED
Binary file
|
images/pins/default/speedhump.png
ADDED
Binary file
|
images/pins/default/speedriding.png
ADDED
Binary file
|
images/pins/default/spelunking.png
ADDED
Binary file
|
images/pins/default/spider.png
ADDED
Binary file
|
images/pins/default/splice.png
ADDED
Binary file
|
images/pins/default/sportscar.png
ADDED
Binary file
|
images/pins/default/sportutilityvehicle.png
ADDED
Binary file
|
images/pins/default/square-compass.png
ADDED
Binary file
|
images/pins/default/squash-2.png
ADDED
Binary file
|
images/pins/default/stadium.png
ADDED
Binary file
|
images/pins/default/stairs.png
ADDED
Binary file
|
images/pins/default/star-3.png
ADDED
Binary file
|
images/pins/default/stargate-raw.png
ADDED
Binary file
|
images/pins/default/start-race-2.png
ADDED
Binary file
|
images/pins/default/statue-2.png
ADDED
Binary file
|
images/pins/default/steamtrain.png
ADDED
Binary file
|
images/pins/default/stop.png
ADDED
Binary file
|
images/pins/default/strike.png
ADDED
Binary file
|
images/pins/default/stripclub2.png
ADDED
Binary file
|
images/pins/default/submarine-2.png
ADDED
Binary file
|
images/pins/default/sugar-shack.png
ADDED
Binary file
|
images/pins/default/summercamp.png
ADDED
Binary file
|
images/pins/default/sumo-2.png
ADDED
Binary file
|
images/pins/default/sunny.png
ADDED
Binary file
|
images/pins/default/sunsetland.png
ADDED
Binary file
|
images/pins/default/supermarket.png
ADDED
Binary file
|
images/pins/default/surfacelift.png
ADDED
Binary file
|
images/pins/default/surfing.png
ADDED
Binary file
|
images/pins/default/surfpaddle.png
ADDED
Binary file
|
images/pins/default/surveying-2.png
ADDED
Binary file
|
images/pins/default/swimming.png
ADDED
Binary file
|
images/pins/default/synagogue-2.png
ADDED
Binary file
|
images/pins/default/taekwondo-2.png
ADDED
Binary file
|
images/pins/default/tailor.png
ADDED
Binary file
|
images/pins/default/takeaway.png
ADDED
Binary file
|
images/pins/default/targ.png
ADDED
Binary file
|
images/pins/default/taxi.png
ADDED
Binary file
|
images/pins/default/taxiboat.png
ADDED
Binary file
|
images/pins/default/taxiway.png
ADDED
Binary file
|
images/pins/default/teahouse.png
ADDED
Binary file
|
images/pins/default/tebletennis.png
ADDED
Binary file
|
images/pins/default/telephone.png
ADDED
Binary file
|
images/pins/default/temple-2.png
ADDED
Binary file
|
images/pins/default/templehindu.png
ADDED
Binary file
|
images/pins/default/tennis.png
ADDED
Binary file
|
images/pins/default/terrace.png
ADDED
Binary file
|
images/pins/default/text.png
ADDED
Binary file
|
images/pins/default/textiles.png
ADDED
Binary file
|
images/pins/default/theater.png
ADDED
Binary file
|
images/pins/default/theft.png
ADDED
Binary file
|
images/pins/default/themepark.png
ADDED
Binary file
|
images/pins/default/therapy.png
ADDED
Binary file
|
images/pins/default/theravadapagoda.png
ADDED
Binary file
|
images/pins/default/theravadatemple.png
ADDED
Binary file
|
images/pins/default/thunderstorm.png
ADDED
Binary file
|
images/pins/default/ticket_office2.png
ADDED
Binary file
|
images/pins/default/tidaldiamond.png
ADDED
Binary file
|
images/pins/default/tiger-2.png
ADDED
Binary file
|
images/pins/default/tires.png
ADDED
Binary file
|
images/pins/default/toilets.png
ADDED
Binary file
|
images/pins/default/tollstation.png
ADDED
Binary file
|
images/pins/default/tools.png
ADDED
Binary file
|
images/pins/default/tornado-2.png
ADDED
Binary file
|
images/pins/default/torture.png
ADDED
Binary file
|
images/pins/default/tower.png
ADDED
Binary file
|
images/pins/default/townhouse.png
ADDED
Binary file
|
images/pins/default/toys.png
ADDED
Binary file
|
images/pins/default/trafficcamera.png
ADDED
Binary file
|
images/pins/default/trafficlight.png
ADDED
Binary file
|
images/pins/default/train.png
ADDED
Binary file
|
images/pins/default/tramway.png
ADDED
Binary file
|
images/pins/default/trash.png
ADDED
Binary file
|
images/pins/default/travel_agency.png
ADDED
Binary file
|
images/pins/default/treasure-mark.png
ADDED
Binary file
|
images/pins/default/treedown.png
ADDED
Binary file
|
images/pins/default/triskelion.png
ADDED
Binary file
|
images/pins/default/trolley.png
ADDED
Binary file
|
images/pins/default/truck3.png
ADDED
Binary file
|
images/pins/default/tsunami.png
ADDED
Binary file
|
images/pins/default/tunnel.png
ADDED
Binary file
|
images/pins/default/turtle-2.png
ADDED
Binary file
|
images/pins/default/tweet.png
ADDED
Binary file
|
images/pins/default/u-pick_stand.png
ADDED
Binary file
|
images/pins/default/ufo.png
ADDED
Binary file
|
images/pins/default/umbrella-2.png
ADDED
Binary file
|
images/pins/default/underground.png
ADDED
Binary file
|
images/pins/default/university.png
ADDED
Binary file
|
images/pins/default/usfootball.png
ADDED
Binary file
|
images/pins/default/van.png
ADDED
Binary file
|
images/pins/default/vespa.png
ADDED
Binary file
|
images/pins/default/veterinary.png
ADDED
Binary file
|
images/pins/default/video.png
ADDED
Binary file
|
images/pins/default/videogames.png
ADDED
Binary file
|
images/pins/default/villa.png
ADDED
Binary file
|
images/pins/default/vineyard-2.png
ADDED
Binary file
|
images/pins/default/volcano-2.png
ADDED
Binary file
|
images/pins/default/volleyball.png
ADDED
Binary file
|
images/pins/default/waiting.png
ADDED
Binary file
|
images/pins/default/walkingtour.png
ADDED
Binary file
|
images/pins/default/war.png
ADDED
Binary file
|
images/pins/default/warehouse-2.png
ADDED
Binary file
|
images/pins/default/water.png
ADDED
Binary file
|
images/pins/default/watercraft.png
ADDED
Binary file
|
images/pins/default/waterfall-2.png
ADDED
Binary file
|
images/pins/default/watermill-2.png
ADDED
Binary file
|
images/pins/default/waterpark.png
ADDED
Binary file
|
images/pins/default/waterskiing.png
ADDED
Binary file
|
images/pins/default/watertower.png
ADDED
Binary file
|
images/pins/default/waterwell.png
ADDED
Binary file
|
images/pins/default/waterwellpump.png
ADDED
Binary file
|
images/pins/default/webcam.png
ADDED
Binary file
|
images/pins/default/wedding.png
ADDED
Binary file
|
images/pins/default/weights.png
ADDED
Binary file
|
images/pins/default/wetlands.png
ADDED
Binary file
|
images/pins/default/whale-2.png
ADDED
Binary file
|
images/pins/default/wifi.png
ADDED
Binary file
|
images/pins/default/wiki-export.png
ADDED
Binary file
|
images/pins/default/wildlifecrossing.png
ADDED
Binary file
|
images/pins/default/wind-2.png
ADDED
Binary file
|
images/pins/default/windmill-2.png
ADDED
Binary file
|
images/pins/default/windsurfing.png
ADDED
Binary file
|
images/pins/default/windturbine.png
ADDED
Binary file
|
images/pins/default/winebar.png
ADDED
Binary file
|
images/pins/default/winetasting.png
ADDED
Binary file
|
images/pins/default/woodshed.png
ADDED
Binary file
|
images/pins/default/workoffice.png
ADDED
Binary file
|
images/pins/default/workshop.png
ADDED
Binary file
|
images/pins/default/world.png
ADDED
Binary file
|
images/pins/default/worldheritagesite.png
ADDED
Binary file
|
images/pins/default/worldwildway.png
ADDED
Binary file
|
images/pins/default/wrestling-2.png
ADDED
Binary file
|
images/pins/default/yoga.png
ADDED
Binary file
|
images/pins/default/yooner.png
ADDED
Binary file
|
images/pins/default/you-are-here-2.png
ADDED
Binary file
|
images/pins/default/youthhostel.png
ADDED
Binary file
|
images/pins/default/zombie-outbreak1.png
ADDED
Binary file
|
images/pins/default/zoo.png
ADDED
Binary file
|
images/pins/default/zoom.png
ADDED
Binary file
|
images/santa_cap.png
DELETED
Binary file
|
images/spinner.gif
ADDED
Binary file
|
js/gmw-admin.js
CHANGED
@@ -5,11 +5,53 @@
|
|
5 |
|
6 |
|
7 |
jQuery(function($) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
// init JS for each active widget
|
9 |
-
$(".widget-liquid-right [id*='" + gmw.id_base + "'].widget, .inactive-sidebar [id*='" + gmw.id_base + "'].widget
|
10 |
gmw_init_widget_ui(widget);
|
11 |
}); // foreach GMW active widget
|
12 |
|
|
|
13 |
// re-init JS on widget update and add
|
14 |
$(document).on('widget-updated', function(event, widget) {
|
15 |
id = $(widget).attr('id');
|
@@ -24,9 +66,22 @@ jQuery(function($) {
|
|
24 |
}
|
25 |
});
|
26 |
|
27 |
-
|
28 |
// init JS UI for an individual GMW
|
29 |
function gmw_init_widget_ui(widget) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
// handle dropdown fields that have dependant fields
|
31 |
$('.gmw_thumb_pin_type', widget).on('change', function(e) {
|
32 |
gmw_change_pin_type(widget);
|
@@ -34,28 +89,121 @@ jQuery(function($) {
|
|
34 |
$('.gmw_thumb_link_type', widget).on('change', function(e) {
|
35 |
gmw_change_link_type(widget);
|
36 |
}).trigger('change');
|
37 |
-
$('.
|
38 |
-
|
39 |
-
});
|
40 |
-
$('.
|
41 |
-
|
42 |
-
});
|
43 |
|
44 |
// open promo/activation dialog
|
45 |
$('.open_promo_dialog', widget).on('click', function(e) {
|
46 |
e.preventDefault();
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
return false;
|
50 |
});
|
|
|
|
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
});
|
|
|
|
|
56 |
} // gmw_init_widget_ui
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
|
|
59 |
// get active tab index from cookie
|
60 |
function gmw_get_active_tab(el_id) {
|
61 |
id = parseInt(0 + $.cookie(el_id), 10);
|
@@ -69,13 +217,13 @@ jQuery(function($) {
|
|
69 |
|
70 |
// save active tab index to cookie
|
71 |
function gmw_save_active_tab(elem) {
|
72 |
-
$.cookie($(elem).attr('id'), $(elem).tabs('option', 'active'), { expires:
|
73 |
} // save_active_tab
|
74 |
|
75 |
|
76 |
// show/hide custom link field based on user's link type choice
|
77 |
function gmw_change_link_type(widget) {
|
78 |
-
if ($('.gmw_thumb_link_type', widget).val() == 'custom') {
|
79 |
$('.gmw_thumb_link_section', widget).show();
|
80 |
} else {
|
81 |
$('.gmw_thumb_link_section', widget).hide();
|
@@ -83,39 +231,57 @@ jQuery(function($) {
|
|
83 |
} // link_type
|
84 |
|
85 |
|
86 |
-
// show/hide custom
|
87 |
-
function
|
88 |
-
if ($('.
|
89 |
-
$('.
|
90 |
-
$('.gmw_thumb_pin_type_predefined_section', widget).hide();
|
91 |
} else {
|
92 |
-
$('.
|
93 |
-
$('.gmw_thumb_pin_type_predefined_section', widget).show();
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
} // pin_type
|
96 |
|
97 |
|
98 |
-
// extra features related functions
|
99 |
// open promo dialog on load
|
100 |
if (window.location.search.search('gmw_open_promo_dialog') != -1) {
|
101 |
gmw_open_promo_dialog();
|
102 |
}
|
103 |
|
104 |
-
|
105 |
// opens promo dialog when special value is selected in widget's options
|
106 |
-
function gmw_promo_option_change(widget,
|
107 |
-
if (($(
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
110 |
gmw_open_promo_dialog(widget);
|
111 |
}
|
112 |
} // promo_option_change
|
113 |
|
114 |
-
|
115 |
// already subscribed button in dialog
|
116 |
$('.gmw_goto_activation').on('click', function(e) {
|
117 |
-
$('
|
118 |
-
$('#gmw_dialog_subscribe').hide();
|
119 |
$('#gmw_dialog_activate').show();
|
120 |
|
121 |
if ($(this).data('noprevent')) {
|
@@ -130,126 +296,317 @@ jQuery(function($) {
|
|
130 |
// go to intro button in dialog
|
131 |
$('.gmw_goto_intro').on('click', function(e) {
|
132 |
e.preventDefault();
|
|
|
|
|
133 |
$('#gmw_dialog_intro').show();
|
134 |
-
$('#gmw_dialog_subscribe').hide();
|
135 |
-
$('#gmw_dialog_activate').hide();
|
136 |
|
137 |
return false;
|
138 |
}); // go to intro click
|
139 |
-
|
140 |
|
141 |
-
|
142 |
-
|
|
|
143 |
e.preventDefault();
|
144 |
-
|
145 |
-
$('
|
146 |
-
$('#
|
147 |
|
148 |
return false;
|
149 |
-
}); //
|
150 |
-
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
$('#gmw_promo_dialog span.error').hide();
|
159 |
-
|
160 |
-
if ($('#gmw_name').val().length < 3) {
|
161 |
-
$('#gmw_name').addClass('error');
|
162 |
-
$('#gmw_promo_dialog span.error.name').show();
|
163 |
-
$('#gmw_name').focus().select();
|
164 |
-
|
165 |
-
err = true;
|
166 |
-
} // check name
|
167 |
-
|
168 |
-
re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
169 |
-
if (!re.test($('#gmw_email').val())) {
|
170 |
-
$('#gmw_email').addClass('error');
|
171 |
-
$('#gmw_promo_dialog span.error.email').show();
|
172 |
-
$('#gmw_email').focus().select();
|
173 |
return false;
|
174 |
}
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
return false;
|
178 |
}
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
'name': $('#gmw_name').val(),
|
183 |
-
'email': $('#gmw_email').val()
|
184 |
-
},
|
185 |
-
function(data) {
|
186 |
-
if (data && data.success == true) {
|
187 |
-
$('#gmw_dialog_subscribe').hide();
|
188 |
-
$('#gmw_dialog_activate').show();
|
189 |
-
alert(gmw.subscribe_ok);
|
190 |
-
} else if (data && data.success == false && data.data == 'duplicate') {
|
191 |
-
$('#gmw_dialog_subscribe').hide();
|
192 |
-
$('#gmw_dialog_activate').show();
|
193 |
-
alert(gmw.subscribe_duplicate);
|
194 |
-
} else {
|
195 |
-
alert(gmw.subscribe_error);
|
196 |
-
}
|
197 |
-
}, 'json').fail(function() {
|
198 |
-
alert(gmw.undocumented_error);
|
199 |
-
});
|
200 |
-
|
201 |
-
return false;
|
202 |
-
}); // subscribe click
|
203 |
-
|
204 |
-
|
205 |
// check code and activate button in dialog
|
206 |
$('#gmw_activate').on('click', function(e) {
|
207 |
e.preventDefault();
|
208 |
|
209 |
$('#gmw_promo_dialog input.error').removeClass('error');
|
210 |
$('#gmw_promo_dialog span.error').hide();
|
|
|
|
|
211 |
|
212 |
-
$.post(ajaxurl, { action: 'gmw_activate', 'code': $('#gmw_code').val()}, function(
|
213 |
-
if (
|
214 |
alert(gmw.activate_ok);
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
$('#gmw_promo_dialog').dialog('close');
|
219 |
-
} else {
|
220 |
-
window.location = 'widgets.php';
|
221 |
-
}
|
222 |
} else {
|
223 |
-
$('#gmw_promo_dialog
|
|
|
224 |
$('#gmw_code').focus().select();
|
225 |
}
|
226 |
-
}, 'json')
|
|
|
227 |
alert(gmw.undocumented_error);
|
228 |
-
})
|
229 |
-
|
|
|
|
|
|
|
|
|
230 |
return false;
|
231 |
}); // activate button click
|
232 |
|
233 |
-
|
234 |
// open promo/activation dialog
|
235 |
-
function gmw_open_promo_dialog(
|
|
|
236 |
$('#gmw_dialog_intro').show();
|
237 |
-
$('#gmw_dialog_subscribe').hide();
|
238 |
-
$('#gmw_dialog_activate').hide();
|
239 |
|
240 |
$('#gmw_promo_dialog').dialog({
|
241 |
'dialogClass' : 'wp-dialog gmw-dialog',
|
242 |
'modal' : true,
|
|
|
243 |
'width': 650,
|
244 |
-
'title': gmw.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
'autoOpen': false,
|
246 |
'closeOnEscape': true,
|
247 |
-
open: function(event, ui) {
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
}).dialog('open');
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
-
|
252 |
-
|
|
|
|
|
253 |
}
|
254 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
}); // onload
|
5 |
|
6 |
|
7 |
jQuery(function($) {
|
8 |
+
if (typeof gmw === 'undefined') {
|
9 |
+
return;
|
10 |
+
}
|
11 |
+
|
12 |
+
|
13 |
+
// init tabs on settings
|
14 |
+
$('#gmw-settings-tabs').tabs({ active: gmw_get_active_tab('gmw-settings-tabs'),
|
15 |
+
activate: function(event, ui) { gmw_save_active_tab(this); }
|
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
|
43 |
+
if (typeof google != 'undefined') {
|
44 |
+
gmw.geocoder = new google.maps.Geocoder();
|
45 |
+
}
|
46 |
+
gmw.map = gmw.marker = false;
|
47 |
+
|
48 |
+
|
49 |
// init JS for each active widget
|
50 |
+
$(".widget-liquid-right [id*='" + gmw.id_base + "-'].widget, .inactive-sidebar [id*='" + gmw.id_base + "'].widget").each(function (i, widget) {
|
51 |
gmw_init_widget_ui(widget);
|
52 |
}); // foreach GMW active widget
|
53 |
|
54 |
+
|
55 |
// re-init JS on widget update and add
|
56 |
$(document).on('widget-updated', function(event, widget) {
|
57 |
id = $(widget).attr('id');
|
66 |
}
|
67 |
});
|
68 |
|
69 |
+
|
70 |
// init JS UI for an individual GMW
|
71 |
function gmw_init_widget_ui(widget) {
|
72 |
+
$('.gmw-colorpicker', widget).wpColorPicker();
|
73 |
+
$('.gmw-select2', widget).select2({ minimumResultsForSearch: 100, width: '331px' });
|
74 |
+
|
75 |
+
// init tabs
|
76 |
+
$('.gmw-tabs', widget).tabs({ active: gmw_get_active_tab($('.gmw-tabs', widget).attr('id')),
|
77 |
+
activate: function(event, ui) { gmw_save_active_tab(this); }
|
78 |
+
});
|
79 |
+
|
80 |
+
// promo options in dropdown
|
81 |
+
$('select', widget).on('change', function(event) {
|
82 |
+
gmw_promo_option_change(widget, event);
|
83 |
+
});
|
84 |
+
|
85 |
// handle dropdown fields that have dependant fields
|
86 |
$('.gmw_thumb_pin_type', widget).on('change', function(e) {
|
87 |
gmw_change_pin_type(widget);
|
89 |
$('.gmw_thumb_link_type', widget).on('change', function(e) {
|
90 |
gmw_change_link_type(widget);
|
91 |
}).trigger('change');
|
92 |
+
$('.gmw_lightbox_fullscreen', widget).on('change', function(e) {
|
93 |
+
gmw_change_fullscreen(widget);
|
94 |
+
}).trigger('change');
|
95 |
+
$('.gmw_lightbox_mode', widget).on('change', function(e) {
|
96 |
+
gmw_change_mode(widget);
|
97 |
+
}).trigger('change');
|
98 |
|
99 |
// open promo/activation dialog
|
100 |
$('.open_promo_dialog', widget).on('click', function(e) {
|
101 |
e.preventDefault();
|
102 |
+
|
103 |
+
gmw_open_promo_dialog();
|
104 |
+
|
105 |
+
return false;
|
106 |
+
}); // open promo/activation dialog
|
107 |
+
|
108 |
+
// open pin library
|
109 |
+
$('.open_pins_library', widget).on('click', function(e) {
|
110 |
+
e.preventDefault();
|
111 |
+
|
112 |
+
gmw_open_pins_library_dialog(this);
|
113 |
+
|
114 |
+
return false;
|
115 |
+
}); // open pin library
|
116 |
+
|
117 |
+
// open address picking map dialog - non pro, just ad
|
118 |
+
$('a.gmw-pick-address.gmw-pick-address-non-pro', widget).on('click', function(e) {
|
119 |
+
e.preventDefault();
|
120 |
+
|
121 |
+
if (confirm(gmw.map_picker_not_active)) {
|
122 |
+
gmw_open_promo_dialog();
|
123 |
+
}
|
124 |
+
|
125 |
+
return false;
|
126 |
+
}); // open address picking map dialog - non pro, just ad
|
127 |
+
|
128 |
+
// open address picking map dialog
|
129 |
+
$('a.gmw-pick-address', widget).on('click', function(e) {
|
130 |
+
e.preventDefault();
|
131 |
+
|
132 |
+
gmw_open_map_dialog($(this).parents('div.widget'), $(this).data('target'));
|
133 |
+
|
134 |
+
return false;
|
135 |
+
}); // open address picking map dialog
|
136 |
+
|
137 |
+
// auto-expand textarea
|
138 |
+
$('textarea', widget).on('focus', function(e) {
|
139 |
+
e.preventDefault();
|
140 |
+
|
141 |
+
$(this).attr('rows', '3');
|
142 |
|
143 |
return false;
|
144 |
});
|
145 |
+
$('textarea', widget).on('focusout', function(e) {
|
146 |
+
e.preventDefault();
|
147 |
|
148 |
+
$(this).attr('rows', '1');
|
149 |
+
|
150 |
+
return false;
|
151 |
+
});
|
152 |
+
|
153 |
+
// show help when field is focused
|
154 |
+
$('input[type=text], input[type=number], input[type=url], select, textarea', widget).on('focus', function(e) {
|
155 |
+
gmw_show_pointer(this, widget, true);
|
156 |
+
|
157 |
+
}).on('focusout', function(e) {
|
158 |
+
gmw_show_pointer(this, widget, false);
|
159 |
});
|
160 |
+
$('.gmw-select2', widget).on('select2:open', function(e) { gmw_show_pointer(this, widget, true); });
|
161 |
+
$('.gmw-select2', widget).on('select2:close', function(e) { gmw_show_pointer(this, widget, false); });
|
162 |
} // gmw_init_widget_ui
|
163 |
|
164 |
+
|
165 |
+
// display help text when element is in focus
|
166 |
+
function gmw_show_pointer(element, widget, show) {
|
167 |
+
if (gmw.disable_tooltips == '1') {
|
168 |
+
return;
|
169 |
+
}
|
170 |
+
|
171 |
+
if (show) {
|
172 |
+
help_text = $(element).data('tooltip');
|
173 |
+
|
174 |
+
// skip fields that don't have any help text
|
175 |
+
if (!help_text) {
|
176 |
+
return;
|
177 |
+
}
|
178 |
+
|
179 |
+
help_text = help_text.replace(/(?:\r\n|\r|\n)/g, '<br />');
|
180 |
+
help_text = help_text.replace(/_(.*)_/g, '<i>$1</i>');
|
181 |
+
help_text = help_text.replace(/\*(.*)\*/g, '<b>$1</b>');
|
182 |
+
|
183 |
+
title = $(element).data('title') || $(element).prev('label').html() || gmw.plugin_name;
|
184 |
+
title = title.replace(':', '');
|
185 |
+
|
186 |
+
try {
|
187 |
+
$(gmw_pointer).pointer('close');
|
188 |
+
} catch(err) {}
|
189 |
+
|
190 |
+
gmw_pointer = $(element).pointer({
|
191 |
+
content: '<h3>' + title + '</h3><p>' + help_text + '</p>',
|
192 |
+
position: {
|
193 |
+
edge: 'bottom',
|
194 |
+
align: 'left'
|
195 |
+
},
|
196 |
+
width: 400,
|
197 |
+
pointerClass: 'wp_pointer gmw_pointer'
|
198 |
+
}).pointer('open');
|
199 |
+
} else {
|
200 |
+
try {
|
201 |
+
$(gmw_pointer).pointer('close');
|
202 |
+
} catch(err) {}
|
203 |
+
}
|
204 |
+
} // gmw_show_pointer
|
205 |
|
206 |
+
|
207 |
// get active tab index from cookie
|
208 |
function gmw_get_active_tab(el_id) {
|
209 |
id = parseInt(0 + $.cookie(el_id), 10);
|
217 |
|
218 |
// save active tab index to cookie
|
219 |
function gmw_save_active_tab(elem) {
|
220 |
+
$.cookie($(elem).attr('id'), $(elem).tabs('option', 'active'), { expires: 180 });
|
221 |
} // save_active_tab
|
222 |
|
223 |
|
224 |
// show/hide custom link field based on user's link type choice
|
225 |
function gmw_change_link_type(widget) {
|
226 |
+
if ($('.gmw_thumb_link_type', widget).val() == 'custom' || $('.gmw_thumb_link_type', widget).val() == 'custom_blank') {
|
227 |
$('.gmw_thumb_link_section', widget).show();
|
228 |
} else {
|
229 |
$('.gmw_thumb_link_section', widget).hide();
|
231 |
} // link_type
|
232 |
|
233 |
|
234 |
+
// show/hide custom lightbox map size
|
235 |
+
function gmw_change_fullscreen(widget) {
|
236 |
+
if ($('.gmw_lightbox_fullscreen', widget).val() == '1') {
|
237 |
+
$('.gmw_lightbox_fullscreen_custom_section', widget).hide();
|
|
|
238 |
} else {
|
239 |
+
$('.gmw_lightbox_fullscreen_custom_section', widget).show();
|
|
|
240 |
}
|
241 |
+
} // fullscreen
|
242 |
+
|
243 |
+
|
244 |
+
// show/hide fields based on mode
|
245 |
+
function gmw_change_mode(widget) {
|
246 |
+
mode = $('.gmw_lightbox_mode', widget).val();
|
247 |
+
|
248 |
+
$('p[class^="gmw_lightbox_mode_"]', widget).hide();
|
249 |
+
$('p.gmw_lightbox_mode_' + mode, widget).show();
|
250 |
+
} // mode
|
251 |
+
|
252 |
+
|
253 |
+
// show/hide custom pin URL field based on user's pin type choice
|
254 |
+
function gmw_change_pin_type(widget) {
|
255 |
+
type = $('.gmw_thumb_pin_type', widget).val();
|
256 |
+
type = type.replace('-', '_');
|
257 |
+
|
258 |
+
$('p[class^="gmw_thumb_pin_type_"]', widget).hide();
|
259 |
+
$('p.gmw_thumb_pin_type_' + type, widget).show();
|
260 |
} // pin_type
|
261 |
|
262 |
|
|
|
263 |
// open promo dialog on load
|
264 |
if (window.location.search.search('gmw_open_promo_dialog') != -1) {
|
265 |
gmw_open_promo_dialog();
|
266 |
}
|
267 |
|
268 |
+
|
269 |
// opens promo dialog when special value is selected in widget's options
|
270 |
+
function gmw_promo_option_change(widget, event) {
|
271 |
+
if (($(event.target).val()) == '-1') {
|
272 |
+
event.stopPropagation();
|
273 |
+
event.preventDefault();
|
274 |
+
|
275 |
+
$(event.target).find('option').attr('selected', '');
|
276 |
+
$(event.target).find('option:first').attr('selected', 'selected');
|
277 |
gmw_open_promo_dialog(widget);
|
278 |
}
|
279 |
} // promo_option_change
|
280 |
|
281 |
+
|
282 |
// already subscribed button in dialog
|
283 |
$('.gmw_goto_activation').on('click', function(e) {
|
284 |
+
$('.gmw_promo_dialog_screen').hide();
|
|
|
285 |
$('#gmw_dialog_activate').show();
|
286 |
|
287 |
if ($(this).data('noprevent')) {
|
296 |
// go to intro button in dialog
|
297 |
$('.gmw_goto_intro').on('click', function(e) {
|
298 |
e.preventDefault();
|
299 |
+
|
300 |
+
$('.gmw_promo_dialog_screen').hide();
|
301 |
$('#gmw_dialog_intro').show();
|
|
|
|
|
302 |
|
303 |
return false;
|
304 |
}); // go to intro click
|
|
|
305 |
|
306 |
+
|
307 |
+
// go to PRO features button in dialog
|
308 |
+
$('.gmw_goto_pro').on('click', function(e) {
|
309 |
e.preventDefault();
|
310 |
+
|
311 |
+
$('.gmw_promo_dialog_screen').hide();
|
312 |
+
$('#gmw_dialog_pro_features').show();
|
313 |
|
314 |
return false;
|
315 |
+
}); // go to PRO features click
|
|
|
316 |
|
317 |
+
|
318 |
+
// enter is pressed in license key field
|
319 |
+
$('#gmw_code').on('keypress', function(e) {
|
320 |
+
if (e.which === 13) {
|
321 |
+
e.preventDefault();
|
322 |
+
$('#gmw_activate').trigger('click');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
return false;
|
324 |
}
|
325 |
+
}); // enter press
|
326 |
+
|
327 |
+
|
328 |
+
// enter is pressed in license key field in settings
|
329 |
+
$('#activation_code').on('keypress', function(e) {
|
330 |
+
if (e.which === 13 || e.which === 10) {
|
331 |
+
e.preventDefault();
|
332 |
+
$('#submit-license').trigger('click');
|
333 |
return false;
|
334 |
}
|
335 |
+
}); // enter press
|
336 |
+
|
337 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
// check code and activate button in dialog
|
339 |
$('#gmw_activate').on('click', function(e) {
|
340 |
e.preventDefault();
|
341 |
|
342 |
$('#gmw_promo_dialog input.error').removeClass('error');
|
343 |
$('#gmw_promo_dialog span.error').hide();
|
344 |
+
$('#gmw_promo_dialog input').addClass('gmw_spinner').addClass('gmw_disabled');
|
345 |
+
$('#gmw_activate').addClass('gmw_disabled');
|
346 |
|
347 |
+
$.post(ajaxurl, { action: 'gmw_activate', 'code': $('#gmw_code').val()}, function(response) {
|
348 |
+
if (response.success === true) {
|
349 |
alert(gmw.activate_ok);
|
350 |
+
tmp = window.location.pathname + window.location.search;
|
351 |
+
tmp = tmp.replace('gmw_open_promo_dialog', '');
|
352 |
+
window.location = tmp;
|
|
|
|
|
|
|
|
|
353 |
} else {
|
354 |
+
$('#gmw_promo_dialog input').addClass('error');
|
355 |
+
$('#gmw_promo_dialog span.error.gmw_code').html(response.data).show();
|
356 |
$('#gmw_code').focus().select();
|
357 |
}
|
358 |
+
}, 'json')
|
359 |
+
.fail(function() {
|
360 |
alert(gmw.undocumented_error);
|
361 |
+
})
|
362 |
+
.always(function() {
|
363 |
+
$('#gmw_promo_dialog input').removeClass('gmw_spinner').removeClass('gmw_disabled');
|
364 |
+
$('#gmw_activate').removeClass('gmw_disabled');
|
365 |
+
});;
|
366 |
+
|
367 |
return false;
|
368 |
}); // activate button click
|
369 |
|
370 |
+
|
371 |
// open promo/activation dialog
|
372 |
+
function gmw_open_promo_dialog() {
|
373 |
+
$('.gmw_promo_dialog_screen').hide();
|
374 |
$('#gmw_dialog_intro').show();
|
|
|
|
|
375 |
|
376 |
$('#gmw_promo_dialog').dialog({
|
377 |
'dialogClass' : 'wp-dialog gmw-dialog',
|
378 |
'modal' : true,
|
379 |
+
'resizable': false,
|
380 |
'width': 650,
|
381 |
+
'title': gmw.plugin_name,
|
382 |
+
'autoOpen': false,
|
383 |
+
'closeOnEscape': false,
|
384 |
+
open: function(event, ui) {
|
385 |
+
$(this).siblings().find('span.ui-dialog-title').html(gmw.dialog_promo_title);
|
386 |
+
$('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
|
387 |
+
$('.gmw_goto_pro').blur();
|
388 |
+
},
|
389 |
+
close: function(event, ui) { }
|
390 |
+
}).dialog('open');
|
391 |
+
} // open_promo_dialog
|
392 |
+
|
393 |
+
|
394 |
+
// open pin picker library dialog
|
395 |
+
function gmw_open_pins_library_dialog(button) {
|
396 |
+
$('#gmw_pins_dialog').dialog({
|
397 |
+
'dialogClass' : 'wp-dialog gmw-map-dialog',
|
398 |
+
'modal' : true,
|
399 |
+
'resizable': true,
|
400 |
+
'width': $(window).width() * 0.4,
|
401 |
+
'height': 585,
|
402 |
+
'title': gmw.dialog_pins_title,
|
403 |
'autoOpen': false,
|
404 |
'closeOnEscape': true,
|
405 |
+
open: function(event, ui) {
|
406 |
+
$('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
|
407 |
+
$('#pins_container').height($('#gmw_pins_dialog').dialog('option', 'height') - 185);
|
408 |
+
$('#pins_container img').each(function(ind, el) {
|
409 |
+
if (!$(el).attr('src')) {
|
410 |
+
tmp = gmw.pins_library + $(el).parent('a').data('filename');
|
411 |
+
$(el).attr('src', tmp);
|
412 |
+
}
|
413 |
+
});
|
414 |
+
},
|
415 |
+
close: function(event, ui) { },
|
416 |
+
resizeStop: function(event, ui) {
|
417 |
+
$('#gmw_pins_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
|
418 |
+
$('#pins_container').height($('#gmw_pins_dialog').dialog('option', 'height') - 185);
|
419 |
+
}
|
420 |
}).dialog('open');
|
421 |
+
|
422 |
+
if (button) {
|
423 |
+
$('#gmw_pins_dialog').data('widget-id', $(button).parents('div.widget').attr('id'));
|
424 |
+
}
|
425 |
+
} // open_pins_library_dialog
|
426 |
+
|
427 |
|
428 |
+
// recenter dialogs when window resizes
|
429 |
+
$(window).resize(function(e) {
|
430 |
+
if ($('.ui-dialog #gmw_promo_dialog').is(':visible')) {
|
431 |
+
$('#gmw_promo_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
|
432 |
}
|
433 |
+
if ($('.ui-dialog #gmw_map_dialog').is(':visible')) {
|
434 |
+
$('#gmw_map_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
|
435 |
+
}
|
436 |
+
if ($('.ui-dialog #gmw_pins_dialog').is(':visible')) {
|
437 |
+
$('#gmw_pins_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
|
438 |
+
}
|
439 |
+
|
440 |
+
return true;
|
441 |
+
}); // recenter dialogs
|
442 |
+
|
443 |
+
|
444 |
+
// open address picking map dialog
|
445 |
+
function gmw_open_map_dialog(widget, target) {
|
446 |
+
$('#gmw_map_dialog').dialog({
|
447 |
+
'dialogClass' : 'wp-dialog gmw-map-dialog',
|
448 |
+
'modal' : true,
|
449 |
+
'width': 880,
|
450 |
+
'minWidth': 500,
|
451 |
+
'minHeight': 500,
|
452 |
+
'resizable': true,
|
453 |
+
'title': gmw.dialog_map_title,
|
454 |
+
'autoOpen': false,
|
455 |
+
'closeOnEscape': true,
|
456 |
+
open: function(event, ui) {
|
457 |
+
$('.ui-widget-overlay').bind('click', function () { $(this).siblings('.ui-dialog').find('.ui-dialog-content').dialog('close'); });
|
458 |
+
gmw_init_map($('input[id$="-' + target + '"]', widget).val());
|
459 |
+
$('#gmw_map_dialog').data('widget-id', $(widget).attr('id'));
|
460 |
+
$('#gmw_map_dialog').data('target', target);
|
461 |
+
},
|
462 |
+
resizeStop: function(event, ui) {
|
463 |
+
$('#gmw_map_dialog').dialog('option', 'position', {my: 'center', at: 'center', of: window});
|
464 |
+
$('#gmw_map_canvas').height($('#gmw_map_dialog').dialog('option', 'height') - $('#gmw_map_dialog_footer').height() - 90);
|
465 |
+
google.maps.event.trigger(gmw.map, 'resize');
|
466 |
+
},
|
467 |
+
close: function(event, ui) {}
|
468 |
+
}).dialog('open');
|
469 |
+
} // open_map_dialog
|
470 |
+
|
471 |
+
|
472 |
+
// filter pins
|
473 |
+
// bind and run
|
474 |
+
var last_search = '';
|
475 |
+
$('#pins_search').val($.cookie('gmw_pins_search'));
|
476 |
+
$('#pins_search').on('change mouseup keyup focus blur search', function(e) {
|
477 |
+
search = $(this).val();
|
478 |
+
|
479 |
+
if (search == last_search) {
|
480 |
+
return false;
|
481 |
+
}
|
482 |
+
|
483 |
+
last_search = search;
|
484 |
+
if (!search) {
|
485 |
+
$.cookie('gmw_pins_search', search, { expires: 90 });
|
486 |
+
$('#pins_container a').show();
|
487 |
+
|
488 |
+
return true;
|
489 |
+
} else {
|
490 |
+
$.cookie('gmw_pins_search', search, { expires: 90 });
|
491 |
+
reg_exp = new RegExp(search, 'i');
|
492 |
+
|
493 |
+
$('#pins_container a:not(.skip-search)').each(function(ind, el) {
|
494 |
+
name = $('span', el).text();
|
495 |
+
if (name.search(reg_exp) != -1) {
|
496 |
+
$(el).show();
|
497 |
+
} else {
|
498 |
+
$(el).hide();
|
499 |
+
}
|
500 |
+
});
|
501 |
+
|
502 |
+
return true;
|
503 |
+
}
|
504 |
+
}).trigger('search');
|
505 |
+
// filter pins
|
506 |
+
|
507 |
+
|
508 |
+
// select pin from dialog
|
509 |
+
$('#pins_container a:not(.skip-search)').on('click', function(e) {
|
510 |
+
e.preventDefault();
|
511 |
+
widget_id = $('#gmw_pins_dialog').data('widget-id');
|
512 |
+
|
513 |
+
$('#' + widget_id + ' .thumb_pin_img_library').val($(this).data('filename'));
|
514 |
+
$('#' + widget_id + ' .thumb_pin_img_library_preview').attr('src', gmw.pins_library + $(this).data('filename'));
|
515 |
+
|
516 |
+
$('#gmw_pins_dialog').dialog('close');
|
517 |
+
|
518 |
+
return false;
|
519 |
+
}); // select pin from dialog
|
520 |
+
|
521 |
+
function gmw_init_map(address) {
|
522 |
+
if (!address) {
|
523 |
+
address = 'New York, USA';
|
524 |
+
}
|
525 |
+
gmw_put_pin(address);
|
526 |
+
} // gmw_init_map
|
527 |
+
|
528 |
+
|
529 |
+
function gmw_put_pin(address) {
|
530 |
+
gmw.geocoder.geocode({'address': address}, function(results, status) {
|
531 |
+
if (status === google.maps.GeocoderStatus.OK) {
|
532 |
+
point = results[0].geometry.location;
|
533 |
+
$('#gmw_map_pin_coordinates').val(results[0].geometry.location.lat().toFixed(5) + ', ' + results[0].geometry.location.lng().toFixed(5));
|
534 |
+
$('#gmw_map_pin_address').val(results[0].formatted_address);
|
535 |
+
gmw.map = new google.maps.Map(document.getElementById('gmw_map_canvas'), {
|
536 |
+
zoom: 15,
|
537 |
+
center: point,
|
538 |
+
mapTypeId: google.maps.MapTypeId.ROADMAP
|
539 |
+
});
|
540 |
+
gmw.marker = new google.maps.Marker({
|
541 |
+
position: point,
|
542 |
+
title: 'Drag and drop pin to change the address',
|
543 |
+
map: gmw.map,
|
544 |
+
draggable: true
|
545 |
+
});
|
546 |
+
google.maps.event.addListener(gmw.marker, 'dragend', function(e) {
|
547 |
+
$('#gmw_map_pin_coordinates').val(e.latLng.lat().toFixed(5) + ', ' + e.latLng.lng().toFixed(5));
|
548 |
+
gmw_update_address_by_pos(gmw.marker.getPosition());
|
549 |
+
});
|
550 |
+
google.maps.event.addListener(gmw.marker, 'drag', function(e) {
|
551 |
+
$('#gmw_map_pin_coordinates').val(e.latLng.lat().toFixed(5) + ', ' + e.latLng.lng().toFixed(5));
|
552 |
+
$('#gmw_map_pin_address').val('Searching for the closest address ...');
|
553 |
+
});
|
554 |
+
} else {
|
555 |
+
alert('Geocoder was unable to process the address; ' + status);
|
556 |
+
}
|
557 |
+
});
|
558 |
+
} // gmw_put_pin
|
559 |
+
|
560 |
+
|
561 |
+
// get address from coordinates
|
562 |
+
function gmw_update_address_by_pos(point) {
|
563 |
+
$('#gmw_map_dialog_address').val('Processing coordinates ...');
|
564 |
+
gmw.geocoder.geocode({
|
565 |
+
latLng: point
|
566 |
+
}, function(responses) {
|
567 |
+
if (responses && responses.length > 0) {
|
568 |
+
$('#gmw_map_pin_address').val(responses[0].formatted_address);
|
569 |
+
} else {
|
570 |
+
$('#gmw_map_pin_address').val('Can\'t determine address at this location.');
|
571 |
+
}
|
572 |
+
});
|
573 |
+
} // gmw_update_address_by_pos
|
574 |
+
|
575 |
+
|
576 |
+
// move pin in dialog based on entered coordinates or address
|
577 |
+
$('.gmw-move-pin').on('click', function(e) {
|
578 |
+
e.preventDefault();
|
579 |
+
|
580 |
+
field = $(this).data('location-holder');
|
581 |
+
gmw_put_pin($('#' + field).val());
|
582 |
+
|
583 |
+
return false;
|
584 |
+
}); // move pin in dialog
|
585 |
+
|
586 |
+
|
587 |
+
// just close the map dialog
|
588 |
+
$('#gmw_close_map_dialog').on('click', function(e) {
|
589 |
+
e.preventDefault();
|
590 |
+
|
591 |
+
$('#gmw_map_dialog').dialog('close');
|
592 |
+
|
593 |
+
return false;
|
594 |
+
}); // close dialog
|
595 |
+
|
596 |
+
|
597 |
+
// close map dialog and transfer address or coordinates
|
598 |
+
$('.gmw_close_save_map_dialog').on('click', function(e) {
|
599 |
+
e.preventDefault();
|
600 |
+
|
601 |
+
field = $(this).data('location-holder');
|
602 |
+
field_val = $('#' + field).val();
|
603 |
+
|
604 |
+
widget_id = $('#gmw_map_dialog').data('widget-id');
|
605 |
+
target = $('#gmw_map_dialog').data('target');
|
606 |
+
$('#' + widget_id + ' input[id$="-' + target + '"]').val(field_val);
|
607 |
+
|
608 |
+
$('#gmw_map_dialog').dialog('close');
|
609 |
+
|
610 |
+
return false;
|
611 |
+
}); // move pin in dialog
|
612 |
}); // onload
|
js/gmw.js
CHANGED
@@ -3,37 +3,140 @@
|
|
3 |
* (c) Web factory Ltd, 2012 - 2016
|
4 |
*/
|
5 |
|
|
|
6 |
jQuery(function($) {
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
if (screen_width < map_width) {
|
20 |
map_width = screen_width;
|
21 |
map_height *= screen_width / map_width;
|
22 |
}
|
23 |
-
screen_height = $(window).height() -
|
24 |
if (screen_height < map_height) {
|
25 |
map_height = screen_height;
|
26 |
map_width *= screen_height / map_height;
|
27 |
}
|
28 |
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
}); // onload
|
3 |
* (c) Web factory Ltd, 2012 - 2016
|
4 |
*/
|
5 |
|
6 |
+
|
7 |
jQuery(function($) {
|
8 |
+
if (gmw_data.colorbox_css) {
|
9 |
+
$('head').append('<link id="gmw-colorbox" rel="stylesheet" href="' + gmw_data.colorbox_css + '" type="text/css" media="all">');
|
10 |
+
}
|
11 |
+
|
12 |
+
// click map to open lightbox
|
13 |
+
$('a.gmw-thumbnail-map.gmw-lightbox-enabled').click(function(e) {
|
14 |
+
e.preventDefault();
|
15 |
+
|
16 |
+
dialog = $($(this).attr('href'));
|
17 |
+
map_width = dialog.data('map-width');
|
18 |
+
map_height = dialog.data('map-height');
|
19 |
+
map_url = dialog.data('map-iframe-url');
|
20 |
+
map_title = dialog.attr('title');
|
21 |
+
map_skin = dialog.data('map-skin');
|
22 |
+
close_button = Boolean(dialog.data('close-button'));
|
23 |
+
show_title = Boolean(dialog.data('show-title'));
|
24 |
+
close_overlay = Boolean(dialog.data('close-overlay'));
|
25 |
+
close_esc = Boolean(dialog.data('close-esc'));
|
26 |
+
|
27 |
+
// adjust map size if screen is too small
|
28 |
+
if (map_width !== '100%' && map_height !== '100%') {
|
29 |
+
screen_width = $(window).width() - 75;
|
30 |
if (screen_width < map_width) {
|
31 |
map_width = screen_width;
|
32 |
map_height *= screen_width / map_width;
|
33 |
}
|
34 |
+
screen_height = $(window).height() - 75;
|
35 |
if (screen_height < map_height) {
|
36 |
map_height = screen_height;
|
37 |
map_width *= screen_height / map_height;
|
38 |
}
|
39 |
|
40 |
+
map_height += 'px';
|
41 |
+
map_width += 'px';
|
42 |
+
} // if !fullscreen
|
43 |
+
|
44 |
+
if (!show_title) {
|
45 |
+
map_title = '';
|
46 |
+
}
|
47 |
+
|
48 |
+
content = $(dialog.html());
|
49 |
+
content.filter('.gmw-map').html('<iframe width="100%" height="100%" src="' + map_url + '" allowfullscreen></iframe>');
|
50 |
+
|
51 |
+
$.colorbox({ html: content,
|
52 |
+
title: map_title,
|
53 |
+
width: map_width,
|
54 |
+
height: map_width,
|
55 |
+
scrolling: false,
|
56 |
+
preloading: false,
|
57 |
+
arrowKey: false,
|
58 |
+
className: 'gmw-' + map_skin,
|
59 |
+
closeButton: close_button,
|
60 |
+
overlayClose: close_overlay,
|
61 |
+
escKey: close_esc });
|
62 |
+
|
63 |
+
// if GA tracking is enabled - track
|
64 |
+
if (gmw_data.track_ga === '1') {
|
65 |
+
if (typeof _gaq !== 'undefined') {
|
66 |
+
_gaq.push(['_trackEvent', 'Open GMW interactive map in lightbox', dialog.attr('title')]);
|
67 |
+
}
|
68 |
+
|
69 |
+
if (typeof ga !== 'undefined') {
|
70 |
+
ga('send', 'event', 'Open GMW interactive map in lightbox', dialog.attr('title'));
|
71 |
+
}
|
72 |
+
} // if track GA
|
73 |
+
|
74 |
+
return false;
|
75 |
+
}); // click map to open lightbox
|
76 |
+
|
77 |
+
|
78 |
+
// click map to replace img with interactive map
|
79 |
+
$('a.gmw-thumbnail-map.gmw-replace-enabled').click(function(e) {
|
80 |
+
e.preventDefault();
|
81 |
+
|
82 |
+
dialog = $($(this).attr('href'));
|
83 |
+
map_width = dialog.data('map-width');
|
84 |
+
map_height = dialog.data('map-height');
|
85 |
+
map_url = dialog.data('map-iframe-url');
|
86 |
+
|
87 |
+
// adjust map size if screen is too small
|
88 |
+
screen_width = $(window).width() - 50;
|
89 |
+
if (screen_width < map_width) {
|
90 |
+
map_width = screen_width;
|
91 |
+
map_height *= screen_width / map_width;
|
92 |
+
}
|
93 |
+
screen_height = $(window).height() - 50;
|
94 |
+
if (screen_height < map_height) {
|
95 |
+
map_height = screen_height;
|
96 |
+
map_width *= screen_height / map_height;
|
97 |
+
}
|
98 |
+
|
99 |
+
content = $(dialog.html());
|
100 |
+
content.filter('.gmw-map').html('<iframe width="' + map_width + 'px" height="' + map_height + 'px" src="' + map_url + '" allowfullscreen></iframe>');
|
101 |
+
|
102 |
+
$(this).parent('p').prev('p').hide();
|
103 |
+
$(this).parent('p').next('p, span.gmw-powered-by').hide();
|
104 |
+
$(this).parent('p').replaceWith(content);
|
105 |
+
|
106 |
+
// if GA tracking is enabled - track
|
107 |
+
if (gmw_data.track_ga === '1') {
|
108 |
+
if (typeof _gaq !== 'undefined') {
|
109 |
+
_gaq.push(['_trackEvent', 'Replace GMW thumbnail with interactive map', dialog.attr('title')]);
|
110 |
+
}
|
111 |
+
|
112 |
+
if (typeof ga !== 'undefined') {
|
113 |
+
ga('send', 'event', 'Replace GMW thumbnail with interactive map', dialog.attr('title'));
|
114 |
+
}
|
115 |
+
} // if track GA
|
116 |
+
|
117 |
+
return false;
|
118 |
+
}); // click map to replace img with interactive map
|
119 |
+
|
120 |
|
121 |
+
// fix lightbox height when header/footer are used
|
122 |
+
$(document).bind('cbox_complete', function(e){
|
123 |
+
// test if this is a GMW colorbox
|
124 |
+
colorbox = e.currentTarget.activeElement;
|
125 |
+
if ($('div[class^=gmw-]', colorbox).length === 0) {
|
126 |
+
return;
|
127 |
+
}
|
128 |
+
|
129 |
+
if ($('#cboxTitle', colorbox).html() === '') {
|
130 |
+
$('#cboxTitle').hide();
|
131 |
+
title_height = 0;
|
132 |
+
} else {
|
133 |
+
title_height = parseInt(0 + $('#cboxTitle', colorbox).outerHeight(true), 10);;
|
134 |
+
}
|
135 |
|
136 |
+
// adjust iframe size
|
137 |
+
container = parseInt(0 + $('#cboxLoadedContent').height(), 10);
|
138 |
+
header = parseInt(0 + $('#cboxLoadedContent div.gmw-header').outerHeight(true), 10);
|
139 |
+
footer = parseInt(0 + $('#cboxLoadedContent div.gmw-header').outerHeight(true), 10);
|
140 |
+
$('.gmw-map iframe').height((container - header - footer - title_height) + 'px');
|
141 |
+
});
|
142 |
}); // onload
|
js/jquery.colorbox.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
-
Colorbox 1.
|
3 |
license: MIT
|
4 |
http://www.jacklmoore.com/colorbox
|
5 |
*/
|
6 |
-
(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(z+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in y[0]&&!y[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),y.focus())}function c(t){c.str!==t&&(y.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){z=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),z=W.index(_.el),-1===z&&(W=W.add(_.el),z=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!$){$=q=!0,c(_.get("className")),y.css({visibility:"hidden",display:"block",opacity:""}),L=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(L),D=T.height()+k.height()+b.outerHeight(!0)-b.height(),j=C.width()+H.width()+b.outerWidth(!0)-b.width(),A=L.outerHeight(!0),N=L.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=(l!==!1?Math.min(h,a(l,"x")):h)-N-j,_.h=(f!==!1?Math.min(s,a(f,"y")):s)-A-D,L.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),y.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){y||(V=!1,E=t(i),y=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),S=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),x=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),I=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),R=n("button","Slideshow"),S),B=t('<button type="button"/>').attr({id:Z+"Close"}),x.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(I).add(R)),e.body&&!y.parent().length&&t(e.body).append(v,y.append(x,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return y?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;$&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),$&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if(q=!0,U=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-A-D:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-N-j:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-N-j,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-A-D,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){S.show()},100),_.get("inline")){var c=t(e);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),U=new Image,t(U).addClass(Z+"Photo").bind("error",function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;t.each(["alt","longdesc","aria-describedby"],function(e,i){var n=t(_.el).attr(i)||t(_.el).attr("data-"+i);n&&U.setAttribute(i,n)}),_.get("retinaImage")&&i.devicePixelRatio>1&&(U.height=U.height/i.devicePixelRatio,U.width=U.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){U.height-=U.height*e,U.width-=U.width*e},_.mw&&U.width>_.mw&&(e=(U.width-_.mw)/U.width,o()),_.mh&&U.height>_.mh&&(e=(U.height-_.mh)/U.height,o())),_.h&&(U.style.marginTop=Math.max(_.mh-U.height,0)/2+"px"),W[1]&&(_.get("loop")||W[z+1])&&(U.style.cursor="pointer",U.onclick=function(){J.next()}),U.style.width=U.width+"px",U.style.height=U.height+"px",h(U)},1)}),U.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,y,x,b,T,C,H,k,W,E,L,M,S,F,I,R,K,P,B,O,_,D,j,A,N,z,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[z+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){R.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),y.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),R.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),y.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,R.hide(),t(),ae.unbind(ne,e).unbind(ie,t),y.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),R.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;if(e=e||{},t.isFunction(o))o=t("<a/>"),e.open=!0;else if(!o[0])return o;return o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(y[0].style.width,10)-j+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(y[0].style.height,10)-D+"px"}var r,h,s,l=0,d=0,c=y.offset();if(E.unbind("resize."+Z),y.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,y.css({position:"fixed"})):(l=h,d=s,y.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-N-j-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-N-j,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-A-D-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-A-D,0)/2),y.css({top:c.top,left:c.left,visibility:"visible"}),x[0].style.width=x[0].style.height="9999px",r={width:_.w+N+j,height:_.h+A+D,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||y.css(r),y.dequeue().animate(r,{duration:e||0,complete:function(){n(),q=!1,x[0].style.width=_.w+N+j+"px",x[0].style.height=_.h+A+D+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;$&&(t=t||{},t.width&&(_.w=a(t.width,"x")-N-j),t.innerWidth&&(_.w=a(t.innerWidth,"x")),L.css({width:_.w}),t.height&&(_.h=a(t.height,"y")-A-D),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=L.scrollTop(),L.css({height:"auto"}),_.h=L.height()),L.css({height:_.h}),e&&L.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||L.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||L.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if($){var d,g="none"===_.get("transition")?0:_.get("speed");L.remove(),L=n(se,"LoadedContent").append(i),L.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(U).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&y[0].style.removeAttribute("filter")}var n,o,a=W.length;$&&(o=function(){clearTimeout(Q),S.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),L.show(),a>1?("string"==typeof _.get("current")&&I.html(_.get("current").replace("{current}",z+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>z?"show":"hide"]().html(_.get("next")),P[_.get("loop")||z?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=e.createElement("iframe"),"frameBorder"in n&&(n.frameBorder=0),"allowTransparency"in n&&(n.allowTransparency="true"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0}).one("load",o).appendTo(L),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?y.fadeTo(g,1,i):i())},"fade"===_.get("transition")?y.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!q&&W[1]&&(_.get("loop")||W[z+1])&&(z=h(1),f(W[z]))},J.prev=function(){!q&&W[1]&&(_.get("loop")||z)&&(z=h(-1),f(W[z]))},J.close=function(){$&&!G&&(G=!0,$=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),y.stop().fadeTo(_.get("fadeOut")||0,0,function(){y.hide(),v.hide(),u(he),L.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){y&&(y.stop(),t[Y].close(),y.stop(!1,!0).remove(),v.remove(),G=!1,y=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window);
|
1 |
/*!
|
2 |
+
Colorbox 1.6.3
|
3 |
license: MIT
|
4 |
http://www.jacklmoore.com/colorbox
|
5 |
*/
|
6 |
+
(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(A+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in x[0]&&!x[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),x.focus())}function c(t){c.str!==t&&(x.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){A=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),A=W.index(_.el),-1===A&&(W=W.add(_.el),A=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!$){$=q=!0,c(_.get("className")),x.css({visibility:"hidden",display:"block",opacity:""}),I=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(I),j=T.height()+k.height()+b.outerHeight(!0)-b.height(),D=C.width()+H.width()+b.outerWidth(!0)-b.width(),N=I.outerHeight(!0),z=I.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=Math.max((l!==!1?Math.min(h,a(l,"x")):h)-z-D,0),_.h=Math.max((f!==!1?Math.min(s,a(f,"y")):s)-N-j,0),I.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),x.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){x||(V=!1,E=t(i),x=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),L=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),y=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),R=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),S=n("button","Slideshow"),L),B=t('<button type="button"/>').attr({id:Z+"Close"}),y.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(R).add(S)),e.body&&!x.parent().length&&t(e.body).append(v,x.append(y,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return x?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;$&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),$&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if(q=!0,U=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-N-j:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-z-D:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-z-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-N-j,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){L.show()},100),_.get("inline")){var c=t(e);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),U=_.get("createImg"),t(U).addClass(Z+"Photo").bind("error."+Z,function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;_.get("retinaImage")&&i.devicePixelRatio>1&&(U.height=U.height/i.devicePixelRatio,U.width=U.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){U.height-=U.height*e,U.width-=U.width*e},_.mw&&U.width>_.mw&&(e=(U.width-_.mw)/U.width,o()),_.mh&&U.height>_.mh&&(e=(U.height-_.mh)/U.height,o())),_.h&&(U.style.marginTop=Math.max(_.mh-U.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(U.style.cursor="pointer",t(U).bind("click."+Z,function(){J.next()})),U.style.width=U.width+"px",U.style.height=U.height+"px",h(U)},1)}),U.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,x,y,b,T,C,H,k,W,E,I,M,L,F,R,S,K,P,B,O,_,j,D,N,z,A,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title},createImg:function(){var e=new Image,i=t(this).data("cbox-img-attrs");return"object"==typeof i&&t.each(i,function(t,i){e[t]=i}),e},createIframe:function(){var i=e.createElement("iframe"),n=t(this).data("cbox-iframe-attrs");return"object"==typeof n&&t.each(n,function(t,e){i[t]=e}),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),i.name=(new Date).getTime(),i.allowFullscreen=!0,i}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[A+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){S.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),x.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),S.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),x.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,S.hide(),t(),ae.unbind(ne,e).unbind(ie,t),x.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),S.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;return e=e||{},t.isFunction(o)&&(o=t("<a/>"),e.open=!0),o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(x[0].style.width,10)-D+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(x[0].style.height,10)-j+"px"}var r,h,s,l=0,d=0,c=x.offset();if(E.unbind("resize."+Z),x.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,x.css({position:"fixed"})):(l=h,d=s,x.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-z-D-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-z-D,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-N-j-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-N-j,0)/2),x.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:_.w+z+D,height:_.h+N+j,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||x.css(r),x.dequeue().animate(r,{duration:e||0,complete:function(){n(),q=!1,y[0].style.width=_.w+z+D+"px",y[0].style.height=_.h+N+j+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;$&&(t=t||{},t.width&&(_.w=a(t.width,"x")-z-D),t.innerWidth&&(_.w=a(t.innerWidth,"x")),I.css({width:_.w}),t.height&&(_.h=a(t.height,"y")-N-j),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=I.scrollTop(),I.css({height:"auto"}),_.h=I.height()),I.css({height:_.h}),e&&I.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||I.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||I.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if($){var d,g="none"===_.get("transition")?0:_.get("speed");I.remove(),I=n(se,"LoadedContent").append(i),I.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(U).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&x[0].style.removeAttribute("filter")}var n,o,a=W.length;$&&(o=function(){clearTimeout(Q),L.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),I.show(),a>1?("string"==typeof _.get("current")&&R.html(_.get("current").replace("{current}",A+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>A?"show":"hide"]().html(_.get("next")),P[_.get("loop")||A?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=_.get("createIframe"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),"class":Z+"Iframe"}).one("load",o).appendTo(I),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?x.fadeTo(g,1,i):i())},"fade"===_.get("transition")?x.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!q&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!q&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){$&&!G&&(G=!0,$=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),x.stop().fadeTo(_.get("fadeOut")||0,0,function(){x.hide(),v.hide(),u(he),I.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){x&&(x.stop(),t[Y].close(),x.stop(!1,!0).remove(),v.remove(),G=!1,x=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window);
|
js/select2.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
/*! Select2 4.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice;this.listeners=this.listeners||{},a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")});var f=e.filter("[aria-selected=true]");f.length>0?f.first().trigger("mouseenter"):e.first().trigger("mouseenter")})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&d.setClasses()}),b.on("unselect",function(){b.isOpen()&&d.setClasses()}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-d.$results.scrollTop()+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){
|
2 |
+
var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},l,j),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&""!==a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");if(void 0!==f&&(this.createTag=f),b.call(this,c,d),a.isArray(e))for(var g=0;g<e.length;g++){var h=e[g],i=this._normalizeItem(h),j=this.option(i);this.$element.append(j)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(a,b,c){function d(a){e.trigger("select",{data:a})}var e=this;b.term=b.term||"";var f=this.tokenizer(b,this.options,d);f.term!==b.term&&(this.$search.length&&(this.$search.val(f.term),this.$search.focus()),b.term=f.term),a.call(this,b,c)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=(this.$container.position(),this.$container.offset());f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom};if("static"!==this.$dropdownParent[0].style.position){var m=this.$dropdownParent.offset();l.top-=m.top,l.left-=m.left}c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(){d._handleSelectOnClose()})},a.prototype._handleSelectOnClose=function(){var a=this.getHighlightedResults();if(!(a.length<1)){var b=a.data("data");null!=b.element&&b.element.selected||null==b.element&&b.selected||this.trigger("select",{data:b})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend({},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this._sync=c.bind(this._syncAttributes,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._sync);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._sync)}),this._observer.observe(this.$element[0],{attributes:!0,subtree:!1})):this.$element[0].addEventListener&&this.$element[0].addEventListener("DOMAttrModified",b._sync,!1)},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._sync),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&this.$element[0].removeEventListener("DOMAttrModified",this._sync,!1),this._sync=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d;return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2.");var e=Array.prototype.slice.call(arguments,1);d=c[b].apply(c,e)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
|
readme.txt
CHANGED
@@ -4,11 +4,11 @@ Tags: address, best google maps, best maps, chinese, cross-browser, custom googl
|
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?business=gordan@webfactoryltd.com&cmd=_xclick¤cy_code=USD&amount=&item_name=Google%20Maps%20Widget%20Donation
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
-
Requires at least: 3.
|
8 |
Tested up to: 4.4
|
9 |
-
Stable tag:
|
10 |
|
11 |
-
Displays a single
|
12 |
|
13 |
== Description ==
|
14 |
|
@@ -24,33 +24,35 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
|
|
24 |
**Thumbnail map options**
|
25 |
|
26 |
* map size - width & height
|
27 |
-
* map type - road, satellite,
|
|
|
|
|
28 |
* pin color
|
29 |
* pin size
|
|
|
30 |
* custom pin icon - any image can be used
|
31 |
-
*
|
32 |
-
* link type - lightbox, custom URL or disable link
|
33 |
-
* map color scheme - default, refreshed, apple, gray, paper
|
34 |
* text above map
|
35 |
* text below map
|
36 |
|
37 |
-
**
|
38 |
|
39 |
-
* map size - width & height (auto-adjusted on smaller screens)
|
40 |
-
* map
|
|
|
41 |
* zoom level
|
42 |
-
* skin - light, dark
|
43 |
-
* show
|
44 |
-
* show/hide map title
|
45 |
* header text
|
46 |
* footer text
|
47 |
|
48 |
**Shortcode**
|
49 |
|
50 |
-
* by using the _[gmw id="#"]_ shortcode you can display the map in any page, post, or custom post type
|
51 |
|
52 |
|
53 |
-
>
|
54 |
|
55 |
|
56 |
**What others say about the plugin**
|
@@ -80,19 +82,26 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
|
|
80 |
* Serbian - Ogi Djuraskovic from <a href="http://firstsiteguide.com/">FirstSiteGuide</a>
|
81 |
* Russian - Ivanka from <a href="http://www.coupofy.com/">Coupofy</a>
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
== Installation ==
|
84 |
|
85 |
Follow the usual routine;
|
86 |
|
87 |
-
1. Open
|
88 |
-
2. Enter "Google Maps Widget"
|
89 |
3. Plugin will show up as the first on the list, click "Install Now"
|
|
|
90 |
|
91 |
Or if needed, upload manually;
|
92 |
|
93 |
1. Download the plugin.
|
94 |
-
2. Unzip it and upload to
|
95 |
-
3. Open
|
96 |
4. Configure the plugin under Appearance - Widgets
|
97 |
|
98 |
|
@@ -100,30 +109,38 @@ Or if needed, upload manually;
|
|
100 |
|
101 |
= Who is this plugin for? =
|
102 |
|
103 |
-
For
|
|
|
|
|
|
|
|
|
104 |
|
105 |
= Thumbnail map works but lightbox won't open on click =
|
106 |
|
107 |
-
You
|
|
|
108 |
|
109 |
= It's not working!!! Arrrrrrrrr =
|
110 |
|
111 |
-
|
112 |
-
If you can't figure it out open a thread in the support forums.
|
113 |
|
114 |
== Screenshots ==
|
115 |
|
116 |
-
1.
|
117 |
-
2. Larger map with all features is available in the lightbox
|
118 |
-
3. Widget options -
|
119 |
-
4. Widget options -
|
120 |
-
5. Widget options -
|
121 |
-
6. Widget options - info & support
|
122 |
|
123 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
124 |
= 2.92 =
|
125 |
* 2016/01/14
|
126 |
-
* we
|
127 |
* minor bug fixes
|
128 |
|
129 |
= 2.90 =
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?business=gordan@webfactoryltd.com&cmd=_xclick¤cy_code=USD&amount=&item_name=Google%20Maps%20Widget%20Donation
|
5 |
License: GPLv2 or later
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
+
Requires at least: 3.8
|
8 |
Tested up to: 4.4
|
9 |
+
Stable tag: 3.0
|
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 |
|
13 |
== Description ==
|
14 |
|
24 |
**Thumbnail map options**
|
25 |
|
26 |
* map size - width & height
|
27 |
+
* map type - road, satellite, terrain & hybrid
|
28 |
+
* map color scheme - default, refreshed + 11 extra in PRO
|
29 |
+
* zoom level
|
30 |
* pin color
|
31 |
* pin size
|
32 |
+
* pin label
|
33 |
* custom pin icon - any image can be used
|
34 |
+
* 700+ 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 |
|
39 |
+
**Interactive map options**
|
40 |
|
41 |
+
* map size - width & height (auto-adjusted on smaller screens) or fullscreen
|
42 |
+
* map mode - place + in PRO: directions, search, view & street view
|
43 |
+
* map type - road & satellite
|
44 |
* zoom level
|
45 |
+
* lightbox skin - light, dark + 20 extra in PRO
|
46 |
+
* lightbox features - close on overlay click, close on esc key, close button & show map title
|
|
|
47 |
* header text
|
48 |
* footer text
|
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 if you like PRO features pay what you think is fair. There's no fixed price!
|
56 |
|
57 |
|
58 |
**What others say about the plugin**
|
82 |
* Serbian - Ogi Djuraskovic from <a href="http://firstsiteguide.com/">FirstSiteGuide</a>
|
83 |
* Russian - Ivanka from <a href="http://www.coupofy.com/">Coupofy</a>
|
84 |
|
85 |
+
|
86 |
+
**License info**
|
87 |
+
* Parts of export & import code are based on <a href="https://wordpress.org/plugins/widget-importer-exporter/">Widget Importer & Exporter</a> plugin, (c) Steven Gliebe
|
88 |
+
* Most icons are created by Nicolas Mollet under the Creative Commons Attribution-Share Alike 3.0 Unported license. You can find them on https://mapicons.mapsmarker.com/
|
89 |
+
|
90 |
+
|
91 |
== Installation ==
|
92 |
|
93 |
Follow the usual routine;
|
94 |
|
95 |
+
1. Open WordPress admin, go to Plugins, click Add New
|
96 |
+
2. Enter "Google Maps Widget" in search and hit Enter
|
97 |
3. Plugin will show up as the first on the list, click "Install Now"
|
98 |
+
4. Activate & go to Appearance - Widgets to configure
|
99 |
|
100 |
Or if needed, upload manually;
|
101 |
|
102 |
1. Download the plugin.
|
103 |
+
2. Unzip it and upload to _wp-content/plugin/_
|
104 |
+
3. Open WordPress admin - Plugins and click "Activate" next to the plugin
|
105 |
4. Configure the plugin under Appearance - Widgets
|
106 |
|
107 |
|
109 |
|
110 |
= Who is this plugin for? =
|
111 |
|
112 |
+
For anyone who needs a map on their site in 5 seconds.
|
113 |
+
|
114 |
+
= Map shows the wrong location =
|
115 |
+
|
116 |
+
Write the address differently, or more precisely. Make sure you enter the street, town and country name. If necessary enter lat/lng coordinates instead of the address. Use the numeric notation, eg: "40.7127, 74.0059"
|
117 |
|
118 |
= Thumbnail map works but lightbox won't open on click =
|
119 |
|
120 |
+
You probably have Fancybox JS and CSS files included twice; once by the theme and second time by GMW plugin. Remove one instance of files. If that's not the case then you have a fatal JS error that's preventing execution of other JS code. Hit F12 in Firefox or Chrome and have a look at the debug console. If there are any red lines - it's a fatal error.
|
121 |
+
Open a new thread in the <a href="http://wordpress.org/support/plugin/google-maps-widget">support forums</a> but please bear in mind that support is community based and we do this in our spare time.
|
122 |
|
123 |
= It's not working!!! Arrrrrrrrr =
|
124 |
|
125 |
+
Read the <a href="http://wordpress.org/support/plugin/google-maps-widget">support forum</a> rules (no seriously, read them) and then if needed open new a thread.
|
|
|
126 |
|
127 |
== Screenshots ==
|
128 |
|
129 |
+
1. Thumbnail map is shown as a widget and since it's just one image it loads super-fast (1 request, about 20KB)
|
130 |
+
2. Larger map with all interactive features is available in the lightbox
|
131 |
+
3. Widget options - Thumbnail map
|
132 |
+
4. Widget options - Interactive map
|
133 |
+
5. Widget options - Shortcode
|
|
|
134 |
|
135 |
== Changelog ==
|
136 |
+
= 3.0 =
|
137 |
+
* 2016/02/16
|
138 |
+
* huge upgrade - numerous functions added
|
139 |
+
* switched to new Google Maps API
|
140 |
+
|
141 |
= 2.92 =
|
142 |
* 2016/01/14
|
143 |
+
* we made it to 100 thousand active installations ;)
|
144 |
* minor bug fixes
|
145 |
|
146 |
= 2.90 =
|