File "start.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/unlimited-elements-for-elementor/provider/freemius/start.php
File
size: 10.56 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!defined('ABSPATH')) {
exit;
}
$this_sdk_version = '2.4.2';
global $fs_active_plugins;
if (!function_exists('fs_find_caller_plugin_file')) {
require_once dirname(__FILE__) . '/includes/fs-essential-functions.php';
}
$file_path = fs_normalize_path(__FILE__);
$fs_root_path = dirname($file_path);
$themes_directory = get_theme_root(get_stylesheet());
$themes_directory_name = basename($themes_directory);
$theme_candidate_basename = basename(dirname($fs_root_path)) . '/' . basename($fs_root_path);
if ($file_path == fs_normalize_path(realpath(trailingslashit($themes_directory) . $theme_candidate_basename . '/' . basename($file_path)))) {
$this_sdk_relative_path = '../' . $themes_directory_name . '/' . $theme_candidate_basename;
$is_theme = true;
} else {
$this_sdk_relative_path = plugin_basename($fs_root_path);
$is_theme = false;
}
if (!isset($fs_active_plugins)) {
$fs_active_plugins = get_option('fs_active_plugins', new stdClass());
if (!isset($fs_active_plugins->plugins)) {
$fs_active_plugins->plugins = array();
}
}
if (empty($fs_active_plugins->abspath)) {
$fs_active_plugins->abspath = ABSPATH;
} else {
if (ABSPATH !== $fs_active_plugins->abspath) {
$fs_active_plugins->abspath = ABSPATH;
$fs_active_plugins->plugins = array();
unset($fs_active_plugins->newest);
} else {
$has_changes = false;
foreach ($fs_active_plugins->plugins as $sdk_path => $data) {
if (!file_exists((isset($data->type) && 'theme' === $data->type ? $themes_directory : WP_PLUGIN_DIR) . '/' . $sdk_path)) {
unset($fs_active_plugins->plugins[$sdk_path]);
if (!empty($fs_active_plugins->newest) && $sdk_path === $fs_active_plugins->newest->sdk_path) {
unset($fs_active_plugins->newest);
}
$has_changes = true;
}
}
if ($has_changes) {
if (empty($fs_active_plugins->plugins)) {
unset($fs_active_plugins->newest);
}
update_option('fs_active_plugins', $fs_active_plugins);
}
}
}
if (!function_exists('fs_find_direct_caller_plugin_file')) {
require_once dirname(__FILE__) . '/includes/supplements/fs-essential-functions-1.1.7.1.php';
}
if (!function_exists('fs_get_plugins')) {
require_once dirname(__FILE__) . '/includes/supplements/fs-essential-functions-2.2.1.php';
}
if (!isset($fs_active_plugins->plugins[$this_sdk_relative_path]) || $this_sdk_version != $fs_active_plugins->plugins[$this_sdk_relative_path]->version) {
if ($is_theme) {
$plugin_path = basename(dirname($this_sdk_relative_path));
} else {
$plugin_path = plugin_basename(fs_find_direct_caller_plugin_file($file_path));
}
$fs_active_plugins->plugins[$this_sdk_relative_path] = (object) array('version' => $this_sdk_version, 'type' => $is_theme ? 'theme' : 'plugin', 'timestamp' => time(), 'plugin_path' => $plugin_path);
}
$is_current_sdk_newest = isset($fs_active_plugins->newest) && $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path;
if (!isset($fs_active_plugins->newest)) {
fs_update_sdk_newest_version($this_sdk_relative_path, $fs_active_plugins->plugins[$this_sdk_relative_path]->plugin_path);
$is_current_sdk_newest = true;
} else {
if (version_compare($fs_active_plugins->newest->version, $this_sdk_version, '<')) {
fs_update_sdk_newest_version($this_sdk_relative_path, $fs_active_plugins->plugins[$this_sdk_relative_path]->plugin_path);
if (class_exists('Freemius')) {
if (!$fs_active_plugins->newest->in_activation) {
fs_newest_sdk_plugin_first();
}
fs_redirect($_SERVER['REQUEST_URI']);
}
} else {
if (!function_exists('get_plugins')) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$fs_newest_sdk = $fs_active_plugins->newest;
$fs_newest_sdk = $fs_active_plugins->plugins[$fs_newest_sdk->sdk_path];
$is_newest_sdk_type_theme = isset($fs_newest_sdk->type) && 'theme' === $fs_newest_sdk->type;
if (!$is_newest_sdk_type_theme) {
$is_newest_sdk_plugin_active = is_plugin_active($fs_newest_sdk->plugin_path);
} else {
$current_theme = wp_get_theme();
$is_newest_sdk_plugin_active = $current_theme->stylesheet === $fs_newest_sdk->plugin_path;
$current_theme_parent = $current_theme->parent();
if (!$is_newest_sdk_plugin_active && $current_theme_parent instanceof WP_Theme) {
$is_newest_sdk_plugin_active = $fs_newest_sdk->plugin_path === $current_theme_parent->stylesheet;
}
}
if ($is_current_sdk_newest && !$is_newest_sdk_plugin_active && !$fs_active_plugins->newest->in_activation) {
$fs_active_plugins->newest->in_activation = true;
update_option('fs_active_plugins', $fs_active_plugins);
}
if (!$is_theme) {
$sdk_starter_path = fs_normalize_path(WP_PLUGIN_DIR . '/' . $this_sdk_relative_path . '/start.php');
} else {
$sdk_starter_path = fs_normalize_path($themes_directory . '/' . str_replace("../{$themes_directory_name}/", '', $this_sdk_relative_path) . '/start.php');
}
$is_newest_sdk_path_valid = ($is_newest_sdk_plugin_active || $fs_active_plugins->newest->in_activation) && file_exists($sdk_starter_path);
if (!$is_newest_sdk_path_valid && !$is_current_sdk_newest) {
unset($fs_active_plugins->plugins[$fs_active_plugins->newest->sdk_path]);
}
if (!($is_newest_sdk_plugin_active || $fs_active_plugins->newest->in_activation) || !$is_newest_sdk_path_valid || $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path && version_compare($fs_active_plugins->newest->version, $this_sdk_version, '>')) {
fs_fallback_to_newest_active_sdk();
} else {
if ($is_newest_sdk_plugin_active && $this_sdk_relative_path == $fs_active_plugins->newest->sdk_path && ($fs_active_plugins->newest->in_activation || class_exists('Freemius') && (!defined('WP_FS__SDK_VERSION') || version_compare(WP_FS__SDK_VERSION, $this_sdk_version, '<')))) {
if ($fs_active_plugins->newest->in_activation && !$is_newest_sdk_type_theme) {
$fs_active_plugins->newest->in_activation = false;
update_option('fs_active_plugins', $fs_active_plugins);
}
if (fs_newest_sdk_plugin_first()) {
if (class_exists('Freemius')) {
fs_redirect($_SERVER['REQUEST_URI']);
}
}
}
}
}
}
if (class_exists('Freemius')) {
return;
}
if (version_compare($this_sdk_version, $fs_active_plugins->newest->version, '<')) {
$newest_sdk = $fs_active_plugins->plugins[$fs_active_plugins->newest->sdk_path];
$plugins_or_theme_dir_path = !isset($newest_sdk->type) || 'theme' !== $newest_sdk->type ? WP_PLUGIN_DIR : $themes_directory;
$newest_sdk_starter = fs_normalize_path($plugins_or_theme_dir_path . '/' . str_replace("../{$themes_directory_name}/", '', $fs_active_plugins->newest->sdk_path) . '/start.php');
if (file_exists($newest_sdk_starter)) {
fs_newest_sdk_plugin_first();
require_once $newest_sdk_starter;
return;
}
}
if (!class_exists('Freemius')) {
if (!defined('WP_FS__SDK_VERSION')) {
define('WP_FS__SDK_VERSION', $this_sdk_version);
}
$plugins_or_theme_dir_path = fs_normalize_path(trailingslashit($is_theme ? $themes_directory : WP_PLUGIN_DIR));
if (0 === strpos($file_path, $plugins_or_theme_dir_path)) {
} else {
$sdk_symlink = null;
if (isset($fs_active_plugins->plugins[$this_sdk_relative_path]) && is_object($fs_active_plugins->plugins[$this_sdk_relative_path]) && !empty($fs_active_plugins->plugins[$this_sdk_relative_path]->sdk_symlink)) {
$sdk_symlink = $fs_active_plugins->plugins[$this_sdk_relative_path]->sdk_symlink;
if (0 === strpos($sdk_symlink, $plugins_or_theme_dir_path)) {
$sdk_symlink = substr($sdk_symlink, strlen($plugins_or_theme_dir_path));
$fs_active_plugins->plugins[$this_sdk_relative_path]->sdk_symlink = $sdk_symlink;
update_option('fs_active_plugins', $fs_active_plugins);
}
$realpath = realpath($plugins_or_theme_dir_path . $sdk_symlink);
if (!is_string($realpath) || !file_exists($realpath)) {
$sdk_symlink = null;
}
}
if (empty($sdk_symlink)) {
$partial_path_right = basename($file_path);
$partial_path_left = dirname($file_path);
$realpath = realpath($plugins_or_theme_dir_path . $partial_path_right);
while ('/' !== $partial_path_left && (false === $realpath || $file_path !== fs_normalize_path($realpath))) {
$partial_path_right = trailingslashit(basename($partial_path_left)) . $partial_path_right;
$partial_path_left_prev = $partial_path_left;
$partial_path_left = dirname($partial_path_left_prev);
if ($partial_path_left === $partial_path_left_prev) {
$partial_path_left = '';
break;
}
$realpath = realpath($plugins_or_theme_dir_path . $partial_path_right);
}
if (!empty($partial_path_left) && '/' !== $partial_path_left) {
$sdk_symlink = fs_normalize_path(dirname($partial_path_right));
if (isset($fs_active_plugins->plugins[$this_sdk_relative_path]) && is_object($fs_active_plugins->plugins[$this_sdk_relative_path])) {
$fs_active_plugins->plugins[$this_sdk_relative_path]->sdk_symlink = $sdk_symlink;
update_option('fs_active_plugins', $fs_active_plugins);
}
}
}
if (!empty($sdk_symlink)) {
define('WP_FS__DIR', $plugins_or_theme_dir_path . $sdk_symlink);
}
}
require_once dirname(__FILE__) . '/require.php';
function freemius($module_id)
{
return Freemius::instance($module_id);
}
function fs_init($slug, $plugin_id, $public_key, $is_live = true, $is_premium = true)
{
$fs = Freemius::instance($plugin_id, $slug, true);
$fs->init($plugin_id, $public_key, $is_live, $is_premium);
return $fs;
}
function fs_dynamic_init($module)
{
$fs = Freemius::instance($module['id'], $module['slug'], true);
$fs->dynamic_init($module);
return $fs;
}
function fs_dump_log()
{
FS_Logger::dump();
}
}