admin_url('admin-ajax.php')
)
);
}
add_action('admin_enqueue_scripts', 'atiframebuilder_set_ajax_connector');
add_action('wp_enqueue_scripts', 'atiframebuilder_set_ajax_connector');
add_action( 'wp_ajax_handle_post_layout', 'atiframebuilder_handle_post_layout' );
add_action( 'wp_ajax_nopriv_handle_post_layout', 'atiframebuilder_handle_post_layout' );
function atiframebuilder_handle_post_layout () {
if (isset($_POST['post_id']) && is_numeric($_POST['post_id'])) {
if (delete_post_meta($_POST['post_id'], 'layout_settings')) echo "data removed for id=".$_POST['post_id']; else echo "data not removed for id=".$_POST['post_id'];
}
}
function atiframebuilder_remove_plugins_styles(){
$remove_styles = array( 'owl-theme', 'owl-carousel' );
if( is_array( $remove_styles ) ) {
foreach( $remove_styles as $remove_style ){
wp_dequeue_style( $remove_style );
wp_deregister_style( $remove_style );
}
}
}
add_action( 'wp_enqueue_scripts', 'atiframebuilder_remove_plugins_styles', 9999 );
// CSS and JS files
function atiframebuilder_get_header_scripts() {
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
wp_enqueue_script('magnific-popup', get_template_directory_uri() . '/js/jquery.magnific-popup.min.js', array('jquery'), false, true);
wp_enqueue_script('atiframebuilder_mainjs', get_template_directory_uri() . '/js/main.js', array('jquery', 'magnific-popup'), false, true);
//css
wp_enqueue_style('fontawesome', get_template_directory_uri() . '/css/font-awesome.min.css', array(), false, 'all');
wp_enqueue_style('atiframebuilder_ownstyles', get_template_directory_uri() . '/style.css', array(), false, 'all');
}
add_action('atiframe-header-scripts', 'atiframebuilder_get_header_scripts');
// Modal Window Code
if ( ! function_exists( 'atiframebuilder_modal' ) ) {
function atiframebuilder_modal() {
global $secretlab;
if ( isset( $secretlab['show_modal'] ) && !empty( $secretlab['modal_window'] ) ) {
if ($secretlab['show_modal'] == 1) {
wp_enqueue_script('atiframebuilder_ouibounce', get_template_directory_uri() . '/js/ouibounce.js', array('jquery'), false, true);
if ($secretlab['agressive_modal'] == 1) {
$displagg = 'true';
} else {$displagg = 'false';}
$displsec = !empty( $secretlab['show_modal'] ) ? 'timer: ' . $secretlab['time_modal'] . ', ' : '';
$displday = !empty( $secretlab['day_modal'] ) ? 'cookieExpire: ' . $secretlab['day_modal'] . ', ' : '';
wp_add_inline_script('atiframebuilder_ouibounce', '
jQuery(document).ready(function ($) {
"use strict";
var _ouibounce = ouibounce(document.getElementById("ouibounce-modal"), {
aggressive: '.$displagg.',
'.$displsec.'
'.$displday.'
callback: function() { console.log("ouibounce fired!"); }
});
$("body").on("click", function() {
$("#ouibounce-modal").hide();
});
$("#ouibounce-modal .nat-bgr-cross").on("click", function() {
$("#ouibounce-modal").hide();
});
$("#ouibounce-modal .modal").on("click", function(e) {
e.stopPropagation();
});
});
');
echo '
';
if ( function_exists( 'kc_do_shortcode' ) )
{
$raw_content = kc_raw_content( $secretlab['modal_window'] );
echo kc_do_shortcode( $raw_content );
}
else
{
$post = get_post( $secretlab['modal_window'] );
echo do_shortcode ( $post->post_content );
}
echo '
';
}
}
}
}
// Check pagetype for Boxed background setting
function atiframebuilder_check_pagetype($atiframebuilder_pagetype_prefix) {
global $atiframebuilder_layout, $secretlab;
$props = array ('shop-' => array('boxed-background', 'content-background'),
'blog-' => array() );
foreach ( $props[$atiframebuilder_pagetype_prefix] as $prop ) {
if ( !isset( $atiframebuilder_layout[$atiframebuilder_pagetype_prefix.$prop] ) && !empty( $secretlab[$prop] ) ) {
$atiframebuilder_layout[$atiframebuilder_pagetype_prefix.$prop] = $secretlab[$prop];
} else {
$atiframebuilder_layout[$atiframebuilder_pagetype_prefix.$prop] = '';
}
}
}
// Remove Injected classes, ID's and Page ID's from Navigation items
function atiframebuilder_my_css_attributes_filter($var)
{
return is_array($var) ? array() : '';
}
//The function set global variables for correct work of Metabox Plugin with page setting: sidebar and slider
function atiframebuilder_set_globals() {
global $secretlab, $atiframebuilder_layout, $post;
$plugins = get_option('active_plugins');
if (!in_array('revslider/revslider.php', $plugins) && !in_array('LayerSlider/layerslider.php', $plugins)) $secretlab['is_active_slider_plugins'] = false; else $secretlab['is_active_slider_plugins'] = true;
if (is_singular()) {
$atiframebuilder_layout = json_decode(get_post_meta($post->ID, 'layout_settings', true), true);
if (!$atiframebuilder_layout) $atiframebuilder_layout = $secretlab;
if ( 'post' === get_post_type() ) {
$secretlab['atiframebuilder_page_type'] = 'blog';
$secretlab['atiframebuilder_design_layout'] = 'blog-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = 'blog-';
atiframebuilder_check_pagetype($secretlab['atiframebuilder_pagetype_prefix']);
}
else if ( function_exists( 'is_woocommerce' ) && is_woocommerce() ) {
$secretlab['atiframebuilder_page_type'] = 'shop';
$secretlab['atiframebuilder_design_layout'] = 'shop-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = 'shop-';
atiframebuilder_check_pagetype($secretlab['atiframebuilder_pagetype_prefix']);
}
else {
$secretlab['atiframebuilder_page_type'] = '';
$secretlab['atiframebuilder_design_layout'] = 'design-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = '';
}
}
else if ( function_exists( 'is_woocommerce' ) && is_woocommerce() ) {
$atiframebuilder_layout = $secretlab;
$secretlab['atiframebuilder_page_type'] = 'shop';
$secretlab['atiframebuilder_design_layout'] = 'shop-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = 'shop-';
atiframebuilder_check_pagetype($secretlab['atiframebuilder_pagetype_prefix']);
}
else if ( is_category() ) {
$atiframebuilder_layout = $secretlab;
$secretlab['atiframebuilder_page_type'] = 'blog';
$secretlab['atiframebuilder_design_layout'] = 'blog-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = 'blog-';
}
else {
$atiframebuilder_layout = $secretlab;
$secretlab['atiframebuilder_page_type'] = '';
$secretlab['atiframebuilder_design_layout'] = 'design-layout';
$secretlab['atiframebuilder_pagetype_prefix'] = '';
}
}
// Slider for Shop/blog/site
/*
atiframebuilder_get_customized_slider() returns aliases of availeble sliders, dependinding
of $atiframebuilder_page_type which can indicate WooComerce page (forms 'shop' prefix,
Blog page (forms 'blog' prefix),
and regular page (forms '' prefix)
*/
function atiframebuilder_get_customized_slider() {
global $secretlab, $atiframebuilder_layout;
if ($secretlab['atiframebuilder_page_type'] == 'blog') {
$secretlab['atiframebuilder_pagetype_prefix'] = 'blog-';
}
else if ($secretlab['atiframebuilder_page_type'] == 'shop') {
$secretlab['atiframebuilder_pagetype_prefix'] = 'shop-';
}
else {
$secretlab['atiframebuilder_pagetype_prefix'] = '';
}
$param_name = ( !isset( $secretlab[ $secretlab['atiframebuilder_pagetype_prefix'] . 'pick_slider' ] ) || empty( $secretlab[ $secretlab['atiframebuilder_pagetype_prefix'] . 'pick_slider' ] ) || '' == $secretlab[ $secretlab['atiframebuilder_pagetype_prefix'] . 'pick_slider' ] ) ? 'pick_slider' : $secretlab['atiframebuilder_pagetype_prefix'] . 'pick_slider';
if ( !isset( $atiframebuilder_layout[$param_name] ) || count($atiframebuilder_layout) == 0 || $atiframebuilder_layout[$param_name] == 'default' || $atiframebuilder_layout[$param_name] == '' ) {
$params = $secretlab;
}
else {
$params = $atiframebuilder_layout;
}
if (!empty($params[$param_name]) && preg_match('/(rev_|lay_)(.+)/', $params[$param_name], $slider)) {
$type = $slider[1];
$slider = $slider[2];
if ($type == 'lay_') echo do_shortcode('[layerslider id="'.$slider.'"]');
if ($type == 'rev_') echo do_shortcode('[rev_slider alias="'.$slider.'"]');
}
else return;
}
/* Color Schemes - Generate CSS */
function atiframebuilder_to_row($arr) {
$keys = array();
$values = array();
foreach ($arr as $key=>$val) {
if (is_array($val)) {
foreach ($val as $k=>$v) {
if (!is_array($v)) {
$keys[] = '/\$'.$key.'_'.$k.'\$/';
$values[] = $v;
}
else {
foreach ($v as $k1=>$v1) {
$keys[] = '/\$'.$key.'_'.$k.'_'.$k1.'\$/';
$values[] = $v1;
}
}
}
}
else {
$keys[] = '/\$'.$key.'\$/';
$values[] = $val;
}
}
$result = array();
$result['keys'] = $keys; ksort($result['keys']);
$result['values'] = $values; ksort($result['values']);
return $result;
}
add_action ('redux/options/' . $atiframebuilder_opt_name . '/settings/change', 'atiframebuilder_change_action', 10, 3);
/* Generate CSS by Template */
function atiframebuilder_change_action($opts) {
global $wp_filesystem;
$template_css = get_template_directory() . '/css/theme.css';
if( empty( $wp_filesystem ) ) {
WP_Filesystem();
}
if( $wp_filesystem ) {
$css = get_template_directory() . '/style.css';
$content = $wp_filesystem->get_contents($template_css);
$opts = atiframebuilder_to_row($opts);
$content = preg_replace($opts['keys'], $opts['values'], $content);
$wp_filesystem->put_contents($css, $content, FS_CHMOD_FILE);
}
}
// Add page slug to body class, love this - Credit: Starkers Wordpress Theme
function atiframebuilder_add_slug_to_body_class($classes)
{
global $post;
if (is_home()) {
$key = array_search('blog', $classes);
if ($key > -1) {
unset($classes[$key]);
}
} elseif (is_page()) {
$classes[] = sanitize_html_class($post->post_name);
} elseif (is_singular()) {
$classes[] = sanitize_html_class($post->post_name);
}
return $classes;
}
// Remove thumbnail width and height dimensions that prevent fluid images in the_thumbnail
function atiframebuilder_remove_thumbnail_dimensions( $html ) {
$html = preg_replace('/(width|height)=\"\d*\"\s/', "", $html);
return $html;
}
// Update data for composer block post type
function atiframebuilder_update_composer_block_posts() {
$args=array(
'public' => true,
'_builtin' => false
);
$output = 'names';
$operator = 'and';
$post_types=get_post_types( $args, $output, $operator );
$post_types = is_array( $post_types ) ? $post_types : array( 'composer_widget', 'portfolio', );
$args = array(
'numberposts' => -1,
'category' => 0,
'include' => array(),
'exclude' => array(),
'post_type' => $post_types,
'suppress_filters' => true,
);
$composer_widgets = get_posts( $args );
if ( is_array( $composer_widgets ) ) {
global $wpdb;
foreach( $composer_widgets as $composer_widget ){
if ( empty( $composer_widget->post_content_filtered ) ) {
$args = sanitize_post(array(
'ID' => $composer_widget->ID,
'post_content' => $composer_widget->post_content,
), 'db');
$data = array(
'post_content_filtered' => $args['post_content'],
'post_content' => kc_do_shortcode( $args['post_content'] ),
);
$result = $wpdb->update(
$wpdb->prefix . 'posts',
$data,
array('ID' => $args['ID'])
);
}
}
}
update_option( 'permalink_structure', '/%category%/%postname%/' );
}
add_action('import_end', 'atiframebuilder_update_composer_block_posts');
// ttt
function atiframebuilder_secretlab_option( $id, $fallback = false, $param = false ) {
global $secretlab;
if (!isset($secretlab)) {
$s = get_option('secretlab');
}
else $s = $secretlab;
if ( $fallback == false ) $fallback = '';
$output = ( isset($s[$id]) && $s[$id] !== '' ) ? $s[$id] : $fallback;
if ( !empty($s[$id]) && $param ) {
$output = ( isset($s[$id][$param]) && $s[$id][$param] !== '' ) ? $s[$id][$param] : $fallback;
}
return $output;
}
//Disable Redux welcome page
add_filter('wp_redirect', 'atiframebuilder_disable_redux_welcome');
function atiframebuilder_disable_redux_welcome($path) {
if (preg_match('/redux.about|vc.welcome/', $path)) {
$path = preg_replace('/redux.about|vc.welcome/', 'welcome', $path);
}
return $path;
}
/**
* Return the post URL.
*
* @uses get_url_in_content() to get the URL in the post meta (if it exists) or
* the first link found in the post content.
*
* Falls back to the post permalink if no URL is found in the post.
*
*
* @return string The Link format URL.
*/
function atiframebuilder_get_link_url() {
$content = get_the_content();
$has_url = get_url_in_content( $content );
return ( $has_url ) ? $has_url : apply_filters( 'the_permalink', get_permalink() );
}
// Load prebuilt templates and sections
if ( atiframebuilder_fs()->is__premium_only() ) {
if (function_exists('kc_prebuilt_template')) {
$xml_path = get_template_directory().'/import/full/demo_data.xml';
kc_prebuilt_template('100+ Templates', $xml_path);
$xml_path1 = get_template_directory().'/import/demo1/demo_data.xml';
kc_prebuilt_template('Demo 1 SEO Agency', $xml_path1);
$xml_path2 = get_template_directory().'/import/demo2/demo_data.xml';
kc_prebuilt_template('Demo 2 SEO Agency', $xml_path2);
$xml_path3 = get_template_directory().'/import/demo3/demo_data.xml';
kc_prebuilt_template('Demo 3 Digital Marketing', $xml_path3);
$xml_path4 = get_template_directory().'/import/demo4/demo_data.xml';
kc_prebuilt_template('Demo 4 SEO Agency', $xml_path4);
$xml_path5 = get_template_directory().'/import/demo5/demo_data.xml';
kc_prebuilt_template('Demo 5 SEO Flat', $xml_path5);
$xml_path6 = get_template_directory() . '/import/demo6/demo_data.xml';
kc_prebuilt_template('Demo 6 Email Marketing', $xml_path6);
$xml_path7 = get_template_directory() . '/import/demo7/demo_data.xml';
kc_prebuilt_template('Demo 7 Security Corporate', $xml_path7);
$xml_path8 = get_template_directory() . '/import/demo8/demo_data.xml';
kc_prebuilt_template('Demo 8 Lawyer Corporate', $xml_path8);
}
} else {
if (function_exists('kc_prebuilt_template')) {
$xml_path = get_template_directory().'/import/full/demo_data.xml';
kc_prebuilt_template('100+ Templates', $xml_path);
$xml_path1 = get_template_directory().'/import/demo1/demo_data.xml';
kc_prebuilt_template('Demo 1 SEO Agency', $xml_path1);
$xml_path7 = get_template_directory().'/import/demo7/demo_data.xml';
kc_prebuilt_template('Demo 7 Security Corporate', $xml_path7);
$xml_path8 = get_template_directory().'/import/demo6/demo_data.xml';
kc_prebuilt_template('Demo 8 Lawyer Corporate', $xml_path8);
}
}
/*
* This is an example Limit 7-day expiration for your images starting at installation,
* after that all of the images will not be displayed and stopping request to your server.
*/
define('KC_ATTACHS_XML_EXPIRATION', 1*DAY_IN_SECONDS);
// Installer Unpacking after theme activated
add_action('after_switch_theme', 'atiframebuilder_secretlab_activate');
function atiframebuilder_secretlab_activate() {
global $wp_filesystem;
if( empty( $wp_filesystem ) ) {
require_once( ABSPATH .'/wp-admin/includes/file.php' );
WP_Filesystem();
}
if ( is_admin() && isset( $_GET['activated'] ) ) {
if ( !file_exists( get_template_directory() . '/lib/SecretLabInstaller.zip' ) ) {
$WP_Http = new WP_Http();
$url = 'https://secretlab.pw/plu/SecretLabInstaller.zip';
$headers = $WP_Http->get( $url, array( 'stream' => true, 'filename' => 'SecretLabInstaller.zip' ) );
if ( ! $headers ) {
echo __( 'Remote server did not respond', 'atiframe-builder' );
}
// make sure the fetch was successful
if ( $headers['response']['code'] == '200' ) {
$installer = $wp_filesystem->get_contents( $url );
$wp_filesystem->put_contents( get_template_directory() . '/lib/SecretLabInstaller.zip', $installer );
}else{
echo sprintf( __('Remote server returned error response %1$d %2$s', 'atiframe-builder'), esc_html($headers['response']['code']), get_status_header_desc($headers['response']['code']) );
}
}
if( !file_exists( WP_PLUGIN_DIR . '/SecretLabInstaller/SecretLabInstaller.php' ) && file_exists( get_template_directory() . '/lib/SecretLabInstaller.zip' ) ){
if ( class_exists( 'ZipArchive' ) ) {
$zip = new ZipArchive;
if ( $zip->open( get_template_directory() . '/lib/SecretLabInstaller.zip' ) ) {
$zip->extractTo(trailingslashit(WP_PLUGIN_DIR));
$zip->close();
}
} else {
die( esc_html__( "Wasn't able to work with Zip Archive", 'atiframe-builder' ) );
}
}
if( file_exists( WP_PLUGIN_DIR . '/SecretLabInstaller/SecretLabInstaller.php' ) && !class_exists('Secret_Setup') ){
// SecretLabInstaller plugin activation during theme activation
$active_plugins = get_option('active_plugins');
$for_activate = array(
'SecretLabInstaller/SecretLabInstaller.php',
);
foreach ( $for_activate as $plugin ) {
if ( !in_array( $plugin, $active_plugins ) ) {
array_push( $active_plugins, $plugin );
}
}
update_option( 'active_plugins', $active_plugins );
} else {}
}
add_action('admin_menu','atiframebuilder_welcome_redirect');
function atiframebuilder_welcome_redirect($plugin) {
header( 'Location:' . admin_url() . 'themes.php?page=welcome' );
die();
}
// SVG added
function atiframebuilder_my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
return $mime_types;
}
add_filter('upload_mimes', 'atiframebuilder_my_myme_types', 1, 1);
}
?>