Orbit Fox by ThemeIsle - Version 2.0.5

Version Description

  • 2017-09-12
Download this release

Release Info

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

Code changes from version 2.0.4 to 2.0.5

CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
 
 
 
 
 
2
  ### v2.0.4 - 2017-09-11
3
  **Changes:**
4
  * Adds PHP minimum requirement.
1
 
2
+ ### v2.0.5 - 2017-09-12
3
+ **Changes:**
4
+ * Added new Ribbon and Clients Bar sections in Hestia
5
+
6
  ### v2.0.4 - 2017-09-11
7
  **Changes:**
8
  * Adds PHP minimum requirement.
core/assets/css/orbit-fox-admin.css CHANGED
@@ -8,7 +8,7 @@
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
- Version: 2.0.4
12
  */
13
 
14
  /* Document
8
  * Extends Spectre.css Library
9
  */
10
  /*
11
+ Version: 2.0.5
12
  */
13
 
14
  /* Document
core/includes/class-orbit-fox.php CHANGED
@@ -68,7 +68,7 @@ class Orbit_Fox {
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'orbit-fox';
71
- $this->version = '2.0.4';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'orbit-fox';
71
+ $this->version = '2.0.5';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
obfx_modules/companion-legacy/inc/hestia/functions.php CHANGED
@@ -10,51 +10,50 @@
10
  * Include sections from Companion plugin
11
  */
12
  function themeisle_hestia_require() {
13
-
14
  if ( function_exists( 'hestia_setup_theme' ) ) {
 
 
 
 
 
 
 
 
 
 
 
15
 
16
- // Require Zerif > Hestia content importer if it exists.
17
- $zerif_importer_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/features/import-zerif-content.php';
18
- if ( file_exists( $zerif_importer_path ) ) {
19
- require_once( $zerif_importer_path );
20
- }
21
-
22
- // Require Hestia Features section and customizer settings.
23
- $features_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/features/feature-features-section.php';
24
- $customizer_features_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/sections/hestia-features-section.php';
25
- if ( file_exists( $features_path ) ) {
26
- require_once( $features_path );
27
- }
28
- if ( file_exists( $customizer_features_path ) ) {
29
- require_once( $customizer_features_path );
30
- }
31
-
32
- // Require Hestia Testimonials section and customizer settings.
33
- $testimonials_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/features/feature-testimonials-section.php';
34
- $customizer_testimonials_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/sections/hestia-testimonials-section.php';
35
- if ( file_exists( $testimonials_path ) ) {
36
- require_once( $testimonials_path );
37
- }
38
- if ( file_exists( $customizer_testimonials_path ) ) {
39
- require_once( $customizer_testimonials_path );
40
- }
41
 
42
- // Require Hestia Team section and customizer settings.
43
- $team_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/features/feature-team-section.php';
44
- $customizer_team_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/sections/hestia-team-section.php';
45
- if ( file_exists( $team_path ) ) {
46
- require_once( $team_path );
47
- }
48
- if ( file_exists( $customizer_team_path ) ) {
49
- require_once( $customizer_team_path );
50
- }
 
 
 
 
 
 
 
51
 
52
- // Require Hestia Customizer extension.
53
- $customizer_path = THEMEISLE_COMPANION_PATH . 'hestia/inc/customizer.php';
54
- if ( file_exists( $customizer_path ) ) {
55
- require_once( $customizer_path );
 
 
 
 
 
 
 
56
  }
57
- }// End if().
58
  }
59
 
60
  /**
10
  * Include sections from Companion plugin
11
  */
12
  function themeisle_hestia_require() {
 
13
  if ( function_exists( 'hestia_setup_theme' ) ) {
14
+ $sections_paths = apply_filters( 'themeisle_companion_hestia_sections',array(
15
+ 'hestia/inc/features/import-zerif-content.php',
16
+ 'hestia/inc/sections/hestia-features-section.php',
17
+ 'hestia/inc/sections/hestia-testimonials-section.php',
18
+ 'hestia/inc/sections/hestia-team-section.php',
19
+ 'hestia/inc/sections/hestia-ribbon-section.php',
20
+ 'hestia/inc/sections/hestia-clients-bar-section.php',
21
+ ) );
22
+ themeisle_hestia_require_files( $sections_paths );
23
+ }
24
+ }
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ /**
28
+ * Include customizer controls in customizer
29
+ */
30
+ function themeisle_hestia_load_controls() {
31
+ if ( function_exists( 'hestia_setup_theme' ) ) {
32
+ $features_paths = apply_filters( 'themeisle_companion_hestia_controls',array(
33
+ 'hestia/inc/features/feature-features-section.php',
34
+ 'hestia/inc/features/feature-testimonials-section.php',
35
+ 'hestia/inc/features/feature-team-section.php',
36
+ 'hestia/inc/features/feature-ribbon-section.php',
37
+ 'hestia/inc/features/feature-clients-bar-section.php',
38
+ 'hestia/inc/customizer.php',
39
+ ) );
40
+ themeisle_hestia_require_files( $features_paths );
41
+ }
42
+ }
43
 
44
+ /**
45
+ * This function iterates thorough an array of file paths, checks if the file exist and if it does, it require the
46
+ * file in plugin.
47
+ *
48
+ * @param array $array Array of files to require.
49
+ */
50
+ function themeisle_hestia_require_files( $array ) {
51
+ foreach ( $array as $path ) {
52
+ $file_path = trailingslashit( THEMEISLE_COMPANION_PATH ) . $path;
53
+ if ( file_exists( $file_path ) ) {
54
+ require_once( $file_path );
55
  }
56
+ }
57
  }
58
 
59
  /**
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-clients-bar-section.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Customizer functionality for the Clients bar section.
4
+ *
5
+ * @package Hestia
6
+ * @since Hestia 1.1.47
7
+ */
8
+
9
+ if ( ! function_exists( 'hestia_clients_bar_customize_register' ) ) :
10
+ /**
11
+ * Hook controls for Clients bar section to Customizer.
12
+ *
13
+ * @since Hestia 1.0
14
+ * @modified 1.1.47
15
+ */
16
+ function hestia_clients_bar_customize_register( $wp_customize ) {
17
+
18
+ $selective_refresh = isset( $wp_customize->selective_refresh ) ? true : false;
19
+ $wp_customize->add_section(
20
+ 'hestia_clients_bar', array(
21
+ 'title' => esc_html__( 'Clients Bar', 'themeisle-companion' ),
22
+ 'panel' => 'hestia_frontpage_sections',
23
+ 'priority' => apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' ),
24
+ )
25
+ );
26
+
27
+ $wp_customize->add_setting(
28
+ 'hestia_clients_bar_hide', array(
29
+ 'sanitize_callback' => 'hestia_sanitize_checkbox',
30
+ 'default' => true,
31
+ )
32
+ );
33
+
34
+ $wp_customize->add_control(
35
+ 'hestia_clients_bar_hide', array(
36
+ 'type' => 'checkbox',
37
+ 'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
38
+ 'section' => 'hestia_clients_bar',
39
+ 'priority' => 1,
40
+ )
41
+ );
42
+
43
+ if ( class_exists( 'Hestia_Repeater' ) ) {
44
+ $wp_customize->add_setting(
45
+ 'hestia_clients_bar_content', array(
46
+ 'sanitize_callback' => 'hestia_repeater_sanitize',
47
+ 'transport' => $selective_refresh ? 'postMessage' : 'refresh',
48
+ )
49
+ );
50
+
51
+ $wp_customize->add_control(
52
+ new Hestia_Repeater(
53
+ $wp_customize, 'hestia_clients_bar_content', array(
54
+ 'label' => esc_html__( 'Clients Bar Content', 'themeisle-companion' ),
55
+ 'section' => 'hestia_clients_bar',
56
+ 'priority' => 5,
57
+ 'add_field_label' => esc_html__( 'Add new client', 'themeisle-companion' ),
58
+ 'item_name' => esc_html__( 'Clients', 'themeisle-companion' ),
59
+ 'customizer_repeater_image_control' => true,
60
+ 'customizer_repeater_link_control' => true,
61
+ )
62
+ )
63
+ );
64
+ }
65
+ }
66
+ add_action( 'customize_register', 'hestia_clients_bar_customize_register' );
67
+ endif;
68
+
69
+ /**
70
+ * Add selective refresh for clients bar section controls.
71
+ *
72
+ * @param WP_Customize_Manager $wp_customize Theme Customizer object.
73
+ * @since 1.1.47
74
+ * @access public
75
+ */
76
+ function hestia_register_clients_bar_partials( $wp_customize ) {
77
+ // Abort if selective refresh is not available.
78
+ if ( ! isset( $wp_customize->selective_refresh ) ) {
79
+ return;
80
+ }
81
+ $wp_customize->selective_refresh->add_partial(
82
+ 'hestia_clients_bar_content', array(
83
+ 'selector' => '.hestia-clients-bar',
84
+ 'container_inclusive' => true,
85
+ 'render_callback' => 'hestia_clients_bar',
86
+ )
87
+ );
88
+ }
89
+ add_action( 'customize_register', 'hestia_register_clients_bar_partials' );
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-ribbon-section.php ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Customizer functionality for the Ribbon section.
4
+ *
5
+ * @package Hestia
6
+ * @since 1.1.47
7
+ */
8
+
9
+
10
+ if ( ! function_exists( 'hestia_ribbon_customize_register' ) ) :
11
+
12
+ /**
13
+ * Hook controls for Ribbon section to Customizer.
14
+ *
15
+ * @param WP_Customize_Manager $wp_customize Customizer manager.
16
+ * @since 1.1.47
17
+ */
18
+ function hestia_ribbon_customize_register( $wp_customize ) {
19
+ $selective_refresh = isset( $wp_customize->selective_refresh ) ? true : false;
20
+ $wp_customize->add_section(
21
+ 'hestia_ribbon', array(
22
+ 'title' => esc_html__( 'Ribbon', 'themeisle-companion' ),
23
+ 'panel' => 'hestia_frontpage_sections',
24
+ 'priority' => apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' ),
25
+ )
26
+ );
27
+
28
+ $wp_customize->add_setting(
29
+ 'hestia_ribbon_hide', array(
30
+ 'sanitize_callback' => 'hestia_sanitize_checkbox',
31
+ 'default' => true,
32
+ )
33
+ );
34
+
35
+ $wp_customize->add_control(
36
+ 'hestia_ribbon_hide', array(
37
+ 'type' => 'checkbox',
38
+ 'label' => esc_html__( 'Disable section', 'themeisle-companion' ),
39
+ 'section' => 'hestia_ribbon',
40
+ 'priority' => 1,
41
+ )
42
+ );
43
+
44
+ $default = ( current_user_can( 'edit_theme_options' ) ? get_template_directory_uri() . '/assets/img/contact.jpg' : '' );
45
+ $wp_customize->add_setting(
46
+ 'hestia_ribbon_background', array(
47
+ 'sanitize_callback' => 'esc_url_raw',
48
+ 'default' => $default,
49
+ 'transport' => $selective_refresh ? 'postMessage' : 'refresh',
50
+ )
51
+ );
52
+
53
+ $wp_customize->add_control(
54
+ new WP_Customize_Image_Control(
55
+ $wp_customize, 'hestia_ribbon_background', array(
56
+ 'label' => esc_html__( 'Background Image', 'themeisle-companion' ),
57
+ 'section' => 'hestia_ribbon',
58
+ 'priority' => 5,
59
+ )
60
+ )
61
+ );
62
+
63
+ $default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe to our Newsletter', 'themeisle-companion' ) : false );
64
+ $wp_customize->add_setting(
65
+ 'hestia_ribbon_text', array(
66
+ 'sanitize_callback' => 'sanitize_text_field',
67
+ 'default' => $default,
68
+ 'transport' => $selective_refresh ? 'postMessage' : 'refresh',
69
+ )
70
+ );
71
+
72
+ $wp_customize->add_control(
73
+ 'hestia_ribbon_text', array(
74
+ 'type' => 'textarea',
75
+ 'label' => esc_html__( 'Text', 'themeisle-companion' ),
76
+ 'section' => 'hestia_ribbon',
77
+ 'priority' => 10,
78
+ )
79
+ );
80
+
81
+ $default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe', 'themeisle-companion' ) : false );
82
+ $wp_customize->add_setting(
83
+ 'hestia_ribbon_button_text', array(
84
+ 'sanitize_callback' => 'sanitize_text_field',
85
+ 'default' => $default,
86
+ 'transport' => $selective_refresh ? 'postMessage' : 'refresh',
87
+ )
88
+ );
89
+
90
+ $wp_customize->add_control(
91
+ 'hestia_ribbon_button_text', array(
92
+ 'label' => esc_html__( 'Button Text', 'themeisle-companion' ),
93
+ 'section' => 'hestia_ribbon',
94
+ 'priority' => 15,
95
+ )
96
+ );
97
+
98
+ $default = ( current_user_can( 'edit_theme_options' ) ? '#' : false );
99
+ $wp_customize->add_setting(
100
+ 'hestia_ribbon_button_url', array(
101
+ 'sanitize_callback' => 'esc_url_raw',
102
+ 'transport' => $selective_refresh ? 'postMessage' : 'refresh',
103
+ 'default' => $default,
104
+ )
105
+ );
106
+
107
+ $wp_customize->add_control(
108
+ 'hestia_ribbon_button_url', array(
109
+ 'label' => esc_html__( 'Link', 'themeisle-companion' ),
110
+ 'section' => 'hestia_ribbon',
111
+ 'priority' => 20,
112
+ )
113
+ );
114
+ }
115
+ add_action( 'customize_register', 'hestia_ribbon_customize_register' );
116
+
117
+ endif;
118
+
119
+
120
+ if ( ! function_exists( 'hestia_register_ribbon_partials' ) ) :
121
+
122
+ /**
123
+ * Add selective refresh for ribbon section controls.
124
+ *
125
+ * @param WP_Customize_Manager $wp_customize Theme Customizer object.
126
+ * @since 1.1.47
127
+ * @access public
128
+ */
129
+ function hestia_register_ribbon_partials( $wp_customize ) {
130
+ // Abort if selective refresh is not available.
131
+ if ( ! isset( $wp_customize->selective_refresh ) ) {
132
+ return;
133
+ }
134
+
135
+ $wp_customize->selective_refresh->add_partial(
136
+ 'hestia_ribbon_background', array(
137
+ 'selector' => '.hestia-ribbon-style',
138
+ 'container_inclusive' => true,
139
+ 'render_callback' => 'hestia_ribbon_background',
140
+ )
141
+ );
142
+
143
+ $wp_customize->selective_refresh->add_partial(
144
+ 'hestia_ribbon_text', array(
145
+ 'selector' => '.hestia-ribbon .hestia-title',
146
+ 'render_callback' => 'hestia_ribbon_text_callback',
147
+ )
148
+ );
149
+
150
+ $wp_customize->selective_refresh->add_partial(
151
+ 'hestia_ribbon_button_text', array(
152
+ 'selector' => '.hestia-subscribe-button',
153
+ 'render_callback' => 'hestia_ribbon_button_text_callback',
154
+ )
155
+ );
156
+ }
157
+
158
+ add_action( 'customize_register', 'hestia_register_ribbon_partials' );
159
+ endif;
160
+
161
+ /**
162
+ * Callback function for ribbon text selective refresh.
163
+ *
164
+ * @since 1.1.47
165
+ * @return string
166
+ */
167
+ function hestia_ribbon_text_callback() {
168
+ return get_theme_mod( 'hestia_ribbon_text' );
169
+ }
170
+
171
+ /**
172
+ * Callback function for ribbon button text selective refresh.
173
+ *
174
+ * @since 1.1.47
175
+ * @return string
176
+ */
177
+ function hestia_ribbon_button_text_callback() {
178
+ return get_theme_mod( 'hestia_ribbon_button_text' );
179
+ }
obfx_modules/companion-legacy/inc/hestia/inc/features/feature-testimonials-section.php CHANGED
@@ -20,7 +20,7 @@ if ( ! function_exists( 'hestia_testimonials_customize_register' ) ) :
20
  'hestia_testimonials', array(
21
  'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
22
  'panel' => 'hestia_frontpage_sections',
23
- 'priority' => apply_filters( 'hestia_section_priority', 40, 'hestia_testimonials' ),
24
  )
25
  );
26
 
20
  'hestia_testimonials', array(
21
  'title' => esc_html__( 'Testimonials', 'themeisle-companion' ),
22
  'panel' => 'hestia_frontpage_sections',
23
+ 'priority' => apply_filters( 'hestia_section_priority', 45, 'hestia_testimonials' ),
24
  )
25
  );
26
 
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-clients-bar-section.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Clients bar section for the homepage.
4
+ *
5
+ * @package Hestia
6
+ * @since Hestia 1.1.47
7
+ */
8
+
9
+ if ( ! function_exists( 'hestia_clients_bar' ) ) :
10
+
11
+ /**
12
+ * Clients bar section content.
13
+ *
14
+ * @since Hestia 1.1.47
15
+ */
16
+ function hestia_clients_bar() {
17
+ $hestia_clients_bar_hide = get_theme_mod( 'hestia_clients_bar_hide', true );
18
+ $hestia_clients_bar_content = get_theme_mod( 'hestia_clients_bar_content' );
19
+ if ( (bool) $hestia_clients_bar_hide === true || empty( $hestia_clients_bar_content ) ) {
20
+ return;
21
+ }
22
+
23
+ $hestia_clients_bar_content_decoded = json_decode( $hestia_clients_bar_content );
24
+ if ( empty( $hestia_clients_bar_content_decoded ) ) {
25
+ return;
26
+ }
27
+ ?>
28
+ <section class="hestia-clients-bar text-center">
29
+ <div class="container">
30
+ <div class="row">
31
+ <?php
32
+ $i = 1;
33
+ $array_length = sizeof( $hestia_clients_bar_content_decoded );
34
+ foreach ( $hestia_clients_bar_content_decoded as $client ) {
35
+ $image = ! empty( $client->image_url ) ? apply_filters( 'hestia_translate_single_string', $client->image_url, 'Clients bar section' ) : '';
36
+ $link = ! empty( $client->link ) ? apply_filters( 'hestia_translate_single_string', $client->link, 'Clients bar section' ) : '';
37
+
38
+ $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( preg_replace( '/-\d{1,4}x\d{1,4}/i', '', $image ) ) : '';
39
+ $alt_text = '';
40
+ if ( ! empty( $image_id ) ) {
41
+ $alt_text = 'alt="' . get_post_meta( $image_id, '_wp_attachment_image_alt', true ) . '"';
42
+ }
43
+
44
+ if ( ! empty( $image ) ) {
45
+ echo '<div class="col-md-3">';
46
+ if ( ! empty( $link ) ) {
47
+ echo '<a href="' . esc_url( $link ) . '">';
48
+ }
49
+ echo '<img src="' . esc_url( $image ) . '" ' . wp_kses_post( $alt_text ) . '>';
50
+ if ( ! empty( $link ) ) {
51
+ echo '</a>';
52
+ }
53
+ echo '</div>';
54
+ }
55
+
56
+ if ( $i % 4 == 0 && $i !== $array_length ) {
57
+ echo '</div><!-- /.row -->';
58
+ echo '<div class="row">';
59
+ }
60
+ $i++;
61
+ }
62
+ ?>
63
+ </div>
64
+ </div>
65
+ </section>
66
+ <?php
67
+ }
68
+
69
+ endif;
70
+ if ( function_exists( 'hestia_clients_bar' ) ) {
71
+ $section_priority = apply_filters( 'hestia_section_priority', 50, 'hestia_clients_bar' );
72
+ add_action( 'hestia_sections', 'hestia_clients_bar', absint( $section_priority ) );
73
+ if ( function_exists( 'hestia_features_register_strings' ) ) {
74
+ add_action( 'after_setup_theme', 'hestia_features_register_strings', 11 );
75
+ }
76
+ }
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-features-section.php CHANGED
@@ -45,25 +45,25 @@ if ( ! function_exists( 'hestia_features' ) ) :
45
 
46
  hestia_before_features_section_trigger();
47
  ?>
48
- <section class="features hestia-features" id="features" data-sorder="hestia_features">
49
  <?php hestia_before_features_section_content_trigger(); ?>
50
- <div class="<?php echo esc_attr( $class_to_add ); ?>">
51
  <?php hestia_top_features_section_content_trigger(); ?>
52
- <div class="row">
53
- <div class="col-md-8 col-md-offset-2">
54
  <?php if ( ! empty( $hestia_features_title ) || is_customize_preview() ) : ?>
55
- <h2 class="hestia-title"><?php echo esc_html( $hestia_features_title ); ?></h2>
56
  <?php endif; ?>
57
  <?php if ( ! empty( $hestia_features_subtitle ) || is_customize_preview() ) : ?>
58
- <h5 class="description"><?php echo esc_html( $hestia_features_subtitle ); ?></h5>
59
  <?php endif; ?>
60
- </div>
61
- </div>
62
  <?php hestia_features_content( $hestia_features_content ); ?>
63
  <?php hestia_bottom_features_section_content_trigger(); ?>
64
- </div>
65
  <?php hestia_after_features_section_content_trigger(); ?>
66
- </section>
67
  <?php
68
  hestia_after_features_section_trigger();
69
  }
@@ -80,8 +80,8 @@ endif;
80
  */
81
  function hestia_features_content( $hestia_features_content, $is_callback = false ) {
82
  if ( ! $is_callback ) {
83
- ?>
84
- <div class="hestia-features-content">
85
  <?php
86
  }
87
  if ( ! empty( $hestia_features_content ) ) :
@@ -99,45 +99,45 @@ function hestia_features_content( $hestia_features_content, $is_callback = false
99
  $color = ! empty( $features_item->color ) ? $features_item->color : '';
100
  $choice = ! empty( $features_item->choice ) ? $features_item->choice : 'customizer_repeater_icon';
101
  ?>
102
- <div class="col-md-4 feature-box">
103
- <div class="info hestia-info">
104
  <?php if ( ! empty( $link ) ) : ?>
105
- <a href="<?php echo esc_url( $link ); ?>">
106
  <?php
107
  endif;
108
 
109
- switch ( $choice ) {
110
- case 'customizer_repeater_image':
111
- if ( ! empty( $image ) ) {
112
- ?>
113
- <div class="card card-plain">
114
- <img src="<?php echo esc_url( $image ); ?>"/>
115
- </div>
116
  <?php
117
- }
118
- break;
119
- case 'customizer_repeater_icon':
120
- if ( ! empty( $icon ) ) {
121
- ?>
122
- <div class="icon" <?php echo ( ! empty( $color ) ? 'style="color:' . $color . '"' : '' ); ?>>
123
- <i class="fa <?php echo esc_html( $icon ); ?>"></i>
124
- </div>
125
  <?php
126
- }
127
- break;
128
- }
129
  ?>
130
  <?php if ( ! empty( $title ) ) : ?>
131
- <h4 class="info-title"><?php echo esc_html( $title ); ?></h4>
132
  <?php endif; ?>
133
  <?php if ( ! empty( $link ) ) : ?>
134
- </a>
135
  <?php endif; ?>
136
- <?php if ( ! empty( $text ) ) : ?>
137
- <p><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
138
  <?php endif; ?>
139
- </div>
140
- </div>
141
  <?php
142
  if ( $i % 3 == 0 ) {
143
  echo '</div><!-- /.row -->';
@@ -148,10 +148,10 @@ switch ( $choice ) {
148
  endforeach;
149
  echo '</div>';
150
  }// End if().
151
- endif;
152
  if ( ! $is_callback ) {
153
- ?>
154
- </div>
155
  <?php
156
  }
157
  }
45
 
46
  hestia_before_features_section_trigger();
47
  ?>
48
+ <section class="features hestia-features" id="features" data-sorder="hestia_features">
49
  <?php hestia_before_features_section_content_trigger(); ?>
50
+ <div class="<?php echo esc_attr( $class_to_add ); ?>">
51
  <?php hestia_top_features_section_content_trigger(); ?>
52
+ <div class="row">
53
+ <div class="col-md-8 col-md-offset-2">
54
  <?php if ( ! empty( $hestia_features_title ) || is_customize_preview() ) : ?>
55
+ <h2 class="hestia-title"><?php echo esc_html( $hestia_features_title ); ?></h2>
56
  <?php endif; ?>
57
  <?php if ( ! empty( $hestia_features_subtitle ) || is_customize_preview() ) : ?>
58
+ <h5 class="description"><?php echo esc_html( $hestia_features_subtitle ); ?></h5>
59
  <?php endif; ?>
60
+ </div>
61
+ </div>
62
  <?php hestia_features_content( $hestia_features_content ); ?>
63
  <?php hestia_bottom_features_section_content_trigger(); ?>
64
+ </div>
65
  <?php hestia_after_features_section_content_trigger(); ?>
66
+ </section>
67
  <?php
68
  hestia_after_features_section_trigger();
69
  }
80
  */
81
  function hestia_features_content( $hestia_features_content, $is_callback = false ) {
82
  if ( ! $is_callback ) {
83
+ ?>
84
+ <div class="hestia-features-content">
85
  <?php
86
  }
87
  if ( ! empty( $hestia_features_content ) ) :
99
  $color = ! empty( $features_item->color ) ? $features_item->color : '';
100
  $choice = ! empty( $features_item->choice ) ? $features_item->choice : 'customizer_repeater_icon';
101
  ?>
102
+ <div class="col-md-4 feature-box">
103
+ <div class="info hestia-info">
104
  <?php if ( ! empty( $link ) ) : ?>
105
+ <a href="<?php echo esc_url( $link ); ?>">
106
  <?php
107
  endif;
108
 
109
+ switch ( $choice ) {
110
+ case 'customizer_repeater_image':
111
+ if ( ! empty( $image ) ) {
112
+ ?>
113
+ <div class="card card-plain">
114
+ <img src="<?php echo esc_url( $image ); ?>"/>
115
+ </div>
116
  <?php
117
+ }
118
+ break;
119
+ case 'customizer_repeater_icon':
120
+ if ( ! empty( $icon ) ) {
121
+ ?>
122
+ <div class="icon" <?php echo ( ! empty( $color ) ? 'style="color:' . $color . '"' : '' ); ?>>
123
+ <i class="fa <?php echo esc_html( $icon ); ?>"></i>
124
+ </div>
125
  <?php
126
+ }
127
+ break;
128
+ }
129
  ?>
130
  <?php if ( ! empty( $title ) ) : ?>
131
+ <h4 class="info-title"><?php echo esc_html( $title ); ?></h4>
132
  <?php endif; ?>
133
  <?php if ( ! empty( $link ) ) : ?>
134
+ </a>
135
  <?php endif; ?>
136
+ <?php if ( ! empty( $text ) ) : ?>
137
+ <p><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
138
  <?php endif; ?>
139
+ </div>
140
+ </div>
141
  <?php
142
  if ( $i % 3 == 0 ) {
143
  echo '</div><!-- /.row -->';
148
  endforeach;
149
  echo '</div>';
150
  }// End if().
151
+ endif;
152
  if ( ! $is_callback ) {
153
+ ?>
154
+ </div>
155
  <?php
156
  }
157
  }
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-ribbon-section.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ribbon section for the homepage.
4
+ *
5
+ * @package Hestia
6
+ * @since Hestia 1.1.47
7
+ */
8
+
9
+ if ( ! function_exists( 'hestia_ribbon' ) ) :
10
+
11
+ /**
12
+ * Ribbon section content.
13
+ *
14
+ * @since 1.1.47
15
+ */
16
+ function hestia_ribbon() {
17
+
18
+ $hestia_ribbon_hide = get_theme_mod( 'hestia_ribbon_hide', true );
19
+ if ( (bool) $hestia_ribbon_hide === true ) {
20
+ return;
21
+ }
22
+ $default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe to our Newsletter', 'themeisle-companion' ) : false );
23
+ $hestia_ribbon_text = get_theme_mod( 'hestia_ribbon_text', $default );
24
+
25
+ $default = ( current_user_can( 'edit_theme_options' ) ? esc_html__( 'Subscribe', 'themeisle-companion' ) : false );
26
+ $hestia_ribbon_button_text = get_theme_mod( 'hestia_ribbon_button_text', $default );
27
+
28
+ $default = ( current_user_can( 'edit_theme_options' ) ? '#' : false );
29
+ $hestia_ribbon_button_url = get_theme_mod( 'hestia_ribbon_button_url', $default );
30
+ ?>
31
+ <section class="hestia-ribbon section section-image" >
32
+ <?php hestia_ribbon_background(); ?>
33
+ <div class="container">
34
+ <div class="row hestia-xs-text-center hestia-like-table">
35
+ <div class="col-md-8">
36
+ <?php if ( ! empty( $hestia_ribbon_text ) ) { ?>
37
+ <h2 class="hestia-title" style="margin:0;">
38
+ <?php echo wp_kses_post( $hestia_ribbon_text ); ?>
39
+ </h2>
40
+ <?php
41
+ }
42
+ ?>
43
+ </div>
44
+ <div class="col-md-4 text-center">
45
+ <?php if ( ! empty( $hestia_ribbon_button_text ) && ! empty( $hestia_ribbon_button_url ) ) { ?>
46
+ <a href="<?php echo esc_url( $hestia_ribbon_button_url ); ?>" class="btn btn-md btn-primary hestia-subscribe-button">
47
+ <?php echo wp_kses_post( $hestia_ribbon_button_text ); ?>
48
+ </a>
49
+ <?php
50
+ }
51
+ ?>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </section>
56
+ <?php
57
+ }
58
+ endif;
59
+
60
+ /**
61
+ * Callback function for ribbon background selective refresh.
62
+ *
63
+ * @since 1.1.47
64
+ */
65
+ function hestia_ribbon_background() {
66
+ $default = ( current_user_can( 'edit_theme_options' ) ? get_template_directory_uri() . '/assets/img/contact.jpg' : false );
67
+ $hestia_ribbon_background = get_theme_mod( 'hestia_ribbon_background', $default );
68
+ ?>
69
+ <div class="hestia-ribbon-style">
70
+ <style>
71
+ <?php
72
+ if ( ! empty( $hestia_ribbon_background ) ) {
73
+ echo '.hestia-ribbon{ background-image: url(\'' . esc_url( $hestia_ribbon_background ) . '\'); }';
74
+ }
75
+ ?>
76
+ </style>
77
+ </div>
78
+ <?php
79
+ }
80
+
81
+ if ( function_exists( 'hestia_ribbon' ) ) {
82
+ $section_priority = apply_filters( 'hestia_section_priority', 35, 'hestia_ribbon' );
83
+ add_action( 'hestia_sections', 'hestia_ribbon', absint( $section_priority ) );
84
+ }
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-team-section.php CHANGED
@@ -45,25 +45,25 @@ if ( ! function_exists( 'hestia_team' ) ) :
45
  }
46
  hestia_before_team_section_trigger();
47
  ?>
48
- <section class="team hestia-team" id="team" data-sorder="hestia_team">
49
  <?php hestia_before_team_section_content_trigger(); ?>
50
- <div class="<?php echo esc_attr( $class_to_add ); ?>">
51
  <?php hestia_top_team_section_content_trigger(); ?>
52
- <div class="row">
53
- <div class="col-md-8 col-md-offset-2 text-center">
54
  <?php if ( ! empty( $hestia_team_title ) || is_customize_preview() ) : ?>
55
- <h2 class="hestia-title"><?php echo esc_html( $hestia_team_title ); ?></h2>
56
  <?php endif; ?>
57
  <?php if ( ! empty( $hestia_team_subtitle ) || is_customize_preview() ) : ?>
58
- <h5 class="description"><?php echo esc_html( $hestia_team_subtitle ); ?></h5>
59
  <?php endif; ?>
60
- </div>
61
- </div>
62
  <?php hestia_team_content( $hestia_team_content ); ?>
63
  <?php hestia_bottom_team_section_content_trigger(); ?>
64
- </div>
65
  <?php hestia_after_team_section_content_trigger(); ?>
66
- </section>
67
  <?php
68
  hestia_after_team_section_trigger();
69
  }
@@ -80,100 +80,100 @@ endif;
80
  */
81
  function hestia_team_content( $hestia_team_content, $is_callback = false ) {
82
  if ( ! $is_callback ) {
83
- ?>
84
- <div class="hestia-team-content">
85
  <?php
86
  }
87
  ?>
88
- <?php
89
- if ( ! empty( $hestia_team_content ) ) :
90
- $hestia_team_content = json_decode( $hestia_team_content );
91
 
92
- if ( ! empty( $hestia_team_content ) ) {
93
 
94
- $i = 1;
95
- echo '<div class="row">';
96
- foreach ( $hestia_team_content as $team_item ) :
97
- $image = ! empty( $team_item->image_url ) ? apply_filters( 'hestia_translate_single_string', $team_item->image_url, 'Team section' ) : '';
98
- $title = ! empty( $team_item->title ) ? apply_filters( 'hestia_translate_single_string', $team_item->title, 'Team section' ) : '';
99
- $subtitle = ! empty( $team_item->subtitle ) ? apply_filters( 'hestia_translate_single_string', $team_item->subtitle, 'Team section' ) : '';
100
- $text = ! empty( $team_item->text ) ? apply_filters( 'hestia_translate_single_string', $team_item->text, 'Team section' ) : '';
101
- $link = ! empty( $team_item->link ) ? apply_filters( 'hestia_translate_single_string', $team_item->link, 'Team section' ) : '';
102
- ?>
103
- <div class="col-md-6">
104
- <div class="card card-profile card-plain">
105
- <div class="col-md-5">
106
- <div class="card-image">
107
- <?php if ( ! empty( $image ) ) : ?>
108
- <?php if ( ! empty( $link ) ) : ?>
109
- <a href="<?php echo esc_url( $link ); ?>">
110
- <?php endif; ?>
111
- <img class="img"
112
- src="<?php echo esc_url( $image ); ?>"
113
- <?php
114
- if ( ! empty( $title ) ) :
115
- ?>
116
- alt="<?php echo esc_attr( $title ); ?>" title="<?php echo esc_attr( $title ); ?>" <?php endif; ?> />
117
- <?php if ( ! empty( $link ) ) : ?>
118
- </a>
119
- <?php endif; ?>
120
- <?php endif; ?>
121
- </div>
122
- </div>
123
- <div class="col-md-7">
124
- <div class="content">
125
- <?php if ( ! empty( $title ) ) : ?>
126
- <h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
127
- <?php endif; ?>
128
- <?php if ( ! empty( $subtitle ) ) : ?>
129
- <h6 class="category text-muted"><?php echo esc_html( $subtitle ); ?></h6>
130
  <?php endif; ?>
131
- <?php if ( ! empty( $text ) ) : ?>
132
- <p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
133
- <?php endif; ?>
134
- <?php
135
- if ( ! empty( $team_item->social_repeater ) ) :
136
- $icons = html_entity_decode( $team_item->social_repeater );
137
- $icons_decoded = json_decode( $icons, true );
138
- if ( ! empty( $icons_decoded ) ) :
139
  ?>
140
- <div class="footer">
141
- <?php
142
- foreach ( $icons_decoded as $value ) :
143
- $social_icon = ! empty( $value['icon'] ) ? apply_filters( 'hestia_translate_single_string', $value['icon'], 'Team section' ) : '';
144
- $social_link = ! empty( $value['link'] ) ? apply_filters( 'hestia_translate_single_string', $value['link'], 'Team section' ) : '';
145
- ?>
146
- <?php if ( ! empty( $social_icon ) ) : ?>
147
- <a href="<?php echo esc_url( $social_link ); ?>"
148
- class="btn btn-just-icon btn-simple">
149
- <i class="fa <?php echo esc_attr( $social_icon ); ?>"></i>
150
- </a>
151
- <?php endif; ?>
152
- <?php endforeach; ?>
153
- </div>
 
 
 
 
 
 
 
 
 
 
 
154
  <?php
155
- endif;
 
 
 
 
 
 
 
 
 
 
 
 
156
  endif;
157
- ?>
158
- </div>
159
- </div>
160
- </div>
161
- </div>
162
- <?php
163
- if ( $i % 2 == 0 ) {
164
- echo '</div><!-- /.row -->';
165
- echo '<div class="row">';
166
- }
167
- $i++;
168
- endforeach;
169
- echo '</div>';
170
- }// End if().
171
- endif;
172
- if ( ! $is_callback ) {
 
173
  ?>
174
- </div>
175
- <?php
176
- }
177
 
178
  }
179
 
45
  }
46
  hestia_before_team_section_trigger();
47
  ?>
48
+ <section class="team hestia-team" id="team" data-sorder="hestia_team">
49
  <?php hestia_before_team_section_content_trigger(); ?>
50
+ <div class="<?php echo esc_attr( $class_to_add ); ?>">
51
  <?php hestia_top_team_section_content_trigger(); ?>
52
+ <div class="row">
53
+ <div class="col-md-8 col-md-offset-2 text-center">
54
  <?php if ( ! empty( $hestia_team_title ) || is_customize_preview() ) : ?>
55
+ <h2 class="hestia-title"><?php echo esc_html( $hestia_team_title ); ?></h2>
56
  <?php endif; ?>
57
  <?php if ( ! empty( $hestia_team_subtitle ) || is_customize_preview() ) : ?>
58
+ <h5 class="description"><?php echo esc_html( $hestia_team_subtitle ); ?></h5>
59
  <?php endif; ?>
60
+ </div>
61
+ </div>
62
  <?php hestia_team_content( $hestia_team_content ); ?>
63
  <?php hestia_bottom_team_section_content_trigger(); ?>
64
+ </div>
65
  <?php hestia_after_team_section_content_trigger(); ?>
66
+ </section>
67
  <?php
68
  hestia_after_team_section_trigger();
69
  }
80
  */
81
  function hestia_team_content( $hestia_team_content, $is_callback = false ) {
82
  if ( ! $is_callback ) {
83
+ ?>
84
+ <div class="hestia-team-content">
85
  <?php
86
  }
87
  ?>
88
+ <?php
89
+ if ( ! empty( $hestia_team_content ) ) :
90
+ $hestia_team_content = json_decode( $hestia_team_content );
91
 
92
+ if ( ! empty( $hestia_team_content ) ) {
93
 
94
+ $i = 1;
95
+ echo '<div class="row">';
96
+ foreach ( $hestia_team_content as $team_item ) :
97
+ $image = ! empty( $team_item->image_url ) ? apply_filters( 'hestia_translate_single_string', $team_item->image_url, 'Team section' ) : '';
98
+ $title = ! empty( $team_item->title ) ? apply_filters( 'hestia_translate_single_string', $team_item->title, 'Team section' ) : '';
99
+ $subtitle = ! empty( $team_item->subtitle ) ? apply_filters( 'hestia_translate_single_string', $team_item->subtitle, 'Team section' ) : '';
100
+ $text = ! empty( $team_item->text ) ? apply_filters( 'hestia_translate_single_string', $team_item->text, 'Team section' ) : '';
101
+ $link = ! empty( $team_item->link ) ? apply_filters( 'hestia_translate_single_string', $team_item->link, 'Team section' ) : '';
102
+ ?>
103
+ <div class="col-md-6">
104
+ <div class="card card-profile card-plain">
105
+ <div class="col-md-5">
106
+ <div class="card-image">
107
+ <?php if ( ! empty( $image ) ) : ?>
108
+ <?php if ( ! empty( $link ) ) : ?>
109
+ <a href="<?php echo esc_url( $link ); ?>">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  <?php endif; ?>
111
+ <img class="img"
112
+ src="<?php echo esc_url( $image ); ?>"
113
+ <?php
114
+ if ( ! empty( $title ) ) :
 
 
 
 
115
  ?>
116
+ alt="<?php echo esc_attr( $title ); ?>" title="<?php echo esc_attr( $title ); ?>" <?php endif; ?> />
117
+ <?php if ( ! empty( $link ) ) : ?>
118
+ </a>
119
+ <?php endif; ?>
120
+ <?php endif; ?>
121
+ </div>
122
+ </div>
123
+ <div class="col-md-7">
124
+ <div class="content">
125
+ <?php if ( ! empty( $title ) ) : ?>
126
+ <h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
127
+ <?php endif; ?>
128
+ <?php if ( ! empty( $subtitle ) ) : ?>
129
+ <h6 class="category text-muted"><?php echo esc_html( $subtitle ); ?></h6>
130
+ <?php endif; ?>
131
+ <?php if ( ! empty( $text ) ) : ?>
132
+ <p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
133
+ <?php endif; ?>
134
+ <?php
135
+ if ( ! empty( $team_item->social_repeater ) ) :
136
+ $icons = html_entity_decode( $team_item->social_repeater );
137
+ $icons_decoded = json_decode( $icons, true );
138
+ if ( ! empty( $icons_decoded ) ) :
139
+ ?>
140
+ <div class="footer">
141
  <?php
142
+ foreach ( $icons_decoded as $value ) :
143
+ $social_icon = ! empty( $value['icon'] ) ? apply_filters( 'hestia_translate_single_string', $value['icon'], 'Team section' ) : '';
144
+ $social_link = ! empty( $value['link'] ) ? apply_filters( 'hestia_translate_single_string', $value['link'], 'Team section' ) : '';
145
+ ?>
146
+ <?php if ( ! empty( $social_icon ) ) : ?>
147
+ <a href="<?php echo esc_url( $social_link ); ?>"
148
+ class="btn btn-just-icon btn-simple">
149
+ <i class="fa <?php echo esc_attr( $social_icon ); ?>"></i>
150
+ </a>
151
+ <?php endif; ?>
152
+ <?php endforeach; ?>
153
+ </div>
154
+ <?php
155
  endif;
156
+ endif;
157
+ ?>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ <?php
163
+ if ( $i % 2 == 0 ) {
164
+ echo '</div><!-- /.row -->';
165
+ echo '<div class="row">';
166
+ }
167
+ $i++;
168
+ endforeach;
169
+ echo '</div>';
170
+ }// End if().
171
+ endif;
172
+ if ( ! $is_callback ) {
173
  ?>
174
+ </div>
175
+ <?php
176
+ }
177
 
178
  }
179
 
obfx_modules/companion-legacy/inc/hestia/inc/sections/hestia-testimonials-section.php CHANGED
@@ -44,25 +44,25 @@ if ( ! function_exists( 'hestia_testimonials' ) ) :
44
 
45
  hestia_before_testimonials_section_trigger();
46
  ?>
47
- <section class="testimonials hestia-testimonials" id="testimonials" data-sorder="hestia_testimonials">
48
  <?php hestia_before_testimonials_section_content_trigger(); ?>
49
- <div class="<?php echo esc_attr( $class_to_add ); ?>">
50
  <?php hestia_top_testimonials_section_content_trigger(); ?>
51
- <div class="row">
52
- <div class="col-md-8 col-md-offset-2 text-center">
53
  <?php if ( ! empty( $hestia_testimonials_title ) || is_customize_preview() ) : ?>
54
- <h2 class="hestia-title"><?php echo esc_html( $hestia_testimonials_title ); ?></h2>
55
  <?php endif; ?>
56
  <?php if ( ! empty( $hestia_testimonials_subtitle ) || is_customize_preview() ) : ?>
57
- <h5 class="description"><?php echo esc_html( $hestia_testimonials_subtitle ); ?></h5>
58
  <?php endif; ?>
59
- </div>
60
- </div>
61
  <?php hestia_testimonials_content( $hestia_testimonials_content ); ?>
62
  <?php hestia_bottom_testimonials_section_content_trigger(); ?>
63
- </div>
64
  <?php hestia_after_testimonials_section_content_trigger(); ?>
65
- </section>
66
  <?php
67
  hestia_after_testimonials_section_trigger();
68
  }
@@ -80,8 +80,8 @@ endif;
80
  function hestia_testimonials_content( $hestia_testimonials_content, $is_callback = false ) {
81
 
82
  if ( ! $is_callback ) {
83
- ?>
84
- <div class="hestia-testimonials-content">
85
  <?php
86
  }
87
  if ( ! empty( $hestia_testimonials_content ) ) :
@@ -96,37 +96,37 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
96
  $text = ! empty( $testimonial_item->text ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->text, 'Testimonials section' ) : '';
97
  $link = ! empty( $testimonial_item->link ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->link, 'Testimonials section' ) : '';
98
  ?>
99
- <div class="col-md-4">
100
- <div class="card card-testimonial card-plain">
101
  <?php if ( ! empty( $image ) ) : ?>
102
- <div class="card-avatar">
103
  <?php if ( ! empty( $link ) ) : ?>
104
- <a href="<?php echo esc_url( $link ); ?>">
105
  <?php endif; ?>
106
- <img class="img"
107
- src="<?php echo esc_url( $image ); ?>"
108
  <?php
109
  if ( ! empty( $title ) ) :
110
  ?>
111
- alt="<?php echo esc_attr( $title ); ?>" title="<?php echo esc_attr( $title ); ?>" <?php endif; ?> />
112
  <?php if ( ! empty( $link ) ) : ?>
113
- </a>
114
  <?php endif; ?>
115
- </div>
116
  <?php endif; ?>
117
- <div class="content">
118
  <?php if ( ! empty( $title ) ) : ?>
119
- <h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
120
  <?php endif; ?>
121
  <?php if ( ! empty( $subtitle ) ) : ?>
122
- <h6 class="category text-muted"><?php echo esc_html( $subtitle ); ?></h6>
123
  <?php endif; ?>
124
  <?php if ( ! empty( $text ) ) : ?>
125
- <p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
126
  <?php endif; ?>
127
- </div>
128
- </div>
129
- </div>
130
  <?php
131
  if ( $i % 3 == 0 ) {
132
  echo '</div><!-- /.row -->';
@@ -138,8 +138,8 @@ function hestia_testimonials_content( $hestia_testimonials_content, $is_callback
138
  }// End if().
139
  endif;
140
  if ( ! $is_callback ) {
141
- ?>
142
- </div>
143
  <?php
144
  }
145
  }
@@ -182,7 +182,7 @@ function hestia_get_testimonials_default() {
182
  }
183
 
184
  if ( function_exists( 'hestia_testimonials' ) ) {
185
- $section_priority = apply_filters( 'hestia_section_priority', 40, 'hestia_testimonials' );
186
  add_action( 'hestia_sections', 'hestia_testimonials', absint( $section_priority ) );
187
  if ( function_exists( 'hestia_testimonials_register_strings' ) ) {
188
  add_action( 'after_setup_theme', 'hestia_testimonials_register_strings', 11 );
44
 
45
  hestia_before_testimonials_section_trigger();
46
  ?>
47
+ <section class="testimonials hestia-testimonials" id="testimonials" data-sorder="hestia_testimonials">
48
  <?php hestia_before_testimonials_section_content_trigger(); ?>
49
+ <div class="<?php echo esc_attr( $class_to_add ); ?>">
50
  <?php hestia_top_testimonials_section_content_trigger(); ?>
51
+ <div class="row">
52
+ <div class="col-md-8 col-md-offset-2 text-center">
53
  <?php if ( ! empty( $hestia_testimonials_title ) || is_customize_preview() ) : ?>
54
+ <h2 class="hestia-title"><?php echo esc_html( $hestia_testimonials_title ); ?></h2>
55
  <?php endif; ?>
56
  <?php if ( ! empty( $hestia_testimonials_subtitle ) || is_customize_preview() ) : ?>
57
+ <h5 class="description"><?php echo esc_html( $hestia_testimonials_subtitle ); ?></h5>
58
  <?php endif; ?>
59
+ </div>
60
+ </div>
61
  <?php hestia_testimonials_content( $hestia_testimonials_content ); ?>
62
  <?php hestia_bottom_testimonials_section_content_trigger(); ?>
63
+ </div>
64
  <?php hestia_after_testimonials_section_content_trigger(); ?>
65
+ </section>
66
  <?php
67
  hestia_after_testimonials_section_trigger();
68
  }
80
  function hestia_testimonials_content( $hestia_testimonials_content, $is_callback = false ) {
81
 
82
  if ( ! $is_callback ) {
83
+ ?>
84
+ <div class="hestia-testimonials-content">
85
  <?php
86
  }
87
  if ( ! empty( $hestia_testimonials_content ) ) :
96
  $text = ! empty( $testimonial_item->text ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->text, 'Testimonials section' ) : '';
97
  $link = ! empty( $testimonial_item->link ) ? apply_filters( 'hestia_translate_single_string', $testimonial_item->link, 'Testimonials section' ) : '';
98
  ?>
99
+ <div class="col-md-4">
100
+ <div class="card card-testimonial card-plain">
101
  <?php if ( ! empty( $image ) ) : ?>
102
+ <div class="card-avatar">
103
  <?php if ( ! empty( $link ) ) : ?>
104
+ <a href="<?php echo esc_url( $link ); ?>">
105
  <?php endif; ?>
106
+ <img class="img"
107
+ src="<?php echo esc_url( $image ); ?>"
108
  <?php
109
  if ( ! empty( $title ) ) :
110
  ?>
111
+ alt="<?php echo esc_attr( $title ); ?>" title="<?php echo esc_attr( $title ); ?>" <?php endif; ?> />
112
  <?php if ( ! empty( $link ) ) : ?>
113
+ </a>
114
  <?php endif; ?>
115
+ </div>
116
  <?php endif; ?>
117
+ <div class="content">
118
  <?php if ( ! empty( $title ) ) : ?>
119
+ <h4 class="card-title"><?php echo esc_html( $title ); ?></h4>
120
  <?php endif; ?>
121
  <?php if ( ! empty( $subtitle ) ) : ?>
122
+ <h6 class="category text-muted"><?php echo esc_html( $subtitle ); ?></h6>
123
  <?php endif; ?>
124
  <?php if ( ! empty( $text ) ) : ?>
125
+ <p class="card-description"><?php echo wp_kses_post( html_entity_decode( $text ) ); ?></p>
126
  <?php endif; ?>
127
+ </div>
128
+ </div>
129
+ </div>
130
  <?php
131
  if ( $i % 3 == 0 ) {
132
  echo '</div><!-- /.row -->';
138
  }// End if().
139
  endif;
140
  if ( ! $is_callback ) {
141
+ ?>
142
+ </div>
143
  <?php
144
  }
145
  }
182
  }
183
 
184
  if ( function_exists( 'hestia_testimonials' ) ) {
185
+ $section_priority = apply_filters( 'hestia_section_priority', 45, 'hestia_testimonials' );
186
  add_action( 'hestia_sections', 'hestia_testimonials', absint( $section_priority ) );
187
  if ( function_exists( 'hestia_testimonials_register_strings' ) ) {
188
  add_action( 'after_setup_theme', 'hestia_testimonials_register_strings', 11 );
obfx_modules/companion-legacy/init.php CHANGED
@@ -171,6 +171,16 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
171
  themeisle_hestia_require();
172
  }
173
 
 
 
 
 
 
 
 
 
 
 
174
  /**
175
  * Wrapper method for themeisle_hestia_set_frontpage function call.
176
  *
@@ -211,6 +221,7 @@ class Companion_Legacy_OBFX_Module extends Orbit_Fox_Module_Abstract {
211
  if ( $this->is_hestia() ) {
212
  define( 'THEMEISLE_COMPANION_VERSION', '2.0.0' );
213
  $this->loader->add_action( 'after_setup_theme', $this, 'hestia_require' );
 
214
  $this->loader->add_action( 'after_switch_theme', $this, 'hestia_set_front_page' );
215
  }
216
  }
171
  themeisle_hestia_require();
172
  }
173
 
174
+ /**
175
+ * Wrapper method for themeisle_hestia_load_controls function call.
176
+ *
177
+ * @since 2.0.4
178
+ * @access public
179
+ */
180
+ public function hestia_require_customizer(){
181
+ themeisle_hestia_load_controls();
182
+ }
183
+
184
  /**
185
  * Wrapper method for themeisle_hestia_set_frontpage function call.
186
  *
221
  if ( $this->is_hestia() ) {
222
  define( 'THEMEISLE_COMPANION_VERSION', '2.0.0' );
223
  $this->loader->add_action( 'after_setup_theme', $this, 'hestia_require' );
224
+ $this->loader->add_action( 'customize_register', $this, 'hestia_require_customizer', 0 );
225
  $this->loader->add_action( 'after_switch_theme', $this, 'hestia_set_front_page' );
226
  }
227
  }
readme.txt CHANGED
@@ -77,6 +77,11 @@ Activating the Orbit Fox Companion plugin is just like any other plugin. If you'
77
  3. Screenshot 3. How reports module is looking
78
 
79
  == Changelog ==
 
 
 
 
 
80
  = 2.0.4 - 2017-09-11 =
81
 
82
  * Adds PHP minimum requirement.
77
  3. Screenshot 3. How reports module is looking
78
 
79
  == Changelog ==
80
+ = 2.0.5 - 2017-09-12 =
81
+
82
+ * Added new Ribbon and Clients Bar sections in Hestia
83
+
84
+
85
  = 2.0.4 - 2017-09-11 =
86
 
87
  * Adds PHP minimum requirement.
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.0.4
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.0.5
19
  * Author: Themeisle
20
  * Author URI: https://themeisle.com
21
  * License: GPL-2.0+
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit1625faf5e06189767bce528810016ff5::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit09996169acff5be738f4dd809b7e2e61
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire09996169acff5be738f4dd809b7e2e61($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire09996169acff5be738f4dd809b7e2e61($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 ComposerAutoloaderInit1625faf5e06189767bce528810016ff5
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit1625faf5e06189767bce528810016ff5', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit1625faf5e06189767bce528810016ff5', '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
+ composerRequire1625faf5e06189767bce528810016ff5($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire1625faf5e06189767bce528810016ff5($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;