Google Maps Widget – Ultimate Google Maps Plugin - Version 2.92

Version Description

  • 2016/01/14
  • we crossed 100 thousand active installations ;)
  • minor bug fixes
Download this release

Release Info

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

Code changes from version 2.90 to 2.92

Files changed (8) hide show
  1. css/gmw-admin.css +1 -1
  2. css/gmw.css +249 -249
  3. gmw-tracking.php +1 -1
  4. gmw-widget.php +4 -8
  5. google-maps-widget.php +21 -18
  6. js/gmw-admin.js +2 -2
  7. js/gmw.js +38 -38
  8. readme.txt +6 -1
css/gmw-admin.css CHANGED
@@ -1,6 +1,6 @@
1
  /*
2
  * Google Maps Widget
3
- * (c) Web factory Ltd, 2012 - 2015
4
  */
5
  @import url(http://fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light&lang=en);
6
 
1
  /*
2
  * Google Maps Widget
3
+ * (c) Web factory Ltd, 2012 - 2016
4
  */
5
  @import url(http://fonts.googleapis.com/css?family=RobotoDraft:regular,bold,italic,thin,light&lang=en);
6
 
css/gmw.css CHANGED
@@ -1,250 +1,250 @@
1
- /*
2
- * Google Maps Widget
3
- * (c) Web factory Ltd, 2012 - 2015
4
- */
5
-
6
- .gmw-header, .gmw-footer {
7
- padding: 5px;
8
- font-style: italic;
9
- }
10
- .gmw-map iframe {
11
- border: none;
12
- margin: 0;
13
- padding: 0;
14
- }
15
-
16
- .gmw-error {
17
- color: red;
18
- }
19
-
20
- .gmw-powered-by {
21
- color: #666;
22
- font-size: x-small;
23
- }
24
-
25
- /* Colorbox Core Style */
26
- #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
27
- #cboxWrapper {max-width:none;}
28
- #cboxOverlay{position:fixed; width:100%; height:100%;}
29
- #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
30
- #cboxContent{position:relative;}
31
- #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
32
- #cboxTitle{margin:0;}
33
- #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
34
- #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
35
- .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
36
- .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
37
- #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
38
-
39
- /* dark */
40
- #cboxOverlay.gmw-dark{background:url(../images/overlay.png) repeat 0 0;}
41
- #colorbox.gmw-dark{outline:0;}
42
- .gmw-dark #cboxTopLeft{width:21px; height:21px; background:url(../images/controls.png) no-repeat -101px 0;}
43
- .gmw-dark #cboxTopRight{width:21px; height:21px; background:url(../images/controls.png) no-repeat -130px 0;}
44
- .gmw-dark #cboxBottomLeft{width:21px; height:21px; background:url(../images/controls.png) no-repeat -101px -29px;}
45
- .gmw-dark #cboxBottomRight{width:21px; height:21px; background:url(../images/controls.png) no-repeat -130px -29px;}
46
- .gmw-dark #cboxMiddleLeft{width:21px; background:url(../images/controls.png) left top repeat-y;}
47
- .gmw-dark #cboxMiddleRight{width:21px; background:url(../images/controls.png) right top repeat-y;}
48
- .gmw-dark #cboxTopCenter{height:21px; background:url(../images/border.png) 0 0 repeat-x;}
49
- .gmw-dark #cboxBottomCenter{height:21px; background:url(../images/border.png) 0 -29px repeat-x;}
50
- .gmw-dark #cboxContent{background:#fff; overflow:hidden;}
51
- .gmw-dark .cboxIframe{background:#fff;}
52
- .gmw-dark #cboxError{padding:50px; border:1px solid #ccc;}
53
- .gmw-dark #cboxLoadedContent{margin-bottom:28px;}
54
- .gmw-dark #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
55
- .gmw-dark #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
56
- .gmw-dark #cboxLoadingOverlay{background:url(../images/loading_background.png) no-repeat center center;}
57
- .gmw-dark #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
58
-
59
- .gmw-dark #cboxPrevious, .gmw-dark #cboxNext, .gmw-dark #cboxSlideshow, .gmw-dark #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
60
-
61
- .gmw-dark #cboxPrevious:active, .gmw-dark #cboxNext:active, .gmw-dark #cboxSlideshow:active, .gmw-dark #cboxClose:active {outline:0;}
62
-
63
- .gmw-dark #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
64
- .gmw-dark #cboxPrevious{position:absolute; bottom:0; left:0; background:url(../images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
65
- .gmw-dark #cboxPrevious:hover{background-position:-75px -25px;}
66
- .gmw-dark #cboxNext{position:absolute; bottom:0; left:27px; background:url(../images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
67
- .gmw-dark #cboxNext:hover{background-position:-50px -25px;}
68
- .gmw-dark #cboxClose{position:absolute; bottom:0; right:0; background:url(../images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
69
- .gmw-dark #cboxClose:hover{background-position:-25px -25px;}
70
-
71
-
72
- /* light */
73
- #cboxOverlay.gmw-light {background:#fff;}
74
- #colorbox.gmw-light {outline:0;}
75
- .gmw-light #cboxContent{margin-top:32px; overflow:visible; background:#000;}
76
- .gmw-light .cboxIframe{background:#fff;}
77
- .gmw-light #cboxError{padding:50px; border:1px solid #ccc;}
78
- .gmw-light #cboxLoadedContent{background:#fff; padding:1px; border:1px solid #777;}
79
- .gmw-light #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
80
- .gmw-light #cboxLoadingOverlay{background:#000;}
81
- .gmw-light #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
82
- .gmw-light #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
83
-
84
- .gmw-light #cboxPrevious, .gmw-light #cboxNext, .gmw-light #cboxSlideshow, .gmw-light #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(../images/controls.png) no-repeat 0 0;}
85
-
86
- .gmw-light #cboxPrevious:active, .gmw-light #cboxNext:active, .gmw-light #cboxSlideshow:active, .gmw-light #cboxClose:active {outline:0;}
87
-
88
- .gmw-light #cboxPrevious{background-position:0px 0px; right:44px;}
89
- .gmw-light #cboxPrevious:hover{background-position:0px -25px;}
90
- .gmw-light #cboxNext{background-position:-25px 0px; right:22px;}
91
- .gmw-light #cboxNext:hover{background-position:-25px -25px;}
92
- .gmw-light #cboxClose{background-position:-50px 0px; right:0;}
93
- .gmw-light #cboxClose:hover{background-position:-50px -25px;}
94
- .gmw-light .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off .gmw-light #cboxPrevious{right:66px;}
95
- .gmw-light .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
96
- .gmw-light .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
97
- .gmw-light .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
98
- .gmw-light .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
99
-
100
-
101
- /* blue */
102
- #cboxOverlay.gmw-noimage-blue { background:#80a2ba; }
103
- .gmw-noimage-blue #cboxTopLeft, .gmw-noimage-blue #cboxTopCenter, .gmw-noimage-blue #cboxTopRight, .gmw-noimage-blue #cboxBottomLeft, .gmw-noimage-blue #cboxBottomCenter, .gmw-noimage-blue #cboxBottomRight, .gmw-noimage-blue #cboxMiddleLeft, .gmw-noimage-blue #cboxMiddleRight {
104
- background:#0d4270;
105
- }
106
- #colorbox.gmw-noimage-blue {
107
- outline: 1px solid #3175a5;
108
- -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
109
- -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
110
- box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
111
- }
112
- .gmw-noimage-blue #cboxTopLeft{width:15px; height:15px; }
113
- .gmw-noimage-blue #cboxTopCenter{height:15px; }
114
- .gmw-noimage-blue #cboxTopRight{width:15px; height:15px; }
115
- .gmw-noimage-blue #cboxBottomLeft{width:15px; height:15px; }
116
- .gmw-noimage-blue #cboxBottomCenter{height:15px; }
117
- .gmw-noimage-blue #cboxBottomRight{width:15px; height:15px; }
118
- .gmw-noimage-blue #cboxMiddleLeft{width:15px; }
119
- .gmw-noimage-blue #cboxMiddleRight{width:15px; }
120
-
121
- .gmw-noimage-blue #cboxContent{background:#0d4270; overflow:visible;}
122
- .gmw-noimage-blue .cboxIframe {background:#fff;}
123
- .gmw-noimage-blue .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
124
- .gmw-noimage-blue .cboxPhoto.withLongCaption { margin-bottom:12px; }
125
- .gmw-noimage-blue span.better-caption { text-align:center; }
126
- .gmw-noimage-blue #cboxError{padding:50px; border:1px solid #ccc;}
127
- .gmw-noimage-blue #cboxLoadedContent{margin-bottom:8px; font-style: italic; }
128
- .gmw-noimage-blue #cboxTitle{
129
- display:none !important;
130
- position:absolute; bottom:18px; clear:both; text-align:center; width:100%; color:#999; min-height:16px; overflow:hidden;
131
- }
132
- .gmw-noimage-blue .better-caption { display:none !important; }
133
- .gmw-noimage-blue #cboxCurrent{
134
- position:absolute; bottom:0px; left:100px; color:#CCCCCC; text-transform:capitalize; display:inline-block; padding-left:1.5em;
135
- font-size:11px; line-height:20px; left:45%;
136
- }
137
- .gmw-noimage-blue #cboxLoadingOverlay{background:#fff url(../images/loading.gif) no-repeat 50% 50%;}
138
-
139
- /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
140
- .gmw-noimage-blue #cboxPrevious, .gmw-noimage-blue #cboxNext, .gmw-noimage-blue #cboxSlideshow, .gmw-noimage-blue #cboxClose {
141
- border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize;
142
- -webkit-border-radius:5px; border-radius:5px;
143
- }
144
-
145
- /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
146
- .gmw-noimage-blue #cboxPrevious:active, .gmw-noimage-blue #cboxNext:active, .gmw-noimage-blue #cboxSlideshow:active, .gmw-noimage-blue #cboxClose:active {outline:0;}
147
- button:focus{ outline:1px dotted #000000; }
148
-
149
- .gmw-noimage-blue #cboxSlideshow{position:absolute; bottom:0px; right:62px; }
150
- .gmw-noimage-blue #cboxPrevious{position:absolute; bottom:0px; left:0; }
151
- .gmw-noimage-blue #cboxNext{position:absolute; bottom:0px; left:76px; }
152
- .gmw-noimage-blue #cboxClose{position:absolute; bottom:0; right:0; display:block; }
153
-
154
- /* Button Styles */
155
- .gmw-noimage-blue #cboxPrevious,
156
- .gmw-noimage-blue #cboxNext,
157
- .gmw-noimage-blue #cboxSlideshow,
158
- .gmw-noimage-blue #cboxClose {
159
- color:#D2D2D2;
160
- font-size:12px; line-height:12px;
161
- background-color: #0b2a44;
162
- border-right: 1px solid #061c2f;
163
- border-bottom: 1px solid #061c2f;
164
- padding: 6px 10px;
165
- transition: all 0.35s ease;
166
- }
167
- .gmw-noimage-blue #cboxPrevious:hover,
168
- .gmw-noimage-blue #cboxNext:hover,
169
- .gmw-noimage-blue #cboxSlideshow:hover,
170
- .gmw-noimage-blue #cboxClose:hover {
171
- background-color: #cccccc; color:#444444;
172
- }
173
-
174
-
175
- /*
176
- IE7 and IE8. This style is not applied to IE9.
177
- */
178
- /*.gmw-noimage-blue .cboxIE #colorbox {} */
179
-
180
-
181
- /* rounded */
182
- #cboxOverlay.gmw-noimage-rounded {
183
- background:#fff;
184
- }
185
- .gmw-noimage-rounded #cboxTopLeft, .gmw-noimage-rounded #cboxTopCenter, .gmw-noimage-rounded #cboxTopRight, .gmw-noimage-rounded #cboxBottomLeft, .gmw-noimage-rounded #cboxBottomCenter, .gmw-noimage-rounded #cboxBottomRight, .gmw-noimage-rounded #cboxMiddleLeft, .gmw-noimage-rounded #cboxMiddleRight {
186
- background:#ffffff;
187
- }
188
- #colorbox.gmw-noimage-rounded {
189
- outline: 1px solid #D5D5D5;
190
- -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
191
- -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
192
- box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
193
- -webkit-border-radius: 8px;
194
- border-radius: 8px;
195
- }
196
- .gmw-noimage-rounded #cboxTopLeft{width:15px; height:15px; }
197
- .gmw-noimage-rounded #cboxTopCenter{height:15px; }
198
- .gmw-noimage-rounded #cboxTopRight{width:15px; height:15px; }
199
- .gmw-noimage-rounded #cboxBottomLeft{width:15px; height:15px; }
200
- .gmw-noimage-rounded #cboxBottomCenter{height:15px; }
201
- .gmw-noimage-rounded #cboxBottomRight{width:15px; height:15px; }
202
- .gmw-noimage-rounded #cboxMiddleLeft{width:15px; }
203
- .gmw-noimage-rounded #cboxMiddleRight{width:15px; }
204
-
205
- .gmw-noimage-rounded #cboxContent{background:#fff; overflow:visible;}
206
- .gmw-noimage-rounded .cboxIframe {background:#fff;}
207
- .gmw-noimage-rounded .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
208
- .gmw-noimage-rounded .cboxPhoto.withLongCaption { margin-bottom:12px; }
209
- .gmw-noimage-rounded span.better-caption { line-height:16px; text-align:left; margin-bottom:6px; display:block; }
210
- .gmw-noimage-rounded #cboxError{padding:50px; border:1px solid #ccc;}
211
- .gmw-noimage-rounded #cboxLoadedContent{margin-bottom:24px; font-style: italic; }
212
- .gmw-noimage-rounded #cboxTitle{ position:absolute; bottom:0px; clear:both; text-align:left; width:100%; color:#999; min-height:16px; overflow:hidden; }
213
- .gmw-noimage-rounded #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
214
- .gmw-noimage-rounded #cboxLoadingOverlay{background:#fff url(../images/loading.gif) no-repeat 50% 50%;}
215
-
216
- /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
217
- .gmw-noimage-rounded #cboxPrevious, .gmw-noimage-rounded #cboxNext, .gmw-noimage-rounded #cboxSlideshow, .gmw-noimage-rounded #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
218
-
219
- /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
220
- .gmw-noimage-rounded #cboxPrevious:active, .gmw-noimage-rounded #cboxNext:active, .gmw-noimage-rounded #cboxSlideshow:active, .gmw-noimage-rounded #cboxClose:active {outline:0;}
221
- button:focus{ outline:1px dotted #ffffff; }
222
-
223
- .gmw-noimage-rounded #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
224
- .gmw-noimage-rounded #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
225
- .gmw-noimage-rounded #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
226
- .gmw-noimage-rounded #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
227
-
228
- /* Button Styles */
229
- .gmw-noimage-rounded #cboxPrevious,
230
- .gmw-noimage-rounded #cboxNext,
231
- .gmw-noimage-rounded #cboxSlideshow,
232
- .gmw-noimage-rounded #cboxClose {
233
- color: #777777;
234
- font-size:10px; line-height:12px;
235
- background-color: #dddddd;
236
- border-right: 1px solid #ccc;
237
- border-bottom: 1px solid #ccc;
238
- padding: 4px 8px;
239
- }
240
- .gmw-noimage-rounded #cboxPrevious:hover,
241
- .gmw-noimage-rounded #cboxNext:hover,
242
- .gmw-noimage-rounded #cboxSlideshow:hover,
243
- .gmw-noimage-rounded #cboxClose:hover {
244
- background-color: #cccccc; color:#444444;
245
- }
246
-
247
- /*
248
- IE7 and IE8. This style is not applied to IE9.
249
- */
250
  /*.gmw-noimage-rounded .cboxIE #colorbox {} */
1
+ /*
2
+ * Google Maps Widget
3
+ * (c) Web factory Ltd, 2012 - 2016
4
+ */
5
+
6
+ .gmw-header, .gmw-footer {
7
+ padding: 5px;
8
+ font-style: italic;
9
+ }
10
+ .gmw-map iframe {
11
+ border: none;
12
+ margin: 0;
13
+ padding: 0;
14
+ }
15
+
16
+ .gmw-error {
17
+ color: red;
18
+ }
19
+
20
+ .gmw-powered-by {
21
+ color: #666;
22
+ font-size: x-small;
23
+ }
24
+
25
+ /* Colorbox Core Style */
26
+ #colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
27
+ #cboxWrapper {max-width:none;}
28
+ #cboxOverlay{position:fixed; width:100%; height:100%;}
29
+ #cboxMiddleLeft, #cboxBottomLeft{clear:left;}
30
+ #cboxContent{position:relative;}
31
+ #cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
32
+ #cboxTitle{margin:0;}
33
+ #cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
34
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
35
+ .cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
36
+ .cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
37
+ #colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
38
+
39
+ /* dark */
40
+ #cboxOverlay.gmw-dark{background:url(../images/overlay.png) repeat 0 0;}
41
+ #colorbox.gmw-dark{outline:0;}
42
+ .gmw-dark #cboxTopLeft{width:21px; height:21px; background:url(../images/controls.png) no-repeat -101px 0;}
43
+ .gmw-dark #cboxTopRight{width:21px; height:21px; background:url(../images/controls.png) no-repeat -130px 0;}
44
+ .gmw-dark #cboxBottomLeft{width:21px; height:21px; background:url(../images/controls.png) no-repeat -101px -29px;}
45
+ .gmw-dark #cboxBottomRight{width:21px; height:21px; background:url(../images/controls.png) no-repeat -130px -29px;}
46
+ .gmw-dark #cboxMiddleLeft{width:21px; background:url(../images/controls.png) left top repeat-y;}
47
+ .gmw-dark #cboxMiddleRight{width:21px; background:url(../images/controls.png) right top repeat-y;}
48
+ .gmw-dark #cboxTopCenter{height:21px; background:url(../images/border.png) 0 0 repeat-x;}
49
+ .gmw-dark #cboxBottomCenter{height:21px; background:url(../images/border.png) 0 -29px repeat-x;}
50
+ .gmw-dark #cboxContent{background:#fff; overflow:hidden;}
51
+ .gmw-dark .cboxIframe{background:#fff;}
52
+ .gmw-dark #cboxError{padding:50px; border:1px solid #ccc;}
53
+ .gmw-dark #cboxLoadedContent{margin-bottom:28px;}
54
+ .gmw-dark #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
55
+ .gmw-dark #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
56
+ .gmw-dark #cboxLoadingOverlay{background:url(../images/loading_background.png) no-repeat center center;}
57
+ .gmw-dark #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
58
+
59
+ .gmw-dark #cboxPrevious, .gmw-dark #cboxNext, .gmw-dark #cboxSlideshow, .gmw-dark #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
60
+
61
+ .gmw-dark #cboxPrevious:active, .gmw-dark #cboxNext:active, .gmw-dark #cboxSlideshow:active, .gmw-dark #cboxClose:active {outline:0;}
62
+
63
+ .gmw-dark #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
64
+ .gmw-dark #cboxPrevious{position:absolute; bottom:0; left:0; background:url(../images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
65
+ .gmw-dark #cboxPrevious:hover{background-position:-75px -25px;}
66
+ .gmw-dark #cboxNext{position:absolute; bottom:0; left:27px; background:url(../images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
67
+ .gmw-dark #cboxNext:hover{background-position:-50px -25px;}
68
+ .gmw-dark #cboxClose{position:absolute; bottom:0; right:0; background:url(../images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
69
+ .gmw-dark #cboxClose:hover{background-position:-25px -25px;}
70
+
71
+
72
+ /* light */
73
+ #cboxOverlay.gmw-light {background:#fff;}
74
+ #colorbox.gmw-light {outline:0;}
75
+ .gmw-light #cboxContent{margin-top:32px; overflow:visible; background:#000;}
76
+ .gmw-light .cboxIframe{background:#fff;}
77
+ .gmw-light #cboxError{padding:50px; border:1px solid #ccc;}
78
+ .gmw-light #cboxLoadedContent{background:#fff; padding:1px; border:1px solid #777;}
79
+ .gmw-light #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
80
+ .gmw-light #cboxLoadingOverlay{background:#000;}
81
+ .gmw-light #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
82
+ .gmw-light #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
83
+
84
+ .gmw-light #cboxPrevious, .gmw-light #cboxNext, .gmw-light #cboxSlideshow, .gmw-light #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(../images/controls.png) no-repeat 0 0;}
85
+
86
+ .gmw-light #cboxPrevious:active, .gmw-light #cboxNext:active, .gmw-light #cboxSlideshow:active, .gmw-light #cboxClose:active {outline:0;}
87
+
88
+ .gmw-light #cboxPrevious{background-position:0px 0px; right:44px;}
89
+ .gmw-light #cboxPrevious:hover{background-position:0px -25px;}
90
+ .gmw-light #cboxNext{background-position:-25px 0px; right:22px;}
91
+ .gmw-light #cboxNext:hover{background-position:-25px -25px;}
92
+ .gmw-light #cboxClose{background-position:-50px 0px; right:0;}
93
+ .gmw-light #cboxClose:hover{background-position:-50px -25px;}
94
+ .gmw-light .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off .gmw-light #cboxPrevious{right:66px;}
95
+ .gmw-light .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
96
+ .gmw-light .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
97
+ .gmw-light .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0px; right:44px;}
98
+ .gmw-light .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}
99
+
100
+
101
+ /* blue */
102
+ #cboxOverlay.gmw-noimage-blue { background:#80a2ba; }
103
+ .gmw-noimage-blue #cboxTopLeft, .gmw-noimage-blue #cboxTopCenter, .gmw-noimage-blue #cboxTopRight, .gmw-noimage-blue #cboxBottomLeft, .gmw-noimage-blue #cboxBottomCenter, .gmw-noimage-blue #cboxBottomRight, .gmw-noimage-blue #cboxMiddleLeft, .gmw-noimage-blue #cboxMiddleRight {
104
+ background:#0d4270;
105
+ }
106
+ #colorbox.gmw-noimage-blue {
107
+ outline: 1px solid #3175a5;
108
+ -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
109
+ -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
110
+ box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
111
+ }
112
+ .gmw-noimage-blue #cboxTopLeft{width:15px; height:15px; }
113
+ .gmw-noimage-blue #cboxTopCenter{height:15px; }
114
+ .gmw-noimage-blue #cboxTopRight{width:15px; height:15px; }
115
+ .gmw-noimage-blue #cboxBottomLeft{width:15px; height:15px; }
116
+ .gmw-noimage-blue #cboxBottomCenter{height:15px; }
117
+ .gmw-noimage-blue #cboxBottomRight{width:15px; height:15px; }
118
+ .gmw-noimage-blue #cboxMiddleLeft{width:15px; }
119
+ .gmw-noimage-blue #cboxMiddleRight{width:15px; }
120
+
121
+ .gmw-noimage-blue #cboxContent{background:#0d4270; overflow:visible;}
122
+ .gmw-noimage-blue .cboxIframe {background:#fff;}
123
+ .gmw-noimage-blue .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
124
+ .gmw-noimage-blue .cboxPhoto.withLongCaption { margin-bottom:12px; }
125
+ .gmw-noimage-blue span.better-caption { text-align:center; }
126
+ .gmw-noimage-blue #cboxError{padding:50px; border:1px solid #ccc;}
127
+ .gmw-noimage-blue #cboxLoadedContent{margin-bottom:8px; font-style: italic; }
128
+ .gmw-noimage-blue #cboxTitle{
129
+ display:none !important;
130
+ position:absolute; bottom:18px; clear:both; text-align:center; width:100%; color:#999; min-height:16px; overflow:hidden;
131
+ }
132
+ .gmw-noimage-blue .better-caption { display:none !important; }
133
+ .gmw-noimage-blue #cboxCurrent{
134
+ position:absolute; bottom:0px; left:100px; color:#CCCCCC; text-transform:capitalize; display:inline-block; padding-left:1.5em;
135
+ font-size:11px; line-height:20px; left:45%;
136
+ }
137
+ .gmw-noimage-blue #cboxLoadingOverlay{background:#fff url(../images/loading.gif) no-repeat 50% 50%;}
138
+
139
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
140
+ .gmw-noimage-blue #cboxPrevious, .gmw-noimage-blue #cboxNext, .gmw-noimage-blue #cboxSlideshow, .gmw-noimage-blue #cboxClose {
141
+ border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize;
142
+ -webkit-border-radius:5px; border-radius:5px;
143
+ }
144
+
145
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
146
+ .gmw-noimage-blue #cboxPrevious:active, .gmw-noimage-blue #cboxNext:active, .gmw-noimage-blue #cboxSlideshow:active, .gmw-noimage-blue #cboxClose:active {outline:0;}
147
+ button:focus{ outline:1px dotted #000000; }
148
+
149
+ .gmw-noimage-blue #cboxSlideshow{position:absolute; bottom:0px; right:62px; }
150
+ .gmw-noimage-blue #cboxPrevious{position:absolute; bottom:0px; left:0; }
151
+ .gmw-noimage-blue #cboxNext{position:absolute; bottom:0px; left:76px; }
152
+ .gmw-noimage-blue #cboxClose{position:absolute; bottom:0; right:0; display:block; }
153
+
154
+ /* Button Styles */
155
+ .gmw-noimage-blue #cboxPrevious,
156
+ .gmw-noimage-blue #cboxNext,
157
+ .gmw-noimage-blue #cboxSlideshow,
158
+ .gmw-noimage-blue #cboxClose {
159
+ color:#D2D2D2;
160
+ font-size:12px; line-height:12px;
161
+ background-color: #0b2a44;
162
+ border-right: 1px solid #061c2f;
163
+ border-bottom: 1px solid #061c2f;
164
+ padding: 6px 10px;
165
+ transition: all 0.35s ease;
166
+ }
167
+ .gmw-noimage-blue #cboxPrevious:hover,
168
+ .gmw-noimage-blue #cboxNext:hover,
169
+ .gmw-noimage-blue #cboxSlideshow:hover,
170
+ .gmw-noimage-blue #cboxClose:hover {
171
+ background-color: #cccccc; color:#444444;
172
+ }
173
+
174
+
175
+ /*
176
+ IE7 and IE8. This style is not applied to IE9.
177
+ */
178
+ /*.gmw-noimage-blue .cboxIE #colorbox {} */
179
+
180
+
181
+ /* rounded */
182
+ #cboxOverlay.gmw-noimage-rounded {
183
+ background:#fff;
184
+ }
185
+ .gmw-noimage-rounded #cboxTopLeft, .gmw-noimage-rounded #cboxTopCenter, .gmw-noimage-rounded #cboxTopRight, .gmw-noimage-rounded #cboxBottomLeft, .gmw-noimage-rounded #cboxBottomCenter, .gmw-noimage-rounded #cboxBottomRight, .gmw-noimage-rounded #cboxMiddleLeft, .gmw-noimage-rounded #cboxMiddleRight {
186
+ background:#ffffff;
187
+ }
188
+ #colorbox.gmw-noimage-rounded {
189
+ outline: 1px solid #D5D5D5;
190
+ -webkit-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
191
+ -moz-box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
192
+ box-shadow: 0px 0px 25px rgba(50, 50, 50, 0.5);
193
+ -webkit-border-radius: 8px;
194
+ border-radius: 8px;
195
+ }
196
+ .gmw-noimage-rounded #cboxTopLeft{width:15px; height:15px; }
197
+ .gmw-noimage-rounded #cboxTopCenter{height:15px; }
198
+ .gmw-noimage-rounded #cboxTopRight{width:15px; height:15px; }
199
+ .gmw-noimage-rounded #cboxBottomLeft{width:15px; height:15px; }
200
+ .gmw-noimage-rounded #cboxBottomCenter{height:15px; }
201
+ .gmw-noimage-rounded #cboxBottomRight{width:15px; height:15px; }
202
+ .gmw-noimage-rounded #cboxMiddleLeft{width:15px; }
203
+ .gmw-noimage-rounded #cboxMiddleRight{width:15px; }
204
+
205
+ .gmw-noimage-rounded #cboxContent{background:#fff; overflow:visible;}
206
+ .gmw-noimage-rounded .cboxIframe {background:#fff;}
207
+ .gmw-noimage-rounded .cboxPhoto {margin-bottom:28px; margin-top:0 !important;}
208
+ .gmw-noimage-rounded .cboxPhoto.withLongCaption { margin-bottom:12px; }
209
+ .gmw-noimage-rounded span.better-caption { line-height:16px; text-align:left; margin-bottom:6px; display:block; }
210
+ .gmw-noimage-rounded #cboxError{padding:50px; border:1px solid #ccc;}
211
+ .gmw-noimage-rounded #cboxLoadedContent{margin-bottom:24px; font-style: italic; }
212
+ .gmw-noimage-rounded #cboxTitle{ position:absolute; bottom:0px; clear:both; text-align:left; width:100%; color:#999; min-height:16px; overflow:hidden; }
213
+ .gmw-noimage-rounded #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999; text-transform:capitalize; display:inline-block; padding-left:1.5em; }
214
+ .gmw-noimage-rounded #cboxLoadingOverlay{background:#fff url(../images/loading.gif) no-repeat 50% 50%;}
215
+
216
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
217
+ .gmw-noimage-rounded #cboxPrevious, .gmw-noimage-rounded #cboxNext, .gmw-noimage-rounded #cboxSlideshow, .gmw-noimage-rounded #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; text-transform:capitalize; }
218
+
219
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
220
+ .gmw-noimage-rounded #cboxPrevious:active, .gmw-noimage-rounded #cboxNext:active, .gmw-noimage-rounded #cboxSlideshow:active, .gmw-noimage-rounded #cboxClose:active {outline:0;}
221
+ button:focus{ outline:1px dotted #ffffff; }
222
+
223
+ .gmw-noimage-rounded #cboxSlideshow{position:absolute; bottom:0px; right:52px; color:#444;}
224
+ .gmw-noimage-rounded #cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
225
+ .gmw-noimage-rounded #cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
226
+ .gmw-noimage-rounded #cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
227
+
228
+ /* Button Styles */
229
+ .gmw-noimage-rounded #cboxPrevious,
230
+ .gmw-noimage-rounded #cboxNext,
231
+ .gmw-noimage-rounded #cboxSlideshow,
232
+ .gmw-noimage-rounded #cboxClose {
233
+ color: #777777;
234
+ font-size:10px; line-height:12px;
235
+ background-color: #dddddd;
236
+ border-right: 1px solid #ccc;
237
+ border-bottom: 1px solid #ccc;
238
+ padding: 4px 8px;
239
+ }
240
+ .gmw-noimage-rounded #cboxPrevious:hover,
241
+ .gmw-noimage-rounded #cboxNext:hover,
242
+ .gmw-noimage-rounded #cboxSlideshow:hover,
243
+ .gmw-noimage-rounded #cboxClose:hover {
244
+ background-color: #cccccc; color:#444444;
245
+ }
246
+
247
+ /*
248
+ IE7 and IE8. This style is not applied to IE9.
249
+ */
250
  /*.gmw-noimage-rounded .cboxIE #colorbox {} */
gmw-tracking.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Google Maps Widget
4
  * Plugin usage tracking
5
- * (c) Web factory Ltd, 2012 - 2015
6
  */
7
 
8
 
2
  /*
3
  * Google Maps Widget
4
  * Plugin usage tracking
5
+ * (c) Web factory Ltd, 2012 - 2016
6
  */
7
 
8
 
gmw-widget.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Google Maps Widget
4
  * Widget definition, admin GUI and front-end functions
5
- * (c) Web factory Ltd, 2012 - 2015
6
  */
7
 
8
 
@@ -124,10 +124,6 @@ class GoogleMapsWidget extends WP_Widget {
124
  array('val' => 'noimage-rounded', 'label' => __('Rounded', 'google-maps-widget')));
125
  }
126
 
127
- if (date('Y-m-d') < '2015-12-20') {
128
- echo '<a title="Decorate your site for Christmas with Xmas Widget" href="http://xmaswidget.webfactoryltd.com/" target="_blank" style="position: absolute; top: -21px; left: -17px;"><img title="Decorate your site for Christmas with Xmas Widget" alt="Decorate your site for Christmas with Xmas Widget" src="' . plugins_url('/images/santa_cap.png', __FILE__) . '"></a>';
129
- }
130
-
131
  echo '<p><label for="' . $this->get_field_id('title') . '">' . __('Title', 'google-maps-widget') . ':</label><input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" placeholder="' . __('Map title', 'google-maps-widget') . '" type="text" value="' . esc_attr($title) . '" /></p>';
132
  echo '<p><label for="' . $this->get_field_id('address') . '">' . __('Address', 'google-maps-widget') . ':</label><input class="widefat" id="' . $this->get_field_id('address') . '" placeholder="' . __('Address to show', 'google-maps-widget') . '" name="' . $this->get_field_name('address') . '" type="text" value="' . esc_attr($address) . '" required="required" /></p>';
133
 
@@ -254,7 +250,7 @@ class GoogleMapsWidget extends WP_Widget {
254
  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>. Since it\'s free and community powered please be patient. <a href="mailto:wp.support@webfactoryltd.com?subject=GMW%20support">Premium support</a> via email is available to users who have donated.</p>';
255
  if (!GMW::is_activated()) {
256
  echo '<h4>' . __('Activate extra features &amp; options', 'google-maps-widget') . '</h4>';
257
- echo '<p>' . __('If you donate or subscribe to our mailing list we\'ll instantly activate additional features in the plugin! At the moment those features are: shortcode support, 3 additional thumbnail map skins and 2 additional lightbox skins. More extra features will be available soon.', 'google-maps-widget') . '<br><a class="button-secondary open_promo_dialog" href="#">Activate extra features</a>';
258
  }
259
  echo '</p>';
260
  echo '<h4>' . __('Rate the plugin &amp; spread the word', 'google-maps-widget') . '</h4>';
@@ -263,8 +259,8 @@ class GoogleMapsWidget extends WP_Widget {
263
 
264
  echo '</div><p></p>'; // tabs
265
 
266
- if (username_exists('admin') || get_userdata(1)) {
267
- echo '<p>' . __('We have detected at least one <b><span style="color: #d54e21;">security issue</span></b> on this site related to user accounts. Don\'t become a statistic! Protect your site with <a href="http://security-ninja-plugins-bundle.webfactoryltd.com/" target="_blank">Security Ninja</a>.', 'google-maps-widget') . '</p>';
268
  }
269
  } // form
270
 
2
  /*
3
  * Google Maps Widget
4
  * Widget definition, admin GUI and front-end functions
5
+ * (c) Web factory Ltd, 2012 - 2016
6
  */
7
 
8
 
124
  array('val' => 'noimage-rounded', 'label' => __('Rounded', 'google-maps-widget')));
125
  }
126
 
 
 
 
 
127
  echo '<p><label for="' . $this->get_field_id('title') . '">' . __('Title', 'google-maps-widget') . ':</label><input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('title') . '" placeholder="' . __('Map title', 'google-maps-widget') . '" type="text" value="' . esc_attr($title) . '" /></p>';
128
  echo '<p><label for="' . $this->get_field_id('address') . '">' . __('Address', 'google-maps-widget') . ':</label><input class="widefat" id="' . $this->get_field_id('address') . '" placeholder="' . __('Address to show', 'google-maps-widget') . '" name="' . $this->get_field_name('address') . '" type="text" value="' . esc_attr($address) . '" required="required" /></p>';
129
 
250
  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>. Since it\'s free and community powered please be patient. <a href="mailto:wp.support@webfactoryltd.com?subject=GMW%20support">Premium support</a> via email is available to users who have donated.</p>';
251
  if (!GMW::is_activated()) {
252
  echo '<h4>' . __('Activate extra features &amp; options', 'google-maps-widget') . '</h4>';
253
+ echo '<p>' . __('If you donate or subscribe to our mailing list we\'ll instantly activate additional features in the plugin! At the moment those features are: shortcode support, 3 additional thumbnail map skins and 2 additional lightbox skins. More extra features will be available soon.', 'google-maps-widget') . '</p><p><a class="button-secondary open_promo_dialog" href="#">Activate extra features</a></p>';
254
  }
255
  echo '</p>';
256
  echo '<h4>' . __('Rate the plugin &amp; spread the word', 'google-maps-widget') . '</h4>';
259
 
260
  echo '</div><p></p>'; // tabs
261
 
262
+ if (!gmw::is_activated('pro') && (username_exists('admin') || get_userdata(1))) {
263
+ echo '<p>' . __('We have detected at least one <b><span style="color: #d54e21;">security issue</span></b> on this site related to user accounts. Don\'t become a statistic! Protect your site with <a href="http://security-ninja-plugins-bundle.webfactoryltd.com/?ref=gmw" target="_blank">Security Ninja</a>.', 'google-maps-widget') . '</p>';
264
  }
265
  } // form
266
 
google-maps-widget.php CHANGED
@@ -4,12 +4,12 @@ Plugin Name: Google Maps Widget
4
  Plugin URI: http://www.googlemapswidget.com/
5
  Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available on click in a lightbox. Includes shortcode support and numerous options.
6
  Author: Web factory Ltd
7
- Version: 2.90
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: google-maps-widget
10
  Domain Path: lang
11
 
12
- Copyright 2012 - 2015 Web factory Ltd (email : gmw@webfactoryltd.com)
13
 
14
  This program is free software; you can redistribute it and/or modify
15
  it under the terms of the GNU General Public License, version 2, as
@@ -41,7 +41,7 @@ require_once GMW_PLUGIN_DIR . 'gmw-tracking.php';
41
 
42
 
43
  class GMW {
44
- static $version = '2.90';
45
 
46
  // hook everything up
47
  static function init() {
@@ -267,7 +267,7 @@ class GMW {
267
  // todo remove style from HTML
268
  echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget</b> has extra premium features you can get for <b style="color: #d54e21;">FREE</b>. This is a limited time offer so act now!', 'google-maps-widget');
269
 
270
- echo '<br /><a href="' . esc_url($activate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Activate premium features for <b>FREE</b>', 'google-maps-widget') . '</a>';
271
  echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '">' . __('Dismiss notice', 'google-maps-widget') . '</a>';
272
  echo '</p></div>';
273
  } // notice_activate_extra_features
@@ -336,13 +336,17 @@ class GMW {
336
 
337
 
338
  // check if activate-by-subscribing features have been activated
339
- static function is_activated() {
340
  $options = get_option(GMW_OPTIONS);
341
-
342
- if (isset($options['activated']) && $options['activated'] === true) {
343
- return true;
344
  } else {
345
- return false;
 
 
 
 
346
  }
347
  } // is_activated
348
 
@@ -366,14 +370,14 @@ class GMW {
366
  <div class="content">
367
  <h3 class="center boxed-h">' . __('Choose your prefered way of activating extra features:', 'google-maps-widget') . '</h3>';
368
  $out .= '<div class="gmw-left-box gmw-content-box">
369
- <h3>Donate</h3>
370
- <p>what you think is fair</p>
371
  <i class="dashicons dashicons-heart"></i>
372
  <ul>
373
  <li>Premium email support for 1 year</li>
374
  <li>Access to all new extra features</li>
375
  <li>No annoying emails</li>
376
- <li>Instant activation</li>
377
  </ul>
378
  <a href="https://gum.co/gmw-wp" data-noprevent="1" class="gmw_goto_activation button-primary" target="_blank">Donate</a>
379
  </div>';
@@ -385,7 +389,7 @@ class GMW {
385
  <li>Community based support</li>
386
  <li>Access to new extra features</li>
387
  <li>Receive promotional emails</li>
388
- <li>Instant activation</li>
389
  </ul>
390
  <br>
391
  <a href="#" class="gmw_goto_subscribe button-secondary">Subscribe</a>
@@ -406,7 +410,7 @@ class GMW {
406
  </p>';
407
  $out .= '<p class="center">
408
  <a id="gmw_subscribe" href="#" class="button button-primary">Activate extra features</a></p>
409
- <p class="center"><a href="#" class="gmw_goto_activation">I already have an activation code</a></p>
410
  </div>';
411
  $out .= '<div class="footer">
412
  <p><b>Still not sure?</b></p>
@@ -475,7 +479,7 @@ class GMW {
475
  static function activate_via_code() {
476
  $code = trim($_POST['code']);
477
 
478
- if (self::validate_activation_code($code)) {
479
  $options = get_option(GMW_OPTIONS);
480
  $options['activation_code'] = $code;
481
  $options['activated'] = true;
@@ -492,7 +496,7 @@ class GMW {
492
  static function validate_activation_code_format($code) {
493
  // old key format
494
  if (strlen($code) == 6) {
495
- if (($code[0] + $code[5]) != 9 || !ctype_xdigit($code)) {
496
  return false;
497
  }
498
  return true;
@@ -503,7 +507,6 @@ class GMW {
503
  if (preg_match('/^[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}$/i', $code, $matches) != 1) {
504
  return false;
505
  }
506
-
507
  return true;
508
  } // new key format
509
 
@@ -516,7 +519,7 @@ class GMW {
516
  $code = trim($code);
517
 
518
  if (self::validate_activation_code_format($code)) {
519
- return true;
520
  } else {
521
  return false;
522
  }
4
  Plugin URI: http://www.googlemapswidget.com/
5
  Description: Display a single-image super-fast loading Google map in a widget. A larger, full featured map is available on click in a lightbox. Includes shortcode support and numerous options.
6
  Author: Web factory Ltd
7
+ Version: 2.92
8
  Author URI: http://www.webfactoryltd.com/
9
  Text Domain: google-maps-widget
10
  Domain Path: lang
11
 
12
+ Copyright 2012 - 2016 Web factory Ltd (email : gmw@webfactoryltd.com)
13
 
14
  This program is free software; you can redistribute it and/or modify
15
  it under the terms of the GNU General Public License, version 2, as
41
 
42
 
43
  class GMW {
44
+ static $version = '2.92';
45
 
46
  // hook everything up
47
  static function init() {
267
  // todo remove style from HTML
268
  echo '<div id="gmw_activate_notice" class="updated notice"><p>' . __('<b>Google Maps Widget</b> has extra premium features you can get for <b style="color: #d54e21;">FREE</b>. This is a limited time offer so act now!', 'google-maps-widget');
269
 
270
+ echo '<br /><a href="' . esc_url($activate_url) . '" style="vertical-align: baseline; margin-top: 15px;" class="button-primary">' . __('Activate extra features for <b>FREE</b>', 'google-maps-widget') . '</a>';
271
  echo '&nbsp;&nbsp;<a href="' . esc_url($dismiss_url) . '">' . __('Dismiss notice', 'google-maps-widget') . '</a>';
272
  echo '</p></div>';
273
  } // notice_activate_extra_features
336
 
337
 
338
  // check if activate-by-subscribing features have been activated
339
+ static function is_activated($activation_type = '') {
340
  $options = get_option(GMW_OPTIONS);
341
+
342
+ if (!isset($options['activated']) || $options['activated'] !== true) {
343
+ return false;
344
  } else {
345
+ if ($activation_type == 'pro') {
346
+ return strlen($options['activation_code']) === 35;
347
+ } else {
348
+ return true;
349
+ }
350
  }
351
  } // is_activated
352
 
370
  <div class="content">
371
  <h3 class="center boxed-h">' . __('Choose your prefered way of activating extra features:', 'google-maps-widget') . '</h3>';
372
  $out .= '<div class="gmw-left-box gmw-content-box">
373
+ <h3>Support</h3>
374
+ <p>development &amp; help us maintain GMW</p>
375
  <i class="dashicons dashicons-heart"></i>
376
  <ul>
377
  <li>Premium email support for 1 year</li>
378
  <li>Access to all new extra features</li>
379
  <li>No annoying emails</li>
380
+ <li>No ads in the plugin</li>
381
  </ul>
382
  <a href="https://gum.co/gmw-wp" data-noprevent="1" class="gmw_goto_activation button-primary" target="_blank">Donate</a>
383
  </div>';
389
  <li>Community based support</li>
390
  <li>Access to new extra features</li>
391
  <li>Receive promotional emails</li>
392
+ <li>Ads in the plugin</li>
393
  </ul>
394
  <br>
395
  <a href="#" class="gmw_goto_subscribe button-secondary">Subscribe</a>
410
  </p>';
411
  $out .= '<p class="center">
412
  <a id="gmw_subscribe" href="#" class="button button-primary">Activate extra features</a></p>
413
+ <p class="center">Already have an activation code? <a href="#" class="gmw_goto_activation">Enter it here</a></p>
414
  </div>';
415
  $out .= '<div class="footer">
416
  <p><b>Still not sure?</b></p>
479
  static function activate_via_code() {
480
  $code = trim($_POST['code']);
481
 
482
+ if (self::validate_activation_code($code) !== false) {
483
  $options = get_option(GMW_OPTIONS);
484
  $options['activation_code'] = $code;
485
  $options['activated'] = true;
496
  static function validate_activation_code_format($code) {
497
  // old key format
498
  if (strlen($code) == 6) {
499
+ if (($code[0] + $code[5]) != 9 || preg_match('/[0-9a-f]+/i', $code, $matches) != 1) {
500
  return false;
501
  }
502
  return true;
507
  if (preg_match('/^[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}-[a-z0-9]{8}$/i', $code, $matches) != 1) {
508
  return false;
509
  }
 
510
  return true;
511
  } // new key format
512
 
519
  $code = trim($code);
520
 
521
  if (self::validate_activation_code_format($code)) {
522
+ return true;
523
  } else {
524
  return false;
525
  }
js/gmw-admin.js CHANGED
@@ -1,6 +1,6 @@
1
  /*
2
  * Google Maps Widget
3
- * (c) Web factory Ltd, 2012 - 2015
4
  */
5
 
6
 
@@ -244,7 +244,7 @@ jQuery(function($) {
244
  'title': gmw.dialog_title,
245
  'autoOpen': false,
246
  'closeOnEscape': true,
247
- create: function(event, ui) { $(this).siblings().find('span.ui-dialog-title').html(gmw.dialog_title); },
248
  close: function(event, ui) { $('#gmw_promo_dialog').data('widget-id', ''); }
249
  }).dialog('open');
250
 
1
  /*
2
  * Google Maps Widget
3
+ * (c) Web factory Ltd, 2012 - 2016
4
  */
5
 
6
 
244
  'title': gmw.dialog_title,
245
  'autoOpen': false,
246
  'closeOnEscape': true,
247
+ open: function(event, ui) { $(this).siblings().find('span.ui-dialog-title').html(gmw.dialog_title); },
248
  close: function(event, ui) { $('#gmw_promo_dialog').data('widget-id', ''); }
249
  }).dialog('open');
250
 
js/gmw.js CHANGED
@@ -1,39 +1,39 @@
1
- /*
2
- * Google Maps Widget
3
- * (c) Web factory Ltd, 2012 - 2015
4
- */
5
-
6
- jQuery(function($) {
7
- $('a.gmw-thumbnail-map.gmw-lightbox-enabled').click(function(e) {
8
- e.preventDefault();
9
-
10
- dialog = $($(this).attr('href'));
11
- map_width = dialog.attr('data-map-width');
12
- map_height = dialog.attr('data-map-height');
13
- map_url = dialog.attr('data-map-iframe-url');
14
- map_title = dialog.attr('title');
15
- map_skin = dialog.attr('data-map-skin');
16
-
17
- // adjust map size if screen is too small
18
- screen_width = $(window).width() - 50;
19
- if (screen_width < map_width) {
20
- map_width = screen_width;
21
- map_height *= screen_width / map_width;
22
- }
23
- screen_height = $(window).height() - 50;
24
- if (screen_height < map_height) {
25
- map_height = screen_height;
26
- map_width *= screen_height / map_height;
27
- }
28
-
29
- content = $(dialog.html());
30
- content.filter('.gmw-map').html('<iframe width="' + map_width + 'px" height="' + map_height + 'px" src="' + map_url + '"></iframe>');
31
-
32
- $.colorbox({ html: content,
33
- title: map_title,
34
- className: 'gmw-' + map_skin,
35
- closeButton: false });
36
-
37
- return false;
38
- });
39
  }); // onload
1
+ /*
2
+ * Google Maps Widget
3
+ * (c) Web factory Ltd, 2012 - 2016
4
+ */
5
+
6
+ jQuery(function($) {
7
+ $('a.gmw-thumbnail-map.gmw-lightbox-enabled').click(function(e) {
8
+ e.preventDefault();
9
+
10
+ dialog = $($(this).attr('href'));
11
+ map_width = dialog.attr('data-map-width');
12
+ map_height = dialog.attr('data-map-height');
13
+ map_url = dialog.attr('data-map-iframe-url');
14
+ map_title = dialog.attr('title');
15
+ map_skin = dialog.attr('data-map-skin');
16
+
17
+ // adjust map size if screen is too small
18
+ screen_width = $(window).width() - 50;
19
+ if (screen_width < map_width) {
20
+ map_width = screen_width;
21
+ map_height *= screen_width / map_width;
22
+ }
23
+ screen_height = $(window).height() - 50;
24
+ if (screen_height < map_height) {
25
+ map_height = screen_height;
26
+ map_width *= screen_height / map_height;
27
+ }
28
+
29
+ content = $(dialog.html());
30
+ content.filter('.gmw-map').html('<iframe width="' + map_width + 'px" height="' + map_height + 'px" src="' + map_url + '"></iframe>');
31
+
32
+ $.colorbox({ html: content,
33
+ title: map_title,
34
+ className: 'gmw-' + map_skin,
35
+ closeButton: false });
36
+
37
+ return false;
38
+ });
39
  }); // onload
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.3
8
  Tested up to: 4.4
9
- Stable tag: 2.90
10
 
11
  Displays a single-image super-fast loading Google map in a widget. A larger map with all the usual features is available on click in a lightbox.
12
 
@@ -121,6 +121,11 @@ If you can't figure it out open a thread in the support forums.
121
  6. Widget options - info & support
122
 
123
  == Changelog ==
 
 
 
 
 
124
  = 2.90 =
125
  * 2015/12/14
126
  * added option for donating
6
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
7
  Requires at least: 3.3
8
  Tested up to: 4.4
9
+ Stable tag: 2.92
10
 
11
  Displays a single-image super-fast loading Google map in a widget. A larger map with all the usual features is available on click in a lightbox.
12
 
121
  6. Widget options - info & support
122
 
123
  == Changelog ==
124
+ = 2.92 =
125
+ * 2016/01/14
126
+ * we crossed 100 thousand active installations ;)
127
+ * minor bug fixes
128
+
129
  = 2.90 =
130
  * 2015/12/14
131
  * added option for donating