get_purchase();
if (is_array($payment_info) && !empty($payment_info)) {
?>
';
foreach ($free_templates as $ft) {
?>
';
} else {
?>
esc_like('_transient_' . $prefix);
/*SQL*/
$sql = "SELECT `option_name` FROM $wpdb->options WHERE `option_name` LIKE '%s'";
/*Get transients*/
$transients = $wpdb->get_results(
$wpdb->prepare(
$sql,
$prefix . '%'
),
ARRAY_A
);
/*Return*/
if ($transients && ! is_wp_error($transients)) {
return $transients;
}
/*No transients, return false*/
return false;
}
}
/**
* Delete Transients by prefix
*
* @param $prefix string Prefix of Transients
* without _transient_
*
* @return array|boolean Array of found Transients and deleted Transients options name
* or false if no Transients
*/
if (!function_exists('templateberg_delete_transients_by_prefix')) {
function templateberg_delete_transients_by_prefix($prefix)
{
$transients = templateberg_get_transients_by_prefix($prefix);
if (! $transients) {
return false;
}
$deleted = array();
/*Loop through found transients*/
foreach ($transients as $transient) {
$deleted[] = $transient['option_name'];
delete_transient(str_replace('_transient_', '', $transient['option_name']));
}
/*Return an array of total transients
and deleted transients option_name*/
return array(
'found' => count($transients),
'deleted' => $deleted,
);
}
}
/**
* Function create pagination
*
* @param [array] $attr
* @return String
*/
if (!function_exists('templateberg_pagination')) {
function templateberg_pagination($paged = false, $max_num_pages = false)
{
$da_link = get_post_type_archive_link('download');
$nextDisabled = ($paged+1) > $max_num_pages?'tb-list__page-disabled':'';
$prevDisabled = ($paged-1) < 1 ?'tb-list__page-disabled':'';
$prevPage = ($paged-1) < 1?1:$paged-1;
$nextPage = ($paged+1) > $max_num_pages?$max_num_pages:$paged+1;
$phtml = '';
$phtml .= '
';
return $phtml;
}
}
/**
* Function to get Current Theme Info
*
* @param [array] $attr
* @return array
*/
if (!function_exists('templateberg_get_current_theme_info')) {
function templateberg_get_current_theme_info()
{
return array(
'template'=>get_template(),
'stylesheet'=>get_stylesheet(),
'author'=>wp_get_theme()->get('Author'),
);
}
}
/**
* Function to get Current Theme Button
*
* @param [array] $attr
* @return boolean
*/
if (!function_exists('templateberg_is_current_theme_template_available')) {
function templateberg_is_current_theme_template_available($item)
{
$is_available = false;
if (!isset($item['is_pro']) || !$item['is_pro']) {
$is_available= true;
} elseif (empty(templateberg_connect()->get_current_theme_purchase_templates_id())) {
$is_available = false;
} elseif (in_array($item['id'], templateberg_connect()->get_current_theme_purchase_templates_id())) {
$is_available = true;
}
return $is_available;
}
}
/**
* Function check if templates has set up
*
* @param [array] $attr
* @return boolean
*/
if (!function_exists('templateberg_has_templates')) {
function templateberg_has_templates($type, $theme_slug = '')
{
$is_available = false;
switch ($type) {
case 'current-theme':
$paged = get_query_var('paged')?get_query_var('paged'):1;
if ($theme_slug) {
$theme = $theme_slug;
} else {
$theme = get_stylesheet();
}
$themes_list = templateberg_get_current_theme_templates($paged, $theme);
if ($themes_list && 'nothing' !== $themes_list) {
$is_available = true;
}
break;
case 'available-themes':
$paged = get_query_var('paged')?get_query_var('paged'):1;
$themes_list = templateberg_get_theme_templates($paged);
if ($themes_list) {
$is_available = true;
}
break;
default:
$paged = get_query_var('paged')?get_query_var('paged'):1;
$templates_list = templateberg_get_gutenberg_templates($paged);
if ($templates_list) {
$is_available = true;
}
break;
}
return $is_available;
}
}
/**
* Function set gutenberg templates
*
* @param [array] $attr
* @return boolean
*/
if (!function_exists('templateberg_set_gutenberg_templates')) {
function templateberg_set_gutenberg_templates($templates_list, $paged = 1)
{
$is_set = false;
$message = array();
if (set_transient('templateberg_gt_'.$paged, $templates_list, WEEK_IN_SECONDS) !== true) {
global $wp_filesystem;
if (! $wp_filesystem) {
require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php';
}
$upload_dir = wp_upload_dir();
$dir = trailingslashit($upload_dir['basedir']) . 'templateberg' . DIRECTORY_SEPARATOR;
WP_Filesystem();
if (! $wp_filesystem->is_dir($dir)) {
$message[] = $dir . __(' not exists', 'templateberg');
if ($wp_filesystem->mkdir($dir)) {
$message[] = $dir . __(' created', 'templateberg');
} else {
$message[] = $dir . __(' create permission issue', 'templateberg');
}
} else {
$message[] = $dir . __(' exists', 'templateberg');
}
$templates_list = json_encode($templates_list);
if ($wp_filesystem->put_contents($dir . 'gt-'.$paged.'.json', $templates_list, 0644)) {
$is_set = true;
$message[] = __('Successfully created file ', 'templateberg') . 'gt-'.$paged.'.json';
} else {
$message[] = __('Permission denied to create file ', 'templateberg') . 'gt-'.$paged.'.json';
}
} else {
$is_set = true;
}
return $is_set;
}
}
/**
* Function get gutenberg templates
*
* @param [array] $attr
* @return boolean
*/
if (!function_exists('templateberg_get_gutenberg_templates')) {
function templateberg_get_gutenberg_templates($paged = 1)
{
$templates_list = get_transient('templateberg_gt_'.$paged);
if (!$templates_list) {
$upload_dir = wp_upload_dir();
$file_dir = $upload_dir['basedir'] . '/templateberg/'.'gt-'.$paged.'.json';
if (file_exists($file_dir)) {
$file_url = $upload_dir['baseurl'] . '/templateberg/'.'gt-'.$paged.'.json';
$body_args = array(
/*API version*/
'api_version' => TEMPLATEBERG_VERSION,
/*lang*/
'site_lang' => get_bloginfo('language'),
);
$raw_json = wp_safe_remote_get(
$file_url,
array(
'timeout' => 100,
'body' => $body_args,
)
);
if (! is_wp_error($raw_json)) {
$templates_list = json_decode(wp_remote_retrieve_body($raw_json), true);
} else {
$templates_list = false;
}
}
}
return $templates_list;
}
}
/**
* Function set editor templates
*
* @param [array] $templates_list
* @param [int] $paged
* @return boolean
*/
if (!function_exists('templateberg_set_editor_templates')) {
function templateberg_set_editor_templates($templates_list, $paged = 1)
{
$is_set = false;
$message = array();
ob_start();
$is_transient_saved = set_transient('templateberg_edt_'.$paged, $templates_list, WEEK_IN_SECONDS);
ob_clean();
if ($is_transient_saved !== true) {
global $wp_filesystem;
if (! $wp_filesystem) {
require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php';
}
$upload_dir = wp_upload_dir();
$dir = trailingslashit($upload_dir['basedir']) . 'templateberg' . DIRECTORY_SEPARATOR;
WP_Filesystem();
if (! $wp_filesystem->is_dir($dir)) {
$message[] = $dir . __(' not exists', 'templateberg');
if ($wp_filesystem->mkdir($dir)) {
$message[] = $dir . __(' created', 'templateberg');
} else {
$message[] = $dir . __(' create permission issue', 'templateberg');
}
} else {
$message[] = $dir . __(' exists', 'templateberg');
}
$templates_list = json_encode($templates_list);
if ($wp_filesystem->put_contents($dir . 'edt-'.$paged.'.json', $templates_list, 0644)) {
$is_set = true;
$message[] = __('Successfully created file ', 'templateberg') . 'edt-'.$paged.'.json';
} else {
$message[] = __('Permission denied to create file ', 'templateberg') . 'edt-'.$paged.'.json';
}
} else {
$is_set = true;
}
return $is_set;
}
}
/**
* Function get editor templates
*
* @param [int] $paged
* @return array
*/
if (!function_exists('templateberg_get_editor_templates')) {
function templateberg_get_editor_templates($paged = 1)
{
$templates_list = get_transient('templateberg_edt_'.$paged);
if (!$templates_list) {
$upload_dir = wp_upload_dir();
$file_dir = $upload_dir['basedir'] . '/templateberg/'.'edt-'.$paged.'.json';
if (file_exists($file_dir)) {
$file_url = $upload_dir['baseurl'] . '/templateberg/'.'edt-'.$paged.'.json';
$body_args = array(
/*API version*/
'api_version' => TEMPLATEBERG_VERSION,
/*lang*/
'site_lang' => get_bloginfo('language'),
);
$raw_json = wp_safe_remote_get(
$file_url,
array(
'timeout' => 100,
'body' => $body_args,
)
);
if (! is_wp_error($raw_json)) {
$templates_list = json_decode(wp_remote_retrieve_body($raw_json), true);
} else {
$templates_list = false;
}
}
}
return $templates_list;
}
}
/**
* Function set theme templates
*
* @param [array] $templates_list
* @param [int] $paged
* @return boolean
*/
if (!function_exists('templateberg_set_theme_templates')) {
function templateberg_set_theme_templates($templates_list, $paged = 1)
{
$is_set = false;
$message = array();
if (set_transient('templateberg_tt_'.$paged, $templates_list, 'WEEK_IN_SECONDS') !== true) {
global $wp_filesystem;
if (! $wp_filesystem) {
require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php';
}
$upload_dir = wp_upload_dir();
$dir = trailingslashit($upload_dir['basedir']) . 'templateberg' . DIRECTORY_SEPARATOR;
WP_Filesystem();
if (! $wp_filesystem->is_dir($dir)) {
$message[] = $dir . __(' not exists', 'templateberg');
if ($wp_filesystem->mkdir($dir)) {
$message[] = $dir . __(' created', 'templateberg');
} else {
$message[] = $dir . __(' create permission issue', 'templateberg');
}
} else {
$message[] = $dir . __(' exists', 'templateberg');
}
$templates_list = json_encode($templates_list);
if ($wp_filesystem->put_contents($dir . 'tt-'.$paged.'.json', $templates_list, 0644)) {
$is_set = true;
$message[] = __('Successfully created file ', 'templateberg') . 'tt-'.$paged.'.json';
} else {
$message[] = __('Permission denied to create file ', 'templateberg') . 'tt-'.$paged.'.json';
}
} else {
$is_set = true;
}
return $is_set;
}
}
/**
* Function get editor templates
*
* @param [int] $paged
* @return array
*/
if (!function_exists('templateberg_get_theme_templates')) {
function templateberg_get_theme_templates($paged = 1)
{
$templates_list = get_transient('templateberg_tt_'.$paged);
if (!$templates_list) {
$upload_dir = wp_upload_dir();
$file_dir = $upload_dir['basedir'] . '/templateberg/'.'tt-'.$paged.'.json';
if (file_exists($file_dir)) {
$file_url = $upload_dir['baseurl'] . '/templateberg/'.'tt-'.$paged.'.json';
$body_args = array(
/*API version*/
'api_version' => TEMPLATEBERG_VERSION,
/*lang*/
'site_lang' => get_bloginfo('language'),
);
$raw_json = wp_safe_remote_get(
$file_url,
array(
'timeout' => 100,
'body' => $body_args,
)
);
if (! is_wp_error($raw_json)) {
$templates_list = json_decode(wp_remote_retrieve_body($raw_json), true);
} else {
$templates_list = false;
}
}
}
return $templates_list;
}
}
/**
* Function set current theme templates
*
* @param [array] $templates_list
* @param [int] $paged
* @return boolean
*/
if (!function_exists('templateberg_set_current_theme_templates')) {
function templateberg_set_current_theme_templates($templates_list, $paged = 1, $theme_slug = '')
{
$is_set = false;
$message = array();
if ($theme_slug) {
$theme = $theme_slug;
} else {
$theme = get_stylesheet();
}
if (set_transient('templateberg_ct_'.$theme.'_templates_'.$paged, $templates_list, 'WEEK_IN_SECONDS') !== true) {
global $wp_filesystem;
if (! $wp_filesystem) {
require_once ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'file.php';
}
$upload_dir = wp_upload_dir();
$dir = trailingslashit($upload_dir['basedir']) . 'templateberg' . DIRECTORY_SEPARATOR;
WP_Filesystem();
if (! $wp_filesystem->is_dir($dir)) {
$message[] = $dir . __(' not exists', 'templateberg');
if ($wp_filesystem->mkdir($dir)) {
$message[] = $dir . __(' created', 'templateberg');
} else {
$message[] = $dir . __(' create permission issue', 'templateberg');
}
} else {
$message[] = $dir . __(' exists', 'templateberg');
}
$templates_list = json_encode($templates_list);
if ($wp_filesystem->put_contents($dir . 'ct-'.$theme.'-'.$paged.'.json', $templates_list, 0644)) {
$is_set = true;
$message[] = __('Successfully created file ', 'templateberg') . 'ct-'.$theme.'-'.$paged.'.json';
} else {
$message[] = __('Permission denied to create file ', 'templateberg') . 'ct-'.$theme.'-'.$paged.'.json';
}
} else {
$is_set = true;
}
return $is_set;
}
}
/**
* Function get current theme templates
*
* @param [int] $paged
* @return array
*/
if (!function_exists('templateberg_get_current_theme_templates')) {
function templateberg_get_current_theme_templates($paged = 1, $theme_slug = '')
{
if ($theme_slug) {
$theme = $theme_slug;
} else {
$theme = get_stylesheet();
}
$templates_list = get_transient('templateberg_ct_'.$theme.'_templates_' . $paged);
if (!$templates_list) {
$upload_dir = wp_upload_dir();
$file_dir = $upload_dir['basedir'] . '/templateberg/'.'ct-'.$theme.'-'.$paged.'.json';
if (file_exists($file_dir)) {
$file_url = $upload_dir['baseurl'] . '/templateberg/'.'ct-'.$theme.'-'.$paged.'.json';
$body_args = array(
/*API version*/
'api_version' => TEMPLATEBERG_VERSION,
/*lang*/
'site_lang' => get_bloginfo('language'),
);
$raw_json = wp_safe_remote_get(
$file_url,
array(
'timeout' => 100,
'body' => $body_args,
)
);
if (! is_wp_error($raw_json)) {
$templates_list = json_decode(wp_remote_retrieve_body($raw_json), true);
} else {
$templates_list = false;
}
}
}
return $templates_list;
}
}
/**
* Function check if templates has set up
*
* @param [array] $attr
* @return boolean
*/
if (!function_exists('templateberg_current_theme_is_nothing')) {
function templateberg_current_theme_is_nothing()
{
$is_available = false;
$paged = get_query_var('paged')?get_query_var('paged'):1;
$theme = get_stylesheet();
$themes_list = templateberg_get_current_theme_templates($paged, $theme);
if ('nothing' === $themes_list) {
$is_available = true;
}
return $is_available;
}
}