255 lines
7.5 KiB
PHP
255 lines
7.5 KiB
PHP
<?php
|
|
|
|
// Fix options for next Flatsome version.
|
|
|
|
function flatsome_is_upgrading(){
|
|
// Check if old depricated (not available in v3) option exist.
|
|
$is_old = get_theme_mod('nav_position');
|
|
if(!empty($is_old)) return true;
|
|
}
|
|
|
|
/**
|
|
* Fix content when upgrading to major version 3.0
|
|
*/
|
|
function flatsome_fix_old_content(){
|
|
|
|
// Upgrade to flatsome 3.0
|
|
if(get_theme_mod('flatsome_version') < 3){
|
|
|
|
$options = get_theme_mods();
|
|
|
|
// Check if old content is installed
|
|
if(flatsome_is_upgrading()){
|
|
set_theme_mod('flatsome_fallback', 1);
|
|
update_option('envato_setup_complete', time());
|
|
} else {
|
|
set_theme_mod('flatsome_fallback', 0);
|
|
}
|
|
|
|
if(!isset($options['topbar_elements_left'])) set_theme_mod('topbar_elements_left', flatsome_topbar_elements_left());
|
|
if(!isset($options['topbar_elements_right'])) set_theme_mod('topbar_elements_right', flatsome_topbar_elements_right());
|
|
if(!isset($options['header_elements_left'])) set_theme_mod('header_elements_left', flatsome_header_elements_left());
|
|
if(!isset($options['header_elements_right'])) set_theme_mod('header_elements_right', flatsome_header_elements_right());
|
|
|
|
if(!isset($options['header_elements_bottom_left'])) set_theme_mod('header_elements_bottom_left', flatsome_header_elements_bottom_left());
|
|
if(!isset($options['header_elements_bottom_center'])) set_theme_mod('header_elements_bottom_center', flatsome_header_elements_bottom_center());
|
|
if(!isset($options['header_elements_bottom_right'])) set_theme_mod('header_elements_bottom_right', flatsome_header_elements_bottom_right());
|
|
|
|
if(!isset($options['header_mobile_elements_left'])) set_theme_mod('header_mobile_elements_left', flatsome_header_mobile_elements_left());
|
|
if(!isset($options['header_mobile_elements_right'])) set_theme_mod('header_mobile_elements_right', flatsome_header_mobile_elements_right());
|
|
if(!isset($options['header_mobile_elements_top'])) set_theme_mod('header_mobile_elements_top', flatsome_header_mobile_elements_top());
|
|
|
|
if(!isset($options['mobile_sidebar'])) set_theme_mod('mobile_sidebar', flatsome_header_mobile_sidebar());
|
|
if(!isset($options['product_layout'])) set_theme_mod('product_layout', flatsome_product_layout());
|
|
if(!flatsome_is_upgrading()) set_theme_mod('payment_icons_placement', 'footer');
|
|
|
|
// Set follow icons
|
|
if(!isset($options['follow_twitter'])) set_theme_mod('follow_twitter','http://url');
|
|
if(!isset($options['follow_facebook'])) set_theme_mod('follow_facebook','http://url');
|
|
if(!isset($options['follow_instagram'])) set_theme_mod('follow_instagram','http://url');
|
|
if(!isset($options['follow_email'])) set_theme_mod('follow_email','your@email');
|
|
|
|
set_theme_mod('flatsome_version', 3);
|
|
}
|
|
}
|
|
add_action( 'after_setup_theme', 'flatsome_fix_old_content');
|
|
|
|
$old_nav = get_theme_mod('nav_position');
|
|
$old_nav_topbar = get_theme_mod('topbar_show');
|
|
$old_search = get_theme_mod('search_pos');
|
|
|
|
function flatsome_topbar_elements_left(){
|
|
global $old_nav, $old_nav_topbar;
|
|
if($old_nav && !$old_nav_topbar) return array();
|
|
|
|
$options[] = 'html';
|
|
|
|
return $options;
|
|
}
|
|
|
|
function flatsome_topbar_elements_right(){
|
|
global $old_nav, $old_nav_topbar;
|
|
if($old_nav && !$old_nav_topbar) return array();
|
|
|
|
$options = array('nav-top');
|
|
|
|
if(get_theme_mod('myaccount_dropdown') == 'top_bar'){
|
|
$options[] = 'account';
|
|
}
|
|
if(get_theme_mod('show_cart') == 'top_bar'){
|
|
$options[] = 'cart';
|
|
}
|
|
|
|
if(!$old_nav) $options[] = 'newsletter';
|
|
|
|
if(!$old_nav) $options[] = 'social';
|
|
|
|
if($old_nav) $options[] = 'html-2';
|
|
|
|
return $options;
|
|
}
|
|
|
|
|
|
|
|
// Header Main Left
|
|
function flatsome_header_elements_left(){
|
|
global $old_nav, $old_search;
|
|
$options = array();
|
|
|
|
if($old_nav){
|
|
if($old_nav == 'bottom' || $old_nav == 'bottom_center'){
|
|
if($old_search == 'left') $options[] = 'search-form';
|
|
}
|
|
if($old_nav == 'top' && $old_search == 'left') $options[] = 'search';
|
|
if($old_nav == 'top') $options[] = 'nav';
|
|
if($old_nav == 'top' && $old_search == 'right') $options[] = 'search';
|
|
if($old_nav == 'bottom_center' || $old_nav == 'bottom') $options[] = 'html-4';
|
|
} else {
|
|
$options[] = 'search';
|
|
$options[] = 'nav';
|
|
}
|
|
|
|
return $options;
|
|
}
|
|
|
|
// Header Main Right
|
|
function flatsome_header_elements_right(){
|
|
global $old_nav, $old_search;
|
|
$cart = get_theme_mod('show_cart');
|
|
$account = get_theme_mod('myaccount_dropdown');
|
|
$options = array();
|
|
|
|
if($old_nav){
|
|
|
|
if($old_nav == 'top_right' && $old_search == 'left') $options[] = 'search';
|
|
if($old_nav == 'top_right') $options[] = 'nav';
|
|
if($old_nav == 'top_right' && $old_search == 'right') $options[] = 'search';
|
|
|
|
$options[] = 'html-3';
|
|
|
|
if(!empty($account) || $account == 1){
|
|
$options[] = 'account';
|
|
}
|
|
if($cart == 1 && $account == 1){
|
|
$options[] ='divider';
|
|
}
|
|
if(!empty($cart) || $cart == 1){
|
|
$options[] = 'cart';
|
|
}
|
|
|
|
} else{
|
|
$options = array('account','divider','cart');
|
|
}
|
|
|
|
return $options;
|
|
}
|
|
|
|
// Header Bottom Left
|
|
function flatsome_header_elements_bottom_left(){
|
|
global $old_nav, $old_search;
|
|
$options = array();
|
|
if($old_nav && $old_nav == 'bottom') $options[] = 'nav';
|
|
if($old_nav && ($old_search == 'right' && $old_nav == 'bottom')) $options[] = 'search';
|
|
return $options;
|
|
}
|
|
|
|
// Header Bottom Center
|
|
function flatsome_header_elements_bottom_center(){
|
|
global $old_nav, $old_search;
|
|
$options = array();
|
|
if($old_nav) {
|
|
if($old_nav == 'bottom_center') $options[] = 'search';
|
|
if($old_nav == 'bottom_center') $options[] = 'nav';
|
|
if($old_nav == 'bottom_center' && $old_search == 'right') $options[] = 'search';
|
|
}
|
|
return $options;
|
|
}
|
|
|
|
// Header Bottom Right
|
|
function flatsome_header_elements_bottom_right(){
|
|
global $old_nav, $old_search;
|
|
$options = array();
|
|
|
|
if($old_nav == 'bottom') {
|
|
$options[] = 'html-5';
|
|
}
|
|
|
|
return $options;
|
|
}
|
|
|
|
|
|
// Mobile Left
|
|
function flatsome_header_mobile_elements_left(){
|
|
$options = array('menu-icon');
|
|
return $options;
|
|
}
|
|
|
|
// Mobile Sidebar
|
|
function flatsome_header_mobile_sidebar(){
|
|
global $old_nav, $old_nav_topbar;
|
|
$options = array('search-form','nav',);
|
|
$account = get_theme_mod('myaccount_dropdown');
|
|
|
|
if($old_nav_topbar){
|
|
$options[]= 'divider';
|
|
$options[]= 'nav-top';
|
|
}
|
|
|
|
if(!$old_nav || $account == 1){
|
|
$options[] = 'account';
|
|
}
|
|
|
|
if(!$old_nav) $options[] = 'newsletter';
|
|
if(!$old_nav) $options[] = 'social';
|
|
|
|
$options[] = 'html-2';
|
|
$options[] = 'html-3';
|
|
|
|
return $options;
|
|
}
|
|
|
|
// Mobile right
|
|
function flatsome_header_mobile_elements_right(){
|
|
global $old_nav, $old_search;
|
|
$options = array();
|
|
|
|
if($old_nav){
|
|
if(get_theme_mod('show_cart') == 1) $options[] = 'cart';
|
|
} else{
|
|
$options[] = 'cart';
|
|
}
|
|
|
|
return $options;
|
|
}
|
|
|
|
// Mobile Top
|
|
function flatsome_header_mobile_elements_top(){
|
|
global $old_nav, $is_topbar;
|
|
if($old_nav && !$is_topbar) return array();
|
|
|
|
$options = array('html');
|
|
|
|
return $options;
|
|
}
|
|
|
|
// Fix old product sidebar layout
|
|
function flatsome_product_layout() {
|
|
$old_sidebar = get_theme_mod( 'product_sidebar' );
|
|
if( isset( $old_sidebar ) ) {
|
|
if( $old_sidebar === 'no_sidebar' ) {
|
|
return 'right-sidebar-small';
|
|
} else if( $old_sidebar === 'full_width' ) {
|
|
return 'no-sidebar';
|
|
} else if( $old_sidebar === 'left_sidebar' ) {
|
|
return 'left-sidebar-full';
|
|
} else if( $old_sidebar === 'right_sidebar' ) {
|
|
return 'right-sidebar';
|
|
} else if( $old_sidebar === 'right_sidebar_fullheight' ) {
|
|
return 'right-sidebar-full';
|
|
}
|
|
return 'right-sidebar-small';
|
|
} else {
|
|
return 'right-sidebar-small';
|
|
}
|
|
}
|