Orbit Fox by ThemeIsle - Version 2.6.4

Version Description

  • 2018-11-12
Download this release

Release Info

Developer codeinwp
Plugin Icon 128x128 Orbit Fox by ThemeIsle
Version 2.6.4
Comparing to
See all releases

Code changes from version 2.6.3 to 2.6.4

CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
 
 
 
 
 
 
 
 
2
  ### v2.6.3 - 2018-10-29
3
  **Changes:**
4
  * - Minor bug fix in Gutenberg Blocks
1
 
2
+ ### v2.6.4 - 2018-11-12
3
+ **Changes:**
4
+ * Fix issue with elementor content forms php notice
5
+ * Add alignment options to content forms
6
+ * Security enhancements
7
+ * Performance enhancements
8
+
9
  ### v2.6.3 - 2018-10-29
10
  **Changes:**
11
  * - Minor bug fix in Gutenberg Blocks
core/assets/css/orbit-fox-admin.css CHANGED
@@ -8,7 +8,7 @@
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
- Version: 2.6.3
12
  */
13
 
14
  /* Document
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
+ Version: 2.6.4
12
  */
13
 
14
  /* Document
core/includes/class-orbit-fox.php CHANGED
@@ -69,7 +69,7 @@ class Orbit_Fox {
69
 
70
  $this->plugin_name = 'orbit-fox';
71
 
72
- $this->version = '2.6.3';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
69
 
70
  $this->plugin_name = 'orbit-fox';
71
 
72
+ $this->version = '2.6.4';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
readme.md CHANGED
@@ -110,6 +110,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
110
  5. Social Sharing Module
111
 
112
  ## Changelog ##
 
 
 
 
 
 
 
 
113
  ### 2.6.3 - 2018-10-29 ###
114
 
115
  * - Minor bug fix in Gutenberg Blocks
110
  5. Social Sharing Module
111
 
112
  ## Changelog ##
113
+ ### 2.6.4 - 2018-11-12 ###
114
+
115
+ * Fix issue with elementor content forms php notice
116
+ * Add alignment options to content forms
117
+ * Security enhancements
118
+ * Performance enhancements
119
+
120
+
121
  ### 2.6.3 - 2018-10-29 ###
122
 
123
  * - Minor bug fix in Gutenberg Blocks
readme.txt CHANGED
@@ -110,6 +110,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
110
  5. Social Sharing Module
111
 
112
  == Changelog ==
 
 
 
 
 
 
 
 
113
  = 2.6.3 - 2018-10-29 =
114
 
115
  * - Minor bug fix in Gutenberg Blocks
110
  5. Social Sharing Module
111
 
112
  == Changelog ==
113
+ = 2.6.4 - 2018-11-12 =
114
+
115
+ * Fix issue with elementor content forms php notice
116
+ * Add alignment options to content forms
117
+ * Security enhancements
118
+ * Performance enhancements
119
+
120
+
121
  = 2.6.3 - 2018-10-29 =
122
 
123
  * - Minor bug fix in Gutenberg Blocks
themeisle-companion.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://orbitfox.com/
17
  * Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
18
- * Version: 2.6.3
19
  * Author: Themeisle
20
  * Author URI: https://orbitfox.com/
21
  * License: GPL-2.0+
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://orbitfox.com/
17
  * Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
18
+ * Version: 2.6.4
19
  * Author: Themeisle
20
  * Author URI: https://orbitfox.com/
21
  * License: GPL-2.0+
themeisle-hash.json CHANGED
@@ -1 +1 @@
1
- {"class-autoloader.php":"57e533b653d235e76cb9953720e4f5e9","index.php":"39ab8276fb0e4bd3fcab3270822c5977","themeisle-companion.php":"e1f23451ec7cbd58d22a2ef57f38954e","uninstall.php":"7abf753a29e0eb3a844c8a0ba9493b7c"}
1
+ {"class-autoloader.php":"57e533b653d235e76cb9953720e4f5e9","index.php":"39ab8276fb0e4bd3fcab3270822c5977","themeisle-companion.php":"a5f9709a2ecbf5e6eda4fe2f6e28087e","uninstall.php":"7abf753a29e0eb3a844c8a0ba9493b7c"}
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit9021d76497f6e08153e2b2a46b5a7fff::getLoader();
vendor/codeinwp/templates-directory/class-page-templates-directory.php CHANGED
@@ -8,13 +8,14 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
8
  /**
9
  * @var PageTemplatesDirectory
10
  */
 
11
  protected static $instance = null;
12
 
13
  /**
14
  * The version of this library
15
  * @var string
16
  */
17
- public static $version = '1.0.7';
18
 
19
  /**
20
  * Holds the module slug.
@@ -58,7 +59,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
58
  public function enqueue_template_dir_scripts() {
59
  $current_screen = get_current_screen();
60
  if ( $current_screen->id === 'orbit-fox_page_obfx_template_dir' || $current_screen->id === 'sizzify_page_sizzify_template_dir' ) {
61
- if( $current_screen->id === 'orbit-fox_page_obfx_template_dir' ) {
62
  $plugin_slug = 'obfx';
63
  } else {
64
  $plugin_slug = 'sizzify';
@@ -95,12 +96,18 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
95
  */
96
  public function register_endpoints() {
97
  register_rest_route( $this->slug, '/import_elementor', array(
98
- 'methods' => 'POST',
99
- 'callback' => array( $this, 'import_elementor' ),
 
 
 
100
  ) );
101
  register_rest_route( $this->slug, '/fetch_templates', array(
102
- 'methods' => 'POST',
103
- 'callback' => array( $this, 'fetch_templates' ),
 
 
 
104
  ) );
105
  }
106
 
@@ -109,49 +116,52 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
109
  *
110
  * @return array|bool|\WP_Error
111
  */
112
- public function fetch_templates() {
113
  if ( ! current_user_can( 'manage_options' ) ) {
114
  return false;
115
  }
116
- if( empty ( $_POST['plugin_slug'] ) ) {
 
 
 
117
  return false;
118
  }
119
 
120
- $plugin_slug = $_POST['plugin_slug'];
121
- $query_args = array( 'license' => '', 'url' => get_home_url(), 'name' => $plugin_slug );
122
 
123
- $license = get_option('eaw_premium_license_data','');
124
 
125
- if( ! empty ( $license ) ) {
126
- $license= isset($license->key) ? $license->key :'';
127
  $query_args['license'] = $license;
128
- $query_args['_'] = time();
129
  }
130
  $url = add_query_arg( $query_args, 'https://themeisle.com/?edd_action=get_templates' );
131
 
132
- $request = wp_remote_retrieve_body( wp_remote_post( esc_url_raw( $url ) ) );
133
  $response = json_decode( $request, true );
134
 
135
- if( ! empty( $response ) ) {
136
  update_option( $plugin_slug . '_synced_templates', $response );
137
  }
138
  die();
139
  }
140
 
141
- public function filter_templates($templates) {
142
  $current_screen = get_current_screen();
143
  if ( $current_screen->id === 'orbit-fox_page_obfx_template_dir' ) {
144
  $fetched = get_option( 'obfx_synced_templates' );
145
  } else {
146
  $fetched = get_option( 'sizzify_synced_templates' );
147
  }
148
- if( empty( $fetched ) ) {
149
  return $templates;
150
  }
151
- if( ! is_array( $fetched ) ) {
152
  return $templates;
153
  }
154
- $new_templates = array_merge( $templates,$fetched['templates'] );
155
 
156
  return $new_templates;
157
  }
@@ -242,21 +252,21 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
242
  'screenshot' => esc_url( $this->get_source_url() . 'mocha-elementor/screenshot.png' ),
243
  'import_file' => esc_url( $this->get_source_url() . 'mocha-elementor/template.json' ),
244
  ),
245
- 'rik-landing' => array(
246
  'title' => __( 'Rik - Landing Page', 'themeisle-companion' ),
247
  'description' => __( 'This is a clean Landing page, ready to be used for an app presentation. It features beautiful gradients and great layouts for showcasing your product.', 'themeisle-companion' ),
248
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/rik-elementor/',
249
  'screenshot' => esc_url( $this->get_source_url() . 'rik-elementor/screenshot.jpg' ),
250
  'import_file' => esc_url( $this->get_source_url() . 'rik-elementor/template.json' ),
251
  ),
252
- 'zerif-lite' => array(
253
  'title' => __( 'Zerif Lite - One Page Template', 'themeisle-companion' ),
254
  'description' => __( 'A friendly one-page WordPress multipurpose theme, with a full-width image in the background and a simple white menu bar at the top. It comes with an elegant and modern design, which could fit very well any kind of business. Zerif Lite has an interactive and colorful interface, with classy parallax effect and lively animations. You can use it for your online shop as well.', 'themeisle-companion' ),
255
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/zerif-lite/',
256
  'screenshot' => esc_url( $this->get_source_url() . 'zerif-elementor/screenshot.jpg' ),
257
  'import_file' => esc_url( $this->get_source_url() . 'zerif-elementor/template.json' ),
258
  ),
259
- 'notify' => array(
260
  'title' => __( 'Notify - Landing Page', 'themeisle-companion' ),
261
  'description' => __( 'A beautiful landing page to showcase your new application. It has a features section to present your app, a subscribe section where you can also add a video showcasing your new app and a testimonials section so you can present the feedback from your beta testers.', 'themeisle-companion' ),
262
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/notify-elementor/',
@@ -305,7 +315,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
305
  */
306
  public function add_menu_page() {
307
  $products = apply_filters( 'obfx_template_dir_products', array() );
308
- foreach($products as $product){
309
  add_submenu_page(
310
  $product['parent_page_slug'], $product['directory_page_title'], __( 'Template Directory', 'themeisle-companion' ), 'manage_options', $product['page_slug'],
311
  array( $this, 'render_admin_page' )
@@ -327,16 +337,20 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
327
  /**
328
  * Utility method to call Elementor import routine.
329
  */
330
- public function import_elementor() {
331
  if ( ! defined( 'ELEMENTOR_VERSION' ) ) {
332
  return 'no-elementor';
333
  }
334
 
 
 
 
 
335
  require_once( ABSPATH . 'wp-admin' . '/includes/file.php' );
336
  require_once( ABSPATH . 'wp-admin' . '/includes/image.php' );
337
 
338
- $template = download_url( esc_url( $_POST['template_url'] ) );
339
- $name = $_POST['template_name'];
340
  $_FILES['file']['tmp_name'] = $template;
341
  $elementor = new \Elementor\TemplateLibrary\Source_Local;
342
  $elementor->import_template( $name, $template );
@@ -378,7 +392,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
378
  // Create post object
379
  $new_template_page = array(
380
  'post_type' => 'page',
381
- 'post_title' => $_POST['template_name'],
382
  'post_status' => 'publish',
383
  'post_content' => $page_content,
384
  'meta_input' => $elementor_metas,
@@ -522,7 +536,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
522
  * @access protected
523
  *
524
  * @param string $view_name The view name w/o the `-tpl.php` part.
525
- * @param array $args An array of arguments to be passed to the view.
526
  *
527
  * @return string
528
  */
@@ -554,7 +568,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
554
 
555
  /**
556
  * @static
557
- * @since 1.0.0
558
  * @access public
559
  * @return PageTemplatesDirectory
560
  */
@@ -574,7 +588,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
574
  * object therefore, we don't want the object to be cloned.
575
  *
576
  * @access public
577
- * @since 1.0.0
578
  * @return void
579
  */
580
  public function __clone() {
@@ -586,7 +600,7 @@ if ( ! class_exists( '\ThemeIsle\PageTemplatesDirectory' ) ) {
586
  * Disable unserializing of the class
587
  *
588
  * @access public
589
- * @since 1.0.0
590
  * @return void
591
  */
592
  public function __wakeup() {
8
  /**
9
  * @var PageTemplatesDirectory
10
  */
11
+
12
  protected static $instance = null;
13
 
14
  /**
15
  * The version of this library
16
  * @var string
17
  */
18
+ public static $version = '1.0.8';
19
 
20
  /**
21
  * Holds the module slug.
59
  public function enqueue_template_dir_scripts() {
60
  $current_screen = get_current_screen();
61
  if ( $current_screen->id === 'orbit-fox_page_obfx_template_dir' || $current_screen->id === 'sizzify_page_sizzify_template_dir' ) {
62
+ if ( $current_screen->id === 'orbit-fox_page_obfx_template_dir' ) {
63
  $plugin_slug = 'obfx';
64
  } else {
65
  $plugin_slug = 'sizzify';
96
  */
97
  public function register_endpoints() {
98
  register_rest_route( $this->slug, '/import_elementor', array(
99
+ 'methods' => 'POST',
100
+ 'callback' => array( $this, 'import_elementor' ),
101
+ 'permission_callback' => function () {
102
+ return current_user_can( 'manage_options' );
103
+ },
104
  ) );
105
  register_rest_route( $this->slug, '/fetch_templates', array(
106
+ 'methods' => 'POST',
107
+ 'callback' => array( $this, 'fetch_templates' ),
108
+ 'permission_callback' => function () {
109
+ return current_user_can( 'manage_options' );
110
+ },
111
  ) );
112
  }
113
 
116
  *
117
  * @return array|bool|\WP_Error
118
  */
119
+ public function fetch_templates( \WP_REST_Request $request ) {
120
  if ( ! current_user_can( 'manage_options' ) ) {
121
  return false;
122
  }
123
+
124
+ $params = $request->get_params();
125
+
126
+ if ( empty ( $params['plugin_slug'] ) ) {
127
  return false;
128
  }
129
 
130
+ $plugin_slug = $params['plugin_slug'];
131
+ $query_args = array( 'license' => '', 'url' => get_home_url(), 'name' => $plugin_slug );
132
 
133
+ $license = get_option( 'eaw_premium_license_data', '' );
134
 
135
+ if ( ! empty ( $license ) ) {
136
+ $license = isset( $license->key ) ? $license->key : '';
137
  $query_args['license'] = $license;
138
+ $query_args['_'] = time();
139
  }
140
  $url = add_query_arg( $query_args, 'https://themeisle.com/?edd_action=get_templates' );
141
 
142
+ $request = wp_remote_retrieve_body( wp_remote_post( esc_url_raw( $url ) ) );
143
  $response = json_decode( $request, true );
144
 
145
+ if ( ! empty( $response ) ) {
146
  update_option( $plugin_slug . '_synced_templates', $response );
147
  }
148
  die();
149
  }
150
 
151
+ public function filter_templates( $templates ) {
152
  $current_screen = get_current_screen();
153
  if ( $current_screen->id === 'orbit-fox_page_obfx_template_dir' ) {
154
  $fetched = get_option( 'obfx_synced_templates' );
155
  } else {
156
  $fetched = get_option( 'sizzify_synced_templates' );
157
  }
158
+ if ( empty( $fetched ) ) {
159
  return $templates;
160
  }
161
+ if ( ! is_array( $fetched ) ) {
162
  return $templates;
163
  }
164
+ $new_templates = array_merge( $templates, $fetched['templates'] );
165
 
166
  return $new_templates;
167
  }
252
  'screenshot' => esc_url( $this->get_source_url() . 'mocha-elementor/screenshot.png' ),
253
  'import_file' => esc_url( $this->get_source_url() . 'mocha-elementor/template.json' ),
254
  ),
255
+ 'rik-landing' => array(
256
  'title' => __( 'Rik - Landing Page', 'themeisle-companion' ),
257
  'description' => __( 'This is a clean Landing page, ready to be used for an app presentation. It features beautiful gradients and great layouts for showcasing your product.', 'themeisle-companion' ),
258
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/rik-elementor/',
259
  'screenshot' => esc_url( $this->get_source_url() . 'rik-elementor/screenshot.jpg' ),
260
  'import_file' => esc_url( $this->get_source_url() . 'rik-elementor/template.json' ),
261
  ),
262
+ 'zerif-lite' => array(
263
  'title' => __( 'Zerif Lite - One Page Template', 'themeisle-companion' ),
264
  'description' => __( 'A friendly one-page WordPress multipurpose theme, with a full-width image in the background and a simple white menu bar at the top. It comes with an elegant and modern design, which could fit very well any kind of business. Zerif Lite has an interactive and colorful interface, with classy parallax effect and lively animations. You can use it for your online shop as well.', 'themeisle-companion' ),
265
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/zerif-lite/',
266
  'screenshot' => esc_url( $this->get_source_url() . 'zerif-elementor/screenshot.jpg' ),
267
  'import_file' => esc_url( $this->get_source_url() . 'zerif-elementor/template.json' ),
268
  ),
269
+ 'notify' => array(
270
  'title' => __( 'Notify - Landing Page', 'themeisle-companion' ),
271
  'description' => __( 'A beautiful landing page to showcase your new application. It has a features section to present your app, a subscribe section where you can also add a video showcasing your new app and a testimonials section so you can present the feedback from your beta testers.', 'themeisle-companion' ),
272
  'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/notify-elementor/',
315
  */
316
  public function add_menu_page() {
317
  $products = apply_filters( 'obfx_template_dir_products', array() );
318
+ foreach ( $products as $product ) {
319
  add_submenu_page(
320
  $product['parent_page_slug'], $product['directory_page_title'], __( 'Template Directory', 'themeisle-companion' ), 'manage_options', $product['page_slug'],
321
  array( $this, 'render_admin_page' )
337
  /**
338
  * Utility method to call Elementor import routine.
339
  */
340
+ public function import_elementor(\WP_REST_Request $request ) {
341
  if ( ! defined( 'ELEMENTOR_VERSION' ) ) {
342
  return 'no-elementor';
343
  }
344
 
345
+ $params = $request->get_params();
346
+ $template_name = $params['template_name'];
347
+ $template_url = $params['template_url'];
348
+
349
  require_once( ABSPATH . 'wp-admin' . '/includes/file.php' );
350
  require_once( ABSPATH . 'wp-admin' . '/includes/image.php' );
351
 
352
+ $template = download_url( esc_url( $template_url ) );
353
+ $name = $template_name;
354
  $_FILES['file']['tmp_name'] = $template;
355
  $elementor = new \Elementor\TemplateLibrary\Source_Local;
356
  $elementor->import_template( $name, $template );
392
  // Create post object
393
  $new_template_page = array(
394
  'post_type' => 'page',
395
+ 'post_title' => $template_name,
396
  'post_status' => 'publish',
397
  'post_content' => $page_content,
398
  'meta_input' => $elementor_metas,
536
  * @access protected
537
  *
538
  * @param string $view_name The view name w/o the `-tpl.php` part.
539
+ * @param array $args An array of arguments to be passed to the view.
540
  *
541
  * @return string
542
  */
568
 
569
  /**
570
  * @static
571
+ * @since 1.0.0
572
  * @access public
573
  * @return PageTemplatesDirectory
574
  */
588
  * object therefore, we don't want the object to be cloned.
589
  *
590
  * @access public
591
+ * @since 1.0.0
592
  * @return void
593
  */
594
  public function __clone() {
600
  * Disable unserializing of the class
601
  *
602
  * @access public
603
+ * @since 1.0.0
604
  * @return void
605
  */
606
  public function __wakeup() {
vendor/codeinwp/templates-directory/composer.json CHANGED
@@ -2,7 +2,7 @@
2
  "name": "codeinwp/templates-directory",
3
  "description": "A WordPress library to manage page templates.",
4
  "type": "library",
5
- "version": "1.0.7",
6
  "license": "GPL-2.0-or-later",
7
  "homepage": "https://github.com/Codeinwp/templates-directory",
8
  "authors": [
2
  "name": "codeinwp/templates-directory",
3
  "description": "A WordPress library to manage page templates.",
4
  "type": "library",
5
+ "version": "1.0.8",
6
  "license": "GPL-2.0-or-later",
7
  "homepage": "https://github.com/Codeinwp/templates-directory",
8
  "authors": [
vendor/codeinwp/themeisle-content-forms/class-themeisle-content-forms-contact.php CHANGED
@@ -162,12 +162,15 @@ class ContactForm extends Base {
162
  private function _send_mail( $mailto, $mailfrom, $name, $body, $extra_data = array() ) {
163
  $success = false;
164
 
165
- $subject = sanitize_text_field( $name );
 
166
  $mailto = sanitize_email( $mailto );
167
  $mailfrom = sanitize_email( $mailfrom );
168
 
169
  $headers = array();
170
- $headers[] = 'From: ' . $subject . ' <' . $mailfrom . '>';
 
 
171
  $headers[] = 'Content-Type: text/html; charset=UTF-8';
172
 
173
  $body = $this->prepare_body( $body, $extra_data );
@@ -302,4 +305,4 @@ class ContactForm extends Base {
302
  // Unserializing instances of the class is forbidden.
303
  _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'themeisle-companion' ), '1.0.0' );
304
  }
305
- }
162
  private function _send_mail( $mailto, $mailfrom, $name, $body, $extra_data = array() ) {
163
  $success = false;
164
 
165
+ $name = sanitize_text_field( $name );
166
+ $subject = 'Website inquiry from ' . $name;
167
  $mailto = sanitize_email( $mailto );
168
  $mailfrom = sanitize_email( $mailfrom );
169
 
170
  $headers = array();
171
+ // use admin email assuming the Server is allowed to send as admin email
172
+ $headers[] = 'From: Admin <' . get_option( 'admin_email' ) . '>';
173
+ $headers[] = 'Reply-To: ' . $name . ' <' . $mailfrom . '>';
174
  $headers[] = 'Content-Type: text/html; charset=UTF-8';
175
 
176
  $body = $this->prepare_body( $body, $extra_data );
305
  // Unserializing instances of the class is forbidden.
306
  _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'themeisle-companion' ), '1.0.0' );
307
  }
308
+ }
vendor/codeinwp/themeisle-content-forms/class-themeisle-content-forms-elementor.php CHANGED
@@ -97,10 +97,51 @@ class ElementorWidget extends \Elementor\Widget_Base {
97
  }
98
  }
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  /**
101
  * Add alignment control for button
102
  */
103
  protected function add_submit_button_align() {
 
 
 
 
104
  $this->add_responsive_control(
105
  'align_submit',
106
  [
@@ -158,6 +199,8 @@ class ElementorWidget extends \Elementor\Widget_Base {
158
  );
159
  }
160
 
 
 
161
  $this->add_submit_button_align();
162
 
163
  $this->end_controls_section();
97
  }
98
  }
99
 
100
+ /**
101
+ * Add alignment control for newsletter form
102
+ */
103
+ protected function add_newsletter_form_alignment() {
104
+
105
+ if ( $this->getFormType() !== 'newsletter' ) {
106
+ return;
107
+ }
108
+
109
+ $this->add_responsive_control(
110
+ 'align_submit',
111
+ [
112
+ 'label' => __( 'Alignment', 'elementor-addon-widgets', 'themeisle-companion' ),
113
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
114
+ 'toggle' => false,
115
+ 'default' => 'flex-start',
116
+ 'options' => [
117
+ 'flex-start' => [
118
+ 'title' => __( 'Left', 'elementor-addon-widgets', 'themeisle-companion' ),
119
+ 'icon' => 'fa fa-align-left',
120
+ ],
121
+ 'center' => [
122
+ 'title' => __( 'Center', 'elementor-addon-widgets', 'themeisle-companion' ),
123
+ 'icon' => 'fa fa-align-center',
124
+ ],
125
+ 'flex-end' => [
126
+ 'title' => __( 'Right', 'elementor-addon-widgets', 'themeisle-companion' ),
127
+ 'icon' => 'fa fa-align-right',
128
+ ],
129
+ ],
130
+ 'selectors' => [
131
+ '{{WRAPPER}} .content-form.content-form-newsletter' => 'justify-content: {{VALUE}};',
132
+ ],
133
+ ]
134
+ );
135
+ }
136
+
137
  /**
138
  * Add alignment control for button
139
  */
140
  protected function add_submit_button_align() {
141
+ if ( $this->getFormType() === 'newsletter' ) {
142
+ return;
143
+ }
144
+
145
  $this->add_responsive_control(
146
  'align_submit',
147
  [
199
  );
200
  }
201
 
202
+ $this->add_newsletter_form_alignment();
203
+
204
  $this->add_submit_button_align();
205
 
206
  $this->end_controls_section();
vendor/codeinwp/themeisle-content-forms/composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "codeinwp/themeisle-content-forms",
3
- "version": "1.0.9",
4
  "description": "ThemeIsle Content Forms ",
5
  "keywords": [
6
  "wordpress"
1
  {
2
  "name": "codeinwp/themeisle-content-forms",
3
+ "version": "1.2.0",
4
  "description": "ThemeIsle Content Forms ",
5
  "keywords": [
6
  "wordpress"
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit5d1d6430089632d97dac29f41c58d38d
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire5d1d6430089632d97dac29f41c58d38d($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire5d1d6430089632d97dac29f41c58d38d($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit9021d76497f6e08153e2b2a46b5a7fff
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit9021d76497f6e08153e2b2a46b5a7fff', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit9021d76497f6e08153e2b2a46b5a7fff', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequire9021d76497f6e08153e2b2a46b5a7fff($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire9021d76497f6e08153e2b2a46b5a7fff($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
vendor/composer/installed.json CHANGED
@@ -119,18 +119,18 @@
119
  "source": {
120
  "type": "git",
121
  "url": "https://github.com/Codeinwp/templates-directory.git",
122
- "reference": "fe5902c3681123dcf5c38316cc1475f7e05eeb21"
123
  },
124
  "dist": {
125
  "type": "zip",
126
- "url": "https://api.github.com/repos/Codeinwp/templates-directory/zipball/fe5902c3681123dcf5c38316cc1475f7e05eeb21",
127
- "reference": "fe5902c3681123dcf5c38316cc1475f7e05eeb21",
128
  "shasum": ""
129
  },
130
  "require": {
131
  "codeinwp/full-width-page-templates": "master"
132
  },
133
- "time": "2018-09-25 11:05:18",
134
  "type": "library",
135
  "installation-source": "dist",
136
  "autoload": {
@@ -159,15 +159,15 @@
159
  "source": {
160
  "type": "git",
161
  "url": "https://github.com/Codeinwp/themeisle-content-forms.git",
162
- "reference": "0d8a121dfa3c32ad44631a967e355bc6cca330e6"
163
  },
164
  "dist": {
165
  "type": "zip",
166
- "url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/0d8a121dfa3c32ad44631a967e355bc6cca330e6",
167
- "reference": "0d8a121dfa3c32ad44631a967e355bc6cca330e6",
168
  "shasum": ""
169
  },
170
- "time": "2018-07-24 08:02:34",
171
  "type": "library",
172
  "installation-source": "dist",
173
  "autoload": {
119
  "source": {
120
  "type": "git",
121
  "url": "https://github.com/Codeinwp/templates-directory.git",
122
+ "reference": "be218b189f9dc60e32463161567ca1b567f79019"
123
  },
124
  "dist": {
125
  "type": "zip",
126
+ "url": "https://api.github.com/repos/Codeinwp/templates-directory/zipball/be218b189f9dc60e32463161567ca1b567f79019",
127
+ "reference": "be218b189f9dc60e32463161567ca1b567f79019",
128
  "shasum": ""
129
  },
130
  "require": {
131
  "codeinwp/full-width-page-templates": "master"
132
  },
133
+ "time": "2018-11-12 09:48:53",
134
  "type": "library",
135
  "installation-source": "dist",
136
  "autoload": {
159
  "source": {
160
  "type": "git",
161
  "url": "https://github.com/Codeinwp/themeisle-content-forms.git",
162
+ "reference": "60f64fa4bb1d6941937bf45da2420d427cc6183f"
163
  },
164
  "dist": {
165
  "type": "zip",
166
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/60f64fa4bb1d6941937bf45da2420d427cc6183f",
167
+ "reference": "60f64fa4bb1d6941937bf45da2420d427cc6183f",
168
  "shasum": ""
169
  },
170
+ "time": "2018-11-12 09:34:09",
171
  "type": "library",
172
  "installation-source": "dist",
173
  "autoload": {