Files
roi-theme/wp-content/plugins/thrive-ultimatum/thrive-dashboard/thrive-dashboard.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

182 lines
7.5 KiB
PHP
Executable File

<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-dashboard
*
* Requires PHP: 7.4
*
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Place where CONSTANTS, ACTIONS and FILTERS are defined
* Implementations of all of those are placed into inc/hooks.php
* Loads dependencies files
*/
/**
* CONSTANTS
*/
defined( 'TVE_DASH_PATH' ) || define( 'TVE_DASH_PATH', $GLOBALS['tve_dash_loaded_from'] === 'plugins' ? rtrim( plugin_dir_path( __FILE__ ), '/\\' ) : rtrim( get_template_directory(), '/\\' ) . '/thrive-dashboard' );
defined( 'TVE_DASH_CAPABILITY' ) || define( 'TVE_DASH_CAPABILITY', 'tve-use-td' );
defined( 'TVE_DASH_EDIT_CPT_CAPABILITY' ) || define( 'TVE_DASH_EDIT_CPT_CAPABILITY', 'tve-edit-cpt' );
defined( 'TVE_DASH_VERSION' ) || define( 'TVE_DASH_VERSION', require dirname( __FILE__ ) . '/version.php' );
defined( 'TVE_SECRET' ) || define( 'TVE_SECRET', 'tve_secret' );
/**
* Dashboard Database Version
* Meanwhile the 1.0.4 migration was deleted, so the next file should be 1.0.5
*/
defined( 'TVE_DASH_DB_VERSION' ) || define( 'TVE_DASH_DB_VERSION', '1.0.5' );
/**
* REQUIRED FILES
*/
require_once TVE_DASH_PATH . '/traits/trait-singleton.php';
require_once TVE_DASH_PATH . '/classes/class-tve-wpdb.php';
require_once TVE_DASH_PATH . '/rest-api/init.php';
require_once TVE_DASH_PATH . '/inc/util.php';
require_once TVE_DASH_PATH . '/inc/hooks.php';
require_once TVE_DASH_PATH . '/inc/functions.php';
require_once TVE_DASH_PATH . '/inc/crons.php';
require_once TVE_DASH_PATH . '/inc/plugin-updates/plugin-update-checker.php';
require_once TVE_DASH_PATH . '/inc/notification-manager/class-td-nm.php';
require_once TVE_DASH_PATH . '/inc/db-manager/class-td-db-migration.php';
require_once TVE_DASH_PATH . '/inc/db-manager/class-td-db-manager.php';
require_once TVE_DASH_PATH . '/inc/script-manager/class-tvd-sm.php';
require_once TVE_DASH_PATH . '/inc/login-editor/classes/class-main.php';
require_once TVE_DASH_PATH . '/inc/coming-soon/classes/class-main.php';
require_once TVE_DASH_PATH . '/inc/auth-check/class-tvd-auth-check.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-smart-shortcodes.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-global-shortcodes.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-smart-db.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-smart-site.php';
require_once TVE_DASH_PATH . '/inc/smart-site/class-tvd-smart-const.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-rest-controller.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/endpoints/class-tvd-groups-controller.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/endpoints/class-tvd-fields-controller.php';
require_once TVE_DASH_PATH . '/inc/access-manager/class-tvd-access-manager.php';
require_once TVE_DASH_PATH . '/inc/marketing/functions.php';
require_once TVE_DASH_PATH . '/inc/ttw-account/traits/trait-magic-methods.php';
require_once TVE_DASH_PATH . '/inc/ttw-account/traits/trait-ttw-utils.php';
require_once TVE_DASH_PATH . '/inc/ttw-account/classes/class-td-ttw-connection.php';
require_once TVE_DASH_PATH . '/inc/ttw-account/classes/class-td-ttw-update-manager.php';
require_once TVE_DASH_PATH . '/inc/automator/class-main.php';
require_once TVE_DASH_PATH . '/inc/design-packs/class-main.php';
require_once TVE_DASH_PATH . '/inc/smart-site/classes/class-tvd-content-sets.php';
require_once TVE_DASH_PATH . '/inc/cache/meta-cache.php';
require_once TVE_DASH_PATH . '/inc/cache/runtime-cache.php';
require_once TVE_DASH_PATH . '/inc/access-manager/class-tvd-am-functionality.php';
require_once TVE_DASH_PATH . '/inc/access-manager/class-tvd-am-admin-bar-visibility.php';
require_once TVE_DASH_PATH . '/inc/access-manager/class-tvd-am-login-redirect.php';
require_once TVE_DASH_PATH . '/inc/pdf/class-pdf-from-url.php';
require_once TVE_DASH_PATH . '/inc/metrics/class-main.php';
require_once TVE_DASH_PATH . '/inc/reporting-dashboard/functions.php';
require_once TVE_DASH_PATH . '/inc/growth-tools/classes/Tve_Dash_Growth_Tools.php';
require_once TVE_DASH_PATH . '/inc/app-notification/classes/App_Notification.php';
/**
* AUTO-LOADERS
*/
spl_autoload_register( 'tve_dash_autoloader' );
// Include composer autoloader.
include TVE_DASH_PATH . '/vendor/autoload.php';
/**
* Allow other products to hook in after the main dashboard files have been loaded
* done here because the next call to `tve_dash_get_features()` is hooked into every product, and each product needs the thrive dashboard ProductAbstract
*/
do_action( 'thrive_dashboard_loaded' );
if ( is_admin() ) {
$features = tve_dash_get_features();
if ( isset( $features['api_connections'] ) ) {
require_once TVE_DASH_PATH . '/inc/auto-responder/admin.php';
}
if ( isset( $features['icon_manager'] ) ) {
require_once( TVE_DASH_PATH . '/inc/icon-manager/classes/Tve_Dash_Thrive_Icon_Manager.php' );
}
/**
* Icon library
*/
require_once( TVE_DASH_PATH . '/inc/icon-manager/classes/Tve_Dash_Icon_Manager.php' );
/**
* Inbox notifications
*/
require_once TVE_DASH_PATH . '/inc/notification-inbox/class-td-inbox.php';
TD_Inbox::instance();
}
if ( wp_doing_ajax() || apply_filters( 'tve_leads_include_auto_responder', true ) ) { // I changed this for NM. We should always include autoresponder code in the solution
require_once TVE_DASH_PATH . '/inc/auto-responder/misc.php';
}
/**
* ACTIONS
*/
add_action( 'init', 'tve_dash_init_action' );
add_action( 'init', 'tve_dash_load_text_domain' );
/* priority -1 so we can be compatible with WP Cerber */
add_action( 'init',
function () {
TVD\Login_Editor\Main::init();
TVD\Coming_Soon\Main::init();
TVD\Dashboard\Access_Manager\Main::init();
TVD\Dashboard\Access_Manager\Admin_Bar_Visibility::init();
TVD\Dashboard\Access_Manager\Login_Redirect::init();
TVE\Dashboard\Design_Packs\Main::init();
TVE\Dashboard\Metrics\Main::init();
Tve_Dash_Growth_Tools::init();
App_Notification::instance();
}, - 1 );
if ( defined( 'WPSEO_FILE' ) ) {
/* Yoast SEO plugin installed -> use a hook provided by the plugin for configuring meta "robots" */
add_filter( 'wpseo_robots_array', function ( $robots ) {
if ( ! tve_dash_should_index_page() ) {
$robots = array( 'index' => 'noindex' );
}
return $robots;
} );
} else {
/* Default behaviour: add a meta "robots" noindex if needed */
add_action( 'wp_head', 'tve_dash_custom_post_no_index' );
}
add_action( 'wp_enqueue_scripts', 'tve_dash_frontend_enqueue' );
if ( is_admin() ) {
require TVE_DASH_PATH . '/inc/db-updater/init.php';
add_action( 'init', 'tve_dash_check_default_cap' );
add_action( 'admin_menu', 'tve_dash_admin_menu', 10 );
add_action( 'admin_enqueue_scripts', 'tve_dash_admin_enqueue_scripts' );
add_action( 'admin_enqueue_scripts', 'tve_dash_admin_dequeue_conflicting', 90000 );
add_action( 'wp_ajax_tve_dash_backend_ajax', 'tve_dash_backend_ajax' );
add_action( 'wp_ajax_tve_dash_front_ajax', 'tve_dash_frontend_ajax_load' );
add_action( 'wp_ajax_nopriv_tve_dash_front_ajax', 'tve_dash_frontend_ajax_load' );
add_action( 'current_screen', 'tve_dash_current_screen' );
add_action( 'admin_enqueue_scripts', 'add_generic_admin_css' );
}
/**
* Hook when a user submits a WordPress login form & the login has been successful
*
* Adds a user meta with last login timestamp
*/
add_action( 'wp_login', 'tve_dash_on_user_login', 10, 2 );
/**
* Hook when a user submits a WordPress login form & the login has been failed
*/
add_action( 'wp_login_failed', 'tve_dash_on_user_login_failed', 10, 2 );