Version Description
- 2016/03/24
- even more new map pins
- bug fixes
- 7 days trial can now be activated within the plugin
Download this release
Release Info
Developer | WebFactory |
Plugin | Google Maps Widget – Ultimate Google Maps Plugin |
Version | 3.25 |
Comparing to | |
See all releases |
Code changes from version 3.20 to 3.25
- css/gmw-admin.css +196 -32
- gmw-widget.php +1 -2
- google-maps-widget.php +166 -64
- images/icon-trial.png +0 -0
- images/icon-unlimited.png +0 -0
- images/icon-yearly.png +0 -0
- images/pins/big/atom.png +0 -0
- images/pins/big/camel.png +0 -0
- images/pins/big/checkmark.png +0 -0
- images/pins/big/clover.png +0 -0
- images/pins/big/craft_store.png +0 -0
- images/pins/big/crowd.png +0 -0
- images/pins/big/customs.png +0 -0
- images/pins/big/dance_class.png +0 -0
- images/pins/big/dancing_hall.png +0 -0
- images/pins/big/daycare.png +0 -0
- images/pins/big/deep_sea_fishing.png +0 -0
- images/pins/big/deer.png +0 -0
- images/pins/big/dentist.png +0 -0
- images/pins/big/department_store.png +0 -0
- images/pins/big/detective.png +0 -0
- images/pins/big/diamond.png +0 -0
- images/pins/big/dino_park.png +0 -0
- images/pins/big/diving.png +0 -0
- images/pins/big/dogs_leash.png +0 -0
- images/pins/big/dolphins.png +0 -0
- images/pins/big/drinking_fountain.png +0 -0
- images/pins/big/duck.png +0 -0
- images/pins/big/earthquake.png +0 -0
- images/pins/big/elephants.png +0 -0
- images/pins/big/exchequer.png +0 -0
- images/pins/big/farm_stand.png +0 -0
- images/pins/big/fast_food.png +0 -0
- images/pins/big/field.png +0 -0
- images/pins/big/find_a_job.png +0 -0
- images/pins/big/fish_chips.png +0 -0
- images/pins/big/fishing.png +0 -0
- images/pins/big/fishing_boat.png +0 -0
- images/pins/big/fitness.png +0 -0
- images/pins/big/fjord.png +0 -0
- images/pins/big/food_truck.png +0 -0
- images/pins/big/fountain.png +0 -0
- images/pins/big/four_by_four.png +0 -0
- images/pins/big/frequency_change.png +0 -0
- images/pins/big/frog.png +0 -0
- images/pins/big/fruits.png +0 -0
- images/pins/big/gas_cylinder.png +0 -0
- images/pins/big/geocaching.png +0 -0
- images/pins/big/geothermal_site.png +0 -0
- images/pins/big/geyser.png +0 -0
- images/pins/big/ghost_town.png +0 -0
- images/pins/big/gift.png +0 -0
- images/pins/big/glacier.png +0 -0
- images/pins/big/glasses.png +0 -0
- images/pins/big/gondola.png +0 -0
- images/pins/big/groceries.png +0 -0
- images/pins/big/gumball_machine.png +0 -0
- images/pins/big/handball.png +0 -0
- images/pins/big/hanggliding.png +0 -0
- images/pins/big/hare.png +0 -0
- images/pins/big/hat.png +0 -0
- images/pins/big/haybale.png +0 -0
- images/pins/big/highschool.png +0 -0
- images/pins/big/historical_museum.png +0 -0
- images/pins/big/historical_quarter.png +0 -0
- images/pins/big/home_center.png +0 -0
- images/pins/big/hookah.png +0 -0
- images/pins/big/horn.png +0 -0
- images/pins/big/horse_riding.png +0 -0
- images/pins/big/hospital.png +0 -0
- images/pins/big/hotspring.png +0 -0
- images/pins/big/hunting.png +0 -0
- images/pins/big/hut.png +0 -0
- images/pins/big/ice_hockey.png +0 -0
- images/pins/big/iceskating.png +0 -0
- images/pins/big/indoor_arena.png +0 -0
- images/pins/big/jacuzzi.png +0 -0
- images/pins/big/japanese-food.png +0 -0
- images/pins/big/japanese-temple.png +0 -0
- images/pins/big/jeep.png +0 -0
- images/pins/big/jogging.png +0 -0
- images/pins/big/judo.png +0 -0
- images/pins/big/karate.png +0 -0
- images/pins/big/karting.png +0 -0
- images/pins/big/kayak.png +0 -0
- images/pins/big/kebab.png +0 -0
- images/pins/big/key.png +0 -0
- images/pins/big/king.png +0 -0
- images/pins/big/kiosk.png +0 -0
- images/pins/big/kitesurfing.png +0 -0
- images/pins/big/landfill.png +0 -0
- images/pins/big/latern.png +0 -0
- images/pins/big/library.png +0 -0
- images/pins/big/lifeguard.png +0 -0
- images/pins/big/lingerie.png +0 -0
- images/pins/big/lobster.png +0 -0
- images/pins/big/magic_show.png +0 -0
- images/pins/big/map.png +0 -0
- images/pins/big/marina.png +0 -0
- images/pins/big/military.png +0 -0
- images/pins/big/modern_tower.png +0 -0
- images/pins/big/monkey.png +0 -0
- images/pins/big/mosque.png +0 -0
- images/pins/big/movie_rental.png +0 -0
- images/pins/big/muffin.png +0 -0
- images/pins/big/muffin_bagle.png +0 -0
- images/pins/big/mural.png +0 -0
- images/pins/big/museum_archeological.png +0 -0
- images/pins/big/museum_art.png +0 -0
- images/pins/big/museum_craft.png +0 -0
- images/pins/big/museum_openair.png +0 -0
- images/pins/big/museum_war.png +0 -0
- images/pins/big/music_choral.png +0 -0
- images/pins/big/music_classical.png +0 -0
- images/pins/big/music_hiphop.png +0 -0
- images/pins/big/music_live.png +0 -0
- images/pins/big/music_rock.png +0 -0
- images/pins/big/nanny.png +0 -0
- images/pins/big/newspaper.png +0 -0
- images/pins/big/no-nuke.png +0 -0
- images/pins/big/nursery.png +0 -0
- images/pins/big/nursing_home.png +0 -0
- images/pins/big/one_way.png +0 -0
- images/pins/big/pagoda.png +0 -0
- images/pins/big/paintball.png +0 -0
- images/pins/big/palace.png +0 -0
- images/pins/big/paperclip.png +0 -0
- images/pins/big/paragliding.png +0 -0
- images/pins/big/parasailing.png +0 -0
- images/pins/big/parking.png +0 -0
- images/pins/big/party.png +0 -0
- images/pins/big/patisserie.png +0 -0
- images/pins/big/pen.png +0 -0
- images/pins/big/penguin.png +0 -0
- images/pins/big/perfumery.png +0 -0
- images/pins/big/petanque.png +0 -0
- images/pins/big/petroglyphs.png +0 -0
- images/pins/big/phones.png +0 -0
- images/pins/big/photography.png +0 -0
- images/pins/big/printer.png +0 -0
- images/pins/big/prison.png +0 -0
- images/pins/big/puzzle.png +0 -0
- images/pins/big/radio_control_model_car.png +0 -0
- images/pins/big/railroad.png +0 -0
- images/pins/big/rainy.png +0 -0
- images/pins/big/rape.png +0 -0
- images/pins/big/resort.png +0 -0
- images/pins/big/restaurant_african.png +0 -0
- images/pins/big/restaurant_breakfast.png +0 -0
- images/pins/big/restaurant_buffet.png +0 -0
- images/pins/big/restaurant_fish.png +0 -0
- images/pins/big/restaurant_greek.png +0 -0
- images/pins/big/restaurant_indian.png +0 -0
- images/pins/big/restaurant_italian.png +0 -0
- images/pins/big/restaurant_korean.png +0 -0
- images/pins/big/restaurant_mediterranean.png +0 -0
- images/pins/big/restaurant_mexican.png +0 -0
- images/pins/big/restaurant_romantic.png +0 -0
- images/pins/big/restaurant_steakhouse.png +0 -0
- images/pins/big/restaurant_tapas.png +0 -0
- images/pins/big/restaurant_thai.png +0 -0
- images/pins/big/restaurant_turkish.png +0 -0
- images/pins/big/revolt.png +0 -0
- images/pins/big/rollerskate.png +0 -0
- images/pins/big/ropescourse.png +0 -0
- images/pins/big/rowboat.png +0 -0
- images/pins/big/rugby_field.png +0 -0
- images/pins/big/ruins.png +0 -0
- images/pins/big/sandwich.png +0 -0
- images/pins/big/sattelite.png +0 -0
- images/pins/big/sauna.png +0 -0
- images/pins/big/scubadiving.png +0 -0
- images/pins/big/segway.png +0 -0
- images/pins/big/seniorsite.png +0 -0
- images/pins/big/septic_tank.png +0 -0
- images/pins/big/share.png +0 -0
- images/pins/big/sheriff.png +0 -0
- images/pins/big/shore.png +0 -0
- images/pins/big/shower.png +0 -0
- images/pins/big/signpost.png +0 -0
- images/pins/big/ski_boot.png +0 -0
- images/pins/big/skiing.png +0 -0
- images/pins/big/skijump.png +0 -0
- images/pins/big/skilifting.png +0 -0
- images/pins/big/skis.png +0 -0
- images/pins/big/sleigh.png +0 -0
- images/pins/big/slots.png +0 -0
- images/pins/big/sneakers.png +0 -0
- images/pins/big/snorkeling.png +0 -0
- images/pins/big/snowboarding.png +0 -0
- images/pins/big/snowflake.png +0 -0
- images/pins/big/snowmobiling.png +0 -0
- images/pins/big/snowpark_arc.png +0 -0
- images/pins/big/snowshoeing.png +0 -0
- images/pins/big/soccer.png +0 -0
- images/pins/big/spaceport.png +0 -0
- images/pins/big/spelunking.png +0 -0
- images/pins/big/sport_utility_vehicle.png +0 -0
- images/pins/big/sportscar.png +0 -0
- images/pins/big/squash.png +0 -0
- images/pins/big/squirrel.png +0 -0
- images/pins/big/stadium.png +0 -0
- images/pins/big/strip_club.png +0 -0
- images/pins/big/subway.png +0 -0
- images/pins/big/summercamp.png +0 -0
- images/pins/big/sumo.png +0 -0
- images/pins/big/surfacelift.png +0 -0
- images/pins/big/surfing.png +0 -0
- images/pins/big/takeaway.png +0 -0
- images/pins/big/tea.png +0 -0
- images/pins/big/teble_tennis.png +0 -0
- images/pins/big/television.png +0 -0
- images/pins/big/temple_hindu.png +0 -0
- images/pins/big/tennis.png +0 -0
- images/pins/big/terrace.png +0 -0
- images/pins/big/textiles.png +0 -0
- images/pins/big/the_ravada_pagoda.png +0 -0
- images/pins/big/theater.png +0 -0
- images/pins/big/theft.png +0 -0
- images/pins/big/themepark.png +0 -0
- images/pins/big/therapy.png +0 -0
- images/pins/big/thermometer.png +0 -0
- images/pins/big/ticket.png +0 -0
- images/pins/big/tiger.png +0 -0
- images/pins/big/toll_station.png +0 -0
- images/pins/big/tools.png +0 -0
- images/pins/big/toys.png +0 -0
- images/pins/big/traffic_camera.png +0 -0
- images/pins/big/tree_down.png +0 -0
- images/pins/big/trolley.png +0 -0
- images/pins/big/tunnel.png +0 -0
- images/pins/big/turtle.png +0 -0
- images/pins/big/tweet.png +0 -0
- images/pins/big/van.png +0 -0
- images/pins/big/vespa.png +0 -0
- images/pins/big/video_games.png +0 -0
- images/pins/big/villa.png +0 -0
- images/pins/big/vineyard.png +0 -0
- images/pins/big/volleyball.png +0 -0
- images/pins/big/waiting.png +0 -0
- images/pins/big/walkingtour.png +0 -0
- images/pins/big/war.png +0 -0
- images/pins/big/warehouse.png +0 -0
- images/pins/big/water_pump.png +0 -0
- images/pins/big/water_temperature.png +0 -0
- images/pins/big/watercraft.png +0 -0
- images/pins/big/waterfall.png +0 -0
- images/pins/big/watermill.png +0 -0
- images/pins/big/waterskiing.png +0 -0
- images/pins/big/wedding.png +0 -0
- images/pins/big/weights.png +0 -0
- images/pins/big/wetlands.png +0 -0
- images/pins/big/whale.png +0 -0
- images/pins/big/wifi.png +0 -0
- images/pins/big/windmill.png +0 -0
- images/pins/big/wine_tasting.png +0 -0
- images/pins/big/woodshed.png +0 -0
- images/pins/big/work_office.png +0 -0
- images/pins/big/worldwideweb.png +0 -0
- images/pins/big/wrestling.png +0 -0
- images/pins/big/yin_yang.png +0 -0
- images/pins/big/yoga.png +0 -0
- images/pins/big/yooner.png +0 -0
- images/pins/big/youth_hostel.png +0 -0
- images/pins/big/zombie.png +0 -0
- js/gmw-admin.js +93 -11
- readme.txt +8 -2
css/gmw-admin.css
CHANGED
@@ -153,7 +153,7 @@ body.widgets-php .select2-container--default .select2-results__option[aria-disab
|
|
153 |
|
154 |
.gmw-dialog .footer {
|
155 |
padding: 20px 135px;
|
156 |
-
background-color: #
|
157 |
color: #333;
|
158 |
}
|
159 |
|
@@ -200,7 +200,7 @@ body.widgets-php .select2-container--default .select2-results__option[aria-disab
|
|
200 |
display: block;
|
201 |
}
|
202 |
|
203 |
-
.
|
204 |
color: #fe4765;
|
205 |
}
|
206 |
|
@@ -233,7 +233,7 @@ body.widgets-php .select2-container--default .select2-results__option[aria-disab
|
|
233 |
#gmw_promo_dialog ul {
|
234 |
list-style-position: inside;
|
235 |
list-style-type: disc;
|
236 |
-
padding
|
237 |
}
|
238 |
|
239 |
.gmw-dialog input {
|
@@ -242,9 +242,9 @@ body.widgets-php .select2-container--default .select2-results__option[aria-disab
|
|
242 |
}
|
243 |
|
244 |
.gmw-dialog input.error {
|
245 |
-
|
246 |
-
|
247 |
-
-
|
248 |
}
|
249 |
|
250 |
.gmw-dialog .input_row {
|
@@ -274,7 +274,7 @@ body.widgets-php .select2-container--default .select2-results__option[aria-disab
|
|
274 |
background-size: 20px 20px;
|
275 |
}
|
276 |
|
277 |
-
a.button.button-secondary.gmw_spinner {
|
278 |
background: url(../images/spinner.gif) no-repeat center center;
|
279 |
-webkit-background-size: 20px 20px;
|
280 |
background-size: 20px 20px;
|
@@ -288,10 +288,28 @@ a.button.button-secondary.gmw_spinner {
|
|
288 |
|
289 |
#gmw_promo_dialog .center {
|
290 |
text-align: center;
|
|
|
291 |
}
|
292 |
|
293 |
-
#
|
294 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
}
|
296 |
|
297 |
|
@@ -305,7 +323,7 @@ a.button.button-secondary.gmw_spinner {
|
|
305 |
margin-top: 5px;
|
306 |
}
|
307 |
|
308 |
-
input:required:invalid {
|
309 |
-moz-box-shadow: none;
|
310 |
box-shadow: none;
|
311 |
border-color: #D54E21;
|
@@ -468,7 +486,6 @@ ul.ui-tabs-nav{
|
|
468 |
.gmw-content-box h3 {
|
469 |
font-size: 26px;
|
470 |
font-weight: bold;
|
471 |
-
text-transform: uppercase;
|
472 |
}
|
473 |
|
474 |
.gmw-content-box h3,
|
@@ -562,7 +579,7 @@ ul.ui-tabs-nav{
|
|
562 |
font-weight: bold;
|
563 |
text-transform: uppercase;
|
564 |
font-size: 14px;
|
565 |
-
padding: 15px
|
566 |
text-shadow:none !important;
|
567 |
height: auto !important;
|
568 |
}
|
@@ -595,7 +612,7 @@ ul.ui-tabs-nav{
|
|
595 |
box-shadow: none !important;
|
596 |
border-radius: 4px;
|
597 |
background: #fff;
|
598 |
-
color: #666;
|
599 |
font-weight: bold;
|
600 |
text-transform: uppercase;
|
601 |
font-size: 12px;
|
@@ -604,7 +621,6 @@ ul.ui-tabs-nav{
|
|
604 |
height: auto !important;
|
605 |
margin-left: 20px;
|
606 |
margin-top: 20px;
|
607 |
-
display: none;
|
608 |
}
|
609 |
|
610 |
.gmw_goto_trial.button-secondary:hover {
|
@@ -618,10 +634,9 @@ ul.ui-tabs-nav{
|
|
618 |
|
619 |
.gmw-footer-intro {
|
620 |
display: block;
|
621 |
-
padding:
|
622 |
text-align: center;
|
623 |
margin: 0px !important;
|
624 |
-
font-size: 14px;
|
625 |
}
|
626 |
|
627 |
.gmw-footer-intro a {
|
@@ -631,11 +646,13 @@ ul.ui-tabs-nav{
|
|
631 |
|
632 |
/* Donate */
|
633 |
#gmw_dialog_activate .content {
|
634 |
-
padding: 60px 130px;
|
|
|
|
|
635 |
}
|
636 |
|
637 |
-
#gmw_dialog_activate .content a {
|
638 |
-
color: #
|
639 |
}
|
640 |
|
641 |
#gmw_code {
|
@@ -649,7 +666,6 @@ ul.ui-tabs-nav{
|
|
649 |
|
650 |
#gmw_activate {
|
651 |
display: block;
|
652 |
-
border: 1px solid #fff;
|
653 |
border-radius:4px;
|
654 |
background-color: #0085ba;
|
655 |
color: #fff !important;
|
@@ -668,23 +684,30 @@ ul.ui-tabs-nav{
|
|
668 |
}
|
669 |
|
670 |
.gmw-faq-ul li {
|
671 |
-
color: #
|
|
|
|
|
|
|
|
|
672 |
}
|
673 |
|
674 |
-
/*
|
675 |
-
#
|
676 |
-
padding: 40px 130px;
|
|
|
|
|
677 |
}
|
678 |
|
679 |
#gmw_dialog_subscribe .content a {
|
680 |
color: #0085ba;
|
681 |
}
|
682 |
|
683 |
-
#
|
684 |
text-align: center;
|
|
|
685 |
}
|
686 |
|
687 |
-
#
|
688 |
border: 1px solid #dcdcdc;
|
689 |
box-shadow:none;
|
690 |
padding: 25px !important;
|
@@ -693,9 +716,12 @@ ul.ui-tabs-nav{
|
|
693 |
border-radius:3px;
|
694 |
}
|
695 |
|
696 |
-
#
|
|
|
|
|
|
|
|
|
697 |
display: block;
|
698 |
-
border: 1px solid #fff;
|
699 |
border-radius:4px;
|
700 |
background: #0085ba;
|
701 |
color: #fff !important;
|
@@ -708,12 +734,16 @@ ul.ui-tabs-nav{
|
|
708 |
box-shadow: none !important;
|
709 |
}
|
710 |
|
711 |
-
#
|
712 |
background: #00719e !important;
|
713 |
}
|
714 |
|
715 |
-
#gmw_dialog_subscribe .footer {
|
716 |
-
background
|
|
|
|
|
|
|
|
|
717 |
}
|
718 |
|
719 |
|
@@ -840,7 +870,7 @@ ul.ui-tabs-nav{
|
|
840 |
box-shadow: none !important;
|
841 |
border-radius: 4px;
|
842 |
background: #f5f5f5;
|
843 |
-
color: #d54e21;
|
844 |
font-weight: bold;
|
845 |
text-transform: uppercase;
|
846 |
font-size: 12px;
|
@@ -852,4 +882,138 @@ ul.ui-tabs-nav{
|
|
852 |
|
853 |
.gmw_goto_intro.button-secondary:hover {
|
854 |
background: rgba(0,0,0,0.15);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
855 |
}
|
153 |
|
154 |
.gmw-dialog .footer {
|
155 |
padding: 20px 135px;
|
156 |
+
background-color: #5fb5d8;
|
157 |
color: #333;
|
158 |
}
|
159 |
|
200 |
display: block;
|
201 |
}
|
202 |
|
203 |
+
.xgmw-dialog h3 b {
|
204 |
color: #fe4765;
|
205 |
}
|
206 |
|
233 |
#gmw_promo_dialog ul {
|
234 |
list-style-position: inside;
|
235 |
list-style-type: disc;
|
236 |
+
padding: 15px 0;
|
237 |
}
|
238 |
|
239 |
.gmw-dialog input {
|
242 |
}
|
243 |
|
244 |
.gmw-dialog input.error {
|
245 |
+
-moz-box-shadow: none;
|
246 |
+
box-shadow: none;
|
247 |
+
border-color: #D54E21 !important;
|
248 |
}
|
249 |
|
250 |
.gmw-dialog .input_row {
|
274 |
background-size: 20px 20px;
|
275 |
}
|
276 |
|
277 |
+
a.button.button-secondary.gmw_spinner, a.button.button-primary.gmw_spinner {
|
278 |
background: url(../images/spinner.gif) no-repeat center center;
|
279 |
-webkit-background-size: 20px 20px;
|
280 |
background-size: 20px 20px;
|
288 |
|
289 |
#gmw_promo_dialog .center {
|
290 |
text-align: center;
|
291 |
+
color: #fff;
|
292 |
}
|
293 |
|
294 |
+
#gmw_promo_dialog .footer .center {
|
295 |
+
text-align: center;
|
296 |
+
color: #333;
|
297 |
+
}
|
298 |
+
|
299 |
+
#gmw_promo_dialog .center a, #gmw_promo_dialog .center a:visited {
|
300 |
+
color: #fff;
|
301 |
+
}
|
302 |
+
|
303 |
+
#gmw_promo_dialog .footer .center a, #gmw_promo_dialog .footer .center a:visited {
|
304 |
+
color: #0073aa;
|
305 |
+
}
|
306 |
+
|
307 |
+
#gmw_promo_dialog .footer .center a:hover {
|
308 |
+
color: #00a0d2;
|
309 |
+
}
|
310 |
+
|
311 |
+
#gmw_dialog_activate .footer {
|
312 |
+
padding: 20px 135px 60px 135px;
|
313 |
}
|
314 |
|
315 |
|
323 |
margin-top: 5px;
|
324 |
}
|
325 |
|
326 |
+
input:required:invalid, #gmw_promo_dialog input:required:invalid {
|
327 |
-moz-box-shadow: none;
|
328 |
box-shadow: none;
|
329 |
border-color: #D54E21;
|
486 |
.gmw-content-box h3 {
|
487 |
font-size: 26px;
|
488 |
font-weight: bold;
|
|
|
489 |
}
|
490 |
|
491 |
.gmw-content-box h3,
|
579 |
font-weight: bold;
|
580 |
text-transform: uppercase;
|
581 |
font-size: 14px;
|
582 |
+
padding: 15px 0;
|
583 |
text-shadow:none !important;
|
584 |
height: auto !important;
|
585 |
}
|
612 |
box-shadow: none !important;
|
613 |
border-radius: 4px;
|
614 |
background: #fff;
|
615 |
+
color: #666 !important;
|
616 |
font-weight: bold;
|
617 |
text-transform: uppercase;
|
618 |
font-size: 12px;
|
621 |
height: auto !important;
|
622 |
margin-left: 20px;
|
623 |
margin-top: 20px;
|
|
|
624 |
}
|
625 |
|
626 |
.gmw_goto_trial.button-secondary:hover {
|
634 |
|
635 |
.gmw-footer-intro {
|
636 |
display: block;
|
637 |
+
padding: 30px 0px;
|
638 |
text-align: center;
|
639 |
margin: 0px !important;
|
|
|
640 |
}
|
641 |
|
642 |
.gmw-footer-intro a {
|
646 |
|
647 |
/* Donate */
|
648 |
#gmw_dialog_activate .content {
|
649 |
+
padding: 60px 130px 20px 130px;
|
650 |
+
background-color: #5fb5d8;
|
651 |
+
border: 1px solid #5fb5d8;
|
652 |
}
|
653 |
|
654 |
+
#gmw_dialog_activate .content a, #gmw_dialog_activate .content a:visited {
|
655 |
+
color: #fff;
|
656 |
}
|
657 |
|
658 |
#gmw_code {
|
666 |
|
667 |
#gmw_activate {
|
668 |
display: block;
|
|
|
669 |
border-radius:4px;
|
670 |
background-color: #0085ba;
|
671 |
color: #fff !important;
|
684 |
}
|
685 |
|
686 |
.gmw-faq-ul li {
|
687 |
+
color: #fff !important;
|
688 |
+
}
|
689 |
+
|
690 |
+
.gmw-faq-ul li a, .gmw-faq-ul li a:visited {
|
691 |
+
color: #fff !important;
|
692 |
}
|
693 |
|
694 |
+
/* Trial */
|
695 |
+
#gmw_dialog_trial .content {
|
696 |
+
padding: 40px 130px 15px 130px;
|
697 |
+
background-color: #5fb5d8;
|
698 |
+
border: 1px solid #5fb5d8;
|
699 |
}
|
700 |
|
701 |
#gmw_dialog_subscribe .content a {
|
702 |
color: #0085ba;
|
703 |
}
|
704 |
|
705 |
+
#gmw_dialog_trial h3 {
|
706 |
text-align: center;
|
707 |
+
color: #fff;
|
708 |
}
|
709 |
|
710 |
+
#gmw_dialog_trial input[type="text"] {
|
711 |
border: 1px solid #dcdcdc;
|
712 |
box-shadow:none;
|
713 |
padding: 25px !important;
|
716 |
border-radius:3px;
|
717 |
}
|
718 |
|
719 |
+
#gmw_promo_dialog input[type="text"]:focus {
|
720 |
+
border: 1px solid #5b9dd9;
|
721 |
+
}
|
722 |
+
|
723 |
+
#gmw_dialog_trial .button.button-primary {
|
724 |
display: block;
|
|
|
725 |
border-radius:4px;
|
726 |
background: #0085ba;
|
727 |
color: #fff !important;
|
734 |
box-shadow: none !important;
|
735 |
}
|
736 |
|
737 |
+
#gmw_dialog_trial .button.button-primary:hover {
|
738 |
background: #00719e !important;
|
739 |
}
|
740 |
|
741 |
+
#gmw_dialog_subscribe .footer, #gmw_dialog_trial .footer {
|
742 |
+
background: #5fb5d8;
|
743 |
+
}
|
744 |
+
|
745 |
+
#gmw_dialog_trial .footer {
|
746 |
+
padding: 15px 135px 50px 135px;
|
747 |
}
|
748 |
|
749 |
|
870 |
box-shadow: none !important;
|
871 |
border-radius: 4px;
|
872 |
background: #f5f5f5;
|
873 |
+
color: #d54e21 !important;
|
874 |
font-weight: bold;
|
875 |
text-transform: uppercase;
|
876 |
font-size: 12px;
|
882 |
|
883 |
.gmw_goto_intro.button-secondary:hover {
|
884 |
background: rgba(0,0,0,0.15);
|
885 |
+
color: #999 !important;
|
886 |
+
}
|
887 |
+
|
888 |
+
.gmw-promo-box {
|
889 |
+
padding: 28px 40px;
|
890 |
+
height: 70px;
|
891 |
+
}
|
892 |
+
|
893 |
+
.gmw-promo-box * {
|
894 |
+
opacity: 0.85;
|
895 |
+
filter: alpha(opacity = 85);
|
896 |
+
}
|
897 |
+
|
898 |
+
.gmw-promo-box:hover {
|
899 |
+
cursor: pointer;
|
900 |
+
}
|
901 |
+
|
902 |
+
.gmw-promo-box-hover * {
|
903 |
+
opacity: 1;
|
904 |
+
filter: alpha(opacity = 100);
|
905 |
+
}
|
906 |
+
|
907 |
+
.gmw-promo-icon {
|
908 |
+
display: inline-block;
|
909 |
+
width: 67px;
|
910 |
+
text-align: center;
|
911 |
+
vertical-align: bottom;
|
912 |
+
}
|
913 |
+
|
914 |
+
.gmw-promo-button {
|
915 |
+
border: 2px solid #fff;
|
916 |
+
border-radius: 10px;
|
917 |
+
display: inline-block;
|
918 |
+
font-weight: bold;
|
919 |
+
font-size: 22px;
|
920 |
+
width: 140px;
|
921 |
+
text-align: center;
|
922 |
+
color: #fff;
|
923 |
+
position: absolute;
|
924 |
+
right: 40px;
|
925 |
+
text-transform: uppercase;
|
926 |
+
margin-top: 4px;
|
927 |
+
}
|
928 |
+
|
929 |
+
.gmw-promo-button a {
|
930 |
+
color: white;
|
931 |
+
padding: 20px 0;
|
932 |
+
display: inline-block;
|
933 |
+
text-decoration: none;
|
934 |
+
}
|
935 |
+
|
936 |
+
.gmw-promo-button-extra a {
|
937 |
+
padding: 15px 0;
|
938 |
+
}
|
939 |
+
|
940 |
+
.gmw-promo-button-extra {
|
941 |
+
margin-top: -5px;
|
942 |
+
}
|
943 |
+
|
944 |
+
.gmw-promo-button span {
|
945 |
+
color: white;
|
946 |
+
padding: 5px 0;
|
947 |
+
display: inline-block;
|
948 |
+
text-decoration: none;
|
949 |
+
font-size: 13px;
|
950 |
+
background-color: #fff;
|
951 |
+
color: #1fbc61;
|
952 |
+
width: 100%;
|
953 |
+
border-bottom-left-radius: 8px;
|
954 |
+
border-bottom-right-radius: 10px;
|
955 |
+
border: 1px solid #fff;
|
956 |
+
}
|
957 |
+
|
958 |
+
.gmw-promo-description {
|
959 |
+
display: inline-block;
|
960 |
+
padding: 0 0 0 30px;
|
961 |
+
vertical-align: top;
|
962 |
+
}
|
963 |
+
|
964 |
+
.gmw-promo-description h3 {
|
965 |
+
font-size: 24px;
|
966 |
+
font-weight: bold;
|
967 |
+
display: inline-block;
|
968 |
+
color: #fff;
|
969 |
+
margin: 0;
|
970 |
+
padding: 0;
|
971 |
+
}
|
972 |
+
|
973 |
+
.gmw-promo-description span {
|
974 |
+
font-size: 14.5px;
|
975 |
+
display: inline-block;
|
976 |
+
color: #fff;
|
977 |
+
}
|
978 |
+
|
979 |
+
.gmw-promo-box-lifetime {
|
980 |
+
background-color: #1fbc61;
|
981 |
+
}
|
982 |
+
|
983 |
+
.gmw-promo-box-yearly {
|
984 |
+
background-color: #0085ba;
|
985 |
+
}
|
986 |
+
|
987 |
+
.gmw-promo-box-yearly .gmw-promo-button {
|
988 |
+
text-transform: none;
|
989 |
+
}
|
990 |
+
|
991 |
+
.gmw-promo-box-trial {
|
992 |
+
background-color: #5fb5d8;
|
993 |
+
}
|
994 |
+
|
995 |
+
#gmw_dialog_intro .header {
|
996 |
+
padding: 30px 95px;
|
997 |
+
color: #666;
|
998 |
+
text-align: center;
|
999 |
+
font-size: 15px;
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
#gmw_dialog_intro .header p {
|
1003 |
+
margin: 0;
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
.gmw-discount {
|
1007 |
+
padding: 16px 20px;
|
1008 |
+
text-align: center;
|
1009 |
+
background-color: #f4fcf7;
|
1010 |
+
color: #1fbc61;
|
1011 |
+
border: 1px solid #1fbc61;
|
1012 |
+
border-radius: 10px;
|
1013 |
+
margin-top: 25px;
|
1014 |
+
font-size: 15px;
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
#gmw_dialog_pro_features .footer .button-secondary {
|
1018 |
+
min-width: 165px;
|
1019 |
}
|
gmw-widget.php
CHANGED
@@ -519,8 +519,7 @@ class GoogleMapsWidget extends WP_Widget {
|
|
519 |
echo '</p>';
|
520 |
|
521 |
echo '<h4>' . __('License', 'google-maps-widget') . '</h4>';
|
522 |
-
echo '<p>Your
|
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>';
|
519 |
echo '</p>';
|
520 |
|
521 |
echo '<h4>' . __('License', 'google-maps-widget') . '</h4>';
|
522 |
+
echo '<p>Your license is active and valid. Additional info is available in <a href="' . admin_url('options-general.php?page=gmw_options') . '" title="Settings">settings</a>.</p>';
|
|
|
523 |
} else {
|
524 |
echo '<h4>' . __('Support', 'google-maps-widget') . '</h4>';
|
525 |
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>';
|
google-maps-widget.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Google Maps Widget
|
|
4 |
Plugin URI: http://www.gmapswidget.com/
|
5 |
Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available as an image replacement or in a lightbox. Includes shortcode support and numerous options.
|
6 |
Author: Web factory Ltd
|
7 |
-
Version: 3.
|
8 |
Author URI: http://www.webfactoryltd.com/
|
9 |
Text Domain: google-maps-widget
|
10 |
Domain Path: lang
|
@@ -34,7 +34,8 @@ if (!defined('ABSPATH')) {
|
|
34 |
|
35 |
if (!class_exists('GMW')) :
|
36 |
|
37 |
-
define('GMW_PLUGIN_DIR', plugin_dir_path(
|
|
|
38 |
|
39 |
require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
|
40 |
require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
|
@@ -46,8 +47,9 @@ if (file_exists(GMW_PLUGIN_DIR . 'gmw-pro-license.php')) {
|
|
46 |
|
47 |
|
48 |
class GMW {
|
49 |
-
static $version = '3.
|
50 |
static $options = 'gmw_options';
|
|
|
51 |
|
52 |
|
53 |
// hook everything up
|
@@ -76,6 +78,7 @@ class GMW {
|
|
76 |
// register AJAX endpoints
|
77 |
add_action('wp_ajax_gmw_activate', array('GMW', 'activate_license_key_ajax'));
|
78 |
add_action('wp_ajax_gmw_test_api_key', array('GMW', 'test_api_key_ajax'));
|
|
|
79 |
|
80 |
// custom admin actions
|
81 |
add_action('admin_action_gmw_dismiss_notice', array('GMW', 'dismiss_notice'));
|
@@ -598,13 +601,13 @@ class GMW {
|
|
598 |
|
599 |
// license expire notice is always shown
|
600 |
if ((!$notice && GMW::is_activated() && empty($options['dismiss_notice_license_expires']) &&
|
601 |
-
(strtotime($options['license_expires']) - time() < DAY_IN_SECONDS *
|
602 |
(!$notice && empty($options['dismiss_notice_license_expires']) &&
|
603 |
$options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
|
604 |
add_action('admin_notices', array('GMW', 'notice_license_expires'));
|
605 |
$notice = true;
|
606 |
} elseif ((!$notice && GMW::is_activated() && GMW::is_plugin_admin_page('settings') &&
|
607 |
-
(strtotime($options['license_expires']) - time() < DAY_IN_SECONDS *
|
608 |
(!$notice && GMW::is_plugin_admin_page('settings') &&
|
609 |
$options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
|
610 |
add_action('admin_notices', array('GMW', 'notice_license_expires'));
|
@@ -617,9 +620,9 @@ class GMW {
|
|
617 |
$notice = true;
|
618 |
} // show api key notice
|
619 |
|
620 |
-
// upgrade notice is shown after one day
|
621 |
if (!$notice && empty($options['dismiss_notice_upgrade2']) && !GMW::is_activated() &&
|
622 |
-
(current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS)) {
|
623 |
add_action('admin_notices', array('GMW', 'notice_upgrade'));
|
624 |
$notice = true;
|
625 |
} // show upgrade notice
|
@@ -647,26 +650,34 @@ class GMW {
|
|
647 |
|
648 |
$buy_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
649 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'license_expires', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
650 |
-
|
|
|
651 |
$days = round($days / DAY_IN_SECONDS);
|
652 |
|
653 |
echo '<div id="gmw_license_expires_notice" class="error notice"><p>';
|
654 |
-
echo 'Your <b>Google Maps Widget</b> <b style="color: #d54e21;">PRO</b>
|
655 |
-
if ($
|
656 |
-
echo '<b>expires in ' . $days . ' days</b>!';
|
657 |
-
} elseif ($days == 0) {
|
658 |
echo '<b>expires today</b>!';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
659 |
} else {
|
660 |
echo '<b>has expired</b>!';
|
661 |
-
|
662 |
-
|
663 |
-
if ($days >= 0) {
|
664 |
-
echo 'All <b style="color: #d54e21;">PRO</b> features will be disabled once the license expires.';
|
665 |
-
} else {
|
666 |
-
echo 'All <b style="color: #d54e21;">PRO</b> features have been disabled.';
|
667 |
}
|
668 |
|
669 |
-
echo '<br><a href="' . esc_url($buy_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' .
|
670 |
if (!GMW::is_plugin_admin_page('settings')) {
|
671 |
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I will pay the full price ($29) later', 'google-maps-widget') . '</a>';
|
672 |
}
|
@@ -679,10 +690,10 @@ class GMW {
|
|
679 |
$activate_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
680 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
681 |
|
682 |
-
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.
|
683 |
|
684 |
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>';
|
685 |
-
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I
|
686 |
echo '</p></div>';
|
687 |
} // notice_activate_extra_features
|
688 |
|
@@ -747,7 +758,9 @@ class GMW {
|
|
747 |
wp_enqueue_script('wp-color-picker');
|
748 |
wp_enqueue_script('wp-pointer');
|
749 |
wp_enqueue_script('gmw-cookie', plugins_url('js/jquery.cookie.js', __FILE__), array('jquery'), GMW::$version, true);
|
750 |
-
|
|
|
|
|
751 |
wp_enqueue_script('gmw-select2', plugins_url('js/select2.min.js', __FILE__), array('jquery'), GMW::$version, true);
|
752 |
wp_enqueue_script('gmw-admin', plugins_url('js/gmw-admin.js', __FILE__), array('jquery'), GMW::$version, true);
|
753 |
|
@@ -768,10 +781,13 @@ class GMW {
|
|
768 |
'map_picker_not_active' => __('Drag&drop address picking interface is a PRO feature. Interested in switching to PRO?', 'google-maps-widget'),
|
769 |
'map' => false,
|
770 |
'marker' => false,
|
|
|
|
|
771 |
'pins_library' => plugins_url('/images/pins/', __FILE__),
|
772 |
'disable_tooltips' => $options['disable_tooltips'],
|
773 |
'is_activated' => GMW::is_activated(),
|
774 |
'nonce_test_api_key' => wp_create_nonce('gmw_test_api_key'),
|
|
|
775 |
'nonce_activate_license_key' => wp_create_nonce('gmw_activate_license_key'));
|
776 |
wp_localize_script('gmw-admin', 'gmw', $js_localize);
|
777 |
} // if
|
@@ -834,46 +850,61 @@ class GMW {
|
|
834 |
// echo markup for promo dialog; only on widgets page
|
835 |
static function admin_dialogs_markup() {
|
836 |
$out = '';
|
|
|
|
|
837 |
|
838 |
if ((GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings'))) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
839 |
$out .= '<div id="gmw_promo_dialog" style="display: none;">';
|
840 |
|
841 |
$out .= '<div id="gmw_dialog_intro" class="gmw_promo_dialog_screen">
|
842 |
<div class="content">
|
843 |
-
<div class="
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
</
|
855 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
856 |
</div>';
|
857 |
-
$out .= '<div class="gmw-
|
858 |
-
<
|
859 |
-
<
|
860 |
-
<
|
861 |
-
<
|
862 |
-
<li>One-time fee - lifetime license</li>
|
863 |
-
<li>Priority community based support</li>
|
864 |
-
<li>Access to PRO features</li>
|
865 |
-
<li class="gmw-not-available">Export & import feature</li>
|
866 |
-
<li style="display: none;" class="gmw-not-available">Extra skins and icons</li>
|
867 |
-
</ul>
|
868 |
-
<a href="http://www.gmapswidget.com/buy/?p=donate&r=GMW+v' . GMW::$version . '" data-noprevent="1" class="gmw_goto_activation button-secondary" target="_blank">Donate</a>
|
869 |
</div>';
|
870 |
-
$out .= '<p class="
|
871 |
$out .= '</div></div>'; // dialog intro
|
872 |
|
873 |
$out .= '<div id="gmw_dialog_activate" style="display: none;" class="gmw_promo_dialog_screen">
|
874 |
<div class="content">';
|
875 |
$out .= '<p class="input_row">
|
876 |
-
<input type="text" id="gmw_code" name="gmw_code" placeholder="Please enter the license key
|
877 |
<span style="display: none;" class="error gmw_code">Unable to verify license key. Unknown error.</span></p>
|
878 |
<p class="center">
|
879 |
<a href="#" class="button button-primary" id="gmw_activate">Activate PRO features</a>
|
@@ -881,21 +912,19 @@ class GMW {
|
|
881 |
<p class="center">If you don\'t have a license key - <a href="#" class="gmw_goto_intro">Get it now</a></p>
|
882 |
</div>';
|
883 |
$out .= '<div class="footer">
|
884 |
-
<p><b>FAQ</b></p>
|
885 |
<ul class="gmw-faq-ul">
|
886 |
-
<li>
|
887 |
<li>Key not working? Our <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">support</a> is here to help</li>
|
888 |
-
<li>Your key is valid for an unlimited number of sites</li>
|
889 |
</ul>
|
890 |
</div>';
|
891 |
$out .= '</div>'; // activate screen
|
892 |
|
893 |
$out .= '<div id="gmw_dialog_pro_features" style="display: none;" class="gmw_promo_dialog_screen">
|
894 |
<div class="content">';
|
895 |
-
$out .= '<h4>
|
896 |
$out .= '<ul class="list-left">';
|
897 |
$out .= '<li>11 thumbnail map skins</li>
|
898 |
-
<li>
|
899 |
<li>4 extra map image formats for even faster loading</li>
|
900 |
<li>replace thumb with interactive map feature</li>
|
901 |
<li>extra hidden sidebar for easier shortcode handling</li>
|
@@ -917,7 +946,7 @@ class GMW {
|
|
917 |
<li>Google Analytics integration</li>
|
918 |
<li>no ads</li>
|
919 |
<li>no promo emails</li>
|
920 |
-
<li>premium support</li>';
|
921 |
$out .= '</ul>';
|
922 |
$out .= ' </div>';
|
923 |
$out .= '<div class="footer">';
|
@@ -927,8 +956,27 @@ class GMW {
|
|
927 |
$out .= '</div>'; // pro features screen
|
928 |
|
929 |
$out .= '<div id="gmw_dialog_trial" style="display: none;" class="gmw_promo_dialog_screen">
|
930 |
-
|
931 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
932 |
$out .= '</div>'; // trial screen
|
933 |
|
934 |
$out .= '</div>'; // dialog
|
@@ -1063,7 +1111,7 @@ class GMW {
|
|
1063 |
echo '</div>'; // settings tab
|
1064 |
|
1065 |
echo '<div id="gmw-export" style="display: none;">';
|
1066 |
-
if (GMW::is_activated(
|
1067 |
echo '<table class="form-table">';
|
1068 |
echo '<tr>
|
1069 |
<th scope="row"><label for="">' . __('Export widgets', 'google-maps-widget') . '</label></th>
|
@@ -1094,11 +1142,24 @@ class GMW {
|
|
1094 |
<p class="description">License key can be found in the confirmation email you received after purchasing.</p></td>
|
1095 |
</tr>';
|
1096 |
if (GMW::is_activated()) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1097 |
echo '<tr>
|
1098 |
<th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
|
1099 |
<td><b style="color: green">Active</b><br>
|
1100 |
-
Type: ' . $options['license_type'] . '<br>
|
1101 |
-
Valid ' .
|
1102 |
</tr>';
|
1103 |
} else {
|
1104 |
echo '<tr>
|
@@ -1113,6 +1174,47 @@ class GMW {
|
|
1113 |
echo '</form>';
|
1114 |
echo '</div>'; // wrap
|
1115 |
} // settings_screen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1116 |
|
1117 |
|
1118 |
// check activation code and save if valid
|
@@ -1140,21 +1242,21 @@ class GMW {
|
|
1140 |
// check if activation code is valid
|
1141 |
static function validate_activation_code($code) {
|
1142 |
$request_params = array('sslverify' => false, 'timeout' => 7, 'redirection' => 2);
|
1143 |
-
$request_args = array('code' => $code, 'domain' => get_home_url());
|
1144 |
|
1145 |
$out = array('success' => false, 'license_active' => false, 'activation_code' => $code, 'error' => '', 'license_type' => '', 'license_expires' => '1900-01-01');
|
1146 |
|
1147 |
-
$url = add_query_arg($request_args,
|
1148 |
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1149 |
|
1150 |
if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
|
1151 |
-
$url = add_query_arg($request_args,
|
1152 |
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1153 |
}
|
1154 |
|
1155 |
if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
|
1156 |
$result = wp_remote_retrieve_body($response);
|
1157 |
-
$result =
|
1158 |
if (is_array($result['data']) && sizeof($result['data']) == 4) {
|
1159 |
$out['success'] = true;
|
1160 |
$out = array_merge($out, $result['data']);
|
4 |
Plugin URI: http://www.gmapswidget.com/
|
5 |
Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available as an image replacement or in a lightbox. Includes shortcode support and numerous options.
|
6 |
Author: Web factory Ltd
|
7 |
+
Version: 3.25
|
8 |
Author URI: http://www.webfactoryltd.com/
|
9 |
Text Domain: google-maps-widget
|
10 |
Domain Path: lang
|
34 |
|
35 |
if (!class_exists('GMW')) :
|
36 |
|
37 |
+
define('GMW_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
38 |
+
define('GMW_PLUGIN_URL', plugin_dir_url(__FILE__));
|
39 |
|
40 |
require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
|
41 |
require_once GMW_PLUGIN_DIR . 'gmw-widget.php';
|
47 |
|
48 |
|
49 |
class GMW {
|
50 |
+
static $version = '3.25';
|
51 |
static $options = 'gmw_options';
|
52 |
+
static $licensing_servers = array('http://license.gmapswidget.com/', 'http://license2.gmapswidget.com/');
|
53 |
|
54 |
|
55 |
// hook everything up
|
78 |
// register AJAX endpoints
|
79 |
add_action('wp_ajax_gmw_activate', array('GMW', 'activate_license_key_ajax'));
|
80 |
add_action('wp_ajax_gmw_test_api_key', array('GMW', 'test_api_key_ajax'));
|
81 |
+
add_action('wp_ajax_gmw_get_trial', array('GMW', 'get_trial_ajax'));
|
82 |
|
83 |
// custom admin actions
|
84 |
add_action('admin_action_gmw_dismiss_notice', array('GMW', 'dismiss_notice'));
|
601 |
|
602 |
// license expire notice is always shown
|
603 |
if ((!$notice && GMW::is_activated() && empty($options['dismiss_notice_license_expires']) &&
|
604 |
+
(strtotime($options['license_expires']) - time() < DAY_IN_SECONDS * 3)) ||
|
605 |
(!$notice && empty($options['dismiss_notice_license_expires']) &&
|
606 |
$options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
|
607 |
add_action('admin_notices', array('GMW', 'notice_license_expires'));
|
608 |
$notice = true;
|
609 |
} elseif ((!$notice && GMW::is_activated() && GMW::is_plugin_admin_page('settings') &&
|
610 |
+
(strtotime($options['license_expires']) - time() < DAY_IN_SECONDS * 3)) ||
|
611 |
(!$notice && GMW::is_plugin_admin_page('settings') &&
|
612 |
$options['license_expires'] < date('Y-m-d') && $options['license_active'] == true)) {
|
613 |
add_action('admin_notices', array('GMW', 'notice_license_expires'));
|
620 |
$notice = true;
|
621 |
} // show api key notice
|
622 |
|
623 |
+
// upgrade notice is shown after one day; temporarily disabled
|
624 |
if (!$notice && empty($options['dismiss_notice_upgrade2']) && !GMW::is_activated() &&
|
625 |
+
(current_time('timestamp') - $options['first_install']) > (DAY_IN_SECONDS * 0)) {
|
626 |
add_action('admin_notices', array('GMW', 'notice_upgrade'));
|
627 |
$notice = true;
|
628 |
} // show upgrade notice
|
650 |
|
651 |
$buy_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
652 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'license_expires', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
653 |
+
|
654 |
+
$days = strtotime($options['license_expires'] . date(' G:i:m')) - time();
|
655 |
$days = round($days / DAY_IN_SECONDS);
|
656 |
|
657 |
echo '<div id="gmw_license_expires_notice" class="error notice"><p>';
|
658 |
+
echo 'Your <b>Google Maps Widget</b> <b style="color: #d54e21;">PRO</b> trial ';
|
659 |
+
if ($options['license_expires'] == date('Y-m-d')) {
|
|
|
|
|
660 |
echo '<b>expires today</b>!';
|
661 |
+
echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
|
662 |
+
echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
|
663 |
+
$button_text = 'Get PRO with a 25% discount - offer ends today';
|
664 |
+
} elseif (date('Y-m-d', time() + DAY_IN_SECONDS) == $options['license_expires']) {
|
665 |
+
echo '<b>expires tomorrow</b>!';
|
666 |
+
echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
|
667 |
+
echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
|
668 |
+
$button_text = 'Get PRO with a 25% discount - offer ends tomorrow';
|
669 |
+
} elseif ($days > 1) {
|
670 |
+
echo '<b>expires in ' . $days . ' days</b>!';
|
671 |
+
echo ' A special <b>25% discount coupon</b> is valid only till trial lasts. Don\'t be late, no need to pay the full price.<br>';
|
672 |
+
echo ' All <b style="color: #d54e21;">PRO</b> features will be disabled once the trial expires.';
|
673 |
+
$button_text = 'Get PRO with a 25% discount - offer ends in ' . $days . ' days';
|
674 |
} else {
|
675 |
echo '<b>has expired</b>!';
|
676 |
+
echo ' All <b style="color: #d54e21;">PRO</b> features have been disabled.';
|
677 |
+
$button_text = 'Get PRO now';
|
|
|
|
|
|
|
|
|
678 |
}
|
679 |
|
680 |
+
echo '<br><a href="' . esc_url($buy_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . $button_text . '</a>';
|
681 |
if (!GMW::is_plugin_admin_page('settings')) {
|
682 |
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I will pay the full price ($29) later', 'google-maps-widget') . '</a>';
|
683 |
}
|
690 |
$activate_url = admin_url('options-general.php?page=gmw_options&gmw_open_promo_dialog');
|
691 |
$dismiss_url = add_query_arg(array('action' => 'gmw_dismiss_notice', 'notice' => 'upgrade', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
|
692 |
|
693 |
+
echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget</b> has more than 50 <b style="color: #d54e21;">PRO</b> features. Our support is fast & friendly, and licenses valid for an unlimited number of sites.', 'google-maps-widget');
|
694 |
|
695 |
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>';
|
696 |
+
echo ' <a href="' . esc_url($dismiss_url) . '" class="">' . __('I\'m not interested', 'google-maps-widget') . '</a>';
|
697 |
echo '</p></div>';
|
698 |
} // notice_activate_extra_features
|
699 |
|
758 |
wp_enqueue_script('wp-color-picker');
|
759 |
wp_enqueue_script('wp-pointer');
|
760 |
wp_enqueue_script('gmw-cookie', plugins_url('js/jquery.cookie.js', __FILE__), array('jquery'), GMW::$version, true);
|
761 |
+
if (GMW::is_activated()) {
|
762 |
+
wp_enqueue_script('gmw-gmap', '//maps.google.com/maps/api/js', array(), GMW::$version, true);
|
763 |
+
}
|
764 |
wp_enqueue_script('gmw-select2', plugins_url('js/select2.min.js', __FILE__), array('jquery'), GMW::$version, true);
|
765 |
wp_enqueue_script('gmw-admin', plugins_url('js/gmw-admin.js', __FILE__), array('jquery'), GMW::$version, true);
|
766 |
|
781 |
'map_picker_not_active' => __('Drag&drop address picking interface is a PRO feature. Interested in switching to PRO?', 'google-maps-widget'),
|
782 |
'map' => false,
|
783 |
'marker' => false,
|
784 |
+
'trial_ok' => __('Your trial has been activated. Enjoy all PRO features for 7 days.' . "\n" . 'Check your email for a DISCOUNT coupon ;)', 'google-maps-widget'),
|
785 |
+
'settings_url' => admin_url('options-general.php?page=gmw_options'),
|
786 |
'pins_library' => plugins_url('/images/pins/', __FILE__),
|
787 |
'disable_tooltips' => $options['disable_tooltips'],
|
788 |
'is_activated' => GMW::is_activated(),
|
789 |
'nonce_test_api_key' => wp_create_nonce('gmw_test_api_key'),
|
790 |
+
'nonce_get_trial' => wp_create_nonce('gmw_get_trial'),
|
791 |
'nonce_activate_license_key' => wp_create_nonce('gmw_activate_license_key'));
|
792 |
wp_localize_script('gmw-admin', 'gmw', $js_localize);
|
793 |
} // if
|
850 |
// echo markup for promo dialog; only on widgets page
|
851 |
static function admin_dialogs_markup() {
|
852 |
$out = '';
|
853 |
+
$options = GMW::get_options();
|
854 |
+
$promo_delta = 3*60*60;
|
855 |
|
856 |
if ((GMW::is_plugin_admin_page('widgets') || GMW::is_plugin_admin_page('settings'))) {
|
857 |
+
$current_user = wp_get_current_user();
|
858 |
+
if (empty($current_user->user_firstname)) {
|
859 |
+
$name = $current_user->display_name;
|
860 |
+
} else {
|
861 |
+
$name = $current_user->user_firstname;
|
862 |
+
}
|
863 |
+
|
864 |
$out .= '<div id="gmw_promo_dialog" style="display: none;">';
|
865 |
|
866 |
$out .= '<div id="gmw_dialog_intro" class="gmw_promo_dialog_screen">
|
867 |
<div class="content">
|
868 |
+
<div class="header"><p><a href="#" class="gmw_goto_pro">Learn more</a> about <span class="gmw-pro">PRO</span> features.</p>';
|
869 |
+
if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
|
870 |
+
$time = date(get_option('time_format'), $options['first_install'] + $promo_delta);
|
871 |
+
$out .= '<div class="gmw-discount">We\'ve prepared a special <b>25% welcoming discount</b> for you available <b>only until ' . $time . '</b>. Discount has been applied on the unlimited license. Be quick & use the buy button below.</div>';
|
872 |
+
} elseif ($options['license_expires'] >= date('Y-m-d') && $options['license_type'] == 'trial') {
|
873 |
+
$out .= '<div class="gmw-discount">We\'ve prepared a special <b>25% trial discount</b> for you available <b>only while the trial is active</b>. Discount has been applied on the unlimited license. Be quick & use the buy button below.</div>';
|
874 |
+
}
|
875 |
+
$out .= '</div>'; // header
|
876 |
+
|
877 |
+
$out .= '<div class="gmw-promo-box gmw-promo-box-lifetime gmw_goto_activation gmw-promo-box-hover">
|
878 |
+
<div class="gmw-promo-icon"><img src="' . GMW_PLUGIN_URL . '/images/icon-unlimited.png" alt="Unlimited Lifetime License" title="Unlimited Lifetime License"></div>
|
879 |
+
<div class="gmw-promo-description"><h3>Unlimited Lifetime License</h3><br>
|
880 |
+
<span>Unlimited sites + lifetime support & upgrades</span></div>';
|
881 |
+
if (current_time('timestamp') - $options['first_install'] < $promo_delta) {
|
882 |
+
$out .= '<div class="gmw-promo-button gmw-promo-button-extra"><a href="http://www.gmapswidget.com/buy/?p=pro-welcome&r=welcome-GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">only $19</a><span>discount: 25%</span></div>';
|
883 |
+
} elseif ($options['license_expires'] >= date('Y-m-d') && $options['license_type'] == 'trial') {
|
884 |
+
$out .= '<div class="gmw-promo-button gmw-promo-button-extra"><a href="http://www.gmapswidget.com/buy/?p=pro-trial&r=welcome-GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">only $19</a><span>discount: 25%</span></div>';
|
885 |
+
} else {
|
886 |
+
$out .= '<div class="gmw-promo-button"><a href="http://www.gmapswidget.com/buy/?p=pro-unlimited&r=GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">BUY $25</a></div>';
|
887 |
+
}
|
888 |
+
$out .= '</div>';
|
889 |
+
$out .= '<div class="gmw-promo-box gmw-promo-box-yearly gmw_goto_activation">
|
890 |
+
<div class="gmw-promo-icon"><img src="' . GMW_PLUGIN_URL . '/images/icon-yearly.png" alt="Yearly License" title="Yearly License"></div>
|
891 |
+
<div class="gmw-promo-description"><h3>1 Year License</h3><br>
|
892 |
+
<span>Unlimited sites + 1 year of support & upgrades</span></div>
|
893 |
+
<div class="gmw-promo-button"><a href="http://www.gmapswidget.com/buy/?p=yearly&r=GMW+v' . GMW::$version . '" data-noprevent="1" target="_blank">$11 /year</a></div>
|
894 |
</div>';
|
895 |
+
$out .= '<div class="gmw-promo-box gmw-promo-box-trial gmw_goto_trial">
|
896 |
+
<div class="gmw-promo-icon"><img src="' . GMW_PLUGIN_URL . '/images/icon-trial.png" alt="7 Days Free Trial License" title="7 Days Free Trial License"></div>
|
897 |
+
<div class="gmw-promo-description"><h3>7 Days Free Trial</h3><br>
|
898 |
+
<span>Still on the fence? Test PRO for free.</span></div>
|
899 |
+
<div class="gmw-promo-button"><a href="#">Start</a></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
900 |
</div>';
|
901 |
+
$out .= '<p class="gmw-footer-intro">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>';
|
902 |
$out .= '</div></div>'; // dialog intro
|
903 |
|
904 |
$out .= '<div id="gmw_dialog_activate" style="display: none;" class="gmw_promo_dialog_screen">
|
905 |
<div class="content">';
|
906 |
$out .= '<p class="input_row">
|
907 |
+
<input type="text" id="gmw_code" name="gmw_code" placeholder="Please enter the license key">
|
908 |
<span style="display: none;" class="error gmw_code">Unable to verify license key. Unknown error.</span></p>
|
909 |
<p class="center">
|
910 |
<a href="#" class="button button-primary" id="gmw_activate">Activate PRO features</a>
|
912 |
<p class="center">If you don\'t have a license key - <a href="#" class="gmw_goto_intro">Get it now</a></p>
|
913 |
</div>';
|
914 |
$out .= '<div class="footer">
|
|
|
915 |
<ul class="gmw-faq-ul">
|
916 |
+
<li>Having problems paying or you misplaced your key? <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">Email us</a></li>
|
917 |
<li>Key not working? Our <a href="mailto:gmw@webfactoryltd.com?subject=Activation%20key%20problem">support</a> is here to help</li>
|
|
|
918 |
</ul>
|
919 |
</div>';
|
920 |
$out .= '</div>'; // activate screen
|
921 |
|
922 |
$out .= '<div id="gmw_dialog_pro_features" style="display: none;" class="gmw_promo_dialog_screen">
|
923 |
<div class="content">';
|
924 |
+
$out .= '<h4>See how <span class="gmw-pro-red">PRO</span> features can make your life easier!</h4>';
|
925 |
$out .= '<ul class="list-left">';
|
926 |
$out .= '<li>11 thumbnail map skins</li>
|
927 |
+
<li>1000+ thumbnail map pins</li>
|
928 |
<li>4 extra map image formats for even faster loading</li>
|
929 |
<li>replace thumb with interactive map feature</li>
|
930 |
<li>extra hidden sidebar for easier shortcode handling</li>
|
946 |
<li>Google Analytics integration</li>
|
947 |
<li>no ads</li>
|
948 |
<li>no promo emails</li>
|
949 |
+
<li>premium email support</li>';
|
950 |
$out .= '</ul>';
|
951 |
$out .= ' </div>';
|
952 |
$out .= '<div class="footer">';
|
956 |
$out .= '</div>'; // pro features screen
|
957 |
|
958 |
$out .= '<div id="gmw_dialog_trial" style="display: none;" class="gmw_promo_dialog_screen">
|
959 |
+
<div class="content">
|
960 |
+
<h3>Fill out the form and get your free trial started <b>INSTANTLY</b>!</h3>';
|
961 |
+
$out .= '<p class="input_row">
|
962 |
+
<input value="' . $name . '" type="text" id="gmw_name" name="gmw_name" placeholder="Your name">
|
963 |
+
<span class="error name" style="display: none;">Please enter your name.</span>
|
964 |
+
</p>';
|
965 |
+
$out .= '<p class="input_row">
|
966 |
+
<input value="' . $current_user->user_email . '" type="text" name="gmw_email" id="gmw_email" placeholder="Your email address" required="required">
|
967 |
+
<span style="display: none;" class="error email">Please double check your email address.</span>
|
968 |
+
</p>';
|
969 |
+
$out .= '<p class="center">
|
970 |
+
<a id="gmw_start_trial" href="#" class="button button-primary">Start a 7 days free trial</a></p>
|
971 |
+
<p class="center">Already have a license key? <a href="#" class="gmw_goto_activation">Enter it here</a></p>
|
972 |
+
</div>';
|
973 |
+
$out .= '<div class="footer">
|
974 |
+
<ul class="gmw-faq-ul">
|
975 |
+
<li>Please check your email for a special <b>discount code</b></li>
|
976 |
+
<li>We\'ll never share your email address</li>
|
977 |
+
<li>We hate spam too, so we never send it</li>
|
978 |
+
</ul>
|
979 |
+
</div>';
|
980 |
$out .= '</div>'; // trial screen
|
981 |
|
982 |
$out .= '</div>'; // dialog
|
1111 |
echo '</div>'; // settings tab
|
1112 |
|
1113 |
echo '<div id="gmw-export" style="display: none;">';
|
1114 |
+
if (GMW::is_activated()) {
|
1115 |
echo '<table class="form-table">';
|
1116 |
echo '<tr>
|
1117 |
<th scope="row"><label for="">' . __('Export widgets', 'google-maps-widget') . '</label></th>
|
1142 |
<p class="description">License key can be found in the confirmation email you received after purchasing.</p></td>
|
1143 |
</tr>';
|
1144 |
if (GMW::is_activated()) {
|
1145 |
+
if ($options['license_expires'] == '2035-01-01') {
|
1146 |
+
$valid = 'indefinitely';
|
1147 |
+
} else {
|
1148 |
+
$valid = 'until ' . date('F jS, Y', strtotime($options['license_expires']));
|
1149 |
+
if (date('Y-m-d') == $options['license_expires']) {
|
1150 |
+
$valid .= '; expires today';
|
1151 |
+
} elseif (date('Y-m-d', time() + DAY_IN_SECONDS) == $options['license_expires']) {
|
1152 |
+
$valid .= '; expires tomorrow';
|
1153 |
+
} elseif (date('Y-m-d', time() + 30 * DAY_IN_SECONDS) > $options['license_expires']) {
|
1154 |
+
$tmp = (strtotime($options['license_expires'] . date(' G:i:s')) - time()) / DAY_IN_SECONDS;
|
1155 |
+
$valid .= '; expires in ' . round($tmp) . ' days';
|
1156 |
+
}
|
1157 |
+
}
|
1158 |
echo '<tr>
|
1159 |
<th scope="row"><label for="">' . __('License Key Status', 'google-maps-widget') . '</label></th>
|
1160 |
<td><b style="color: green">Active</b><br>
|
1161 |
+
Type: ' . str_replace('pro', 'PRO', $options['license_type']) . '<br>
|
1162 |
+
Valid ' . $valid . '</td>
|
1163 |
</tr>';
|
1164 |
} else {
|
1165 |
echo '<tr>
|
1174 |
echo '</form>';
|
1175 |
echo '</div>'; // wrap
|
1176 |
} // settings_screen
|
1177 |
+
|
1178 |
+
|
1179 |
+
// send user's name & email and get trial license key
|
1180 |
+
static function get_trial_ajax() {
|
1181 |
+
check_ajax_referer('gmw_get_trial');
|
1182 |
+
|
1183 |
+
$name = trim($_POST['name']);
|
1184 |
+
$email = trim($_POST['email']);
|
1185 |
+
if (defined('WPLANG')) {
|
1186 |
+
$lang = strtolower(substr(WPLANG, 0, 2));
|
1187 |
+
} else {
|
1188 |
+
$lang = 'en';
|
1189 |
+
}
|
1190 |
+
|
1191 |
+
$request_params = array('sslverify' => false, 'timeout' => 7, 'redirection' => 2);
|
1192 |
+
$request_args = array('action' => 'get_trial', 'name' => $name, 'email' => $email, 'lang' => $lang, 'ip' => $_SERVER['REMOTE_ADDR'], 'site' => get_home_url());
|
1193 |
+
|
1194 |
+
$url = add_query_arg($request_args, GMW::$licensing_servers[0]);
|
1195 |
+
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1196 |
+
|
1197 |
+
if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
|
1198 |
+
$url = add_query_arg($request_args, GMW::$licensing_servers[1]);
|
1199 |
+
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1200 |
+
}
|
1201 |
+
|
1202 |
+
if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
|
1203 |
+
$result = wp_remote_retrieve_body($response);
|
1204 |
+
$result = json_decode($result, true, 3);
|
1205 |
+
if (!empty($result['success']) && $result['success'] === true && is_array($result['data']) && sizeof($result['data']) == 3) {
|
1206 |
+
$result['data']['license_active'] = true;
|
1207 |
+
GMW::set_options($result['data']);
|
1208 |
+
wp_send_json_success();
|
1209 |
+
} elseif (isset($result['success']) && $result['success'] === false && !empty($result['data'])) {
|
1210 |
+
wp_send_json_error($result['data']);
|
1211 |
+
} else {
|
1212 |
+
wp_send_json_error('Invalid response from licensing server. Please try again later.');
|
1213 |
+
}
|
1214 |
+
} else {
|
1215 |
+
wp_send_json_error('Unable to contact licensing server. Please try again in a few moments.');
|
1216 |
+
}
|
1217 |
+
} // get_trial_ajax
|
1218 |
|
1219 |
|
1220 |
// check activation code and save if valid
|
1242 |
// check if activation code is valid
|
1243 |
static function validate_activation_code($code) {
|
1244 |
$request_params = array('sslverify' => false, 'timeout' => 7, 'redirection' => 2);
|
1245 |
+
$request_args = array('action' => 'validate_license', 'code' => $code, 'domain' => get_home_url());
|
1246 |
|
1247 |
$out = array('success' => false, 'license_active' => false, 'activation_code' => $code, 'error' => '', 'license_type' => '', 'license_expires' => '1900-01-01');
|
1248 |
|
1249 |
+
$url = add_query_arg($request_args, GMW::$licensing_servers[0]);
|
1250 |
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1251 |
|
1252 |
if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
|
1253 |
+
$url = add_query_arg($request_args, GMW::$licensing_servers[1]);
|
1254 |
$response = wp_remote_get(esc_url_raw($url), $request_params);
|
1255 |
}
|
1256 |
|
1257 |
if (!is_wp_error($response) && wp_remote_retrieve_body($response)) {
|
1258 |
$result = wp_remote_retrieve_body($response);
|
1259 |
+
$result = json_decode($result, true, 3);
|
1260 |
if (is_array($result['data']) && sizeof($result['data']) == 4) {
|
1261 |
$out['success'] = true;
|
1262 |
$out = array_merge($out, $result['data']);
|
images/icon-trial.png
ADDED
Binary file
|
images/icon-unlimited.png
ADDED
Binary file
|
images/icon-yearly.png
ADDED
Binary file
|
images/pins/big/atom.png
ADDED
Binary file
|
images/pins/big/camel.png
ADDED
Binary file
|
images/pins/big/checkmark.png
ADDED
Binary file
|
images/pins/big/clover.png
ADDED
Binary file
|
images/pins/big/craft_store.png
ADDED
Binary file
|
images/pins/big/crowd.png
ADDED
Binary file
|
images/pins/big/customs.png
ADDED
Binary file
|
images/pins/big/dance_class.png
ADDED
Binary file
|
images/pins/big/dancing_hall.png
ADDED
Binary file
|
images/pins/big/daycare.png
ADDED
Binary file
|
images/pins/big/deep_sea_fishing.png
ADDED
Binary file
|
images/pins/big/deer.png
ADDED
Binary file
|
images/pins/big/dentist.png
ADDED
Binary file
|
images/pins/big/department_store.png
ADDED
Binary file
|
images/pins/big/detective.png
ADDED
Binary file
|
images/pins/big/diamond.png
ADDED
Binary file
|
images/pins/big/dino_park.png
ADDED
Binary file
|
images/pins/big/diving.png
ADDED
Binary file
|
images/pins/big/dogs_leash.png
ADDED
Binary file
|
images/pins/big/dolphins.png
ADDED
Binary file
|
images/pins/big/drinking_fountain.png
ADDED
Binary file
|
images/pins/big/duck.png
ADDED
Binary file
|
images/pins/big/earthquake.png
ADDED
Binary file
|
images/pins/big/elephants.png
ADDED
Binary file
|
images/pins/big/exchequer.png
ADDED
Binary file
|
images/pins/big/farm_stand.png
ADDED
Binary file
|
images/pins/big/fast_food.png
ADDED
Binary file
|
images/pins/big/field.png
ADDED
Binary file
|
images/pins/big/find_a_job.png
ADDED
Binary file
|
images/pins/big/fish_chips.png
ADDED
Binary file
|
images/pins/big/fishing.png
ADDED
Binary file
|
images/pins/big/fishing_boat.png
ADDED
Binary file
|
images/pins/big/fitness.png
ADDED
Binary file
|
images/pins/big/fjord.png
ADDED
Binary file
|
images/pins/big/food_truck.png
ADDED
Binary file
|
images/pins/big/fountain.png
ADDED
Binary file
|
images/pins/big/four_by_four.png
ADDED
Binary file
|
images/pins/big/frequency_change.png
ADDED
Binary file
|
images/pins/big/frog.png
ADDED
Binary file
|
images/pins/big/fruits.png
ADDED
Binary file
|
images/pins/big/gas_cylinder.png
ADDED
Binary file
|
images/pins/big/geocaching.png
ADDED
Binary file
|
images/pins/big/geothermal_site.png
ADDED
Binary file
|
images/pins/big/geyser.png
ADDED
Binary file
|
images/pins/big/ghost_town.png
ADDED
Binary file
|
images/pins/big/gift.png
ADDED
Binary file
|
images/pins/big/glacier.png
ADDED
Binary file
|
images/pins/big/glasses.png
ADDED
Binary file
|
images/pins/big/gondola.png
ADDED
Binary file
|
images/pins/big/groceries.png
ADDED
Binary file
|
images/pins/big/gumball_machine.png
ADDED
Binary file
|
images/pins/big/handball.png
ADDED
Binary file
|
images/pins/big/hanggliding.png
ADDED
Binary file
|
images/pins/big/hare.png
ADDED
Binary file
|
images/pins/big/hat.png
ADDED
Binary file
|
images/pins/big/haybale.png
ADDED
Binary file
|
images/pins/big/highschool.png
ADDED
Binary file
|
images/pins/big/historical_museum.png
ADDED
Binary file
|
images/pins/big/historical_quarter.png
ADDED
Binary file
|
images/pins/big/home_center.png
ADDED
Binary file
|
images/pins/big/hookah.png
ADDED
Binary file
|
images/pins/big/horn.png
ADDED
Binary file
|
images/pins/big/horse_riding.png
ADDED
Binary file
|
images/pins/big/hospital.png
ADDED
Binary file
|
images/pins/big/hotspring.png
ADDED
Binary file
|
images/pins/big/hunting.png
ADDED
Binary file
|
images/pins/big/hut.png
ADDED
Binary file
|
images/pins/big/ice_hockey.png
ADDED
Binary file
|
images/pins/big/iceskating.png
ADDED
Binary file
|
images/pins/big/indoor_arena.png
ADDED
Binary file
|
images/pins/big/jacuzzi.png
ADDED
Binary file
|
images/pins/big/japanese-food.png
ADDED
Binary file
|
images/pins/big/japanese-temple.png
ADDED
Binary file
|
images/pins/big/jeep.png
ADDED
Binary file
|
images/pins/big/jogging.png
ADDED
Binary file
|
images/pins/big/judo.png
ADDED
Binary file
|
images/pins/big/karate.png
ADDED
Binary file
|
images/pins/big/karting.png
ADDED
Binary file
|
images/pins/big/kayak.png
ADDED
Binary file
|
images/pins/big/kebab.png
ADDED
Binary file
|
images/pins/big/key.png
ADDED
Binary file
|
images/pins/big/king.png
ADDED
Binary file
|
images/pins/big/kiosk.png
ADDED
Binary file
|
images/pins/big/kitesurfing.png
ADDED
Binary file
|
images/pins/big/landfill.png
ADDED
Binary file
|
images/pins/big/latern.png
ADDED
Binary file
|
images/pins/big/library.png
ADDED
Binary file
|
images/pins/big/lifeguard.png
ADDED
Binary file
|
images/pins/big/lingerie.png
ADDED
Binary file
|
images/pins/big/lobster.png
ADDED
Binary file
|
images/pins/big/magic_show.png
ADDED
Binary file
|
images/pins/big/map.png
ADDED
Binary file
|
images/pins/big/marina.png
ADDED
Binary file
|
images/pins/big/military.png
ADDED
Binary file
|
images/pins/big/modern_tower.png
ADDED
Binary file
|
images/pins/big/monkey.png
ADDED
Binary file
|
images/pins/big/mosque.png
ADDED
Binary file
|
images/pins/big/movie_rental.png
ADDED
Binary file
|
images/pins/big/muffin.png
ADDED
Binary file
|
images/pins/big/muffin_bagle.png
ADDED
Binary file
|
images/pins/big/mural.png
ADDED
Binary file
|
images/pins/big/museum_archeological.png
ADDED
Binary file
|
images/pins/big/museum_art.png
ADDED
Binary file
|
images/pins/big/museum_craft.png
ADDED
Binary file
|
images/pins/big/museum_openair.png
ADDED
Binary file
|
images/pins/big/museum_war.png
ADDED
Binary file
|
images/pins/big/music_choral.png
ADDED
Binary file
|
images/pins/big/music_classical.png
ADDED
Binary file
|
images/pins/big/music_hiphop.png
ADDED
Binary file
|
images/pins/big/music_live.png
ADDED
Binary file
|
images/pins/big/music_rock.png
ADDED
Binary file
|
images/pins/big/nanny.png
ADDED
Binary file
|
images/pins/big/newspaper.png
ADDED
Binary file
|
images/pins/big/no-nuke.png
ADDED
Binary file
|
images/pins/big/nursery.png
ADDED
Binary file
|
images/pins/big/nursing_home.png
ADDED
Binary file
|
images/pins/big/one_way.png
ADDED
Binary file
|
images/pins/big/pagoda.png
ADDED
Binary file
|
images/pins/big/paintball.png
ADDED
Binary file
|
images/pins/big/palace.png
ADDED
Binary file
|
images/pins/big/paperclip.png
ADDED
Binary file
|
images/pins/big/paragliding.png
ADDED
Binary file
|
images/pins/big/parasailing.png
ADDED
Binary file
|
images/pins/big/parking.png
ADDED
Binary file
|
images/pins/big/party.png
ADDED
Binary file
|
images/pins/big/patisserie.png
ADDED
Binary file
|
images/pins/big/pen.png
ADDED
Binary file
|
images/pins/big/penguin.png
ADDED
Binary file
|
images/pins/big/perfumery.png
ADDED
Binary file
|
images/pins/big/petanque.png
ADDED
Binary file
|
images/pins/big/petroglyphs.png
ADDED
Binary file
|
images/pins/big/phones.png
ADDED
Binary file
|
images/pins/big/photography.png
ADDED
Binary file
|
images/pins/big/printer.png
ADDED
Binary file
|
images/pins/big/prison.png
ADDED
Binary file
|
images/pins/big/puzzle.png
ADDED
Binary file
|
images/pins/big/radio_control_model_car.png
ADDED
Binary file
|
images/pins/big/railroad.png
ADDED
Binary file
|
images/pins/big/rainy.png
ADDED
Binary file
|
images/pins/big/rape.png
ADDED
Binary file
|
images/pins/big/resort.png
ADDED
Binary file
|
images/pins/big/restaurant_african.png
ADDED
Binary file
|
images/pins/big/restaurant_breakfast.png
ADDED
Binary file
|
images/pins/big/restaurant_buffet.png
ADDED
Binary file
|
images/pins/big/restaurant_fish.png
ADDED
Binary file
|
images/pins/big/restaurant_greek.png
ADDED
Binary file
|
images/pins/big/restaurant_indian.png
ADDED
Binary file
|
images/pins/big/restaurant_italian.png
ADDED
Binary file
|
images/pins/big/restaurant_korean.png
ADDED
Binary file
|
images/pins/big/restaurant_mediterranean.png
ADDED
Binary file
|
images/pins/big/restaurant_mexican.png
ADDED
Binary file
|
images/pins/big/restaurant_romantic.png
ADDED
Binary file
|
images/pins/big/restaurant_steakhouse.png
ADDED
Binary file
|
images/pins/big/restaurant_tapas.png
ADDED
Binary file
|
images/pins/big/restaurant_thai.png
ADDED
Binary file
|
images/pins/big/restaurant_turkish.png
ADDED
Binary file
|
images/pins/big/revolt.png
ADDED
Binary file
|
images/pins/big/rollerskate.png
ADDED
Binary file
|
images/pins/big/ropescourse.png
ADDED
Binary file
|
images/pins/big/rowboat.png
ADDED
Binary file
|
images/pins/big/rugby_field.png
ADDED
Binary file
|
images/pins/big/ruins.png
ADDED
Binary file
|
images/pins/big/sandwich.png
ADDED
Binary file
|
images/pins/big/sattelite.png
ADDED
Binary file
|
images/pins/big/sauna.png
ADDED
Binary file
|
images/pins/big/scubadiving.png
ADDED
Binary file
|
images/pins/big/segway.png
ADDED
Binary file
|
images/pins/big/seniorsite.png
ADDED
Binary file
|
images/pins/big/septic_tank.png
ADDED
Binary file
|
images/pins/big/share.png
ADDED
Binary file
|
images/pins/big/sheriff.png
ADDED
Binary file
|
images/pins/big/shore.png
ADDED
Binary file
|
images/pins/big/shower.png
ADDED
Binary file
|
images/pins/big/signpost.png
ADDED
Binary file
|
images/pins/big/ski_boot.png
ADDED
Binary file
|
images/pins/big/skiing.png
ADDED
Binary file
|
images/pins/big/skijump.png
ADDED
Binary file
|
images/pins/big/skilifting.png
ADDED
Binary file
|
images/pins/big/skis.png
ADDED
Binary file
|
images/pins/big/sleigh.png
ADDED
Binary file
|
images/pins/big/slots.png
ADDED
Binary file
|
images/pins/big/sneakers.png
ADDED
Binary file
|
images/pins/big/snorkeling.png
ADDED
Binary file
|
images/pins/big/snowboarding.png
ADDED
Binary file
|
images/pins/big/snowflake.png
ADDED
Binary file
|
images/pins/big/snowmobiling.png
ADDED
Binary file
|
images/pins/big/snowpark_arc.png
ADDED
Binary file
|
images/pins/big/snowshoeing.png
ADDED
Binary file
|
images/pins/big/soccer.png
ADDED
Binary file
|
images/pins/big/spaceport.png
ADDED
Binary file
|
images/pins/big/spelunking.png
ADDED
Binary file
|
images/pins/big/sport_utility_vehicle.png
ADDED
Binary file
|
images/pins/big/sportscar.png
ADDED
Binary file
|
images/pins/big/squash.png
ADDED
Binary file
|
images/pins/big/squirrel.png
ADDED
Binary file
|
images/pins/big/stadium.png
ADDED
Binary file
|
images/pins/big/strip_club.png
ADDED
Binary file
|
images/pins/big/subway.png
ADDED
Binary file
|
images/pins/big/summercamp.png
ADDED
Binary file
|
images/pins/big/sumo.png
ADDED
Binary file
|
images/pins/big/surfacelift.png
ADDED
Binary file
|
images/pins/big/surfing.png
ADDED
Binary file
|
images/pins/big/takeaway.png
ADDED
Binary file
|
images/pins/big/tea.png
ADDED
Binary file
|
images/pins/big/teble_tennis.png
ADDED
Binary file
|
images/pins/big/television.png
ADDED
Binary file
|
images/pins/big/temple_hindu.png
ADDED
Binary file
|
images/pins/big/tennis.png
ADDED
Binary file
|
images/pins/big/terrace.png
ADDED
Binary file
|
images/pins/big/textiles.png
ADDED
Binary file
|
images/pins/big/the_ravada_pagoda.png
ADDED
Binary file
|
images/pins/big/theater.png
ADDED
Binary file
|
images/pins/big/theft.png
ADDED
Binary file
|
images/pins/big/themepark.png
ADDED
Binary file
|
images/pins/big/therapy.png
ADDED
Binary file
|
images/pins/big/thermometer.png
ADDED
Binary file
|
images/pins/big/ticket.png
ADDED
Binary file
|
images/pins/big/tiger.png
ADDED
Binary file
|
images/pins/big/toll_station.png
ADDED
Binary file
|
images/pins/big/tools.png
ADDED
Binary file
|
images/pins/big/toys.png
ADDED
Binary file
|
images/pins/big/traffic_camera.png
ADDED
Binary file
|
images/pins/big/tree_down.png
ADDED
Binary file
|
images/pins/big/trolley.png
ADDED
Binary file
|
images/pins/big/tunnel.png
ADDED
Binary file
|
images/pins/big/turtle.png
ADDED
Binary file
|
images/pins/big/tweet.png
ADDED
Binary file
|
images/pins/big/van.png
ADDED
Binary file
|
images/pins/big/vespa.png
ADDED
Binary file
|
images/pins/big/video_games.png
ADDED
Binary file
|
images/pins/big/villa.png
ADDED
Binary file
|
images/pins/big/vineyard.png
ADDED
Binary file
|
images/pins/big/volleyball.png
ADDED
Binary file
|
images/pins/big/waiting.png
ADDED
Binary file
|
images/pins/big/walkingtour.png
ADDED
Binary file
|
images/pins/big/war.png
ADDED
Binary file
|
images/pins/big/warehouse.png
ADDED
Binary file
|
images/pins/big/water_pump.png
ADDED
Binary file
|
images/pins/big/water_temperature.png
ADDED
Binary file
|
images/pins/big/watercraft.png
ADDED
Binary file
|
images/pins/big/waterfall.png
ADDED
Binary file
|
images/pins/big/watermill.png
ADDED
Binary file
|
images/pins/big/waterskiing.png
ADDED
Binary file
|
images/pins/big/wedding.png
ADDED
Binary file
|
images/pins/big/weights.png
ADDED
Binary file
|
images/pins/big/wetlands.png
ADDED
Binary file
|
images/pins/big/whale.png
ADDED
Binary file
|
images/pins/big/wifi.png
ADDED
Binary file
|
images/pins/big/windmill.png
ADDED
Binary file
|
images/pins/big/wine_tasting.png
ADDED
Binary file
|
images/pins/big/woodshed.png
ADDED
Binary file
|
images/pins/big/work_office.png
ADDED
Binary file
|
images/pins/big/worldwideweb.png
ADDED
Binary file
|
images/pins/big/wrestling.png
ADDED
Binary file
|
images/pins/big/yin_yang.png
ADDED
Binary file
|
images/pins/big/yoga.png
ADDED
Binary file
|
images/pins/big/yooner.png
ADDED
Binary file
|
images/pins/big/youth_hostel.png
ADDED
Binary file
|
images/pins/big/zombie.png
ADDED
Binary file
|
js/gmw-admin.js
CHANGED
@@ -303,18 +303,44 @@ jQuery(function($) {
|
|
303 |
} // promo_option_change
|
304 |
|
305 |
|
306 |
-
//
|
307 |
-
$('.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
$('.gmw_promo_dialog_screen').hide();
|
309 |
$('#gmw_dialog_activate').show();
|
310 |
-
|
311 |
if ($(this).data('noprevent')) {
|
312 |
return true;
|
313 |
} else {
|
|
|
314 |
e.preventDefault();
|
315 |
return false;
|
316 |
}
|
317 |
-
}); // already
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
|
319 |
|
320 |
// go to intro button in dialog
|
@@ -374,9 +400,9 @@ jQuery(function($) {
|
|
374 |
$('#gmw_activate').on('click', function(e) {
|
375 |
e.preventDefault();
|
376 |
|
377 |
-
$('#
|
378 |
-
$('#
|
379 |
-
$('#
|
380 |
$('#gmw_activate').addClass('gmw_disabled');
|
381 |
|
382 |
$.post(ajaxurl, { 'action': 'gmw_activate', 'code': $('#gmw_code').val(), '_ajax_nonce': gmw.nonce_activate_license_key},
|
@@ -389,8 +415,8 @@ jQuery(function($) {
|
|
389 |
tmp = tmp.replace('gmw_open_promo_dialog', '');
|
390 |
window.location = tmp;
|
391 |
} else {
|
392 |
-
$('#
|
393 |
-
$('#
|
394 |
$('#gmw_code').focus().select();
|
395 |
}
|
396 |
}, 'json')
|
@@ -398,12 +424,68 @@ jQuery(function($) {
|
|
398 |
alert(gmw.undocumented_error);
|
399 |
})
|
400 |
.always(function() {
|
401 |
-
$('#
|
402 |
$('#gmw_activate').removeClass('gmw_disabled');
|
403 |
-
})
|
404 |
|
405 |
return false;
|
406 |
}); // activate button click
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
|
408 |
|
409 |
// open promo/activation dialog
|
303 |
} // promo_option_change
|
304 |
|
305 |
|
306 |
+
// on hover for pricing table
|
307 |
+
$('#gmw_dialog_intro .gmw-promo-box').hover(
|
308 |
+
function() {
|
309 |
+
$('#gmw_dialog_intro .gmw-promo-box').removeClass('gmw-promo-box-hover');
|
310 |
+
$(this).addClass('gmw-promo-box-hover');
|
311 |
+
}, function() {
|
312 |
+
$('#gmw_dialog_intro .gmw-promo-box').removeClass('gmw-promo-box-hover');
|
313 |
+
$('#gmw_dialog_intro .gmw-promo-box:first').addClass('gmw-promo-box-hover');
|
314 |
+
}
|
315 |
+
);// on hover for pricing table
|
316 |
+
|
317 |
+
|
318 |
+
// already have a key button click in dialog
|
319 |
+
$('a.gmw_goto_activation').on('click', function(e) {
|
320 |
$('.gmw_promo_dialog_screen').hide();
|
321 |
$('#gmw_dialog_activate').show();
|
322 |
+
|
323 |
if ($(this).data('noprevent')) {
|
324 |
return true;
|
325 |
} else {
|
326 |
+
e.stopPropagation();
|
327 |
e.preventDefault();
|
328 |
return false;
|
329 |
}
|
330 |
+
}); // already have a key click
|
331 |
+
|
332 |
+
|
333 |
+
// already have a key button click in dialog
|
334 |
+
$('div.gmw_goto_activation').on('click', function(e) {
|
335 |
+
$('.gmw_promo_dialog_screen').hide();
|
336 |
+
$('#gmw_dialog_activate').show();
|
337 |
+
|
338 |
+
url = $(this).find('a').attr('href');
|
339 |
+
win = window.open(url, '_blank');
|
340 |
+
win.focus();
|
341 |
+
|
342 |
+
return false;
|
343 |
+
}); // already have a key click
|
344 |
|
345 |
|
346 |
// go to intro button in dialog
|
400 |
$('#gmw_activate').on('click', function(e) {
|
401 |
e.preventDefault();
|
402 |
|
403 |
+
$('#gmw_dialog_activate input.error').removeClass('error');
|
404 |
+
$('#gmw_dialog_activate span.error').hide();
|
405 |
+
$('#gmw_dialog_activate input').addClass('gmw_spinner').addClass('gmw_disabled');
|
406 |
$('#gmw_activate').addClass('gmw_disabled');
|
407 |
|
408 |
$.post(ajaxurl, { 'action': 'gmw_activate', 'code': $('#gmw_code').val(), '_ajax_nonce': gmw.nonce_activate_license_key},
|
415 |
tmp = tmp.replace('gmw_open_promo_dialog', '');
|
416 |
window.location = tmp;
|
417 |
} else {
|
418 |
+
$('#gmw_dialog_activate input').addClass('error');
|
419 |
+
$('#gmw_dialog_activate span.error.gmw_code').html(response.data).show();
|
420 |
$('#gmw_code').focus().select();
|
421 |
}
|
422 |
}, 'json')
|
424 |
alert(gmw.undocumented_error);
|
425 |
})
|
426 |
.always(function() {
|
427 |
+
$('#gmw_dialog_activate input').removeClass('gmw_spinner').removeClass('gmw_disabled');
|
428 |
$('#gmw_activate').removeClass('gmw_disabled');
|
429 |
+
});
|
430 |
|
431 |
return false;
|
432 |
}); // activate button click
|
433 |
+
|
434 |
+
|
435 |
+
// get trial click
|
436 |
+
$('#gmw_start_trial').on('click', function(e) {
|
437 |
+
e.preventDefault();
|
438 |
+
|
439 |
+
err = false;
|
440 |
+
$('#gmw_dialog_trial input.error').removeClass('error');
|
441 |
+
$('#gmw_dialog_trial span.error').hide();
|
442 |
+
$('#gmw_dialog_trial input').addClass('gmw_disabled').addClass('gmw_spinner');
|
443 |
+
$('#gmw_start_trial').addClass('gmw_disabled');
|
444 |
+
|
445 |
+
if ($('#gmw_name').val().length < 3) {
|
446 |
+
$('#gmw_name').addClass('error');
|
447 |
+
$('#gmw_dialog_trial span.error.name').show();
|
448 |
+
$('#gmw_name').focus().select();
|
449 |
+
|
450 |
+
err = true;
|
451 |
+
} // check name
|
452 |
+
|
453 |
+
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,}))$/;
|
454 |
+
if (!re.test($('#gmw_email').val())) {
|
455 |
+
$('#gmw_email').addClass('error');
|
456 |
+
$('#gmw_dialog_trial span.error.email').show();
|
457 |
+
$('#gmw_email').focus().select();
|
458 |
+
return false;
|
459 |
+
}
|
460 |
+
|
461 |
+
if (err) {
|
462 |
+
return false;
|
463 |
+
}
|
464 |
+
|
465 |
+
$.post(ajaxurl, { 'action': 'gmw_get_trial',
|
466 |
+
'name': $('#gmw_name').val(),
|
467 |
+
'email': $('#gmw_email').val(),
|
468 |
+
'_ajax_nonce': gmw.nonce_get_trial},
|
469 |
+
function(response) {
|
470 |
+
if (response && response.success == true) {
|
471 |
+
alert(gmw.trial_ok);
|
472 |
+
document.location = gmw.settings_url;
|
473 |
+
} else if (response && response.success == false && response.data) {
|
474 |
+
alert(response.data);
|
475 |
+
} else {
|
476 |
+
alert(gmw.undocumented_error);
|
477 |
+
}
|
478 |
+
}, 'json')
|
479 |
+
.fail(function() {
|
480 |
+
alert(gmw.undocumented_error);
|
481 |
+
})
|
482 |
+
.always(function() {
|
483 |
+
$('#gmw_dialog_trial input').removeClass('gmw_disabled').removeClass('gmw_spinner');
|
484 |
+
$('#gmw_start_trial').removeClass('gmw_disabled');
|
485 |
+
});
|
486 |
+
|
487 |
+
return false;
|
488 |
+
}); // get trial click
|
489 |
|
490 |
|
491 |
// open promo/activation dialog
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ License: GPLv2 or later
|
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Requires at least: 3.8
|
8 |
Tested up to: 4.4
|
9 |
-
Stable tag: 3.
|
10 |
|
11 |
Displays a single image, super-fast loading Google map in a widget. A larger map with all interactive features is available on click in a lightbox.
|
12 |
|
@@ -31,7 +31,7 @@ http://www.youtube.com/watch?v=y1siX9ha7Pw&hd=1
|
|
31 |
* pin size
|
32 |
* pin label
|
33 |
* custom pin icon - any image can be used
|
34 |
-
*
|
35 |
* link type - lightbox, custom URL, replace thumbnail with interactive map, or disable link
|
36 |
* text above map
|
37 |
* text below map
|
@@ -144,6 +144,12 @@ Read the <a href="http://wordpress.org/support/plugin/google-maps-widget">suppor
|
|
144 |
|
145 |
== Changelog ==
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
= 3.20 =
|
148 |
* 2016/03/10
|
149 |
* new map pins
|
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.25
|
10 |
|
11 |
Displays a single image, super-fast loading Google map in a widget. A larger map with all interactive features is available on click in a lightbox.
|
12 |
|
31 |
* pin size
|
32 |
* pin label
|
33 |
* custom pin icon - any image can be used
|
34 |
+
* 1000+ pins library in PRO
|
35 |
* link type - lightbox, custom URL, replace thumbnail with interactive map, or disable link
|
36 |
* text above map
|
37 |
* text below map
|
144 |
|
145 |
== Changelog ==
|
146 |
|
147 |
+
= 3.25 =
|
148 |
+
* 2016/03/24
|
149 |
+
* even more new map pins
|
150 |
+
* bug fixes
|
151 |
+
* 7 days trial can now be activated within the plugin
|
152 |
+
|
153 |
= 3.20 =
|
154 |
* 2016/03/10
|
155 |
* new map pins
|