Premium Addons for Elementor - Version 1.05

Version Description

Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 1.05
Comparing to
See all releases

Code changes from version 1.04 to 1.05

admin/assets/admin.css CHANGED
@@ -1,19 +1,22 @@
1
  .pa-header-wrapper {
2
- background: #eee;
3
  padding: 20px;
4
- border: 1px solid #ccc;
5
- margin-bottom: 40px;
6
  overflow: hidden;
7
  }
8
  .pa-title-left {
 
9
  float: left;
10
  }
11
- h1.pa-title {
12
  padding: 0;
13
- font-weight: bold;
14
- font-size: 32px;
15
  margin-top: 5px;
16
  }
 
 
 
 
 
17
  .pa-title-right{
18
  float: right;
19
  }
@@ -21,45 +24,132 @@ h1.pa-title {
21
  border: none;
22
  color: #fff;
23
  text-align: center;
24
- padding: 10px 20px;
25
  max-width: 250px;
26
  height: auto;
27
  margin-bottom: 15px;
28
- font-size: 15px;
29
  display: block;
30
  font-weight: bold;
31
- text-transform: uppercase;
32
  box-shadow: none;
33
- -webkit-transition: all 0.3s ease-in-out;
34
- transition: all 0.3s ease-in-out;
35
  }
36
  .pa-btn.pa-save-button {
37
  background-color: #1A7FC2;
38
  margin-bottom: 0;
 
 
39
  }
40
- .pa-settings > h1 {
41
- text-align: center;
42
- font-size: 35px;
43
- font-weight: 600;
44
- color: #0073aa;
45
  }
46
- /*ELements Settings Tab*/
47
- .pa-elements-notice {
48
- text-align: center;
49
- padding: 0.8em;
50
- font-size: 1.4em;
51
- font-weight: bold;
52
  color: #fff;
53
- border: 1px solid #ddd;
54
- background-color: #0073aa;
55
  }
56
- .pa-element-name {
57
- font-size: 14px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  font-weight: bold;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
  .pa-elements-table td {
61
- width: 21%;
62
- margin-right: 50px;
 
 
63
  }
64
  .pa-elements-table .pa-element-desc {
65
  font-weight: 300;
@@ -70,7 +160,7 @@ h1.pa-title {
70
  .switch {
71
  position: relative;
72
  display: inline-block;
73
- width: 60px;
74
  height: 33px;
75
  }
76
  /* Hide default HTML checkbox */
@@ -86,7 +176,8 @@ h1.pa-title {
86
  left: 0;
87
  right: 0;
88
  bottom: 0;
89
- background-color: #ccc;
 
90
  -webkit-transition: .4s;
91
  transition: .4s;
92
  }
@@ -94,37 +185,54 @@ h1.pa-title {
94
  .slider:before {
95
  position: absolute;
96
  content: "";
97
- height: 23px;
98
- width: 23px;
99
- left: 6px;
100
- bottom: 5.5px;
101
- box-shadow: 0 0 0 5px #70C1B3 inset;
102
- background-color: white;
103
  -webkit-transition: .4s;
104
  transition: .4s;
 
 
 
 
 
105
  }
106
 
107
  input:checked + .slider {
108
- background-color: #0073aa;
 
 
109
  }
110
 
111
  input:focus + .slider {
112
- box-shadow: 0 0 10px #0073aa;
113
  }
114
 
115
  input:checked + .slider:before {
116
- -webkit-transform: translateX(25px);
117
- -ms-transform: translateX(25px);
118
- transform: translateX(25px);
 
 
119
  }
120
 
121
  /* Rounded sliders */
122
  .slider.round {
123
- border-radius: 34px;
 
124
  }
125
  .slider.round:before {
126
  border-radius: 50%;
127
  }
128
- #elements .pa-btn {
129
- margin-top: 20px;
 
 
 
 
 
 
 
130
  }
1
  .pa-header-wrapper {
 
2
  padding: 20px;
 
 
3
  overflow: hidden;
4
  }
5
  .pa-title-left {
6
+ width: 80%;
7
  float: left;
8
  }
9
+ h1.pa-title-main {
10
  padding: 0;
11
+ line-height: 1.3em;
12
+ font-size: 42px;
13
  margin-top: 5px;
14
  }
15
+ .pa-title-sub {
16
+ color:#777;
17
+ font-weight: normal;
18
+ margin-left: 3px;
19
+ }
20
  .pa-title-right{
21
  float: right;
22
  }
24
  border: none;
25
  color: #fff;
26
  text-align: center;
27
+ padding: 3px;
28
  max-width: 250px;
29
  height: auto;
30
  margin-bottom: 15px;
 
31
  display: block;
32
  font-weight: bold;
 
33
  box-shadow: none;
 
 
34
  }
35
  .pa-btn.pa-save-button {
36
  background-color: #1A7FC2;
37
  margin-bottom: 0;
38
+ margin-top: 30px;
39
+ padding: 3px 10px;
40
  }
41
+ .pa-btn.pa-save-button:hover {
42
+ background: #0e629a;
43
+ color: #fff;
 
 
44
  }
45
+
46
+ .pa-btn.pa-save-button:focus {
47
+ background: #0e629a;
 
 
 
48
  color: #fff;
 
 
49
  }
50
+
51
+ .pa-settings-tabs-list {
52
+ margin: 0;
53
+ border-bottom: 1px solid #ccc;
54
+ }
55
+ /*About Settings Tab*/
56
+ .pa-settings-tabs-list li {
57
+ display: inline-block;
58
+ margin-bottom: 4px;
59
+ margin-left: 0.5em;
60
+ }
61
+ .pa-tab-list-item {
62
+ background: #e5e5e5;
63
+ padding: 9px 15px;
64
+ line-height: 30px;
65
+ font-size: 18px;
66
  font-weight: bold;
67
+ color: #444;
68
+ text-decoration: none;
69
+ border: 1px solid #ccc;
70
+ border-bottom: none;
71
+ }
72
+ .pa-tab-list-item:focus {
73
+ box-shadow: none;
74
+ }
75
+ li.ui-state-default:not(.ui-state-active):hover a {
76
+ background: #fff;
77
+ color: #444;
78
+ }
79
+ li.ui-state-active a{
80
+ outline: none;
81
+ color: black;
82
+ background: transparent;
83
+ box-shadow: none;
84
+ border-bottom: 1px solid #f1f1f1;
85
+ }
86
+ .pa-row {
87
+ width: 100%;
88
+ overflow: hidden;
89
+ }
90
+ .pa-settings-tabs {
91
+ padding: 15px 25px;
92
+ }
93
+ #pa-about {
94
+ margin-top: 50px;
95
+ }
96
+ .pa-col-half {
97
+ width: 40%;
98
+ height: auto;
99
+ float: left;
100
+ }
101
+ .pa-about-panel {
102
+ width: 100%;
103
+ display: inline-block;
104
+ margin-bottom: 20px;
105
+ }
106
+ .pa-icon-container {
107
+ float: left;
108
+ display: inline-block;
109
+ width: 45px;
110
+ }
111
+ .pa-icon-container i {
112
+ font-size: 25px;
113
+ }
114
+ .pa-text-container {
115
+ display: inline-block;
116
+ width: 80%;
117
+ }
118
+ .pa-text-container h4 {
119
+ margin: 0;
120
+ font-weight: normal;
121
+ font-size: 18px;
122
+ }
123
+ .pa-text-container p {
124
+ line-height: 22px;
125
+ color: #444;
126
+ font-size: 13px;
127
+ margin: 1em 0;
128
+ }
129
+ /*ELements Settings Tab*/
130
+ .pa-elements-table {
131
+ border-collapse: collapse;
132
+ margin-top: 0.5em;
133
+ margin-left: 5px;
134
+ width: 80%;
135
+ clear: both;
136
+ }
137
+ .pa-elements-table th {
138
+ vertical-align: top;
139
+ text-align: left;
140
+ padding: 20px 10px 20px 0;
141
+ width: 200px;
142
+ line-height: 1.3;
143
+ font-weight: 600;
144
+ }
145
+ .pa-elements-table tr {
146
+ border-bottom: 1px solid #ddd;
147
  }
148
  .pa-elements-table td {
149
+ margin-bottom: 9px;
150
+ padding: 15px 10px;
151
+ line-height: 1.3;
152
+ vertical-align: middle;
153
  }
154
  .pa-elements-table .pa-element-desc {
155
  font-weight: 300;
160
  .switch {
161
  position: relative;
162
  display: inline-block;
163
+ width: 70px;
164
  height: 33px;
165
  }
166
  /* Hide default HTML checkbox */
176
  left: 0;
177
  right: 0;
178
  bottom: 0;
179
+ background-color: rgb(242,242,242);
180
+ box-shadow: 0 0 2px 1px #ccc inset;
181
  -webkit-transition: .4s;
182
  transition: .4s;
183
  }
185
  .slider:before {
186
  position: absolute;
187
  content: "";
188
+ height: 27.5px;
189
+ width: 27.5px;
190
+ left: 0px;
191
+ bottom: 1.1px;
192
+ background: radial-gradient(farthest-corner at 14px 0px,
193
+ rgb(240,240,240) 50%, rgb(202,202,202) 100%) ;
194
  -webkit-transition: .4s;
195
  transition: .4s;
196
+ padding: 0;
197
+ margin: 0;
198
+ border: 1px solid rgb(198,198,198);
199
+ box-shadow: 0px 2.5px 5px rgb(184,184,185);
200
+
201
  }
202
 
203
  input:checked + .slider {
204
+ background-color: rgb(24,164,253);
205
+ box-shadow: 0 0 2px 1px rgb(20,154,253) inset;
206
+ border: 1px solid rgb(20,154,253);
207
  }
208
 
209
  input:focus + .slider {
210
+ box-shadow: 0 0 1px rgb(24,164,253);
211
  }
212
 
213
  input:checked + .slider:before {
214
+ box-shadow: 0px 2.5px 5px #0d6fbd;
215
+ border: 1px solid #0d6fbd;
216
+ -webkit-transform: translateX(40px);
217
+ -ms-transform: translateX(40px);
218
+ transform: translateX(40px);
219
  }
220
 
221
  /* Rounded sliders */
222
  .slider.round {
223
+ border: 1px solid rgb(184,184,185);
224
+ border-radius: 34px;
225
  }
226
  .slider.round:before {
227
  border-radius: 50%;
228
  }
229
+ .pa-api-title {
230
+ display: inline-block;
231
+ }
232
+ .pa-api-title input {
233
+ margin-top: 10px;
234
+ font-size: normal;
235
+ font-weight: normal;
236
+ width: 400px;
237
+ margin-left: 30px;
238
  }
admin/assets/admin.js CHANGED
@@ -10,11 +10,14 @@
10
  $("html , body").scrollTop(tabHref);
11
  });
12
 
13
-
14
- $(".pa-elements-table input[type='checkbox']").on("click", function(){
15
- $(".pa-save-button").addClass("pa-save-now");
 
 
 
16
  });
17
-
18
 
19
  $( 'form#pa-settings' ).on( 'submit', function(e) {
20
  e.preventDefault();
10
  $("html , body").scrollTop(tabHref);
11
  });
12
 
13
+ $(".pa-checkbox").on("click", function(){
14
+ if($(this).prop("checked") == true) {
15
+ $(".pa-elements-table input").prop("checked", 1);
16
+ }else if($(this).prop("checked") == false){
17
+ $(".pa-elements-table input").prop("checked", 0);
18
+ }
19
  });
20
+
21
 
22
  $( 'form#pa-settings' ).on( 'submit', function(e) {
23
  e.preventDefault();
admin/images/premium-addons-logo.png ADDED
Binary file
admin/settings-page.php CHANGED
@@ -2,9 +2,10 @@
2
 
3
  if( ! defined( 'ABSPATH' ) ) exit(); // Exit if accessed directly
4
 
 
5
  class PA_admin_settings {
6
 
7
- public $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox'];
8
 
9
  private $pa_default_settings;
10
 
@@ -38,191 +39,252 @@ class PA_admin_settings {
38
  'ajaxurl' => admin_url( 'admin-ajax.php' )
39
  );
40
  wp_localize_script( 'pa-addons-elementor-admin-js', 'settings', $js_info );
41
-
42
  $this->pa_default_settings = array_fill_keys( $this->pa_elements_keys, true );
 
43
  $this->pa_get_settings = get_option( 'pa_save_settings', $this->pa_default_settings );
 
44
  $pa_new_settings = array_diff_key( $this->pa_default_settings, $this->pa_get_settings );
 
45
  if( ! empty( $pa_new_settings ) ) {
46
  $pa_updated_settings = array_merge( $this->pa_get_settings, $pa_new_settings );
47
  update_option( 'pa_save_settings', $pa_updated_settings );
48
  }
49
  $this->pa_get_settings = get_option( 'pa_save_settings', $this->pa_default_settings );
 
 
50
  ?>
51
  <div class="wrap">
52
  <div class="response-wrap"></div>
53
  <form action="" method="POST" id="pa-settings" name="pa-settings">
54
  <div class="pa-header-wrapper">
55
  <div class="pa-title-left">
56
- <h1 class="pa-title"><?php echo esc_html__('Premium Addons for Elementor', 'premium_elementor'); ?></h1>
 
57
  </div>
58
  <div class="pa-title-right">
59
- <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
 
60
  </div>
61
  </div>
62
- <div class="pa-settings">
63
- <h1>PREMIUM ADDONS ELEMENTS</h1>
64
- <div id="elements" class="pa-settings-tab">
65
- <p class="pa-elements-notice">Choosing only the elements which you need will improve your site loading speed</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  <div class="pa-row">
67
- <table class="pa-elements-table">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  <tr>
 
69
  <td>
70
- <div class="pa-element-wrapper">
71
- <label class="switch">
72
- <input type="checkbox" id="premium-banner" name="premium-banner" <?php checked(1, $this->pa_get_settings['premium-banner'], true) ?>>
73
- <span class="slider round"></span>
74
- </label>
75
- <p class="pa-element-name"><?php echo esc_html__('Premium Banner', 'premium_elementor'); ?></p>
76
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Banner', 'premium_elementor');?></p>
77
- </div>
78
  </td>
 
79
  <td>
80
- <div class="pa-element-wrapper">
81
- <label class="switch">
82
  <input type="checkbox" id="premium-blog" name="premium-blog" <?php checked(1, $this->pa_get_settings['premium-blog'], true) ?>>
83
  <span class="slider round"></span>
84
  </label>
85
- <p class="pa-element-name"><?php echo esc_html__('Premium Blog', 'premium_elementor'); ?></p>
86
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Blog', 'premium_elementor');?></p>
87
- </div>
88
  </td>
 
 
 
 
 
89
  <td>
90
- <div class="pa-element-wrapper">
91
- <label class="switch">
92
  <input type="checkbox" id="premium-carousel" name="premium-carousel" <?php checked(1, $this->pa_get_settings['premium-carousel'], true) ?>>
93
  <span class="slider round"></span>
94
  </label>
95
- <p class="pa-element-name"><?php echo esc_html__('Premium Carousel', 'premium_elementor'); ?></p>
96
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Carousel', 'premium_elementor');?></p>
97
- </div>
98
  </td>
 
99
  <td>
100
- <div class="pa-element-wrapper">
101
- <label class="switch">
102
  <input type="checkbox" id="premium-countdown" name="premium-countdown" <?php checked(1, $this->pa_get_settings['premium-countdown'], true) ?>>
103
  <span class="slider round"></span>
104
  </label>
105
- <p class="pa-element-name"><?php echo esc_html__('Premium Countdown', 'premium_elementor'); ?></p>
106
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Countdown', 'premium_elementor');?></p>
107
- </div>
108
  </td>
 
 
 
 
109
  <td>
110
- <div class="pa-element-wrapper">
111
- <label class="switch">
112
  <input type="checkbox" id="premium-counter" name="premium-counter" <?php checked(1, $this->pa_get_settings['premium-counter'], true) ?>>
113
  <span class="slider round"></span>
114
  </label>
115
- <p class="pa-element-name"><?php echo esc_html__('Premium Counter', 'premium_elementor'); ?></p>
116
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Counter', 'premium_elementor');?></p>
117
- </div>
118
  </td>
119
- </tr>
120
- <tr>
121
  <td>
122
- <div class="pa-element-wrapper">
123
- <label class="switch">
124
  <input type="checkbox" id="premium-dual-header" name="premium-dual-header" <?php checked(1, $this->pa_get_settings['premium-dual-header'], true) ?>>
125
  <span class="slider round"></span>
126
  </label>
127
- <p class="pa-element-name"><?php echo esc_html__('Premium Dual Header', 'premium_elementor'); ?></p>
128
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Dual Header', 'premium_elementor');?></p>
129
- </div>
130
  </td>
 
 
 
 
 
131
  <td>
132
- <div class="pa-element-wrapper">
133
- <label class="switch">
134
  <input type="checkbox" id="premium-fancytext" name="premium-fancytext" <?php checked(1, $this->pa_get_settings['premium-fancytext'], true) ?>>
135
  <span class="slider round"></span>
136
  </label>
137
- <p class="pa-element-name"><?php echo esc_html__('Premium Fancy Text', 'premium_elementor'); ?></p>
138
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Fancy Text', 'premium_elementor');?></p>
139
- </div>
140
  </td>
 
141
  <td>
142
- <div class="pa-element-wrapper">
143
- <label class="switch">
144
  <input type="checkbox" id="premium-image-separator" name="premium-image-separator" <?php checked(1, $this->pa_get_settings['premium-image-separator'], true) ?>>
145
  <span class="slider round"></span>
146
  </label>
147
- <p class="pa-element-name"><?php echo esc_html__('Premium Image Separator', 'premium_elementor'); ?></p>
148
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Image Separator', 'premium_elementor');?></p>
149
- </div>
150
  </td>
 
 
 
 
 
 
151
  <td>
152
- <div class="pa-element-wrapper">
153
- <label class="switch">
154
  <input type="checkbox" id="premium-maps" name="premium-maps" <?php checked(1, $this->pa_get_settings['premium-maps'], true) ?>>
155
  <span class="slider round"></span>
156
  </label>
157
- <p class="pa-element-name"><?php echo esc_html__('Premium Maps', 'premium_elementor'); ?></p>
158
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Maps', 'premium_elementor');?></p>
159
- </div>
160
  </td>
 
161
  <td>
162
- <div class="pa-element-wrapper">
163
- <label class="switch">
164
  <input type="checkbox" id="premium-modalbox" name="premium-modalbox" <?php checked(1, $this->pa_get_settings['premium-modalbox'], true) ?>>
165
  <span class="slider round"></span>
166
  </label>
167
- <p class="pa-element-name"><?php echo esc_html__('Premium Modal Box', 'premium_elementor'); ?></p>
168
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Modal Box', 'premium_elementor');?></p>
169
- </div>
170
  </td>
171
  </tr>
 
172
  <tr>
 
 
173
  <td>
174
- <div class="pa-element-wrapper">
175
- <label class="switch">
176
  <input type="checkbox" id="premium-person" name="premium-person" <?php checked(1, $this->pa_get_settings['premium-person'], true) ?>>
177
  <span class="slider round"></span>
178
  </label>
179
- <p class="pa-element-name"><?php echo esc_html__('Premium Person', 'premium_elementor'); ?></p>
180
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Person', 'premium_elementor');?></p>
181
- </div>
182
  </td>
 
183
  <td>
184
- <div class="pa-element-wrapper">
185
- <label class="switch">
186
  <input type="checkbox" id="premium-progressbar" name="premium-progressbar" <?php checked(1, $this->pa_get_settings['premium-progressbar'], true) ?>>
187
  <span class="slider round"></span>
188
  </label>
189
- <p class="pa-element-name"><?php echo esc_html__('Premium Progress Bar', 'premium_elementor'); ?></p>
190
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Progress Bar', 'premium_elementor');?></p>
191
- </div>
192
  </td>
 
 
 
 
 
193
  <td>
194
- <div class="pa-element-wrapper">
195
- <label class="switch">
196
  <input type="checkbox" id="premium-testimonials" name="premium-testimonials" <?php checked(1, $this->pa_get_settings['premium-testimonials'], true) ?>>
197
  <span class="slider round"></span>
198
  </label>
199
- <p class="pa-element-name"><?php echo esc_html__('Premium Testimonials', 'premium_elementor'); ?></p>
200
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Testimonials', 'premium_elementor');?></p>
201
- </div>
202
  </td>
 
203
  <td>
204
- <div class="pa-element-wrapper">
205
- <label class="switch">
206
  <input type="checkbox" id="premium-title" name="premium-title" <?php checked(1, $this->pa_get_settings['premium-title'], true) ?>>
207
  <span class="slider round"></span>
208
  </label>
209
- <p class="pa-element-name"><?php echo esc_html__('Premium Title', 'premium_elementor'); ?></p>
210
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Title', 'premium_elementor');?></p>
211
- </div>
212
  </td>
 
 
 
 
213
  <td>
214
- <div class="pa-element-wrapper">
215
- <label class="switch">
216
  <input type="checkbox" id="premium-videobox" name="premium-videobox" <?php checked(1, $this->pa_get_settings['premium-videobox'], true) ?>>
217
  <span class="slider round"></span>
218
  </label>
219
- <p class="pa-element-name"><?php echo esc_html__('Premium Video Box', 'premium_elementor'); ?></p>
220
- <p class="pa-element-desc"><?php echo esc_html__('Enable/Disable Premium Video Box', 'premium_elementor');?></p>
221
- </div>
222
  </td>
223
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  </table>
225
- <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
 
 
 
 
 
226
  </div>
227
  </div>
228
  </div>
@@ -255,9 +317,11 @@ class PA_admin_settings {
255
  'premium-testimonials' => intval( $settings['premium-testimonials'] ? 1 : 0 ),
256
  'premium-title' => intval( $settings['premium-title'] ? 1 : 0 ),
257
  'premium-videobox' => intval( $settings['premium-videobox'] ? 1 : 0 ),
 
258
  'wisdom_registered_setting' => 1,
259
  );
260
  update_option( 'pa_save_settings', $this->pa_settings );
 
261
  return true;
262
  die();
263
 
2
 
3
  if( ! defined( 'ABSPATH' ) ) exit(); // Exit if accessed directly
4
 
5
+
6
  class PA_admin_settings {
7
 
8
+ public $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox','premium-map-api'];
9
 
10
  private $pa_default_settings;
11
 
39
  'ajaxurl' => admin_url( 'admin-ajax.php' )
40
  );
41
  wp_localize_script( 'pa-addons-elementor-admin-js', 'settings', $js_info );
42
+
43
  $this->pa_default_settings = array_fill_keys( $this->pa_elements_keys, true );
44
+
45
  $this->pa_get_settings = get_option( 'pa_save_settings', $this->pa_default_settings );
46
+
47
  $pa_new_settings = array_diff_key( $this->pa_default_settings, $this->pa_get_settings );
48
+
49
  if( ! empty( $pa_new_settings ) ) {
50
  $pa_updated_settings = array_merge( $this->pa_get_settings, $pa_new_settings );
51
  update_option( 'pa_save_settings', $pa_updated_settings );
52
  }
53
  $this->pa_get_settings = get_option( 'pa_save_settings', $this->pa_default_settings );
54
+
55
+
56
  ?>
57
  <div class="wrap">
58
  <div class="response-wrap"></div>
59
  <form action="" method="POST" id="pa-settings" name="pa-settings">
60
  <div class="pa-header-wrapper">
61
  <div class="pa-title-left">
62
+ <h1 class="pa-title-main"><?php echo esc_html__('Premium Addons for Elementor', 'premium_elementor'); ?></h1>
63
+ <h3 class="pa-title-sub"><?php echo esc_html__('Thank you for using Premium Addons for Elementor. This plugin has been developed by Leap13 and we hope you enjoy using it.', 'premium_elementor'); ?></h3>
64
  </div>
65
  <div class="pa-title-right">
66
+
67
+ <img class="pa-logo" src="<?php echo plugins_url('/',__FILE__) . 'images/premium-addons-logo.png';?>">
68
  </div>
69
  </div>
70
+ <div class="pa-settings-tabs">
71
+ <ul class="pa-settings-tabs-list">
72
+ <li><a class="pa-tab-list-item" href="#pa-about">About</a></li>
73
+ <li><a class="pa-tab-list-item" href="#pa-modules">Elements</a></li>
74
+ <li><a class="pa-tab-list-item" href="#pa-system">System Info</a></li>
75
+ </ul>
76
+ <div id="pa-about" class="pa-settings-tab">
77
+ <div class="pa-row">
78
+ <div class="pa-col-half">
79
+ <div class="pa-about-panel">
80
+ <div class="pa-icon-container">
81
+ <i class="dashicons dashicons-info abt-icon-style"></i>
82
+ </div>
83
+ <div class="pa-text-container">
84
+ <h4>What is Premium Addons?</h4>
85
+ <p>Premium Addons for Elementor that extends Elementor Page Builder capabilities with 15 fully customizable elements that helps you build impressive websites with no coding required.</p>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <div class="pa-col-half">
90
+ <div class="pa-about-panel">
91
+ <div class="pa-icon-container">
92
+ <i class="dashicons dashicons-universal-access-alt abt-icon-style"></i>
93
+ </div>
94
+ <div class="pa-text-container">
95
+ <h4>Documentation & FAQ</h4>
96
+ <p>It’s highly recommended to check out documentation and FAQ before using this plugin. <a target="_blanl" href="http://premiumaddons.com/premium-addons-for-elementor-plugin-documentation/">Click Here </a> for more details.</p>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
  <div class="pa-row">
102
+ <div class="pa-col-half">
103
+ <div class="pa-about-panel">
104
+ <div class="pa-icon-container">
105
+ <i class="dashicons dashicons-share abt-icon-style"></i>
106
+ </div>
107
+ <div class="pa-text-container">
108
+ <h4>Need More Help?</h4>
109
+ <p>Feel free to join us in our <a target="_blank" href="https://www.facebook.com/groups/2042193629353325/">Facebook Group</a> and our <a target="_blank" href="http://www.leap13.com/forums/forum/premium-addons-for-elementor-plugin-community-support/">Community Forums</a> if you need more help using the plugin.</p>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ <div class="pa-col-half">
114
+ <div class="pa-about-panel">
115
+ <div class="pa-icon-container">
116
+ <i class="dashicons dashicons-download abt-icon-style"></i>
117
+ </div>
118
+ <div class="pa-text-container">
119
+ <h4>Keep Updated</h4>
120
+ <p>Join our Newsletter to get more info about our products updates. <a target="_blank" href="http://premiumaddons.com/premium-addons-elementor-newsletter/">Click Here</a> to Join Now.</p>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ <div id="pa-modules" class="pa-settings-tab">
127
+ <div>
128
+ <br>
129
+ <input type="checkbox" class="pa-checkbox" checked="checked">
130
+ <label>Enable/Disable All</label>
131
+ </div>
132
+ <table class="pa-elements-table">
133
+ <tbody>
134
  <tr>
135
+ <th><?php echo esc_html__('Premium Banner', 'premium_elementor'); ?></th>
136
  <td>
137
+ <label class="switch">
138
+ <input type="checkbox" id="premium-banner" name="premium-banner" <?php checked(1, $this->pa_get_settings['premium-banner'], true) ?>>
139
+ <span class="slider round"></span>
140
+ </label>
 
 
 
 
141
  </td>
142
+ <th><?php echo esc_html__('Premium Blog', 'premium_elementor'); ?></th>
143
  <td>
144
+ <label class="switch">
 
145
  <input type="checkbox" id="premium-blog" name="premium-blog" <?php checked(1, $this->pa_get_settings['premium-blog'], true) ?>>
146
  <span class="slider round"></span>
147
  </label>
 
 
 
148
  </td>
149
+ </tr>
150
+
151
+
152
+ <tr>
153
+ <th><?php echo esc_html__('Premium Carousel', 'premium_elementor'); ?></th>
154
  <td>
155
+ <label class="switch">
 
156
  <input type="checkbox" id="premium-carousel" name="premium-carousel" <?php checked(1, $this->pa_get_settings['premium-carousel'], true) ?>>
157
  <span class="slider round"></span>
158
  </label>
 
 
 
159
  </td>
160
+ <th><?php echo esc_html__('Premium Countdown', 'premium_elementor'); ?></th>
161
  <td>
162
+ <label class="switch">
 
163
  <input type="checkbox" id="premium-countdown" name="premium-countdown" <?php checked(1, $this->pa_get_settings['premium-countdown'], true) ?>>
164
  <span class="slider round"></span>
165
  </label>
 
 
 
166
  </td>
167
+ </tr>
168
+
169
+ <tr>
170
+ <th><?php echo esc_html__('Premium Counter', 'premium_elementor'); ?></th>
171
  <td>
172
+ <label class="switch">
 
173
  <input type="checkbox" id="premium-counter" name="premium-counter" <?php checked(1, $this->pa_get_settings['premium-counter'], true) ?>>
174
  <span class="slider round"></span>
175
  </label>
 
 
 
176
  </td>
177
+ <th><?php echo esc_html__('Premium Dual Header', 'premium_elementor'); ?></th>
 
178
  <td>
179
+ <label class="switch">
 
180
  <input type="checkbox" id="premium-dual-header" name="premium-dual-header" <?php checked(1, $this->pa_get_settings['premium-dual-header'], true) ?>>
181
  <span class="slider round"></span>
182
  </label>
 
 
 
183
  </td>
184
+ </tr>
185
+
186
+
187
+ <tr>
188
+ <th><?php echo esc_html__('Premium Fancy Text', 'premium_elementor'); ?></th>
189
  <td>
190
+ <label class="switch">
 
191
  <input type="checkbox" id="premium-fancytext" name="premium-fancytext" <?php checked(1, $this->pa_get_settings['premium-fancytext'], true) ?>>
192
  <span class="slider round"></span>
193
  </label>
 
 
 
194
  </td>
195
+ <th><?php echo esc_html__('Premium Image Separator', 'premium_elementor'); ?></th>
196
  <td>
197
+ <label class="switch">
 
198
  <input type="checkbox" id="premium-image-separator" name="premium-image-separator" <?php checked(1, $this->pa_get_settings['premium-image-separator'], true) ?>>
199
  <span class="slider round"></span>
200
  </label>
 
 
 
201
  </td>
202
+ </tr>
203
+
204
+
205
+ <tr>
206
+
207
+ <th><?php echo esc_html__('Premium Maps', 'premium_elementor'); ?></th>
208
  <td>
209
+ <label class="switch">
 
210
  <input type="checkbox" id="premium-maps" name="premium-maps" <?php checked(1, $this->pa_get_settings['premium-maps'], true) ?>>
211
  <span class="slider round"></span>
212
  </label>
 
 
 
213
  </td>
214
+ <th><?php echo esc_html__('Premium Modal Box', 'premium_elementor'); ?></th>
215
  <td>
216
+ <label class="switch">
 
217
  <input type="checkbox" id="premium-modalbox" name="premium-modalbox" <?php checked(1, $this->pa_get_settings['premium-modalbox'], true) ?>>
218
  <span class="slider round"></span>
219
  </label>
 
 
 
220
  </td>
221
  </tr>
222
+
223
  <tr>
224
+
225
+ <th><?php echo esc_html__('Premium Person', 'premium_elementor'); ?></th>
226
  <td>
227
+ <label class="switch">
 
228
  <input type="checkbox" id="premium-person" name="premium-person" <?php checked(1, $this->pa_get_settings['premium-person'], true) ?>>
229
  <span class="slider round"></span>
230
  </label>
 
 
 
231
  </td>
232
+ <th><?php echo esc_html__('Premium Progress Bar', 'premium_elementor'); ?></th>
233
  <td>
234
+ <label class="switch">
 
235
  <input type="checkbox" id="premium-progressbar" name="premium-progressbar" <?php checked(1, $this->pa_get_settings['premium-progressbar'], true) ?>>
236
  <span class="slider round"></span>
237
  </label>
 
 
 
238
  </td>
239
+ </tr>
240
+ </tr>
241
+
242
+ <tr>
243
+ <th><?php echo esc_html__('Premium Testimonials', 'premium_elementor'); ?></th>
244
  <td>
245
+ <label class="switch">
 
246
  <input type="checkbox" id="premium-testimonials" name="premium-testimonials" <?php checked(1, $this->pa_get_settings['premium-testimonials'], true) ?>>
247
  <span class="slider round"></span>
248
  </label>
 
 
 
249
  </td>
250
+ <th><?php echo esc_html__('Premium Title', 'premium_elementor'); ?></th>
251
  <td>
252
+ <label class="switch">
 
253
  <input type="checkbox" id="premium-title" name="premium-title" <?php checked(1, $this->pa_get_settings['premium-title'], true) ?>>
254
  <span class="slider round"></span>
255
  </label>
 
 
 
256
  </td>
257
+ </tr>
258
+
259
+ <tr>
260
+ <th><?php echo esc_html__('Premium Video Box', 'premium_elementor'); ?></th>
261
  <td>
262
+ <label class="switch">
 
263
  <input type="checkbox" id="premium-videobox" name="premium-videobox" <?php checked(1, $this->pa_get_settings['premium-videobox'], true) ?>>
264
  <span class="slider round"></span>
265
  </label>
 
 
 
266
  </td>
267
  </tr>
268
+ </tbody>
269
+ </table>
270
+ <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
271
+
272
+ </div>
273
+
274
+ <div id="pa-system" class="pa-settings-tab">
275
+ <div class="pa-row">
276
+ <table>
277
+ <tr>
278
+ <th><h4 class="pa-api-title"><label>Google Maps API Key:</label><input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo $this->pa_get_settings['premium-map-api']; ?>"></h4></th>
279
+ </tr>
280
+
281
  </table>
282
+ <h3><?php echo esc_html__('System setup information useful for debugging purposes.','premium_elementor');?></h3>
283
+ <div class="pa-system-info-container">
284
+ <?php
285
+ echo nl2br(pa_get_sysinfo());
286
+ ?>
287
+ </div>
288
  </div>
289
  </div>
290
  </div>
317
  'premium-testimonials' => intval( $settings['premium-testimonials'] ? 1 : 0 ),
318
  'premium-title' => intval( $settings['premium-title'] ? 1 : 0 ),
319
  'premium-videobox' => intval( $settings['premium-videobox'] ? 1 : 0 ),
320
+ 'premium-map-api' => $settings['premium-map-api'],
321
  'wisdom_registered_setting' => 1,
322
  );
323
  update_option( 'pa_save_settings', $this->pa_settings );
324
+
325
  return true;
326
  die();
327
 
assets/css/premium-addons.css CHANGED
@@ -686,11 +686,9 @@ a.carousel-arrow.carousel-next {
686
  a.carousel-arrow.carousel-prev {
687
  left: -45px;
688
  }
689
-
690
  a.ver-carousel-arrow.carousel-next {
691
  bottom: -56px;
692
  }
693
-
694
  a.ver-carousel-arrow.carousel-prev {
695
  top: -45px;
696
  }
@@ -704,8 +702,17 @@ a.circle-border {
704
  a.square-border {
705
  border: solid black;
706
  }
 
 
 
 
707
  ul.slick-dots li {
708
  font-size: 10px;
 
 
 
 
 
709
  }
710
  a.carousel-arrow.carousel-next i:before,
711
  a.carousel-arrow.carousel-prev i:before {
@@ -819,6 +826,9 @@ a.premium-image-separator-link:active{
819
  border: none !important;
820
  text-decoration: none !important;
821
  }
 
 
 
822
  /**************** Premium Modal Box ****************/
823
  /***************************************************/
824
  .premium-modal-box-container {
686
  a.carousel-arrow.carousel-prev {
687
  left: -45px;
688
  }
 
689
  a.ver-carousel-arrow.carousel-next {
690
  bottom: -56px;
691
  }
 
692
  a.ver-carousel-arrow.carousel-prev {
693
  top: -45px;
694
  }
702
  a.square-border {
703
  border: solid black;
704
  }
705
+ .slick-dots {
706
+ list-style: none;
707
+ text-align: center;
708
+ }
709
  ul.slick-dots li {
710
  font-size: 10px;
711
+ display: inline-block;
712
+ margin: 5px;
713
+ width: 20px;
714
+ height: 20px;
715
+ cursor: pointer;
716
  }
717
  a.carousel-arrow.carousel-next i:before,
718
  a.carousel-arrow.carousel-prev i:before {
826
  border: none !important;
827
  text-decoration: none !important;
828
  }
829
+ .premium-image-separator-container .img-responsive {
830
+ display: inline-block;
831
+ }
832
  /**************** Premium Modal Box ****************/
833
  /***************************************************/
834
  .premium-modal-box-container {
includes/system-info.php ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if( !defined( 'ABSPATH' ) ) exit; //Exit if accessed directly
4
+
5
+ function pa_get_sysinfo() {
6
+ global $wpdb;
7
+
8
+ // Get theme info
9
+ $theme_data = wp_get_theme();
10
+ $theme = $theme_data->Name . ' ' . $theme_data->Version;
11
+
12
+ $return = '### <strong>Begin System Info</strong> ###' . "\n\n";
13
+
14
+ // Start with the basics...
15
+ $return .= '-- Site Info' . "\n\n";
16
+ $return .= 'Site URL: ' . site_url() . "\n";
17
+ $return .= 'Home URL: ' . home_url() . "\n";
18
+ $return .= 'Multisite: ' . (is_multisite() ? 'Yes' : 'No') . "\n";
19
+
20
+ // Theme info
21
+ $plugin = get_plugin_data(PREMIUM_ADDONS_FILE);
22
+
23
+
24
+ // Plugin configuration
25
+ $return .= "\n" . '-- Plugin Configuration' . "\n\n";
26
+ $return .= 'Name: ' . $plugin['Name'] . "\n";
27
+ $return .= 'Version: ' . $plugin['Version'] . "\n";
28
+
29
+ // WordPress configuration
30
+ $return .= "\n" . '-- WordPress Configuration' . "\n\n";
31
+ $return .= 'Version: ' . get_bloginfo('version') . "\n";
32
+ $return .= 'Language: ' . (defined('WPLANG') && WPLANG ? WPLANG : 'en_US') . "\n";
33
+ $return .= 'Permalink Structure: ' . (get_option('permalink_structure') ? get_option('permalink_structure') : 'Default') . "\n";
34
+ $return .= 'Active Theme: ' . $theme . "\n";
35
+ $return .= 'Show On Front: ' . get_option('show_on_front') . "\n";
36
+
37
+ // Only show page specs if frontpage is set to 'page'
38
+ if (get_option('show_on_front') == 'page') {
39
+ $front_page_id = get_option('page_on_front');
40
+ $blog_page_id = get_option('page_for_posts');
41
+
42
+ $return .= 'Page On Front: ' . ($front_page_id != 0 ? get_the_title($front_page_id) . ' (#' . $front_page_id . ')' : 'Unset') . "\n";
43
+ $return .= 'Page For Posts: ' . ($blog_page_id != 0 ? get_the_title($blog_page_id) . ' (#' . $blog_page_id . ')' : 'Unset') . "\n";
44
+ }
45
+
46
+ $return .= 'ABSPATH: ' . ABSPATH . "\n";
47
+
48
+
49
+ $return .= 'WP_DEBUG: ' . (defined('WP_DEBUG') ? WP_DEBUG ? 'Enabled' : 'Disabled' : 'Not set') . "\n";
50
+ $return .= 'Memory Limit: ' . WP_MEMORY_LIMIT . "\n";
51
+ $return .= 'Registered Post Stati: ' . implode(', ', get_post_stati()) . "\n";
52
+
53
+ // Get plugins that have an update
54
+ $updates = get_plugin_updates();
55
+
56
+ // WordPress active plugins
57
+ $return .= "\n" . '-- WordPress Active Plugins' . "\n\n";
58
+
59
+ $plugins = get_plugins();
60
+ $active_plugins = get_option('active_plugins', array());
61
+
62
+ foreach ($plugins as $plugin_path => $plugin) {
63
+ if (!in_array($plugin_path, $active_plugins))
64
+ continue;
65
+
66
+ $update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
67
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
68
+ }
69
+
70
+ // WordPress inactive plugins
71
+ $return .= "\n" . '-- WordPress Inactive Plugins' . "\n\n";
72
+
73
+ foreach ($plugins as $plugin_path => $plugin) {
74
+ if (in_array($plugin_path, $active_plugins))
75
+ continue;
76
+
77
+ $update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
78
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
79
+ }
80
+
81
+ if (is_multisite()) {
82
+ // WordPress Multisite active plugins
83
+ $return .= "\n" . '-- Network Active Plugins' . "\n\n";
84
+
85
+ $plugins = wp_get_active_network_plugins();
86
+ $active_plugins = get_site_option('active_sitewide_plugins', array());
87
+
88
+ foreach ($plugins as $plugin_path) {
89
+ $plugin_base = plugin_basename($plugin_path);
90
+
91
+ if (!array_key_exists($plugin_base, $active_plugins))
92
+ continue;
93
+
94
+ $update = (array_key_exists($plugin_path, $updates)) ? ' (needs update - ' . $updates[$plugin_path]->update->new_version . ')' : '';
95
+ $plugin = get_plugin_data($plugin_path);
96
+ $return .= $plugin['Name'] . ': ' . $plugin['Version'] . $update . "\n";
97
+ }
98
+ }
99
+
100
+ // Server configuration (really just versioning)
101
+ $return .= "\n" . '-- Webserver Configuration' . "\n\n";
102
+ $return .= 'PHP Version: ' . PHP_VERSION . "\n";
103
+ $return .= 'MySQL Version: ' . $wpdb->db_version() . "\n";
104
+ $return .= 'Webserver Info: ' . $_SERVER['SERVER_SOFTWARE'] . "\n";
105
+
106
+ // PHP configs... now we're getting to the important stuff
107
+ $return .= "\n" . '-- PHP Configuration' . "\n\n";
108
+ $return .= 'Memory Limit: ' . ini_get('memory_limit') . "\n";
109
+ $return .= 'Upload Max Size: ' . ini_get('upload_max_filesize') . "\n";
110
+ $return .= 'Post Max Size: ' . ini_get('post_max_size') . "\n";
111
+ $return .= 'Upload Max Filesize: ' . ini_get('upload_max_filesize') . "\n";
112
+ $return .= 'Time Limit: ' . ini_get('max_execution_time') . "\n";
113
+ $return .= 'Max Input Vars: ' . ini_get('max_input_vars') . "\n";
114
+ $return .= 'Display Errors: ' . (ini_get('display_errors') ? 'On (' . ini_get('display_errors') . ')' : 'N/A') . "\n";
115
+
116
+ $return = apply_filters('edd_sysinfo_after_php_config', $return);
117
+
118
+ // PHP extensions and such
119
+ $return .= "\n" . '-- PHP Extensions' . "\n\n";
120
+ $return .= 'cURL: ' . (function_exists('curl_init') ? 'Supported' : 'Not Supported') . "\n";
121
+ $return .= 'fsockopen: ' . (function_exists('fsockopen') ? 'Supported' : 'Not Supported') . "\n";
122
+ $return .= 'SOAP Client: ' . (class_exists('SoapClient') ? 'Installed' : 'Not Installed') . "\n";
123
+ $return .= 'Suhosin: ' . (extension_loaded('suhosin') ? 'Installed' : 'Not Installed') . "\n";
124
+
125
+ $return .= "\n" . '### End System Info ###';
126
+
127
+ return $return;
128
+ }
129
+
premium-addons.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: This Plugin Includes Elementor Page Builder’s Premium Addon Elements.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 1.04
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-leap13
@@ -23,6 +23,7 @@ if( !defined( 'ABSPATH' ) ) exit; // No access of directly access
23
 
24
  define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
25
  define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
 
26
 
27
  /**
28
  * Translating the plugins and load some
@@ -33,6 +34,11 @@ define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
33
  // Loading .mo and.po file from the lang folder
34
  load_plugin_textdomain( 'premium_elementor', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
35
 
 
 
 
 
 
36
 
37
  // Requires Elmentor Page builder & activation
38
 
@@ -80,7 +86,6 @@ define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
80
  add_action( 'elementor/preview/enqueue_styles', array( $this, 'elementor_preview_styles' ) );
81
  add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 );
82
  }
83
-
84
 
85
  /**
86
  * Load all frontend assets file such as stylesheet & javascript files
@@ -88,6 +93,9 @@ define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
88
  */
89
  public function premium_addons_required_assets() {
90
  $check_component_active = get_option( 'pa_save_settings' );
 
 
 
91
  wp_enqueue_style( 'fontAwesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css', array(), '4.7.0', 'all' );
92
  wp_enqueue_style( 'premium-addons-css', PREMIUM_ADDONS_URL . 'assets/css/premium-addons.css', array(), '1.0', 'all' );
93
 
@@ -109,7 +117,7 @@ define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
109
  wp_enqueue_script('typed-js', PREMIUM_ADDONS_URL .'assets/js/lib/typedmin.js', array( 'jquery' ), '1.0', true);
110
  }
111
  if( $check_component_active['premium-maps'] ) {
112
- wp_enqueue_script('google-maps', 'http://maps.google.com/maps/api/js?sensor=false');
113
  wp_enqueue_script('gomap', PREMIUM_ADDONS_URL. 'assets/js/lib/gomap.js', array( 'jquery' ), '1.0', true);
114
  }
115
  }
3
  Plugin Name: Premium Addons for Elementor
4
  Description: This Plugin Includes Elementor Page Builder’s Premium Addon Elements.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 1.05
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-leap13
23
 
24
  define( 'PREMIUM_ADDONS_URL', plugins_url('/', __FILE__ ) );
25
  define( 'PREMIUM_ADDONS_PATH', plugin_dir_path( __FILE__ ) );
26
+ define( 'PREMIUM_ADDONS_FILE', __FILE__ );
27
 
28
  /**
29
  * Translating the plugins and load some
34
  // Loading .mo and.po file from the lang folder
35
  load_plugin_textdomain( 'premium_elementor', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
36
 
37
+ // Requires System Info When on Dashboard
38
+ if(is_admin() ){
39
+ require_once(PREMIUM_ADDONS_PATH . 'includes/system-info.php');
40
+ }
41
+
42
 
43
  // Requires Elmentor Page builder & activation
44
 
86
  add_action( 'elementor/preview/enqueue_styles', array( $this, 'elementor_preview_styles' ) );
87
  add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 );
88
  }
 
89
 
90
  /**
91
  * Load all frontend assets file such as stylesheet & javascript files
93
  */
94
  public function premium_addons_required_assets() {
95
  $check_component_active = get_option( 'pa_save_settings' );
96
+
97
+ $premium_maps_api = '?key=' . $check_component_active['premium-map-api'];
98
+
99
  wp_enqueue_style( 'fontAwesome', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css', array(), '4.7.0', 'all' );
100
  wp_enqueue_style( 'premium-addons-css', PREMIUM_ADDONS_URL . 'assets/css/premium-addons.css', array(), '1.0', 'all' );
101
 
117
  wp_enqueue_script('typed-js', PREMIUM_ADDONS_URL .'assets/js/lib/typedmin.js', array( 'jquery' ), '1.0', true);
118
  }
119
  if( $check_component_active['premium-maps'] ) {
120
+ wp_enqueue_script( 'gomaps-js', 'https://maps.google.com/maps/api/js' . $premium_maps_api , '','1.0',true );
121
  wp_enqueue_script('gomap', PREMIUM_ADDONS_URL. 'assets/js/lib/gomap.js', array( 'jquery' ), '1.0', true);
122
  }
123
  }
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: leap13
3
  Tags: Elementor, Elementor Page Builder, Elements, Elementor Addons, Add-ons, page builder
4
  Donate link: http://premiumaddons.com
5
- Requires at least: WordPress 4.5
6
- Tested up to: WordPress 4.9.1
7
  Requires PHP: 5.4
8
  License: GPL v3.0
9
  License URI: https://opensource.org/licenses/GPL-3.0
@@ -11,7 +11,7 @@ License URI: https://opensource.org/licenses/GPL-3.0
11
  15 Premium Addons for Elementor Page Builder.
12
 
13
  == Description ==
14
- Premium Addons library that extends Elementor Page Builder capabilities with 15 fully customizable elements that helps you build impressive websites with no coding required.
15
 
16
 
17
  ### Features
@@ -23,21 +23,21 @@ Premium Addons library that extends Elementor Page Builder capabilities with 15
23
 
24
  ### Available Elements
25
 
26
- 1. Premium Banner
27
- 2. Premium Image Separator
28
- 3. Premium Fancy Text
29
- 4. Premium Heading
30
- 5. Premium Carousel
31
- 6. Premium Dual Header
32
- 7. Premium Testimonials
33
- 8. Premium Persons
34
- 9. Premium Countdown
35
- 10. Premium Blog
36
- 11. Premium Counter
37
- 12. Premium Video Box
38
- 13. Premium Google Maps
39
- 14. Premium Modal Box
40
- 15. Premium Progress Bar
41
 
42
  == Installation ==
43
 
@@ -68,6 +68,15 @@ Yes it will work with any WordPress theme as long as you are using Elementor as
68
  Premium Addons for Elementor is light weight and we also gave you the control to enable only the elements you actually use on your website for faster performance.
69
 
70
  == Changelog ==
 
 
 
 
 
 
 
 
 
71
 
72
  = 1.0.1 =
73
 
2
  Contributors: leap13
3
  Tags: Elementor, Elementor Page Builder, Elements, Elementor Addons, Add-ons, page builder
4
  Donate link: http://premiumaddons.com
5
+ Requires at least: 4.5
6
+ Tested up to: 4.9.1
7
  Requires PHP: 5.4
8
  License: GPL v3.0
9
  License URI: https://opensource.org/licenses/GPL-3.0
11
  15 Premium Addons for Elementor Page Builder.
12
 
13
  == Description ==
14
+ Premium Addons Plugin extends Elementor Page Builder capabilities with 15 fully customizable premium elements that helps you build impressive websites with no coding required.
15
 
16
 
17
  ### Features
23
 
24
  ### Available Elements
25
 
26
+ 1. [Premium Banner](https://premiumaddons.com/premium-banner-element-for-elementor-page-builder/)
27
+ 2. [Premium Image Separator](https://premiumaddons.com/premium-image-separator-element-elementor-page-builder/)
28
+ 3. [Premium Fancy Text](https://premiumaddons.com/premium-fancy-text-element-elementor-page-builder/)
29
+ 4. [Premium Heading](https://premiumaddons.com/premium-heading-element-elementor-page-builder/)
30
+ 5. [Premium Carousel](https://premiumaddons.com/premium-carousel-element-for-elementor-page-builder/)
31
+ 6. [Premium Dual Header](https://premiumaddons.com/premium-dual-header-element-elementor-page-builder/)
32
+ 7. [Premium Testimonials](https://premiumaddons.com/premium-testimonials-element-elementor-page-builder/)
33
+ 8. [Premium Persons](https://premiumaddons.com/premium-persons-element-elementor-page-builder/)
34
+ 9. [Premium Countdown](https://premiumaddons.com/premium-countdown-element-elementor-page-builder/)
35
+ 10. [Premium Blog](https://premiumaddons.com/premium-blog-element-elementor-page-builder/)
36
+ 11. [Premium Counter](https://premiumaddons.com/premium-counter-element-elementor-page-builder/)
37
+ 12. [Premium Video Box](https://premiumaddons.com/premium-video-box-element-elementor-page-builder/)
38
+ 13. [Premium Google Maps](https://premiumaddons.com/premium-google-maps-element-elementor-page-builder/)
39
+ 14. [Premium Modal Box](https://premiumaddons.com/premium-modal-box-element-elementor-page-builder/)
40
+ 15. [Premium Progress Bar](https://premiumaddons.com/premium-progress-bar-element-elementor-page-builder/)
41
 
42
  == Installation ==
43
 
68
  Premium Addons for Elementor is light weight and we also gave you the control to enable only the elements you actually use on your website for faster performance.
69
 
70
  == Changelog ==
71
+ = 1.0.3 =
72
+
73
+ - Added: About & System Info tabs in Premium Addons For Elementor Settings Page.
74
+ - Fix Bugs in (Google Map, Carousal and Dual Header Widgets)
75
+ - Few minor bug fixes and improvements.
76
+
77
+ = 1.0.2 =
78
+
79
+ - Few minor bug fixes and improvements.
80
 
81
  = 1.0.1 =
82
 
widgets/premium-carousel.php CHANGED
@@ -664,7 +664,7 @@ class Premium_Carousel_Widget extends Widget_Base {
664
  $this->add_control(
665
  'premium_carousel_space_btw_items',
666
  [
667
- 'label' => esc_html__( 'Space Between Two Ttems', 'premium_elementor' ),
668
  'type' => Controls_Manager::NUMBER,
669
  'default' => '15'
670
  ]
@@ -934,7 +934,10 @@ class Premium_Carousel_Widget extends Widget_Base {
934
  $animation = 'class="item-wrapper" data-animation="animated ' . $animation_class .'"';
935
 
936
  $uniqid = uniqid( rand() );
 
 
937
  ?>
 
938
  <div id="premium-carousel-wrapper-<?php echo $uniqid; ?>" class="premium-carousel-wrapper carousel-wrapper-<?php echo $uniqid; ?><?php echo $extra_class;?>" <?php echo $dir; ?>>
939
  <div id="premium-carousel-<?php echo $uid; ?>">
940
  <?php
664
  $this->add_control(
665
  'premium_carousel_space_btw_items',
666
  [
667
+ 'label' => esc_html__( 'Space Between Two items', 'premium_elementor' ),
668
  'type' => Controls_Manager::NUMBER,
669
  'default' => '15'
670
  ]
934
  $animation = 'class="item-wrapper" data-animation="animated ' . $animation_class .'"';
935
 
936
  $uniqid = uniqid( rand() );
937
+
938
+ $elementor_temps = $this->getTemplateInstance()->get_elementor_page_list();
939
  ?>
940
+
941
  <div id="premium-carousel-wrapper-<?php echo $uniqid; ?>" class="premium-carousel-wrapper carousel-wrapper-<?php echo $uniqid; ?><?php echo $extra_class;?>" <?php echo $dir; ?>>
942
  <div id="premium-carousel-<?php echo $uid; ?>">
943
  <?php
widgets/premium-dual-header.php CHANGED
@@ -375,6 +375,8 @@ class Premium_Dual_Header_Widget extends Widget_Base
375
  $settings = $this->get_settings();
376
  $first_title_tag = $settings['premium_dual_header_first_header_tag'];
377
  $second_title_tag = $settings['premium_dual_header_second_header_tag'];
 
 
378
  if( $settings['premium_dual_header_first_back_clip'] === 'clipped' ) : $first_clip = "premium-dual-header-first-clip"; endif;
379
  if( $settings['premium_dual_header_second_back_clip'] === 'clipped' ) : $second_clip = "premium-dual-header-second-clip"; endif;
380
  $full_first_title_tag = '<' . $first_title_tag . ' class="premium-dual-header-first-header ' . $first_clip . '">' . $settings['premium_dual_header_first_header_text'] . '</' . $settings['premium_dual_header_first_header_tag'] . '>';
375
  $settings = $this->get_settings();
376
  $first_title_tag = $settings['premium_dual_header_first_header_tag'];
377
  $second_title_tag = $settings['premium_dual_header_second_header_tag'];
378
+ $first_clip = '';
379
+ $second_clip = '';
380
  if( $settings['premium_dual_header_first_back_clip'] === 'clipped' ) : $first_clip = "premium-dual-header-first-clip"; endif;
381
  if( $settings['premium_dual_header_second_back_clip'] === 'clipped' ) : $second_clip = "premium-dual-header-second-clip"; endif;
382
  $full_first_title_tag = '<' . $first_title_tag . ' class="premium-dual-header-first-header ' . $first_clip . '">' . $settings['premium_dual_header_first_header_text'] . '</' . $settings['premium_dual_header_first_header_tag'] . '>';
widgets/premium-maps.php CHANGED
@@ -20,7 +20,7 @@ class Premium_Maps_Widget extends Widget_Base
20
  }
21
 
22
  public function get_icon() {
23
- return 'pa pa-indicator';
24
  }
25
 
26
  public function get_categories() {
@@ -37,6 +37,13 @@ class Premium_Maps_Widget extends Widget_Base
37
  'label' => esc_html__('Map Settings', 'premium_elementor')
38
  ]
39
  );
 
 
 
 
 
 
 
40
 
41
  /*Map Pins*/
42
  $this->add_control('premium_maps_map_pins',
@@ -306,7 +313,7 @@ class Premium_Maps_Widget extends Widget_Base
306
  ],
307
  'default' => 'center',
308
  'selectors' => [
309
- '{{WRAPPER}} .premium-maps-pin-text h6' => 'text-align: {{VALUE}};',
310
  ],
311
  ]
312
  );
@@ -334,7 +341,7 @@ class Premium_Maps_Widget extends Widget_Base
334
  <?php if ( ! empty( $item['map_address_custom_pin'] ) ) : ?>
335
  icon: '<?php $image = $item['map_address_custom_pin']; $imageurl = wp_get_attachment_image_src($image['id'], 'large'); ?><?php echo esc_attr($imageurl[0]);?>',<?php endif; ?>
336
  <?php if ( ! empty( $item['map_title'] ) ) : ?>
337
- html: {content: "<div class='premium-maps-map-pin'><h6 class='premium-maps-pin-title'><?php echo esc_attr($item['map_title'] ); ?></h6><div class='premium-maps-pin-text'><h6><?php echo wp_kses( __($item['map_content'] ), true); ?></h6></div></div>",
338
  popup:<?php if ( ! empty( $item['map_marker_open'] ) ) : ?>true<?php else: ?>false<?php endif; ?>}<?php endif; ?>},
339
  <?php endforeach; ?>
340
  ],
20
  }
21
 
22
  public function get_icon() {
23
+ return 'pa-pa-indicator';
24
  }
25
 
26
  public function get_categories() {
37
  'label' => esc_html__('Map Settings', 'premium_elementor')
38
  ]
39
  );
40
+
41
+ $this->add_control('premium_maps_api_url',
42
+ [
43
+ 'label' => '<span style="line-height: 1.4em;">Premium Maps needs an API Key, you can add your API key from the Premium Addons for Elementor admin page tab, <a target="_blank" href="https://developers.google.com/maps/documentation/javascript/">Click here</a> to get your API key now</span>',
44
+ 'type' => Controls_Manager::RAW_HTML,
45
+ ]
46
+ );
47
 
48
  /*Map Pins*/
49
  $this->add_control('premium_maps_map_pins',
313
  ],
314
  'default' => 'center',
315
  'selectors' => [
316
+ '{{WRAPPER}} .premium-maps-pin-text' => 'text-align: {{VALUE}};',
317
  ],
318
  ]
319
  );
341
  <?php if ( ! empty( $item['map_address_custom_pin'] ) ) : ?>
342
  icon: '<?php $image = $item['map_address_custom_pin']; $imageurl = wp_get_attachment_image_src($image['id'], 'large'); ?><?php echo esc_attr($imageurl[0]);?>',<?php endif; ?>
343
  <?php if ( ! empty( $item['map_title'] ) ) : ?>
344
+ html: {content: "<div class='premium-maps-map-pin'><h6 class='premium-maps-pin-title'><?php echo esc_attr($item['map_title'] ); ?></h6><div><h6 class='premium-maps-pin-text'><?php echo wp_kses( __($item['map_content'] ), true); ?></h6></div></div>",
345
  popup:<?php if ( ! empty( $item['map_marker_open'] ) ) : ?>true<?php else: ?>false<?php endif; ?>}<?php endif; ?>},
346
  <?php endforeach; ?>
347
  ],