Orbit Fox by ThemeIsle - Version 2.3.1

Version Description

  • 2018-01-17
Download this release

Release Info

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

Code changes from version 2.3.0 to 2.3.1

Files changed (37) hide show
  1. CHANGELOG.md +11 -0
  2. core/assets/css/orbit-fox-admin.css +1 -1
  3. core/includes/class-orbit-fox.php +1 -1
  4. obfx_modules/social-sharing/init.php +19 -2
  5. obfx_modules/template-directory/init.php +90 -61
  6. readme.md +5 -0
  7. readme.txt +5 -0
  8. themeisle-companion.php +1 -1
  9. themeisle-hash.json +1 -1
  10. vendor/autoload.php +1 -1
  11. vendor/codeinwp/full-width-page-templates/builders/class-elementor-full-width-templates.php +123 -0
  12. vendor/codeinwp/full-width-page-templates/class-full-width-templates.php +205 -0
  13. vendor/codeinwp/full-width-page-templates/composer.json +22 -0
  14. vendor/codeinwp/full-width-page-templates/load.php +11 -0
  15. vendor/codeinwp/full-width-page-templates/templates/builder-fullwidth-std.php +16 -0
  16. vendor/codeinwp/full-width-page-templates/templates/builder-fullwidth.php +32 -0
  17. vendor/codeinwp/full-width-page-templates/themes/actions/inline-style.php +15 -0
  18. vendor/codeinwp/full-width-page-templates/themes/edge/inline-style.php +19 -0
  19. vendor/codeinwp/full-width-page-templates/themes/enlightenment/inline-style.php +11 -0
  20. vendor/codeinwp/full-width-page-templates/themes/experon/inline-style.php +14 -0
  21. vendor/codeinwp/full-width-page-templates/themes/generatepress/inline-style.php +11 -0
  22. vendor/codeinwp/full-width-page-templates/themes/genesis/inline-style.php +24 -0
  23. vendor/codeinwp/full-width-page-templates/themes/storefront/inline-style.php +14 -0
  24. vendor/codeinwp/full-width-page-templates/themes/sydney/inline-style.php +18 -0
  25. vendor/codeinwp/full-width-page-templates/themes/twentyfifteen/inline-style.php +23 -0
  26. vendor/codeinwp/full-width-page-templates/themes/twentyfourteen/inline-style.php +15 -0
  27. vendor/codeinwp/full-width-page-templates/themes/twentyseventeen/inline-style.php +17 -0
  28. vendor/codeinwp/full-width-page-templates/themes/twentysixteen/inline-style.php +59 -0
  29. vendor/codeinwp/full-width-page-templates/themes/twentythirteen/inline-style.php +17 -0
  30. vendor/codeinwp/full-width-page-templates/themes/vantage/inline-style.php +15 -0
  31. vendor/codeinwp/full-width-page-templates/themes/virtue/inline-style.php +14 -0
  32. vendor/codeinwp/themeisle-content-forms/class-themeisle-content-forms-elementor.php +5 -1
  33. vendor/codeinwp/themeisle-content-forms/composer.json +1 -0
  34. vendor/codeinwp/themeisle-content-forms/load.php +10 -2
  35. vendor/composer/autoload_files.php +1 -0
  36. vendor/composer/autoload_real.php +5 -5
  37. vendor/composer/installed.json +41 -4
CHANGELOG.md CHANGED
@@ -1,4 +1,15 @@
1
 
 
 
 
 
 
 
 
 
 
 
 
2
  ### v2.3.0 - 2018-01-15
3
  **Changes:**
4
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
1
 
2
+ ### v2.3.1 - 2018-01-17
3
+ **Changes:**
4
+ * Aaand this change will put the nail in this PR
5
+ * https://github.com/Codeinwp/full-width-page-templates/commit/aa5d8e96e2b65aef9816f747bfc05c37bd37292c
6
+ *
7
+ * Thanks for help
8
+
9
+ ### v2.3.1 - 2018-01-17
10
+ **Changes:**
11
+ * Disabled automatic display for sharing button on pages and added an option to toggle it.
12
+
13
  ### v2.3.0 - 2018-01-15
14
  **Changes:**
15
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
core/assets/css/orbit-fox-admin.css CHANGED
@@ -8,7 +8,7 @@
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
- Version: 2.3.0
12
  */
13
 
14
  /* Document
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
+ Version: 2.3.1
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.3.0';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
69
 
70
  $this->plugin_name = 'orbit-fox';
71
 
72
+ $this->version = '2.3.1';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
obfx_modules/social-sharing/init.php CHANGED
@@ -175,7 +175,7 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
175
  * @access public
176
  */
177
  public function social_sharing_function() {
178
- if ( is_single() || is_page() ) {
179
  $class_desktop = 'obfx-sharing-left ';
180
  switch ( $this->get_option( 'socials_position' ) ) {
181
  case '1':
@@ -284,6 +284,24 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
284
  */
285
  public function options() {
286
  $options = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  array(
288
  'id' => 'socials_position',
289
  'title' => 'Desktop Position',
@@ -299,7 +317,6 @@ class Social_Sharing_OBFX_Module extends Orbit_Fox_Module_Abstract {
299
  'id' => 'mobile_position',
300
  'name' => 'mobile_position',
301
  'title' => 'Mobile Position',
302
- 'label' => 'Show network name on hover',
303
  'type' => 'radio',
304
  'options' => array(
305
  '0' => 'Pinned to bottom',
175
  * @access public
176
  */
177
  public function social_sharing_function() {
178
+ if ( ( $this->get_option('display_on_posts') && is_single() ) || ( $this->get_option('display_on_pages') && is_page() ) ) {
179
  $class_desktop = 'obfx-sharing-left ';
180
  switch ( $this->get_option( 'socials_position' ) ) {
181
  case '1':
284
  */
285
  public function options() {
286
  $options = array(
287
+ array(
288
+ 'id' => 'display_on_posts',
289
+ 'title' => 'Display On',
290
+ 'name' => 'display_on_posts',
291
+ 'type' => 'checkbox',
292
+ 'label' => 'Posts',
293
+ 'class' => 'inline-setting',
294
+ 'default' => '1',
295
+ ),
296
+ array(
297
+ 'id' => 'display_on_pages',
298
+ 'title' => '',
299
+ 'name' => 'display_on_pages',
300
+ 'type' => 'checkbox',
301
+ 'label' => 'Pages',
302
+ 'class' => 'inline-setting',
303
+ 'default' => '0',
304
+ ),
305
  array(
306
  'id' => 'socials_position',
307
  'title' => 'Desktop Position',
317
  'id' => 'mobile_position',
318
  'name' => 'mobile_position',
319
  'title' => 'Mobile Position',
 
320
  'type' => 'radio',
321
  'options' => array(
322
  '0' => 'Pinned to bottom',
obfx_modules/template-directory/init.php CHANGED
@@ -69,6 +69,10 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
69
  $this->loader->add_action( 'template_redirect', $this, 'demo_listing' );
70
  //Enqueue admin scripts.
71
  $this->loader->add_action( 'admin_enqueue_scripts', $this, 'enqueue_template_dir_scripts' );
 
 
 
 
72
  }
73
 
74
  /**
@@ -136,6 +140,7 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
136
  'admin' => array(),
137
  ),
138
  );
 
139
  return $enqueue;
140
  }
141
 
@@ -167,74 +172,74 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
167
 
168
  $templates_list = array(
169
  'about-our-business-elementor' => array(
170
- 'title' => __( 'About Our Business', 'themeisle-companion' ),
171
- 'description' => __( 'Use this layout to present your business in a fancy way. Add an interactive header, shwocase your services via progress bars, introduce your team members, and locate your headquarters on Google Maps. Last but not least, beautify the design by adding catchy images.', 'themeisle-companion' ),
172
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/about-our-business-elementor/',
173
- 'screenshot' => esc_url( $repository_raw_url . 'about-our-business-elementor/screenshot.png' ),
174
- 'import_file' => esc_url( $repository_raw_url . 'about-our-business-elementor/template.json' ),
175
- ),
176
  'contact-us-elementor' => array(
177
- 'title' => __( 'Contact Us', 'themeisle-companion' ),
178
- 'description' => __( 'A clean and simple template for your Contact page, where we integrated our Pirate Forms plugin. It will let your customers send you a message using an intuitive form. A Google map, together with a few other details about your business, completes the section.', 'themeisle-companion' ),
179
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/contact-us-elementor/',
180
- 'screenshot' => esc_url( $repository_raw_url . 'contact-us-elementor/screenshot.png' ),
181
- 'import_file' => esc_url( $repository_raw_url . 'contact-us-elementor/template.json' ),
182
  ),
183
  'pricing-elementor' => array(
184
- 'title' => __( 'Pricing', 'themeisle-companion' ),
185
- 'description' => __( 'If you plan to sell your products online, this layout offers you elegant pricing tables so you can differentiate the features and services for your clients. Also, for a better clarification, the template provides a FAQ area where you can answer people\'s questions.', 'themeisle-companion' ),
186
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/pricing-elementor/',
187
- 'screenshot' => esc_url( $repository_raw_url . 'pricing-elementor/screenshot.png' ),
188
- 'import_file' => esc_url( $repository_raw_url . 'pricing-elementor/template.json' ),
189
  ),
190
  'material-homepage-elementor' => array(
191
- 'title' => __( 'Material Homepage', 'themeisle-companion' ),
192
- 'description' => __( 'This layout could be your main website homepage (or you can use it as an alternative homepage, if you wish). It was built on material design and comes with call to action, catchy icons, testimonials, blog posts, pricing plans, and other sections that you can add yourself by customizing it.', 'themeisle-companion' ),
193
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/material-homepage-elementor/',
194
- 'screenshot' => esc_url( $repository_raw_url . 'material-homepage-elementor/screenshot.png' ),
195
- 'import_file' => esc_url( $repository_raw_url . 'material-homepage-elementor/template.json' ),
196
  ),
197
  'ether-elementor' => array(
198
- 'title' => __( 'Ether - Landing Page', 'themeisle-companion' ),
199
- 'description' => __( 'An elegant and modern landing page for e-commerce, coming with a clean interface, beautiful typography, photo galleries, and call to action. If you have an online shop and want to promote a certain product, use this layout to tell people why they should buy it.', 'themeisle-companion' ),
200
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/ether-elementor/',
201
- 'screenshot' => esc_url( $repository_raw_url . 'ether-elementor/screenshot.png' ),
202
- 'import_file' => esc_url( $repository_raw_url . 'ether-elementor/template.json' ),
203
  ),
204
  'jason-elementor' => array(
205
- 'title' => __( 'Jason - Landing Page', 'themeisle-companion' ),
206
- 'description' => __( 'A classy template for freelancers, where you can put your skills and knowldge in the spotlight for potential clients. Talk about yourself, your projects, awards, and let people contact you easily. The template is designed to feature one-page scrolling.', 'themeisle-companion' ),
207
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/jason-elementor/',
208
- 'screenshot' => esc_url( $repository_raw_url . 'jason-elementor/screenshot.png' ),
209
- 'import_file' => esc_url( $repository_raw_url . 'jason-elementor/template.json' ),
210
  ),
211
  'pulse-elementor' => array(
212
- 'title' => __( 'Pulse - Landing Page', 'themeisle-companion' ),
213
- 'description' => __( 'A good-looking landing page for products and apps, built to mark the features and services that they offer. The layout provides customer reviews, call to action, beautiful pricing tables, an About section, and a creative design. If you want to promote and sell your brand product, this template might help.', 'themeisle-companion' ),
214
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/pulse-elementor/',
215
- 'screenshot' => esc_url( $repository_raw_url . 'pulse-elementor/screenshot.png' ),
216
- 'import_file' => esc_url( $repository_raw_url . 'pulse-elementor/template.json' ),
217
  ),
218
  'ascend-elementor' => array(
219
- 'title' => __( 'Ascend - Landing Page', 'themeisle-companion' ),
220
- 'description' => __( 'A resume-like template, built for outdoor enthusiasts and nature lovers. Its design and layout make it flexible for any other purpose too, so do not hesitate to showcase any kind of skills and activities, even business-oriented.', 'themeisle-companion' ),
221
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/ascend-elementor/',
222
- 'screenshot' => esc_url( $repository_raw_url . 'ascend-elementor/screenshot.png' ),
223
- 'import_file' => esc_url( $repository_raw_url . 'ascend-elementor/template.json' ),
224
  ),
225
  'path-elementor' => array(
226
- 'title' => __( 'Path - Landing Page', 'themeisle-companion' ),
227
- 'description' => __( 'If you are a business consultant - agency or working on your own - have a look at this template! It comes with a clean design, call to action, statistics, and sections that put your services first.', 'themeisle-companion' ),
228
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/path-elementor/',
229
- 'screenshot' => esc_url( $repository_raw_url . 'path-elementor/screenshot.png' ),
230
- 'import_file' => esc_url( $repository_raw_url . 'path-elementor/template.json' ),
231
  ),
232
  'mocha-elementor' => array(
233
- 'title' => __( 'Mocha - Landing Page', 'themeisle-companion' ),
234
- 'description' => __( 'An elegant and modern template for cafes and pubs, where you can display your menu in a mouth-watering way. Call to action, blog posts, attractive images, tabbed menus, and a catchy design will help you convince more people to stop by.', 'themeisle-companion' ),
235
- 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/mocha-elementor/',
236
- 'screenshot' => esc_url( $repository_raw_url . 'mocha-elementor/screenshot.png' ),
237
- 'import_file' => esc_url( $repository_raw_url . 'mocha-elementor/template.json' ),
238
  ),
239
  );
240
 
@@ -242,7 +247,7 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
242
  $templates_list[ $template ] = wp_parse_args( $properties, $defaults_if_empty );
243
  }
244
 
245
- return $templates_list;
246
  }
247
 
248
  /**
@@ -288,7 +293,7 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
288
  */
289
  public function render_admin_page() {
290
  $data = array(
291
- 'templates_array' => $this->templates_list(),
292
  );
293
  echo $this->render_view( 'template-directory-page', $data );
294
  }
@@ -345,14 +350,16 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
345
 
346
  // Create post object
347
  $new_template_page = array(
348
- 'post_type' => 'page',
349
- 'post_title' => $_POST['template_name'],
350
- 'post_status' => 'publish',
351
- 'post_content' => $page_content,
352
- 'meta_input' => $elementor_metas,
 
353
  );
354
 
355
  $current_theme = wp_get_theme();
 
356
  switch ( $current_theme->get_template() ) {
357
  case 'hestia-pro':
358
  case 'hestia':
@@ -415,9 +422,9 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
415
  $plugin_link_suffix = $slug . '/' . $slug . '.php';
416
  $nonce = add_query_arg(
417
  array(
418
- 'action' => 'activate',
419
- 'plugin' => rawurlencode( $plugin_link_suffix ),
420
- '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_link_suffix ),
421
  ), network_admin_url( 'plugins.php' )
422
  );
423
  $button .= '<a data-slug="' . $slug . '" class="activate-now button button-primary" href="' . esc_url( $nonce ) . '" aria-label="Activate ' . $slug . '">' . __( 'Activate', 'themeisle-companion' ) . '</a>';
@@ -447,4 +454,26 @@ class Template_Directory_OBFX_Module extends Orbit_Fox_Module_Abstract {
447
  }
448
  }
449
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
450
  }
69
  $this->loader->add_action( 'template_redirect', $this, 'demo_listing' );
70
  //Enqueue admin scripts.
71
  $this->loader->add_action( 'admin_enqueue_scripts', $this, 'enqueue_template_dir_scripts' );
72
+ // Get the full-width pages feature
73
+ $this->loader->add_action( 'init', $this, 'load_full_width_page_templates' );
74
+
75
+ $this->loader->add_filter( 'fwpt_templates_list', $this, 'filter_fwpt_templates_list' );
76
  }
77
 
78
  /**
140
  'admin' => array(),
141
  ),
142
  );
143
+
144
  return $enqueue;
145
  }
146
 
172
 
173
  $templates_list = array(
174
  'about-our-business-elementor' => array(
175
+ 'title' => __( 'About Our Business', 'themeisle-companion' ),
176
+ 'description' => __( 'Use this layout to present your business in a fancy way. Add an interactive header, shwocase your services via progress bars, introduce your team members, and locate your headquarters on Google Maps. Last but not least, beautify the design by adding catchy images.', 'themeisle-companion' ),
177
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/about-our-business-elementor/',
178
+ 'screenshot' => esc_url( $repository_raw_url . 'about-our-business-elementor/screenshot.png' ),
179
+ 'import_file' => esc_url( $repository_raw_url . 'about-our-business-elementor/template.json' ),
180
+ ),
181
  'contact-us-elementor' => array(
182
+ 'title' => __( 'Contact Us', 'themeisle-companion' ),
183
+ 'description' => __( 'A clean and simple template for your Contact page, where we integrated our Pirate Forms plugin. It will let your customers send you a message using an intuitive form. A Google map, together with a few other details about your business, completes the section.', 'themeisle-companion' ),
184
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/contact-us-elementor/',
185
+ 'screenshot' => esc_url( $repository_raw_url . 'contact-us-elementor/screenshot.png' ),
186
+ 'import_file' => esc_url( $repository_raw_url . 'contact-us-elementor/template.json' ),
187
  ),
188
  'pricing-elementor' => array(
189
+ 'title' => __( 'Pricing', 'themeisle-companion' ),
190
+ 'description' => __( 'If you plan to sell your products online, this layout offers you elegant pricing tables so you can differentiate the features and services for your clients. Also, for a better clarification, the template provides a FAQ area where you can answer people\'s questions.', 'themeisle-companion' ),
191
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/pricing-elementor/',
192
+ 'screenshot' => esc_url( $repository_raw_url . 'pricing-elementor/screenshot.png' ),
193
+ 'import_file' => esc_url( $repository_raw_url . 'pricing-elementor/template.json' ),
194
  ),
195
  'material-homepage-elementor' => array(
196
+ 'title' => __( 'Material Homepage', 'themeisle-companion' ),
197
+ 'description' => __( 'This layout could be your main website homepage (or you can use it as an alternative homepage, if you wish). It was built on material design and comes with call to action, catchy icons, testimonials, blog posts, pricing plans, and other sections that you can add yourself by customizing it.', 'themeisle-companion' ),
198
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/material-homepage-elementor/',
199
+ 'screenshot' => esc_url( $repository_raw_url . 'material-homepage-elementor/screenshot.png' ),
200
+ 'import_file' => esc_url( $repository_raw_url . 'material-homepage-elementor/template.json' ),
201
  ),
202
  'ether-elementor' => array(
203
+ 'title' => __( 'Ether - Landing Page', 'themeisle-companion' ),
204
+ 'description' => __( 'An elegant and modern landing page for e-commerce, coming with a clean interface, beautiful typography, photo galleries, and call to action. If you have an online shop and want to promote a certain product, use this layout to tell people why they should buy it.', 'themeisle-companion' ),
205
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/ether-elementor/',
206
+ 'screenshot' => esc_url( $repository_raw_url . 'ether-elementor/screenshot.png' ),
207
+ 'import_file' => esc_url( $repository_raw_url . 'ether-elementor/template.json' ),
208
  ),
209
  'jason-elementor' => array(
210
+ 'title' => __( 'Jason - Landing Page', 'themeisle-companion' ),
211
+ 'description' => __( 'A classy template for freelancers, where you can put your skills and knowldge in the spotlight for potential clients. Talk about yourself, your projects, awards, and let people contact you easily. The template is designed to feature one-page scrolling.', 'themeisle-companion' ),
212
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/jason-elementor/',
213
+ 'screenshot' => esc_url( $repository_raw_url . 'jason-elementor/screenshot.png' ),
214
+ 'import_file' => esc_url( $repository_raw_url . 'jason-elementor/template.json' ),
215
  ),
216
  'pulse-elementor' => array(
217
+ 'title' => __( 'Pulse - Landing Page', 'themeisle-companion' ),
218
+ 'description' => __( 'A good-looking landing page for products and apps, built to mark the features and services that they offer. The layout provides customer reviews, call to action, beautiful pricing tables, an About section, and a creative design. If you want to promote and sell your brand product, this template might help.', 'themeisle-companion' ),
219
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/pulse-elementor/',
220
+ 'screenshot' => esc_url( $repository_raw_url . 'pulse-elementor/screenshot.png' ),
221
+ 'import_file' => esc_url( $repository_raw_url . 'pulse-elementor/template.json' ),
222
  ),
223
  'ascend-elementor' => array(
224
+ 'title' => __( 'Ascend - Landing Page', 'themeisle-companion' ),
225
+ 'description' => __( 'A resume-like template, built for outdoor enthusiasts and nature lovers. Its design and layout make it flexible for any other purpose too, so do not hesitate to showcase any kind of skills and activities, even business-oriented.', 'themeisle-companion' ),
226
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/ascend-elementor/',
227
+ 'screenshot' => esc_url( $repository_raw_url . 'ascend-elementor/screenshot.png' ),
228
+ 'import_file' => esc_url( $repository_raw_url . 'ascend-elementor/template.json' ),
229
  ),
230
  'path-elementor' => array(
231
+ 'title' => __( 'Path - Landing Page', 'themeisle-companion' ),
232
+ 'description' => __( 'If you are a business consultant - agency or working on your own - have a look at this template! It comes with a clean design, call to action, statistics, and sections that put your services first.', 'themeisle-companion' ),
233
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/path-elementor/',
234
+ 'screenshot' => esc_url( $repository_raw_url . 'path-elementor/screenshot.png' ),
235
+ 'import_file' => esc_url( $repository_raw_url . 'path-elementor/template.json' ),
236
  ),
237
  'mocha-elementor' => array(
238
+ 'title' => __( 'Mocha - Landing Page', 'themeisle-companion' ),
239
+ 'description' => __( 'An elegant and modern template for cafes and pubs, where you can display your menu in a mouth-watering way. Call to action, blog posts, attractive images, tabbed menus, and a catchy design will help you convince more people to stop by.', 'themeisle-companion' ),
240
+ 'demo_url' => 'https://demo.themeisle.com/hestia-pro-demo-content/mocha-elementor/',
241
+ 'screenshot' => esc_url( $repository_raw_url . 'mocha-elementor/screenshot.png' ),
242
+ 'import_file' => esc_url( $repository_raw_url . 'mocha-elementor/template.json' ),
243
  ),
244
  );
245
 
247
  $templates_list[ $template ] = wp_parse_args( $properties, $defaults_if_empty );
248
  }
249
 
250
+ return apply_filters( 'template_directory_templates_list', $templates_list );
251
  }
252
 
253
  /**
293
  */
294
  public function render_admin_page() {
295
  $data = array(
296
+ 'templates_array' => $this->templates_list(),
297
  );
298
  echo $this->render_view( 'template-directory-page', $data );
299
  }
350
 
351
  // Create post object
352
  $new_template_page = array(
353
+ 'post_type' => 'page',
354
+ 'post_title' => $_POST['template_name'],
355
+ 'post_status' => 'publish',
356
+ 'post_content' => $page_content,
357
+ 'meta_input' => $elementor_metas,
358
+ 'page_template' => apply_filters( 'template_directory_default_template', 'templates/builder-fullwidth-std.php' )
359
  );
360
 
361
  $current_theme = wp_get_theme();
362
+
363
  switch ( $current_theme->get_template() ) {
364
  case 'hestia-pro':
365
  case 'hestia':
422
  $plugin_link_suffix = $slug . '/' . $slug . '.php';
423
  $nonce = add_query_arg(
424
  array(
425
+ 'action' => 'activate',
426
+ 'plugin' => rawurlencode( $plugin_link_suffix ),
427
+ '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $plugin_link_suffix ),
428
  ), network_admin_url( 'plugins.php' )
429
  );
430
  $button .= '<a data-slug="' . $slug . '" class="activate-now button button-primary" href="' . esc_url( $nonce ) . '" aria-label="Activate ' . $slug . '">' . __( 'Activate', 'themeisle-companion' ) . '</a>';
454
  }
455
  }
456
 
457
+ /**
458
+ * If the composer library is present let's try to init.
459
+ */
460
+ public function load_full_width_page_templates() {
461
+ if ( class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
462
+ \ThemeIsle\FullWidthTemplates::instance();
463
+ }
464
+ }
465
+
466
+ /**
467
+ * By default the composer library "Full Width Page Templates" comes with two page templates: a blank one and a full
468
+ * width one with the header and footer inherited from the active theme.
469
+ * OBFX Template directory doesn't need the blonk one, so we are going to ditch it.
470
+ *
471
+ * @param array $list
472
+ *
473
+ * @return array
474
+ */
475
+ public function filter_fwpt_templates_list( $list ){
476
+ unset( $list['templates/builder-fullwidth.php'] );
477
+ return $list;
478
+ }
479
  }
readme.md CHANGED
@@ -124,6 +124,11 @@ Activating the Orbit Fox Companion plugin is just like any other plugin. If you'
124
 
125
 
126
  ## Changelog ##
 
 
 
 
 
127
  ### 2.3.0 - 2018-01-15 ###
128
 
129
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
124
 
125
 
126
  ## Changelog ##
127
+ ### 2.3.1 - 2018-01-17 ###
128
+
129
+ * Disabled automatic display for sharing button on pages and added an option to toggle it.
130
+
131
+
132
  ### 2.3.0 - 2018-01-15 ###
133
 
134
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
readme.txt CHANGED
@@ -124,6 +124,11 @@ Activating the Orbit Fox Companion plugin is just like any other plugin. If you'
124
 
125
 
126
  == Changelog ==
 
 
 
 
 
127
  = 2.3.0 - 2018-01-15 =
128
 
129
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
124
 
125
 
126
  == Changelog ==
127
+ = 2.3.1 - 2018-01-17 =
128
+
129
+ * Disabled automatic display for sharing button on pages and added an option to toggle it.
130
+
131
+
132
  = 2.3.0 - 2018-01-15 =
133
 
134
  * Adds 3 forms widgets for Elementor (Contact form, Newsletter, and Registration form).
themeisle-companion.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://themeisle.com/plugins/orbit-fox-companion
17
  * Description: Enhances ThemeIsle's themes with extra functionality.
18
- * Version: 2.3.0
19
  * Author: Themeisle
20
  * Author URI: https://themeisle.com
21
  * License: GPL-2.0+
15
  * Plugin Name: Orbit Fox Companion
16
  * Plugin URI: https://themeisle.com/plugins/orbit-fox-companion
17
  * Description: Enhances ThemeIsle's themes with extra functionality.
18
+ * Version: 2.3.1
19
  * Author: Themeisle
20
  * Author URI: https://themeisle.com
21
  * License: GPL-2.0+
themeisle-hash.json CHANGED
@@ -1 +1 @@
1
- {"class-autoloader.php":"57e533b653d235e76cb9953720e4f5e9","index.php":"39ab8276fb0e4bd3fcab3270822c5977","themeisle-companion.php":"6960c036d64f9480c77c3e8e7356fa53","uninstall.php":"7abf753a29e0eb3a844c8a0ba9493b7c"}
1
+ {"class-autoloader.php":"57e533b653d235e76cb9953720e4f5e9","index.php":"39ab8276fb0e4bd3fcab3270822c5977","themeisle-companion.php":"64a9f77a03c37a04eb063036c19ee554","uninstall.php":"7abf753a29e0eb3a844c8a0ba9493b7c"}
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit5ee7f5701d9ac5feb4106ebe798a32bb::getLoader();
vendor/codeinwp/full-width-page-templates/builders/class-elementor-full-width-templates.php ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class ThemeIsle\FullWidthTemplates\Elementor
4
+ *
5
+ * @package ThemeIsle\FullWidthTemplates\Elementor
6
+ * @copyright Copyright (c) 2017, Andrei Lupu
7
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ * @since 1.0.0
9
+ */
10
+
11
+ namespace ThemeIsle\FullWidthTemplates;
12
+
13
+ class Elementor {
14
+ /**
15
+ * @var ThemeIsle\FullWidthTemplates
16
+ */
17
+ protected static $instance = null;
18
+
19
+ protected function init(){
20
+ // for the blank template
21
+ add_action( 'fwpt_blank_before_content', array( $this, 'render_blank_before_content' ) );
22
+ add_action( 'fwpt_blank_content', array( $this, 'render_content' ) );
23
+ add_action( 'fwpt_blank_after_content', array( $this, 'render_blank_after_content' ) );
24
+
25
+ // for the standard template
26
+ add_action( 'fwpt_std_content', array( $this, 'render_content' ) );
27
+ add_action( 'fwpt_std_before_content', array( $this, 'render_std_before_content' ) );
28
+ add_action( 'fwpt_std_after_content', array( $this, 'render_std_after_content' ) );
29
+
30
+ // @TODO We should move this into a function to keep compat?
31
+ add_action( 'elementor_page_elements', array( $this, 'elementor_page_content' ), 20 );
32
+ }
33
+
34
+ /**
35
+ * Display the WordPress loop
36
+ */
37
+ public function render_content() {
38
+ global $post;
39
+
40
+ while ( have_posts() ) : the_post();
41
+ do_action( 'elementor_page_elements' ); // Give your elements priorities so that they hook in the right place.
42
+ endwhile;
43
+ }
44
+
45
+ /**
46
+ * Display the header of the Blank template
47
+ */
48
+ public function render_blank_before_content() {
49
+ do_action( 'elementor_content_body_before' );
50
+ do_action( 'elementor_before_content_wrapper' );
51
+ }
52
+
53
+ /**
54
+ * Display the footer of the blank template
55
+ */
56
+ public function render_blank_after_content() {
57
+ do_action( 'elementor_after_content_wrapper' );
58
+ do_action( 'elementor_content_body_after' );
59
+ }
60
+
61
+ /**
62
+ * Display the header of the standard template
63
+ */
64
+ public function render_std_before_content() {
65
+ get_header();
66
+ do_action( 'elementor_before_content_wrapper' );
67
+ }
68
+
69
+ /**
70
+ * Display the footer of the standard template
71
+ */
72
+ public function render_std_after_content() {
73
+ do_action( 'elementor_after_content_wrapper' );
74
+ get_footer();
75
+ }
76
+
77
+ // @TODO We should move this into a function to keep compat?
78
+ function elementor_page_content() {
79
+ the_content();
80
+ }
81
+
82
+ /**
83
+ * @static
84
+ * @since 1.0.0
85
+ * @access public
86
+ * @return ThemeIsle\FullWidthTemplates
87
+ */
88
+ public static function instance() {
89
+ if ( is_null( self::$instance ) ) {
90
+ self::$instance = new self();
91
+ self::$instance->init();
92
+ }
93
+
94
+ return self::$instance;
95
+ }
96
+
97
+ /**
98
+ * Throw error on object clone
99
+ *
100
+ * The whole idea of the singleton design pattern is that there is a single
101
+ * object therefore, we don't want the object to be cloned.
102
+ *
103
+ * @access public
104
+ * @since 1.0.0
105
+ * @return void
106
+ */
107
+ public function __clone() {
108
+ // Cloning instances of the class is forbidden.
109
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'textdomain' ), '1.0.0' );
110
+ }
111
+
112
+ /**
113
+ * Disable unserializing of the class
114
+ *
115
+ * @access public
116
+ * @since 1.0.0
117
+ * @return void
118
+ */
119
+ public function __wakeup() {
120
+ // Unserializing instances of the class is forbidden.
121
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'textdomain' ), '1.0.0' );
122
+ }
123
+ }
vendor/codeinwp/full-width-page-templates/class-full-width-templates.php ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class ThemeIsle\FullWidthTemplates
4
+ *
5
+ * @package ThemeIsle\FullWidthTemplates
6
+ * @copyright Copyright (c) 2017, Andrei Lupu
7
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ * @since 1.0.0
9
+ */
10
+
11
+ namespace ThemeIsle;
12
+
13
+ if ( ! class_exists( '\ThemeIsle\FullWidthTemplates' ) ) {
14
+
15
+ class FullWidthTemplates {
16
+ /**
17
+ * @var FullWidthTemplates
18
+ */
19
+ protected static $instance = null;
20
+
21
+ /**
22
+ * The version of this library
23
+ * @var string
24
+ */
25
+ public static $version = '1.0.0';
26
+
27
+ /**
28
+ * The array of templates injected.
29
+ */
30
+ protected $templates;
31
+
32
+ /**
33
+ * Defines the library behaviour
34
+ */
35
+ protected function init() {
36
+ // Add your templates to this array.
37
+ $this->templates = apply_filters( 'fwpt_templates_list', array(
38
+ 'templates/builder-fullwidth.php' => '&harr; ' . __( 'Page Builder - Full Width - Blank', 'textdomain' ),
39
+ 'templates/builder-fullwidth-std.php' => '&harr; ' . __( 'Page Builder - Full Width', 'textdomain' ),
40
+ ) );
41
+
42
+ add_filter( 'theme_page_templates', array( $this, 'add_pages_in_dropdown' ) );
43
+
44
+ // Add a filter to the template include to determine if the page has our
45
+ // template assigned and return it's path
46
+ add_filter( 'template_include', array( $this, 'redirect_page_template' ) );
47
+
48
+ // Add a filter to the save post to inject out template into the page cache
49
+ add_filter( 'wp_insert_post_data', array( $this, 'register_project_templates' ) );
50
+
51
+ add_action( 'wp_enqueue_scripts', array( $this, 'load_theme_overwrites' ) );
52
+
53
+ $this->add_support_for_elementor();
54
+ }
55
+
56
+ /**
57
+ * Adds our template to the page dropdown
58
+ *
59
+ * @param $templates
60
+ *
61
+ * @return array
62
+ */
63
+ public function add_pages_in_dropdown( $templates ) {
64
+ $templates = array_merge( $templates, $this->templates );
65
+ return $templates;
66
+ }
67
+
68
+ /**
69
+ * Hook into the page view and change the page template path if the selected page template
70
+ * comes from our library
71
+ */
72
+ public function redirect_page_template( $template ) {
73
+ global $post;
74
+
75
+ if ( empty( $post ) ) {
76
+ return $template;
77
+ }
78
+
79
+ $current_template = get_post_meta( $post->ID, '_wp_page_template', true );
80
+
81
+ if ( empty( $this->templates[ $current_template ] ) ) {
82
+ return $template;
83
+ }
84
+
85
+ $file = plugin_dir_path( __FILE__ ) . $current_template;
86
+
87
+ // Just to be safe, we check if the file exist first
88
+ if ( file_exists( $file ) ) {
89
+ return $file;
90
+ } else {
91
+ echo $file;
92
+ }
93
+
94
+ return $template;
95
+ }
96
+
97
+ protected function guess_builder(){
98
+ $builder = 'elementor';
99
+ return $builder;
100
+ }
101
+
102
+ /**
103
+ * Adds our template to the pages cache in order to trick WordPress
104
+ * into thinking the template file exists where it doesn't really exist.
105
+ */
106
+ public function register_project_templates( $atts ) {
107
+
108
+ // Create the key used for the themes cache
109
+ $cache_key = 'page_templates-' . md5( get_theme_root() . '/' . get_stylesheet() );
110
+
111
+ // Retrieve the cache list.
112
+ // If it doesn't exist, or it's empty prepare an array
113
+ $templates = wp_get_theme()->get_page_templates();
114
+ if ( empty( $templates ) ) {
115
+ $templates = array();
116
+ }
117
+
118
+ // New cache, therefore remove the old one
119
+ wp_cache_delete( $cache_key, 'themes' );
120
+
121
+ // Now add our template to the list of templates by merging our templates
122
+ // with the existing templates array from the cache.
123
+ $templates = array_merge( $templates, $this->templates );
124
+
125
+ // Add the modified cache to allow WordPress to pick it up for listing
126
+ // available templates
127
+ wp_cache_add( $cache_key, $templates, 'themes', 1800 );
128
+
129
+ return $atts;
130
+ }
131
+
132
+ /**
133
+ * Enqueue CSS for active theme.
134
+ *
135
+ * @since 1.0.0
136
+ * @return void
137
+ */
138
+ public function load_theme_overwrites() {
139
+ $theme = get_option( 'template' );
140
+ $style_filename = plugin_dir_path( __FILE__ ) . 'inc/themes/' . $theme . '/inline-style.php';
141
+ if ( file_exists( $style_filename ) ) {
142
+ include_once( $style_filename );
143
+ }
144
+
145
+ $func_filename = plugin_dir_path( __FILE__ ) . 'inc/themes/' . $theme . '/functions.php';
146
+ if ( file_exists( $func_filename ) ) {
147
+ include_once( $func_filename );
148
+ }
149
+ }
150
+
151
+ /**
152
+ * Add support for Elementor and call the class
153
+ */
154
+ public function add_support_for_elementor(){
155
+
156
+ // We check if the Elementor plugin has been installed / activated.
157
+ if ( defined( 'ELEMENTOR_PATH' ) && class_exists( 'Elementor\Widget_Base' ) ) {
158
+ require_once( dirname( __FILE__ ) . '/builders/class-elementor-full-width-templates.php' );
159
+ FullWidthTemplates\Elementor::instance();
160
+ }
161
+ }
162
+
163
+ /**
164
+ * @static
165
+ * @since 1.0.0
166
+ * @access public
167
+ * @return FullWidthTemplates
168
+ */
169
+ public static function instance() {
170
+ if ( is_null( self::$instance ) ) {
171
+ self::$instance = new self();
172
+ self::$instance->init();
173
+ }
174
+
175
+ return self::$instance;
176
+ }
177
+
178
+ /**
179
+ * Throw error on object clone
180
+ *
181
+ * The whole idea of the singleton design pattern is that there is a single
182
+ * object therefore, we don't want the object to be cloned.
183
+ *
184
+ * @access public
185
+ * @since 1.0.0
186
+ * @return void
187
+ */
188
+ public function __clone() {
189
+ // Cloning instances of the class is forbidden.
190
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'textdomain' ), '1.0.0' );
191
+ }
192
+
193
+ /**
194
+ * Disable unserializing of the class
195
+ *
196
+ * @access public
197
+ * @since 1.0.0
198
+ * @return void
199
+ */
200
+ public function __wakeup() {
201
+ // Unserializing instances of the class is forbidden.
202
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'textdomain' ), '1.0.0' );
203
+ }
204
+ }
205
+ }
vendor/codeinwp/full-width-page-templates/composer.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "codeinwp/full-width-page-templates",
3
+ "description": "A WordPress library to create full width page templates.",
4
+ "type": "library",
5
+ "license": "GPL-2.0+",
6
+ "homepage": "https://github.com/Codeinwp/full-width-page-templates",
7
+ "authors": [
8
+ {
9
+ "name": "ThemeIsle team",
10
+ "email": "friends@themeisle.com",
11
+ "homepage": "https://themeisle.com"
12
+ }
13
+ ],
14
+ "autoload": {
15
+ "files": [
16
+ "load.php"
17
+ ]
18
+ },
19
+ "support": {
20
+ "issues": "https://github.com/Codeinwp/full-width-page-templates/issues"
21
+ }
22
+ }
vendor/codeinwp/full-width-page-templates/load.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Loader for the ThemeIsle\FullWidthTemplates
4
+ *
5
+ * @package ThemeIsle\FullWidthTemplates
6
+ * @copyright Copyright (c) 2017, Andrei Lupu
7
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
+ * @since 1.0.0
9
+ */
10
+
11
+ require_once( dirname( __FILE__ ) . '/class-full-width-templates.php' );
vendor/codeinwp/full-width-page-templates/templates/builder-fullwidth-std.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Template Name: Full Width Standard
4
+ * Template Post Type: page
5
+ *
6
+ * A full width template inherited from the active theme
7
+ *
8
+ * @since 1.0.0
9
+ * @version 1.0.0
10
+ */
11
+
12
+ do_action('fwpt_std_before_content');
13
+
14
+ do_action('fwpt_std_content');
15
+
16
+ do_action('fwpt_std_after_content');
vendor/codeinwp/full-width-page-templates/templates/builder-fullwidth.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Template Name: Full Width Blank
4
+ * Template Post Type: page
5
+ *
6
+ * Blank template with minimal HTML required for a page to run
7
+ *
8
+ * @since 1.0.0
9
+ * @version 1.0.0
10
+ */
11
+ ?><!DOCTYPE html>
12
+ <html <?php language_attributes(); ?>>
13
+ <head>
14
+ <meta charset="<?php bloginfo( 'charset' ); ?>">
15
+ <meta name="viewport" content="width=device-width, initial-scale=1">
16
+ <link rel="profile" href="http://gmpg.org/xfn/11">
17
+ <?php wp_head(); ?>
18
+ </head>
19
+
20
+ <body <?php body_class(); ?>>
21
+ <?php
22
+ do_action('fwpt_blank_before_content');
23
+
24
+ do_action('fwpt_blank_content');
25
+
26
+ do_action('fwpt_blank_after_content');
27
+
28
+ wp_footer();
29
+ ?>
30
+ </body>
31
+ </html>
32
+ <?php
vendor/codeinwp/full-width-page-templates/themes/actions/inline-style.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Actions theme */
3
+ $style = '
4
+ .page-template-builder-fullwidth .main-content-area .main,
5
+ .page-template-builder-fullwidth-std .main-content-area .main {
6
+ margin: 0 auto;
7
+ width: 100%;
8
+ max-width: 100%;
9
+ }
10
+ ';
11
+ if ( is_child_theme() || ! is_admin() ) {
12
+ wp_add_inline_style( 'actions-child-style', $style );
13
+ } else {
14
+ wp_add_inline_style( 'actions-style', $style );
15
+ }
vendor/codeinwp/full-width-page-templates/themes/edge/inline-style.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Virtue theme */
3
+ $edge = '
4
+ .page-template-builder-fullwidth-std #content {
5
+ padding: 0;
6
+ }
7
+ .page-template-builder-fullwidth-std #content .container {
8
+ max-width: 100%;
9
+ }
10
+ .page-template-builder-fullwidth-std .page-header {
11
+ display: none;
12
+ }
13
+ @media only screen and (max-width: 1023px) {
14
+ .page-template-builder-fullwidth-std #content .container {
15
+ width: 100%;
16
+ }
17
+ }
18
+ ';
19
+ wp_add_inline_style( 'edge-style', $edge );
vendor/codeinwp/full-width-page-templates/themes/enlightenment/inline-style.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Actions theme */
3
+ $style = '
4
+ .elementor-body .site {
5
+ overflow-x: visible;
6
+ }
7
+ .elementor-body .navbar-fixed-top {
8
+ z-index: 1;
9
+ }
10
+ ';
11
+ wp_add_inline_style( 'elementor-frontend', $style );
vendor/codeinwp/full-width-page-templates/themes/experon/inline-style.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Virtue theme */
3
+ $experon = '
4
+ .page-template-builder-fullwidth-std #content {
5
+ padding: 0;
6
+ }
7
+ .page-template-builder-fullwidth-std #content-core {
8
+ max-width: 100%;
9
+ }
10
+ .page-template-builder-fullwidth-std #intro {
11
+ display: none;
12
+ }
13
+ ';
14
+ wp_add_inline_style( 'thinkup-style', $experon );
vendor/codeinwp/full-width-page-templates/themes/generatepress/inline-style.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the GeneratePress theme */
3
+ $style = '
4
+ .entry-header {
5
+ background-color: #fff;
6
+ }
7
+ .entry-header .grid-container {
8
+ padding: 10px 10px;
9
+ }
10
+ ';
11
+ wp_add_inline_style( 'generate-style', $style );
vendor/codeinwp/full-width-page-templates/themes/genesis/inline-style.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Genesis theme */
3
+ $genesis = '
4
+ .page-template-builder-fullwidth .site-inner,
5
+ .page-template-builder-fullwidth-std .site-inner {
6
+ max-width: 100%;
7
+ width: 100%;
8
+ padding: 0;
9
+ margin: 0;
10
+ }
11
+ .page-template-builder-fullwidth .elementor-page,
12
+ .page-template-builder-fullwidth-std .elementor-page .site-inner {
13
+ padding-top: 0;
14
+ max-width: 100%;
15
+ width: 100%;
16
+ overflow: hidden;
17
+ }
18
+ @media only screen and (max-width: 860px) {
19
+ .page-template-builder-fullwidth-std .site-inner {
20
+ padding: 0;
21
+ }
22
+ }
23
+ ';
24
+ wp_add_inline_style( 'elementor-frontend', $genesis );
vendor/codeinwp/full-width-page-templates/themes/storefront/inline-style.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Storefront theme */
3
+ $css = '
4
+ .page-template-builder-fullwidth-std .site-content .col-full {
5
+ max-width: 100%;
6
+ padding: 0;
7
+ margin: 0;
8
+ }
9
+
10
+ .page-template-builder-fullwidth-std .site-header {
11
+ margin-bottom: 0;
12
+ }
13
+ ';
14
+ wp_add_inline_style( 'storefront-style', $css );
vendor/codeinwp/full-width-page-templates/themes/sydney/inline-style.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Storefront theme */
3
+ $sydney = '
4
+ .page-template-builder-fullwidth-std .page-wrap,
5
+ .page-template-builder-fullwidth-std .page-wrap .content-wrapper {
6
+ padding: 0;
7
+ margin: 0;
8
+ }
9
+ .page-template-builder-fullwidth-std .elementor-page .page-wrap .container {
10
+ width: 100%;
11
+ overflow: hidden;
12
+ }
13
+ .page-template-builder-fullwidth-std .page .entry-header,
14
+ .page-template-builder-fullwidth-std .page .entry-footer {
15
+ display: none;
16
+ }
17
+ ';
18
+ wp_add_inline_style( 'sydney-style', $sydney );
vendor/codeinwp/full-width-page-templates/themes/twentyfifteen/inline-style.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Twenty Fifteen theme */
3
+ $style = '
4
+ body.page-template-builder-fullwidth:before {
5
+ display: none;
6
+ }
7
+ .page-template-builder-fullwidth .site,
8
+ .page-template-builder-fullwidth-std .site {
9
+ max-width: 100%;
10
+ margin: 0;
11
+ }
12
+ .page-template-builder-fullwidth .elementor-page {
13
+ overflow: hidden;
14
+ }
15
+ body.page-template-builder-fullwidth-std:before {
16
+ width: 29.4118%;
17
+ }
18
+ .page-template-builder-fullwidth-std .site-footer {
19
+ width: 71%;
20
+ margin-left: 29%;
21
+ }
22
+ ';
23
+ wp_add_inline_style( 'twentyfifteen-style', $style );
vendor/codeinwp/full-width-page-templates/themes/twentyfourteen/inline-style.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Twenty Fourteen theme */
3
+ $style = '
4
+ .page-template-builder-fullwidth-std .elementor-page .site {
5
+ max-width: 100%;
6
+ overflow: hidden;
7
+ }
8
+ .page-template-builder-fullwidth-std .site::before {
9
+ display: none;
10
+ }
11
+ .page-template-builder-fullwidth-std .site-header {
12
+ max-width: 100%;
13
+ }
14
+ ';
15
+ wp_add_inline_style( 'twentyfourteen-style', $style );
vendor/codeinwp/full-width-page-templates/themes/twentyseventeen/inline-style.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Twenty Seventeen theme */
3
+ $style = '
4
+ .elementor-editor-active .site-content {
5
+ padding: 2.5em 0 0;
6
+ }
7
+ .elementor-page .site-content {
8
+ padding: 0;
9
+ }
10
+ .elementor-page.page:not(.home) #content {
11
+ padding-bottom: 0;
12
+ }
13
+ .elementor-page .site-footer {
14
+ margin-top: 0;
15
+ }
16
+ ';
17
+ wp_add_inline_style( 'twentyseventeen-style', $style );
vendor/codeinwp/full-width-page-templates/themes/twentysixteen/inline-style.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Twenty Sixteen theme */
3
+ $style = '
4
+ body.page-template-builder-fullwidth.elementor-page,
5
+ body.page-template-builder-fullwidth-std.elementor-page {
6
+ background: transparent;
7
+ }
8
+ .page-template-builder-fullwidth-std .site {
9
+ margin: 0;
10
+ }
11
+ .page-template-builder-fullwidth .elementor-page,
12
+ .page-template-builder-fullwidth-std .elementor-page {
13
+ overflow: hidden;
14
+ }
15
+ .page-template-builder-fullwidth .full-width,
16
+ .page-template-builder-fullwidth-std .full-width {
17
+ width: 100%;
18
+ }
19
+ .page-template-builder-fullwidth .site-inner,
20
+ .page-template-builder-fullwidth-std .site-inner {
21
+ max-width: 100%;
22
+ }
23
+ .page-template-builder-fullwidth .site-content,
24
+ .page-template-builder-fullwidth-std .site-content {
25
+ padding: 0;
26
+ }
27
+ .page-template-builder-fullwidth header#masthead,
28
+ .page-template-builder-fullwidth footer#colophon,
29
+ .page-template-builder-fullwidth-std header#masthead,
30
+ .page-template-builder-fullwidth-std footer#colophon {
31
+ margin: 0 auto;
32
+ max-width: 1320px;
33
+ }
34
+ .page-template-builder-fullwidth .entry-content,
35
+ .page-template-builder-fullwidth-std .entry-content {
36
+ margin-right: auto;
37
+ margin-left: auto;
38
+ }
39
+ @media screen and (min-width: 56.875em) {
40
+ .admin-bar .anchor-menu {
41
+ top: 20px;
42
+ }
43
+ .admin-bar .anchor-menu-fixed.anchor-menu, .admin-bar .anchor-menu-fixed.elementor-widget-wp-widget-nav_menu {
44
+ top: 54px !important;
45
+ }
46
+ .page-template-builder-fullwidth .entry-content,
47
+ .page-template-builder-fullwidth-std .entry-content {
48
+ margin-right: auto;
49
+ margin-left: auto;
50
+ }
51
+ }
52
+ @media screen and (min-width: 44.375em) {
53
+ .page-template-builder-fullwidth .entry-content,
54
+ .page-template-builder-fullwidth-std .entry-content {
55
+ margin-right: auto;;
56
+ }
57
+ }
58
+ ';
59
+ wp_add_inline_style( 'twentysixteen-style', $style );
vendor/codeinwp/full-width-page-templates/themes/twentythirteen/inline-style.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Twenty Thirteen theme */
3
+ $thirteen = '
4
+ .page-template-builder-fullwidth-std .elementor-page .site {
5
+ max-width: 100%;
6
+ overflow: hidden;
7
+ }
8
+ .page-template-builder-fullwidth-std .site-header {
9
+ max-width: 100%;
10
+ background-size: 3200px auto;
11
+ }
12
+ .page-template-builder-fullwidth-std .navbar {
13
+ max-width: 100%;
14
+ width: 100%;
15
+ }
16
+ ';
17
+ wp_add_inline_style( 'twentythirteen-style', $thirteen );
vendor/codeinwp/full-width-page-templates/themes/vantage/inline-style.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Vantage theme */
3
+ $vantage = '
4
+ .page-template-builder-fullwidth-std #main {
5
+ padding: 0;
6
+ max-width: 100%;
7
+ }
8
+
9
+ .page-template-builder-fullwidth-std.responsive.layout-full #main .full-container {
10
+ max-width: 100%;
11
+ margin-left: auto;
12
+ margin-right: auto;
13
+ }
14
+ ';
15
+ wp_add_inline_style( 'vantage-style', $vantage );
vendor/codeinwp/full-width-page-templates/themes/virtue/inline-style.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* Support for the Virtue theme */
3
+ $virtue = '.page-template-builder-fullwidth .headerclass,
4
+ .page-template-builder-fullwidth .footerclass {
5
+ display: none;
6
+ }
7
+ .page-template-builder-fullwidth .contentclass,
8
+ .page-template-builder-fullwidth-std .contentclass {
9
+ padding-bottom: 0;
10
+ }
11
+ .page-template-builder-fullwidth .contentclass {
12
+ padding-top: 0;
13
+ }';
14
+ wp_add_inline_style( 'kadence_theme', $virtue );
vendor/codeinwp/themeisle-content-forms/class-themeisle-content-forms-elementor.php CHANGED
@@ -246,7 +246,11 @@ class ElementorWidget extends \Elementor\Widget_Base {
246
  $controls = $this->forms_config['controls'];
247
 
248
  foreach ( $controls as $control_name => $control ) {
249
- $control_value = $settings[ $control_name ];
 
 
 
 
250
  if ( isset( $control['required'] ) && $control['required'] && empty( $control_value ) ) { ?>
251
  <div class="content-forms-required">
252
  <?php
246
  $controls = $this->forms_config['controls'];
247
 
248
  foreach ( $controls as $control_name => $control ) {
249
+ $control_value = '';
250
+
251
+ if ( isset( $settings[ $control_name ] ) ) {
252
+ $control_value = $settings[ $control_name ];
253
+ }
254
  if ( isset( $control['required'] ) && $control['required'] && empty( $control_value ) ) { ?>
255
  <div class="content-forms-required">
256
  <?php
vendor/codeinwp/themeisle-content-forms/composer.json CHANGED
@@ -1,5 +1,6 @@
1
  {
2
  "name": "codeinwp/themeisle-content-forms",
 
3
  "description": "ThemeIsle Content Forms ",
4
  "keywords": [
5
  "wordpress"
1
  {
2
  "name": "codeinwp/themeisle-content-forms",
3
+ "version": "1.0.0",
4
  "description": "ThemeIsle Content Forms ",
5
  "keywords": [
6
  "wordpress"
vendor/codeinwp/themeisle-content-forms/load.php CHANGED
@@ -59,7 +59,15 @@ if ( ! function_exists( 'themeisle_content_forms_register_public_assets' ) ) :
59
  * Also, localize REST params
60
  */
61
  function themeisle_content_forms_register_public_assets() {
62
- wp_register_script( 'content-forms', plugins_url( '/assets/content-forms.js', __FILE__ ), array( 'jquery' ) );
 
 
 
 
 
 
 
 
63
 
64
  wp_localize_script( 'content-forms', 'contentFormsSettings', array(
65
  'restUrl' => esc_url_raw( rest_url() . 'content-forms/v1/' ),
@@ -79,7 +87,7 @@ if ( ! function_exists( 'themeisle_content_forms_register_public_assets' ) ) :
79
  * to this filter `themeisle_content_forms_register_default_style`.
80
  */
81
  if ( true === apply_filters( 'themeisle_content_forms_register_default_style', true ) ) {
82
- wp_register_style( 'content-forms', plugins_url( '/assets/content-forms.css', __FILE__ ), array() );
83
  }
84
  }
85
  endif;
59
  * Also, localize REST params
60
  */
61
  function themeisle_content_forms_register_public_assets() {
62
+ $version = null; // a null version will go for a WordPress core version
63
+
64
+ $package = json_decode( file_get_contents( dirname( __FILE__ ) . '/composer.json' ) );
65
+
66
+ if ( isset( $package->version ) ) {
67
+ $version = $package->version;
68
+ }
69
+
70
+ wp_register_script( 'content-forms', plugins_url( '/assets/content-forms.js', __FILE__ ), array( 'jquery' ), $version );
71
 
72
  wp_localize_script( 'content-forms', 'contentFormsSettings', array(
73
  'restUrl' => esc_url_raw( rest_url() . 'content-forms/v1/' ),
87
  * to this filter `themeisle_content_forms_register_default_style`.
88
  */
89
  if ( true === apply_filters( 'themeisle_content_forms_register_default_style', true ) ) {
90
+ wp_register_style( 'content-forms', plugins_url( '/assets/content-forms.css', __FILE__ ), array(), $version );
91
  }
92
  }
93
  endif;
vendor/composer/autoload_files.php CHANGED
@@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  '957c51f8f334b5ea3be310bfb8b3492c' => $vendorDir . '/codeinwp/themeisle-sdk/load.php',
 
10
  '7b1f4385ddfc86d120fe4380e8cb0fa6' => $vendorDir . '/codeinwp/themeisle-content-forms/load.php',
11
  '4577ab960be90dedc8f8512147cf356d' => $vendorDir . '/codeinwp/themeisle-sdk/load.php',
12
  );
7
 
8
  return array(
9
  '957c51f8f334b5ea3be310bfb8b3492c' => $vendorDir . '/codeinwp/themeisle-sdk/load.php',
10
+ '62bc7c35996f19a64625f7ff3ba2fb5e' => $vendorDir . '/codeinwp/full-width-page-templates/load.php',
11
  '7b1f4385ddfc86d120fe4380e8cb0fa6' => $vendorDir . '/codeinwp/themeisle-content-forms/load.php',
12
  '4577ab960be90dedc8f8512147cf356d' => $vendorDir . '/codeinwp/themeisle-sdk/load.php',
13
  );
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit17acd3e2aff2bdc77d013775d913f8f5
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire17acd3e2aff2bdc77d013775d913f8f5($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire17acd3e2aff2bdc77d013775d913f8f5($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 ComposerAutoloaderInit5ee7f5701d9ac5feb4106ebe798a32bb
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit5ee7f5701d9ac5feb4106ebe798a32bb', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit5ee7f5701d9ac5feb4106ebe798a32bb', '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
+ composerRequire5ee7f5701d9ac5feb4106ebe798a32bb($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire5ee7f5701d9ac5feb4106ebe798a32bb($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
vendor/composer/installed.json CHANGED
@@ -39,6 +39,43 @@
39
  "wordpress"
40
  ]
41
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  {
43
  "name": "codeinwp/themeisle-content-forms",
44
  "version": "dev-master",
@@ -46,15 +83,15 @@
46
  "source": {
47
  "type": "git",
48
  "url": "https://github.com/Codeinwp/themeisle-content-forms.git",
49
- "reference": "7c5e9bc9267041b4b0ff6425d977006f4ddc1a23"
50
  },
51
  "dist": {
52
  "type": "zip",
53
- "url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/7c5e9bc9267041b4b0ff6425d977006f4ddc1a23",
54
- "reference": "7c5e9bc9267041b4b0ff6425d977006f4ddc1a23",
55
  "shasum": ""
56
  },
57
- "time": "2018-01-15 13:10:19",
58
  "type": "library",
59
  "installation-source": "dist",
60
  "autoload": {
39
  "wordpress"
40
  ]
41
  },
42
+ {
43
+ "name": "codeinwp/full-width-page-templates",
44
+ "version": "dev-master",
45
+ "version_normalized": "9999999-dev",
46
+ "source": {
47
+ "type": "git",
48
+ "url": "https://github.com/Codeinwp/full-width-page-templates.git",
49
+ "reference": "aa5d8e96e2b65aef9816f747bfc05c37bd37292c"
50
+ },
51
+ "dist": {
52
+ "type": "zip",
53
+ "url": "https://api.github.com/repos/Codeinwp/full-width-page-templates/zipball/aa5d8e96e2b65aef9816f747bfc05c37bd37292c",
54
+ "reference": "aa5d8e96e2b65aef9816f747bfc05c37bd37292c",
55
+ "shasum": ""
56
+ },
57
+ "time": "2018-01-17 13:44:31",
58
+ "type": "library",
59
+ "installation-source": "dist",
60
+ "autoload": {
61
+ "files": [
62
+ "load.php"
63
+ ]
64
+ },
65
+ "notification-url": "https://packagist.org/downloads/",
66
+ "license": [
67
+ "GPL-2.0+"
68
+ ],
69
+ "authors": [
70
+ {
71
+ "name": "ThemeIsle team",
72
+ "email": "friends@themeisle.com",
73
+ "homepage": "https://themeisle.com"
74
+ }
75
+ ],
76
+ "description": "A WordPress library to create full width page templates.",
77
+ "homepage": "https://github.com/Codeinwp/full-width-page-templates"
78
+ },
79
  {
80
  "name": "codeinwp/themeisle-content-forms",
81
  "version": "dev-master",
83
  "source": {
84
  "type": "git",
85
  "url": "https://github.com/Codeinwp/themeisle-content-forms.git",
86
+ "reference": "8f1df80e4bfde5335a27ae987e4652e7b5fd202c"
87
  },
88
  "dist": {
89
  "type": "zip",
90
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/8f1df80e4bfde5335a27ae987e4652e7b5fd202c",
91
+ "reference": "8f1df80e4bfde5335a27ae987e4652e7b5fd202c",
92
  "shasum": ""
93
  },
94
+ "time": "2018-01-16 17:44:48",
95
  "type": "library",
96
  "installation-source": "dist",
97
  "autoload": {