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 = wp_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 = wp_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 = wp_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 = wp_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;
}
}