Your IP : 216.73.216.138


Current Path : /home/ereika83/www/wp-content/plugins/instasuite-for-wordpress 4 3/
Upload File :
Current File : /home/ereika83/www/wp-content/plugins/instasuite-for-wordpress 4 3/kyvio.php

<?php
/*
Plugin Name: Kyvio for WordPress
Plugin URI: https://kyvio.com
Description: Turn your regular WordPress pages into Kyvio funnel pages
Version: 1.0.12
Author: Kyvio.com
Author URI: https://kyvio.com
*/

define( 'KYVIO_URL', plugin_dir_url(__FILE__) );
define( 'KYVIO_PATH', plugin_dir_path(__FILE__) );
define( 'KYVIO_BASENAME', plugin_basename( __FILE__ ) );

define( 'KYVIO_INC', KYVIO_PATH . 'inc/' );
define( 'KYVIO_ADMIN', KYVIO_PATH . 'admin/' );

define( 'KYVIO_VERSION', '1.0.12' );
define( 'KYVIO_CURRENT_THEME', wp_get_theme() );

define( 'KYVIO_CSS', KYVIO_URL . 'assets/css/' );
define( 'KYVIO_JS', KYVIO_URL . 'assets/js/' );

define( 'KYVIO_DOMAIN', 'kyvio.com' );

if ( is_admin() ) {
	require_once( KYVIO_ADMIN . 'admin.php' );
} else {
	require_once( KYVIO_INC . 'functions.php' );
}

function kyvio_call( $funnel_id = 0, $page_id = 0, $url_only = false, $variant = -1 ) {
	$token = get_option('instasuite_token');
	if ( empty($token) )
		return false;

	$funnel_id = intval($funnel_id);
	$page_id = intval($page_id);
	$url = ( empty($funnel_id) && empty($page_id) ) ? 'https://' . KYVIO_DOMAIN . '/api/funnels' : 'https://' . KYVIO_DOMAIN . '/api/funnels/' . $funnel_id . '/page/' . $page_id;

	if ( $variant > -1 )
		$url .= '?variant=' . $variant;

	if ( $url_only )
		return $url;
	
	$key = 'kyvio' . md5($url);
	$data = get_transient($key);
	if ( !$data ) {
		$call = wp_remote_get($url, array( 
				'timeout' => 120, 
				'httpversion' => '1.1',
				'sslverify' => false,
				'headers' => array(
					'Authorization' => 'Bearer ' . stripslashes($token),
					'Accept' => 'application/vnd.kyvio.v1+json',
					'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0'
				)
			)
		);
		if ( is_wp_error($call) ) {
			return false;
		} 
        else {
			if($call['response']['code'] == 401) {
				echo $call['body'];die();
			}
			else if ( $call['response']['code'] >= 400 ){
				return false;
			}

			$data = json_decode($call['body']);
			set_transient($key, $data, 60 * 10);
		}
	}
	return $data;
}

function kyvio_dump( $dump, $return = false ) {
	if ( $return )
		return '<pre>' . print_r($dump, true) . '</pre>';
	else
		echo '<pre>' . print_r($dump, true) . '</pre>';
}

require_once( KYVIO_INC . 'update-checker/plugin-update-checker.php' );
$kyvio_update = PucFactory::buildUpdateChecker(
	'https://isdata.kyvio.com/wp-update-server/?action=get_metadata&slug=kyvio-for-wordpress',
	__FILE__,
	'kyvio-for-wordpress'
);

add_filter("puc_manual_check_message-{$kyvio_update->slug}", 'kyvio_update_message', 10, 2);
function kyvio_update_message( $message, $status ) {
	if ( $status == 'update_available' )
		$message = 'A new version of Kyvio plugin is available.';
	else if ( $status == 'no_update' )
		$message = 'Kyvio plugin is up to date.';
	return $message;
}