HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/shootinschool/wp-content/themes/shootinschool/admin/includes/theme.php
<?php


/*Redirect to theme Welcome screen*/
global $pagenow;

if (is_admin() && 'themes.php' == $pagenow && isset($_GET['activated'])  && !defined('ENVATO_HOSTED_SITE') ) {
	wp_redirect(admin_url("admin.php?page=stm-admin"));
}

/*Theme info*/
function stm_get_theme_info()
{
	$theme = wp_get_theme();
	$theme_name = $theme->get('Name');
	$theme_v = $theme->get('Version');
	
	$theme_info = array(
		'name' => $theme_name,
		'slug' => sanitize_file_name(strtolower($theme_name)),
		'v' => $theme_v,
	);
	
	return $theme_info;
}

function stm_beautify_theme_response($theme)
{
	return array(
		'id' => $theme['id'],
		'name' => (!empty($theme['wordpress_theme_metadata']['theme_name']) ? $theme['wordpress_theme_metadata']['theme_name'] : ''),
		'author' => (!empty($theme['wordpress_theme_metadata']['author_name']) ? $theme['wordpress_theme_metadata']['author_name'] : ''),
		'version' => (!empty($theme['wordpress_theme_metadata']['version']) ? $theme['wordpress_theme_metadata']['version'] : ''),
		'url' => (!empty($theme['url']) ? $theme['url'] : ''),
		'author_url' => (!empty($theme['author_url']) ? $theme['author_url'] : ''),
		'thumbnail_url' => (!empty($theme['thumbnail_url']) ? $theme['thumbnail_url'] : ''),
		'rating' => (!empty($theme['rating']) ? $theme['rating'] : ''),
	);
}

function stm_get_token()
{
	$token = get_option('envato_market', array());
	$return_token = '';
	if (!empty($token['token'])) {
		$return_token = $token['token'];
	}
	
	return $return_token;
}

function stm_check_token($args = array())
{

	/*If envato hosted*/
	if ( defined('ENVATO_HOSTED_SITE') ) return true;

	$has_token = get_site_transient('stm_theme_token_added');
	
	$purchased = false;
	
	if (false === $has_token) {
		$defaults = array(
			'headers' => array(
				'Authorization' => 'Bearer ' . stm_get_token(),
				'User-Agent' => 'WordPress - Splash',
			),
			'filter_by' => 'wordpress-themes',
			'timeout' => 20,
		);
		$args = wp_parse_args($args, $defaults);
		
		$url = 'https://api.envato.com/v3/market/buyer/list-purchases?filter_by=wordpress-themes';
		
		$response = wp_remote_get(esc_url_raw($url), $args);
		
		// Check the response code.
		$response_code = wp_remote_retrieve_response_code($response);
		
		if ($response_code == '200') {
			$return = json_decode(wp_remote_retrieve_body($response), true);
			foreach ($return['results'] as $theme) {
				$theme_info = stm_beautify_theme_response($theme['item']);
				
				if ($theme_info['name'] == STM_ITEM_NAME) {
					$purchased = true;
					set_site_transient('stm_theme_token_added', 'token_set');
				}
			}
			
			if (!$purchased) {
				$purchased = false;
				delete_site_transient('stm_theme_token_added');
			}
		}
	} else {
		$purchased = true;
	}
	
	return $purchased;
}

function stm_set_token()
{
	if (isset($_POST['stm_registration'])) {
		if (isset($_POST['stm_registration']['token'])) {
			delete_site_transient('stm_theme_token_added');
			
			$token = array();
			$token['token'] = sanitize_text_field($_POST['stm_registration']['token']);
			
			update_option('envato_market', $token);
			
			$envato_market = Envato_Market::instance();
			$envato_market->items()->set_themes(true);
		}
	}
}

add_action('init', 'stm_set_token');

function stm_convert_memory($size)
{
	$l = substr($size, -1);
	$ret = substr($size, 0, -1);
	switch (strtoupper($l)) {
		case 'P':
			$ret *= 1024;
		case 'T':
			$ret *= 1024;
		case 'G':
			$ret *= 1024;
		case 'M':
			$ret *= 1024;
		case 'K':
			$ret *= 1024;
	}
	return $ret;
}

function stm_theme_support_url()
{
	return 'https://stylemixthemes.com/';
}

function stm_get_plugin_tgm_link($plugin_path, $plugin_name)
{
	$installed_plugins = get_plugins();
	$plugins = TGM_Plugin_Activation::$instance->plugins;
	
	$plugin = array();
	if (!empty($plugins) and !empty($plugins[$plugin_name])) {
		$plugin = $plugins[$plugin_name];
	}
	
	
	$url = '';
	$install = false;
	
	if (empty($installed_plugins[$plugin_path])) {
		$url = esc_url(wp_nonce_url(
			add_query_arg(
				array(
					'page' => urlencode(TGM_Plugin_Activation::$instance->menu),
					'plugin' => urlencode($plugin['slug']),
					'plugin_name' => urlencode($plugin['name']),
					'tgmpa-install' => 'install-plugin',
					'return_url' => 'stm-admin-demos',
				),
				TGM_Plugin_Activation::$instance->get_tgmpa_url()
			),
			'tgmpa-install',
			'tgmpa-nonce'
		));
		$install = true;
	} else {
		$url = esc_url(wp_nonce_url(
			add_query_arg(
				array(
					'page' => urlencode(TGM_Plugin_Activation::$instance->menu),
					'plugin' => urlencode($plugin['slug']),
					'plugin_name' => urlencode($plugin['name']),
					'tgmpa-install' => 'activate-plugin',
					'return_url' => 'stm-admin-demos',
				),
				TGM_Plugin_Activation::$instance->get_tgmpa_url()
			),
			'tgmpa-install',
			'tgmpa-nonce'
		));
	}
	
	if ($install) {
		$plugin['plugin_url_activate'] = '<a class="button button-primary" href="' . esc_url($url) . '">' . esc_html__('Install', 'splash') . '</a>';
	} else {
		$plugin['plugin_url_activate'] = '<a class="button button-primary" href="' . esc_url($url) . '">' . esc_html__('Activate', 'splash') . '</a>';
	}
	
	return $plugin;
}

function stm_get_admin_images_url($image)
{
	return esc_url(get_template_directory_uri() . '/assets/admin/images/' . $image);
}