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,160 @@
<?php
/**
* Frontend Scripts.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*/
namespace AdvancedAds\Frontend;
use Advanced_Ads;
use Advanced_Ads_Utils;
use Advanced_Ads_Privacy;
use AdvancedAds\Utilities\WordPress;
use AdvancedAds\Utilities\Conditional;
use AdvancedAds\Framework\Utilities\Params;
use AdvancedAds\Framework\Interfaces\Integration_Interface;
defined( 'ABSPATH' ) || exit;
/**
* Frontend Scripts.
*/
class Scripts implements Integration_Interface {
/**
* Hook into WordPress.
*
* @return void
*/
public function hooks(): void {
add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
add_action( 'wp_head', [ $this, 'print_head_scripts' ], 7 );
add_action( 'wp_footer', [ $this, 'print_footer_scripts' ], 100 );
}
/**
* Register and enqueues public-facing JavaScript files.
*
* @return void
*/
public function enqueue_scripts(): void {
if ( Conditional::is_amp() ) {
return;
}
wp_register_script(
ADVADS_SLUG . '-advanced-js',
sprintf( '%spublic/assets/js/advanced%s.js', ADVADS_BASE_URL, defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min' ),
[ 'jquery' ],
ADVADS_VERSION,
false
);
$privacy = Advanced_Ads_Privacy::get_instance();
$privacy_options = $privacy->options();
$privacy_options['enabled'] = ! empty( $privacy_options['enabled'] );
$privacy_options['state'] = $privacy->get_state();
wp_localize_script(
ADVADS_SLUG . '-advanced-js',
'advads_options',
[
'blog_id' => get_current_blog_id(),
'privacy' => $privacy_options,
]
);
$frontend_picker = Params::cookie( 'advads_frontend_picker' );
$activated_js = apply_filters( 'advanced-ads-activate-advanced-js', isset( Advanced_Ads::get_instance()->options()['advanced-js'] ) );
if ( $activated_js || ! empty( $frontend_picker ) ) {
wp_enqueue_script( ADVADS_SLUG . '-advanced-js' );
}
wp_register_script(
ADVADS_SLUG . '-frontend-picker',
sprintf( '%spublic/assets/js/frontend-picker%s.js', ADVADS_BASE_URL, defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min' ),
[ 'jquery', ADVADS_SLUG . '-advanced-js' ],
ADVADS_VERSION,
false
);
if ( ! empty( $frontend_picker ) ) {
wp_enqueue_script( ADVADS_SLUG . '-frontend-picker' );
}
wp_advads()->registry->enqueue_script( 'find-adblocker' );
}
/**
* Print public-facing JavaScript in the HTML head.
*
* @return void
*/
public function print_head_scripts(): void {
printf(
'<!-- %1$s is managing ads with Advanced Ads %2$s https://wpadvancedads.com/ -->',
esc_html( WordPress::get_site_domain() ),
esc_html( ADVADS_VERSION )
);
if ( Conditional::is_amp() ) {
return;
}
$frontend_prefix = wp_advads()->get_frontend_prefix();
ob_start();
?>
<script id="<?php echo esc_attr( $frontend_prefix ); ?>ready">
<?php
readfile( // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_readfile -- we're getting the contents of a local file
sprintf(
'%spublic/assets/js/ready%s.js',
ADVADS_ABSPATH,
defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
)
);
?>
</script>
<?php
/**
* Print inline script in the page header form add-ons.
*
* @param string $frontend_prefix the prefix used for Advanced Ads related HTML ID-s and classes.
*/
do_action( 'advanced_ads_inline_header_scripts', $frontend_prefix );
echo Advanced_Ads_Utils::get_inline_asset( ob_get_clean() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
/**
* Print inline scripts in wp_footer.
*
* @return void
*/
public function print_footer_scripts(): void {
if ( Conditional::is_amp() ) {
return;
}
$file_path = sprintf(
'%spublic/assets/js/ready-queue%s.js',
ADVADS_ABSPATH,
defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'
);
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
echo Advanced_Ads_Utils::get_inline_asset(
sprintf(
'<script>%s</script>',
file_get_contents( $file_path ) // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
)
);
// phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
}
}