Version Description
Download this release
Release Info
Developer | justinbusa |
Plugin | WordPress Page Builder – Beaver Builder |
Version | 1.6.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.5.9 to 1.6.0.1
- changelog.txt +30 -0
- classes/class-fl-builder-model.php +1 -1
- classes/class-fl-builder-service-activecampaign.php +249 -0
- classes/class-fl-builder-service-email-address.php +130 -0
- classes/class-fl-builder-service-mailchimp.php +134 -3
- classes/class-fl-builder-services.php +10 -0
- classes/class-fl-builder.php +67 -21
- css/fl-builder-layout-rtl.css +6 -0
- css/fl-builder.css +4 -0
- fl-builder.php +2 -2
- includes/column-css.php +54 -9
- includes/column-settings.php +24 -0
- includes/field-editor.php +1 -1
- includes/field-multiple-photos.php +19 -10
- includes/field-select.php +16 -6
- includes/row-css.php +54 -9
- includes/row-settings.php +27 -3
- includes/updater-config.php +1 -1
- includes/vendor/activecampaign/Account.class.php +73 -0
- includes/vendor/activecampaign/ActiveCampaign.class.php +128 -0
- includes/vendor/activecampaign/Auth.class.php +25 -0
- includes/vendor/activecampaign/Automation.class.php +51 -0
- includes/vendor/activecampaign/Campaign.class.php +133 -0
- includes/vendor/activecampaign/Connector.class.php +226 -0
- includes/vendor/activecampaign/Contact.class.php +121 -0
- includes/vendor/activecampaign/Deal.class.php +139 -0
- includes/vendor/activecampaign/Design.class.php +31 -0
- includes/vendor/activecampaign/Form.class.php +291 -0
- includes/vendor/activecampaign/Group.class.php +55 -0
- includes/vendor/activecampaign/List.class.php +91 -0
- includes/vendor/activecampaign/Message.class.php +103 -0
- includes/vendor/activecampaign/Settings.class.php +25 -0
- includes/vendor/activecampaign/Subscriber.class.php +6 -0
- includes/vendor/activecampaign/Tracking.class.php +118 -0
- includes/vendor/activecampaign/User.class.php +71 -0
- includes/vendor/activecampaign/Webhook.class.php +84 -0
- includes/vendor/activecampaign/config.php +6 -0
- includes/vendor/infusionsoft/xmlrpc-3.0/extras/rsakey.pem +0 -9
- includes/vendor/infusionsoft/xmlrpc-3.0/extras/test.pl +0 -52
- includes/vendor/infusionsoft/xmlrpc-3.0/extras/test.py +0 -37
- includes/vendor/infusionsoft/xmlrpc-3.0/extras/workspace.testPhpServer.fttb +0 -2
- js/fl-builder-layout.js +53 -0
- js/fl-builder-preview.js +73 -25
- js/fl-builder-services.js +54 -0
- js/fl-builder.js +16 -4
- languages/de_DE.po +1 -1
- languages/es_ES.mo +0 -0
- languages/es_ES.po +151 -151
changelog.txt
CHANGED
@@ -1,3 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<h4>1.5.9 - 06/01/2015</h4>
|
2 |
<p><strong>Enhancements</strong></p>
|
3 |
<ul>
|
1 |
+
<h4>1.6.0.1 - 06/28/2015</h4>
|
2 |
+
<p><strong>Enhancements</strong></p>
|
3 |
+
<ul>
|
4 |
+
<li>Added fl_builder_layout_style_dependencies filter.</li>
|
5 |
+
</ul>
|
6 |
+
<p><strong>Bug Fixes</strong></p>
|
7 |
+
<ul>
|
8 |
+
<li>Fixed a bug with importing templates that have slideshows or galleries.</li>
|
9 |
+
<li>Fixed a bug with row margins when the background is set to a slideshow or video.</li>
|
10 |
+
</ul>
|
11 |
+
|
12 |
+
<h4>1.6.0 - 06/22/2015</h4>
|
13 |
+
<p><strong>Enhancements</strong></p>
|
14 |
+
<ul>
|
15 |
+
<li>Added link, hover and heading color settings to rows and columns.</li>
|
16 |
+
<li>Tab and accordion items now open when linked to from another page.</li>
|
17 |
+
<li>Accordion items now have an active class when open.</li>
|
18 |
+
<li>Column layouts now support RTL languages.</li>
|
19 |
+
<li>Added an email address option to the Subscribe Form module so signups can be sent to your email address.</li>
|
20 |
+
<li>Added support for MailChimp groups to the Subscribe Form module.</li>
|
21 |
+
<li>Added ActiveCampaign integration.</li>
|
22 |
+
</ul>
|
23 |
+
<p><strong>Bug Fixes</strong></p>
|
24 |
+
<ul>
|
25 |
+
<li>Fixed a bug with the window closing when publishing changes.</li>
|
26 |
+
<li>Fixed a bug with getting the correct ID for the current post.</li>
|
27 |
+
<li>Fixed a bug with row borders showing when none are set and the background is a slideshow.</li>
|
28 |
+
<li>Fixed a bug with the multiple photos field when used in a nested form.</li>
|
29 |
+
</ul>
|
30 |
+
|
31 |
<h4>1.5.9 - 06/01/2015</h4>
|
32 |
<p><strong>Enhancements</strong></p>
|
33 |
<ul>
|
classes/class-fl-builder-model.php
CHANGED
@@ -280,7 +280,7 @@ final class FLBuilderModel {
|
|
280 |
return $post_data['post_id'];
|
281 |
}
|
282 |
// Get a post ID from the main query.
|
283 |
-
else if ( in_the_loop() &&
|
284 |
return $wp_the_query->post->ID;
|
285 |
}
|
286 |
// Get a post ID in a query outside of the main loop.
|
280 |
return $post_data['post_id'];
|
281 |
}
|
282 |
// Get a post ID from the main query.
|
283 |
+
else if ( in_the_loop() && is_main_query() && isset( $wp_the_query->post ) ) {
|
284 |
return $wp_the_query->post->ID;
|
285 |
}
|
286 |
// Get a post ID in a query outside of the main loop.
|
classes/class-fl-builder-service-activecampaign.php
ADDED
@@ -0,0 +1,249 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helper class for the ActiveCampaign API.
|
5 |
+
*
|
6 |
+
* @since 1.6.0
|
7 |
+
*/
|
8 |
+
final class FLBuilderServiceActiveCampaign extends FLBuilderService {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* The ID for this service.
|
12 |
+
*
|
13 |
+
* @since 1.6.0
|
14 |
+
* @var string $id
|
15 |
+
*/
|
16 |
+
public $id = 'activecampaign';
|
17 |
+
|
18 |
+
/**
|
19 |
+
* @since 1.6.0
|
20 |
+
* @var object $api_instance
|
21 |
+
* @access private
|
22 |
+
*/
|
23 |
+
private $api_instance = null;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Get an instance of the API.
|
27 |
+
*
|
28 |
+
* @since 1.6.0
|
29 |
+
* @param string $api_url A valid API url.
|
30 |
+
* @param string $api_key A valid API key.
|
31 |
+
* @return object The API instance.
|
32 |
+
*/
|
33 |
+
public function get_api( $api_url, $api_key )
|
34 |
+
{
|
35 |
+
if ( $this->api_instance ) {
|
36 |
+
return $this->api_instance;
|
37 |
+
}
|
38 |
+
if ( ! class_exists( 'ActiveCampaign' ) ) {
|
39 |
+
require_once FL_BUILDER_DIR . 'includes/vendor/activecampaign/ActiveCampaign.class.php';
|
40 |
+
}
|
41 |
+
|
42 |
+
$this->api_instance = new ActiveCampaign( $api_url, $api_key );
|
43 |
+
|
44 |
+
return $this->api_instance;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Test the API connection.
|
49 |
+
*
|
50 |
+
* @since 1.6.0
|
51 |
+
* @param array $fields {
|
52 |
+
* @type string $api_url A valid API url.
|
53 |
+
* @type string $api_key A valid API key.
|
54 |
+
* }
|
55 |
+
* @return array{
|
56 |
+
* @type bool|string $error The error message or false if no error.
|
57 |
+
* @type array $data An array of data used to make the connection.
|
58 |
+
* }
|
59 |
+
*/
|
60 |
+
public function connect( $fields = array() )
|
61 |
+
{
|
62 |
+
$response = array(
|
63 |
+
'error' => false,
|
64 |
+
'data' => array()
|
65 |
+
);
|
66 |
+
|
67 |
+
// Make sure we have an API url.
|
68 |
+
if ( ! isset( $fields['api_url'] ) || empty( $fields['api_url'] ) ) {
|
69 |
+
$response['error'] = __( 'Error: You must provide an API URL.', 'fl-builder' );
|
70 |
+
}
|
71 |
+
// Make sure we have an API key.
|
72 |
+
else if ( ! isset( $fields['api_key'] ) || empty( $fields['api_key'] ) ) {
|
73 |
+
$response['error'] = __( 'Error: You must provide an API key.', 'fl-builder' );
|
74 |
+
}
|
75 |
+
// Try to connect and store the connection data.
|
76 |
+
else {
|
77 |
+
|
78 |
+
$api = $this->get_api( $fields['api_url'], $fields['api_key'] );
|
79 |
+
|
80 |
+
if ( ! (int) $api->credentials_test() ) {
|
81 |
+
$response['error'] = __( 'Error: Please check your API URL and API key.', 'fl-builder' );
|
82 |
+
}
|
83 |
+
else {
|
84 |
+
$response['data'] = array(
|
85 |
+
'api_url' => $fields['api_url'],
|
86 |
+
'api_key' => $fields['api_key']
|
87 |
+
);
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
return $response;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Renders the markup for the connection settings.
|
96 |
+
*
|
97 |
+
* @since 1.6.0
|
98 |
+
* @return string The connection settings markup.
|
99 |
+
*/
|
100 |
+
public function render_connect_settings()
|
101 |
+
{
|
102 |
+
ob_start();
|
103 |
+
|
104 |
+
FLBuilder::render_settings_field( 'api_url', array(
|
105 |
+
'row_class' => 'fl-builder-service-connect-row',
|
106 |
+
'class' => 'fl-builder-service-connect-input',
|
107 |
+
'type' => 'text',
|
108 |
+
'label' => __( 'API URL', 'fl-builder' ),
|
109 |
+
'help' => __( 'Your API url can be found in your ActiveCampaign account under My Settings > API.', 'fl-builder' ),
|
110 |
+
'preview' => array(
|
111 |
+
'type' => 'none'
|
112 |
+
)
|
113 |
+
));
|
114 |
+
|
115 |
+
FLBuilder::render_settings_field( 'api_key', array(
|
116 |
+
'row_class' => 'fl-builder-service-connect-row',
|
117 |
+
'class' => 'fl-builder-service-connect-input',
|
118 |
+
'type' => 'text',
|
119 |
+
'label' => __( 'API Key', 'fl-builder' ),
|
120 |
+
'help' => __( 'Your API key can be found in your ActiveCampaign account under My Settings > API.', 'fl-builder' ),
|
121 |
+
'preview' => array(
|
122 |
+
'type' => 'none'
|
123 |
+
)
|
124 |
+
));
|
125 |
+
|
126 |
+
return ob_get_clean();
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Render the markup for service specific fields.
|
131 |
+
*
|
132 |
+
* @since 1.6.0
|
133 |
+
* @param string $account The name of the saved account.
|
134 |
+
* @param object $settings Saved module settings.
|
135 |
+
* @return array {
|
136 |
+
* @type bool|string $error The error message or false if no error.
|
137 |
+
* @type string $html The field markup.
|
138 |
+
* }
|
139 |
+
*/
|
140 |
+
public function render_fields( $account, $settings )
|
141 |
+
{
|
142 |
+
$post_data = FLBuilderModel::get_post_data();
|
143 |
+
$account_data = $this->get_account_data( $account );
|
144 |
+
$api = $this->get_api( $account_data['api_url'], $account_data['api_key'] );
|
145 |
+
$response = array(
|
146 |
+
'error' => false,
|
147 |
+
'html' => ''
|
148 |
+
);
|
149 |
+
|
150 |
+
$lists = $api->api( 'list/list?ids=all' );
|
151 |
+
$response['html'] = $this->render_list_field( $lists, $settings );
|
152 |
+
|
153 |
+
return $response;
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Render markup for the list field.
|
158 |
+
*
|
159 |
+
* @since 1.6.0
|
160 |
+
* @param array $lists List data from the API.
|
161 |
+
* @param object $settings Saved module settings.
|
162 |
+
* @return string The markup for the list field.
|
163 |
+
* @access private
|
164 |
+
*/
|
165 |
+
private function render_list_field( $lists, $settings )
|
166 |
+
{
|
167 |
+
ob_start();
|
168 |
+
|
169 |
+
$options = array( '' => __( 'Choose...', 'fl-builder' ) );
|
170 |
+
|
171 |
+
foreach ( (array) $lists as $list ) {
|
172 |
+
if ( is_object( $list ) && isset( $list->id ) ) {
|
173 |
+
$options[ $list->id ] = $list->name;
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
FLBuilder::render_settings_field( 'list_id', array(
|
178 |
+
'row_class' => 'fl-builder-service-field-row',
|
179 |
+
'class' => 'fl-builder-service-list-select',
|
180 |
+
'type' => 'select',
|
181 |
+
'label' => _x( 'List', 'An email list from a third party provider.', 'fl-builder' ),
|
182 |
+
'options' => $options,
|
183 |
+
'preview' => array(
|
184 |
+
'type' => 'none'
|
185 |
+
)
|
186 |
+
), $settings);
|
187 |
+
|
188 |
+
return ob_get_clean();
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Subscribe an email address to ActiveCampaign.
|
193 |
+
*
|
194 |
+
* @since 1.6.0
|
195 |
+
* @param object $settings A module settings object.
|
196 |
+
* @param string $email The email to subscribe.
|
197 |
+
* @param string $name Optional. The full name of the person subscribing.
|
198 |
+
* @return array {
|
199 |
+
* @type bool|string $error The error message or false if no error.
|
200 |
+
* }
|
201 |
+
*/
|
202 |
+
public function subscribe( $settings, $email, $name = false )
|
203 |
+
{
|
204 |
+
$account_data = $this->get_account_data( $settings->service_account );
|
205 |
+
$response = array( 'error' => false );
|
206 |
+
|
207 |
+
if ( ! $account_data ) {
|
208 |
+
$response['error'] = __( 'There was an error subscribing to ActiveCampaign. The account is no longer connected.', 'fl-builder' );
|
209 |
+
}
|
210 |
+
else {
|
211 |
+
|
212 |
+
$api = $this->get_api( $account_data['api_url'], $account_data['api_key'] );
|
213 |
+
$data = array(
|
214 |
+
'email' => $email,
|
215 |
+
'p' => array( $settings->list_id ),
|
216 |
+
'status' => 1,
|
217 |
+
'instantresponders' => array( 1 )
|
218 |
+
);
|
219 |
+
|
220 |
+
// Name
|
221 |
+
if ( $name ) {
|
222 |
+
|
223 |
+
$names = explode( ' ', $name );
|
224 |
+
|
225 |
+
if ( isset( $names[0] ) ) {
|
226 |
+
$data['first_name'] = $names[0];
|
227 |
+
}
|
228 |
+
if ( isset( $names[1] ) ) {
|
229 |
+
$data['last_name'] = $names[1];
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
// Subscribe
|
234 |
+
$result = $api->api( 'contact/add', $data );
|
235 |
+
|
236 |
+
if ( ! $result->success && isset( $result->error ) && ! stristr( $result->error, 'duplicate' ) ) {
|
237 |
+
|
238 |
+
if ( stristr( $result->error, 'access' ) ) {
|
239 |
+
$response['error'] = __( 'Error: Invalid API data.', 'fl-builder' );
|
240 |
+
}
|
241 |
+
else {
|
242 |
+
$response['error'] = $result->error;
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
|
247 |
+
return $response;
|
248 |
+
}
|
249 |
+
}
|
classes/class-fl-builder-service-email-address.php
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Helper class for adding an email address as a service.
|
5 |
+
*
|
6 |
+
* @since 1.6.0
|
7 |
+
*/
|
8 |
+
final class FLBuilderServiceEmailAddress extends FLBuilderService {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* The ID for this service.
|
12 |
+
*
|
13 |
+
* @since 1.6.0
|
14 |
+
* @var string $id
|
15 |
+
*/
|
16 |
+
public $id = 'email-address';
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Test the API connection.
|
20 |
+
*
|
21 |
+
* @since 1.6.0
|
22 |
+
* @param array $fields {
|
23 |
+
* @type string $email A valid email address.
|
24 |
+
* }
|
25 |
+
* @return array{
|
26 |
+
* @type bool|string $error The error message or false if no error.
|
27 |
+
* @type array $data An array of data used to make the connection.
|
28 |
+
* }
|
29 |
+
*/
|
30 |
+
public function connect( $fields = array() )
|
31 |
+
{
|
32 |
+
$response = array(
|
33 |
+
'error' => false,
|
34 |
+
'data' => array()
|
35 |
+
);
|
36 |
+
|
37 |
+
// Make sure we have an email address.
|
38 |
+
if ( ! isset( $fields['email'] ) || empty( $fields['email'] ) ) {
|
39 |
+
$response['error'] = __( 'Error: You must provide an email address.', 'fl-builder' );
|
40 |
+
}
|
41 |
+
// Store the connection data.
|
42 |
+
else {
|
43 |
+
$response['data'] = array( 'email' => $fields['email'] );
|
44 |
+
}
|
45 |
+
|
46 |
+
return $response;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Renders the markup for the connection settings.
|
51 |
+
*
|
52 |
+
* @since 1.6.0
|
53 |
+
* @return string The connection settings markup.
|
54 |
+
*/
|
55 |
+
public function render_connect_settings()
|
56 |
+
{
|
57 |
+
ob_start();
|
58 |
+
|
59 |
+
FLBuilder::render_settings_field( 'email', array(
|
60 |
+
'row_class' => 'fl-builder-service-connect-row',
|
61 |
+
'class' => 'fl-builder-service-connect-input',
|
62 |
+
'type' => 'text',
|
63 |
+
'label' => __( 'Email Address', 'fl-builder' ),
|
64 |
+
'preview' => array(
|
65 |
+
'type' => 'none'
|
66 |
+
)
|
67 |
+
));
|
68 |
+
|
69 |
+
return ob_get_clean();
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Render the markup for service specific fields.
|
74 |
+
*
|
75 |
+
* @since 1.6.0
|
76 |
+
* @param string $account The name of the saved account.
|
77 |
+
* @param object $settings Saved module settings.
|
78 |
+
* @return array {
|
79 |
+
* @type bool|string $error The error message or false if no error.
|
80 |
+
* @type string $html The field markup.
|
81 |
+
* }
|
82 |
+
*/
|
83 |
+
public function render_fields( $account, $settings )
|
84 |
+
{
|
85 |
+
$response = array(
|
86 |
+
'error' => false,
|
87 |
+
'html' => ''
|
88 |
+
);
|
89 |
+
|
90 |
+
return $response;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Send the subscription info to the saved email address.
|
95 |
+
*
|
96 |
+
* @since 1.6.0
|
97 |
+
* @param object $settings A module settings object.
|
98 |
+
* @param string $email The email to subscribe.
|
99 |
+
* @param string $name Optional. The full name of the person subscribing.
|
100 |
+
* @return array {
|
101 |
+
* @type bool|string $error The error message or false if no error.
|
102 |
+
* }
|
103 |
+
*/
|
104 |
+
public function subscribe( $settings, $email, $name = false )
|
105 |
+
{
|
106 |
+
$account_data = $this->get_account_data( $settings->service_account );
|
107 |
+
$response = array( 'error' => false );
|
108 |
+
|
109 |
+
if ( ! $account_data ) {
|
110 |
+
$response['error'] = __( 'There was an error subscribing. The account is no longer connected.', 'fl-builder' );
|
111 |
+
}
|
112 |
+
else {
|
113 |
+
|
114 |
+
$subject = __( 'Subscribe Form Signup', 'fl-builder' );
|
115 |
+
$message = __( 'Email', 'fl-builder' ) . ': ' . $email;
|
116 |
+
|
117 |
+
if ( $name ) {
|
118 |
+
$message .= "\n" . __( 'Name', 'fl-builder' ) . ': ' . $name;
|
119 |
+
}
|
120 |
+
|
121 |
+
$result = wp_mail( $account_data['email'], $subject, $message );
|
122 |
+
|
123 |
+
if ( ! $result ) {
|
124 |
+
$response['error'] = __( 'There was an error subscribing. Please try again.', 'fl-builder' );
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
return $response;
|
129 |
+
}
|
130 |
+
}
|
classes/class-fl-builder-service-mailchimp.php
CHANGED
@@ -120,6 +120,7 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
120 |
*/
|
121 |
public function render_fields( $account, $settings )
|
122 |
{
|
|
|
123 |
$account_data = $this->get_account_data( $account );
|
124 |
$api = $this->get_api( $account_data['api_key'] );
|
125 |
$response = array(
|
@@ -127,14 +128,36 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
127 |
'html' => ''
|
128 |
);
|
129 |
|
|
|
130 |
try {
|
131 |
-
|
132 |
-
$
|
|
|
|
|
|
|
133 |
}
|
134 |
catch ( Mailchimp_Error $e ) {
|
135 |
$response['error'] = $e->getMessage();
|
136 |
}
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
return $response;
|
139 |
}
|
140 |
|
@@ -159,7 +182,7 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
159 |
|
160 |
FLBuilder::render_settings_field( 'list_id', array(
|
161 |
'row_class' => 'fl-builder-service-field-row',
|
162 |
-
'class' => 'fl-builder-service-list-select',
|
163 |
'type' => 'select',
|
164 |
'label' => _x( 'List', 'An email list from a third party provider.', 'fl-builder' ),
|
165 |
'options' => $options,
|
@@ -171,6 +194,47 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
171 |
return ob_get_clean();
|
172 |
}
|
173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
/**
|
175 |
* Subscribe an email address to MailChimp.
|
176 |
*
|
@@ -198,6 +262,7 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
198 |
$email = array( 'email' => $email );
|
199 |
$data = array();
|
200 |
|
|
|
201 |
if ( $name ) {
|
202 |
|
203 |
$names = explode( ' ', $name );
|
@@ -210,6 +275,72 @@ final class FLBuilderServiceMailChimp extends FLBuilderService {
|
|
210 |
}
|
211 |
}
|
212 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
try {
|
214 |
$api->lists->subscribe( $settings->list_id, $email, $data, 'html', (bool) $double, true, false, (bool) $welcome );
|
215 |
}
|
120 |
*/
|
121 |
public function render_fields( $account, $settings )
|
122 |
{
|
123 |
+
$post_data = FLBuilderModel::get_post_data();
|
124 |
$account_data = $this->get_account_data( $account );
|
125 |
$api = $this->get_api( $account_data['api_key'] );
|
126 |
$response = array(
|
128 |
'html' => ''
|
129 |
);
|
130 |
|
131 |
+
// Lists field
|
132 |
try {
|
133 |
+
|
134 |
+
if ( ! isset( $post_data['list_id'] ) ) {
|
135 |
+
$lists = $api->lists->getList();
|
136 |
+
$response['html'] .= $this->render_list_field( $lists, $settings );
|
137 |
+
}
|
138 |
}
|
139 |
catch ( Mailchimp_Error $e ) {
|
140 |
$response['error'] = $e->getMessage();
|
141 |
}
|
142 |
|
143 |
+
// Groups field
|
144 |
+
try {
|
145 |
+
|
146 |
+
if ( isset( $post_data['list_id'] ) || isset( $settings->list_id ) ) {
|
147 |
+
|
148 |
+
if ( isset( $post_data['list_id'] ) ) {
|
149 |
+
$list_id = $post_data['list_id'];
|
150 |
+
}
|
151 |
+
else {
|
152 |
+
$list_id = $settings->list_id;
|
153 |
+
}
|
154 |
+
|
155 |
+
$groups = $api->lists->interestGroupings( $list_id );
|
156 |
+
$response['html'] .= $this->render_groups_field( $list_id, $groups, $settings );
|
157 |
+
}
|
158 |
+
}
|
159 |
+
catch ( Mailchimp_Error $e ) {}
|
160 |
+
|
161 |
return $response;
|
162 |
}
|
163 |
|
182 |
|
183 |
FLBuilder::render_settings_field( 'list_id', array(
|
184 |
'row_class' => 'fl-builder-service-field-row',
|
185 |
+
'class' => 'fl-builder-service-list-select fl-builder-mailchimp-list-select',
|
186 |
'type' => 'select',
|
187 |
'label' => _x( 'List', 'An email list from a third party provider.', 'fl-builder' ),
|
188 |
'options' => $options,
|
194 |
return ob_get_clean();
|
195 |
}
|
196 |
|
197 |
+
/**
|
198 |
+
* Render markup for the groups field.
|
199 |
+
*
|
200 |
+
* @since 1.6.0
|
201 |
+
* @param string $list_id The ID of the list for this groups.
|
202 |
+
* @param array $groups An array of group data.
|
203 |
+
* @param object $settings Saved module settings.
|
204 |
+
* @return string The markup for the group field.
|
205 |
+
* @access private
|
206 |
+
*/
|
207 |
+
private function render_groups_field( $list_id, $groups, $settings )
|
208 |
+
{
|
209 |
+
if ( ! is_array( $groups ) || 0 === count( $groups ) ) {
|
210 |
+
return;
|
211 |
+
}
|
212 |
+
|
213 |
+
ob_start();
|
214 |
+
|
215 |
+
$options = array( '' => __( 'No Group', 'fl-builder' ) );
|
216 |
+
|
217 |
+
foreach ( $groups as $group ) {
|
218 |
+
foreach ( $group['groups'] as $subgroup ) {
|
219 |
+
$options[ $list_id . '_' . $group['id'] . '_' . $subgroup['id'] ] = $group['name'] . ' - ' . $subgroup['name'];
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
FLBuilder::render_settings_field( 'groups', array(
|
224 |
+
'row_class' => 'fl-builder-service-field-row',
|
225 |
+
'class' => 'fl-builder-mailchimp-group-select',
|
226 |
+
'type' => 'select',
|
227 |
+
'label' => _x( 'Groups', 'MailChimp list group.', 'fl-builder' ),
|
228 |
+
'multi-select' => true,
|
229 |
+
'options' => $options,
|
230 |
+
'preview' => array(
|
231 |
+
'type' => 'none'
|
232 |
+
)
|
233 |
+
), $settings);
|
234 |
+
|
235 |
+
return ob_get_clean();
|
236 |
+
}
|
237 |
+
|
238 |
/**
|
239 |
* Subscribe an email address to MailChimp.
|
240 |
*
|
262 |
$email = array( 'email' => $email );
|
263 |
$data = array();
|
264 |
|
265 |
+
// Name
|
266 |
if ( $name ) {
|
267 |
|
268 |
$names = explode( ' ', $name );
|
275 |
}
|
276 |
}
|
277 |
|
278 |
+
// Groups
|
279 |
+
if ( isset( $settings->groups ) && is_array( $settings->groups ) ) {
|
280 |
+
|
281 |
+
$groups = array();
|
282 |
+
|
283 |
+
// Build the array of saved group data.
|
284 |
+
for ( $i = 0; $i < count( $settings->groups ); $i++ ) {
|
285 |
+
|
286 |
+
if ( empty( $settings->groups[ $i ] ) ) {
|
287 |
+
continue;
|
288 |
+
}
|
289 |
+
|
290 |
+
$group_data = explode( '_', $settings->groups[ $i ] );
|
291 |
+
|
292 |
+
if ( $group_data[0] != $settings->list_id ) {
|
293 |
+
continue;
|
294 |
+
}
|
295 |
+
if ( ! isset( $groups[ $group_data[1] ] ) ) {
|
296 |
+
$groups[ $group_data[1] ] = array();
|
297 |
+
}
|
298 |
+
|
299 |
+
$groups[ $group_data[1] ][] = $group_data[2];
|
300 |
+
}
|
301 |
+
|
302 |
+
// Get the subgroup names from the API and add to the $data array.
|
303 |
+
if ( count( $groups ) > 0 ) {
|
304 |
+
|
305 |
+
$groups_result = $api->lists->interestGroupings( $settings->list_id );
|
306 |
+
|
307 |
+
if ( is_array( $groups_result ) && count( $groups_result ) > 0 ) {
|
308 |
+
|
309 |
+
foreach ( $groups_result as $group ) {
|
310 |
+
|
311 |
+
if ( ! isset( $groups[ $group['id'] ] ) ) {
|
312 |
+
continue;
|
313 |
+
}
|
314 |
+
|
315 |
+
$subgroup_names = array();
|
316 |
+
|
317 |
+
foreach ( $group['groups'] as $subgroup ) {
|
318 |
+
|
319 |
+
if ( in_array( $subgroup['id'], $groups[ $group['id'] ] ) ) {
|
320 |
+
$subgroup_names[] = $subgroup['name'];
|
321 |
+
}
|
322 |
+
}
|
323 |
+
|
324 |
+
if ( 0 === count( $subgroup_names ) ) {
|
325 |
+
unset( $groups[ $group['id'] ] );
|
326 |
+
}
|
327 |
+
else {
|
328 |
+
$groups[ $group['id'] ] = $subgroup_names;
|
329 |
+
}
|
330 |
+
}
|
331 |
+
|
332 |
+
$i = 0;
|
333 |
+
|
334 |
+
foreach ( $groups as $group_id => $subgroups ) {
|
335 |
+
$data['groupings'][ $i ]['id'] = $group_id;
|
336 |
+
$data['groupings'][ $i ]['groups'] = $subgroups;
|
337 |
+
$i++;
|
338 |
+
}
|
339 |
+
}
|
340 |
+
}
|
341 |
+
}
|
342 |
+
|
343 |
+
// Subscribe
|
344 |
try {
|
345 |
$api->lists->subscribe( $settings->list_id, $email, $data, 'html', (bool) $double, true, false, (bool) $welcome );
|
346 |
}
|
classes/class-fl-builder-services.php
CHANGED
@@ -15,6 +15,11 @@ final class FLBuilderServices {
|
|
15 |
* @var array $services_data
|
16 |
*/
|
17 |
static private $services_data = array(
|
|
|
|
|
|
|
|
|
|
|
18 |
'aweber' => array(
|
19 |
'type' => 'autoresponder',
|
20 |
'name' => 'AWeber',
|
@@ -30,6 +35,11 @@ final class FLBuilderServices {
|
|
30 |
'name' => 'Constant Contact',
|
31 |
'class' => 'FLBuilderServiceConstantContact'
|
32 |
),
|
|
|
|
|
|
|
|
|
|
|
33 |
'getresponse' => array(
|
34 |
'type' => 'autoresponder',
|
35 |
'name' => 'GetResponse',
|
15 |
* @var array $services_data
|
16 |
*/
|
17 |
static private $services_data = array(
|
18 |
+
'activecampaign' => array(
|
19 |
+
'type' => 'autoresponder',
|
20 |
+
'name' => 'ActiveCampaign',
|
21 |
+
'class' => 'FLBuilderServiceActiveCampaign'
|
22 |
+
),
|
23 |
'aweber' => array(
|
24 |
'type' => 'autoresponder',
|
25 |
'name' => 'AWeber',
|
35 |
'name' => 'Constant Contact',
|
36 |
'class' => 'FLBuilderServiceConstantContact'
|
37 |
),
|
38 |
+
'email-address' => array(
|
39 |
+
'type' => 'autoresponder',
|
40 |
+
'name' => 'Email Address',
|
41 |
+
'class' => 'FLBuilderServiceEmailAddress'
|
42 |
+
),
|
43 |
'getresponse' => array(
|
44 |
'type' => 'autoresponder',
|
45 |
'name' => 'GetResponse',
|
classes/class-fl-builder.php
CHANGED
@@ -378,8 +378,10 @@ final class FLBuilder {
|
|
378 |
if(!file_exists($asset_info['css'])) {
|
379 |
FLBuilder::render_css();
|
380 |
}
|
|
|
|
|
381 |
|
382 |
-
wp_enqueue_style('fl-builder-layout-' . $post_id, $asset_info['css_url'],
|
383 |
|
384 |
// Enqueue main JS
|
385 |
if(!file_exists($asset_info['js'])) {
|
@@ -1529,6 +1531,11 @@ final class FLBuilder {
|
|
1529 |
|
1530 |
// Global css
|
1531 |
$css = file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout.css');
|
|
|
|
|
|
|
|
|
|
|
1532 |
|
1533 |
// Responsive css
|
1534 |
if($global_settings->responsive_enabled) {
|
@@ -1732,18 +1739,54 @@ final class FLBuilder {
|
|
1732 |
$settings = $row->settings;
|
1733 |
$positions = '';
|
1734 |
$css = '';
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1738 |
}
|
1739 |
-
if($
|
1740 |
-
$positions .= 'bottom:' .
|
1741 |
}
|
1742 |
-
if($
|
1743 |
-
$positions .= 'left:' .
|
1744 |
}
|
1745 |
-
if($
|
1746 |
-
$positions .= 'right:' .
|
1747 |
}
|
1748 |
if($positions != '') {
|
1749 |
$css .= '.fl-node-' . $row->node . ' .fl-bg-video {' . $positions . '}';
|
@@ -1767,17 +1810,20 @@ final class FLBuilder {
|
|
1767 |
$positions = '';
|
1768 |
$css = '';
|
1769 |
|
1770 |
-
if($settings->
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
$
|
1779 |
-
|
1780 |
-
|
|
|
|
|
|
|
1781 |
}
|
1782 |
|
1783 |
return $css;
|
378 |
if(!file_exists($asset_info['css'])) {
|
379 |
FLBuilder::render_css();
|
380 |
}
|
381 |
+
|
382 |
+
$deps = apply_filters( 'fl_builder_layout_style_dependencies', array() );
|
383 |
|
384 |
+
wp_enqueue_style('fl-builder-layout-' . $post_id, $asset_info['css_url'], $deps, $asset_ver);
|
385 |
|
386 |
// Enqueue main JS
|
387 |
if(!file_exists($asset_info['js'])) {
|
1531 |
|
1532 |
// Global css
|
1533 |
$css = file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout.css');
|
1534 |
+
|
1535 |
+
// Global RTL css
|
1536 |
+
if(is_rtl()) {
|
1537 |
+
$css .= file_get_contents(FL_BUILDER_DIR . '/css/fl-builder-layout-rtl.css');
|
1538 |
+
}
|
1539 |
|
1540 |
// Responsive css
|
1541 |
if($global_settings->responsive_enabled) {
|
1739 |
$settings = $row->settings;
|
1740 |
$positions = '';
|
1741 |
$css = '';
|
1742 |
+
$top = 0;
|
1743 |
+
$bottom = 0;
|
1744 |
+
$left = 0;
|
1745 |
+
$right = 0;
|
1746 |
+
|
1747 |
+
// Margins
|
1748 |
+
if($settings->margin_top != '') {
|
1749 |
+
$top += (int)$settings->margin_top;
|
1750 |
+
}
|
1751 |
+
if($settings->margin_bottom != '') {
|
1752 |
+
$bottom += (int)$settings->margin_bottom;
|
1753 |
+
}
|
1754 |
+
if($settings->margin_left != '') {
|
1755 |
+
$left += (int)$settings->margin_left;
|
1756 |
+
}
|
1757 |
+
if($settings->margin_right != '') {
|
1758 |
+
$right += (int)$settings->margin_right;
|
1759 |
+
}
|
1760 |
+
|
1761 |
+
// Borders
|
1762 |
+
if($settings->border_type != '') {
|
1763 |
+
|
1764 |
+
if($settings->border_top != '') {
|
1765 |
+
$top += (int)$settings->border_top;
|
1766 |
+
}
|
1767 |
+
if($settings->border_bottom != '') {
|
1768 |
+
$bottom += (int)$settings->border_bottom;
|
1769 |
+
}
|
1770 |
+
if($settings->border_left != '') {
|
1771 |
+
$left += (int)$settings->border_left;
|
1772 |
+
}
|
1773 |
+
if($settings->border_right != '') {
|
1774 |
+
$right += (int)$settings->border_right;
|
1775 |
+
}
|
1776 |
+
}
|
1777 |
+
|
1778 |
+
// CSS
|
1779 |
+
if($top > 0) {
|
1780 |
+
$positions .= 'top:' . $top . 'px;';
|
1781 |
}
|
1782 |
+
if($bottom > 0) {
|
1783 |
+
$positions .= 'bottom:' . $bottom . 'px;';
|
1784 |
}
|
1785 |
+
if($left > 0) {
|
1786 |
+
$positions .= 'left:' . $left . 'px;';
|
1787 |
}
|
1788 |
+
if($right > 0) {
|
1789 |
+
$positions .= 'right:' . $right . 'px;';
|
1790 |
}
|
1791 |
if($positions != '') {
|
1792 |
$css .= '.fl-node-' . $row->node . ' .fl-bg-video {' . $positions . '}';
|
1810 |
$positions = '';
|
1811 |
$css = '';
|
1812 |
|
1813 |
+
if ($settings->border_type != '') {
|
1814 |
+
|
1815 |
+
if($settings->border_top != '') {
|
1816 |
+
$positions .= 'top:' . $settings->border_top . 'px;';
|
1817 |
+
}
|
1818 |
+
if($settings->border_bottom != '') {
|
1819 |
+
$positions .= 'bottom:' . $settings->border_bottom . 'px;';
|
1820 |
+
}
|
1821 |
+
if($positions != '') {
|
1822 |
+
$css .= '@media (max-width: '. $global_settings->responsive_breakpoint .'px) { ';
|
1823 |
+
$css .= '.fl-node-' . $row->node . ' .fl-bg-video {' . $positions . '}';
|
1824 |
+
$css .= '.fl-node-' . $row->node . ' .fl-bg-slideshow {' . $positions . '}';
|
1825 |
+
$css .= ' }';
|
1826 |
+
}
|
1827 |
}
|
1828 |
|
1829 |
return $css;
|
css/fl-builder-layout-rtl.css
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Columns
|
2 |
+
------------------------------------------------------ */
|
3 |
+
|
4 |
+
.fl-col {
|
5 |
+
float: right;
|
6 |
+
}
|
css/fl-builder.css
CHANGED
@@ -702,6 +702,7 @@ form.fl-builder-settings {
|
|
702 |
.fl-builder-settings-tabs a {
|
703 |
color: #999;
|
704 |
display: inline-block;
|
|
|
705 |
padding: 10px 20px;
|
706 |
text-decoration: none;
|
707 |
}
|
@@ -823,6 +824,9 @@ form.fl-builder-settings {
|
|
823 |
background: transparent;
|
824 |
border-color: #aaa;
|
825 |
}
|
|
|
|
|
|
|
826 |
.fl-builder-settings-fields ::-webkit-input-placeholder { /* WebKit browsers */
|
827 |
color: #999 !important;
|
828 |
}
|
702 |
.fl-builder-settings-tabs a {
|
703 |
color: #999;
|
704 |
display: inline-block;
|
705 |
+
margin: 0;
|
706 |
padding: 10px 20px;
|
707 |
text-decoration: none;
|
708 |
}
|
824 |
background: transparent;
|
825 |
border-color: #aaa;
|
826 |
}
|
827 |
+
.fl-builder-settings-fields select[multiple] {
|
828 |
+
height: 60px;
|
829 |
+
}
|
830 |
.fl-builder-settings-fields ::-webkit-input-placeholder { /* WebKit browsers */
|
831 |
color: #999 !important;
|
832 |
}
|
fl-builder.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Beaver Builder Plugin (Lite Version)
|
4 |
* Plugin URI: https://www.wpbeaverbuilder.com/?utm_source=external&utm_medium=builder&utm_campaign=plugins-page
|
5 |
* Description: A drag and drop frontend WordPress page builder plugin that works with almost any theme!
|
6 |
-
* Version: 1.
|
7 |
* Author: The Beaver Builder Team
|
8 |
* Author URI: https://www.wpbeaverbuilder.com/?utm_source=external&utm_medium=builder&utm_campaign=plugins-page
|
9 |
* Copyright: (c) 2014 Beaver Builder
|
@@ -11,7 +11,7 @@
|
|
11 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
* Text Domain: fl-builder
|
13 |
*/
|
14 |
-
define('FL_BUILDER_VERSION', '1.
|
15 |
define('FL_BUILDER_DIR', plugin_dir_path(__FILE__));
|
16 |
define('FL_BUILDER_URL', plugins_url('/', __FILE__));
|
17 |
define('FL_BUILDER_LITE', true);
|
3 |
* Plugin Name: Beaver Builder Plugin (Lite Version)
|
4 |
* Plugin URI: https://www.wpbeaverbuilder.com/?utm_source=external&utm_medium=builder&utm_campaign=plugins-page
|
5 |
* Description: A drag and drop frontend WordPress page builder plugin that works with almost any theme!
|
6 |
+
* Version: 1.6.0.1
|
7 |
* Author: The Beaver Builder Team
|
8 |
* Author URI: https://www.wpbeaverbuilder.com/?utm_source=external&utm_medium=builder&utm_campaign=plugins-page
|
9 |
* Copyright: (c) 2014 Beaver Builder
|
11 |
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
* Text Domain: fl-builder
|
13 |
*/
|
14 |
+
define('FL_BUILDER_VERSION', '1.6.0.1');
|
15 |
define('FL_BUILDER_DIR', plugin_dir_path(__FILE__));
|
16 |
define('FL_BUILDER_URL', plugins_url('/', __FILE__));
|
17 |
define('FL_BUILDER_LITE', true);
|
includes/column-css.php
CHANGED
@@ -2,27 +2,72 @@
|
|
2 |
width: <?php echo $col->settings->size; ?>%;
|
3 |
}
|
4 |
|
5 |
-
<?php if(!empty($col->settings->text_color)) : ?>
|
6 |
-
.fl-node-<?php echo $col->node;
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
.fl-node-<?php echo $col->node; ?> h1,
|
9 |
.fl-node-<?php echo $col->node; ?> h2,
|
10 |
.fl-node-<?php echo $col->node; ?> h3,
|
11 |
.fl-node-<?php echo $col->node; ?> h4,
|
12 |
.fl-node-<?php echo $col->node; ?> h5,
|
13 |
-
.fl-node-<?php echo $col->node; ?> h6
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
color: #<?php echo $col->settings->text_color; ?>;
|
15 |
}
|
16 |
<?php endif; ?>
|
17 |
|
18 |
-
<?php if($col->settings->bg_type == 'color' && !empty($col->settings->bg_color)) : ?>
|
19 |
.fl-node-<?php echo $col->node; ?> .fl-col-content {
|
20 |
background-color: #<?php echo $col->settings->bg_color; ?>;
|
21 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($col->settings->bg_color)) ?>, <?php echo $col->settings->bg_opacity/100; ?>);
|
22 |
}
|
23 |
<?php endif; ?>
|
24 |
|
25 |
-
<?php if($col->settings->bg_type == 'photo' && !empty($col->settings->bg_image)) : ?>
|
26 |
.fl-node-<?php echo $col->node; ?> .fl-col-content {
|
27 |
background-image: url(<?php echo $col->settings->bg_image_src; ?>);
|
28 |
background-repeat: <?php echo $col->settings->bg_repeat; ?>;
|
@@ -32,14 +77,14 @@
|
|
32 |
}
|
33 |
<?php endif; ?>
|
34 |
|
35 |
-
<?php if( in_array( $col->settings->bg_type, array('photo') ) && ! empty( $col->settings->bg_overlay_color ) ) : ?>
|
36 |
.fl-node-<?php echo $col->node; ?> .fl-col-content:after {
|
37 |
background-color: #<?php echo $col->settings->bg_overlay_color; ?>;
|
38 |
background-color: rgba(<?php echo implode( ',', FLBuilderColor::hex_to_rgb( $col->settings->bg_overlay_color ) ) ?>, <?php echo $col->settings->bg_overlay_opacity/100; ?>);
|
39 |
}
|
40 |
<?php endif; ?>
|
41 |
|
42 |
-
<?php if(!empty($col->settings->border_type)) : ?>
|
43 |
.fl-builder-content .fl-node-<?php echo $col->node; ?> .fl-col-content {
|
44 |
border-style: <?php echo $col->settings->border_type; ?>;
|
45 |
border-color: #<?php echo $col->settings->border_color; ?>;
|
@@ -51,7 +96,7 @@
|
|
51 |
}
|
52 |
<?php endif; ?>
|
53 |
|
54 |
-
<?php if($global_settings->responsive_enabled) : ?>
|
55 |
|
56 |
<?php if($col->settings->medium_size == 'custom') : ?>
|
57 |
@media(max-width: <?php echo $global_settings->medium_breakpoint; ?>px) {
|
2 |
width: <?php echo $col->settings->size; ?>%;
|
3 |
}
|
4 |
|
5 |
+
<?php if(!empty($col->settings->text_color)) : // Text Color ?>
|
6 |
+
.fl-node-<?php echo $col->node; ?> {
|
7 |
+
color: #<?php echo $col->settings->text_color; ?>;
|
8 |
+
}
|
9 |
+
<?php endif; ?>
|
10 |
+
|
11 |
+
<?php if(!empty($col->settings->link_color)) : // Link Color ?>
|
12 |
+
.fl-node-<?php echo $col->node; ?> a {
|
13 |
+
color: #<?php echo $col->settings->link_color; ?>;
|
14 |
+
}
|
15 |
+
<?php elseif(!empty($col->settings->text_color)) : ?>
|
16 |
+
.fl-node-<?php echo $col->node; ?> a {
|
17 |
+
color: #<?php echo $col->settings->text_color; ?>;
|
18 |
+
}
|
19 |
+
<?php endif; ?>
|
20 |
+
|
21 |
+
<?php if(!empty($col->settings->hover_color)) : // Link Hover Color ?>
|
22 |
+
.fl-node-<?php echo $col->node; ?> a:hover {
|
23 |
+
color: #<?php echo $col->settings->hover_color; ?>;
|
24 |
+
}
|
25 |
+
<?php elseif(!empty($col->settings->text_color)) : ?>
|
26 |
+
.fl-node-<?php echo $col->node; ?> a:hover {
|
27 |
+
color: #<?php echo $col->settings->text_color; ?>;
|
28 |
+
}
|
29 |
+
<?php endif; ?>
|
30 |
+
|
31 |
+
<?php if(!empty($col->settings->heading_color)) : // Heading Color ?>
|
32 |
+
.fl-node-<?php echo $col->node; ?> h1,
|
33 |
+
.fl-node-<?php echo $col->node; ?> h2,
|
34 |
+
.fl-node-<?php echo $col->node; ?> h3,
|
35 |
+
.fl-node-<?php echo $col->node; ?> h4,
|
36 |
+
.fl-node-<?php echo $col->node; ?> h5,
|
37 |
+
.fl-node-<?php echo $col->node; ?> h6,
|
38 |
+
.fl-node-<?php echo $col->node; ?> h1 a,
|
39 |
+
.fl-node-<?php echo $col->node; ?> h2 a,
|
40 |
+
.fl-node-<?php echo $col->node; ?> h3 a,
|
41 |
+
.fl-node-<?php echo $col->node; ?> h4 a,
|
42 |
+
.fl-node-<?php echo $col->node; ?> h5 a,
|
43 |
+
.fl-node-<?php echo $col->node; ?> h6 a {
|
44 |
+
color: #<?php echo $col->settings->heading_color; ?>;
|
45 |
+
}
|
46 |
+
<?php elseif(!empty($col->settings->text_color)) : ?>
|
47 |
.fl-node-<?php echo $col->node; ?> h1,
|
48 |
.fl-node-<?php echo $col->node; ?> h2,
|
49 |
.fl-node-<?php echo $col->node; ?> h3,
|
50 |
.fl-node-<?php echo $col->node; ?> h4,
|
51 |
.fl-node-<?php echo $col->node; ?> h5,
|
52 |
+
.fl-node-<?php echo $col->node; ?> h6,
|
53 |
+
.fl-node-<?php echo $col->node; ?> h1 a,
|
54 |
+
.fl-node-<?php echo $col->node; ?> h2 a,
|
55 |
+
.fl-node-<?php echo $col->node; ?> h3 a,
|
56 |
+
.fl-node-<?php echo $col->node; ?> h4 a,
|
57 |
+
.fl-node-<?php echo $col->node; ?> h5 a,
|
58 |
+
.fl-node-<?php echo $col->node; ?> h6 a {
|
59 |
color: #<?php echo $col->settings->text_color; ?>;
|
60 |
}
|
61 |
<?php endif; ?>
|
62 |
|
63 |
+
<?php if($col->settings->bg_type == 'color' && !empty($col->settings->bg_color)) : // Background Color ?>
|
64 |
.fl-node-<?php echo $col->node; ?> .fl-col-content {
|
65 |
background-color: #<?php echo $col->settings->bg_color; ?>;
|
66 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($col->settings->bg_color)) ?>, <?php echo $col->settings->bg_opacity/100; ?>);
|
67 |
}
|
68 |
<?php endif; ?>
|
69 |
|
70 |
+
<?php if($col->settings->bg_type == 'photo' && !empty($col->settings->bg_image)) : // Background Image ?>
|
71 |
.fl-node-<?php echo $col->node; ?> .fl-col-content {
|
72 |
background-image: url(<?php echo $col->settings->bg_image_src; ?>);
|
73 |
background-repeat: <?php echo $col->settings->bg_repeat; ?>;
|
77 |
}
|
78 |
<?php endif; ?>
|
79 |
|
80 |
+
<?php if( in_array( $col->settings->bg_type, array('photo') ) && ! empty( $col->settings->bg_overlay_color ) ) : // Background Overlay Color ?>
|
81 |
.fl-node-<?php echo $col->node; ?> .fl-col-content:after {
|
82 |
background-color: #<?php echo $col->settings->bg_overlay_color; ?>;
|
83 |
background-color: rgba(<?php echo implode( ',', FLBuilderColor::hex_to_rgb( $col->settings->bg_overlay_color ) ) ?>, <?php echo $col->settings->bg_overlay_opacity/100; ?>);
|
84 |
}
|
85 |
<?php endif; ?>
|
86 |
|
87 |
+
<?php if(!empty($col->settings->border_type)) : // Border ?>
|
88 |
.fl-builder-content .fl-node-<?php echo $col->node; ?> .fl-col-content {
|
89 |
border-style: <?php echo $col->settings->border_type; ?>;
|
90 |
border-color: #<?php echo $col->settings->border_color; ?>;
|
96 |
}
|
97 |
<?php endif; ?>
|
98 |
|
99 |
+
<?php if($global_settings->responsive_enabled) : // Responsive Sizes ?>
|
100 |
|
101 |
<?php if($col->settings->medium_size == 'custom') : ?>
|
102 |
@media(max-width: <?php echo $global_settings->medium_breakpoint; ?>px) {
|
includes/column-settings.php
CHANGED
@@ -32,6 +32,30 @@ FLBuilder::register_settings_form('col', array(
|
|
32 |
'preview' => array(
|
33 |
'type' => 'none'
|
34 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
)
|
36 |
)
|
37 |
),
|
32 |
'preview' => array(
|
33 |
'type' => 'none'
|
34 |
)
|
35 |
+
),
|
36 |
+
'link_color' => array(
|
37 |
+
'type' => 'color',
|
38 |
+
'label' => __('Link Color', 'fl-builder'),
|
39 |
+
'show_reset' => true,
|
40 |
+
'preview' => array(
|
41 |
+
'type' => 'none'
|
42 |
+
)
|
43 |
+
),
|
44 |
+
'hover_color' => array(
|
45 |
+
'type' => 'color',
|
46 |
+
'label' => __('Link Hover Color', 'fl-builder'),
|
47 |
+
'show_reset' => true,
|
48 |
+
'preview' => array(
|
49 |
+
'type' => 'none'
|
50 |
+
)
|
51 |
+
),
|
52 |
+
'heading_color' => array(
|
53 |
+
'type' => 'color',
|
54 |
+
'label' => __('Heading Color', 'fl-builder'),
|
55 |
+
'show_reset' => true,
|
56 |
+
'preview' => array(
|
57 |
+
'type' => 'none'
|
58 |
+
)
|
59 |
)
|
60 |
)
|
61 |
),
|
includes/field-editor.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
|
9 |
global $wp_version;
|
10 |
|
11 |
-
$editor_id = 'flrich' . time() . '_' . $name
|
12 |
|
13 |
wp_editor($value, $editor_id, array(
|
14 |
'media_buttons' => isset($field['media_buttons']) ? $field['media_buttons'] : true,
|
8 |
|
9 |
global $wp_version;
|
10 |
|
11 |
+
$editor_id = 'flrich' . time() . '_' . $name;
|
12 |
|
13 |
wp_editor($value, $editor_id, array(
|
14 |
'media_buttons' => isset($field['media_buttons']) ? $field['media_buttons'] : true,
|
includes/field-multiple-photos.php
CHANGED
@@ -1,17 +1,26 @@
|
|
1 |
-
|
2 |
-
<div class="fl-multiple-photos-count">
|
3 |
-
<?php
|
4 |
-
|
5 |
-
$count = is_array($value) ? count($value) : false;
|
6 |
|
7 |
-
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
}
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
</div>
|
13 |
<a class="fl-multiple-photos-select" href="javascript:void(0);" onclick="return false;"><?php _e('Create Gallery', 'fl-builder'); ?></a>
|
14 |
<a class="fl-multiple-photos-edit" href="javascript:void(0);" onclick="return false;"><?php _e('Edit Gallery', 'fl-builder'); ?></a>
|
15 |
<a class="fl-multiple-photos-add" href="javascript:void(0);" onclick="return false;"><?php _e('Add Photos', 'fl-builder'); ?></a>
|
16 |
-
<input name="<?php echo $name; ?>" type="hidden" value='<?php if(!empty($value)) echo json_encode($value); ?>' />
|
17 |
</div>
|
1 |
+
<?php
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
// Normalize the value so we have an array.
|
4 |
+
if ( ! empty( $value ) && is_string( $value ) ) {
|
5 |
+
|
6 |
+
$value = json_decode( $value );
|
7 |
+
|
8 |
+
// Older versions might be double encoded.
|
9 |
+
if ( is_string( $value ) ) {
|
10 |
+
$value = json_decode( $value );
|
11 |
}
|
12 |
+
}
|
13 |
+
else if ( empty( $value ) ) {
|
14 |
+
$value = array();
|
15 |
+
}
|
16 |
+
|
17 |
+
?>
|
18 |
+
<div class="fl-multiple-photos-field fl-builder-custom-field<?php if ( empty( $value ) ) echo ' fl-multiple-photos-empty'; if ( isset( $field['class'] ) ) echo ' ' . $field['class']; ?>">
|
19 |
+
<div class="fl-multiple-photos-count">
|
20 |
+
<?php printf( _n( '1 Photo Selected', '%d Photos Selected', count( $value ), 'fl-builder' ), count( $value ) ); ?>
|
21 |
</div>
|
22 |
<a class="fl-multiple-photos-select" href="javascript:void(0);" onclick="return false;"><?php _e('Create Gallery', 'fl-builder'); ?></a>
|
23 |
<a class="fl-multiple-photos-edit" href="javascript:void(0);" onclick="return false;"><?php _e('Edit Gallery', 'fl-builder'); ?></a>
|
24 |
<a class="fl-multiple-photos-add" href="javascript:void(0);" onclick="return false;"><?php _e('Add Photos', 'fl-builder'); ?></a>
|
25 |
+
<input name="<?php echo $name; ?>" type="hidden" value='<?php if ( ! empty( $value ) ) echo json_encode( $value ); ?>' />
|
26 |
</div>
|
includes/field-select.php
CHANGED
@@ -1,15 +1,25 @@
|
|
1 |
-
<select name="<?php echo $name; ?>"<?php if(isset($field['class'])) echo ' class="'. $field['class'] .'"'; if(isset($field['toggle'])) echo "data-toggle='". json_encode($field['toggle']) ."'"; if(isset($field['hide'])) echo "data-hide='". json_encode($field['hide']) ."'"; if(isset($field['trigger'])) echo "data-trigger='". json_encode($field['trigger']) ."'"; ?>>
|
2 |
<?php
|
3 |
|
4 |
-
foreach($field['options'] as $
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
if(is_array($val) && isset($val['premium']) && $val['premium'] && FL_BUILDER_LITE === true) {
|
9 |
continue;
|
10 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
?>
|
13 |
-
<option value="<?php echo $
|
14 |
<?php endforeach; ?>
|
15 |
</select>
|
1 |
+
<select name="<?php echo $name; if(isset($field['multi-select'])) echo '[]'; ?>"<?php if(isset($field['class'])) echo ' class="'. $field['class'] .'"'; if(isset($field['multi-select'])) echo ' multiple '; if(isset($field['toggle'])) echo "data-toggle='". json_encode($field['toggle']) ."'"; if(isset($field['hide'])) echo "data-hide='". json_encode($field['hide']) ."'"; if(isset($field['trigger'])) echo "data-trigger='". json_encode($field['trigger']) ."'"; ?>>
|
2 |
<?php
|
3 |
|
4 |
+
foreach ( $field['options'] as $option_key => $option_val ) :
|
5 |
|
6 |
+
if ( is_array( $option_val ) && isset( $option_val['premium' ] ) && $option_val['premium'] && true === FL_BUILDER_LITE ) {
|
|
|
|
|
7 |
continue;
|
8 |
}
|
9 |
+
|
10 |
+
$label = is_array( $option_val ) ? $option_val['label'] : $option_val;
|
11 |
+
|
12 |
+
if ( is_array( $value ) && in_array( $option_key, $value ) ) {
|
13 |
+
$selected = ' selected="selected"';
|
14 |
+
}
|
15 |
+
else if ( ! is_array( $value ) && selected( $value, $option_key, true ) ) {
|
16 |
+
$selected = ' selected="selected"';
|
17 |
+
}
|
18 |
+
else {
|
19 |
+
$selected = '';
|
20 |
+
}
|
21 |
|
22 |
?>
|
23 |
+
<option value="<?php echo $option_key; ?>" <?php echo $selected; ?>><?php echo $label; ?></option>
|
24 |
<?php endforeach; ?>
|
25 |
</select>
|
includes/row-css.php
CHANGED
@@ -1,24 +1,69 @@
|
|
1 |
-
<?php if(!empty($row->settings->text_color)) : ?>
|
2 |
-
.fl-node-<?php echo $row->node;
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
.fl-node-<?php echo $row->node; ?> h1,
|
5 |
.fl-node-<?php echo $row->node; ?> h2,
|
6 |
.fl-node-<?php echo $row->node; ?> h3,
|
7 |
.fl-node-<?php echo $row->node; ?> h4,
|
8 |
.fl-node-<?php echo $row->node; ?> h5,
|
9 |
-
.fl-node-<?php echo $row->node; ?> h6
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
color: #<?php echo $row->settings->text_color; ?>;
|
11 |
}
|
12 |
<?php endif; ?>
|
13 |
|
14 |
-
<?php if($row->settings->bg_type == 'color' && !empty($row->settings->bg_color)) : ?>
|
15 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
16 |
background-color: #<?php echo $row->settings->bg_color; ?>;
|
17 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->bg_color)) ?>, <?php echo $row->settings->bg_opacity/100; ?>);
|
18 |
}
|
19 |
<?php endif; ?>
|
20 |
|
21 |
-
<?php if($row->settings->bg_type == 'photo' && !empty($row->settings->bg_image)) : ?>
|
22 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
23 |
background-image: url(<?php echo $row->settings->bg_image_src; ?>);
|
24 |
background-repeat: <?php echo $row->settings->bg_repeat; ?>;
|
@@ -28,14 +73,14 @@
|
|
28 |
}
|
29 |
<?php endif; ?>
|
30 |
|
31 |
-
<?php if( in_array( $row->settings->bg_type, array('photo', 'parallax', 'slideshow', 'video') ) && !empty($row->settings->bg_overlay_color)) : ?>
|
32 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap:after {
|
33 |
background-color: #<?php echo $row->settings->bg_overlay_color; ?>;
|
34 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->bg_overlay_color)) ?>, <?php echo $row->settings->bg_overlay_opacity/100; ?>);
|
35 |
}
|
36 |
<?php endif; ?>
|
37 |
|
38 |
-
<?php if($row->settings->bg_type == 'parallax' && !empty($row->settings->bg_parallax_image_src)) : ?>
|
39 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
40 |
background-repeat: no-repeat;
|
41 |
background-position: center center;
|
@@ -49,7 +94,7 @@
|
|
49 |
}
|
50 |
<?php endif; ?>
|
51 |
|
52 |
-
<?php if(!empty($row->settings->border_type)) : ?>
|
53 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
54 |
border-style: <?php echo $row->settings->border_type; ?>;
|
55 |
border-color: #<?php echo $row->settings->border_color; ?>;
|
1 |
+
<?php if(!empty($row->settings->text_color)) : // Text Color ?>
|
2 |
+
.fl-node-<?php echo $row->node; ?> {
|
3 |
+
color: #<?php echo $row->settings->text_color; ?>;
|
4 |
+
}
|
5 |
+
<?php endif; ?>
|
6 |
+
|
7 |
+
<?php if(!empty($row->settings->link_color)) : // Link Color ?>
|
8 |
+
.fl-node-<?php echo $row->node; ?> a {
|
9 |
+
color: #<?php echo $row->settings->link_color; ?>;
|
10 |
+
}
|
11 |
+
<?php elseif(!empty($row->settings->text_color)) : ?>
|
12 |
+
.fl-node-<?php echo $row->node; ?> a {
|
13 |
+
color: #<?php echo $row->settings->text_color; ?>;
|
14 |
+
}
|
15 |
+
<?php endif; ?>
|
16 |
+
|
17 |
+
<?php if(!empty($row->settings->hover_color)) : // Link Hover Color ?>
|
18 |
+
.fl-node-<?php echo $row->node; ?> a:hover {
|
19 |
+
color: #<?php echo $row->settings->hover_color; ?>;
|
20 |
+
}
|
21 |
+
<?php elseif(!empty($row->settings->text_color)) : ?>
|
22 |
+
.fl-node-<?php echo $row->node; ?> a:hover {
|
23 |
+
color: #<?php echo $row->settings->text_color; ?>;
|
24 |
+
}
|
25 |
+
<?php endif; ?>
|
26 |
+
|
27 |
+
<?php if(!empty($row->settings->heading_color)) : // Heading Color ?>
|
28 |
+
.fl-node-<?php echo $row->node; ?> h1,
|
29 |
+
.fl-node-<?php echo $row->node; ?> h2,
|
30 |
+
.fl-node-<?php echo $row->node; ?> h3,
|
31 |
+
.fl-node-<?php echo $row->node; ?> h4,
|
32 |
+
.fl-node-<?php echo $row->node; ?> h5,
|
33 |
+
.fl-node-<?php echo $row->node; ?> h6,
|
34 |
+
.fl-node-<?php echo $row->node; ?> h1 a,
|
35 |
+
.fl-node-<?php echo $row->node; ?> h2 a,
|
36 |
+
.fl-node-<?php echo $row->node; ?> h3 a,
|
37 |
+
.fl-node-<?php echo $row->node; ?> h4 a,
|
38 |
+
.fl-node-<?php echo $row->node; ?> h5 a,
|
39 |
+
.fl-node-<?php echo $row->node; ?> h6 a {
|
40 |
+
color: #<?php echo $row->settings->heading_color; ?>;
|
41 |
+
}
|
42 |
+
<?php elseif(!empty($row->settings->text_color)) : ?>
|
43 |
.fl-node-<?php echo $row->node; ?> h1,
|
44 |
.fl-node-<?php echo $row->node; ?> h2,
|
45 |
.fl-node-<?php echo $row->node; ?> h3,
|
46 |
.fl-node-<?php echo $row->node; ?> h4,
|
47 |
.fl-node-<?php echo $row->node; ?> h5,
|
48 |
+
.fl-node-<?php echo $row->node; ?> h6,
|
49 |
+
.fl-node-<?php echo $row->node; ?> h1 a,
|
50 |
+
.fl-node-<?php echo $row->node; ?> h2 a,
|
51 |
+
.fl-node-<?php echo $row->node; ?> h3 a,
|
52 |
+
.fl-node-<?php echo $row->node; ?> h4 a,
|
53 |
+
.fl-node-<?php echo $row->node; ?> h5 a,
|
54 |
+
.fl-node-<?php echo $row->node; ?> h6 a {
|
55 |
color: #<?php echo $row->settings->text_color; ?>;
|
56 |
}
|
57 |
<?php endif; ?>
|
58 |
|
59 |
+
<?php if($row->settings->bg_type == 'color' && !empty($row->settings->bg_color)) : // Background Color ?>
|
60 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
61 |
background-color: #<?php echo $row->settings->bg_color; ?>;
|
62 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->bg_color)) ?>, <?php echo $row->settings->bg_opacity/100; ?>);
|
63 |
}
|
64 |
<?php endif; ?>
|
65 |
|
66 |
+
<?php if($row->settings->bg_type == 'photo' && !empty($row->settings->bg_image)) : // Background Photo ?>
|
67 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
68 |
background-image: url(<?php echo $row->settings->bg_image_src; ?>);
|
69 |
background-repeat: <?php echo $row->settings->bg_repeat; ?>;
|
73 |
}
|
74 |
<?php endif; ?>
|
75 |
|
76 |
+
<?php if( in_array( $row->settings->bg_type, array('photo', 'parallax', 'slideshow', 'video') ) && !empty($row->settings->bg_overlay_color)) : // Background Color Overlay ?>
|
77 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap:after {
|
78 |
background-color: #<?php echo $row->settings->bg_overlay_color; ?>;
|
79 |
background-color: rgba(<?php echo implode(',', FLBuilderColor::hex_to_rgb($row->settings->bg_overlay_color)) ?>, <?php echo $row->settings->bg_overlay_opacity/100; ?>);
|
80 |
}
|
81 |
<?php endif; ?>
|
82 |
|
83 |
+
<?php if($row->settings->bg_type == 'parallax' && !empty($row->settings->bg_parallax_image_src)) : // Parallax Background ?>
|
84 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
85 |
background-repeat: no-repeat;
|
86 |
background-position: center center;
|
94 |
}
|
95 |
<?php endif; ?>
|
96 |
|
97 |
+
<?php if(!empty($row->settings->border_type)) : // Border ?>
|
98 |
.fl-node-<?php echo $row->node; ?> .fl-row-content-wrap {
|
99 |
border-style: <?php echo $row->settings->border_type; ?>;
|
100 |
border-color: #<?php echo $row->settings->border_color; ?>;
|
includes/row-settings.php
CHANGED
@@ -44,12 +44,36 @@ FLBuilder::register_settings_form('row', array(
|
|
44 |
),
|
45 |
)
|
46 |
),
|
47 |
-
'
|
48 |
-
'title' => __('
|
49 |
'fields' => array(
|
50 |
'text_color' => array(
|
51 |
'type' => 'color',
|
52 |
-
'label' => __('Color', 'fl-builder'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
'show_reset' => true,
|
54 |
'preview' => array(
|
55 |
'type' => 'none'
|
44 |
),
|
45 |
)
|
46 |
),
|
47 |
+
'colors' => array(
|
48 |
+
'title' => __('Colors', 'fl-builder'),
|
49 |
'fields' => array(
|
50 |
'text_color' => array(
|
51 |
'type' => 'color',
|
52 |
+
'label' => __('Text Color', 'fl-builder'),
|
53 |
+
'show_reset' => true,
|
54 |
+
'preview' => array(
|
55 |
+
'type' => 'none'
|
56 |
+
)
|
57 |
+
),
|
58 |
+
'link_color' => array(
|
59 |
+
'type' => 'color',
|
60 |
+
'label' => __('Link Color', 'fl-builder'),
|
61 |
+
'show_reset' => true,
|
62 |
+
'preview' => array(
|
63 |
+
'type' => 'none'
|
64 |
+
)
|
65 |
+
),
|
66 |
+
'hover_color' => array(
|
67 |
+
'type' => 'color',
|
68 |
+
'label' => __('Link Hover Color', 'fl-builder'),
|
69 |
+
'show_reset' => true,
|
70 |
+
'preview' => array(
|
71 |
+
'type' => 'none'
|
72 |
+
)
|
73 |
+
),
|
74 |
+
'heading_color' => array(
|
75 |
+
'type' => 'color',
|
76 |
+
'label' => __('Heading Color', 'fl-builder'),
|
77 |
'show_reset' => true,
|
78 |
'preview' => array(
|
79 |
'type' => 'none'
|
includes/updater-config.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
if(class_exists('FLUpdater')) {
|
4 |
FLUpdater::add_product(array(
|
5 |
'name' => 'Beaver Builder Plugin (Lite Version)',
|
6 |
-
'version' => '1.
|
7 |
'slug' => 'bb-plugin',
|
8 |
'type' => 'plugin'
|
9 |
));
|
3 |
if(class_exists('FLUpdater')) {
|
4 |
FLUpdater::add_product(array(
|
5 |
'name' => 'Beaver Builder Plugin (Lite Version)',
|
6 |
+
'version' => '1.6.0.1',
|
7 |
'slug' => 'bb-plugin',
|
8 |
'type' => 'plugin'
|
9 |
));
|
includes/vendor/activecampaign/Account.class.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Account extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=account_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function cancel($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=account_cancel&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function edit($params, $post_data) {
|
30 |
+
$request_url = "{$this->url}&api_action=account_edit&api_output={$this->output}";
|
31 |
+
$response = $this->curl($request_url, $post_data);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function list_($params) {
|
36 |
+
$request_url = "{$this->url}&api_action=account_list&api_output={$this->output}&{$params}";
|
37 |
+
$response = $this->curl($request_url);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function name_check($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=account_name_check&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function plans($params) {
|
48 |
+
$request_url = "{$this->url}&api_action=account_plans&api_output={$this->output}&{$params}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function status($params) {
|
54 |
+
$request_url = "{$this->url}&api_action=account_status&api_output={$this->output}&{$params}";
|
55 |
+
$response = $this->curl($request_url);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function status_set($params) {
|
60 |
+
$request_url = "{$this->url}&api_action=account_status_set&api_output={$this->output}&{$params}";
|
61 |
+
$response = $this->curl($request_url);
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
function view() {
|
66 |
+
$request_url = "{$this->url}&api_action=account_view&api_output={$this->output}";
|
67 |
+
$response = $this->curl($request_url);
|
68 |
+
return $response;
|
69 |
+
}
|
70 |
+
|
71 |
+
}
|
72 |
+
|
73 |
+
?>
|
includes/vendor/activecampaign/ActiveCampaign.class.php
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( !defined("ACTIVECAMPAIGN_URL") || (!defined("ACTIVECAMPAIGN_API_KEY") && !defined("ACTIVECAMPAIGN_API_USER") && !defined("ACTIVECAMPAIGN_API_PASS")) ) {
|
4 |
+
require_once(dirname(__FILE__) . "/config.php");
|
5 |
+
}
|
6 |
+
|
7 |
+
require_once("Connector.class.php");
|
8 |
+
|
9 |
+
class ActiveCampaign extends AC_Connector {
|
10 |
+
|
11 |
+
public $url_base;
|
12 |
+
public $url;
|
13 |
+
public $api_key;
|
14 |
+
public $track_email;
|
15 |
+
public $track_actid;
|
16 |
+
public $track_key;
|
17 |
+
public $version = 1;
|
18 |
+
public $debug = false;
|
19 |
+
|
20 |
+
function __construct($url, $api_key, $api_user = "", $api_pass = "") {
|
21 |
+
$this->url_base = $this->url = $url;
|
22 |
+
$this->api_key = $api_key;
|
23 |
+
parent::__construct($url, $api_key, $api_user, $api_pass);
|
24 |
+
}
|
25 |
+
|
26 |
+
function version($version) {
|
27 |
+
$this->version = (int)$version;
|
28 |
+
if ($version == 2) {
|
29 |
+
$this->url_base = $this->url_base . "/2";
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
function api($path, $post_data = array()) {
|
34 |
+
// IE: "contact/view"
|
35 |
+
$components = explode("/", $path);
|
36 |
+
$component = $components[0];
|
37 |
+
|
38 |
+
if (count($components) > 2) {
|
39 |
+
// IE: "contact/tag/add?whatever"
|
40 |
+
// shift off the first item (the component, IE: "contact").
|
41 |
+
array_shift($components);
|
42 |
+
// IE: convert to "tag_add?whatever"
|
43 |
+
$method_str = implode("_", $components);
|
44 |
+
$components = array($component, $method_str);
|
45 |
+
}
|
46 |
+
|
47 |
+
if (preg_match("/\?/", $components[1])) {
|
48 |
+
// query params appended to method
|
49 |
+
// IE: contact/edit?overwrite=0
|
50 |
+
$method_arr = explode("?", $components[1]);
|
51 |
+
$method = $method_arr[0];
|
52 |
+
$params = $method_arr[1];
|
53 |
+
}
|
54 |
+
else {
|
55 |
+
// just a method provided
|
56 |
+
// IE: "contact/view
|
57 |
+
if ( isset($components[1]) ) {
|
58 |
+
$method = $components[1];
|
59 |
+
$params = "";
|
60 |
+
}
|
61 |
+
else {
|
62 |
+
return "Invalid method.";
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
// adjustments
|
67 |
+
if ($component == "list") {
|
68 |
+
// reserved word
|
69 |
+
$component = "list_";
|
70 |
+
}
|
71 |
+
elseif ($component == "branding") {
|
72 |
+
$component = "design";
|
73 |
+
}
|
74 |
+
elseif ($component == "sync") {
|
75 |
+
$component = "contact";
|
76 |
+
$method = "sync";
|
77 |
+
}
|
78 |
+
elseif ($component == "singlesignon") {
|
79 |
+
$component = "auth";
|
80 |
+
}
|
81 |
+
|
82 |
+
$class = ucwords($component); // IE: "contact" becomes "Contact"
|
83 |
+
$class = "AC_" . $class;
|
84 |
+
// IE: new Contact();
|
85 |
+
|
86 |
+
$add_tracking = false;
|
87 |
+
if ($class == "AC_Tracking") $add_tracking = true;
|
88 |
+
|
89 |
+
$class = new $class($this->version, $this->url_base, $this->url, $this->api_key);
|
90 |
+
// IE: $contact->view()
|
91 |
+
|
92 |
+
if ($add_tracking) {
|
93 |
+
$class->track_email = $this->track_email;
|
94 |
+
$class->track_actid = $this->track_actid;
|
95 |
+
$class->track_key = $this->track_key;
|
96 |
+
}
|
97 |
+
|
98 |
+
if ($method == "list") {
|
99 |
+
// reserved word
|
100 |
+
$method = "list_";
|
101 |
+
}
|
102 |
+
|
103 |
+
$class->debug = $this->debug;
|
104 |
+
|
105 |
+
$response = $class->$method($params, $post_data);
|
106 |
+
return $response;
|
107 |
+
}
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
require_once("Account.class.php");
|
112 |
+
require_once("Auth.class.php");
|
113 |
+
require_once("Automation.class.php");
|
114 |
+
require_once("Campaign.class.php");
|
115 |
+
require_once("Contact.class.php");
|
116 |
+
require_once("Deal.class.php");
|
117 |
+
require_once("Design.class.php");
|
118 |
+
require_once("Form.class.php");
|
119 |
+
require_once("Group.class.php");
|
120 |
+
require_once("List.class.php");
|
121 |
+
require_once("Message.class.php");
|
122 |
+
require_once("Settings.class.php");
|
123 |
+
require_once("Subscriber.class.php");
|
124 |
+
require_once("Tracking.class.php");
|
125 |
+
require_once("User.class.php");
|
126 |
+
require_once("Webhook.class.php");
|
127 |
+
|
128 |
+
?>
|
includes/vendor/activecampaign/Auth.class.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Auth extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function singlesignon($params) {
|
18 |
+
$request_url = "{$this->url}&api_action=singlesignon&api_output={$this->output}&{$params}";
|
19 |
+
$response = $this->curl($request_url);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
24 |
+
|
25 |
+
?>
|
includes/vendor/activecampaign/Automation.class.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Automation extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function list_($params) {
|
18 |
+
$request_url = "{$this->url}&api_action=automation_list&api_output={$this->output}&{$params}";
|
19 |
+
$response = $this->curl($request_url);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function contact_add($params, $post_data) {
|
24 |
+
$request_url = "{$this->url}&api_action=automation_contact_add&api_output={$this->output}";
|
25 |
+
if ($params) $request_url .= "&{$params}";
|
26 |
+
$response = $this->curl($request_url, $post_data);
|
27 |
+
return $response;
|
28 |
+
}
|
29 |
+
|
30 |
+
function contact_remove($params, $post_data) {
|
31 |
+
$request_url = "{$this->url}&api_action=automation_contact_remove&api_output={$this->output}";
|
32 |
+
if ($params) $request_url .= "&{$params}";
|
33 |
+
$response = $this->curl($request_url, $post_data);
|
34 |
+
return $response;
|
35 |
+
}
|
36 |
+
|
37 |
+
function contact_list($params) {
|
38 |
+
$request_url = "{$this->url}&api_action=automation_contact_list&api_output={$this->output}&{$params}";
|
39 |
+
$response = $this->curl($request_url);
|
40 |
+
return $response;
|
41 |
+
}
|
42 |
+
|
43 |
+
function contact_view($params) {
|
44 |
+
$request_url = "{$this->url}&api_action=automation_contact_view&api_output={$this->output}&{$params}";
|
45 |
+
$response = $this->curl($request_url);
|
46 |
+
return $response;
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
?>
|
includes/vendor/activecampaign/Campaign.class.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Campaign extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function create($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=campaign_create&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete_list($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=campaign_delete_list&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=campaign_delete&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function list_($params) {
|
36 |
+
$request_url = "{$this->url}&api_action=campaign_list&api_output={$this->output}&{$params}";
|
37 |
+
$response = $this->curl($request_url);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function paginator($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=campaign_paginator&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function report_bounce_list($params) {
|
48 |
+
$request_url = "{$this->url}&api_action=campaign_report_bounce_list&api_output={$this->output}&{$params}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function report_bounce_totals($params) {
|
54 |
+
$request_url = "{$this->url}&api_action=campaign_report_bounce_totals&api_output={$this->output}&{$params}";
|
55 |
+
$response = $this->curl($request_url);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function report_forward_list($params) {
|
60 |
+
$request_url = "{$this->url}&api_action=campaign_report_forward_list&api_output={$this->output}&{$params}";
|
61 |
+
$response = $this->curl($request_url);
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
function report_forward_totals($params) {
|
66 |
+
$request_url = "{$this->url}&api_action=campaign_report_forward_totals&api_output={$this->output}&{$params}";
|
67 |
+
$response = $this->curl($request_url);
|
68 |
+
return $response;
|
69 |
+
}
|
70 |
+
|
71 |
+
function report_link_list($params) {
|
72 |
+
$request_url = "{$this->url}&api_action=campaign_report_link_list&api_output={$this->output}&{$params}";
|
73 |
+
$response = $this->curl($request_url);
|
74 |
+
return $response;
|
75 |
+
}
|
76 |
+
|
77 |
+
function report_link_totals($params) {
|
78 |
+
$request_url = "{$this->url}&api_action=campaign_report_link_totals&api_output={$this->output}&{$params}";
|
79 |
+
$response = $this->curl($request_url);
|
80 |
+
return $response;
|
81 |
+
}
|
82 |
+
|
83 |
+
function report_open_list($params) {
|
84 |
+
$request_url = "{$this->url}&api_action=campaign_report_open_list&api_output={$this->output}&{$params}";
|
85 |
+
$response = $this->curl($request_url);
|
86 |
+
return $response;
|
87 |
+
}
|
88 |
+
|
89 |
+
function report_open_totals($params) {
|
90 |
+
$request_url = "{$this->url}&api_action=campaign_report_open_totals&api_output={$this->output}&{$params}";
|
91 |
+
$response = $this->curl($request_url);
|
92 |
+
return $response;
|
93 |
+
}
|
94 |
+
|
95 |
+
function report_totals($params) {
|
96 |
+
$request_url = "{$this->url}&api_action=campaign_report_totals&api_output={$this->output}&{$params}";
|
97 |
+
$response = $this->curl($request_url);
|
98 |
+
return $response;
|
99 |
+
}
|
100 |
+
|
101 |
+
function report_unopen_list($params) {
|
102 |
+
$request_url = "{$this->url}&api_action=campaign_report_unopen_list&api_output={$this->output}&{$params}";
|
103 |
+
$response = $this->curl($request_url);
|
104 |
+
return $response;
|
105 |
+
}
|
106 |
+
|
107 |
+
function report_unsubscription_list($params) {
|
108 |
+
$request_url = "{$this->url}&api_action=campaign_report_unsubscription_list&api_output={$this->output}&{$params}";
|
109 |
+
$response = $this->curl($request_url);
|
110 |
+
return $response;
|
111 |
+
}
|
112 |
+
|
113 |
+
function report_unsubscription_totals($params) {
|
114 |
+
$request_url = "{$this->url}&api_action=campaign_report_unsubscription_totals&api_output={$this->output}&{$params}";
|
115 |
+
$response = $this->curl($request_url);
|
116 |
+
return $response;
|
117 |
+
}
|
118 |
+
|
119 |
+
function send($params) {
|
120 |
+
$request_url = "{$this->url}&api_action=campaign_send&api_output={$this->output}&{$params}";
|
121 |
+
$response = $this->curl($request_url);
|
122 |
+
return $response;
|
123 |
+
}
|
124 |
+
|
125 |
+
function status($params) {
|
126 |
+
$request_url = "{$this->url}&api_action=campaign_status&api_output={$this->output}&{$params}";
|
127 |
+
$response = $this->curl($request_url);
|
128 |
+
return $response;
|
129 |
+
}
|
130 |
+
|
131 |
+
}
|
132 |
+
|
133 |
+
?>
|
includes/vendor/activecampaign/Connector.class.php
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Connector {
|
4 |
+
|
5 |
+
public $url;
|
6 |
+
public $api_key;
|
7 |
+
public $output = "json";
|
8 |
+
|
9 |
+
function __construct($url, $api_key, $api_user = "", $api_pass = "") {
|
10 |
+
// $api_pass should be md5() already
|
11 |
+
$base = "";
|
12 |
+
if (!preg_match("/https:\/\/www.activecampaign.com/", $url)) {
|
13 |
+
// not a reseller
|
14 |
+
$base = "/admin";
|
15 |
+
}
|
16 |
+
if (preg_match("/\/$/", $url)) {
|
17 |
+
// remove trailing slash
|
18 |
+
$url = substr($url, 0, strlen($url) - 1);
|
19 |
+
}
|
20 |
+
if ($api_key) {
|
21 |
+
$this->url = "{$url}{$base}/api.php?api_key={$api_key}";
|
22 |
+
}
|
23 |
+
elseif ($api_user && $api_pass) {
|
24 |
+
$this->url = "{$url}{$base}/api.php?api_user={$api_user}&api_pass={$api_pass}";
|
25 |
+
}
|
26 |
+
$this->api_key = $api_key;
|
27 |
+
}
|
28 |
+
|
29 |
+
public function credentials_test() {
|
30 |
+
$test_url = "{$this->url}&api_action=user_me&api_output={$this->output}";
|
31 |
+
$r = $this->curl($test_url);
|
32 |
+
if (is_object($r) && (int)$r->result_code) {
|
33 |
+
// successful
|
34 |
+
$r = true;
|
35 |
+
}
|
36 |
+
else {
|
37 |
+
// failed
|
38 |
+
$r = false;
|
39 |
+
}
|
40 |
+
return $r;
|
41 |
+
}
|
42 |
+
|
43 |
+
// debug function (nicely outputs variables)
|
44 |
+
public function dbg($var, $continue = 0, $element = "pre", $extra = "") {
|
45 |
+
echo "<" . $element . ">";
|
46 |
+
echo "Vartype: " . gettype($var) . "\n";
|
47 |
+
if ( is_array($var) ) echo "Elements: " . count($var) . "\n";
|
48 |
+
elseif ( is_string($var) ) echo "Length: " . strlen($var) . "\n";
|
49 |
+
if ($extra) {
|
50 |
+
echo $extra . "\n";
|
51 |
+
}
|
52 |
+
echo "\n";
|
53 |
+
print_r($var);
|
54 |
+
echo "</" . $element . ">";
|
55 |
+
if (!$continue) exit();
|
56 |
+
}
|
57 |
+
|
58 |
+
public function curl($url, $params_data = array(), $verb = "", $custom_method = "") {
|
59 |
+
if ($this->version == 1) {
|
60 |
+
// find the method from the URL.
|
61 |
+
$method = preg_match("/api_action=[^&]*/i", $url, $matches);
|
62 |
+
if ($matches) {
|
63 |
+
$method = preg_match("/[^=]*$/i", $matches[0], $matches2);
|
64 |
+
$method = $matches2[0];
|
65 |
+
} elseif ($custom_method) {
|
66 |
+
$method = $custom_method;
|
67 |
+
}
|
68 |
+
} elseif ($this->version == 2) {
|
69 |
+
$method = $custom_method;
|
70 |
+
$url .= "?api_key=" . $this->api_key;
|
71 |
+
}
|
72 |
+
$debug_str1 = "";
|
73 |
+
$request = curl_init();
|
74 |
+
$debug_str1 .= "\$ch = curl_init();\n";
|
75 |
+
curl_setopt($request, CURLOPT_HEADER, 0);
|
76 |
+
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
|
77 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_HEADER, 0);\n";
|
78 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_RETURNTRANSFER, true);\n";
|
79 |
+
if ($params_data && $verb == "GET") {
|
80 |
+
if ($this->version == 2) {
|
81 |
+
$url .= "&" . $params_data;
|
82 |
+
curl_setopt($request, CURLOPT_URL, $url);
|
83 |
+
}
|
84 |
+
}
|
85 |
+
else {
|
86 |
+
curl_setopt($request, CURLOPT_URL, $url);
|
87 |
+
if ($params_data && !$verb) {
|
88 |
+
// if no verb passed but there IS params data, it's likely POST.
|
89 |
+
$verb = "POST";
|
90 |
+
} elseif ($params_data && $verb) {
|
91 |
+
// $verb is likely "POST" or "PUT".
|
92 |
+
} else {
|
93 |
+
$verb = "GET";
|
94 |
+
}
|
95 |
+
}
|
96 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_URL, \"" . $url . "\");\n";
|
97 |
+
if ($this->debug) {
|
98 |
+
$this->dbg($url, 1, "pre", "Description: Request URL");
|
99 |
+
}
|
100 |
+
if ($verb == "POST" || $verb == "PUT" || $verb == "DELETE") {
|
101 |
+
if ($verb == "PUT") {
|
102 |
+
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "PUT");
|
103 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_CUSTOMREQUEST, \"PUT\");\n";
|
104 |
+
} elseif ($verb == "DELETE") {
|
105 |
+
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "DELETE");
|
106 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_CUSTOMREQUEST, \"DELETE\");\n";
|
107 |
+
} else {
|
108 |
+
$verb = "POST";
|
109 |
+
curl_setopt($request, CURLOPT_POST, 1);
|
110 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_POST, 1);\n";
|
111 |
+
}
|
112 |
+
$data = "";
|
113 |
+
if (is_array($params_data)) {
|
114 |
+
foreach($params_data as $key => $value) {
|
115 |
+
if (is_array($value)) {
|
116 |
+
|
117 |
+
if (is_int($key)) {
|
118 |
+
// array two levels deep
|
119 |
+
foreach ($value as $key_ => $value_) {
|
120 |
+
if (is_array($value_)) {
|
121 |
+
foreach ($value_ as $k => $v) {
|
122 |
+
$k = urlencode($k);
|
123 |
+
$data .= "{$key_}[{$key}][{$k}]=" . urlencode($v) . "&";
|
124 |
+
}
|
125 |
+
}
|
126 |
+
else {
|
127 |
+
$data .= "{$key_}[{$key}]=" . urlencode($value_) . "&";
|
128 |
+
}
|
129 |
+
}
|
130 |
+
}
|
131 |
+
else {
|
132 |
+
// IE: [group] => array(2 => 2, 3 => 3)
|
133 |
+
// normally we just want the key to be a string, IE: ["group[2]"] => 2
|
134 |
+
// but we want to allow passing both formats
|
135 |
+
foreach ($value as $k => $v) {
|
136 |
+
if (!is_array($v)) {
|
137 |
+
$k = urlencode($k);
|
138 |
+
$data .= "{$key}[{$k}]=" . urlencode($v) . "&";
|
139 |
+
}
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
}
|
144 |
+
else {
|
145 |
+
$data .= "{$key}=" . urlencode($value) . "&";
|
146 |
+
}
|
147 |
+
}
|
148 |
+
}
|
149 |
+
else {
|
150 |
+
// not an array - perhaps serialized or JSON string?
|
151 |
+
// just pass it as data
|
152 |
+
$data = "data={$params_data}";
|
153 |
+
}
|
154 |
+
|
155 |
+
$data = rtrim($data, "& ");
|
156 |
+
curl_setopt($request, CURLOPT_HTTPHEADER, array("Expect:"));
|
157 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_HTTPHEADER, array(\"Expect:\"));\n";
|
158 |
+
if ($this->debug) {
|
159 |
+
curl_setopt($request, CURLINFO_HEADER_OUT, 1);
|
160 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLINFO_HEADER_OUT, 1);\n";
|
161 |
+
$this->dbg($data, 1, "pre", "Description: POST data");
|
162 |
+
}
|
163 |
+
curl_setopt($request, CURLOPT_POSTFIELDS, $data);
|
164 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_POSTFIELDS, \"" . $data . "\");\n";
|
165 |
+
}
|
166 |
+
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, false);
|
167 |
+
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, 0);
|
168 |
+
curl_setopt($request, CURLOPT_FOLLOWLOCATION, true);
|
169 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_SSL_VERIFYPEER, false);\n";
|
170 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_SSL_VERIFYHOST, 0);\n";
|
171 |
+
$debug_str1 .= "curl_setopt(\$ch, CURLOPT_FOLLOWLOCATION, true);\n";
|
172 |
+
$response = curl_exec($request);
|
173 |
+
$debug_str1 .= "curl_exec(\$ch);\n";
|
174 |
+
if ($this->debug) {
|
175 |
+
$this->dbg($response, 1, "pre", "Description: Raw response");
|
176 |
+
}
|
177 |
+
$http_code = curl_getinfo($request, CURLINFO_HTTP_CODE);
|
178 |
+
$debug_str1 .= "\$http_code = curl_getinfo(\$ch, CURLINFO_HTTP_CODE);\n";
|
179 |
+
if ($this->debug) {
|
180 |
+
$this->dbg($http_code, 1, "pre", "Description: Response HTTP code");
|
181 |
+
$request_headers = curl_getinfo($request, CURLINFO_HEADER_OUT);
|
182 |
+
$debug_str1 .= "\$request_headers = curl_getinfo(\$ch, CURLINFO_HEADER_OUT);\n";
|
183 |
+
$this->dbg($request_headers, 1, "pre", "Description: Request headers");
|
184 |
+
}
|
185 |
+
curl_close($request);
|
186 |
+
$debug_str1 .= "curl_close(\$ch);\n";
|
187 |
+
$object = json_decode($response);
|
188 |
+
if ($this->debug) {
|
189 |
+
$this->dbg($object, 1, "pre", "Description: Response object (json_decode)");
|
190 |
+
}
|
191 |
+
if ( !is_object($object) || (!isset($object->result_code) && !isset($object->succeeded) && !isset($object->success)) ) {
|
192 |
+
// add methods that only return a string
|
193 |
+
$string_responses = array("tracking_event_remove", "contact_list", "form_html", "tracking_site_status", "tracking_event_status", "tracking_whitelist", "tracking_log", "tracking_site_list", "tracking_event_list");
|
194 |
+
if (in_array($method, $string_responses)) {
|
195 |
+
return $response;
|
196 |
+
}
|
197 |
+
// something went wrong
|
198 |
+
return "An unexpected problem occurred with the API request. Some causes include: invalid JSON or XML returned. Here is the actual response from the server: ---- " . $response;
|
199 |
+
}
|
200 |
+
|
201 |
+
if ($this->debug) {
|
202 |
+
echo "<textarea style='height: 300px; width: 600px;'>" . $debug_str1 . "</textarea>";
|
203 |
+
}
|
204 |
+
|
205 |
+
header("HTTP/1.1 " . $http_code);
|
206 |
+
$object->http_code = $http_code;
|
207 |
+
|
208 |
+
if (isset($object->result_code)) {
|
209 |
+
$object->success = $object->result_code;
|
210 |
+
if (!(int)$object->result_code) {
|
211 |
+
$object->error = $object->result_message;
|
212 |
+
}
|
213 |
+
}
|
214 |
+
elseif (isset($object->succeeded)) {
|
215 |
+
// some calls return "succeeded" only
|
216 |
+
$object->success = $object->succeeded;
|
217 |
+
if (!(int)$object->succeeded) {
|
218 |
+
$object->error = $object->message;
|
219 |
+
}
|
220 |
+
}
|
221 |
+
return $object;
|
222 |
+
}
|
223 |
+
|
224 |
+
}
|
225 |
+
|
226 |
+
?>
|
includes/vendor/activecampaign/Contact.class.php
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Contact extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=contact_add&api_output={$this->output}";
|
19 |
+
if ($params) $request_url .= "&{$params}";
|
20 |
+
$response = $this->curl($request_url, $post_data);
|
21 |
+
return $response;
|
22 |
+
}
|
23 |
+
|
24 |
+
function delete_list($params) {
|
25 |
+
$request_url = "{$this->url}&api_action=contact_delete_list&api_output={$this->output}&{$params}";
|
26 |
+
$response = $this->curl($request_url);
|
27 |
+
return $response;
|
28 |
+
}
|
29 |
+
|
30 |
+
function delete($params) {
|
31 |
+
$request_url = "{$this->url}&api_action=contact_delete&api_output={$this->output}&{$params}";
|
32 |
+
$response = $this->curl($request_url);
|
33 |
+
return $response;
|
34 |
+
}
|
35 |
+
|
36 |
+
function edit($params, $post_data) {
|
37 |
+
$request_url = "{$this->url}&api_action=contact_edit&api_output={$this->output}&{$params}";
|
38 |
+
$response = $this->curl($request_url, $post_data);
|
39 |
+
return $response;
|
40 |
+
}
|
41 |
+
|
42 |
+
function list_($params) {
|
43 |
+
if ($this->version == 1) {
|
44 |
+
$request_url = "{$this->url}&api_action=contact_list&api_output={$this->output}&{$params}";
|
45 |
+
$response = $this->curl($request_url);
|
46 |
+
} elseif ($this->version == 2) {
|
47 |
+
$request_url = "{$this->url_base}/contact/emails";
|
48 |
+
// $params example: offset=0&limit=1000&listid=4
|
49 |
+
$response = $this->curl($request_url, $params, "GET", "contact_list");
|
50 |
+
}
|
51 |
+
return $response;
|
52 |
+
}
|
53 |
+
|
54 |
+
function note_add($params, $post_data) {
|
55 |
+
$request_url = "{$this->url}&api_action=contact_note_add&api_output={$this->output}&{$params}";
|
56 |
+
$response = $this->curl($request_url, $post_data);
|
57 |
+
return $response;
|
58 |
+
}
|
59 |
+
|
60 |
+
function note_edit($params, $post_data) {
|
61 |
+
$request_url = "{$this->url}&api_action=contact_note_edit&api_output={$this->output}&{$params}";
|
62 |
+
$response = $this->curl($request_url, $post_data);
|
63 |
+
return $response;
|
64 |
+
}
|
65 |
+
|
66 |
+
function note_delete($params) {
|
67 |
+
$request_url = "{$this->url}&api_action=contact_note_delete&api_output={$this->output}&{$params}";
|
68 |
+
$response = $this->curl($request_url);
|
69 |
+
return $response;
|
70 |
+
}
|
71 |
+
|
72 |
+
function paginator($params) {
|
73 |
+
$request_url = "{$this->url}&api_action=contact_paginator&api_output={$this->output}&{$params}";
|
74 |
+
$response = $this->curl($request_url);
|
75 |
+
return $response;
|
76 |
+
}
|
77 |
+
|
78 |
+
function sync($params, $post_data) {
|
79 |
+
$request_url = "{$this->url}&api_action=contact_sync&api_output={$this->output}";
|
80 |
+
if ($params) $request_url .= "&{$params}";
|
81 |
+
$response = $this->curl($request_url, $post_data);
|
82 |
+
return $response;
|
83 |
+
}
|
84 |
+
|
85 |
+
function tag_add($params, $post_data) {
|
86 |
+
$request_url = "{$this->url}&api_action=contact_tag_add&api_output={$this->output}";
|
87 |
+
if ($params) $request_url .= "&{$params}";
|
88 |
+
$response = $this->curl($request_url, $post_data);
|
89 |
+
return $response;
|
90 |
+
}
|
91 |
+
|
92 |
+
function tag_remove($params, $post_data) {
|
93 |
+
$request_url = "{$this->url}&api_action=contact_tag_remove&api_output={$this->output}";
|
94 |
+
if ($params) $request_url .= "&{$params}";
|
95 |
+
$response = $this->curl($request_url, $post_data);
|
96 |
+
return $response;
|
97 |
+
}
|
98 |
+
|
99 |
+
function view($params) {
|
100 |
+
// can be a contact ID, email, or hash
|
101 |
+
if (preg_match("/^email=/", $params)) {
|
102 |
+
$action = "contact_view_email";
|
103 |
+
}
|
104 |
+
elseif (preg_match("/^hash=/", $params)) {
|
105 |
+
$action = "contact_view_hash";
|
106 |
+
}
|
107 |
+
elseif (preg_match("/^id=/", $params)) {
|
108 |
+
$action = "contact_view";
|
109 |
+
}
|
110 |
+
else {
|
111 |
+
// default
|
112 |
+
$action = "contact_view";
|
113 |
+
}
|
114 |
+
$request_url = "{$this->url}&api_action={$action}&api_output={$this->output}&{$params}";
|
115 |
+
$response = $this->curl($request_url);
|
116 |
+
return $response;
|
117 |
+
}
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
+
?>
|
includes/vendor/activecampaign/Deal.class.php
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Deal extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=deal_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function edit($params, $post_data) {
|
24 |
+
$request_url = "{$this->url}&api_action=deal_edit&api_output={$this->output}";
|
25 |
+
$response = $this->curl($request_url, $post_data);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params, $post_data) {
|
30 |
+
$request_url = "{$this->url}&api_action=deal_delete&api_output={$this->output}";
|
31 |
+
$response = $this->curl($request_url, $post_data);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function get($params) {
|
36 |
+
$request_url = "{$this->url}&api_action=deal_get&api_output={$this->output}&{$params}";
|
37 |
+
$response = $this->curl($request_url);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function list_($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=deal_list&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function note_add($params, $post_data) {
|
48 |
+
$request_url = "{$this->url}&api_action=deal_note_add&api_output={$this->output}";
|
49 |
+
$response = $this->curl($request_url, $post_data);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function note_edit($params, $post_data) {
|
54 |
+
$request_url = "{$this->url}&api_action=deal_note_edit&api_output={$this->output}";
|
55 |
+
$response = $this->curl($request_url, $post_data);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function pipeline_add($params, $post_data) {
|
60 |
+
$request_url = "{$this->url}&api_action=deal_pipeline_add&api_output={$this->output}";
|
61 |
+
$response = $this->curl($request_url, $post_data);
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
function pipeline_edit($params, $post_data) {
|
66 |
+
$request_url = "{$this->url}&api_action=deal_pipeline_edit&api_output={$this->output}";
|
67 |
+
$response = $this->curl($request_url, $post_data);
|
68 |
+
return $response;
|
69 |
+
}
|
70 |
+
|
71 |
+
function pipeline_delete($params, $post_data) {
|
72 |
+
$request_url = "{$this->url}&api_action=deal_pipeline_delete&api_output={$this->output}";
|
73 |
+
$response = $this->curl($request_url, $post_data);
|
74 |
+
return $response;
|
75 |
+
}
|
76 |
+
|
77 |
+
function pipeline_list($params) {
|
78 |
+
$request_url = "{$this->url}&api_action=deal_pipeline_list&api_output={$this->output}&{$params}";
|
79 |
+
$response = $this->curl($request_url);
|
80 |
+
return $response;
|
81 |
+
}
|
82 |
+
|
83 |
+
function stage_add($params, $post_data) {
|
84 |
+
$request_url = "{$this->url}&api_action=deal_stage_add&api_output={$this->output}";
|
85 |
+
$response = $this->curl($request_url, $post_data);
|
86 |
+
return $response;
|
87 |
+
}
|
88 |
+
|
89 |
+
function stage_edit($params, $post_data) {
|
90 |
+
$request_url = "{$this->url}&api_action=deal_stage_edit&api_output={$this->output}";
|
91 |
+
$response = $this->curl($request_url, $post_data);
|
92 |
+
return $response;
|
93 |
+
}
|
94 |
+
|
95 |
+
function stage_delete($params, $post_data) {
|
96 |
+
$request_url = "{$this->url}&api_action=deal_stage_delete&api_output={$this->output}";
|
97 |
+
$response = $this->curl($request_url, $post_data);
|
98 |
+
return $response;
|
99 |
+
}
|
100 |
+
|
101 |
+
function stage_list($params) {
|
102 |
+
$request_url = "{$this->url}&api_action=deal_stage_list&api_output={$this->output}&{$params}";
|
103 |
+
$response = $this->curl($request_url);
|
104 |
+
return $response;
|
105 |
+
}
|
106 |
+
|
107 |
+
function task_add($params, $post_data) {
|
108 |
+
$request_url = "{$this->url}&api_action=deal_task_add&api_output={$this->output}";
|
109 |
+
$response = $this->curl($request_url, $post_data);
|
110 |
+
return $response;
|
111 |
+
}
|
112 |
+
|
113 |
+
function task_edit($params, $post_data) {
|
114 |
+
$request_url = "{$this->url}&api_action=deal_task_edit&api_output={$this->output}";
|
115 |
+
$response = $this->curl($request_url, $post_data);
|
116 |
+
return $response;
|
117 |
+
}
|
118 |
+
|
119 |
+
function tasktype_add($params, $post_data) {
|
120 |
+
$request_url = "{$this->url}&api_action=deal_tasktype_add&api_output={$this->output}";
|
121 |
+
$response = $this->curl($request_url, $post_data);
|
122 |
+
return $response;
|
123 |
+
}
|
124 |
+
|
125 |
+
function tasktype_edit($params, $post_data) {
|
126 |
+
$request_url = "{$this->url}&api_action=deal_tasktype_edit&api_output={$this->output}";
|
127 |
+
$response = $this->curl($request_url, $post_data);
|
128 |
+
return $response;
|
129 |
+
}
|
130 |
+
|
131 |
+
function tasktype_delete($params, $post_data) {
|
132 |
+
$request_url = "{$this->url}&api_action=deal_tasktype_delete&api_output={$this->output}";
|
133 |
+
$response = $this->curl($request_url, $post_data);
|
134 |
+
return $response;
|
135 |
+
}
|
136 |
+
|
137 |
+
}
|
138 |
+
|
139 |
+
?>
|
includes/vendor/activecampaign/Design.class.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Design extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function edit($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=branding_edit&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function view($params, $post_data) {
|
24 |
+
$request_url = "{$this->url}&api_action=branding_view&api_output={$this->output}";
|
25 |
+
$response = $this->curl($request_url, $post_data);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
?>
|
includes/vendor/activecampaign/Form.class.php
ADDED
@@ -0,0 +1,291 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Form extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function getforms($params) {
|
18 |
+
$request_url = "{$this->url}&api_action=form_getforms&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function html($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=form_html&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function embed($params) {
|
30 |
+
|
31 |
+
$params_array = explode("&", $params);
|
32 |
+
$params_ = array();
|
33 |
+
foreach ($params_array as $expression) {
|
34 |
+
// IE: css=1
|
35 |
+
list($var, $val) = explode("=", $expression);
|
36 |
+
$params_[$var] = $val;
|
37 |
+
}
|
38 |
+
|
39 |
+
$id = (isset($params_["id"])) ? (int)$params_["id"] : 0;
|
40 |
+
$css = (isset($params_["css"])) ? (int)$params_["css"] : 1;
|
41 |
+
$ajax = (isset($params_["ajax"])) ? (int)$params_["ajax"] : 0;
|
42 |
+
// to set the current page as the action, pass "action=", or "action=[THIS URL]"
|
43 |
+
$action = (isset($params_["action"])) ? ($params_["action"] ? $params_["action"] : "this") : "";
|
44 |
+
|
45 |
+
$html = $this->html("id={$id}");
|
46 |
+
|
47 |
+
if (is_object($html) && !(int)$html->success) {
|
48 |
+
return $html->error;
|
49 |
+
}
|
50 |
+
|
51 |
+
if ($html) {
|
52 |
+
|
53 |
+
if ($action) {
|
54 |
+
if ($action != "this") {
|
55 |
+
// replace the action attribute with the one provided
|
56 |
+
$action_val = urldecode($action);
|
57 |
+
$html = preg_replace("/action=['\"][^'\"]+['\"]/", "action='{$action_val}'", $html);
|
58 |
+
}
|
59 |
+
else {
|
60 |
+
$action_val = "";
|
61 |
+
}
|
62 |
+
}
|
63 |
+
else {
|
64 |
+
// find the action attribute value (URL)
|
65 |
+
// should be the proc.php URL (at this point in the script)
|
66 |
+
$action_val = preg_match("/action=['\"][^'\"]+['\"]/", $html, $m);
|
67 |
+
$action_val = $m[0];
|
68 |
+
$action_val = substr($action_val, 8, strlen($action_val) - 9);
|
69 |
+
}
|
70 |
+
|
71 |
+
if (!$css) {
|
72 |
+
// remove all CSS
|
73 |
+
$html = preg_replace("/<style[^>]*>(.*)<\/style>/s", "", $html);
|
74 |
+
}
|
75 |
+
|
76 |
+
if (!$ajax) {
|
77 |
+
// replace the Submit button to be an actual submit type
|
78 |
+
$html = preg_replace("/input type='button'/", "input type='submit'", $html);
|
79 |
+
|
80 |
+
// if action = "this", remove the action attribute completely
|
81 |
+
if (!$action_val) {
|
82 |
+
$html = preg_replace("/action=['\"][^'\"]+['\"]/", "", $html);
|
83 |
+
}
|
84 |
+
}
|
85 |
+
else {
|
86 |
+
|
87 |
+
// if using Ajax, remove the <form> action attribute completely
|
88 |
+
$html = preg_replace("/action=['\"][^'\"]+['\"]/", "", $html);
|
89 |
+
|
90 |
+
// replace the Submit button to be a button type (for ajax).
|
91 |
+
// forms come out of AC now with a "submit" button (it used to be "button").
|
92 |
+
$html = preg_replace("/input type='submit'/", "input type='button'", $html);
|
93 |
+
|
94 |
+
$action_val = urldecode($action_val);
|
95 |
+
|
96 |
+
// add jQuery stuff
|
97 |
+
$extra = "<script type='text/javascript'>
|
98 |
+
|
99 |
+
var \$j = jQuery.noConflict();
|
100 |
+
|
101 |
+
\$j(document).ready(function() {
|
102 |
+
|
103 |
+
\$j('#_form_{$id} input[type*=\"button\"]').click(function() {
|
104 |
+
|
105 |
+
// rename the radio options for Subscribe/Unsubscribe, since they conflict with the hidden field.
|
106 |
+
\$j('input[type=radio][name=act]').attr('name','act_radio');
|
107 |
+
|
108 |
+
var form_data = {};
|
109 |
+
\$j('#_form_{$id}').each(function() {
|
110 |
+
form_data = \$j(this).serialize();
|
111 |
+
});
|
112 |
+
|
113 |
+
var geturl;
|
114 |
+
geturl = \$j.ajax({
|
115 |
+
url: '{$action_val}',
|
116 |
+
type: 'POST',
|
117 |
+
dataType: 'json',
|
118 |
+
data: form_data,
|
119 |
+
error: function(jqXHR, textStatus, errorThrown) {
|
120 |
+
console.log(errorThrown);
|
121 |
+
},
|
122 |
+
success: function(data) {
|
123 |
+
\$j('#form_result_message').html(data.message);
|
124 |
+
var result_class = (data.success) ? 'form_result_success' : 'form_result_error';
|
125 |
+
\$j('#form_result_message').removeClass('form_result_success form_result_error').addClass(result_class);
|
126 |
+
}
|
127 |
+
});
|
128 |
+
|
129 |
+
});
|
130 |
+
|
131 |
+
});
|
132 |
+
|
133 |
+
</script>";
|
134 |
+
|
135 |
+
$html = $html . $extra;
|
136 |
+
}
|
137 |
+
|
138 |
+
}
|
139 |
+
|
140 |
+
return $html;
|
141 |
+
}
|
142 |
+
|
143 |
+
function process($params) {
|
144 |
+
|
145 |
+
$r = array();
|
146 |
+
if ($_SERVER["REQUEST_METHOD"] != "POST") return $r;
|
147 |
+
|
148 |
+
$sync = 0;
|
149 |
+
$captcha_in_form = 0;
|
150 |
+
if ($params) {
|
151 |
+
$params_array = explode("&", $params);
|
152 |
+
$params_ = array();
|
153 |
+
foreach ($params_array as $expression) {
|
154 |
+
// IE: css=1
|
155 |
+
list($var, $val) = explode("=", $expression);
|
156 |
+
$params_[$var] = $val;
|
157 |
+
}
|
158 |
+
|
159 |
+
$sync = (isset($params_["sync"])) ? (int)$params_["sync"] : 0;
|
160 |
+
$captcha_in_form = (isset($params_["captcha"])) ? (int)$params_["captcha"] : 0;
|
161 |
+
}
|
162 |
+
|
163 |
+
$formid = $_POST["f"];
|
164 |
+
// sub or unsub
|
165 |
+
$act = isset($_POST["act"]) ? $_POST["act"] : "sub";
|
166 |
+
if (isset($_POST["act_radio"])) {
|
167 |
+
// the radio options for Subscribe/Unsubscribe.
|
168 |
+
$act = $_POST["act_radio"];
|
169 |
+
}
|
170 |
+
$email = $_POST["email"];
|
171 |
+
$phone = isset($_POST["phone"]) ? $_POST["phone"] : "";
|
172 |
+
$lists = (isset($_POST["nlbox"]) && $_POST["nlbox"]) ? $_POST["nlbox"] : array();
|
173 |
+
if ($captcha_in_form) {
|
174 |
+
// Captcha is part of the form.
|
175 |
+
// Get the captcha value the user entered.
|
176 |
+
$captcha = "";
|
177 |
+
if (isset($_POST["captcha"])) {
|
178 |
+
$captcha = md5(strtoupper((string)$_POST["captcha"]));
|
179 |
+
}
|
180 |
+
if (!isset($_SESSION["image_random_value"]) || !isset($_SESSION["image_random_value"][$captcha])) {
|
181 |
+
return json_encode(array("success" => 0, "message" => "Invalid captcha"));
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
if (isset($_POST["fullname"])) {
|
186 |
+
$fullname = explode(" ", $_POST["fullname"]);
|
187 |
+
$firstname = array_shift($fullname);
|
188 |
+
$lastname = implode(" ", $fullname);
|
189 |
+
}
|
190 |
+
else {
|
191 |
+
$firstname = trim($_POST["firstname"]);
|
192 |
+
$lastname = trim($_POST["lastname"]);
|
193 |
+
if ($firstname == "" && isset($_POST["first_name"])) $firstname = trim($_POST["first_name"]);
|
194 |
+
if ($lastname == "" && isset($_POST["last_name"])) $lastname = trim($_POST["last_name"]);
|
195 |
+
}
|
196 |
+
|
197 |
+
$fields = (isset($_POST["field"])) ? $_POST["field"] : array();
|
198 |
+
|
199 |
+
$contact = array(
|
200 |
+
"form" => $formid,
|
201 |
+
"email" => $email,
|
202 |
+
"first_name" => $firstname,
|
203 |
+
"last_name" => $lastname,
|
204 |
+
"phone" => $phone,
|
205 |
+
);
|
206 |
+
|
207 |
+
foreach ($fields as $ac_field_id => $field_value) {
|
208 |
+
$contact["field"][$ac_field_id . ",0"] = $field_value;
|
209 |
+
}
|
210 |
+
|
211 |
+
// add lists
|
212 |
+
$status = ($act == "unsub") ? 2 : 1;
|
213 |
+
foreach ($lists as $listid) {
|
214 |
+
$contact["p[{$listid}]"] = $listid;
|
215 |
+
$contact["status[{$listid}]"] = $status;
|
216 |
+
}
|
217 |
+
|
218 |
+
if (!$sync) {
|
219 |
+
|
220 |
+
// do add/edit
|
221 |
+
|
222 |
+
$contact_exists = $this->api("contact/view?email={$email}", $contact);
|
223 |
+
|
224 |
+
if ( !isset($contact_exists->id) ) {
|
225 |
+
|
226 |
+
// contact does not exist - add them
|
227 |
+
|
228 |
+
$contact_request = $this->api("contact/add", $contact);
|
229 |
+
|
230 |
+
if ((int)$contact_request->success) {
|
231 |
+
// successful request
|
232 |
+
$contact_id = (int)$contact_request->subscriber_id;
|
233 |
+
$r = array(
|
234 |
+
"success" => 1,
|
235 |
+
"message" => $contact_request->result_message,
|
236 |
+
"contact_id" => $contact_id,
|
237 |
+
);
|
238 |
+
}
|
239 |
+
else {
|
240 |
+
// request failed
|
241 |
+
$r = array(
|
242 |
+
"success" => 0,
|
243 |
+
"message" => $contact_request->error,
|
244 |
+
);
|
245 |
+
}
|
246 |
+
|
247 |
+
}
|
248 |
+
else {
|
249 |
+
|
250 |
+
// contact already exists - edit them
|
251 |
+
|
252 |
+
$contact_id = $contact_exists->id;
|
253 |
+
|
254 |
+
$contact["id"] = $contact_id;
|
255 |
+
|
256 |
+
$contact_request = $this->api("contact/edit?overwrite=0", $contact);
|
257 |
+
|
258 |
+
}
|
259 |
+
|
260 |
+
}
|
261 |
+
else {
|
262 |
+
|
263 |
+
// perform sync (add or edit)
|
264 |
+
|
265 |
+
$contact_request = $this->api("contact/sync", $contact);
|
266 |
+
|
267 |
+
}
|
268 |
+
|
269 |
+
if ((int)$contact_request->success) {
|
270 |
+
// successful request
|
271 |
+
//$contact_id = (int)$contact_request->contact_id;
|
272 |
+
$r = array(
|
273 |
+
"success" => 1,
|
274 |
+
"message" => $contact_request->result_message,
|
275 |
+
//"contact_id" => $contact_id,
|
276 |
+
);
|
277 |
+
}
|
278 |
+
else {
|
279 |
+
// request failed
|
280 |
+
$r = array(
|
281 |
+
"success" => 0,
|
282 |
+
"message" => $contact_request->error,
|
283 |
+
);
|
284 |
+
}
|
285 |
+
|
286 |
+
return json_encode($r);
|
287 |
+
}
|
288 |
+
|
289 |
+
}
|
290 |
+
|
291 |
+
?>
|
includes/vendor/activecampaign/Group.class.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Group extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=group_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete_list($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=group_delete_list&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=group_delete&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function edit($params, $post_data) {
|
36 |
+
$request_url = "{$this->url}&api_action=group_edit&api_output={$this->output}";
|
37 |
+
$response = $this->curl($request_url, $post_data);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function list_($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=group_list&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function view($params) {
|
48 |
+
$request_url = "{$this->url}&api_action=group_view&api_output={$this->output}&{$params}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
54 |
+
|
55 |
+
?>
|
includes/vendor/activecampaign/List.class.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_List_ extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=list_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete_list($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=list_delete_list&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=list_delete&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function edit($params, $post_data) {
|
36 |
+
$request_url = "{$this->url}&api_action=list_edit&api_output={$this->output}";
|
37 |
+
$response = $this->curl($request_url, $post_data);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function field_add($params, $post_data) {
|
42 |
+
$request_url = "{$this->url}&api_action=list_field_add&api_output={$this->output}";
|
43 |
+
$response = $this->curl($request_url, $post_data);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function field_delete($params) {
|
48 |
+
$request_url = "{$this->url}&api_action=list_field_delete&api_output={$this->output}&{$params}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function field_edit($params, $post_data) {
|
54 |
+
$request_url = "{$this->url}&api_action=list_field_edit&api_output={$this->output}";
|
55 |
+
$response = $this->curl($request_url, $post_data);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function field_view($params) {
|
60 |
+
$request_url = "{$this->url}&api_action=list_field_view&api_output={$this->output}&{$params}";
|
61 |
+
$response = $this->curl($request_url);
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
function list_($params, $post_data) {
|
66 |
+
if ($post_data) {
|
67 |
+
if (isset($post_data["ids"]) && is_array($post_data["ids"])) {
|
68 |
+
// make them comma-separated.
|
69 |
+
$post_data["ids"] = implode(",", $post_data["ids"]);
|
70 |
+
}
|
71 |
+
}
|
72 |
+
$request_url = "{$this->url}&api_action=list_list&api_output={$this->output}&{$params}";
|
73 |
+
$response = $this->curl($request_url, $post_data);
|
74 |
+
return $response;
|
75 |
+
}
|
76 |
+
|
77 |
+
function paginator($params) {
|
78 |
+
$request_url = "{$this->url}&api_action=list_paginator&api_output={$this->output}&{$params}";
|
79 |
+
$response = $this->curl($request_url);
|
80 |
+
return $response;
|
81 |
+
}
|
82 |
+
|
83 |
+
function view($params) {
|
84 |
+
$request_url = "{$this->url}&api_action=list_view&api_output={$this->output}&{$params}";
|
85 |
+
$response = $this->curl($request_url);
|
86 |
+
return $response;
|
87 |
+
}
|
88 |
+
|
89 |
+
}
|
90 |
+
|
91 |
+
?>
|
includes/vendor/activecampaign/Message.class.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Message extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=message_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete_list($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=message_delete_list&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=message_delete&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function edit($params, $post_data) {
|
36 |
+
$request_url = "{$this->url}&api_action=message_edit&api_output={$this->output}";
|
37 |
+
$response = $this->curl($request_url, $post_data);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function list_($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=message_list&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function template_add($params, $post_data) {
|
48 |
+
$request_url = "{$this->url}&api_action=message_template_add&api_output={$this->output}";
|
49 |
+
$response = $this->curl($request_url, $post_data);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function template_delete_list($params) {
|
54 |
+
$request_url = "{$this->url}&api_action=message_template_delete_list&api_output={$this->output}&{$params}";
|
55 |
+
$response = $this->curl($request_url);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function template_delete($params) {
|
60 |
+
$request_url = "{$this->url}&api_action=message_template_delete&api_output={$this->output}&{$params}";
|
61 |
+
$response = $this->curl($request_url);
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
function template_edit($params, $post_data) {
|
66 |
+
$request_url = "{$this->url}&api_action=message_template_edit&api_output={$this->output}";
|
67 |
+
$response = $this->curl($request_url, $post_data);
|
68 |
+
return $response;
|
69 |
+
}
|
70 |
+
|
71 |
+
function template_export($params) {
|
72 |
+
$request_url = "{$this->url}&api_action=message_template_export&api_output={$this->output}&{$params}";
|
73 |
+
$response = $this->curl($request_url);
|
74 |
+
return $response;
|
75 |
+
}
|
76 |
+
|
77 |
+
function template_import($params, $post_data) {
|
78 |
+
$request_url = "{$this->url}&api_action=message_template_import&api_output={$this->output}";
|
79 |
+
$response = $this->curl($request_url, $post_data);
|
80 |
+
return $response;
|
81 |
+
}
|
82 |
+
|
83 |
+
function template_list($params) {
|
84 |
+
$request_url = "{$this->url}&api_action=message_template_list&api_output={$this->output}&{$params}";
|
85 |
+
$response = $this->curl($request_url);
|
86 |
+
return $response;
|
87 |
+
}
|
88 |
+
|
89 |
+
function template_view($params) {
|
90 |
+
$request_url = "{$this->url}&api_action=message_template_view&api_output={$this->output}&{$params}";
|
91 |
+
$response = $this->curl($request_url);
|
92 |
+
return $response;
|
93 |
+
}
|
94 |
+
|
95 |
+
function view($params) {
|
96 |
+
$request_url = "{$this->url}&api_action=message_view&api_output={$this->output}&{$params}";
|
97 |
+
$response = $this->curl($request_url);
|
98 |
+
return $response;
|
99 |
+
}
|
100 |
+
|
101 |
+
}
|
102 |
+
|
103 |
+
?>
|
includes/vendor/activecampaign/Settings.class.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Settings extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function edit($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=settings_edit&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
}
|
24 |
+
|
25 |
+
?>
|
includes/vendor/activecampaign/Subscriber.class.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Subscriber extends AC_Contact {
|
4 |
+
}
|
5 |
+
|
6 |
+
?>
|
includes/vendor/activecampaign/Tracking.class.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Tracking extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
/*
|
18 |
+
* Update the status (enabled or disabled) for site tracking.
|
19 |
+
*/
|
20 |
+
function site_status($params, $post_data) {
|
21 |
+
// version 2 only.
|
22 |
+
$request_url = "{$this->url_base}/track/site";
|
23 |
+
$response = $this->curl($request_url, $post_data, "POST", "tracking_site_status");
|
24 |
+
return $response;
|
25 |
+
}
|
26 |
+
|
27 |
+
/*
|
28 |
+
* Update the status (enabled or disabled) for event tracking.
|
29 |
+
*/
|
30 |
+
function event_status($params, $post_data) {
|
31 |
+
// version 2 only.
|
32 |
+
$request_url = "{$this->url_base}/track/event";
|
33 |
+
$response = $this->curl($request_url, $post_data, "POST", "tracking_event_status");
|
34 |
+
return $response;
|
35 |
+
}
|
36 |
+
|
37 |
+
/*
|
38 |
+
* Returns existing whitelisted domains.
|
39 |
+
*/
|
40 |
+
function site_list($params) {
|
41 |
+
if ($this->version == 1) {
|
42 |
+
// not supported currently.
|
43 |
+
//$request_url = "{$this->url}&api_action=contact_delete_list&api_output={$this->output}&{$params}";
|
44 |
+
} elseif ($this->version == 2) {
|
45 |
+
$request_url = "{$this->url_base}/track/site";
|
46 |
+
}
|
47 |
+
$response = $this->curl($request_url, array(), "GET", "tracking_site_list");
|
48 |
+
return $response;
|
49 |
+
}
|
50 |
+
|
51 |
+
/*
|
52 |
+
* Returns existing tracked events.
|
53 |
+
*/
|
54 |
+
function event_list($params) {
|
55 |
+
if ($this->version == 1) {
|
56 |
+
// not supported currently.
|
57 |
+
//$request_url = "{$this->url}&api_action=contact_delete_list&api_output={$this->output}&{$params}";
|
58 |
+
} elseif ($this->version == 2) {
|
59 |
+
$request_url = "{$this->url_base}/track/event";
|
60 |
+
}
|
61 |
+
$response = $this->curl($request_url, array(), "GET", "tracking_event_list");
|
62 |
+
return $response;
|
63 |
+
}
|
64 |
+
|
65 |
+
/*
|
66 |
+
* Adds a domain to the site tracking whitelist.
|
67 |
+
*/
|
68 |
+
function whitelist($params, $post_data) {
|
69 |
+
// version 2 only.
|
70 |
+
$request_url = "{$this->url_base}/track/site";
|
71 |
+
$response = $this->curl($request_url, $post_data, "PUT", "tracking_whitelist");
|
72 |
+
return $response;
|
73 |
+
}
|
74 |
+
|
75 |
+
/*
|
76 |
+
* Removes a domain from the site tracking whitelist.
|
77 |
+
*/
|
78 |
+
function whitelist_remove($params, $post_data) {
|
79 |
+
// version 2 only.
|
80 |
+
$request_url = "{$this->url_base}/track/site";
|
81 |
+
$response = $this->curl($request_url, $post_data, "DELETE", "tracking_whitelist");
|
82 |
+
return $response;
|
83 |
+
}
|
84 |
+
|
85 |
+
/*
|
86 |
+
* Removes an event.
|
87 |
+
*/
|
88 |
+
function event_remove($params, $post_data) {
|
89 |
+
// version 2 only.
|
90 |
+
$request_url = "{$this->url_base}/track/event";
|
91 |
+
$response = $this->curl($request_url, $post_data, "DELETE", "tracking_event_remove");
|
92 |
+
return $response;
|
93 |
+
}
|
94 |
+
|
95 |
+
/*
|
96 |
+
* Adds a new event.
|
97 |
+
*/
|
98 |
+
function log($params, $post_data) {
|
99 |
+
$request_url = "https://trackcmp.net/event";
|
100 |
+
$post_data["actid"] = $this->track_actid;
|
101 |
+
$post_data["key"] = $this->track_key;
|
102 |
+
$visit_data = array();
|
103 |
+
if ($this->track_email) {
|
104 |
+
$visit_data["email"] = $this->track_email;
|
105 |
+
}
|
106 |
+
if (isset($post_data["visit"])) {
|
107 |
+
$visit_data = array_merge($visit_data, $post_data["visit"]);
|
108 |
+
}
|
109 |
+
if ($visit_data) {
|
110 |
+
$post_data["visit"] = json_encode($visit_data);
|
111 |
+
}
|
112 |
+
$response = $this->curl($request_url, $post_data, "POST", "tracking_log");
|
113 |
+
return $response;
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
117 |
+
|
118 |
+
?>
|
includes/vendor/activecampaign/User.class.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_User extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=user_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete_list($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=user_delete_list&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=user_delete&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function edit($params, $post_data) {
|
36 |
+
$request_url = "{$this->url}&api_action=user_edit&api_output={$this->output}";
|
37 |
+
$response = $this->curl($request_url, $post_data);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function list_($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=user_list&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function me() {
|
48 |
+
$request_url = "{$this->url}&api_action=user_me&api_output={$this->output}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function view($params) {
|
54 |
+
// can be a user ID, email, or username
|
55 |
+
if (preg_match("/^email=/", $params)) {
|
56 |
+
$action = "user_view_email";
|
57 |
+
}
|
58 |
+
elseif (preg_match("/^username=/", $params)) {
|
59 |
+
$action = "user_view_username";
|
60 |
+
}
|
61 |
+
elseif (preg_match("/^id=/", $params)) {
|
62 |
+
$action = "user_view";
|
63 |
+
}
|
64 |
+
$request_url = "{$this->url}&api_action={$action}&api_output={$this->output}&{$params}";
|
65 |
+
$response = $this->curl($request_url);
|
66 |
+
return $response;
|
67 |
+
}
|
68 |
+
|
69 |
+
}
|
70 |
+
|
71 |
+
?>
|
includes/vendor/activecampaign/Webhook.class.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class AC_Webhook extends ActiveCampaign {
|
4 |
+
|
5 |
+
public $version;
|
6 |
+
public $url_base;
|
7 |
+
public $url;
|
8 |
+
public $api_key;
|
9 |
+
|
10 |
+
function __construct($version, $url_base, $url, $api_key) {
|
11 |
+
$this->version = $version;
|
12 |
+
$this->url_base = $url_base;
|
13 |
+
$this->url = $url;
|
14 |
+
$this->api_key = $api_key;
|
15 |
+
}
|
16 |
+
|
17 |
+
function add($params, $post_data) {
|
18 |
+
$request_url = "{$this->url}&api_action=webhook_add&api_output={$this->output}";
|
19 |
+
$response = $this->curl($request_url, $post_data);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
function delete($params) {
|
24 |
+
$request_url = "{$this->url}&api_action=webhook_delete&api_output={$this->output}&{$params}";
|
25 |
+
$response = $this->curl($request_url);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
function delete_list($params) {
|
30 |
+
$request_url = "{$this->url}&api_action=webhook_delete_list&api_output={$this->output}&{$params}";
|
31 |
+
$response = $this->curl($request_url);
|
32 |
+
return $response;
|
33 |
+
}
|
34 |
+
|
35 |
+
function edit($params, $post_data) {
|
36 |
+
$request_url = "{$this->url}&api_action=webhook_edit&api_output={$this->output}";
|
37 |
+
$response = $this->curl($request_url, $post_data);
|
38 |
+
return $response;
|
39 |
+
}
|
40 |
+
|
41 |
+
function list_($params) {
|
42 |
+
$request_url = "{$this->url}&api_action=webhook_list&api_output={$this->output}&{$params}";
|
43 |
+
$response = $this->curl($request_url);
|
44 |
+
return $response;
|
45 |
+
}
|
46 |
+
|
47 |
+
function view($params) {
|
48 |
+
$request_url = "{$this->url}&api_action=webhook_view&api_output={$this->output}&{$params}";
|
49 |
+
$response = $this->curl($request_url);
|
50 |
+
return $response;
|
51 |
+
}
|
52 |
+
|
53 |
+
function events($params) {
|
54 |
+
$request_url = "{$this->url}&api_action=webhook_events&api_output={$this->output}&{$params}";
|
55 |
+
$response = $this->curl($request_url);
|
56 |
+
return $response;
|
57 |
+
}
|
58 |
+
|
59 |
+
function process($params) {
|
60 |
+
// process an incoming webhook payload (from ActiveCampaign), and format it (or do something with it)
|
61 |
+
|
62 |
+
$r = array();
|
63 |
+
if ($_SERVER["REQUEST_METHOD"] != "POST") return $r;
|
64 |
+
|
65 |
+
$params_array = explode("&", $params);
|
66 |
+
$params_ = array();
|
67 |
+
foreach ($params_array as $expression) {
|
68 |
+
// IE: css=1
|
69 |
+
list($var, $val) = explode("=", $expression);
|
70 |
+
$params_[$var] = $val;
|
71 |
+
}
|
72 |
+
|
73 |
+
$event = $params_["event"];
|
74 |
+
$format = $params_["output"];
|
75 |
+
|
76 |
+
if ($format == "json") {
|
77 |
+
return json_encode($_POST);
|
78 |
+
}
|
79 |
+
|
80 |
+
}
|
81 |
+
|
82 |
+
}
|
83 |
+
|
84 |
+
?>
|
includes/vendor/activecampaign/config.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
define("ACTIVECAMPAIGN_URL", "");
|
4 |
+
define("ACTIVECAMPAIGN_API_KEY", "");
|
5 |
+
|
6 |
+
?>
|
includes/vendor/infusionsoft/xmlrpc-3.0/extras/rsakey.pem
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
-----BEGIN RSA PRIVATE KEY-----
|
2 |
-
MIIBOgIBAAJBAM12w6/J20HMj0V9VC24xPFQG9RKSDt8vmviM+tnc1BgCrzPyF1v
|
3 |
-
3/rWGoWDjkJrE9WFOeqIjJHeEWWT4uKq2ZkCAwEAAQJAZZYJ7Nld+et9DvuHak/H
|
4 |
-
uBRGnjDYA+mKcObXitWMUzk2ZodL8UoCP1J9kKqV8Zp/l2cBZkLo0aWTN94sWkHy
|
5 |
-
rQIhAOhxWxRXSZ4kArIQqZnDG9JgtOAeaaFso/zpxIHpN6OrAiEA4klzl+rUc32/
|
6 |
-
7SDcJYa9j5vehp1jCTnkN+n0rujTM8sCIAGwMRUovSQk5tAcRt8TB7SzdxzZm7LM
|
7 |
-
czR3DjJTW1AZAiEAlYN+svPgJ+cAdwdtLgZXHZoZb8xx8Vik6CTXHPKNCf0CIBQL
|
8 |
-
zF4Qp8/C+gjsXtEZJvhxY7i1luHn6iNwNnE932r3
|
9 |
-
-----END RSA PRIVATE KEY-----
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/infusionsoft/xmlrpc-3.0/extras/test.pl
DELETED
@@ -1,52 +0,0 @@
|
|
1 |
-
#!/usr/local/bin/perl
|
2 |
-
|
3 |
-
use Frontier::Client;
|
4 |
-
|
5 |
-
my $serverURL='http://phpxmlrpc.sourceforge.net/server.php';
|
6 |
-
|
7 |
-
# try the simplest example
|
8 |
-
|
9 |
-
my $client = Frontier::Client->new( 'url' => $serverURL,
|
10 |
-
'debug' => 0, 'encoding' => 'iso-8859-1' );
|
11 |
-
my $resp = $client->call("examples.getStateName", 32);
|
12 |
-
|
13 |
-
print "Got '${resp}'\n";
|
14 |
-
|
15 |
-
# now send a mail to nobody in particular
|
16 |
-
|
17 |
-
$resp = $client->call("mail.send", ("edd", "Test",
|
18 |
-
"Bonjour. Je m'appelle G�rard. Ma�ana. ", "freddy", "", "",
|
19 |
-
'text/plain; charset="iso-8859-1"'));
|
20 |
-
|
21 |
-
if ($resp->value()) {
|
22 |
-
print "Mail sent OK.\n";
|
23 |
-
} else {
|
24 |
-
print "Error sending mail.\n";
|
25 |
-
}
|
26 |
-
|
27 |
-
# test echoing of characters works fine
|
28 |
-
|
29 |
-
$resp = $client->call("examples.echo", 'Three "blind" mice - ' .
|
30 |
-
"See 'how' they run");
|
31 |
-
print $resp . "\n";
|
32 |
-
|
33 |
-
# test name and age example. this exercises structs and arrays
|
34 |
-
|
35 |
-
$resp = $client->call("examples.sortByAge",
|
36 |
-
[ { 'name' => 'Dave', 'age' => 35},
|
37 |
-
{ 'name' => 'Edd', 'age' => 45 },
|
38 |
-
{ 'name' => 'Fred', 'age' => 23 },
|
39 |
-
{ 'name' => 'Barney', 'age' => 36 } ] );
|
40 |
-
|
41 |
-
my $e;
|
42 |
-
foreach $e (@$resp) {
|
43 |
-
print $$e{'name'} . ", " . $$e{'age'} . "\n";
|
44 |
-
}
|
45 |
-
|
46 |
-
# test base64
|
47 |
-
|
48 |
-
$resp = $client->call("examples.decode64",
|
49 |
-
$client->base64("TWFyeSBoYWQgYSBsaXR0bGUgbGFtYiBTaGUgd" .
|
50 |
-
"GllZCBpdCB0byBhIHB5bG9u"));
|
51 |
-
|
52 |
-
print $resp . "\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/infusionsoft/xmlrpc-3.0/extras/test.py
DELETED
@@ -1,37 +0,0 @@
|
|
1 |
-
#!/usr/local/bin/python
|
2 |
-
|
3 |
-
from xmlrpclib import *
|
4 |
-
import sys
|
5 |
-
|
6 |
-
server = Server("http://phpxmlrpc.sourceforge.net/server.php")
|
7 |
-
|
8 |
-
try:
|
9 |
-
print "Got '" + server.examples.getStateName(32) + "'"
|
10 |
-
|
11 |
-
r = server.mail.send("edd", "Test",
|
12 |
-
"Bonjour. Je m'appelle G�rard. Ma�ana. ", "freddy", "", "",
|
13 |
-
'text/plain; charset="iso-8859-1"')
|
14 |
-
if r:
|
15 |
-
print "Mail sent OK"
|
16 |
-
else:
|
17 |
-
print "Error sending mail"
|
18 |
-
|
19 |
-
|
20 |
-
r = server.examples.echo('Three "blind" mice - ' + "See 'how' they run")
|
21 |
-
print r
|
22 |
-
|
23 |
-
# name/age example. this exercises structs and arrays
|
24 |
-
|
25 |
-
a = [ {'name': 'Dave', 'age': 35}, {'name': 'Edd', 'age': 45 },
|
26 |
-
{'name': 'Fred', 'age': 23}, {'name': 'Barney', 'age': 36 }]
|
27 |
-
r = server.examples.sortByAge(a)
|
28 |
-
print r
|
29 |
-
|
30 |
-
# test base 64
|
31 |
-
b = Binary("Mary had a little lamb She tied it to a pylon")
|
32 |
-
b.encode(sys.stdout)
|
33 |
-
r = server.examples.decode64(b)
|
34 |
-
print r
|
35 |
-
|
36 |
-
except Error, v:
|
37 |
-
print "XML-RPC Error:",v
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/vendor/infusionsoft/xmlrpc-3.0/extras/workspace.testPhpServer.fttb
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
|
2 |
-
->
|
|
|
|
js/fl-builder-layout.js
CHANGED
@@ -29,6 +29,9 @@
|
|
29 |
// Init anchor links.
|
30 |
FLBuilderLayout._initAnchorLinks();
|
31 |
|
|
|
|
|
|
|
32 |
// Init backgrounds.
|
33 |
FLBuilderLayout._initBackgrounds();
|
34 |
|
@@ -289,6 +292,56 @@
|
|
289 |
}
|
290 |
},
|
291 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
/**
|
293 |
* Initializes all anchor links on the page for smooth scrolling.
|
294 |
*
|
29 |
// Init anchor links.
|
30 |
FLBuilderLayout._initAnchorLinks();
|
31 |
|
32 |
+
// Init the browser hash.
|
33 |
+
FLBuilderLayout._initHash();
|
34 |
+
|
35 |
// Init backgrounds.
|
36 |
FLBuilderLayout._initBackgrounds();
|
37 |
|
292 |
}
|
293 |
},
|
294 |
|
295 |
+
/**
|
296 |
+
* Opens a tab or accordion item if the browser hash is set
|
297 |
+
* to the ID of one on the page.
|
298 |
+
*
|
299 |
+
* @since 1.6.0
|
300 |
+
* @access private
|
301 |
+
* @method _initHash
|
302 |
+
*/
|
303 |
+
_initHash: function()
|
304 |
+
{
|
305 |
+
var hash = window.location.hash.replace( '#', '' ),
|
306 |
+
element = null,
|
307 |
+
tabs = null,
|
308 |
+
responsiveLabel = null,
|
309 |
+
tabIndex = null,
|
310 |
+
label = null;
|
311 |
+
|
312 |
+
if ( '' != hash ) {
|
313 |
+
|
314 |
+
element = $( '#' + hash );
|
315 |
+
|
316 |
+
if ( element.length > 0 ) {
|
317 |
+
|
318 |
+
if ( element.hasClass( 'fl-accordion-item' ) ) {
|
319 |
+
setTimeout( function() {
|
320 |
+
element.find( '.fl-accordion-button' ).trigger( 'click' );
|
321 |
+
}, 100 );
|
322 |
+
}
|
323 |
+
if ( element.hasClass( 'fl-tabs-panel' ) ) {
|
324 |
+
|
325 |
+
setTimeout( function() {
|
326 |
+
|
327 |
+
tabs = element.closest( '.fl-tabs' );
|
328 |
+
responsiveLabel = element.find( '.fl-tabs-panel-label' );
|
329 |
+
tabIndex = responsiveLabel.data( 'index' );
|
330 |
+
label = tabs.find( '.fl-tabs-labels .fl-tabs-label[data-index=' + tabIndex + ']' );
|
331 |
+
|
332 |
+
if ( responsiveLabel.is( ':visible' ) ) {
|
333 |
+
responsiveLabel.trigger( 'click' );
|
334 |
+
}
|
335 |
+
else {
|
336 |
+
label.trigger( 'click' );
|
337 |
+
}
|
338 |
+
|
339 |
+
}, 100 );
|
340 |
+
}
|
341 |
+
}
|
342 |
+
}
|
343 |
+
},
|
344 |
+
|
345 |
/**
|
346 |
* Initializes all anchor links on the page for smooth scrolling.
|
347 |
*
|
js/fl-builder-preview.js
CHANGED
@@ -442,11 +442,17 @@
|
|
442 |
{
|
443 |
// Elements
|
444 |
$.extend(this.elements, {
|
445 |
-
textColor
|
|
|
|
|
|
|
446 |
});
|
447 |
|
448 |
// Events
|
449 |
this.elements.textColor.on('change', $.proxy(this._textColorChange, this));
|
|
|
|
|
|
|
450 |
},
|
451 |
|
452 |
/**
|
@@ -460,30 +466,72 @@
|
|
460 |
*/
|
461 |
_textColorChange: function(e)
|
462 |
{
|
463 |
-
var
|
464 |
-
|
465 |
-
|
466 |
-
this.
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
this.updateCSSRule(this.classes.node
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
this.updateCSSRule(this.classes.node + '
|
485 |
-
}
|
486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
},
|
488 |
|
489 |
/* Node Bg Settings
|
442 |
{
|
443 |
// Elements
|
444 |
$.extend(this.elements, {
|
445 |
+
textColor : $(this.classes.settings + ' input[name=text_color]'),
|
446 |
+
linkColor : $(this.classes.settings + ' input[name=link_color]'),
|
447 |
+
hoverColor : $(this.classes.settings + ' input[name=hover_color]'),
|
448 |
+
headingColor : $(this.classes.settings + ' input[name=heading_color]')
|
449 |
});
|
450 |
|
451 |
// Events
|
452 |
this.elements.textColor.on('change', $.proxy(this._textColorChange, this));
|
453 |
+
this.elements.linkColor.on('change', $.proxy(this._textColorChange, this));
|
454 |
+
this.elements.hoverColor.on('change', $.proxy(this._textColorChange, this));
|
455 |
+
this.elements.headingColor.on('change', $.proxy(this._textColorChange, this));
|
456 |
},
|
457 |
|
458 |
/**
|
466 |
*/
|
467 |
_textColorChange: function(e)
|
468 |
{
|
469 |
+
var textColor = this.elements.textColor.val(),
|
470 |
+
linkColor = this.elements.linkColor.val(),
|
471 |
+
hoverColor = this.elements.hoverColor.val(),
|
472 |
+
headingColor = this.elements.headingColor.val();
|
473 |
+
|
474 |
+
linkColor = linkColor == '' ? textColor : linkColor;
|
475 |
+
hoverColor = hoverColor == '' ? textColor : hoverColor;
|
476 |
+
headingColor = headingColor == '' ? textColor : headingColor;
|
477 |
+
|
478 |
+
this.delay(100, $.proxy(function(){
|
479 |
+
|
480 |
+
// Update Text color.
|
481 |
+
if(textColor == '') {
|
482 |
+
this.updateCSSRule(this.classes.node, 'color', 'inherit');
|
483 |
+
}
|
484 |
+
else {
|
485 |
+
this.updateCSSRule(this.classes.node, 'color', '#' + textColor);
|
486 |
+
}
|
487 |
+
|
488 |
+
// Update Link Color
|
489 |
+
if ( linkColor == '' ) {
|
490 |
+
this.updateCSSRule(this.classes.node + ' a', 'color', 'inherit');
|
491 |
+
}
|
492 |
+
else {
|
493 |
+
this.updateCSSRule(this.classes.node + ' a', 'color', '#' + linkColor);
|
494 |
+
}
|
495 |
+
|
496 |
+
// Hover Color
|
497 |
+
if(hoverColor == '') {
|
498 |
+
this.updateCSSRule(this.classes.node + ' a:hover', 'color', 'inherit');
|
499 |
+
}
|
500 |
+
else {
|
501 |
+
this.updateCSSRule(this.classes.node + ' a:hover', 'color', '#' + hoverColor);
|
502 |
+
}
|
503 |
+
|
504 |
+
// Heading Color
|
505 |
+
if(headingColor == '') {
|
506 |
+
this.updateCSSRule(this.classes.node + ' h1', 'color', 'inherit');
|
507 |
+
this.updateCSSRule(this.classes.node + ' h2', 'color', 'inherit');
|
508 |
+
this.updateCSSRule(this.classes.node + ' h3', 'color', 'inherit');
|
509 |
+
this.updateCSSRule(this.classes.node + ' h4', 'color', 'inherit');
|
510 |
+
this.updateCSSRule(this.classes.node + ' h5', 'color', 'inherit');
|
511 |
+
this.updateCSSRule(this.classes.node + ' h6', 'color', 'inherit');
|
512 |
+
this.updateCSSRule(this.classes.node + ' h1 a', 'color', 'inherit');
|
513 |
+
this.updateCSSRule(this.classes.node + ' h2 a', 'color', 'inherit');
|
514 |
+
this.updateCSSRule(this.classes.node + ' h3 a', 'color', 'inherit');
|
515 |
+
this.updateCSSRule(this.classes.node + ' h4 a', 'color', 'inherit');
|
516 |
+
this.updateCSSRule(this.classes.node + ' h5 a', 'color', 'inherit');
|
517 |
+
this.updateCSSRule(this.classes.node + ' h6 a', 'color', 'inherit');
|
518 |
+
}
|
519 |
+
else {
|
520 |
+
this.updateCSSRule(this.classes.node + ' h1', 'color', '#' + headingColor);
|
521 |
+
this.updateCSSRule(this.classes.node + ' h2', 'color', '#' + headingColor);
|
522 |
+
this.updateCSSRule(this.classes.node + ' h3', 'color', '#' + headingColor);
|
523 |
+
this.updateCSSRule(this.classes.node + ' h4', 'color', '#' + headingColor);
|
524 |
+
this.updateCSSRule(this.classes.node + ' h5', 'color', '#' + headingColor);
|
525 |
+
this.updateCSSRule(this.classes.node + ' h6', 'color', '#' + headingColor);
|
526 |
+
this.updateCSSRule(this.classes.node + ' h1 a', 'color', '#' + headingColor);
|
527 |
+
this.updateCSSRule(this.classes.node + ' h2 a', 'color', '#' + headingColor);
|
528 |
+
this.updateCSSRule(this.classes.node + ' h3 a', 'color', '#' + headingColor);
|
529 |
+
this.updateCSSRule(this.classes.node + ' h4 a', 'color', '#' + headingColor);
|
530 |
+
this.updateCSSRule(this.classes.node + ' h5 a', 'color', '#' + headingColor);
|
531 |
+
this.updateCSSRule(this.classes.node + ' h6 a', 'color', '#' + headingColor);
|
532 |
+
}
|
533 |
+
|
534 |
+
}, this));
|
535 |
},
|
536 |
|
537 |
/* Node Bg Settings
|
js/fl-builder-services.js
CHANGED
@@ -25,6 +25,9 @@
|
|
25 |
|
26 |
// Campaign Monitor Events
|
27 |
body.delegate( '.fl-builder-campaign-monitor-client-select', 'change', this._campaignMonitorClientChange );
|
|
|
|
|
|
|
28 |
},
|
29 |
|
30 |
/**
|
@@ -358,6 +361,57 @@
|
|
358 |
|
359 |
client.closest( 'tr' ).after( data.html );
|
360 |
FLBuilderServices._finishSettingsLoading();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}
|
362 |
};
|
363 |
|
25 |
|
26 |
// Campaign Monitor Events
|
27 |
body.delegate( '.fl-builder-campaign-monitor-client-select', 'change', this._campaignMonitorClientChange );
|
28 |
+
|
29 |
+
// MailChimp Events
|
30 |
+
body.delegate( '.fl-builder-mailchimp-list-select', 'change', this._mailChimpListChange );
|
31 |
},
|
32 |
|
33 |
/**
|
361 |
|
362 |
client.closest( 'tr' ).after( data.html );
|
363 |
FLBuilderServices._finishSettingsLoading();
|
364 |
+
},
|
365 |
+
|
366 |
+
/* MailChimp
|
367 |
+
----------------------------------------------------------*/
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Fires when the MailChimp list select is changed.
|
371 |
+
*
|
372 |
+
* @return void
|
373 |
+
* @since 1.6.0
|
374 |
+
*/
|
375 |
+
_mailChimpListChange: function()
|
376 |
+
{
|
377 |
+
var nodeId = $( '.fl-builder-settings' ).data( 'node' ),
|
378 |
+
wrap = $( this ).closest( '.fl-builder-service-settings' ),
|
379 |
+
select = wrap.find( '.fl-builder-service-select' ),
|
380 |
+
account = wrap.find( '.fl-builder-service-account-select' ),
|
381 |
+
list = wrap.find( '.fl-builder-service-list-select' );
|
382 |
+
|
383 |
+
$( '.fl-builder-mailchimp-group-select' ).closest( 'tr' ).remove();
|
384 |
+
|
385 |
+
if ( '' == list.val() ) {
|
386 |
+
return;
|
387 |
+
}
|
388 |
+
|
389 |
+
FLBuilderServices._startSettingsLoading( select );
|
390 |
+
|
391 |
+
FLBuilder.ajax( {
|
392 |
+
action : 'fl_builder_render_service_fields',
|
393 |
+
node_id : nodeId,
|
394 |
+
service : select.val(),
|
395 |
+
account : account.val(),
|
396 |
+
list_id : list.val()
|
397 |
+
}, FLBuilderServices._mailChimpListChangeComplete );
|
398 |
+
},
|
399 |
+
|
400 |
+
/**
|
401 |
+
* AJAX callback for when the MailChimp list select is changed.
|
402 |
+
*
|
403 |
+
* @param {String} response The JSON response.
|
404 |
+
* @return void
|
405 |
+
* @since 1.6.0
|
406 |
+
*/
|
407 |
+
_mailChimpListChangeComplete: function( response )
|
408 |
+
{
|
409 |
+
var data = JSON.parse( response ),
|
410 |
+
wrap = $( '.fl-builder-service-settings-loading' ),
|
411 |
+
list = wrap.find( '.fl-builder-service-list-select' );
|
412 |
+
|
413 |
+
list.closest( 'tr' ).after( data.html );
|
414 |
+
FLBuilderServices._finishSettingsLoading();
|
415 |
}
|
416 |
};
|
417 |
|
js/fl-builder.js
CHANGED
@@ -991,9 +991,10 @@
|
|
991 |
*/
|
992 |
_exit: function()
|
993 |
{
|
994 |
-
var href
|
|
|
995 |
|
996 |
-
if ( typeof window.opener != 'undefined' && window.opener ) {
|
997 |
window.close();
|
998 |
}
|
999 |
else {
|
@@ -3373,8 +3374,12 @@
|
|
3373 |
|
3374 |
value = data[ i ].value.replace( /\r/gm, '' );
|
3375 |
|
|
|
|
|
|
|
|
|
3376 |
// Support foo[] setting keys.
|
3377 |
-
if ( data[ i ].name.indexOf( '[]' ) > -1 ) {
|
3378 |
|
3379 |
name = data[ i ].name.replace( '[]', '' );
|
3380 |
|
@@ -3419,15 +3424,22 @@
|
|
3419 |
}
|
3420 |
}
|
3421 |
|
3422 |
-
//
|
3423 |
for ( key in settings ) {
|
|
|
3424 |
if ( 'undefined' != typeof settings[ 'as_values_' + key ] ) {
|
|
|
3425 |
settings[ key ] = $.grep(
|
3426 |
settings[ 'as_values_' + key ].split( ',' ),
|
3427 |
function( n ) {
|
3428 |
return n != '';
|
3429 |
}
|
3430 |
).join( ',' );
|
|
|
|
|
|
|
|
|
|
|
3431 |
}
|
3432 |
}
|
3433 |
|
991 |
*/
|
992 |
_exit: function()
|
993 |
{
|
994 |
+
var href = window.location.href,
|
995 |
+
isTemplate = 'fl-builder-template' == FLBuilderConfig.postType;
|
996 |
|
997 |
+
if ( isTemplate && typeof window.opener != 'undefined' && window.opener ) {
|
998 |
window.close();
|
999 |
}
|
1000 |
else {
|
3374 |
|
3375 |
value = data[ i ].value.replace( /\r/gm, '' );
|
3376 |
|
3377 |
+
// Don't save text editor textareas.
|
3378 |
+
if ( data[ i ].name.indexOf( 'flrich' ) > -1 ) {
|
3379 |
+
continue;
|
3380 |
+
}
|
3381 |
// Support foo[] setting keys.
|
3382 |
+
else if ( data[ i ].name.indexOf( '[]' ) > -1 ) {
|
3383 |
|
3384 |
name = data[ i ].name.replace( '[]', '' );
|
3385 |
|
3424 |
}
|
3425 |
}
|
3426 |
|
3427 |
+
// Update auto suggest values.
|
3428 |
for ( key in settings ) {
|
3429 |
+
|
3430 |
if ( 'undefined' != typeof settings[ 'as_values_' + key ] ) {
|
3431 |
+
|
3432 |
settings[ key ] = $.grep(
|
3433 |
settings[ 'as_values_' + key ].split( ',' ),
|
3434 |
function( n ) {
|
3435 |
return n != '';
|
3436 |
}
|
3437 |
).join( ',' );
|
3438 |
+
|
3439 |
+
try {
|
3440 |
+
delete settings[ 'as_values_' + key ];
|
3441 |
+
}
|
3442 |
+
catch( e ) {}
|
3443 |
}
|
3444 |
}
|
3445 |
|
languages/de_DE.po
CHANGED
@@ -1552,7 +1552,7 @@ msgstr "Forum besuchen"
|
|
1552 |
# @ fl-builder
|
1553 |
#: includes/js-config.php:96
|
1554 |
msgid "Watch the Video"
|
1555 |
-
msgstr "
|
1556 |
|
1557 |
# @ fl-builder
|
1558 |
#: includes/js-config.php:97
|
1552 |
# @ fl-builder
|
1553 |
#: includes/js-config.php:96
|
1554 |
msgid "Watch the Video"
|
1555 |
+
msgstr "Video anschauen"
|
1556 |
|
1557 |
# @ fl-builder
|
1558 |
#: includes/js-config.php:97
|
languages/es_ES.mo
CHANGED
Binary file
|
languages/es_ES.po
CHANGED
@@ -3,14 +3,14 @@ msgstr ""
|
|
3 |
"Project-Id-Version: {FL_BUILDER_NAME}\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2015-05-18 10:56-0800\n"
|
6 |
-
"PO-Revision-Date: 2015-
|
7 |
"Last-Translator: Roberto Porcar <rporcar@arrakis.es>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: es_ES\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
-
"X-Generator: Poedit 1.
|
14 |
"X-Poedit-Basepath: ..\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
@@ -56,7 +56,7 @@ msgstr "Tipos de Entrada"
|
|
56 |
#: classes/class-fl-builder-admin-settings.php:167
|
57 |
#: modules/icon-group/icon-group.php:27
|
58 |
msgid "Icons"
|
59 |
-
msgstr "
|
60 |
|
61 |
#: classes/class-fl-builder-admin-settings.php:171
|
62 |
msgid "Editing"
|
@@ -84,7 +84,7 @@ msgstr "Desinstalar"
|
|
84 |
|
85 |
#: classes/class-fl-builder-admin-settings.php:439
|
86 |
msgid "Error! You must have at least one icon set enabled."
|
87 |
-
msgstr "Error! Necesitas tener al menos una colección de
|
88 |
|
89 |
#: classes/class-fl-builder-admin-settings.php:481
|
90 |
msgid "Error! Could not unzip file."
|
@@ -101,8 +101,7 @@ msgstr ""
|
|
101 |
|
102 |
#: classes/class-fl-builder-admin-settings.php:636
|
103 |
msgid "Error! You must have at least one feature of the help button enabled."
|
104 |
-
msgstr ""
|
105 |
-
"¡Error! Debse tener al menos una característica del botón ayuda habilitada."
|
106 |
|
107 |
#: classes/class-fl-builder-admin.php:45
|
108 |
#, php-format
|
@@ -210,7 +209,7 @@ msgstr "Páginas de Contenido"
|
|
210 |
#: classes/class-fl-builder-photo.php:100
|
211 |
msgctxt "Image size."
|
212 |
msgid "Full Size"
|
213 |
-
msgstr "Tamaño
|
214 |
|
215 |
#: classes/class-fl-builder-photo.php:101
|
216 |
msgctxt "Image size."
|
@@ -229,15 +228,15 @@ msgstr "Miniatura"
|
|
229 |
|
230 |
#: classes/class-fl-builder-service-aweber.php:72
|
231 |
msgid "Error: You must provide an Authorization Code."
|
232 |
-
msgstr "Error:
|
233 |
|
234 |
#: classes/class-fl-builder-service-aweber.php:76
|
235 |
msgid "Error: Please enter a valid Authorization Code."
|
236 |
-
msgstr "Error: Por favor,
|
237 |
|
238 |
#: classes/class-fl-builder-service-aweber.php:127
|
239 |
msgid "Authorization Code"
|
240 |
-
msgstr "Código Autorización"
|
241 |
|
242 |
#: classes/class-fl-builder-service-aweber.php:128
|
243 |
#, php-format
|
@@ -281,7 +280,7 @@ msgstr "Lista"
|
|
281 |
#: classes/class-fl-builder-service-aweber.php:219
|
282 |
msgid ""
|
283 |
"There was an error subscribing to AWeber. The account is no longer connected."
|
284 |
-
msgstr "Hubo un error suscribirse a AWeber. La cuenta ya no está conectada."
|
285 |
|
286 |
#: classes/class-fl-builder-service-aweber.php:242
|
287 |
msgid "There was an error connecting to AWeber. Please try again."
|
@@ -325,8 +324,8 @@ msgid ""
|
|
325 |
"Your API key can be found in your Campaign Monitor account under Account "
|
326 |
"Settings > API Key."
|
327 |
msgstr ""
|
328 |
-
"La clave API puede encontrarse en tu cuenta Campaign Monitor bajo
|
329 |
-
"
|
330 |
|
331 |
#: classes/class-fl-builder-service-campaign-monitor.php:158
|
332 |
msgctxt "A client account in Campaign Monitor."
|
@@ -338,7 +337,8 @@ msgid ""
|
|
338 |
"There was an error subscribing to Campaign Monitor. The account is no longer "
|
339 |
"connected."
|
340 |
msgstr ""
|
341 |
-
"Hubo un error suscribirse a Campaign Monitor. La cuenta ya no está
|
|
|
342 |
|
343 |
#: classes/class-fl-builder-service-campaign-monitor.php:253
|
344 |
msgid "There was an error subscribing to Campaign Monitor."
|
@@ -356,15 +356,15 @@ msgstr "Error: No se pudo conectar a Constant Contact. %s"
|
|
356 |
|
357 |
#: classes/class-fl-builder-service-constant-contact.php:89
|
358 |
msgid "Your Constant Contact API key."
|
359 |
-
msgstr "Tu API key Constant Contact."
|
360 |
|
361 |
#: classes/class-fl-builder-service-constant-contact.php:99
|
362 |
msgid "Access Token"
|
363 |
-
msgstr "
|
364 |
|
365 |
#: classes/class-fl-builder-service-constant-contact.php:100
|
366 |
msgid "Your Constant Contact access token."
|
367 |
-
msgstr "El token de acceso de
|
368 |
|
369 |
#: classes/class-fl-builder-service-constant-contact.php:101
|
370 |
#, php-format
|
@@ -428,16 +428,17 @@ msgstr "Etiqueta"
|
|
428 |
msgid ""
|
429 |
"There was an error subscribing to Hatchbuck. The account is no longer "
|
430 |
"connected."
|
431 |
-
msgstr "
|
|
|
432 |
|
433 |
#: classes/class-fl-builder-service-hatchbuck.php:190
|
434 |
msgid "There was an error subscribing to Hatchbuck. The API key is invalid."
|
435 |
-
msgstr "Hubo un error suscribirse a Hatchbuck. La API key no es válida."
|
436 |
|
437 |
#: classes/class-fl-builder-service-hatchbuck.php:200
|
438 |
#: classes/class-fl-builder-service-hatchbuck.php:232
|
439 |
msgid "There was an error subscribing to Hatchbuck."
|
440 |
-
msgstr "Hubo un error suscribirse a Hatchbuck."
|
441 |
|
442 |
#: classes/class-fl-builder-service-icontact.php:75
|
443 |
msgid "Error: You must provide a username."
|
@@ -496,12 +497,13 @@ msgstr ""
|
|
496 |
msgid ""
|
497 |
"There was an error subscribing to iContact. The account is no longer "
|
498 |
"connected."
|
499 |
-
msgstr "
|
|
|
500 |
|
501 |
#: classes/class-fl-builder-service-icontact.php:280
|
502 |
#, php-format
|
503 |
msgid "There was an error subscribing to iContact. %s"
|
504 |
-
msgstr "Hubo un error suscribirse a iContact. %s"
|
505 |
|
506 |
#: classes/class-fl-builder-service-infusionsoft.php:49
|
507 |
#, php-format
|
@@ -798,12 +800,12 @@ msgstr "Todas las Categorías"
|
|
798 |
#: classes/class-fl-builder.php:931
|
799 |
msgctxt "Custom taxonomy label."
|
800 |
msgid "Parent Category"
|
801 |
-
msgstr "
|
802 |
|
803 |
#: classes/class-fl-builder.php:932
|
804 |
msgctxt "Custom taxonomy label."
|
805 |
msgid "Parent Category:"
|
806 |
-
msgstr "
|
807 |
|
808 |
#: classes/class-fl-builder.php:933
|
809 |
msgctxt "Custom taxonomy label."
|
@@ -847,21 +849,20 @@ msgstr "%s está actualmente activo para este %s."
|
|
847 |
#, php-format
|
848 |
msgctxt "%s stands for custom branded \"Page Builder\" name."
|
849 |
msgid "Launch %s"
|
850 |
-
msgstr "
|
851 |
|
852 |
#: includes/admin-settings-branding.php:7
|
853 |
msgid "White label the page builder by entering a custom name below."
|
854 |
msgstr ""
|
855 |
-
"Introduce un nombre personalizado para cambiar
|
856 |
-
"propia marca."
|
857 |
|
858 |
#: includes/admin-settings-branding.php:10
|
859 |
msgid ""
|
860 |
"Additionally, you may also add a custom icon by entering the URL of an image "
|
861 |
"below. Leave the field blank if you do not wish to use an icon."
|
862 |
msgstr ""
|
863 |
-
"Además, también puedes añadir un
|
864 |
-
"una imagen. Deja el campo vacío si no quieres usar un
|
865 |
|
866 |
#: includes/admin-settings-branding.php:14
|
867 |
msgid "Save Branding"
|
@@ -956,11 +957,11 @@ msgstr "Activar Vídeo de Ayuda"
|
|
956 |
|
957 |
#: includes/admin-settings-help-button.php:39
|
958 |
msgid "Help Video Embed Code"
|
959 |
-
msgstr "
|
960 |
|
961 |
#: includes/admin-settings-help-button.php:45
|
962 |
msgid "Knowledge Base"
|
963 |
-
msgstr "Base de
|
964 |
|
965 |
#: includes/admin-settings-help-button.php:49
|
966 |
msgid "Enable Knowledge Base"
|
@@ -1037,8 +1038,7 @@ msgstr "Módulos habilitados"
|
|
1037 |
#: includes/admin-settings-modules.php:16
|
1038 |
msgid "Check or uncheck modules below to enable or disable them."
|
1039 |
msgstr ""
|
1040 |
-
"Selecciona
|
1041 |
-
"los módulos."
|
1042 |
|
1043 |
#: includes/admin-settings-modules.php:26
|
1044 |
msgctxt "Plugin setup page: Modules."
|
@@ -1047,7 +1047,7 @@ msgstr "Todo"
|
|
1047 |
|
1048 |
#: includes/admin-settings-modules.php:64
|
1049 |
msgid "Save Module Settings"
|
1050 |
-
msgstr "Guardar Ajustes"
|
1051 |
|
1052 |
#: includes/admin-settings-post-types.php:18
|
1053 |
msgid ""
|
@@ -1087,15 +1087,15 @@ msgid ""
|
|
1087 |
"builder templates. Leave this field blank if you do not wish to override "
|
1088 |
"core templates."
|
1089 |
msgstr ""
|
1090 |
-
"Introduce el ID del sitio en la red cuyas plantillas
|
1091 |
-
"
|
1092 |
"plantillas base."
|
1093 |
|
1094 |
#: includes/admin-settings-templates-override.php:9
|
1095 |
msgid ""
|
1096 |
"Use this setting to override core builder templates with your templates."
|
1097 |
msgstr ""
|
1098 |
-
"Usa esta opción para
|
1099 |
"plantillas."
|
1100 |
|
1101 |
#: includes/admin-settings-templates.php:9 includes/template-settings.php:4
|
@@ -1137,8 +1137,8 @@ msgstr "Habilitar Plantillas Admin"
|
|
1137 |
#: includes/admin-settings-templates.php:32
|
1138 |
msgid "Use this setting to edit builder templates in the WordPress admin."
|
1139 |
msgstr ""
|
1140 |
-
"Usa esta opción para editar las plantillas desde el
|
1141 |
-
"
|
1142 |
|
1143 |
#: includes/admin-settings-templates.php:50
|
1144 |
msgid "Save Template Settings"
|
@@ -1688,7 +1688,7 @@ msgstr "Todas"
|
|
1688 |
#: includes/column-settings.php:385 includes/module-settings.php:69
|
1689 |
#: includes/row-settings.php:589
|
1690 |
msgid "Large Devices Only"
|
1691 |
-
msgstr "Sólo dispositivos
|
1692 |
|
1693 |
#: includes/column-settings.php:386 includes/module-settings.php:70
|
1694 |
#: includes/row-settings.php:590
|
@@ -1718,7 +1718,7 @@ msgstr ""
|
|
1718 |
|
1719 |
#: includes/column-settings.php:398
|
1720 |
msgid "Medium Device Width"
|
1721 |
-
msgstr "Anchura de dispositivo
|
1722 |
|
1723 |
#: includes/column-settings.php:399
|
1724 |
msgid "The width of this column on medium devices such as tablets."
|
@@ -1744,11 +1744,11 @@ msgstr "Personalizada"
|
|
1744 |
|
1745 |
#: includes/column-settings.php:415
|
1746 |
msgid "Custom Medium Device Width"
|
1747 |
-
msgstr "Personalizar anchura en dispositivo
|
1748 |
|
1749 |
#: includes/column-settings.php:426
|
1750 |
msgid "Small Device Width"
|
1751 |
-
msgstr "Anchura de dispositivo
|
1752 |
|
1753 |
#: includes/column-settings.php:427
|
1754 |
msgid "The width of this column on small devices such as phones."
|
@@ -1757,7 +1757,7 @@ msgstr ""
|
|
1757 |
|
1758 |
#: includes/column-settings.php:443
|
1759 |
msgid "Custom Small Device Width"
|
1760 |
-
msgstr "Personalizar anchura en dispositivo
|
1761 |
|
1762 |
#: includes/column-settings.php:455 includes/module-settings.php:115
|
1763 |
#: includes/row-settings.php:603
|
@@ -1898,7 +1898,7 @@ msgid ""
|
|
1898 |
"You will also be required to enter some basic CSS for this to work if you "
|
1899 |
"choose no."
|
1900 |
msgstr ""
|
1901 |
-
"Eligiendo no se
|
1902 |
"\"Página\". Necesitarás algo de CSS básico para que esto funcione si eliges "
|
1903 |
"no."
|
1904 |
|
@@ -1961,14 +1961,14 @@ msgid ""
|
|
1961 |
"margins and padding in your layout once the small device breakpoint is "
|
1962 |
"reached. Most users will want to leave this enabled."
|
1963 |
msgstr ""
|
1964 |
-
"Cuando espaciado
|
1965 |
"automáticamente los márgenes y espaciado del diseño una vez se alcance el "
|
1966 |
"breakpoint del dispositivo. La mayoría de usuarios querrán dejar esto "
|
1967 |
"habilitado."
|
1968 |
|
1969 |
#: includes/global-settings.php:131
|
1970 |
msgid "Medium Device Breakpoint"
|
1971 |
-
msgstr "Punto de Ruptura para
|
1972 |
|
1973 |
#: includes/global-settings.php:136
|
1974 |
msgid ""
|
@@ -1980,7 +1980,7 @@ msgstr ""
|
|
1980 |
|
1981 |
#: includes/global-settings.php:140
|
1982 |
msgid "Small Device Breakpoint"
|
1983 |
-
msgstr "Punto de Ruptura para
|
1984 |
|
1985 |
#: includes/global-settings.php:145
|
1986 |
msgid ""
|
@@ -2008,8 +2008,8 @@ msgid ""
|
|
2008 |
"Warning! Changing the template will replace your existing layout. Do you "
|
2009 |
"really want to do this?"
|
2010 |
msgstr ""
|
2011 |
-
"¡Advertencia! Cambiando la plantilla
|
2012 |
-
"hacer esto?"
|
2013 |
|
2014 |
#: includes/js-config.php:22
|
2015 |
msgid "Column"
|
@@ -2031,7 +2031,7 @@ msgid ""
|
|
2031 |
"Are you sure you want to remove this account? Other modules that are "
|
2032 |
"connected to it will be affected."
|
2033 |
msgstr ""
|
2034 |
-
"¿Estás seguro que
|
2035 |
"módulos que estén relacionados con este."
|
2036 |
|
2037 |
#: includes/js-config.php:27
|
@@ -2063,8 +2063,8 @@ msgid ""
|
|
2063 |
"Do you really want to discard these changes? All of your changes that are "
|
2064 |
"not published will be lost."
|
2065 |
msgstr ""
|
2066 |
-
"¿Quieres descartar estos cambios? Todos los cambios que no
|
2067 |
-
"perderán."
|
2068 |
|
2069 |
#: includes/js-config.php:33 includes/ui.php:20 includes/ui.php:55
|
2070 |
msgid "Done"
|
@@ -2118,7 +2118,7 @@ msgstr "Obtener Ayuda"
|
|
2118 |
|
2119 |
#: includes/js-config.php:43
|
2120 |
msgid "Getting Started Video"
|
2121 |
-
msgstr "Video Primeros Pasos"
|
2122 |
|
2123 |
#: includes/js-config.php:44
|
2124 |
msgid "\"{message}\" on line {line} of {file}."
|
@@ -2162,7 +2162,7 @@ msgstr "No hay resultados."
|
|
2162 |
|
2163 |
#: includes/js-config.php:54
|
2164 |
msgid "No Thanks"
|
2165 |
-
msgstr "No,
|
2166 |
|
2167 |
#: includes/js-config.php:55
|
2168 |
msgid "OK"
|
@@ -2182,7 +2182,7 @@ msgstr "Fotos Seleccionadas"
|
|
2182 |
|
2183 |
#: includes/js-config.php:59 modules/subscribe-form/includes/frontend.php:15
|
2184 |
msgid "Please Wait..."
|
2185 |
-
msgstr "Por favor
|
2186 |
|
2187 |
#: includes/js-config.php:60
|
2188 |
msgid "Publish Changes"
|
@@ -2262,15 +2262,15 @@ msgstr ""
|
|
2262 |
|
2263 |
#: includes/js-config.php:82
|
2264 |
msgid "Add Rows"
|
2265 |
-
msgstr "Añadir
|
2266 |
|
2267 |
#: includes/js-config.php:83
|
2268 |
msgid ""
|
2269 |
"Add multi-column rows, adjust spacing, add backgrounds and more by dragging "
|
2270 |
"and dropping row layouts onto the page."
|
2271 |
msgstr ""
|
2272 |
-
"
|
2273 |
-
"arrastrando y soltando diseños de fila en la página."
|
2274 |
|
2275 |
#: includes/js-config.php:84 includes/ui.php:22 includes/ui.php:60
|
2276 |
msgid "Add Content"
|
@@ -2281,8 +2281,8 @@ msgid ""
|
|
2281 |
"Add new content by dragging and dropping modules or widgets into your row "
|
2282 |
"layouts or to create a new row layout."
|
2283 |
msgstr ""
|
2284 |
-
"Añade contenido nuevo arrastrando y soltando módulos o widgets en
|
2285 |
-
"bien para crear una nueva
|
2286 |
|
2287 |
#: includes/js-config.php:86
|
2288 |
msgid "Edit Content"
|
@@ -2313,7 +2313,7 @@ msgid ""
|
|
2313 |
"layouts, modules or widgets."
|
2314 |
msgstr ""
|
2315 |
"Utiliza el botón Añadir Contenido para abrir el panel de contenido y añadir "
|
2316 |
-
"
|
2317 |
|
2318 |
#: includes/js-config.php:91
|
2319 |
msgid "Change Templates"
|
@@ -2325,9 +2325,9 @@ msgid ""
|
|
2325 |
"layout. Appending will insert a new template at the end of your existing "
|
2326 |
"page content."
|
2327 |
msgstr ""
|
2328 |
-
"Usa el botón de Plantillas para escoger una nueva plantilla o
|
2329 |
-
"
|
2330 |
-
"al final de tu diseño."
|
2331 |
|
2332 |
#: includes/js-config.php:93
|
2333 |
msgid "Helpful Tools"
|
@@ -2355,7 +2355,7 @@ msgstr ""
|
|
2355 |
|
2356 |
#: includes/js-config.php:97
|
2357 |
msgid "Let's Get Building!"
|
2358 |
-
msgstr "
|
2359 |
|
2360 |
#: includes/js-config.php:98
|
2361 |
msgid ""
|
@@ -2363,9 +2363,9 @@ msgid ""
|
|
2363 |
"you need help, click the help icon in the upper right corner to access the "
|
2364 |
"help menu. Happy building!"
|
2365 |
msgstr ""
|
2366 |
-
"Ahora que ya sabes lo básico, estás listo para empezar a diseñar
|
2367 |
"necesitas ayuda en cualquier momento, haz clic en el icono de ayuda en la "
|
2368 |
-
"esquina superior derecha para acceder al menú de ayuda. ¡
|
2369 |
|
2370 |
#: includes/js-config.php:99
|
2371 |
msgid ""
|
@@ -2392,11 +2392,11 @@ msgid ""
|
|
2392 |
"Would you like to take a tour?"
|
2393 |
msgstr ""
|
2394 |
"¡Bienvenido! Parece que es la primera vez que utilizas este editor. ¿Te "
|
2395 |
-
"gustaría realizar un tour?"
|
2396 |
|
2397 |
#: includes/js-config.php:104
|
2398 |
msgid "Yes Please!"
|
2399 |
-
msgstr "
|
2400 |
|
2401 |
#: includes/loop-settings.php:20
|
2402 |
msgid "Post Type"
|
@@ -2455,7 +2455,9 @@ msgstr "Offset"
|
|
2455 |
|
2456 |
#: includes/loop-settings.php:55
|
2457 |
msgid "Skip this many posts that match the specified criteria."
|
2458 |
-
msgstr "
|
|
|
|
|
2459 |
|
2460 |
#: includes/loop-settings.php:62
|
2461 |
msgid "Filter"
|
@@ -2594,9 +2596,9 @@ msgid ""
|
|
2594 |
"Full width content spans the width of the page from edge to edge. Fixed "
|
2595 |
"content is no wider than the Row Max Width set in the Global Settings."
|
2596 |
msgstr ""
|
2597 |
-
"Los contenidos
|
2598 |
-
"a lado. El contenido fijo no es más ancho que la Anchura Máxima de la
|
2599 |
-
"establecida en la Configuración Global."
|
2600 |
|
2601 |
#: includes/row-settings.php:71
|
2602 |
msgctxt "Background type."
|
@@ -2615,7 +2617,7 @@ msgstr "Parallax"
|
|
2615 |
|
2616 |
#: includes/row-settings.php:203
|
2617 |
msgid "Background Video"
|
2618 |
-
msgstr "Fondo
|
2619 |
|
2620 |
#: includes/row-settings.php:207 modules/content-slider/content-slider.php:336
|
2621 |
#: modules/video/video.php:19 modules/video/video.php:100
|
@@ -2694,7 +2696,7 @@ msgstr "Ninguna"
|
|
2694 |
#: modules/slideshow/slideshow.php:394
|
2695 |
#: modules/testimonials/testimonials.php:103
|
2696 |
msgid "Fade"
|
2697 |
-
msgstr "
|
2698 |
|
2699 |
#: includes/row-settings.php:278 modules/slideshow/slideshow.php:395
|
2700 |
msgid "Ken Burns"
|
@@ -2856,15 +2858,15 @@ msgstr "Page Builder Demo"
|
|
2856 |
|
2857 |
#: includes/ui.php:51
|
2858 |
msgid "Buy Now!"
|
2859 |
-
msgstr "Comprar Ahora!"
|
2860 |
|
2861 |
#: includes/ui.php:53
|
2862 |
msgid "Upgrade!"
|
2863 |
-
msgstr "Actualizar!"
|
2864 |
|
2865 |
#: includes/ui.php:78
|
2866 |
msgid "Row Layouts"
|
2867 |
-
msgstr "
|
2868 |
|
2869 |
#: includes/ui.php:82
|
2870 |
msgid "1 Column"
|
@@ -2900,7 +2902,7 @@ msgstr "Barra Lateral Derecha"
|
|
2900 |
|
2901 |
#: includes/ui.php:90
|
2902 |
msgid "Left & Right Sidebar"
|
2903 |
-
msgstr "
|
2904 |
|
2905 |
#: includes/updater/classes/class-fl-updater.php:132
|
2906 |
msgid "<strong>UPDATE UNAVAILABLE!</strong>"
|
@@ -2926,15 +2928,15 @@ msgstr ""
|
|
2926 |
|
2927 |
#: includes/updater/includes/form.php:11
|
2928 |
msgid "Updates & Support Subscription"
|
2929 |
-
msgstr "Suscripción Actualizaciones & Soporte"
|
2930 |
|
2931 |
#: includes/updater/includes/form.php:14
|
2932 |
msgid "Active!"
|
2933 |
-
msgstr "Activado!"
|
2934 |
|
2935 |
#: includes/updater/includes/form.php:16
|
2936 |
msgid "Not Active!"
|
2937 |
-
msgstr "No activado!"
|
2938 |
|
2939 |
#: includes/updater/includes/form.php:22
|
2940 |
msgid "Email address saved!"
|
@@ -2965,7 +2967,7 @@ msgstr "Acordeón"
|
|
2965 |
|
2966 |
#: modules/accordion/accordion.php:15
|
2967 |
msgid "Display a collapsible accordion of items."
|
2968 |
-
msgstr "Mostrar un acordeón
|
2969 |
|
2970 |
#: modules/accordion/accordion.php:28 modules/tabs/tabs.php:28
|
2971 |
msgid "Items"
|
@@ -3037,7 +3039,7 @@ msgstr "Botón"
|
|
3037 |
|
3038 |
#: modules/button/button.php:15
|
3039 |
msgid "A simple call to action button."
|
3040 |
-
msgstr "Un simple botón de
|
3041 |
|
3042 |
#: modules/button/button.php:67 modules/cta/cta.php:222
|
3043 |
msgid "Click Here"
|
@@ -3210,7 +3212,7 @@ msgstr "Alineación"
|
|
3210 |
#: modules/callout/callout.php:255
|
3211 |
msgid "The alignment that will apply to all elements within the callout."
|
3212 |
msgstr ""
|
3213 |
-
"La alineación que se aplicará a todos los elementos dentro
|
3214 |
|
3215 |
#: modules/callout/callout.php:263 modules/cta/cta.php:147
|
3216 |
msgid "Heading Structure"
|
@@ -3261,7 +3263,7 @@ msgstr "Panorama"
|
|
3261 |
|
3262 |
#: modules/callout/callout.php:346 modules/photo/photo.php:407
|
3263 |
msgid "Portrait"
|
3264 |
-
msgstr "
|
3265 |
|
3266 |
#: modules/callout/callout.php:347 modules/photo/photo.php:408
|
3267 |
msgid "Square"
|
@@ -3297,7 +3299,7 @@ msgstr "Derecha del Encabezado"
|
|
3297 |
|
3298 |
#: modules/callout/callout.php:387
|
3299 |
msgid "Icon Colors"
|
3300 |
-
msgstr "Colores
|
3301 |
|
3302 |
#: modules/callout/callout.php:396 modules/icon-group/icon-group.php:56
|
3303 |
#: modules/icon/icon.php:87
|
@@ -3316,20 +3318,20 @@ msgstr "Tamaño"
|
|
3316 |
#: modules/callout/callout.php:442
|
3317 |
#: modules/content-slider/content-slider.php:570
|
3318 |
msgid "Call To Action"
|
3319 |
-
msgstr "
|
3320 |
|
3321 |
#: modules/callout/callout.php:450
|
3322 |
msgid ""
|
3323 |
"The link applies to the entire module. If choosing a call to action type "
|
3324 |
"below, this link will also be used for the text or button."
|
3325 |
msgstr ""
|
3326 |
-
"El enlace se aplica para todo el módulo. Si eliges una llamada
|
3327 |
"debajo, este enlace también se utilizará para el texto o botón."
|
3328 |
|
3329 |
#: modules/callout/callout.php:470
|
3330 |
#: modules/content-slider/content-slider.php:592 modules/cta/cta.php:14
|
3331 |
msgid "Call to Action"
|
3332 |
-
msgstr "
|
3333 |
|
3334 |
#: modules/callout/callout.php:477
|
3335 |
#: modules/content-slider/content-slider.php:599
|
@@ -3371,7 +3373,7 @@ msgstr "Formulario de Contacto"
|
|
3371 |
|
3372 |
#: modules/contact-form/contact-form.php:15
|
3373 |
msgid "A very simple contact form."
|
3374 |
-
msgstr "Un formulario de contacto
|
3375 |
|
3376 |
#: modules/contact-form/contact-form.php:31
|
3377 |
msgid "Contact Form Submission"
|
@@ -3396,7 +3398,7 @@ msgstr "El formulario se enviará a este e-mail"
|
|
3396 |
#: modules/contact-form/contact-form.php:75
|
3397 |
#: modules/subscribe-form/subscribe-form.php:107
|
3398 |
msgid "Name Field"
|
3399 |
-
msgstr "
|
3400 |
|
3401 |
#: modules/contact-form/contact-form.php:78
|
3402 |
#: modules/contact-form/contact-form.php:87
|
@@ -3422,7 +3424,7 @@ msgstr "Ocultar"
|
|
3422 |
|
3423 |
#: modules/contact-form/contact-form.php:84
|
3424 |
msgid "Subject Field"
|
3425 |
-
msgstr "Campo Asunto"
|
3426 |
|
3427 |
#: modules/contact-form/contact-form.php:93
|
3428 |
msgid "Email Field"
|
@@ -3430,7 +3432,7 @@ msgstr "Campo de Email"
|
|
3430 |
|
3431 |
#: modules/contact-form/contact-form.php:102
|
3432 |
msgid "Phone Field"
|
3433 |
-
msgstr "Campo Teléfono"
|
3434 |
|
3435 |
#: modules/contact-form/includes/frontend.php:5
|
3436 |
msgctxt "Contact form field label."
|
@@ -3453,7 +3455,7 @@ msgstr "Asunto"
|
|
3453 |
|
3454 |
#: modules/contact-form/includes/frontend.php:14
|
3455 |
msgid "Please enter a subject."
|
3456 |
-
msgstr "
|
3457 |
|
3458 |
#: modules/contact-form/includes/frontend.php:21
|
3459 |
msgid "Email"
|
@@ -3461,7 +3463,7 @@ msgstr "Email"
|
|
3461 |
|
3462 |
#: modules/contact-form/includes/frontend.php:22
|
3463 |
msgid "Please enter a valid email."
|
3464 |
-
msgstr "
|
3465 |
|
3466 |
#: modules/contact-form/includes/frontend.php:23
|
3467 |
msgid "Your email"
|
@@ -3473,11 +3475,11 @@ msgstr "Teléfono"
|
|
3473 |
|
3474 |
#: modules/contact-form/includes/frontend.php:30
|
3475 |
msgid "Please enter a valid phone number."
|
3476 |
-
msgstr "Por favor
|
3477 |
|
3478 |
#: modules/contact-form/includes/frontend.php:31
|
3479 |
msgid "Your phone"
|
3480 |
-
msgstr "
|
3481 |
|
3482 |
#: modules/contact-form/includes/frontend.php:36
|
3483 |
msgid "Your Message"
|
@@ -3497,7 +3499,7 @@ msgstr "Enviar"
|
|
3497 |
|
3498 |
#: modules/contact-form/includes/frontend.php:44
|
3499 |
msgid "Message Sent!"
|
3500 |
-
msgstr "Mensaje Enviado!"
|
3501 |
|
3502 |
#: modules/contact-form/includes/frontend.php:45
|
3503 |
msgid "Message failed. Please try again."
|
@@ -3562,11 +3564,11 @@ msgstr "La anchura máxima que tendrá el área de contenido en las diapositivas
|
|
3562 |
|
3563 |
#: modules/content-slider/content-slider.php:289
|
3564 |
msgid "Slides"
|
3565 |
-
msgstr "
|
3566 |
|
3567 |
#: modules/content-slider/content-slider.php:296
|
3568 |
msgid "Slide"
|
3569 |
-
msgstr "Diapositiva"
|
3570 |
|
3571 |
#: modules/content-slider/content-slider.php:311
|
3572 |
msgid "Slide Settings"
|
@@ -3574,15 +3576,15 @@ msgstr "Configuración de la Diapositiva"
|
|
3574 |
|
3575 |
#: modules/content-slider/content-slider.php:321
|
3576 |
msgid "Slide Label"
|
3577 |
-
msgstr "Etiqueta Slide"
|
3578 |
|
3579 |
#: modules/content-slider/content-slider.php:322
|
3580 |
msgid ""
|
3581 |
"A label to identify this slide on the Slides tab of the Content Slider "
|
3582 |
"settings."
|
3583 |
msgstr ""
|
3584 |
-
"Una etiqueta para identificar esta diapositiva en la ficha diapositivas
|
3585 |
-
"la configuración
|
3586 |
|
3587 |
#: modules/content-slider/content-slider.php:327
|
3588 |
msgid "Background Layout"
|
@@ -3590,11 +3592,11 @@ msgstr "Diseño de Fondo"
|
|
3590 |
|
3591 |
#: modules/content-slider/content-slider.php:333
|
3592 |
msgid "This setting is for the entire background of your slide."
|
3593 |
-
msgstr "Esta configuración es todo el fondo de la diapositiva."
|
3594 |
|
3595 |
#: modules/content-slider/content-slider.php:368
|
3596 |
msgid "Background Video Code"
|
3597 |
-
msgstr "Código Video de Fondo"
|
3598 |
|
3599 |
#: modules/content-slider/content-slider.php:374
|
3600 |
msgid "Content Layout"
|
@@ -3606,9 +3608,9 @@ msgid ""
|
|
3606 |
"selection above. The location of the content layout can be selected in the "
|
3607 |
"style tab."
|
3608 |
msgstr ""
|
3609 |
-
"Permite añadir contenido sobre o
|
3610 |
-
"Puedes seleccionar la ubicación del diseño
|
3611 |
-
"estilo."
|
3612 |
|
3613 |
#: modules/content-slider/content-slider.php:383
|
3614 |
msgid "Text & Photo"
|
@@ -3625,7 +3627,7 @@ msgstr "Ninguno"
|
|
3625 |
|
3626 |
#: modules/content-slider/content-slider.php:408 modules/video/video.php:132
|
3627 |
msgid "Video Embed Code"
|
3628 |
-
msgstr "Código Inserción Video"
|
3629 |
|
3630 |
#: modules/content-slider/content-slider.php:468
|
3631 |
msgid "Text Position"
|
@@ -3672,16 +3674,16 @@ msgstr "Color de Fondo del Texto"
|
|
3672 |
msgid ""
|
3673 |
"The color applies to the overlay behind text over the background selections."
|
3674 |
msgstr ""
|
3675 |
-
"El color se aplica a la superposición detrás
|
3676 |
"de fondo."
|
3677 |
|
3678 |
#: modules/content-slider/content-slider.php:549
|
3679 |
msgid "Text Background Opacity"
|
3680 |
-
msgstr "Opacidad
|
3681 |
|
3682 |
#: modules/content-slider/content-slider.php:557
|
3683 |
msgid "Text Background Height"
|
3684 |
-
msgstr "Altura
|
3685 |
|
3686 |
#: modules/content-slider/content-slider.php:559
|
3687 |
msgid ""
|
@@ -3748,11 +3750,11 @@ msgstr "Mostrar un título, subtítulo y un botón."
|
|
3748 |
|
3749 |
#: modules/cta/cta.php:75
|
3750 |
msgid "Ready to find out more?"
|
3751 |
-
msgstr "¿
|
3752 |
|
3753 |
#: modules/cta/cta.php:90
|
3754 |
msgid "Drop us a line today for a free quote!"
|
3755 |
-
msgstr "¡
|
3756 |
|
3757 |
#: modules/cta/cta.php:108 modules/gallery/gallery.php:220
|
3758 |
#: modules/post-grid/post-grid.php:44
|
@@ -3780,7 +3782,7 @@ msgstr "Enlace del Botón"
|
|
3780 |
|
3781 |
#: modules/gallery/gallery.php:14 modules/post-grid/post-grid.php:55
|
3782 |
msgid "Gallery"
|
3783 |
-
msgstr "
|
3784 |
|
3785 |
#: modules/gallery/gallery.php:15
|
3786 |
msgid "Display multiple photos in a gallery view."
|
@@ -3846,7 +3848,7 @@ msgstr ""
|
|
3846 |
|
3847 |
#: modules/gallery/gallery.php:289 modules/slideshow/slideshow.php:336
|
3848 |
msgid "Click Action"
|
3849 |
-
msgstr "Acción
|
3850 |
|
3851 |
#: modules/gallery/gallery.php:292
|
3852 |
msgctxt "Click action."
|
@@ -3891,19 +3893,19 @@ msgstr "Mostrar código HTML."
|
|
3891 |
|
3892 |
#: modules/icon-group/icon-group.php:14
|
3893 |
msgid "Icon Group"
|
3894 |
-
msgstr "Grupo de
|
3895 |
|
3896 |
#: modules/icon-group/icon-group.php:15
|
3897 |
msgid "Display a group of linked Font Awesome icons."
|
3898 |
-
msgstr "Muestra un grupo de
|
3899 |
|
3900 |
#: modules/icon-group/icon-group.php:125
|
3901 |
msgid "Add Icon"
|
3902 |
-
msgstr "Añadir
|
3903 |
|
3904 |
#: modules/icon/icon.php:15
|
3905 |
msgid "Display an icon and optional title."
|
3906 |
-
msgstr "Mostrar un
|
3907 |
|
3908 |
#: modules/map/map.php:14
|
3909 |
msgid "Map"
|
@@ -3935,7 +3937,7 @@ msgstr "URL"
|
|
3935 |
|
3936 |
#: modules/photo/photo.php:396
|
3937 |
msgid "Photo URL"
|
3938 |
-
msgstr "
|
3939 |
|
3940 |
#: modules/photo/photo.php:397
|
3941 |
msgid "http://www.example.com/my-photo.jpg"
|
@@ -3965,7 +3967,7 @@ msgstr "Ninguno"
|
|
3965 |
|
3966 |
#: modules/photo/photo.php:453
|
3967 |
msgid "Photo File"
|
3968 |
-
msgstr "
|
3969 |
|
3970 |
#: modules/photo/photo.php:464
|
3971 |
msgid ""
|
@@ -3973,12 +3975,12 @@ msgid ""
|
|
3973 |
"a specific URL, the individual photo or a separate page with the photo."
|
3974 |
msgstr ""
|
3975 |
"Tipo de enlace se aplica a cómo la imagen debería estar vinculada al hacer "
|
3976 |
-
"clic.
|
3977 |
"página separada con la foto."
|
3978 |
|
3979 |
#: modules/photo/photo.php:471 modules/slideshow/slideshow.php:357
|
3980 |
msgid "Link URL"
|
3981 |
-
msgstr "
|
3982 |
|
3983 |
#: modules/post-grid/includes/frontend.php:41
|
3984 |
msgid "No posts found."
|
@@ -3997,7 +3999,7 @@ msgstr "Entradas"
|
|
3997 |
|
3998 |
#: modules/post-grid/post-grid.php:15
|
3999 |
msgid "Display a grid of your WordPress posts."
|
4000 |
-
msgstr "
|
4001 |
|
4002 |
#: modules/post-grid/post-grid.php:51
|
4003 |
msgid "Layout Style"
|
@@ -4115,7 +4117,7 @@ msgstr "Apretado"
|
|
4115 |
|
4116 |
#: modules/pricing-table/pricing-table.php:59
|
4117 |
msgid "Features Min Height"
|
4118 |
-
msgstr "Altura Mínima Características"
|
4119 |
|
4120 |
#: modules/pricing-table/pricing-table.php:63
|
4121 |
msgid ""
|
@@ -4145,7 +4147,7 @@ msgstr "Tamaño de Título"
|
|
4145 |
|
4146 |
#: modules/pricing-table/pricing-table.php:107
|
4147 |
msgid "Price Box"
|
4148 |
-
msgstr "Precio"
|
4149 |
|
4150 |
#: modules/pricing-table/pricing-table.php:111
|
4151 |
#: modules/woocommerce/woocommerce.php:190
|
@@ -4196,7 +4198,7 @@ msgstr "Color Destacado"
|
|
4196 |
|
4197 |
#: modules/pricing-table/pricing-table.php:178
|
4198 |
msgid "Accent Text Color"
|
4199 |
-
msgstr "Color Texto Destacado"
|
4200 |
|
4201 |
#: modules/pricing-table/pricing-table.php:182
|
4202 |
msgid "Box Top Margin"
|
@@ -4230,9 +4232,7 @@ msgstr "Barra Lateral"
|
|
4230 |
#: modules/sidebar/sidebar.php:15
|
4231 |
msgid ""
|
4232 |
"Display a WordPress sidebar that has been registered by the current theme."
|
4233 |
-
msgstr ""
|
4234 |
-
"Muestra una barra lateral de WordPress que ha sido registrada por el tema "
|
4235 |
-
"actual."
|
4236 |
|
4237 |
#: modules/slideshow/slideshow.php:14
|
4238 |
msgid "Slideshow"
|
@@ -4240,11 +4240,11 @@ msgstr "Slideshow"
|
|
4240 |
|
4241 |
#: modules/slideshow/slideshow.php:15
|
4242 |
msgid "Display multiple photos in a slideshow view."
|
4243 |
-
msgstr "Mostrar varias fotos en una vista de presentación
|
4244 |
|
4245 |
#: modules/slideshow/slideshow.php:303
|
4246 |
msgid "Skin Color"
|
4247 |
-
msgstr "Color del
|
4248 |
|
4249 |
#: modules/slideshow/slideshow.php:306
|
4250 |
msgctxt "Color."
|
@@ -4336,19 +4336,19 @@ msgstr "Miniaturas"
|
|
4336 |
|
4337 |
#: modules/slideshow/slideshow.php:472
|
4338 |
msgid "Nav Position"
|
4339 |
-
msgstr "Posición Navegación"
|
4340 |
|
4341 |
#: modules/slideshow/slideshow.php:482
|
4342 |
msgid "Control Bar Buttons"
|
4343 |
-
msgstr "Botones Barra de Control"
|
4344 |
|
4345 |
#: modules/slideshow/slideshow.php:495
|
4346 |
msgid "Play Button"
|
4347 |
-
msgstr "Botón Play"
|
4348 |
|
4349 |
#: modules/slideshow/slideshow.php:504
|
4350 |
msgid "Fullscreen Button"
|
4351 |
-
msgstr "Botón Pantalla Completa"
|
4352 |
|
4353 |
#: modules/slideshow/slideshow.php:513
|
4354 |
msgid "Photo Count"
|
@@ -4356,11 +4356,11 @@ msgstr "Contador de Fotos"
|
|
4356 |
|
4357 |
#: modules/slideshow/slideshow.php:522
|
4358 |
msgid "Thumbs Button"
|
4359 |
-
msgstr "Botón Miniaturas"
|
4360 |
|
4361 |
#: modules/slideshow/slideshow.php:531
|
4362 |
msgid "Caption Button"
|
4363 |
-
msgstr "Botón Caption"
|
4364 |
|
4365 |
#: modules/slideshow/slideshow.php:540
|
4366 |
msgid "Social Button"
|
@@ -4397,7 +4397,7 @@ msgstr ""
|
|
4397 |
|
4398 |
#: modules/slideshow/slideshow.php:579
|
4399 |
msgid "Overlay Hide Delay"
|
4400 |
-
msgstr "Retardo Ocultar Superposición"
|
4401 |
|
4402 |
#: modules/slideshow/slideshow.php:591
|
4403 |
msgid "Thumbs Size"
|
@@ -4421,7 +4421,7 @@ msgstr "Botón de Google Plus"
|
|
4421 |
|
4422 |
#: modules/slideshow/slideshow.php:640
|
4423 |
msgid "Pinterest Button"
|
4424 |
-
msgstr "Botón Pinterest"
|
4425 |
|
4426 |
#: modules/social-buttons/social-buttons.php:14
|
4427 |
msgid "Social Buttons"
|
@@ -4446,7 +4446,7 @@ msgid ""
|
|
4446 |
"whatever you put in this field."
|
4447 |
msgstr ""
|
4448 |
"El campo de dirección URL de destino se correlaciona con la página con la "
|
4449 |
-
"que deseas que tus
|
4450 |
"Facebook, el usuario hará un \"Me gusta\" a lo que sea que hayas puesto en "
|
4451 |
"este campo."
|
4452 |
|
@@ -4473,11 +4473,11 @@ msgstr "Nombre"
|
|
4473 |
|
4474 |
#: modules/subscribe-form/includes/frontend.php:12
|
4475 |
msgid "Please enter a valid email address."
|
4476 |
-
msgstr "Por favor,
|
4477 |
|
4478 |
#: modules/subscribe-form/includes/frontend.php:40
|
4479 |
msgid "Something went wrong. Please check your entries and try again."
|
4480 |
-
msgstr "Algo salió mal. Por favor
|
4481 |
|
4482 |
#: modules/subscribe-form/subscribe-form.php:18
|
4483 |
msgid "Subscribe Form"
|
@@ -4490,7 +4490,7 @@ msgstr "Añade un formulario simple de suscripción a tu diseño."
|
|
4490 |
#: modules/subscribe-form/subscribe-form.php:72
|
4491 |
msgid "There was an error subscribing. Please try again."
|
4492 |
msgstr ""
|
4493 |
-
"Se ha producido un error al realizar la suscripción. Por favor,
|
4494 |
"nuevo."
|
4495 |
|
4496 |
#: modules/subscribe-form/subscribe-form.php:117
|
@@ -4518,7 +4518,7 @@ msgstr ""
|
|
4518 |
|
4519 |
#: modules/subscribe-form/subscribe-form.php:150
|
4520 |
msgid "Success URL"
|
4521 |
-
msgstr "URL Éxito"
|
4522 |
|
4523 |
#: modules/subscribe-form/subscribe-form.php:168
|
4524 |
msgid "Subscribe!"
|
@@ -4581,7 +4581,7 @@ msgstr "Agregar Testimonio"
|
|
4581 |
|
4582 |
#: modules/video/video.php:20
|
4583 |
msgid "Render a WordPress or embedable video."
|
4584 |
-
msgstr "Reproducir un video
|
4585 |
|
4586 |
#: modules/video/video.php:83
|
4587 |
msgid "Video Type"
|
@@ -4598,7 +4598,7 @@ msgstr "Cartel"
|
|
4598 |
|
4599 |
#: modules/video/video.php:120
|
4600 |
msgid "Loop"
|
4601 |
-
msgstr "
|
4602 |
|
4603 |
#: modules/widget/includes/frontend.php:35
|
4604 |
#: modules/widget/includes/settings-general.php:46
|
@@ -4741,7 +4741,7 @@ msgstr ""
|
|
4741 |
|
4742 |
#: modules/woocommerce/woocommerce.php:160
|
4743 |
msgid "Category Slug"
|
4744 |
-
msgstr "Categoría
|
4745 |
|
4746 |
#: modules/woocommerce/woocommerce.php:162
|
4747 |
msgid ""
|
3 |
"Project-Id-Version: {FL_BUILDER_NAME}\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2015-05-18 10:56-0800\n"
|
6 |
+
"PO-Revision-Date: 2015-06-13 00:23-0600\n"
|
7 |
"Last-Translator: Roberto Porcar <rporcar@arrakis.es>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: es_ES\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Generator: Poedit 1.8.1\n"
|
14 |
"X-Poedit-Basepath: ..\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
56 |
#: classes/class-fl-builder-admin-settings.php:167
|
57 |
#: modules/icon-group/icon-group.php:27
|
58 |
msgid "Icons"
|
59 |
+
msgstr "Íconos"
|
60 |
|
61 |
#: classes/class-fl-builder-admin-settings.php:171
|
62 |
msgid "Editing"
|
84 |
|
85 |
#: classes/class-fl-builder-admin-settings.php:439
|
86 |
msgid "Error! You must have at least one icon set enabled."
|
87 |
+
msgstr "Error! Necesitas tener al menos una colección de íconos habilitada."
|
88 |
|
89 |
#: classes/class-fl-builder-admin-settings.php:481
|
90 |
msgid "Error! Could not unzip file."
|
101 |
|
102 |
#: classes/class-fl-builder-admin-settings.php:636
|
103 |
msgid "Error! You must have at least one feature of the help button enabled."
|
104 |
+
msgstr "¡Error! Debes tener al menos una opción del botón ayuda habilitada."
|
|
|
105 |
|
106 |
#: classes/class-fl-builder-admin.php:45
|
107 |
#, php-format
|
209 |
#: classes/class-fl-builder-photo.php:100
|
210 |
msgctxt "Image size."
|
211 |
msgid "Full Size"
|
212 |
+
msgstr "Tamaño Completo"
|
213 |
|
214 |
#: classes/class-fl-builder-photo.php:101
|
215 |
msgctxt "Image size."
|
228 |
|
229 |
#: classes/class-fl-builder-service-aweber.php:72
|
230 |
msgid "Error: You must provide an Authorization Code."
|
231 |
+
msgstr "Error: Debes proporcionar un código de autorización."
|
232 |
|
233 |
#: classes/class-fl-builder-service-aweber.php:76
|
234 |
msgid "Error: Please enter a valid Authorization Code."
|
235 |
+
msgstr "Error: Por favor, introduce un código de autorización válido."
|
236 |
|
237 |
#: classes/class-fl-builder-service-aweber.php:127
|
238 |
msgid "Authorization Code"
|
239 |
+
msgstr "Código de Autorización"
|
240 |
|
241 |
#: classes/class-fl-builder-service-aweber.php:128
|
242 |
#, php-format
|
280 |
#: classes/class-fl-builder-service-aweber.php:219
|
281 |
msgid ""
|
282 |
"There was an error subscribing to AWeber. The account is no longer connected."
|
283 |
+
msgstr "Hubo un error al suscribirse a AWeber. La cuenta ya no está conectada."
|
284 |
|
285 |
#: classes/class-fl-builder-service-aweber.php:242
|
286 |
msgid "There was an error connecting to AWeber. Please try again."
|
324 |
"Your API key can be found in your Campaign Monitor account under Account "
|
325 |
"Settings > API Key."
|
326 |
msgstr ""
|
327 |
+
"La clave API puede encontrarse en tu cuenta Campaign Monitor bajo Account "
|
328 |
+
"Settings > API Key."
|
329 |
|
330 |
#: classes/class-fl-builder-service-campaign-monitor.php:158
|
331 |
msgctxt "A client account in Campaign Monitor."
|
337 |
"There was an error subscribing to Campaign Monitor. The account is no longer "
|
338 |
"connected."
|
339 |
msgstr ""
|
340 |
+
"Hubo un error al suscribirse a Campaign Monitor. La cuenta ya no está "
|
341 |
+
"conectada."
|
342 |
|
343 |
#: classes/class-fl-builder-service-campaign-monitor.php:253
|
344 |
msgid "There was an error subscribing to Campaign Monitor."
|
356 |
|
357 |
#: classes/class-fl-builder-service-constant-contact.php:89
|
358 |
msgid "Your Constant Contact API key."
|
359 |
+
msgstr "Tu API key de Constant Contact."
|
360 |
|
361 |
#: classes/class-fl-builder-service-constant-contact.php:99
|
362 |
msgid "Access Token"
|
363 |
+
msgstr "Token de Acceso"
|
364 |
|
365 |
#: classes/class-fl-builder-service-constant-contact.php:100
|
366 |
msgid "Your Constant Contact access token."
|
367 |
+
msgstr "El token de acceso de Contant Contact."
|
368 |
|
369 |
#: classes/class-fl-builder-service-constant-contact.php:101
|
370 |
#, php-format
|
428 |
msgid ""
|
429 |
"There was an error subscribing to Hatchbuck. The account is no longer "
|
430 |
"connected."
|
431 |
+
msgstr ""
|
432 |
+
"Hubo un error al suscribirse a Hatchbuck. La cuenta ya no está conectada."
|
433 |
|
434 |
#: classes/class-fl-builder-service-hatchbuck.php:190
|
435 |
msgid "There was an error subscribing to Hatchbuck. The API key is invalid."
|
436 |
+
msgstr "Hubo un error al suscribirse a Hatchbuck. La API key no es válida."
|
437 |
|
438 |
#: classes/class-fl-builder-service-hatchbuck.php:200
|
439 |
#: classes/class-fl-builder-service-hatchbuck.php:232
|
440 |
msgid "There was an error subscribing to Hatchbuck."
|
441 |
+
msgstr "Hubo un error al suscribirse a Hatchbuck."
|
442 |
|
443 |
#: classes/class-fl-builder-service-icontact.php:75
|
444 |
msgid "Error: You must provide a username."
|
497 |
msgid ""
|
498 |
"There was an error subscribing to iContact. The account is no longer "
|
499 |
"connected."
|
500 |
+
msgstr ""
|
501 |
+
"Hubo un error al suscribirse a iContact. La cuenta ya no está conectada."
|
502 |
|
503 |
#: classes/class-fl-builder-service-icontact.php:280
|
504 |
#, php-format
|
505 |
msgid "There was an error subscribing to iContact. %s"
|
506 |
+
msgstr "Hubo un error al suscribirse a iContact. %s"
|
507 |
|
508 |
#: classes/class-fl-builder-service-infusionsoft.php:49
|
509 |
#, php-format
|
800 |
#: classes/class-fl-builder.php:931
|
801 |
msgctxt "Custom taxonomy label."
|
802 |
msgid "Parent Category"
|
803 |
+
msgstr "Categoría Padre"
|
804 |
|
805 |
#: classes/class-fl-builder.php:932
|
806 |
msgctxt "Custom taxonomy label."
|
807 |
msgid "Parent Category:"
|
808 |
+
msgstr "Categoría Padre:"
|
809 |
|
810 |
#: classes/class-fl-builder.php:933
|
811 |
msgctxt "Custom taxonomy label."
|
849 |
#, php-format
|
850 |
msgctxt "%s stands for custom branded \"Page Builder\" name."
|
851 |
msgid "Launch %s"
|
852 |
+
msgstr "Iniciar %s"
|
853 |
|
854 |
#: includes/admin-settings-branding.php:7
|
855 |
msgid "White label the page builder by entering a custom name below."
|
856 |
msgstr ""
|
857 |
+
"Introduce un nombre personalizado para cambiar el nombre de page builder."
|
|
|
858 |
|
859 |
#: includes/admin-settings-branding.php:10
|
860 |
msgid ""
|
861 |
"Additionally, you may also add a custom icon by entering the URL of an image "
|
862 |
"below. Leave the field blank if you do not wish to use an icon."
|
863 |
msgstr ""
|
864 |
+
"Además, también puedes añadir un ícono personalizado introduciendo la URL de "
|
865 |
+
"una imagen. Deja el campo vacío si no quieres usar un ícono."
|
866 |
|
867 |
#: includes/admin-settings-branding.php:14
|
868 |
msgid "Save Branding"
|
957 |
|
958 |
#: includes/admin-settings-help-button.php:39
|
959 |
msgid "Help Video Embed Code"
|
960 |
+
msgstr "Código de Inserción del Vídeo de Ayuda"
|
961 |
|
962 |
#: includes/admin-settings-help-button.php:45
|
963 |
msgid "Knowledge Base"
|
964 |
+
msgstr "Base de Conocimiento"
|
965 |
|
966 |
#: includes/admin-settings-help-button.php:49
|
967 |
msgid "Enable Knowledge Base"
|
1038 |
#: includes/admin-settings-modules.php:16
|
1039 |
msgid "Check or uncheck modules below to enable or disable them."
|
1040 |
msgstr ""
|
1041 |
+
"Selecciona las siguientes opciones para activar o desactivar los módulos."
|
|
|
1042 |
|
1043 |
#: includes/admin-settings-modules.php:26
|
1044 |
msgctxt "Plugin setup page: Modules."
|
1047 |
|
1048 |
#: includes/admin-settings-modules.php:64
|
1049 |
msgid "Save Module Settings"
|
1050 |
+
msgstr "Guardar Ajustes de Módulos"
|
1051 |
|
1052 |
#: includes/admin-settings-post-types.php:18
|
1053 |
msgid ""
|
1087 |
"builder templates. Leave this field blank if you do not wish to override "
|
1088 |
"core templates."
|
1089 |
msgstr ""
|
1090 |
+
"Introduce el ID del sitio en la red cuyas plantillas deben reemplazar las "
|
1091 |
+
"plantillas base. Deja este campo en blanco si no deseas sobreescribir las "
|
1092 |
"plantillas base."
|
1093 |
|
1094 |
#: includes/admin-settings-templates-override.php:9
|
1095 |
msgid ""
|
1096 |
"Use this setting to override core builder templates with your templates."
|
1097 |
msgstr ""
|
1098 |
+
"Usa esta opción para sobreescribir las plantillas base con tus propias "
|
1099 |
"plantillas."
|
1100 |
|
1101 |
#: includes/admin-settings-templates.php:9 includes/template-settings.php:4
|
1137 |
#: includes/admin-settings-templates.php:32
|
1138 |
msgid "Use this setting to edit builder templates in the WordPress admin."
|
1139 |
msgstr ""
|
1140 |
+
"Usa esta opción para editar las plantillas desde el escritorio de "
|
1141 |
+
"Adminitración."
|
1142 |
|
1143 |
#: includes/admin-settings-templates.php:50
|
1144 |
msgid "Save Template Settings"
|
1688 |
#: includes/column-settings.php:385 includes/module-settings.php:69
|
1689 |
#: includes/row-settings.php:589
|
1690 |
msgid "Large Devices Only"
|
1691 |
+
msgstr "Sólo dispositivos grandes"
|
1692 |
|
1693 |
#: includes/column-settings.php:386 includes/module-settings.php:70
|
1694 |
#: includes/row-settings.php:590
|
1718 |
|
1719 |
#: includes/column-settings.php:398
|
1720 |
msgid "Medium Device Width"
|
1721 |
+
msgstr "Anchura de dispositivo mediano"
|
1722 |
|
1723 |
#: includes/column-settings.php:399
|
1724 |
msgid "The width of this column on medium devices such as tablets."
|
1744 |
|
1745 |
#: includes/column-settings.php:415
|
1746 |
msgid "Custom Medium Device Width"
|
1747 |
+
msgstr "Personalizar anchura en dispositivo mediano"
|
1748 |
|
1749 |
#: includes/column-settings.php:426
|
1750 |
msgid "Small Device Width"
|
1751 |
+
msgstr "Anchura de dispositivo pequeño"
|
1752 |
|
1753 |
#: includes/column-settings.php:427
|
1754 |
msgid "The width of this column on small devices such as phones."
|
1757 |
|
1758 |
#: includes/column-settings.php:443
|
1759 |
msgid "Custom Small Device Width"
|
1760 |
+
msgstr "Personalizar anchura en dispositivo pequeño"
|
1761 |
|
1762 |
#: includes/column-settings.php:455 includes/module-settings.php:115
|
1763 |
#: includes/row-settings.php:603
|
1898 |
"You will also be required to enter some basic CSS for this to work if you "
|
1899 |
"choose no."
|
1900 |
msgstr ""
|
1901 |
+
"Eligiendo no se ocultará el encabezado predeterminado del tema para el tipo "
|
1902 |
"\"Página\". Necesitarás algo de CSS básico para que esto funcione si eliges "
|
1903 |
"no."
|
1904 |
|
1961 |
"margins and padding in your layout once the small device breakpoint is "
|
1962 |
"reached. Most users will want to leave this enabled."
|
1963 |
msgstr ""
|
1964 |
+
"Cuando el auto espaciado está habilitado, beaver builder ajustará "
|
1965 |
"automáticamente los márgenes y espaciado del diseño una vez se alcance el "
|
1966 |
"breakpoint del dispositivo. La mayoría de usuarios querrán dejar esto "
|
1967 |
"habilitado."
|
1968 |
|
1969 |
#: includes/global-settings.php:131
|
1970 |
msgid "Medium Device Breakpoint"
|
1971 |
+
msgstr "Punto de Ruptura para Dispositivo medio"
|
1972 |
|
1973 |
#: includes/global-settings.php:136
|
1974 |
msgid ""
|
1980 |
|
1981 |
#: includes/global-settings.php:140
|
1982 |
msgid "Small Device Breakpoint"
|
1983 |
+
msgstr "Punto de Ruptura para Dispositivo pequeño"
|
1984 |
|
1985 |
#: includes/global-settings.php:145
|
1986 |
msgid ""
|
2008 |
"Warning! Changing the template will replace your existing layout. Do you "
|
2009 |
"really want to do this?"
|
2010 |
msgstr ""
|
2011 |
+
"¡Advertencia! Cambiando la plantilla reemplazará tu diseño actual. "
|
2012 |
+
"¿Realmente quieres hacer esto?"
|
2013 |
|
2014 |
#: includes/js-config.php:22
|
2015 |
msgid "Column"
|
2031 |
"Are you sure you want to remove this account? Other modules that are "
|
2032 |
"connected to it will be affected."
|
2033 |
msgstr ""
|
2034 |
+
"¿Estás seguro que deseas eliminar esta cuenta? Se verán afectados los demás "
|
2035 |
"módulos que estén relacionados con este."
|
2036 |
|
2037 |
#: includes/js-config.php:27
|
2063 |
"Do you really want to discard these changes? All of your changes that are "
|
2064 |
"not published will be lost."
|
2065 |
msgstr ""
|
2066 |
+
"¿Quieres descartar estos cambios? Todos los cambios que no están publicados "
|
2067 |
+
"se perderán."
|
2068 |
|
2069 |
#: includes/js-config.php:33 includes/ui.php:20 includes/ui.php:55
|
2070 |
msgid "Done"
|
2118 |
|
2119 |
#: includes/js-config.php:43
|
2120 |
msgid "Getting Started Video"
|
2121 |
+
msgstr "Video de Primeros Pasos"
|
2122 |
|
2123 |
#: includes/js-config.php:44
|
2124 |
msgid "\"{message}\" on line {line} of {file}."
|
2162 |
|
2163 |
#: includes/js-config.php:54
|
2164 |
msgid "No Thanks"
|
2165 |
+
msgstr "No, gracias"
|
2166 |
|
2167 |
#: includes/js-config.php:55
|
2168 |
msgid "OK"
|
2182 |
|
2183 |
#: includes/js-config.php:59 modules/subscribe-form/includes/frontend.php:15
|
2184 |
msgid "Please Wait..."
|
2185 |
+
msgstr "Por favor espera…"
|
2186 |
|
2187 |
#: includes/js-config.php:60
|
2188 |
msgid "Publish Changes"
|
2262 |
|
2263 |
#: includes/js-config.php:82
|
2264 |
msgid "Add Rows"
|
2265 |
+
msgstr "Añadir Filas"
|
2266 |
|
2267 |
#: includes/js-config.php:83
|
2268 |
msgid ""
|
2269 |
"Add multi-column rows, adjust spacing, add backgrounds and more by dragging "
|
2270 |
"and dropping row layouts onto the page."
|
2271 |
msgstr ""
|
2272 |
+
"Añade filas multi-columna, ajusta el espaciado, añade fondos y más "
|
2273 |
+
"simplemente arrastrando y soltando diseños de fila en la página."
|
2274 |
|
2275 |
#: includes/js-config.php:84 includes/ui.php:22 includes/ui.php:60
|
2276 |
msgid "Add Content"
|
2281 |
"Add new content by dragging and dropping modules or widgets into your row "
|
2282 |
"layouts or to create a new row layout."
|
2283 |
msgstr ""
|
2284 |
+
"Añade contenido nuevo arrastrando y soltando módulos o widgets en una fila "
|
2285 |
+
"existente, o bien para crear una nueva fila."
|
2286 |
|
2287 |
#: includes/js-config.php:86
|
2288 |
msgid "Edit Content"
|
2313 |
"layouts, modules or widgets."
|
2314 |
msgstr ""
|
2315 |
"Utiliza el botón Añadir Contenido para abrir el panel de contenido y añadir "
|
2316 |
+
"filas, módulos o widgets."
|
2317 |
|
2318 |
#: includes/js-config.php:91
|
2319 |
msgid "Change Templates"
|
2325 |
"layout. Appending will insert a new template at the end of your existing "
|
2326 |
"page content."
|
2327 |
msgstr ""
|
2328 |
+
"Usa el botón de Plantillas para escoger una nueva plantilla o adjuntarla a "
|
2329 |
+
"tú diseño ya existente. Adjuntar insertará el contenido de la nueva "
|
2330 |
+
"plantilla al final de tu diseño existente."
|
2331 |
|
2332 |
#: includes/js-config.php:93
|
2333 |
msgid "Helpful Tools"
|
2355 |
|
2356 |
#: includes/js-config.php:97
|
2357 |
msgid "Let's Get Building!"
|
2358 |
+
msgstr "¡Empieza a Diseñar!"
|
2359 |
|
2360 |
#: includes/js-config.php:98
|
2361 |
msgid ""
|
2363 |
"you need help, click the help icon in the upper right corner to access the "
|
2364 |
"help menu. Happy building!"
|
2365 |
msgstr ""
|
2366 |
+
"Ahora que ya sabes lo básico, estás listo para empezar a diseñar. Si "
|
2367 |
"necesitas ayuda en cualquier momento, haz clic en el icono de ayuda en la "
|
2368 |
+
"esquina superior derecha para acceder al menú de ayuda. ¡Que te diviertas!"
|
2369 |
|
2370 |
#: includes/js-config.php:99
|
2371 |
msgid ""
|
2392 |
"Would you like to take a tour?"
|
2393 |
msgstr ""
|
2394 |
"¡Bienvenido! Parece que es la primera vez que utilizas este editor. ¿Te "
|
2395 |
+
"gustaría realizar un tour de 2 minutos?"
|
2396 |
|
2397 |
#: includes/js-config.php:104
|
2398 |
msgid "Yes Please!"
|
2399 |
+
msgstr "¡Sí por favor!"
|
2400 |
|
2401 |
#: includes/loop-settings.php:20
|
2402 |
msgid "Post Type"
|
2455 |
|
2456 |
#: includes/loop-settings.php:55
|
2457 |
msgid "Skip this many posts that match the specified criteria."
|
2458 |
+
msgstr ""
|
2459 |
+
"Omitir esta cantidad de entradas que coincidan con los criterios "
|
2460 |
+
"especificados."
|
2461 |
|
2462 |
#: includes/loop-settings.php:62
|
2463 |
msgid "Filter"
|
2596 |
"Full width content spans the width of the page from edge to edge. Fixed "
|
2597 |
"content is no wider than the Row Max Width set in the Global Settings."
|
2598 |
msgstr ""
|
2599 |
+
"Los contenidos con anchura completa abarcan todo el ancho de la página de "
|
2600 |
+
"lado a lado. El contenido fijo no es más ancho que la Anchura Máxima de la "
|
2601 |
+
"Fila establecida en la Configuración Global."
|
2602 |
|
2603 |
#: includes/row-settings.php:71
|
2604 |
msgctxt "Background type."
|
2617 |
|
2618 |
#: includes/row-settings.php:203
|
2619 |
msgid "Background Video"
|
2620 |
+
msgstr "Fondo con Video"
|
2621 |
|
2622 |
#: includes/row-settings.php:207 modules/content-slider/content-slider.php:336
|
2623 |
#: modules/video/video.php:19 modules/video/video.php:100
|
2696 |
#: modules/slideshow/slideshow.php:394
|
2697 |
#: modules/testimonials/testimonials.php:103
|
2698 |
msgid "Fade"
|
2699 |
+
msgstr "Desvanecer"
|
2700 |
|
2701 |
#: includes/row-settings.php:278 modules/slideshow/slideshow.php:395
|
2702 |
msgid "Ken Burns"
|
2858 |
|
2859 |
#: includes/ui.php:51
|
2860 |
msgid "Buy Now!"
|
2861 |
+
msgstr "¡Comprar Ahora!"
|
2862 |
|
2863 |
#: includes/ui.php:53
|
2864 |
msgid "Upgrade!"
|
2865 |
+
msgstr "¡Actualizar!"
|
2866 |
|
2867 |
#: includes/ui.php:78
|
2868 |
msgid "Row Layouts"
|
2869 |
+
msgstr "Diseños de Fila"
|
2870 |
|
2871 |
#: includes/ui.php:82
|
2872 |
msgid "1 Column"
|
2902 |
|
2903 |
#: includes/ui.php:90
|
2904 |
msgid "Left & Right Sidebar"
|
2905 |
+
msgstr "Barra Lateral Derecha & Izquierda"
|
2906 |
|
2907 |
#: includes/updater/classes/class-fl-updater.php:132
|
2908 |
msgid "<strong>UPDATE UNAVAILABLE!</strong>"
|
2928 |
|
2929 |
#: includes/updater/includes/form.php:11
|
2930 |
msgid "Updates & Support Subscription"
|
2931 |
+
msgstr "Suscripción de Actualizaciones & Soporte"
|
2932 |
|
2933 |
#: includes/updater/includes/form.php:14
|
2934 |
msgid "Active!"
|
2935 |
+
msgstr "¡Activado!"
|
2936 |
|
2937 |
#: includes/updater/includes/form.php:16
|
2938 |
msgid "Not Active!"
|
2939 |
+
msgstr "¡No activado!"
|
2940 |
|
2941 |
#: includes/updater/includes/form.php:22
|
2942 |
msgid "Email address saved!"
|
2967 |
|
2968 |
#: modules/accordion/accordion.php:15
|
2969 |
msgid "Display a collapsible accordion of items."
|
2970 |
+
msgstr "Mostrar un acordeón desplegable de elementos."
|
2971 |
|
2972 |
#: modules/accordion/accordion.php:28 modules/tabs/tabs.php:28
|
2973 |
msgid "Items"
|
3039 |
|
3040 |
#: modules/button/button.php:15
|
3041 |
msgid "A simple call to action button."
|
3042 |
+
msgstr "Un simple botón de llamado de acción"
|
3043 |
|
3044 |
#: modules/button/button.php:67 modules/cta/cta.php:222
|
3045 |
msgid "Click Here"
|
3212 |
#: modules/callout/callout.php:255
|
3213 |
msgid "The alignment that will apply to all elements within the callout."
|
3214 |
msgstr ""
|
3215 |
+
"La alineación que se aplicará a todos los elementos dentro de la leyenda."
|
3216 |
|
3217 |
#: modules/callout/callout.php:263 modules/cta/cta.php:147
|
3218 |
msgid "Heading Structure"
|
3263 |
|
3264 |
#: modules/callout/callout.php:346 modules/photo/photo.php:407
|
3265 |
msgid "Portrait"
|
3266 |
+
msgstr "Retrato"
|
3267 |
|
3268 |
#: modules/callout/callout.php:347 modules/photo/photo.php:408
|
3269 |
msgid "Square"
|
3299 |
|
3300 |
#: modules/callout/callout.php:387
|
3301 |
msgid "Icon Colors"
|
3302 |
+
msgstr "Colores del Icono"
|
3303 |
|
3304 |
#: modules/callout/callout.php:396 modules/icon-group/icon-group.php:56
|
3305 |
#: modules/icon/icon.php:87
|
3318 |
#: modules/callout/callout.php:442
|
3319 |
#: modules/content-slider/content-slider.php:570
|
3320 |
msgid "Call To Action"
|
3321 |
+
msgstr "Llamado de Acción"
|
3322 |
|
3323 |
#: modules/callout/callout.php:450
|
3324 |
msgid ""
|
3325 |
"The link applies to the entire module. If choosing a call to action type "
|
3326 |
"below, this link will also be used for the text or button."
|
3327 |
msgstr ""
|
3328 |
+
"El enlace se aplica para todo el módulo. Si eliges una llamada de acción "
|
3329 |
"debajo, este enlace también se utilizará para el texto o botón."
|
3330 |
|
3331 |
#: modules/callout/callout.php:470
|
3332 |
#: modules/content-slider/content-slider.php:592 modules/cta/cta.php:14
|
3333 |
msgid "Call to Action"
|
3334 |
+
msgstr "Llamado de Acción"
|
3335 |
|
3336 |
#: modules/callout/callout.php:477
|
3337 |
#: modules/content-slider/content-slider.php:599
|
3373 |
|
3374 |
#: modules/contact-form/contact-form.php:15
|
3375 |
msgid "A very simple contact form."
|
3376 |
+
msgstr "Un formulario de contacto simple."
|
3377 |
|
3378 |
#: modules/contact-form/contact-form.php:31
|
3379 |
msgid "Contact Form Submission"
|
3398 |
#: modules/contact-form/contact-form.php:75
|
3399 |
#: modules/subscribe-form/subscribe-form.php:107
|
3400 |
msgid "Name Field"
|
3401 |
+
msgstr "Campo de Nombre"
|
3402 |
|
3403 |
#: modules/contact-form/contact-form.php:78
|
3404 |
#: modules/contact-form/contact-form.php:87
|
3424 |
|
3425 |
#: modules/contact-form/contact-form.php:84
|
3426 |
msgid "Subject Field"
|
3427 |
+
msgstr "Campo de Asunto"
|
3428 |
|
3429 |
#: modules/contact-form/contact-form.php:93
|
3430 |
msgid "Email Field"
|
3432 |
|
3433 |
#: modules/contact-form/contact-form.php:102
|
3434 |
msgid "Phone Field"
|
3435 |
+
msgstr "Campo de Teléfono"
|
3436 |
|
3437 |
#: modules/contact-form/includes/frontend.php:5
|
3438 |
msgctxt "Contact form field label."
|
3455 |
|
3456 |
#: modules/contact-form/includes/frontend.php:14
|
3457 |
msgid "Please enter a subject."
|
3458 |
+
msgstr "Por favor introduzca un asunto."
|
3459 |
|
3460 |
#: modules/contact-form/includes/frontend.php:21
|
3461 |
msgid "Email"
|
3463 |
|
3464 |
#: modules/contact-form/includes/frontend.php:22
|
3465 |
msgid "Please enter a valid email."
|
3466 |
+
msgstr "Por favor introduzca un correo electrónico válido."
|
3467 |
|
3468 |
#: modules/contact-form/includes/frontend.php:23
|
3469 |
msgid "Your email"
|
3475 |
|
3476 |
#: modules/contact-form/includes/frontend.php:30
|
3477 |
msgid "Please enter a valid phone number."
|
3478 |
+
msgstr "Por favor introduzca un teléfono válido."
|
3479 |
|
3480 |
#: modules/contact-form/includes/frontend.php:31
|
3481 |
msgid "Your phone"
|
3482 |
+
msgstr "Su número de teléfono"
|
3483 |
|
3484 |
#: modules/contact-form/includes/frontend.php:36
|
3485 |
msgid "Your Message"
|
3499 |
|
3500 |
#: modules/contact-form/includes/frontend.php:44
|
3501 |
msgid "Message Sent!"
|
3502 |
+
msgstr "¡Mensaje Enviado!"
|
3503 |
|
3504 |
#: modules/contact-form/includes/frontend.php:45
|
3505 |
msgid "Message failed. Please try again."
|
3564 |
|
3565 |
#: modules/content-slider/content-slider.php:289
|
3566 |
msgid "Slides"
|
3567 |
+
msgstr "Diapositivas (slides)"
|
3568 |
|
3569 |
#: modules/content-slider/content-slider.php:296
|
3570 |
msgid "Slide"
|
3571 |
+
msgstr "Diapositiva (slide)"
|
3572 |
|
3573 |
#: modules/content-slider/content-slider.php:311
|
3574 |
msgid "Slide Settings"
|
3576 |
|
3577 |
#: modules/content-slider/content-slider.php:321
|
3578 |
msgid "Slide Label"
|
3579 |
+
msgstr "Etiqueta de Slide"
|
3580 |
|
3581 |
#: modules/content-slider/content-slider.php:322
|
3582 |
msgid ""
|
3583 |
"A label to identify this slide on the Slides tab of the Content Slider "
|
3584 |
"settings."
|
3585 |
msgstr ""
|
3586 |
+
"Una etiqueta para identificar esta diapositiva en la ficha de diapositivas "
|
3587 |
+
"de la configuración del contenido deslizante."
|
3588 |
|
3589 |
#: modules/content-slider/content-slider.php:327
|
3590 |
msgid "Background Layout"
|
3592 |
|
3593 |
#: modules/content-slider/content-slider.php:333
|
3594 |
msgid "This setting is for the entire background of your slide."
|
3595 |
+
msgstr "Esta configuración es para todo el fondo de la diapositiva."
|
3596 |
|
3597 |
#: modules/content-slider/content-slider.php:368
|
3598 |
msgid "Background Video Code"
|
3599 |
+
msgstr "Código de Video de Fondo"
|
3600 |
|
3601 |
#: modules/content-slider/content-slider.php:374
|
3602 |
msgid "Content Layout"
|
3608 |
"selection above. The location of the content layout can be selected in the "
|
3609 |
"style tab."
|
3610 |
msgstr ""
|
3611 |
+
"Permite añadir contenido sobre, o en adición de la selección de fondo "
|
3612 |
+
"anterior. Puedes seleccionar la ubicación del diseño de contenido en la "
|
3613 |
+
"pestaña estilo."
|
3614 |
|
3615 |
#: modules/content-slider/content-slider.php:383
|
3616 |
msgid "Text & Photo"
|
3627 |
|
3628 |
#: modules/content-slider/content-slider.php:408 modules/video/video.php:132
|
3629 |
msgid "Video Embed Code"
|
3630 |
+
msgstr "Código de Inserción del Video"
|
3631 |
|
3632 |
#: modules/content-slider/content-slider.php:468
|
3633 |
msgid "Text Position"
|
3674 |
msgid ""
|
3675 |
"The color applies to the overlay behind text over the background selections."
|
3676 |
msgstr ""
|
3677 |
+
"El color se aplica a la superposición detrás del texto sobre las selecciones "
|
3678 |
"de fondo."
|
3679 |
|
3680 |
#: modules/content-slider/content-slider.php:549
|
3681 |
msgid "Text Background Opacity"
|
3682 |
+
msgstr "Opacidad del fondo del texto"
|
3683 |
|
3684 |
#: modules/content-slider/content-slider.php:557
|
3685 |
msgid "Text Background Height"
|
3686 |
+
msgstr "Altura del fondo del texto"
|
3687 |
|
3688 |
#: modules/content-slider/content-slider.php:559
|
3689 |
msgid ""
|
3750 |
|
3751 |
#: modules/cta/cta.php:75
|
3752 |
msgid "Ready to find out more?"
|
3753 |
+
msgstr "¿Listo para saber más?"
|
3754 |
|
3755 |
#: modules/cta/cta.php:90
|
3756 |
msgid "Drop us a line today for a free quote!"
|
3757 |
+
msgstr "¡Contáctanos para una cotización!"
|
3758 |
|
3759 |
#: modules/cta/cta.php:108 modules/gallery/gallery.php:220
|
3760 |
#: modules/post-grid/post-grid.php:44
|
3782 |
|
3783 |
#: modules/gallery/gallery.php:14 modules/post-grid/post-grid.php:55
|
3784 |
msgid "Gallery"
|
3785 |
+
msgstr "Galería"
|
3786 |
|
3787 |
#: modules/gallery/gallery.php:15
|
3788 |
msgid "Display multiple photos in a gallery view."
|
3848 |
|
3849 |
#: modules/gallery/gallery.php:289 modules/slideshow/slideshow.php:336
|
3850 |
msgid "Click Action"
|
3851 |
+
msgstr "Acción al Clic"
|
3852 |
|
3853 |
#: modules/gallery/gallery.php:292
|
3854 |
msgctxt "Click action."
|
3893 |
|
3894 |
#: modules/icon-group/icon-group.php:14
|
3895 |
msgid "Icon Group"
|
3896 |
+
msgstr "Grupo de Íconos"
|
3897 |
|
3898 |
#: modules/icon-group/icon-group.php:15
|
3899 |
msgid "Display a group of linked Font Awesome icons."
|
3900 |
+
msgstr "Muestra un grupo de íconos con un enlace."
|
3901 |
|
3902 |
#: modules/icon-group/icon-group.php:125
|
3903 |
msgid "Add Icon"
|
3904 |
+
msgstr "Añadir Ícono"
|
3905 |
|
3906 |
#: modules/icon/icon.php:15
|
3907 |
msgid "Display an icon and optional title."
|
3908 |
+
msgstr "Mostrar un ícono y título opcional."
|
3909 |
|
3910 |
#: modules/map/map.php:14
|
3911 |
msgid "Map"
|
3937 |
|
3938 |
#: modules/photo/photo.php:396
|
3939 |
msgid "Photo URL"
|
3940 |
+
msgstr "URL de la foto"
|
3941 |
|
3942 |
#: modules/photo/photo.php:397
|
3943 |
msgid "http://www.example.com/my-photo.jpg"
|
3967 |
|
3968 |
#: modules/photo/photo.php:453
|
3969 |
msgid "Photo File"
|
3970 |
+
msgstr "Archivo de la foto"
|
3971 |
|
3972 |
#: modules/photo/photo.php:464
|
3973 |
msgid ""
|
3975 |
"a specific URL, the individual photo or a separate page with the photo."
|
3976 |
msgstr ""
|
3977 |
"Tipo de enlace se aplica a cómo la imagen debería estar vinculada al hacer "
|
3978 |
+
"clic. Puedes elegir una dirección URL específica, la foto individual o una "
|
3979 |
"página separada con la foto."
|
3980 |
|
3981 |
#: modules/photo/photo.php:471 modules/slideshow/slideshow.php:357
|
3982 |
msgid "Link URL"
|
3983 |
+
msgstr "URL de enlace"
|
3984 |
|
3985 |
#: modules/post-grid/includes/frontend.php:41
|
3986 |
msgid "No posts found."
|
3999 |
|
4000 |
#: modules/post-grid/post-grid.php:15
|
4001 |
msgid "Display a grid of your WordPress posts."
|
4002 |
+
msgstr "Mostrar una cuadricula con tus entradas."
|
4003 |
|
4004 |
#: modules/post-grid/post-grid.php:51
|
4005 |
msgid "Layout Style"
|
4117 |
|
4118 |
#: modules/pricing-table/pricing-table.php:59
|
4119 |
msgid "Features Min Height"
|
4120 |
+
msgstr "Altura Mínima de Características"
|
4121 |
|
4122 |
#: modules/pricing-table/pricing-table.php:63
|
4123 |
msgid ""
|
4147 |
|
4148 |
#: modules/pricing-table/pricing-table.php:107
|
4149 |
msgid "Price Box"
|
4150 |
+
msgstr "Caja de Precio"
|
4151 |
|
4152 |
#: modules/pricing-table/pricing-table.php:111
|
4153 |
#: modules/woocommerce/woocommerce.php:190
|
4198 |
|
4199 |
#: modules/pricing-table/pricing-table.php:178
|
4200 |
msgid "Accent Text Color"
|
4201 |
+
msgstr "Color del Texto Destacado"
|
4202 |
|
4203 |
#: modules/pricing-table/pricing-table.php:182
|
4204 |
msgid "Box Top Margin"
|
4232 |
#: modules/sidebar/sidebar.php:15
|
4233 |
msgid ""
|
4234 |
"Display a WordPress sidebar that has been registered by the current theme."
|
4235 |
+
msgstr "Muestra una barra lateral que ha sido registrada por el tema actual."
|
|
|
|
|
4236 |
|
4237 |
#: modules/slideshow/slideshow.php:14
|
4238 |
msgid "Slideshow"
|
4240 |
|
4241 |
#: modules/slideshow/slideshow.php:15
|
4242 |
msgid "Display multiple photos in a slideshow view."
|
4243 |
+
msgstr "Mostrar varias fotos en una vista de presentación."
|
4244 |
|
4245 |
#: modules/slideshow/slideshow.php:303
|
4246 |
msgid "Skin Color"
|
4247 |
+
msgstr "Color del Skin"
|
4248 |
|
4249 |
#: modules/slideshow/slideshow.php:306
|
4250 |
msgctxt "Color."
|
4336 |
|
4337 |
#: modules/slideshow/slideshow.php:472
|
4338 |
msgid "Nav Position"
|
4339 |
+
msgstr "Posición de Navegación"
|
4340 |
|
4341 |
#: modules/slideshow/slideshow.php:482
|
4342 |
msgid "Control Bar Buttons"
|
4343 |
+
msgstr "Botones de Barra de Control"
|
4344 |
|
4345 |
#: modules/slideshow/slideshow.php:495
|
4346 |
msgid "Play Button"
|
4347 |
+
msgstr "Botón de Play"
|
4348 |
|
4349 |
#: modules/slideshow/slideshow.php:504
|
4350 |
msgid "Fullscreen Button"
|
4351 |
+
msgstr "Botón de Pantalla Completa"
|
4352 |
|
4353 |
#: modules/slideshow/slideshow.php:513
|
4354 |
msgid "Photo Count"
|
4356 |
|
4357 |
#: modules/slideshow/slideshow.php:522
|
4358 |
msgid "Thumbs Button"
|
4359 |
+
msgstr "Botón de Miniaturas"
|
4360 |
|
4361 |
#: modules/slideshow/slideshow.php:531
|
4362 |
msgid "Caption Button"
|
4363 |
+
msgstr "Botón de Caption"
|
4364 |
|
4365 |
#: modules/slideshow/slideshow.php:540
|
4366 |
msgid "Social Button"
|
4397 |
|
4398 |
#: modules/slideshow/slideshow.php:579
|
4399 |
msgid "Overlay Hide Delay"
|
4400 |
+
msgstr "Retardo en Ocultar Superposición"
|
4401 |
|
4402 |
#: modules/slideshow/slideshow.php:591
|
4403 |
msgid "Thumbs Size"
|
4421 |
|
4422 |
#: modules/slideshow/slideshow.php:640
|
4423 |
msgid "Pinterest Button"
|
4424 |
+
msgstr "Botón de Pinterest"
|
4425 |
|
4426 |
#: modules/social-buttons/social-buttons.php:14
|
4427 |
msgid "Social Buttons"
|
4446 |
"whatever you put in this field."
|
4447 |
msgstr ""
|
4448 |
"El campo de dirección URL de destino se correlaciona con la página con la "
|
4449 |
+
"que deseas que tus íconos sociales interactúen. Por ejemplo, si muestras "
|
4450 |
"Facebook, el usuario hará un \"Me gusta\" a lo que sea que hayas puesto en "
|
4451 |
"este campo."
|
4452 |
|
4473 |
|
4474 |
#: modules/subscribe-form/includes/frontend.php:12
|
4475 |
msgid "Please enter a valid email address."
|
4476 |
+
msgstr "Por favor, introduzca una dirección de email válida."
|
4477 |
|
4478 |
#: modules/subscribe-form/includes/frontend.php:40
|
4479 |
msgid "Something went wrong. Please check your entries and try again."
|
4480 |
+
msgstr "Algo salió mal. Por favor revise las entradas e inténtelo de nuevo."
|
4481 |
|
4482 |
#: modules/subscribe-form/subscribe-form.php:18
|
4483 |
msgid "Subscribe Form"
|
4490 |
#: modules/subscribe-form/subscribe-form.php:72
|
4491 |
msgid "There was an error subscribing. Please try again."
|
4492 |
msgstr ""
|
4493 |
+
"Se ha producido un error al realizar la suscripción. Por favor, inténtelo de "
|
4494 |
"nuevo."
|
4495 |
|
4496 |
#: modules/subscribe-form/subscribe-form.php:117
|
4518 |
|
4519 |
#: modules/subscribe-form/subscribe-form.php:150
|
4520 |
msgid "Success URL"
|
4521 |
+
msgstr "URL de Éxito"
|
4522 |
|
4523 |
#: modules/subscribe-form/subscribe-form.php:168
|
4524 |
msgid "Subscribe!"
|
4581 |
|
4582 |
#: modules/video/video.php:20
|
4583 |
msgid "Render a WordPress or embedable video."
|
4584 |
+
msgstr "Reproducir un video o un video incrustado."
|
4585 |
|
4586 |
#: modules/video/video.php:83
|
4587 |
msgid "Video Type"
|
4598 |
|
4599 |
#: modules/video/video.php:120
|
4600 |
msgid "Loop"
|
4601 |
+
msgstr "Loop"
|
4602 |
|
4603 |
#: modules/widget/includes/frontend.php:35
|
4604 |
#: modules/widget/includes/settings-general.php:46
|
4741 |
|
4742 |
#: modules/woocommerce/woocommerce.php:160
|
4743 |
msgid "Category Slug"
|
4744 |
+
msgstr "Slug de Categoría"
|
4745 |
|
4746 |
#: modules/woocommerce/woocommerce.php:162
|
4747 |
msgid ""
|