first commit

This commit is contained in:
Roman Pyrih
2023-07-24 08:30:51 +02:00
commit c2e100a763
7128 changed files with 1622619 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,59 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* Breadcrumbs default view
* Parameters:
*
* @var array $items , array with pages ordered hierarchical
* $items = array(
* 0 => array(
* 'name' => 'Item name',
* 'url' => 'Item URL'
* )
* )
* Each $items array will contain additional information about item, e.g.:
* 'items' => array (
* 0 => array (
* 'name' => 'Homepage',
* 'type' => 'front_page',
* 'url' => 'http://yourdomain.com/',
* ),
* 1 => array (
* 'type' => 'taxonomy',
* 'name' => 'Uncategorized',
* 'id' => 1,
* 'url' => 'http://yourdomain.com/category/uncategorized/',
* 'taxonomy' => 'category',
* ),
* 2 => array (
* 'name' => 'Post Article',
* 'id' => 4781,
* 'post_type' => 'post',
* 'type' => 'post',
* 'url' => 'http://yourdomain.com/post-article/',
* ),
* ),
* @var string $separator , the separator symbol
*/
if ( ! empty( $items ) ) : ?>
<ol class="breadcrumb">
<?php for ( $i = 0; $i < count( $items ); $i ++ ) : ?>
<?php if ( $i == ( count( $items ) - 1 ) ) : ?>
<li class="last-item"><?php echo wp_kses_post( $items[ $i ]['name'] ); ?></li>
<?php elseif ( $i == 0 ) : ?>
<li class="first-item">
<?php if ( isset( $items[ $i ]['url'] ) ) : ?>
<a href="<?php echo esc_html( wp_kses_post( $items[ $i ]['url'] ) ); ?>"><?php echo wp_kses_post( $items[ $i ]['name'] ); ?></a></li>
<?php else : echo wp_kses_post( $items[ $i ]['name'] ); endif; ?>
<?php
else : ?>
<li class="<?php echo( $i - 1 ) ?>-item">
<?php if ( isset( $items[ $i ]['url'] ) ) : ?>
<a href="<?php echo esc_html( wp_kses_post( $items[ $i ]['url'] ) ); ?>"><?php echo wp_kses_post( $items[ $i ]['name'] ); ?></a></li>
<?php else : echo wp_kses_post( $items[ $i ]['name'] ); endif; ?>
<?php endif ?>
<?php endfor ?>
</ol>
<?php endif ?>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array();
/**
* Default item widths for all builders
*
* It is better to use fw_ext_builder_get_item_width() function to retrieve the item widths
* because it has a filter and users will be able to customize the widths for a specific builder
*
* @see fw_ext_builder_get_item_width()
* @since 1.2.0
*
* old $cfg['default_item_widths'] https://github.com/ThemeFuse/Unyson-Builder-Extension/issues/8
* https://github.com/ThemeFuse/Unyson-Builder-Extension/blob/v1.1.17/config.php#L13
*/
$cfg['grid.columns'] = array(
'1_6' => array(
'title' => '1/6',
'backend_class' => 'fw-col-sm-2',
'frontend_class' => 'col-xs-12 col-md-2',
),
'1_4' => array(
'title' => '1/4',
'backend_class' => 'fw-col-sm-3',
'frontend_class' => 'col-xs-12 col-sm-6 col-md-3',
),
'1_3' => array(
'title' => '1/3',
'backend_class' => 'fw-col-sm-4',
'frontend_class' => 'col-xs-12 col-sm-6 col-md-4',
),
'1_2' => array(
'title' => '1/2',
'backend_class' => 'fw-col-sm-6',
'frontend_class' => 'col-xs-12 col-sm-6',
),
'2_3' => array(
'title' => '2/3',
'backend_class' => 'fw-col-sm-8',
'frontend_class' => 'col-xs-12 col-md-8',
),
'3_4' => array(
'title' => '3/4',
'backend_class' => 'fw-col-sm-9',
'frontend_class' => 'col-xs-12 col-md-9',
),
'1_1' => array(
'title' => '1/1',
'backend_class' => 'fw-col-sm-12',
'frontend_class' => 'col-xs-12',
),
);
/**
* @since 1.2.0
*/
$cfg['grid.row.class'] = 'row';
/**
* @deprecated since 1.2.0
* if this is empty fw_ext_builder_get_item_width() will use $cfg['grid.columns']
*/
$cfg['default_item_widths'] = false;

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,189 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* The template for displaying single service
*
*/
get_header();
$pID = get_the_ID();
//no columns on single service page
$column_classes = fw_ext_extension_get_columns_classes( true );
//getting taxonomy name
$ext_departments_settings = fw()->extensions->get( 'departments' )->get_settings();
$taxonomy_name = $ext_departments_settings['taxonomy_name'];
$atts = fw_get_db_post_option(get_the_ID());
$shortcodes_extension = fw()->extensions->get( 'shortcodes' );
$unique_id = uniqid();
?>
<div id="content" class="<?php echo esc_attr( $column_classes['main_column_class'] ); ?>">
<?php
// Start the Loop.
while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class('row columns_padding_25'); ?>>
<div class="col-md-5">
<div class="vertical-item content-padding with_border rounded">
<?php if ( has_post_thumbnail() ) : ?>
<div class="item-media top_rounded overflow_hidden">
<?php
$full_image_src = wp_get_attachment_url( get_post_thumbnail_id( $pID ) );
the_post_thumbnail();
?>
</div>
<?php endif; //has_post_thumbnail ?>
<div class="item-content">
<h4>
<?php the_title(); ?>
</h4>
<?php the_excerpt(); ?>
</div>
<?php if ( ! empty( $atts['icons'] ) ) : ?>
<div class="item-content with_top_border">
<?php
if ( ! empty( $shortcodes_extension ) ) {
foreach ( $atts['icons'] as $icon ): ?>
<?php
//get teaser shortcode to render teasers inside a row
echo fw_ext( 'shortcodes' )->get_shortcode( 'icon' )->render( $icon );
?>
<?php endforeach;
}
?>
</div><!-- eof social icons -->
<?php endif; //social icons ?>
<?php if ( ! empty( $atts['social_icons'] ) ) : ?>
<div class="item-content with_top_border text-center">
<?php
//get icons-social shortcode to render icons in department item
$shortcodes_extension = fw()->extensions->get( 'shortcodes' );
if ( ! empty( $shortcodes_extension ) ) {
echo fw_ext( 'shortcodes' )->get_shortcode( 'icons_social' )->render( array( 'social_icons' => $atts['social_icons'] ) );
}
?>
</div><!-- eof social icons -->
<?php endif; //social icons ?>
</div><!-- eof .vertical-item -->
</div>
<!-- .col-md-5 -->
<div class="col-md-7">
<?php the_content(); ?>
<?php
//department meta tabs start
if (
! empty( $atts['history'] )
||
! empty( $atts['services'] )
||
! empty( json_decode($atts['form']['json'])[1] )
) :
$tab_num = 0;
?>
<div class="bootstrap-tabs topmargin_50 bottommargin_60">
<ul class="nav nav-tabs" role="tablist">
<?php
if ( ! empty( $atts['history'] ) ) :
?>
<li class="<?php echo ( $tab_num === 0 ) ? 'active' : '' ?>">
<a href="#tab-<?php echo esc_attr( $unique_id . '-' . $tab_num ); ?>" role="tab" data-toggle="tab">
<?php esc_html_e( 'History', 'solarify' ); ?>
</a>
</li>
<?php
$tab_num++;
endif; //history check
if ( ! empty( $atts['services'] ) ) :
?>
<li class="<?php echo ( $tab_num === 0 ) ? 'active' : '' ?>">
<a href="#tab-<?php echo esc_attr( $unique_id . '-' . $tab_num ); ?>" role="tab" data-toggle="tab">
<?php esc_html_e( 'Services', 'solarify' ); ?>
</a>
</li>
<?php
$tab_num++;
endif; //history check
if ( ! empty( json_decode($atts['form']['json'])[1] ) ) :
?>
<li class="<?php echo ( $tab_num === 0 ) ? 'active' : '' ?>">
<a href="#tab-<?php echo esc_attr( $unique_id . '-' . $tab_num ); ?>" role="tab" data-toggle="tab">
<?php esc_html_e( 'Send Message', 'solarify' ); ?>
</a>
</li>
<?php
$tab_num++;
endif; //form check
?>
</ul>
<div class="tab-content top-color-border">
<?php
$tab_num = 0;
if ( ! empty( $atts['history'] ) ) :
?>
<div class="tab-pane tab-department-history fade <?php echo ( $tab_num === 0 ) ? 'in active' : '' ?>"
id="tab-<?php echo esc_attr( $unique_id ) . '-' . $tab_num ?>">
<?php echo wp_kses_post( $atts['history'] ); ?>
</div><!-- .eof tab-pane -->
<?php
$tab_num++;
endif; //history check
if ( ! empty( $atts['services'] ) ) :
?>
<div class="tab-pane tab-department-services fade <?php echo ( $tab_num === 0 ) ? 'in active' : '' ?>"
id="tab-<?php echo esc_attr( $unique_id ) . '-' . $tab_num ?>">
<?php echo wp_kses_post( $atts['services'] ); ?>
</div><!-- .eof tab-pane -->
<?php
$tab_num++;
endif; //services check
if ( ! empty( json_decode($atts['form']['json'])[1] ) ) :
?>
<div class="tab-pane tab-department-form fade <?php echo ( $tab_num === 0 ) ? 'in active' : '' ?>"
id="tab-<?php echo esc_attr( $unique_id ) . '-' . $tab_num ?>">
<?php echo fw_ext( 'shortcodes' )->get_shortcode( 'contact_form' )->render( $atts ); ?>
</div><!-- .eof tab-pane -->
<?php
$tab_num++;
endif; //form check
?>
</div>
</div>
<?php endif; //tab content check ?>
<?php if ( ! empty( $atts['additional_content'] ) ) : ?>
<div class="department-additional-content topmargin_30">
<?php echo wp_kses_post( $atts['additional_content'] ); ?>
</div>
<?php endif; //additional content ?>
</div>
</article><!-- #post-## -->
<?php endwhile; ?>
</div><!--eof #content -->
<?php if ( $column_classes['sidebar_class'] ): ?>
<!-- main aside sidebar -->
<aside class="<?php echo esc_attr( $column_classes['sidebar_class'] ); ?>">
<?php get_sidebar(); ?>
</aside>
<!-- eof main aside sidebar -->
<?php
endif;
get_footer();

View File

@@ -0,0 +1,154 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
get_header();
global $post;
$options = fw_get_db_post_option( $post->ID, fw()->extensions->get( 'events' )->get_event_option_id() );
$column_classes = solarify_get_columns_classes();
$option_events = fw_get_db_post_option( $post->ID );
$gallery_images = $option_events['post-featured-gallery'];
?>
<div id="content" class="<?php echo esc_attr( $column_classes['main_column_class'] ); ?>">
<?php
// Start the Loop.
while ( have_posts() ) : the_post(); ?>
<article
id="post-<?php the_ID(); ?>" <?php post_class( 'event-single vertical-item content-padding big-padding with_shadow' ); ?>>
<?php if ( ! empty( $gallery_images ) ) : ?>
<div class="item-media entry-thumbnail bottommargin_40">
<div class="owl-carousel"
data-items="1"
data-responsive-xs="1"
data-responsive-sm="1"
data-responsive-md="1"
data-responsive-lg="1"
data-nav="true"
data-dots="true"
>
<?php foreach ( $gallery_images as $image ) : ?>
<div>
<img src="<?php echo esc_url($image['url']) ?>" alt="<?php echo esc_attr($post->title); ?>">
</div>
<?php endforeach; ?>
</div>
</div>
<?php
else:
solarify_post_thumbnail();
endif;
?>
<div class="item-content">
<header class="entry-header">
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="muted_background post-adds content-justify">
<div>
<?php
solarify_share_this();
solarify_post_like_button( get_the_ID() );
solarify_post_like_count( get_the_ID() );
?>
</div>
<div>
<span class="views-count gradient_bg">
<?php
solarify_show_post_views_count();
?>
</span>
</div>
</div> <!-- eof .post-adds -->
</header><!-- .entry-header -->
<div class="entry-content">
<!-- additional information about event -->
<div class="event-info bottommargin_30">
<p class="event-place">
<?php
if ( $options['event_location']['location'] ) : ?>
<strong class="grey"><?php esc_html_e( 'Place', 'solarify' ) ?>:</strong>
<?php
echo esc_html( $options['event_location']['location'] );
endif;
if ( $options['event_location']['venue'] ) :
echo esc_html( ', ' . $options['event_location']['venue'] );
endif;
?>
</p><!-- .event-place-->
<?php
foreach ( $options['event_children'] as $key => $row ) : ?>
<?php if ( empty( $row['event_date_range']['from'] ) or empty( $row['event_date_range']['to'] ) ) : ?>
<?php continue; ?>
<?php endif; ?>
<div class="pull-right">
<button class="theme_button small_button color"
data-uri="<?php echo add_query_arg( array(
'row_id' => $key,
'calendar' => 'google'
), fw_current_url() ); ?>" type="button"><?php esc_html_e( 'Google Calendar',
'solarify' ) ?></button>
<button class="theme_button small_button inverse" data-uri="<?php echo add_query_arg( array(
'row_id' => $key,
'calendar' => 'ical'
), fw_current_url() ); ?>" type="button"><?php esc_html_e( 'Ical Export',
'solarify' ) ?></button>
</div>
<ul class="list-unstyled">
<li><strong class="grey"><?php esc_html_e( 'Start', 'solarify' ) ?>
:</strong> <?php echo wp_kses_post ( $row['event_date_range']['from'] ); ?></li>
<li><strong class="grey"><?php esc_html_e( 'End', 'solarify' ) ?>
:</strong> <?php echo wp_kses_post ( $row['event_date_range']['to'] ); ?></li>
</ul>
<?php endforeach; ?>
</div>
<!-- .additional information about event -->
<?php
//tags
echo get_the_term_list( $post->ID, 'fw-event-tag', '<span class="categories-links theme_buttons small_buttons inverse">', ' ', '</span>' );
?>
<?php the_content(); ?>
<?php
$map = fw_ext_events_render_map();
if ( $map ):
?>
<div class="event-map">
<?php echo fw_ext_events_render_map(); ?>
</div>
<?php
endif; //map
?>
<?php do_action( 'solarify_ext_events_after_content' ); ?>
</div><!-- .entry-content -->
</div><!-- .item-content -->
</article>
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile; ?>
</div><!--eof #content -->
<?php if ( $column_classes['sidebar_class'] ): ?>
<!-- main aside sidebar -->
<aside class="<?php echo esc_attr( $column_classes['sidebar_class'] ); ?>">
<?php get_sidebar(); ?>
</aside>
<!-- eof main aside sidebar -->
<?php
endif;
get_footer();

View File

@@ -0,0 +1,52 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* The template for displaying Events Category pages
*
*/
get_header();
$column_classes = solarify_get_columns_classes();
?>
<div id="content" class="<?php echo esc_attr( $column_classes['main_column_class'] ); ?>">
<?php if ( have_posts() ) : ?>
<?php
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( 'template-parts/content', 'event' );
endwhile;
?>
<?php
// Previous/next page navigation.
solarify_paging_nav();
else : // If no content, include the "No posts found" template.
{
get_template_part( 'content', 'none' );
}
endif;
?>
</div><!--eof #content -->
<?php if ( $column_classes['sidebar_class'] ): ?>
<!-- main aside sidebar -->
<aside class="<?php echo esc_attr( $column_classes['sidebar_class'] ); ?>">
<?php get_sidebar(); ?>
</aside>
<!-- eof main aside sidebar -->
<?php
endif;
get_footer();

View File

@@ -0,0 +1,13 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array();
$cfg['page_builder'] = array(
'title' => esc_html__( 'Contact form', 'solarify' ),
'description' => esc_html__( 'Build contact forms', 'solarify' ),
'tab' => esc_html__( 'Content Elements', 'solarify' ),
'popup_size' => 'large',
'type' => 'special'
);

View File

@@ -0,0 +1,266 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'main' => array(
'type' => 'box',
'title' => '',
'options' => array(
'id' => array(
'type' => 'unique',
),
'builder' => array(
'type' => 'tab',
'title' => esc_html__( 'Form Fields', 'solarify' ),
'options' => array(
'form' => array(
'label' => false,
'type' => 'form-builder',
'value' => array(
'json' => apply_filters( 'fw:ext:forms:builder:load-item:form-header-title', true )
? json_encode( array(
array(
'type' => 'form-header-title',
'shortcode' => 'form_header_title',
'width' => '',
'options' => array(
'title' => '',
'subtitle' => '',
)
)
) )
: '[]'
),
'fixed_header' => true,
),
),
),
'settings' => array(
'type' => 'tab',
'title' => esc_html__( 'Settings', 'solarify' ),
'options' => array(
'settings-options' => array(
'title' => esc_html__( 'Contact Form Options', 'solarify' ),
'type' => 'tab',
'options' => array(
'background_color' => array(
'type' => 'select',
'value' => 'ls',
'label' => esc_html__( 'Form Background color', 'solarify' ),
'desc' => esc_html__( 'Select background color', 'solarify' ),
'help' => esc_html__( 'Select one of predefined background colors', 'solarify' ),
'choices' => array(
'' => esc_html__( 'No background', 'solarify' ),
'with_padding muted_background' => esc_html__( 'Muted', 'solarify' ),
'with_padding with_border' => esc_html__( 'With Border', 'solarify' ),
'with_padding ls' => esc_html__( 'Light', 'solarify' ),
'with_padding ls ms' => esc_html__( 'Light Grey', 'solarify' ),
'with_padding ds' => esc_html__( 'Dark Grey', 'solarify' ),
'with_padding ds ms' => esc_html__( 'Dark', 'solarify' ),
'with_padding cs' => esc_html__( 'Main color', 'solarify' ),
'with_padding cs main_color2' => esc_html__( 'Second Main color', 'solarify' ),
),
),
'columns_padding' => array(
'type' => 'select',
'value' => 'columns_padding_15',
'label' => esc_html__( 'Column paddings in form', 'solarify' ),
'desc' => esc_html__( 'Choose columns horizontal paddings value', 'solarify' ),
'choices' => array(
'columns_padding_15' => esc_html__( '15 px - default', 'solarify' ),
'columns_padding_0' => esc_html__( '0', 'solarify' ),
'columns_padding_1' => esc_html__( '1 px', 'solarify' ),
'columns_padding_2' => esc_html__( '2 px', 'solarify' ),
'columns_padding_5' => esc_html__( '5 px', 'solarify' ),
'columns_padding_10' => esc_html__( '10 px', 'solarify' ),
),
),
'input_text_center' => array(
'type' => 'switch',
'value' => '',
'attr' => array( 'class' => 'custom-class', 'data-foo' => 'bar' ),
'label' => esc_html__('Input Text Center', 'solarify'),
'desc' => esc_html__('Center Text in Form Fields', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'input-text-center',
'label' => esc_html__('Yes', 'solarify'),
),
),
'form_email_settings' => array(
'type' => 'group',
'options' => array(
'email_to' => array(
'type' => 'text',
'label' => esc_html__( 'Email To', 'solarify' ),
'help' => esc_html__( 'We recommend you to use an email that you verify often', 'solarify' ),
'desc' => esc_html__( 'The form will be sent to this email address.', 'solarify' ),
),
),
),
'form_text_settings' => array(
'type' => 'group',
'options' => array(
'subject-group' => array(
'type' => 'group',
'options' => array(
'subject_message' => array(
'type' => 'text',
'label' => esc_html__( 'Subject Message', 'solarify' ),
'desc' => esc_html__( 'This text will be used as subject message for the email', 'solarify' ),
'value' => esc_html__( 'Contact Form', 'solarify' ),
),
)
),
'submit-button-group' => array(
'type' => 'group',
'options' => array(
'absolute_button' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__( 'Positioned button', 'solarify' ),
'desc' => esc_html__( 'It works only for forms inside tabs', 'solarify' ),
'left-choice' => array(
'value' => '',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'with_abs_button',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'submit_button_text' => array(
'type' => 'text',
'label' => esc_html__( 'Submit Button', 'solarify' ),
'desc' => esc_html__( 'This text will appear in submit button', 'solarify' ),
'value' => esc_html__( 'Send', 'solarify' ),
),
'submit_button_type' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Button Type', 'solarify' ),
'choices' => array(
'' => esc_html__( 'None', 'solarify' ),
'theme_button' => esc_html__( 'Regular button', 'solarify' ),
'theme_button inverse' => esc_html__( 'Inverse button', 'solarify' ),
'theme_button color1' => esc_html__( 'Accent Color 1 button', 'solarify' ),
'theme_button color1 dark' => esc_html__( 'Accent Color 1 Dark button', 'solarify' ),
'theme_button color2' => esc_html__( 'Accent Color 2 button', 'solarify' ),
'theme_button color2 dark' => esc_html__( 'Accent Color 2 Dark button', 'solarify' ),
'theme_button color3' => esc_html__( 'Accent Color 3 button', 'solarify' ),
'theme_button color3 dark' => esc_html__( 'Accent Color 3 Dark button', 'solarify' ),
'theme_button color4' => esc_html__( 'Accent Color 4 button', 'solarify' ),
'theme_button color4 dark' => esc_html__( 'Accent Color 4 Dark button', 'solarify' ),
'theme_button color_gradient' => esc_html__( 'Gradient Color button', 'solarify' ),
),
/**
* Allow save not existing choices
* Useful when you use the select to populate it dynamically from js
*/
'no-validate' => false,
),
'submit_button_icon' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'use_icon' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Add icon to button', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'icon',
'label' => esc_html__('Yes', 'solarify'),
),
),
),
'choices' => array(
'' => array(),
'icon' => array(
'icon_source' => array(
'type' => 'icon-v2',
'label' => esc_html__( 'Choose Icon', 'solarify' ),
),
'icon_size' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Icon Size', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('Regular', 'solarify'),
),
'right-choice' => array(
'value' => 'big_icon',
'label' => esc_html__('Big', 'solarify'),
),
),
'icon_side' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Icon Side.', 'solarify'),
'desc' => esc_html__('Add icon before or after button Label', 'solarify'),
'left-choice' => array(
'value' => 'left',
'label' => esc_html__('Left', 'solarify'),
),
'right-choice' => array(
'value' => 'right',
'label' => esc_html__('Right', 'solarify'),
),
),
),
),
),
'reset_button_text' => array(
'type' => 'text',
'label' => esc_html__( 'Reset Button', 'solarify' ),
'desc' => esc_html__( 'This text will appear in reset button. Leave blank if reset button not needed', 'solarify' ),
'value' => esc_html__( 'Clear', 'solarify' ),
),
)
),
'success-group' => array(
'type' => 'group',
'options' => array(
'success_message' => array(
'type' => 'text',
'label' => esc_html__( 'Success Message', 'solarify' ),
'desc' => esc_html__( 'This text will be displayed when the form will successfully send', 'solarify' ),
'value' => esc_html__( 'Message sent!', 'solarify' ),
),
)
),
'failure_message' => array(
'type' => 'text',
'label' => esc_html__( 'Failure Message', 'solarify' ),
'desc' => esc_html__( 'This text will be displayed when the form will fail to be sent', 'solarify' ),
'value' => esc_html__( 'Oops something went wrong.', 'solarify' ),
),
),
),
)
),
'mailer-options' => array(
'title' => esc_html__( 'Mailer Options', 'solarify' ),
'type' => 'tab',
'options' => array(
'mailer' => array(
'label' => false,
'type' => 'mailer'
)
)
)
),
),
),
)
);

View File

@@ -0,0 +1,51 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var string $form_id
* @var string $form_html
* @var array $extra_data
*/
global $allowedposttags;
$form_tags = $allowedposttags;
$form_tags['input'] = array(
'type' => true,
'id' => true,
'class' => true,
'name' => true,
'value' => true,
'placeholder' => true,
'required' => true,
'data-pick-time' => true,
'data-pick-date' => true,
'data-language' => true,
'data-constraint' => true,
);
$form_tags['form']['data-fw-form-id'] = true;
$form_tags['form']['data-fw-ext-forms-type'] = true;
$form_tags['form']['data-pick-time'] = true;
$form_tags['form']['data-pick-date'] = true;
$form_tags['form']['data-language'] = true;
$form_tags['form']['data-fw-form-id'] = true;
$form_tags['textarea']['placeholder'] = true;
$form_tags['textarea']['required'] = true;
$form_tags['select'] = array(
'type' => true,
'id' => true,
'class' => true,
'name' => true,
'value' => true,
'placeholder' => true,
'required' => true,
'data-pick-time' => true,
'data-pick-date' => true,
'data-language' => true,
'data-constraint' => true,
);
$form_tags['option']['value'] = true;
?>
<div class="form-wrapper <?php echo esc_attr( $extra_data['background_color'] . ' ' . $extra_data['columns_padding'] . ' ' . $extra_data['input_text_center'] . ' ' . $extra_data['absolute_button'] ); ?>">
<?php echo wp_kses($form_html, $form_tags); ?>
</div>

View File

@@ -0,0 +1,41 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var int $form_id
* @var string $submit_button_text
* @var array $extra_data
*/
$icon_size = ( isset( $extra_data['submit_button_icon']['use_icon'] ) && $extra_data['submit_button_icon'] ) ? ' ' . $extra_data['submit_button_icon']['icon']['icon_size'] : '';
$icon_side = ( isset( $extra_data['submit_button_icon']['use_icon'] ) && $extra_data['submit_button_icon']['use_icon'] ) ? $extra_data['submit_button_icon']['icon']['icon_side'] : '';
$icon = ( isset( $extra_data['submit_button_icon']['use_icon'] ) && $extra_data['submit_button_icon']['use_icon'] ) ? $extra_data['submit_button_icon']['icon']['icon_source'] : '';
?>
<div class="wrap-forms form-submit topmargin_20">
<div class="row">
<div class="col-sm-12">
<button class="<?php echo esc_attr( $extra_data['submit_button_type'] . $icon_size ); ?> " type="submit">
<?php if ( $icon_side === 'left' ) : ?>
<?php if ( $icon['type'] === 'icon-font') : ?>
<i class="<?php echo esc_attr( $icon['icon-class'] ); ?> rightpadding_5"></i>
<?php else:
echo wp_get_attachment_image( $icon['attachment-id'] );
endif; ?>
<?php endif; ?>
<?php echo esc_html( $submit_button_text ); ?>
<?php if ( $icon_side === 'right' ) : ?>
<?php if ( $icon['type'] === 'icon-font') : ?>
<i class="<?php echo esc_attr( $icon['icon-class'] ); ?> leftpadding_5"></i>
<?php else:
echo wp_get_attachment_image( $icon['attachment-id'] );
endif; ?>
<?php endif; ?>
</button>
<?php if ( $extra_data['reset_button_text'] ) : ?>
<button class="theme_button inverse" type="reset">
<?php echo esc_html( $extra_data['reset_button_text'] ); ?>
</button>
<?php endif; ?>
</div>
</div>
</div>

View File

@@ -0,0 +1,71 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $choices
* @var array $value
*/
$options = $item['options'];
switch ( $options['layout'] ) {
case 'one-column':
$columns = 1;
break;
case 'two-columns':
$columns = 2;
break;
case 'three-columns':
$columns = 3;
break;
default:
$columns = 0;
}
?>
<?php if ( empty( $choices ) ): ?>
<!-- checkboxes not displayed: no choices -->
<?php else: ?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ); ?>">
<div class="field-checkbox input-styled">
<label><?php echo fw_htmlspecialchars( $options['label'] ); ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<div class="checkbox custom-checkbox field-columns-<?php echo esc_attr( $columns ); ?>">
<?php if ( $columns === 0 ): //side by side ?>
<?php while ( $choice = array_shift( $choices ) ): ?>
<label class="checkbox-inline">
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
<?php endwhile; ?>
<?php elseif ( $columns > 1 ): //multi columns ?>
<div class="row">
<?php while ( $choice = array_shift( $choices ) ): ?>
<div class="col-sm-<?php echo esc_attr( 12 / $columns ); ?>">
<div class="options checkbox">
<label>
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
</div>
</div> <!-- eof .col-sm-* -->
<?php endwhile; ?>
</div><!-- eof .row -->
<?php else: //single column ?>
<?php foreach ( $choices as $choice ): ?>
<div class="options checkbox">
<label>
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>
<?php endif; ?>

View File

@@ -0,0 +1,23 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $attr
*/
$options = $item['options'];
?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ) ?>">
<div class="form-group<?php echo ( $attr['placeholder'] ) ? esc_attr(' has-placeholder') : ''; ?>">
<label
for="<?php echo esc_attr( $attr['id'] ) ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ) ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<input class="form-control" <?php echo fw_attr_to_html( $attr ) ?>>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,20 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var string $title
* @var string $subtitle
*/
if ( empty( $title ) ) {
return;
}
?>
<div class="col-xs-12 form-builder-item">
<div class="header title">
<h2><?php echo wp_kses_post( $title ); ?></h2>
<?php if ( ! empty( $subtitle ) ) : ?>
<p><?php echo wp_kses_post( $subtitle ); ?></p>
<?php endif ?>
</div>
</div>

View File

@@ -0,0 +1,22 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $attr
*/
$options = $item['options'];
?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ); ?>">
<div class="form-group<?php echo ( $attr['placeholder'] ) ? esc_attr(' has-placeholder') : ''; ?>">
<label
for="<?php echo esc_attr( $attr['id'] ); ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ); ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<input class="form-control" <?php echo fw_attr_to_html( $attr ); ?>>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,71 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $choices
* @var array $value
*/
$options = $item['options'];
switch ( $options['layout'] ) {
case 'one-column':
$columns = 1;
break;
case 'two-columns':
$columns = 2;
break;
case 'three-columns':
$columns = 3;
break;
default:
$columns = 0;
}
?>
<?php if ( empty( $choices ) ): ?>
<!-- radio not displayed: no choices -->
<?php else: ?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ); ?>">
<div class="field-radio input-styled">
<label><?php echo fw_htmlspecialchars( $options['label'] ); ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<div class="custom-radio field-columns-<?php echo esc_attr( $columns ); ?>">
<?php if ( $columns === 0 ): //side by side ?>
<?php while ( $choice = array_shift( $choices ) ): ?>
<label class="radio-inline">
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
<?php endwhile; ?>
<?php elseif ( $columns > 1 ): //multi columns?>
<div class="row">
<?php while ( $choice = array_shift( $choices ) ): ?>
<div class="col-sm-<?php echo esc_attr( 12 / $columns ); ?>">
<div class="options radio">
<label>
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
</div>
</div><!-- eof .col-sm-* -->
<?php endwhile; ?>
</div><!-- eof .row -->
<?php else: //single column ?>
<?php foreach ( $choices as $choice ): ?>
<div class="options radio">
<label>
<input <?php echo fw_attr_to_html( $choice ); ?> />
<?php echo wp_kses_post( $choice['value'] ); ?>
</label>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>
<?php endif; ?>

View File

@@ -0,0 +1,16 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var string $label
* @var array $item
* @var array $attr
*/
?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ) ?>">
<div class="field-recaptcha">
<label><?php echo fw_htmlspecialchars( $item['options']['label'] ) ?></label>
<input type="hidden" name="<?php echo esc_attr( $item['shortcode'] ); ?>">
<div <?php echo fw_attr_to_html( $attr ); ?>></div>
</div>
</div>

View File

@@ -0,0 +1,32 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $choices
* @var array $attr
* @var string $value
*/
$options = $item['options'];
?>
<?php if ( empty( $choices ) ): ?>
<!-- select not displayed: no choices -->
<?php else: ?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ) ?>">
<div class="field-select select-styled">
<label
for="<?php echo esc_attr( $attr['id'] ) ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ) ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<select <?php echo fw_attr_to_html( $attr ) ?> class="form-control">
<?php foreach ( $choices as $choice ): ?>
<option <?php echo fw_attr_to_html( $choice ) ?> ><?php echo esc_html( $choice['value'] ); ?></option>
<?php endforeach; ?>
</select>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>
<?php endif; ?>

View File

@@ -0,0 +1,22 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $attr
*/
$options = $item['options'];
?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ) ?>">
<div class="form-group<?php echo ( $attr['placeholder'] ) ? esc_attr(' has-placeholder') : ''; ?>">
<label
for="<?php echo esc_attr( $attr['id'] ) ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ) ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<input class="form-control" <?php echo fw_attr_to_html( $attr ) ?>>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,24 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $attr
*/
$options = $item['options'];
?>
<div class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ); ?>">
<div class="form-group<?php echo ( $attr['placeholder'] ) ? esc_attr(' has-placeholder') : ''; ?>">
<label
for="<?php echo esc_attr( $attr['id'] ); ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ); ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<textarea
class="form-control" <?php echo fw_attr_to_html( $attr ); ?>><?php echo fw_htmlspecialchars( $value ); ?></textarea>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,23 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $item
* @var array $attr
*/
$options = $item['options'];
?>
<div
class="<?php echo esc_attr( fw_ext_builder_get_item_width( 'form-builder', $item['width'] . '/frontend_class' ) ); ?>">
<div class="form-group">
<label
for="<?php echo esc_attr( $attr['id'] ); ?>"><?php echo fw_htmlspecialchars( $item['options']['label'] ); ?>
<?php if ( $options['required'] ): ?><sup>*</sup><?php endif; ?>
</label>
<input class="form-control" <?php echo fw_attr_to_html( $attr ); ?>>
<?php if ( $options['info'] ): ?>
<p><em><?php echo wp_kses_post( $options['info'] ); ?></em></p>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,5 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg['population_methods'] = array( 'custom' );
$cfg['multimedia_types'] = array( 'image' );

View File

@@ -0,0 +1,4 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$manifest['standalone'] = true;

View File

@@ -0,0 +1,223 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'slide_align' => array(
'type' => 'select',
'value' => 'text-left',
'label' => esc_html__( 'Slide text alignment', 'solarify' ),
'desc' => esc_html__( 'Select slide text alignment', 'solarify' ),
'choices' => array(
'text-left' => esc_html__( 'Left', 'solarify' ),
'text-center' => esc_html__( 'Center', 'solarify' ),
'text-right' => esc_html__( 'Right', 'solarify' ),
),
/**
* Allow save not existing choices
* Useful when you use the select to populate it dynamically from js
*/
'no-validate' => false,
),
'slide_layers' => array(
'type' => 'addable-box',
'value' => '',
'label' => esc_html__( 'Slide Layers', 'solarify' ),
'desc' => esc_html__( 'Choose a tag and text inside it', 'solarify' ),
'box-options' => array(
'layer_tag' => array(
'type' => 'select',
'value' => 'h3',
'label' => esc_html__( 'Layer tag', 'solarify' ),
'desc' => esc_html__( 'Select a tag for your ', 'solarify' ),
'choices' => array(
'h3' => esc_html__( 'H3 tag', 'solarify' ),
'h2' => esc_html__( 'H2 tag', 'solarify' ),
'h4' => esc_html__( 'H4 tag', 'solarify' ),
'h5' => esc_html__( 'H5 tag', 'solarify' ),
'p' => esc_html__( 'P tag', 'solarify' ),
),
),
'layer_animation' => array(
'type' => 'select',
'value' => 'fadeIn',
'label' => esc_html__( 'Animation type', 'solarify' ),
'desc' => esc_html__( 'Select one of predefined animations', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Default', 'solarify' ),
'slideDown' => esc_html__( 'slideDown', 'solarify' ),
'scaleAppear' => esc_html__( 'scaleAppear', 'solarify' ),
'fadeInLeft' => esc_html__( 'fadeInLeft', 'solarify' ),
'fadeInUp' => esc_html__( 'fadeInUp', 'solarify' ),
'fadeInRight' => esc_html__( 'fadeInRight', 'solarify' ),
'fadeInDown' => esc_html__( 'fadeInDown', 'solarify' ),
'fadeIn' => esc_html__( 'fadeIn', 'solarify' ),
'slideRight' => esc_html__( 'slideRight', 'solarify' ),
'slideUp' => esc_html__( 'slideUp', 'solarify' ),
'slideLeft' => esc_html__( 'slideLeft', 'solarify' ),
'expandUp' => esc_html__( 'expandUp', 'solarify' ),
'slideExpandUp' => esc_html__( 'slideExpandUp', 'solarify' ),
'expandOpen' => esc_html__( 'expandOpen', 'solarify' ),
'bigEntrance' => esc_html__( 'bigEntrance', 'solarify' ),
'hatch' => esc_html__( 'hatch', 'solarify' ),
'tossing' => esc_html__( 'tossing', 'solarify' ),
'pulse' => esc_html__( 'pulse', 'solarify' ),
'floating' => esc_html__( 'floating', 'solarify' ),
'bounce' => esc_html__( 'bounce', 'solarify' ),
'pullUp' => esc_html__( 'pullUp', 'solarify' ),
'pullDown' => esc_html__( 'pullDown', 'solarify' ),
'stretchLeft' => esc_html__( 'stretchLeft', 'solarify' ),
'stretchRight' => esc_html__( 'stretchRight', 'solarify' ),
'fadeInUpBig' => esc_html__( 'fadeInUpBig', 'solarify' ),
'fadeInDownBig' => esc_html__( 'fadeInDownBig', 'solarify' ),
'fadeInLeftBig' => esc_html__( 'fadeInLeftBig', 'solarify' ),
'fadeInRightBig' => esc_html__( 'fadeInRightBig', 'solarify' ),
'slideInDown' => esc_html__( 'slideInDown', 'solarify' ),
'slideInLeft' => esc_html__( 'slideInLeft', 'solarify' ),
'slideInRight' => esc_html__( 'slideInRight', 'solarify' ),
'moveFromLeft' => esc_html__( 'moveFromLeft', 'solarify' ),
'moveFromRight' => esc_html__( 'moveFromRight', 'solarify' ),
'moveFromBottom' => esc_html__( 'moveFromBottom', 'solarify' ),
),
),
'layer_text' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Layer text', 'solarify' ),
'desc' => esc_html__( 'Text to appear in slide layer', 'solarify' ),
),
'layer_text_color' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Layer text color', 'solarify' ),
'desc' => esc_html__( 'Select a color for your text in layer', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Inherited', 'solarify' ),
'highlight' => esc_html__( 'First theme main color', 'solarify' ),
'highlight2' => esc_html__( 'Second theme main color', 'solarify' ),
'grey' => esc_html__( 'Dark grey theme color', 'solarify' ),
'black' => esc_html__( 'Dark theme color', 'solarify' ),
),
),
'layer_text_weight' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Layer text weight', 'solarify' ),
'desc' => esc_html__( 'Select a weight for your text in layer', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Normal', 'solarify' ),
'bold' => esc_html__( 'Bold', 'solarify' ),
'thin' => esc_html__( 'Thin', 'solarify' ),
),
),
'layer_text_transform' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Layer text transform', 'solarify' ),
'desc' => esc_html__( 'Select a text transformation for your layer', 'solarify' ),
'choices' => array(
'' => esc_html__( 'None', 'solarify' ),
'text-lowercase' => esc_html__( 'Lowercase', 'solarify' ),
'text-uppercase' => esc_html__( 'Uppercase', 'solarify' ),
'text-capitalize' => esc_html__( 'Capitalize', 'solarify' ),
),
),
),
'template' => esc_html__( 'Slider Layer', 'solarify' ),
'limit' => 5, // limit the number of boxes that can be added
'add-button-text' => esc_html__( 'Add', 'solarify' ),
// 'sortable' => true,
),
'slide_buttons' => array(
'type' => 'addable-box',
'value' => '',
'label' => esc_html__( 'Slide Buttons', 'solarify' ),
'desc' => esc_html__( 'Choose a button, link for it and text inside it', 'solarify' ),
'box-options' => array(
'button_type' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Slide button', 'solarify' ),
'desc' => esc_html__( 'Select slide button. Leave empty if no button needed', 'solarify' ),
'choices' => array(
'' => esc_html__( 'None', 'solarify' ),
'theme_button' => esc_html__( 'Regular button', 'solarify' ),
'theme_button inverse' => esc_html__( 'Inverse button', 'solarify' ),
'theme_button color1' => esc_html__( 'Accent Color 1 button', 'solarify' ),
'theme_button color2' => esc_html__( 'Accent Color 2 button', 'solarify' ),
'theme_button color3' => esc_html__( 'Accent Color 3 button', 'solarify' ),
'theme_button color4' => esc_html__( 'Accent Color 4 button', 'solarify' ),
'theme_button color_gradient' => esc_html__( 'Gradient Color button', 'solarify' ),
),
/**
* Allow save not existing choices
* Useful when you use the select to populate it dynamically from js
*/
'no-validate' => false,
),
'button_text' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Slide button text', 'solarify' ),
'desc' => esc_html__( 'Text in button', 'solarify' ),
),
'button_link' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Slide button link', 'solarify' ),
'desc' => esc_html__( 'Paste a link', 'solarify' ),
),
),
'template' => esc_html__( 'Slider Layer', 'solarify' ),
'limit' => 5, // limit the number of boxes that can be added
'add-button-text' => esc_html__( 'Add', 'solarify' ),
),
'slide_button_animation' => array(
'type' => 'select',
'value' => 'fadeIn',
'label' => esc_html__( 'Buttons animation type', 'solarify' ),
'desc' => esc_html__( 'Select one of predefined animations', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Default', 'solarify' ),
'slideDown' => esc_html__( 'slideDown', 'solarify' ),
'scaleAppear' => esc_html__( 'scaleAppear', 'solarify' ),
'fadeInLeft' => esc_html__( 'fadeInLeft', 'solarify' ),
'fadeInUp' => esc_html__( 'fadeInUp', 'solarify' ),
'fadeInRight' => esc_html__( 'fadeInRight', 'solarify' ),
'fadeInDown' => esc_html__( 'fadeInDown', 'solarify' ),
'fadeIn' => esc_html__( 'fadeIn', 'solarify' ),
'slideRight' => esc_html__( 'slideRight', 'solarify' ),
'slideUp' => esc_html__( 'slideUp', 'solarify' ),
'slideLeft' => esc_html__( 'slideLeft', 'solarify' ),
'expandUp' => esc_html__( 'expandUp', 'solarify' ),
'slideExpandUp' => esc_html__( 'slideExpandUp', 'solarify' ),
'expandOpen' => esc_html__( 'expandOpen', 'solarify' ),
'bigEntrance' => esc_html__( 'bigEntrance', 'solarify' ),
'hatch' => esc_html__( 'hatch', 'solarify' ),
'tossing' => esc_html__( 'tossing', 'solarify' ),
'pulse' => esc_html__( 'pulse', 'solarify' ),
'floating' => esc_html__( 'floating', 'solarify' ),
'bounce' => esc_html__( 'bounce', 'solarify' ),
'pullUp' => esc_html__( 'pullUp', 'solarify' ),
'pullDown' => esc_html__( 'pullDown', 'solarify' ),
'stretchLeft' => esc_html__( 'stretchLeft', 'solarify' ),
'stretchRight' => esc_html__( 'stretchRight', 'solarify' ),
'fadeInUpBig' => esc_html__( 'fadeInUpBig', 'solarify' ),
'fadeInDownBig' => esc_html__( 'fadeInDownBig', 'solarify' ),
'fadeInLeftBig' => esc_html__( 'fadeInLeftBig', 'solarify' ),
'fadeInRightBig' => esc_html__( 'fadeInRightBig', 'solarify' ),
'slideInDown' => esc_html__( 'slideInDown', 'solarify' ),
'slideInLeft' => esc_html__( 'slideInLeft', 'solarify' ),
'slideInRight' => esc_html__( 'slideInRight', 'solarify' ),
'moveFromLeft' => esc_html__( 'moveFromLeft', 'solarify' ),
'moveFromRight' => esc_html__( 'moveFromRight', 'solarify' ),
'moveFromBottom' => esc_html__( 'moveFromBottom', 'solarify' ),
),
),
);

View File

@@ -0,0 +1,25 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'slider_background' => array(
'type' => 'select',
'value' => 'ls',
'label' => esc_html__( 'Slider background', 'solarify' ),
'desc' => esc_html__( 'Select slider background color', 'solarify' ),
'choices' => array(
'ls' => esc_html__( 'Light', 'solarify' ),
'ls ms' => esc_html__( 'Light Muted', 'solarify' ),
'ds' => esc_html__( 'Dark', 'solarify' ),
'ds ms' => esc_html__( 'Dark Muted', 'solarify' ),
'ds bs' => esc_html__( 'Dark Blue', 'solarify' ),
'cs' => esc_html__( 'Color', 'solarify' ),
),
/**
* Allow save not existing choices
* Useful when you use the select to populate it dynamically from js
*/
'no-validate' => false,
),
);

View File

@@ -0,0 +1,70 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
} ?>
<?php
$slider_background = isset( $data['settings']['extra']['slider_background'] ) ? $data['settings']['extra']['slider_background'] : '';
$page_mainslider = '';
$vertical_nav = '';
if ( is_front_page() ) {
$page_mainslider = 'page_mainslider';
$vertical_nav = 'vertical-nav';
}
if ( isset( $data['slides'] ) ): ?>
<section class="intro_section <?php echo esc_attr( $page_mainslider . ' ' . $slider_background ); ?> all-scr-cover">
<div class="flexslider <?php echo esc_attr( $vertical_nav ); ?>" data-dots="true" data-nav="false">
<ul class="slides">
<?php foreach ( $data['slides'] as $id => $slide ):
$slide_align = isset( $slide['extra']['slide_align'] ) ? $slide['extra']['slide_align'] : false;
$slide_layers = isset( $slide['extra']['slide_layers'] ) ? $slide['extra']['slide_layers'] : false;
$slide_buttons = isset( $slide['extra']['slide_buttons'] ) ? $slide['extra']['slide_buttons'] : false;
$slide_button_animation = isset( $slide['extra']['slide_button_animation'] ) ? $slide['extra']['slide_button_animation'] : false;
?>
<li class="<?php echo esc_attr( $slide_align ); ?>">
<div class="image_cover">
<img src="<?php echo esc_attr( $slide['src'] ); ?>" alt="<?php echo esc_attr( $slide['title'] ) ?>">
</div>
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="slide_description_wrapper">
<?php if ( $slide_layers || $slide_button ) : ?>
<div class="slide_description">
<?php
foreach ( $slide_layers as $layer ):
?>
<div class="intro-layer" data-animation="<?php echo esc_attr( $layer['layer_animation'] ); ?>">
<<?php echo esc_html( $layer['layer_tag'] ); ?>
class="<?php echo esc_attr( $layer['layer_text_color'] ); ?> <?php echo esc_attr( $layer['layer_text_weight'] ); ?> <?php echo esc_attr( $layer['layer_text_transform'] ); ?>
">
<?php echo wp_kses_post( $layer['layer_text'] ) ?>
</<?php echo esc_html( $layer['layer_tag'] ); ?>>
</div>
<?php
endforeach;
if ( !empty( $slide_buttons ) ) : ?>
<div class="intro-layer"
data-animation="<?php echo esc_attr( $slide_button_animation ); ?>">
<div class="slide_buttons inline-content content-bottom-margin">
<?php foreach( $slide_buttons as $button ) : ?>
<a href="<?php echo esc_url( $button['button_link'] ); ?>"
class="min_width_button wide_button <?php echo esc_attr( $button['button_type'] ); ?>"><?php echo esc_html( $button['button_text'] ); ?></a>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
<?php endif; ?>
</div> <!-- eof .slide_description -->
</div> <!-- eof .slide_description_wrapper -->
</div> <!-- eof .col-* -->
</div><!-- eof .row -->
</div><!-- eof .container -->
</li>
<?php endforeach; ?>
</ul>
</div> <!-- eof flexslider -->
</section> <!-- eof intro_section -->
<?php endif; ?>

View File

@@ -0,0 +1,23 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var WP_Post $item
* @var string $title
* @var array $attributes
* @var object $args
* @var int $depth
*/
$icon_html = '';
if (
fw()->extensions->get( 'megamenu' )->show_icon()
&&
( $icon = fw_ext_mega_menu_get_meta( $item, 'icon' ) )
) {
$icon_html .= "<i class=\"" . $icon . "\"></i>";
}
echo wp_kses_post( $args->before );
echo fw_html_tag( 'a', $attributes, $args->link_before . $icon_html . $title . $args->link_after );
echo wp_kses_post( $args->after );

View File

@@ -0,0 +1,20 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array();
$cfg['image_sizes'] = array(
'featured-image' => array(
'width' => 775,
'height' => 517,
'crop' => true
),
'gallery-image' => array(
'width' => 1170,
'height' => 780,
'crop' => true
)
);
$cfg['has-gallery'] = true;

View File

@@ -0,0 +1,5 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,80 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* @var array $atts
* @var array $posts
*/
//item layout view file path
$unique_id = uniqid();
//getting query object
$queried_object = get_queried_object();
$requested_category = fw_get_db_term_option( $queried_object->term_taxonomy_id, $queried_object->taxonomy );
//getting subcategories for filters
$subcategories = get_term_children( $queried_object->term_taxonomy_id, $queried_object->taxonomy );
if ( $atts['show_filters'] ) :
$categories = array();
// Start the Loop.
while ( have_posts() ) : the_post();
$project_categories = get_the_terms( get_the_ID(), $queried_object->taxonomy );
foreach ( $project_categories as $category ) :
if ( in_array( $category->term_id, $subcategories ) ) :
$categories[] = $category;
endif;
endforeach;
endwhile;
wp_reset_postdata();
$categories = array_unique( $categories, SORT_REGULAR );
if ( count( $categories ) > 1 ) : ?>
<div class="filters carousel_filters-<?php echo esc_attr( $unique_id ); ?> text-center">
<a href="#" data-filter="*" class="selected"><?php esc_html_e( 'All', 'solarify' ); ?></a>
<?php foreach ( $categories as $category ) : ?>
<a href="#"
data-filter=".<?php echo esc_attr( $category->slug ); ?>"><?php echo esc_html( $category->name ); ?></a>
<?php endforeach; ?>
</div><!-- eof isotope_filters -->
<?php endif; //count subcategories check
?>
<?php endif; //show filters check ?>
<div id="widget_portfolio_carousel_<?php echo esc_attr( $unique_id ); ?>"
class="owl-carousel"
data-nav="true"
data-dots="false"
data-margin="<?php echo esc_attr( $atts['margin'] ); ?>"
data-responsive-xs="<?php echo esc_attr( $atts['responsive_xs'] ); ?>"
data-responsive-sm="<?php echo esc_attr( $atts['responsive_sm'] ); ?>"
data-responsive-md="<?php echo esc_attr( $atts['responsive_md'] ); ?>"
data-responsive-lg="<?php echo esc_attr( $atts['responsive_lg'] ); ?>"
<?php if ( count( $categories ) > 1 && $atts['show_filters'] ) { ?>
data-filters=".carousel_filters-<?php echo esc_attr( $unique_id ); ?>"
<?php } ?>
>
<?php
while ( have_posts() ) : the_post();
$post_terms = get_the_terms( get_the_ID(), 'fw-portfolio-category' );
$post_terms_class = '';
foreach ( $post_terms as $post_term ) {
$post_terms_class .= $post_term->slug . ' ';
}
?>
<div class="owl-carousel-item <?php echo esc_attr( 'item-layout-' . $atts['item_layout'] . ' ' . $post_terms_class ); ?>">
<?php
//include item layout view file
if ( has_post_thumbnail() ) {
include( fw()->extensions->get( 'portfolio' )->locate_view_path( esc_attr( $atts['item_layout'] ) ) );
} else {
include( fw()->extensions->get( 'portfolio' )->locate_view_path( 'item-extended' ) );
}
?>
</div>
<?php endwhile; ?>
</div><!-- eof portfolio -->

View File

@@ -0,0 +1,195 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* @var array $atts
* @var array $posts
*/
//1 - col-*-12
//2 - col-*-6
//3 - col-*-4
//4 - col-*-3
//6 - col-*-2
//bootstrap col-lg-* class
$lg_class = '';
switch ( $atts['responsive_lg'] ) :
case ( 1 ) :
$lg_class = 'col-lg-12';
break;
case ( 2 ) :
$lg_class = 'col-lg-6';
break;
case ( 3 ) :
$lg_class = 'col-lg-4';
break;
case ( 4 ) :
$lg_class = 'col-lg-3';
break;
//6
default:
$lg_class = 'col-lg-2';
endswitch;
//bootstrap col-md-* class
$md_class = '';
switch ( $atts['responsive_md'] ) :
case ( 1 ) :
$md_class = 'col-md-12';
break;
case ( 2 ) :
$md_class = 'col-md-6';
break;
case ( 3 ) :
$md_class = 'col-md-4';
break;
case ( 4 ) :
$md_class = 'col-md-3';
break;
//6
default:
$md_class = 'col-md-2';
endswitch;
//bootstrap col-sm-* class
$sm_class = '';
switch ( $atts['responsive_sm'] ) :
case ( 1 ) :
$sm_class = 'col-sm-12';
break;
case ( 2 ) :
$sm_class = 'col-sm-6';
break;
case ( 3 ) :
$sm_class = 'col-sm-4';
break;
case ( 4 ) :
$sm_class = 'col-sm-3';
break;
//6
default:
$sm_class = 'col-sm-2';
endswitch;
//bootstrap col-xs-* class
$xs_class = '';
switch ( $atts['responsive_xs'] ) :
case ( 1 ) :
$xs_class = 'col-xs-12';
break;
case ( 2 ) :
$xs_class = 'col-xs-6';
break;
case ( 3 ) :
$xs_class = 'col-xs-4';
break;
case ( 4 ) :
$xs_class = 'col-xs-3';
break;
//6
default:
$xs_class = 'col-xs-2';
endswitch;
//column paddings class
//margin values:
//0
//1
//2
//10
//30
$margin_class = '';
switch ( $atts['margin'] ) :
case ( 0 ) :
$margin_class = 'columns_padding_0';
break;
case ( 1 ) :
$margin_class = 'columns_padding_1';
break;
case ( 2 ) :
$margin_class = 'columns_padding_2';
break;
case ( 10 ) :
$margin_class = 'columns_padding_5';
break;
//6
default:
$margin_class = 'columns_padding_15';
endswitch;
$unique_id = uniqid();
//getting query object
$queried_object = get_queried_object();
$requested_category = fw_get_db_term_option( $queried_object->term_taxonomy_id, $queried_object->taxonomy );
//getting subcategories for filters
$subcategories = get_term_children( $queried_object->term_taxonomy_id, $queried_object->taxonomy );
if ( $atts['show_filters'] ) :
$categories = array();
// Start the Loop.
while ( have_posts() ) : the_post();
$project_categories = get_the_terms( get_the_ID(), $queried_object->taxonomy );
foreach ( $project_categories as $category ) :
if ( in_array( $category->term_id, $subcategories ) ) :
$categories[] = $category;
endif;
endforeach;
endwhile;
wp_reset_postdata();
$categories = array_unique( $categories, SORT_REGULAR );
if ( count( $categories ) > 1 ) : ?>
<div class="filters isotope_filters-<?php echo esc_attr( $unique_id ); ?> darklinks text-center">
<a href="#" data-filter="*" class="selected"><?php esc_html_e( 'All', 'solarify' ); ?></a>
<?php foreach ( $categories as $category ) : ?>
<a href="#"
data-filter=".<?php echo esc_attr( $category->slug ); ?>"><?php echo esc_html( $category->name ); ?></a>
<?php endforeach; ?>
</div><!-- eof isotope_filters -->
<?php endif; //count subcategories check
?>
<?php endif; //show filters check ?>
<div class="<?php echo esc_attr( $margin_class ); ?>">
<div class="isotope_container isotope row masonry-layout columns_margin_bottom_20"
data-filters=".isotope_filters-<?php echo esc_attr( $unique_id ); ?>">
<?php while ( have_posts() ) : the_post();
$post_terms = get_the_terms( get_the_ID(), $queried_object->taxonomy );
$post_terms_class = '';
foreach ( $post_terms as $post_term ) {
$post_terms_class .= $post_term->slug . ' ';
}
?>
<div
class="isotope-item <?php echo esc_attr( 'item-layout-' . $atts['item_layout'] . ' ' . $lg_class . ' ' . $md_class . ' ' . $sm_class . ' ' . $xs_class . ' ' . $post_terms_class ); ?>">
<?php
//include item layout view file
if ( has_post_thumbnail() ) {
include( fw()->extensions->get( 'portfolio' )->locate_view_path( esc_attr( $atts['item_layout'] ) ) );
} else {
include( fw()->extensions->get( 'portfolio' )->locate_view_path( 'item-extended' ) );
}
?>
</div>
<?php endwhile; ?>
</div><!-- eof .isotope_container -->
</div><!-- eof .columns_padding_* -->

View File

@@ -0,0 +1,39 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* Portfolio - extended item layout
*/
?>
<div class="vertical-item content-padding big-padding text-center with_background">
<?php if ( has_post_thumbnail() ) : ?>
<div class="item-media">
<?php
$full_image_src = wp_get_attachment_url( get_post_thumbnail_id( get_the_ID() ) );
the_post_thumbnail();
?>
<div class="media-links">
<a class="abs-link" href="<?php the_permalink(); ?>"></a>
</div>
</div>
<?php endif; //has_post_thumbnail ?>
<div class="item-content">
<header class="entry-header">
<h3 class="entry-title bottommargin_0">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<div class="categories-links highlightlinks">
<?php
echo get_the_term_list( get_the_ID(), 'fw-portfolio-category', '', ' ', '' );
?>
</div>
</header>
<div class="content-3lines-ellipsis">
<?php echo the_excerpt(); ?>
</div>
</div>
</div><!-- eof vertical-item -->

View File

@@ -0,0 +1,37 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* Portfolio - regular item layout
*/
?>
<div class="vertical-item gallery-item content-absolute vertical-center hover-content text-center cs transp_bg">
<?php if ( has_post_thumbnail() ) : ?>
<div class="item-media">
<?php
$full_image_src = wp_get_attachment_url( get_post_thumbnail_id( get_the_ID() ) );
the_post_thumbnail( 'solarify-square-width');
?>
</div>
<?php endif; //has_post_thumbnail ?>
<div class="item-content transp_color4_bg">
<h3 class="entry-title margin_0">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<p class="categories-links">
<?php
echo get_the_term_list( get_the_ID(), 'fw-portfolio-category', '', ' ', '' );
?>
</p>
<p class="topmargin_20">
<a class="prettyPhoto theme_button inverse" title=""
data-gal="prettyPhoto[gal-<?php echo esc_attr( $unique_id ); ?>]"
href="<?php echo esc_url( $full_image_src ); ?>">
<?php echo esc_html__( 'View', 'solarify' ); ?>
</a>
</p>
</div>
</div>

View File

@@ -0,0 +1,37 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* Portfolio - regular item layout
*/
?>
<div class="vertical-item gallery-item content-absolute vertical-center hover-content text-center cs transp_bg">
<?php if ( has_post_thumbnail() ) : ?>
<div class="item-media">
<?php
$full_image_src = wp_get_attachment_url( get_post_thumbnail_id( get_the_ID() ) );
the_post_thumbnail();
?>
</div>
<?php endif; //has_post_thumbnail ?>
<div class="item-content transp_color4_bg">
<h3 class="entry-title margin_0">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<p class="categories-links">
<?php
echo get_the_term_list( get_the_ID(), 'fw-portfolio-category', '', ' ', '' );
?>
</p>
<p class="topmargin_20">
<a class="prettyPhoto theme_button inverse" title=""
data-gal="prettyPhoto[gal-<?php echo esc_attr( $unique_id ); ?>]"
href="<?php echo esc_url( $full_image_src ); ?>">
<?php echo esc_html__( 'View', 'solarify' ); ?>
</a>
</p>
</div>
</div>

View File

@@ -0,0 +1,37 @@
<?php if ( ! defined( 'ABSPATH' ) ) {
die( 'Direct access forbidden.' );
}
/**
* Widget Portfolio - title item layout
*/
?>
<div class="widget_portfolio-item">
<div class="vertical-item content-padding text-center gallery-title-item">
<div class="item-media">
<?php
$full_image_src = wp_get_attachment_url( get_post_thumbnail_id( get_the_ID() ) );
the_post_thumbnail();
?>
<div class="media-links">
<div class="links-wrap">
<a class="p-view prettyPhoto " title=""
data-gal="prettyPhoto[gal-<?php echo esc_attr( $unique_id ); ?>]"
href="<?php echo esc_url( $full_image_src ); ?>"></a>
</div>
</div>
</div>
<div class="item-content">
<h3 class="entry-title margin_0">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<div class="categories-links highlightlinks">
<?php
echo get_the_term_list( get_the_ID(), 'fw-portfolio-category', '', ' ', '' );
?>
</div>
</div>
</div>
</div><!-- eof widget item -->

View File

@@ -0,0 +1,132 @@
<?php
/**
* The template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages and that
* other 'pages' on your WordPress site will use a different template.
*/
get_header();
$pID = get_the_ID();
$fw_ext_projects_gallery_image = fw()->extensions->get( 'portfolio' )->get_config( 'image_sizes' );
$fw_ext_projects_gallery_image = $fw_ext_projects_gallery_image['gallery-image'];
//no columns on single gallery page
$column_classes = solarify_get_columns_classes();
?>
<div id="content" class="col-xs-12 col-md-10 col-md-offset-1">
<?php
// Start the Loop.
while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="vertical-item content-padding big-padding with_background">
<div class="item-media">
<?php
$thumbnails = fw_ext_portfolio_get_gallery_images();
if ( has_post_thumbnail() ) {
$thumbnail_id = get_post_thumbnail_id();
$thumbnail = array(
'attachment_id' => $thumbnail_id,
'url' => wp_get_attachment_url( $thumbnail_id )
);
array_unshift ( $thumbnails, $thumbnail );
}
$captions = array();
if ( sizeof($thumbnails) > 1 ) :
$loop = ( count( $thumbnails ) > 1 ) ? "true" : "false";
?>
<div id="owl-carousel-<?php echo esc_attr( $pID ); ?>" class="owl-carousel"
data-loop="<?php echo esc_attr( $loop ); ?>"
data-margin="0"
data-nav="<?php echo esc_attr( $loop ); ?>"
data-dots="false"
data-themeclass="owl-theme entry-thumbnail-carousel"
data-center="false"
data-items="1"
data-autoplay="true"
data-responsive-xs="1"
data-responsive-sm="1"
data-responsive-md="1"
data-responsive-lg="1"
>
<?php foreach ( $thumbnails as $thumbnail ) :
$attachment = get_post( $thumbnail['attachment_id'] );
$captions[ $thumbnail['attachment_id'] ] = $attachment->post_title;
$image = fw_resize( $thumbnail['attachment_id'], $fw_ext_projects_gallery_image['width'], $fw_ext_projects_gallery_image['height'], $fw_ext_projects_gallery_image['crop'] );
?>
<div class="item">
<img src="<?php echo esc_attr( $image ); ?>"
class="portfolio-gallery-image"
alt="<?php echo esc_attr( $attachment->post_title ); ?>"
title="portfolio-gallery-image-<?php echo esc_attr( $attachment->ID ); ?>"
width="<?php echo esc_attr( $fw_ext_projects_gallery_image['width'] ); ?>"
height="<?php echo esc_attr( $fw_ext_projects_gallery_image['height'] ); ?>"
>
</div>
<?php endforeach ?>
</div>
<?php
else: ?>
<a href="<?php echo get_the_post_thumbnail_url( null, 'solarify-full-width'); ?>" class="prettyPhoto" data-gal="prettyPhoto[gal-<?php echo esc_attr( uniqid() ); ?>]">
<?php the_post_thumbnail( 'solarify-full-width' ); ?>
</a>
<?php
endif; //more than one thumbnail check
?>
</div><!-- .item-media -->
<div class="item-content entry-content">
<header class="entry-header">
<div class="header-body">
<?php the_title( '<h1 class="entry-title gallery-single-title">', '</h1>' ); ?>
<div class="categories-links bottommargin_20 highlightlinks">
<?php
echo get_the_term_list( $pID, 'fw-portfolio-category', '', ' ', '' );
?>
</div>
</div>
</header>
<!-- .entry-header -->
<?php
the_content();
if ( sizeof($thumbnails) > 1 ) :
$unit_ID = uniqid();
?>
<div id="porject-<?php echo esc_attr( $unit_ID ) ?>" class="isotope_container gallery-columns-3 gallery-size-full galleryid-<?php echo esc_attr( $unit_ID ) ?> topmargin_30">
<?php foreach ( $thumbnails as $thumbnail ) :
$attachment = get_post( $thumbnail['attachment_id'] );
$captions[ $thumbnail['attachment_id'] ] = $attachment->post_title;
$image = fw_resize( $thumbnail['attachment_id'], $fw_ext_projects_gallery_image['width'], $fw_ext_projects_gallery_image['height'], $fw_ext_projects_gallery_image['crop'] );
?>
<figure class="gallery-item">
<a href="<?php echo esc_url( $image ); ?>" class="prettyPhoto" data-gal="prettyPhoto[gal-<?php echo esc_attr( $unit_ID ); ?>]">
<?php echo wp_get_attachment_image( $thumbnail['attachment_id'], 'medium' ) ?>
</a>
</figure>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<!-- .entry-content -->
</div>
<!-- .entry-content -->
</article><!-- #post-## -->
<?php endwhile;
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
?>
</div><!--eof #content -->
<?php
get_footer();

View File

@@ -0,0 +1,67 @@
<?php
/**
* The template for displaying portfolio taxonomy
*/
get_header();
//no columns on single gallery page - giving true as a parameter to get column classes function
$column_classes = solarify_get_columns_classes(true);
//getting query object
$queried_object = get_queried_object();
$atts = fw_get_db_term_option( $queried_object->term_taxonomy_id, $queried_object->taxonomy );
//processing GET for changing layout options via GET parameter
//layout: carousel isotope
//item_layout: item-regular item-title item-extended
//?fw-portfolio-category=all-projects&layout=isotope&item_layout=item-extended&full_width=1&margin=2&responsive_lg=4&responsive_md=3&responsive_sm=2&responsive_xs=1&show_filters=0
if ( isset( $_GET['layout'] ) ) { $atts['layout'] = esc_attr ( $_GET['layout'] ); }
if ( isset( $_GET['item_layout'] ) ) { $atts['item_layout'] = esc_attr ( $_GET['item_layout'] ); }
if ( isset( $_GET['full_width'] ) ) { $atts['full_width'] = (boolean) $_GET['full_width']; }
if ( isset( $_GET['margin'] ) ) { $atts['margin'] = (int) $_GET['margin']; }
if ( isset( $_GET['responsive_lg'] ) ) { $atts['responsive_lg'] = (int) $_GET['responsive_lg']; }
if ( isset( $_GET['responsive_md'] ) ) { $atts['responsive_md'] = (int) $_GET['responsive_md']; }
if ( isset( $_GET['responsive_sm'] ) ) { $atts['responsive_sm'] = (int) $_GET['responsive_sm']; }
if ( isset( $_GET['responsive_xs'] ) ) { $atts['responsive_xs'] = (int) $_GET['responsive_xs']; }
if ( isset( $_GET['show_filters'] ) ) { $atts['show_filters'] = (boolean) $_GET['show_filters']; }
//closing main section if full width gallery option enabled
if ( $atts['full_width'] ) :
//light or dark version
$version = function_exists('fw_get_db_customizer_option') ? fw_get_db_customizer_option('version') : 'light';
$main_section_class = 'ls ms';
?>
</div><!-- eof .row -->
</div><!-- eof .container -->
</section><!-- eof main section -->
<!-- reopen main section with fluid container -->
<section class="<?php echo esc_attr( $main_section_class ); ?> page_portfolio section_padding_top_5 section_padding_bottom_100 gallery_fluid_section columns_padding_0">
<div class="container-fluid">
<div class="row">
<?php endif; ?>
<div id="content" class="<?php echo esc_attr( $column_classes['main_column_class'] ); ?>">
<?php if ( have_posts() ) :
include( fw()->extensions->get( 'portfolio' )->locate_view_path( esc_attr( $atts['layout'] ) ) );
else :
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content', 'none' );
endif;
?>
<?php // Previous/next page navigation.
solarify_paging_nav();
?>
</div><!--eof #content -->
<?php if( $column_classes['sidebar_class'] ): ?>
<!-- main aside sidebar -->
<aside class="<?php echo esc_attr( $column_classes['sidebar_class'] ); ?>">
<?php get_sidebar(); ?>
</aside>
<!-- eof main aside sidebar -->
<?php
endif;
get_footer();

View File

@@ -0,0 +1,73 @@
<?php
/**
* The template for default displaying portfolio taxonomy
*/
get_header();
//no columns on this page - giving true as a parameter to get column classes function
$column_classes = fw_ext_extension_get_columns_classes( true );
//getting taxonomy name
$ext_services_settings = fw()->extensions->get( 'services' )->get_settings();
$taxonomy_name = $ext_services_settings['taxonomy_name'];
$categories = fw_ext_extension_get_listing_categories( array(), 'services' );
global $wp_query;
$sort_classes = fw_ext_extension_get_sort_classes( $wp_query->posts, $categories, '', 'services' );
$unique_id = uniqid();
?>
<div id="content" class="<?php echo esc_attr( $column_classes['main_column_class'] ); ?>">
<?php
if ( count( $categories ) > 1 ) : ?>
<div class="filters isotope_filters-<?php echo esc_attr( $unique_id ); ?> text-center">
<a href="#" data-filter="*" class="selected"><?php esc_html_e( 'All', 'solarify' ); ?></a>
<?php foreach ( $categories as $category ) : ?>
<a href="#"
data-filter=".<?php echo esc_attr( $category->slug ); ?>"><?php echo esc_html( $category->name ); ?></a>
<?php endforeach; ?>
</div><!-- eof isotope_filters -->
<?php endif; //count subcategories check ?>
<?php if ( have_posts() ) : ?>
<div class="isotope_container isotope row masonry-layout columns_margin_bottom_20"
<?php if ( count( $categories ) > 1 ) { ?>
data-filters=".isotope_filters-<?php echo esc_attr( $unique_id ); ?>"
<?php } ?>
>
<?php
while ( have_posts() ) : the_post();
?>
<div
class="isotope-item col-lg-4 col-md-6 col-sm-6 col-xs-12 <?php echo esc_attr( $sort_classes[get_the_ID()] ); ?>">
<?php
include( fw()->extensions->get( 'services' )->locate_view_path( 'loop-item' ) );
?>
</div>
<?php endwhile; ?>
</div><!-- eof isotope_container -->
<?php
else :
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content', 'none' );
endif; ?>
<?php // Pagination.
$pagination = paginate_links( array(
'prev_text' => esc_html__( 'Prev', 'solarify' ),
'next_text' => esc_html__( 'Next', 'solarify' ),
'type' => 'list',
));
if ($pagination) {
echo '<nav class="pagination-nav">' . wp_kses_post( str_replace( 'page-numbers', 'page-numbers pagination', $pagination ) ) . '</nav>';
}
?>
</div><!--eof #content -->
<?php if ( $column_classes['sidebar_class'] ): ?>
<!-- main aside sidebar -->
<aside class="<?php echo esc_attr( $column_classes['sidebar_class'] ); ?>">
<?php get_sidebar(); ?>
</aside>
<!-- eof main aside sidebar -->
<?php
endif;
get_footer();

View File

@@ -0,0 +1,58 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* Single service loop item layout
* also using as a default service view in a shortcode
*/
$ext_services_settings = fw()->extensions->get( 'services' )->get_settings();
$taxonomy_name = $ext_services_settings['taxonomy_name'];
$icon_array = fw_ext_services_get_icon_array();
?>
<?php if ( has_post_thumbnail() ) : ?>
<article class="vertical-item content-padding big-padding with_background text-center">
<div class="item-media">
<?php the_post_thumbnail( 'solarify-square-width' ); ?>
</div>
<div class="item-content">
<h4 class="entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h4>
<div class="content-3lines-ellipsis">
<?php the_excerpt(); ?>
</div>
</div>
</article>
<?php else: ?>
<div class="teaser text-center">
<?php if ( $icon_array['icon_type'] === 'image' ) : ?>
<?php echo wp_kses_post( $icon_array['icon_html']); ?>
<?php else: //icon ?>
<div class="teaser_icon black size_big border_icon">
<?php echo wp_kses_post( $icon_array['icon_html']); ?>
</div>
<?php endif; ?>
<h3>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<div class="theme_buttons small_buttons color1">
<?php
echo get_the_term_list( get_the_ID(), $taxonomy_name, '', ' ', '' );
?>
</div>
<div class="content-3lines-ellipsis">
<?php the_excerpt(); ?>
</div>
</div><!-- eof .teaser -->
<?php endif; ?>

View File

@@ -0,0 +1,23 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array();
/**
* Disable grid shortcodes correction
*
* - shortcode is auto wrapped in: section > column > shortcode
* - column is auto wrapped in: section > column
*
* Set `true` To disable correction for all shortcodes
*
* To disable correction for specific shortcode,
* set in `extensions/shortcodes/shortcodes/{shortcode_name}/config.php`
*
* $cfg['page_builder'] = array(
* 'disable_correction' => true,
* ...
* );
*/
$cfg['disable_correction'] = true;

View File

@@ -0,0 +1,14 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/** @internal */
if ( ! function_exists( 'solarify_filter_disable_shortcodes' ) ) :
function solarify_filter_disable_shortcodes( $to_disable ) {
$to_disable[] = 'icon_box';
$to_disable[] = 'call_to_action';
return $to_disable;
}
endif;
add_filter( 'fw_ext_shortcodes_disable_shortcodes', 'solarify_filter_disable_shortcodes' );

View File

@@ -0,0 +1,37 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'tabs' => array(
'type' => 'addable-popup',
'label' => esc_html__( 'Panels', 'solarify' ),
'popup-title' => esc_html__( 'Add/Edit Accordion Panels', 'solarify' ),
'desc' => esc_html__( 'Create your accordion panels', 'solarify' ),
'template' => '{{=tab_title}}',
'popup-options' => array(
'tab_title' => array(
'type' => 'text',
'label' => esc_html__( 'Title', 'solarify' )
),
'tab_content' => array(
'type' => 'textarea',
'label' => esc_html__( 'Content', 'solarify' )
),
'tab_featured_image' => array(
'type' => 'upload',
'value' => '',
'label' => esc_html__( 'Panel Featured Image', 'solarify' ),
'image' => esc_html__( 'Image for your panel.', 'solarify' ),
'help' => esc_html__( 'It appears to the left from your content', 'solarify' ),
'images_only' => true,
),
'tab_icon' => array(
'type' => 'icon',
'label' => esc_html__( 'Icon in panel title', 'solarify' ),
'set' => 'rt-icons-2',
),
)
),
'id' => array( 'type' => 'unique' ),
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,44 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
?>
<div class="bootstrap-accordion">
<div class="panel-group" id="accordion-<?php echo esc_attr( $atts['id'] ); ?>">
<?php foreach ( $atts['tabs'] as $index => $tab ) : ?>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="<?php echo ( $index !== 0 ) ? 'collapsed' : '' ?>"
href="#collapse-<?php echo esc_attr( $atts['id'] ) . '-' . $index ?>" data-toggle="collapse"
data-parent="#accordion-<?php echo esc_attr( $atts['id'] ); ?>">
<?php if ( $tab['tab_icon'] ) : ?>
<i class="<?php echo esc_attr( $tab['tab_icon'] ); ?>"></i>
<?php endif; //tab icon ?>
<?php echo esc_html( $tab['tab_title'] ); ?>
</a>
</h4>
</div>
<div id="collapse-<?php echo esc_attr( $atts['id'] ) . '-' . $index ?>"
class="panel-collapse collapse <?php echo ( $index === 0 ) ? 'in' : '' ?>">
<div class="panel-body">
<?php if ( $tab['tab_featured_image'] ): ?>
<div class="media">
<div class="media-left">
<a href="#">
<img src="<?php echo esc_url( $tab['tab_featured_image']['url'] ); ?>"
alt="<?php echo esc_attr( $tab['tab_title'] ); ?>">
</a>
</div>
<div class="media-body">
<?php echo wp_kses_post( $tab['tab_content'] ); ?>
</div>
</div>
<?php else : //no featured image ?>
<?php echo wp_kses_post( $tab['tab_content'] ); ?>
<?php endif; //featured image ?>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>

View File

@@ -0,0 +1,9 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg['page_builder'] = array(
'title' => esc_html__( 'Wide Banner', 'solarify' ),
'description' => esc_html__( 'Add wide banner', 'solarify' ),
'tab' => esc_html__( 'Content Elements', 'solarify' )
);

View File

@@ -0,0 +1,24 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'background_image' => array(
'type' => 'background-image',
'value' => '',
'label' => esc_html__('Background Image', 'solarify'),
'desc' => esc_html__('Image for Banner Background', 'solarify'),
'choices' => array()
),
'floating_image' => array(
'type' => 'background-image',
'value' => '',
'label' => esc_html__('Text Image', 'solarify'),
'desc' => esc_html__('Image with some info', 'solarify'),
'choices' => array()
),
'banner_link' => array(
'type' => 'text',
'label' => esc_html__('Banner link', 'solarify'),
),
);

View File

@@ -0,0 +1,19 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $atts
*/
?>
<a href="<?php echo esc_url( $atts['banner_link'] ); ?>" class="wide_banner text-center text-md-left bg_teaser">
<?php echo wp_get_attachment_image( $atts['background_image']['custom'], 'custom-size' ); ?>
<?php if ( $atts['floating_image'] ) : ?>
<span>
<?php echo wp_get_attachment_image( $atts['floating_image']['custom'], 'custom-size' ); ?>
</span>
<?php endif; ?>
</a>

View File

@@ -0,0 +1,122 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'label' => array(
'label' => esc_html__( 'Button Label', 'solarify' ),
'desc' => esc_html__( 'This is the text that appears on your button', 'solarify' ),
'type' => 'text',
'value' => 'Submit'
),
'button_icon' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'use_icon' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Add icon to button', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'icon',
'label' => esc_html__('Yes', 'solarify'),
),
),
),
'choices' => array(
'' => array(),
'icon' => array(
'icon_source' => array(
'type' => 'icon-v2',
'label' => esc_html__( 'Choose Icon', 'solarify' ),
),
'icon_size' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Icon Size', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('Regular', 'solarify'),
),
'right-choice' => array(
'value' => 'big_icon',
'label' => esc_html__('Big', 'solarify'),
),
),
'icon_side' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Icon Side.', 'solarify'),
'desc' => esc_html__('Add icon before or after button Label', 'solarify'),
'left-choice' => array(
'value' => 'left',
'label' => esc_html__('Left', 'solarify'),
),
'right-choice' => array(
'value' => 'right',
'label' => esc_html__('Right', 'solarify'),
),
),
),
),
),
'link' => array(
'label' => esc_html__( 'Button Link', 'solarify' ),
'desc' => esc_html__( 'Where should your button link to', 'solarify' ),
'type' => 'text',
'value' => '#'
),
'target' => array(
'type' => 'switch',
'label' => esc_html__( 'Open Link in New Window', 'solarify' ),
'desc' => esc_html__( 'Select here if you want to open the linked page in a new window', 'solarify' ),
'right-choice' => array(
'value' => '_blank',
'label' => esc_html__( 'Yes', 'solarify' ),
),
'left-choice' => array(
'value' => '_self',
'label' => esc_html__( 'No', 'solarify' ),
),
),
'color' => array(
'label' => esc_html__( 'Button Color', 'solarify' ),
'desc' => esc_html__( 'Choose a type for your button', 'solarify' ),
'type' => 'select',
'choices' => array(
'theme_button' => esc_html__( 'Default', 'solarify' ),
'theme_button inverse' => esc_html__( 'Inverse', 'solarify' ),
'theme_button color1' => esc_html__( 'Accent Color 1', 'solarify' ),
'theme_button color1 dark' => esc_html__( 'Accent Color 1 Dark', 'solarify' ),
'theme_button color2' => esc_html__( 'Accent Color 2', 'solarify' ),
'theme_button color2 dark' => esc_html__( 'Accent Color 2 Dark', 'solarify' ),
'theme_button color3' => esc_html__( 'Accent Color 3', 'solarify' ),
'theme_button color3 dark' => esc_html__( 'Accent Color 3 Dark', 'solarify' ),
'theme_button color4' => esc_html__( 'Accent Color 4', 'solarify' ),
'theme_button color4 dark' => esc_html__( 'Accent Color 4 Dark', 'solarify' ),
'theme_button color_gradient' => esc_html__( 'Color Gradient', 'solarify' ),
'simple_link' => esc_html__( 'Just link', 'solarify' ),
)
),
'min_width' => array(
'type' => 'switch',
'label' => esc_html__( 'Min width button', 'solarify' ),
'desc' => esc_html__( 'Switch to set min width for button. (170px for regular button and 230px for big button)', 'solarify' ),
),
'wide_button' => array(
'type' => 'switch',
'label' => esc_html__( 'Big button', 'solarify' ),
'desc' => esc_html__( 'Switch to create bigger button', 'solarify' ),
),
'video_button' => array(
'type' => 'switch',
'label' => esc_html__( 'Video Popup Button', 'solarify' ),
'desc' => esc_html__( 'Round play button that triggers popup video', 'solarify' ),
),
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,33 @@
<?php
if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$min_width = ( isset( $atts['min_width'] ) && $atts['min_width'] ) ? ' min_width_button' : '';
$wide_button = ( isset( $atts['wide_button'] ) && $atts['wide_button'] ) ? ' wide_button' : '';
$video_button = ( isset( $atts['video_button'] ) && $atts['video_button'] ) ? ' round_button margin_0' : '';
$icon_size = ( isset( $atts['button_icon']['use_icon'] ) && $atts['button_icon']['use_icon'] ) ? ' ' . $atts['button_icon']['icon']['icon_size'] : '';
$icon_side = ( isset( $atts['button_icon']['use_icon'] ) && $atts['button_icon']['use_icon'] ) ? $atts['button_icon']['icon']['icon_side'] : '';
$icon = ( isset( $atts['button_icon']['use_icon'] ) && $atts['button_icon']['use_icon'] ) ? $atts['button_icon']['icon']['icon_source'] : '';
?>
<a href="<?php echo esc_url( $atts['link'] ) ?>" target="<?php echo esc_attr( $atts['target'] ) ?>"
class="<?php echo esc_attr( $atts['color'] . $min_width . $wide_button . $video_button . $icon_size ); ?>"<?php echo ( isset( $atts['video_button'] ) && $atts['video_button'] ) ? ' data-gal="prettyPhoto[' . uniqid() . ']"' : '' ?>>
<?php if ( $icon_side === 'left' ) : ?>
<?php if ( $icon['type'] === 'icon-font') : ?>
<i class="<?php echo esc_attr( $icon['icon-class'] ); ?> rightpadding_10"></i>
<?php else:
echo wp_get_attachment_image( $icon['attachment-id'] );
endif; ?>
<?php endif; ?>
<?php if ( isset( $atts['video_button'] ) && $atts['video_button'] ) : ?>
<i class="fa fa-caret-right"></i>
<?php else: ?>
<span><?php echo esc_html( $atts['label'] ); ?></span>
<?php endif; ?>
<?php if ( $icon_side === 'right' ) : ?>
<?php if ( $icon['type'] === 'icon-font') : ?>
<i class="<?php echo esc_attr( $icon['icon-class'] ); ?> leftpadding_10"></i>
<?php else:
echo wp_get_attachment_image( $icon['attachment-id'] );
endif; ?>
<?php endif; ?>
</a>

View File

@@ -0,0 +1,39 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var $wrapper_atts
* @var $atts
* @var $content
* @var $tag
*/
?>
<?php $wrapper_atts['class'] = fw_akg('class', $wrapper_atts, '') . ' fw-shortcode-calendar-wrapper shortcode-container' ?>
<div <?php echo fw_attr_to_html($wrapper_atts); ?>>
<div class="clearfix"></div>
<div class="page-header hidden-header">
<div class="form-inline">
<div class="btn-group">
<button data-calendar-nav="prev"><i class="fa fa-angle-left"></i></button>
<h3><!-- Here will be set the title --></h3>
<button data-calendar-nav="next"><i class="fa fa-angle-right"></i></button>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-lg-12 col-xl-12 col-sm-12">
<div class="fw-shortcode-calendar"></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,125 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$custom_column_classes = array(
'custom_classes' => array(
'type' => 'text',
'label' => esc_html__( 'Custom column classes', 'solarify' ),
'desc' => esc_html__( 'Enter custom column classes', 'solarify' ),
),
);
$options = array(
'column_align' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Text alignment in column', 'solarify' ),
'desc' => esc_html__( 'Select text alignment inside your column', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Inherit', 'solarify' ),
'text-left' => esc_html__( 'Left', 'solarify' ),
'text-center' => esc_html__( 'Center', 'solarify' ),
'text-right' => esc_html__( 'Right', 'solarify' ),
),
),
'column_padding' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Column padding', 'solarify' ),
'desc' => esc_html__( 'Select optional internal column paddings', 'solarify' ),
'choices' => array(
'' => esc_html__( 'No padding', 'solarify' ),
'padding_10' => esc_html__( '10px', 'solarify' ),
'padding_20' => esc_html__( '20px', 'solarify' ),
'padding_30' => esc_html__( '30px', 'solarify' ),
'padding_40' => esc_html__( '40px', 'solarify' ),
'with_padding' => esc_html__( 'Theme style padding', 'solarify' ),
),
),
'background_color' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Background color', 'solarify' ),
'desc' => esc_html__( 'Select background color', 'solarify' ),
'help' => esc_html__( 'Select one of predefined background colors', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Transparent (No Background)', 'solarify' ),
'with_background'=> esc_html__( 'Highlight', 'solarify' ),
'muted_background'=> esc_html__( 'Muted', 'solarify' ),
'ds ms' => esc_html__( 'Dark Grey', 'solarify' ),
'ds' => esc_html__( 'Dark', 'solarify' ),
'cs' => esc_html__( 'Main color', 'solarify' ),
'cs main_color2' => esc_html__( 'Second Main color', 'solarify' ),
),
),
'column_animation' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Animation type', 'solarify' ),
'desc' => esc_html__( 'Select one of predefined animations', 'solarify' ),
'choices' => array(
'' => esc_html__( 'None', 'solarify' ),
'slideDown' => esc_html__( 'slideDown', 'solarify' ),
'scaleAppear' => esc_html__( 'scaleAppear', 'solarify' ),
'fadeInLeft' => esc_html__( 'fadeInLeft', 'solarify' ),
'fadeInUp' => esc_html__( 'fadeInUp', 'solarify' ),
'fadeInRight' => esc_html__( 'fadeInRight', 'solarify' ),
'fadeInDown' => esc_html__( 'fadeInDown', 'solarify' ),
'fadeIn' => esc_html__( 'fadeIn', 'solarify' ),
'slideRight' => esc_html__( 'slideRight', 'solarify' ),
'slideUp' => esc_html__( 'slideUp', 'solarify' ),
'slideLeft' => esc_html__( 'slideLeft', 'solarify' ),
'expandUp' => esc_html__( 'expandUp', 'solarify' ),
'slideExpandUp' => esc_html__( 'slideExpandUp', 'solarify' ),
'expandOpen' => esc_html__( 'expandOpen', 'solarify' ),
'bigEntrance' => esc_html__( 'bigEntrance', 'solarify' ),
'hatch' => esc_html__( 'hatch', 'solarify' ),
'tossing' => esc_html__( 'tossing', 'solarify' ),
'pulse' => esc_html__( 'pulse', 'solarify' ),
'floating' => esc_html__( 'floating', 'solarify' ),
'bounce' => esc_html__( 'bounce', 'solarify' ),
'pullUp' => esc_html__( 'pullUp', 'solarify' ),
'pullDown' => esc_html__( 'pullDown', 'solarify' ),
'stretchLeft' => esc_html__( 'stretchLeft', 'solarify' ),
'stretchRight' => esc_html__( 'stretchRight', 'solarify' ),
'fadeInUpBig' => esc_html__( 'fadeInUpBig', 'solarify' ),
'fadeInDownBig' => esc_html__( 'fadeInDownBig', 'solarify' ),
'fadeInLeftBig' => esc_html__( 'fadeInLeftBig', 'solarify' ),
'fadeInRightBig' => esc_html__( 'fadeInRightBig', 'solarify' ),
'slideInDown' => esc_html__( 'slideInDown', 'solarify' ),
'slideInLeft' => esc_html__( 'slideInLeft', 'solarify' ),
'slideInRight' => esc_html__( 'slideInRight', 'solarify' ),
'moveFromLeft' => esc_html__( 'moveFromLeft', 'solarify' ),
'moveFromRight' => esc_html__( 'moveFromRight', 'solarify' ),
'moveFromBottom' => esc_html__( 'moveFromBottom', 'solarify' ),
),
),
'custom_column' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'custom' => array(
'type' => 'switch',
'label' => esc_html__( 'Custom column layout', 'solarify' ),
'desc' => esc_html__( 'Set your own column classes. It overrides other options. Use it only if you know what are you doing', 'solarify' ),
'left-choice' => array(
'value' => '',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'custom_cl',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
),
'choices' => array(
'' => array(),
'custom_cl' => $custom_column_classes,
),
'show_borders' => true,
)
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,32 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
//$class = fw_ext_builder_get_item_width( 'page-builder', $atts['width'] . '/frontend_class' );
$custom_frontend_class = ( fw_akg('custom_column/custom', $atts) === 'custom_cl' ) ? fw_akg('custom_column/custom_cl', $atts) : '';
$class = (fw_akg('custom_column/custom', $atts) === 'custom_cl' && ! empty( $custom_frontend_class['custom_classes'] ) ) ? $custom_frontend_class['custom_classes'] : fw_ext_builder_get_item_width( 'page-builder', $atts['width'] . '/frontend_class' );
$class .= ( ! empty( $atts['column_animation'] ) && $atts['column_animation'] ) ? ' to_animate' : '';
$class .= ( ! empty( $atts['column_align'] ) ) ? ' ' . $atts['column_align'] : '';
$data_animation = ( ! empty( $atts['column_animation'] ) && $atts['column_animation'] ) ? 'data-animation="' . esc_attr( $atts['column_animation'] ) . '"' : '';
?>
<div class="<?php echo esc_attr( $class ); ?>" <?php echo wp_kses_post( $data_animation ); ?>>
<?php
if ( ! empty( $atts['column_padding'] ) || ! empty( $atts['background_color'] ) ) :
?>
<div class="<?php echo esc_attr( $atts['column_padding'] . ' ' . $atts['background_color'] ); ?>">
<?php endif; //column_padding
//shoing column content
echo do_shortcode( $content );
if ( ! empty( $atts['column_padding'] ) || ! empty( $atts['background_color'] ) ) : //closing optional column_padding div
?>
</div>
<?php endif; ?>
</div>

View File

@@ -0,0 +1,11 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
//$cfg = array();
$cfg['page_builder'] = array(
'title' => esc_html__( 'Custom Container End', 'solarify' ),
'description' => esc_html__( 'Wrap elements in custom container. Closing container tag', 'solarify' ),
'tab' => esc_html__( 'Layout Elements', 'solarify' )
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,10 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $atts
*/
?>
</div>

View File

@@ -0,0 +1,11 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
//$cfg = array();
$cfg['page_builder'] = array(
'title' => esc_html__( 'Custom Container Start', 'solarify' ),
'description' => esc_html__( 'Wrap elements in custom container. Opening container tag', 'solarify' ),
'tab' => esc_html__( 'Layout Elements', 'solarify' )
);

View File

@@ -0,0 +1,88 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'container_type' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'flex_container' => array(
'type' => 'select',
'value' => '',
'choices' => array(
'' => esc_html__('Unstyled container', 'solarify'),
'content-justify' => esc_html__('Space between elements', 'solarify'),
'two-cols-grid' => esc_html__('Two columns content with dividers', 'solarify'),
),
),
),
'choices' => array(
'' => array(),
'content-justify' => array(
'vertical_align' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Elements Vertical Center Align', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'vertical-center',
'label' => esc_html__('Yes', 'solarify'),
),
),
'content_margin' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Vertical margin for elements', 'solarify'),
'desc' => esc_html__('Adds 10px top and bottom margin for elements, useful when elements breaks to a new line', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'content-margins',
'label' => esc_html__('Yes', 'solarify'),
),
),
),
'two-col-grid' => array()
),
),
'custom_class' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'add_custom_class' => array(
'type' => 'switch',
'value' => '',
'label' => esc_html__('Custom class', 'solarify'),
'desc' => esc_html__('Add custom class to container', 'solarify'),
'left-choice' => array(
'value' => '',
'label' => esc_html__('No', 'solarify'),
),
'right-choice' => array(
'value' => 'custom',
'label' => esc_html__('Yes', 'solarify'),
),
),
),
'choices' => array(
'' => array(),
'custom' => array(
'class' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__('Enter your custom classes', 'solarify'),
),
)
),
),
);

View File

@@ -0,0 +1,16 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $atts
*/
$class = '';
$class .= isset( $atts['container_type']['flex_container'] ) ? $atts['container_type']['flex_container'] : '';
$class .= isset( $atts['container_type']['content-justify']['vertical_align'] ) ? ' ' . $atts['container_type']['content-justify']['vertical_align'] : '';
$class .= isset( $atts['container_type']['content-justify']['content_margin'] ) ? ' ' . $atts['container_type']['content-justify']['content_margin'] : '';
$class .= ( $atts['custom_class']['add_custom_class'] && isset( $atts['custom_class']['custom']['class'] ) ) ? ' ' . $atts['custom_class']['custom']['class'] : '';
?>
<div class="<?php echo esc_attr( $class ); ?>">

View File

@@ -0,0 +1,126 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'style' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'ruler_type' => array(
'type' => 'select',
'label' => esc_html__( 'Ruler Type', 'solarify' ),
'desc' => esc_html__( 'Here you can set the styling and size of the HR element', 'solarify' ),
'choices' => array(
'line' => esc_html__( 'Line', 'solarify' ),
'space' => esc_html__( 'Whitespace', 'solarify' ),
)
)
),
'choices' => array(
'space' => array(
'height' => array(
'label' => esc_html__( 'Height', 'solarify' ),
'desc' => esc_html__( 'How much whitespace do you need? Enter a pixel value. Positive value will increase the whitespace, negative value will reduce it. eg: \'50\', \'-25\', \'200\'', 'solarify' ),
'type' => 'text',
'value' => '50'
)
)
)
),
'responsive' => array(
'attr' => array( 'class' => 'fw-advanced-button' ),
'type' => 'popup',
'label' => esc_html__( 'Responsive visibility', 'solarify' ),
'button' => esc_html__( 'Settings', 'solarify' ),
'size' => 'medium',
'popup-options' => array(
'hidden_lg' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'selected' => array(
'type' => 'switch',
'value' => 'yes',
'label' => __( 'Large ( > 1199px)', 'solarify' ),
'desc' => esc_html__( 'Display on large screen?', 'solarify' ),
'left-choice' => array(
'value' => 'no',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'yes',
'label' => esc_html__( 'Yes', 'solarify' ),
)
),
),
),
'hidden_md' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'selected' => array(
'type' => 'switch',
'value' => 'yes',
'label' => __( 'Medium ( > 991px )', 'solarify' ),
'desc' => esc_html__( 'Display on medium screen?', 'solarify' ),
'left-choice' => array(
'value' => 'no',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'yes',
'label' => esc_html__( 'Yes', 'solarify' ),
)
),
),
),
'hidden_sm' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'selected' => array(
'type' => 'switch',
'value' => 'yes',
'label' => __( 'Small ( > 767px )', 'solarify' ),
'desc' => esc_html__( 'Display on small screen?', 'solarify' ),
'left-choice' => array(
'value' => 'no',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'yes',
'label' => esc_html__( 'Yes', 'solarify' ),
)
),
),
),
'hidden_xs' => array(
'type' => 'multi-picker',
'label' => false,
'desc' => false,
'picker' => array(
'selected' => array(
'type' => 'switch',
'value' => 'yes',
'label' => __( 'Extra small ( < 768px )', 'solarify' ),
'desc' => esc_html__( 'Display on extra small screen?', 'solarify' ),
'left-choice' => array(
'value' => 'no',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'yes',
'label' => esc_html__( 'Yes', 'solarify' ),
)
),
),
'choices' => array(),
),
),
),
);

View File

@@ -0,0 +1,36 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/** Responsive Visibility **/
$extra_class = '';
// large
if( isset($atts['responsive']['hidden_lg']['selected']) && $atts['responsive']['hidden_lg']['selected'] == 'no' ) {
$extra_class .= ' hidden-lg';
}
// desktop
if( isset($atts['responsive']['hidden_md']['selected']) && $atts['responsive']['hidden_md']['selected'] == 'no' ) {
$extra_class .= ' hidden-md';
}
// tablet devices
if( isset($atts['responsive']['hidden_sm']['selected']) && $atts['responsive']['hidden_sm']['selected'] == 'no' ) {
$extra_class .= ' hidden-sm';
}
// small devices
if( isset($atts['responsive']['hidden_xs']['selected']) && $atts['responsive']['hidden_xs']['selected'] == 'no' ) {
$extra_class .= ' hidden-xs';
}
if ( 'line' === $atts['style']['ruler_type'] ): ?>
<div class="fw-divider-line"><hr/></div>
<?php endif; ?>
<?php if ( 'space' === $atts['style']['ruler_type'] ): ?>
<div class="fw-divider-space <?php echo esc_attr( $extra_class ); ?>"
<?php if ( ( (int)$atts['style']['space']['height'] ) >= 0 ) : ?>
style="padding-top: <?php echo (int) $atts['style']['space']['height']; ?>px;"
<?php else: ?>
style="margin-top: <?php echo (int) $atts['style']['space']['height']; ?>px;"
<?php endif; ?>
></div>
<?php endif; ?>

View File

@@ -0,0 +1,49 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'icon' => array(
'type' => 'icon-v2',
'label' => esc_html__( 'Icon', 'solarify' ),
),
'icon_style' => array(
'type' => 'image-picker',
'value' => 'default_icon',
'label' => esc_html__( 'Icon Style', 'solarify' ),
'desc' => esc_html__( 'Select one of predefined icon styles.', 'solarify' ),
'help' => esc_html__( 'If not set - no icon will appear.', 'solarify' ),
'choices' => array(
'default_icon' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_01.png',
'black' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_02.png',
'highlight' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_03.png',
'highlight2' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_03_2.png',
'highlight2dark' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_03_3.png',
'highlight3' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_03_4.png',
'highlight4' => fw_get_template_customizations_directory_uri() . '/extensions/shortcodes/shortcodes/icon/static/img/icon_teaser_03_5.png',
),
'blank' => false, // (optional) if true, images can be deselected
),
'icon_size' => array(
'label' => esc_html__( 'Icon Size', 'solarify' ),
'desc' => esc_html__( 'Choose icon size', 'solarify' ),
'type' => 'select',
'choices' => array(
'' => esc_html__( 'Regular font size', 'solarify' ),
'size_small' => esc_html__( 'Small Icon Size (28px)', 'solarify' ),
'size_normal' => esc_html__( 'Normal Icon Size (42px)', 'solarify' ),
'size_big' => esc_html__( 'Big Icon Size (64px)', 'solarify' ),
)
),
'title' => array(
'type' => 'text',
'label' => esc_html__( 'Title', 'solarify' ),
'desc' => esc_html__( 'Title near icon', 'solarify' ),
),
'text' => array(
'type' => 'text',
'label' => esc_html__( 'Text', 'solarify' ),
'desc' => esc_html__( 'Text near title', 'solarify' ),
)
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,42 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $atts
*/
$icon_size = ' ' . $atts['icon_size'];
if ( $atts['title'] || $atts['text'] ) :
?>
<div class="media small-teaser">
<?php if ( $atts['icon'] ): ?>
<div class="media-left">
<i class="<?php echo esc_attr( $atts['icon'] . ' ' . $atts['icon_style'] . $icon_size ); ?>"></i>
</div>
<?php endif; //icon
?>
<div class="media-body">
<?php if ( !empty( $atts['title'] ) ) {?>
<h5 class="text-uppercase">
<?php echo wp_kses_post( $atts['title'] ); ?>
</h5>
<?php } //title ?>
<?php echo wp_kses_post( $atts['text'] ); ?>
</div>
</div>
<?php
//only icon
else:
?>
<span class="theme-icon">
<?php if ( $atts['icon']['type'] === 'icon-font') : ?>
<i class="<?php echo esc_attr( $atts['icon']['icon-class'] . ' ' . $atts['icon_style'] . $icon_size ); ?>"></i>
<?php else:
echo wp_get_attachment_image( $atts['icon']['attachment-id'] );
endif; ?>
</span>
<?php
endif;

View File

@@ -0,0 +1,11 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array(
'page_builder' => array(
'title' => esc_html__( 'Icons in list', 'solarify' ),
'description' => esc_html__( 'Several icons in bordered list', 'solarify' ),
'tab' => esc_html__( 'Content Elements', 'solarify' ),
)
);

View File

@@ -0,0 +1,16 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
//get teaser to add in teasers row:
$icon = fw_ext( 'shortcodes' )->get_shortcode( 'icon' );
$options = array(
'icons' => array(
'type' => 'addable-popup',
'label' => esc_html__( 'Icons in list', 'solarify' ),
'popup-title' => esc_html__( 'Add/Edit Icons in list', 'solarify' ),
'desc' => esc_html__( 'Add your icons with descriptions', 'solarify' ),
'template' => '{{=title}}',
'popup-options' => $icon->get_options(),
),
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,14 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
?>
<ul class="list1 no-bullets no-top-border no-bottom-border ">
<?php foreach ( $atts['icons'] as $icon ): ?>
<li>
<?php
//get teaser shortcode to render teasers inside a row
echo fw_ext( 'shortcodes' )->get_shortcode( 'icon' )->render( $icon );
?>
</li>
<?php endforeach; ?>
</ul>

View File

@@ -0,0 +1,9 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg['page_builder'] = array(
'title' => esc_html__( 'Social Icons', 'solarify' ),
'description' => esc_html__( 'Add set of social icons', 'solarify' ),
'tab' => esc_html__( 'Content Elements', 'solarify' )
);

View File

@@ -0,0 +1,66 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'social_icons' => array(
'type' => 'addable-box',
'value' => '',
'label' => esc_html__( 'Social Buttons', 'solarify' ),
'desc' => esc_html__( 'Optional social buttons', 'solarify' ),
'template' => '{{=icon}}',
'box-options' => array(
'icon' => array(
'type' => 'icon',
'label' => esc_html__( 'Social Icon', 'solarify' ),
'set' => 'social-icons',
),
'icon_class' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Icon type', 'solarify' ),
'desc' => esc_html__( 'Select one of predefined social button types', 'solarify' ),
'choices' => array(
'' => esc_html__( 'Default', 'solarify' ),
'border-icon' => esc_html__( 'Simple Bordered Icon', 'solarify' ),
'border-icon rounded-icon' => esc_html__( 'Rounded Bordered Icon', 'solarify' ),
'bg-icon' => esc_html__( 'Simple Background Icon', 'solarify' ),
'bg-icon rounded-icon' => esc_html__( 'Rounded Background Icon', 'solarify' ),
'color-icon bg-icon' => esc_html__( 'Color Light Background Icon', 'solarify' ),
'color-icon bg-icon rounded-icon' => esc_html__( 'Color Light Background Rounded Icon', 'solarify' ),
'color-icon' => esc_html__( 'Color Icon', 'solarify' ),
'color-icon border-icon' => esc_html__( 'Color Bordered Icon', 'solarify' ),
'color-icon border-icon rounded-icon' => esc_html__( 'Rounded Color Bordered Icon', 'solarify' ),
'color-bg-icon' => esc_html__( 'Color Background Icon', 'solarify' ),
'color-bg-icon rounded-icon' => esc_html__( 'Rounded Color Background Icon', 'solarify' ),
),
/**
* Allow save not existing choices
* Useful when you use the select to populate it dynamically from js
*/
'no-validate' => false,
),
'icon_url' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Icon Link', 'solarify' ),
'desc' => esc_html__( 'Provide a URL to your icon', 'solarify' ),
)
),
'limit' => 0, // limit the number of boxes that can be added
'add-button-text' => esc_html__( 'Add', 'solarify' ),
'sortable' => true,
),
'container_type' => array(
'type' => 'select',
'value' => '',
'label' => esc_html__( 'Icon dividers', 'solarify' ),
'choices' => array(
'' => esc_html__( 'No dividers', 'solarify' ),
'divided-content' => esc_html__( 'With inner dividers', 'solarify' ),
'divided-content outside-dividers' => esc_html__( 'With inner and outer dividers', 'solarify' ),
),
),
);

View File

@@ -0,0 +1,26 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
/**
* @var array $atts
*/
$divided = isset( $atts['container_type'] ) ? ' ' . $atts['container_type'] : '';
?>
<span class="social-icons<?php echo esc_attr( $divided ); ?>">
<?php
foreach ( $atts['social_icons'] as $icon ) :
?>
<?php if ( !empty( $divided ) ) : ?>
<span>
<?php endif; ?>
<a href="<?php echo esc_url( $icon['icon_url'] ) ?>"
class="<?php echo esc_attr( $icon['icon'] ); ?> <?php echo esc_attr( $icon['icon_class'] ); ?>" target="_blank"></a>
<?php if ( !empty( $divided ) ) : ?>
</span>
<?php endif; ?>
<?php
endforeach;
?>
</span>

View File

@@ -0,0 +1,11 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$cfg = array(
'page_builder' => array(
'title' => esc_html__( 'Images carousel', 'solarify' ),
'description' => esc_html__( 'Show images carousel with optional links', 'solarify' ),
'tab' => esc_html__( 'Media Elements', 'solarify' ),
)
);

View File

@@ -0,0 +1,183 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}
$options = array(
'items' => array(
'type' => 'addable-box',
'value' => '',
'label' => esc_html__( 'Carousel items', 'solarify' ),
'box-options' => array(
'image' => array(
'type' => 'upload',
'value' => '',
'label' => esc_html__( 'Image', 'solarify' ),
'images_only' => true,
),
'url' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Image link', 'solarify' ),
),
'title' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Title and Alt text', 'solarify' ),
),
'class' => array(
'type' => 'text',
'value' => '',
'label' => esc_html__( 'Class for link element', 'solarify' ),
),
),
'template' => '{{=image.url}}',
'limit' => 0, // limit the number of boxes that can be added
'add-button-text' => esc_html__( 'Add', 'solarify' ),
'sortable' => true,
),
'loop' => array(
'type' => 'switch',
'value' => 'false',
'label' => esc_html__( 'Loop carousel', 'solarify' ),
'left-choice' => array(
'value' => 'false',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'true',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'nav' => array(
'type' => 'switch',
'value' => 'false',
'label' => esc_html__( 'Show Arrows', 'solarify' ),
'left-choice' => array(
'value' => 'false',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'true',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'dots' => array(
'type' => 'switch',
'value' => 'false',
'label' => esc_html__( 'Show Nav', 'solarify' ),
'left-choice' => array(
'value' => 'false',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'true',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'center' => array(
'type' => 'switch',
'value' => 'false',
'label' => esc_html__( 'Center carousel', 'solarify' ),
'left-choice' => array(
'value' => 'false',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'true',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'autoplay' => array(
'type' => 'switch',
'value' => 'false',
'label' => esc_html__( 'Autoplay', 'solarify' ),
'left-choice' => array(
'value' => 'false',
'label' => esc_html__( 'No', 'solarify' ),
),
'right-choice' => array(
'value' => 'true',
'label' => esc_html__( 'Yes', 'solarify' ),
),
),
'responsive_lg' => array(
'type' => 'select',
'value' => '4',
'label' => esc_html__( 'Items count on <1200px', 'solarify' ),
'choices' => array(
'4' => '4',
'3' => '3',
'2' => '2',
'5' => '5',
'6' => '6',
'7' => '7',
'8' => '8',
'9' => '9',
'1' => '1',
),
'no-validate' => false,
),
'responsive_md' => array(
'type' => 'select',
'value' => '4',
'label' => esc_html__( 'Items count on 992px-1200px', 'solarify' ),
'choices' => array(
'3' => '3',
'4' => '4',
'2' => '2',
'5' => '5',
'6' => '6',
'1' => '1',
),
'no-validate' => false,
),
'responsive_sm' => array(
'type' => 'select',
'value' => '3',
'label' => esc_html__( 'Items count on 768px-992px', 'solarify' ),
'choices' => array(
'3' => '3',
'2' => '2',
'1' => '1',
'4' => '4',
'5' => '5',
'6' => '6',
),
'no-validate' => false,
),
'responsive_xs' => array(
'type' => 'select',
'value' => '2',
'label' => esc_html__( 'Items count on >768px', 'solarify' ),
'choices' => array(
'2' => '2',
'1' => '1',
'3' => '3',
'4' => '4',
'5' => '5',
'6' => '6',
),
'no-validate' => false,
),
'margin' => array(
'type' => 'select',
'value' => '30',
'label' => esc_html__( 'Margin between items', 'solarify' ),
'choices' => array(
'30' => '30px',
'0' => '0px',
'5' => '5px',
'10' => '10px',
'15' => '15px',
'20' => '20px',
),
'no-validate' => false,
),
);

View File

@@ -0,0 +1,3 @@
<?php if ( ! defined( 'FW' ) ) {
die( 'Forbidden' );
}

View File

@@ -0,0 +1,60 @@
"use strict";
//owl carousel
if (jQuery().owlCarousel) {
jQuery('.owl-carousel').each(function() {
var $carousel = jQuery(this);
var loop = $carousel.data('loop') ? $carousel.data('loop') : false;
var margin = ($carousel.data('margin') || $carousel.data('margin') == 0) ? $carousel.data('margin') : 30;
var nav = $carousel.data('nav') ? $carousel.data('nav') : false;
var dots = $carousel.data('dots') ? $carousel.data('dots') : false;
var themeClass = $carousel.data('themeclass') ? $carousel.data('themeclass') : 'owl-theme';
var center = $carousel.data('center') ? $carousel.data('center') : false;
var items = $carousel.data('items') ? $carousel.data('items') : 4;
var autoplay = $carousel.data('autoplay') ? $carousel.data('autoplay') : false;
var responsiveXs = $carousel.data('responsive-xs') ? $carousel.data('responsive-xs') : 1;
var responsiveSm = $carousel.data('responsive-sm') ? $carousel.data('responsive-sm') : 2;
var responsiveMd = $carousel.data('responsive-md') ? $carousel.data('responsive-md') : 3;
var responsiveLg = $carousel.data('responsive-lg') ? $carousel.data('responsive-lg') : 4;
// var responsive = $carousel.data('responsive') ? jQuery.parseJSON($carousel.data('responsive')) : {0:{items:1},767:{items:2},992:{items:2},1200:{items: 4}};
$carousel.owlCarousel({
loop: loop,
margin: margin,
nav: nav,
autoplay: autoplay,
dots: dots,
themeClass: themeClass,
center: center,
items: items,
responsive: {
0:{
items: responsiveXs
},
767:{
items: responsiveSm
},
992:{
items: responsiveMd
},
1200:{
items: responsiveLg
}
},
})
//custom nav
// .find('.owl-dots:not([style*="none"])')
// .wrap('<div class="owl-custom-nav"/>')
// .before('<div class="owl-custom-prev"><i class="arrow-icon-left-open-big"></i></div>')
// .after('<div class="owl-custom-next"><i class="arrow-icon-right-open-big"></i></div>')
// .end()
// .find(".owl-custom-prev").on('click', function(){
// $carousel.trigger('prev.owl.carousel');
// })
// .end()
// .find(".owl-custom-next").on('click', function(){
// $carousel.trigger('next.owl.carousel');
// });
});
} //eof owl-carousel

Some files were not shown because too many files have changed in this diff Show More