get_purchase(); if ( is_array( $payment_info ) && ! empty( $payment_info ) ) { ?>
get_free_templates(); if ( is_array( $free_templates ) && ! empty( $free_templates ) ) { echo '
'; foreach ( $free_templates as $ft ) { ?>
<?php echo esc_attr( $ft['title'] ); ?>
'; } 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; } }