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>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
( function ( $ ) {
const $document = $( document );
$document.on( 'heartbeat-tick.wp-auth-check', function ( e, data ) {
if ( 'wp-auth-check' in data && ! data[ 'wp-auth-check' ] ) {
/* when opening the auth iframe popup, add our user key field so we can identify him */
setTimeout( function () {
$( '#wp-auth-check-frame' ).off( 'load.tvd' ).on( 'load.tvd', function () {
$( '#wp-auth-check-frame' ).contents().find( 'form#loginform' ).append( '<input type="hidden" name="tvd_auth_check_user_key" value="' + tvd_auth_check.userkey + '">' );
} );
} )
}
} );
/* after login, trigger and event on the document where other plugins can listen */
window.tvd_after_auth = function ( data ) {
$document.trigger( 'tvd_after_auth', data );
}
} )( jQuery );

View File

@@ -0,0 +1,115 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-dashboard
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Tvd_Auth_Check
*/
class Tvd_Auth_Check {
/**
* Tvd_Auth_Check constructor.
*/
public function __construct() {
/**
* Actions used for handling the interim login ( login via popup in Thrive Theme Dashboard )
*/
add_action( 'login_footer', array( $this, 'login_footer' ) );
add_action( 'set_logged_in_cookie', array( $this, 'set_logged_in_cookie' ), 10, 4 );
add_action( 'admin_enqueue_scripts', array( __CLASS__, 'auth_enqueue_scripts' ) );
}
public static function auth_enqueue_scripts() {
tve_dash_enqueue_script( 'tvd-auth-check', TVE_DASH_URL . '/inc/auth-check/auth-check.js' );
wp_localize_script( 'tvd-auth-check', 'tvd_auth_check', array( 'userkey' => static::generate_editor_key() ) );
}
/**
* Generate a new editor key for the user and save it
*
* @return bool|string
*/
public static function generate_editor_key() {
if ( ! $id = get_current_user_id() ) {
return false;
}
$key = wp_create_nonce( 'tcb_editor_key' );
update_user_meta( $id, 'tcb_edit_key', $key );
return $key;
}
/**
* get the current editor key for the user
*
* @param mixed $id
*
* @return bool|mixed
*/
public function get_user_editor_key( $id ) {
if ( ! $id && ! ( $id = get_current_user_id() ) ) {
return null;
}
return get_user_meta( $id, 'tcb_edit_key', true );
}
public function login_footer() {
global $interim_login;
if ( empty( $interim_login ) || $interim_login !== 'success' || empty( $_POST ) || empty( $_POST['tvd_auth_check_user_key'] ) || empty( $this->tvd_interim_user_id ) ) {
return;
}
/**
* Problem: during the login POST, after login, the user does not seem to be actually available
*/
$user_id = $this->tvd_interim_user_id;
/**
* This is used to correctly re-generate the nonce
*/
$_COOKIE[ LOGGED_IN_COOKIE ] = $this->tvd_interim_login_cookie;
$user_key = $this->get_user_editor_key( $user_id );
wp_set_current_user( $user_id );
if ( $user_key === $_POST['tvd_auth_check_user_key'] ) {
/* pass data that we need after the login auth */
$data = apply_filters( 'tvd_auth_check_data', array(
'rest_nonce' => wp_create_nonce( 'wp_rest' ),
) );
include 'handle-login.php';
}
}
/**
* Helper function to store the actual value of the logged in cookie during the login process stared from the dashboard
*
* @param string $logged_in_cookie The logged-in cookie.
* @param int $expire The time the login grace period expires as a UNIX timestamp.
* Default is 12 hours past the cookie's expiration time.
* @param int $expiration The time when the logged-in authentication cookie expires as a UNIX timestamp.
* Default is 14 days from now.
* @param int $user_id User ID.
*/
public function set_logged_in_cookie( $logged_in_cookie, $expire, $expiration, $user_id ) {
global $interim_login;
if ( ! empty( $interim_login ) && ! empty( $_POST ) && ! empty( $_POST['tvd_auth_check_user_key'] ) ) {
$this->tvd_interim_user_id = $user_id;
$this->tvd_interim_login_cookie = $logged_in_cookie;
}
}
}
new Tvd_Auth_Check();

View File

@@ -0,0 +1,21 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-dashboard
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
?>
<script type="text/javascript">
if ( window.parent && window.parent.tvd_auth_check ) {
if ( window.parent.tvd_auth_check.userkey === <?php echo json_encode( $user_key ) ?> ) {
window.parent.tvd_after_auth( <?php echo json_encode( $data ) ?> );
}
}
</script>