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 | |
| 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
|
