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,22 @@
<?php
/**
* Dashboard page.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
use AdvancedAds\Admin\Welcome;
use AdvancedAds\Modules\ProductExperimentationFramework\Module;
?>
<div class="wrap">
<span class="wp-header-end"></span>
<?php do_action( 'advanced-ads-admin-overview-before' ); ?>
<div id="advads-overview">
<?php Module::get_instance()->render( 'overview' ); ?>
<?php Welcome::get()->display(); ?>
<?php Advanced_Ads_Overview_Widgets_Callbacks::setup_overview_widgets(); ?>
</div>
<?php do_action( 'advanced-ads-admin-overview-after' ); ?>
</div>

View File

@@ -0,0 +1,67 @@
<?php
/**
* Render form to create a new ad group.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
use AdvancedAds\Admin\Upgrades;
$group_types = wp_advads_get_group_types();
?>
<form method="post" name="new-group" class="advads-group-new-form advads-form" id="advads-group-new-form">
<input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'advads-create-group' ) ); ?>">
<h3>1. <?php esc_html_e( 'Choose the type', 'advanced-ads' ); ?></h3>
<div class="advads-form-types advads-buttonset">
<?php
foreach ( $group_types as $group_type ) :
if ( $group_type->is_premium() ) {
continue;
}
?>
<div class="advads-form-type">
<label for="advads-form-type-<?php echo esc_attr( $group_type->get_id() ); ?>">
<img src="<?php echo esc_attr( $group_type->get_image() ); ?>" alt="<?php echo esc_attr( $group_type->get_title() ); ?>"/>
</label>
<input type="radio" id="advads-form-type-<?php echo esc_attr( $group_type->get_id() ); ?>" name="advads-group-type" value="<?php echo esc_attr( $group_type->get_id() ); ?>"/>
<div class="advads-form-description">
<h4><?php echo esc_html( $group_type->get_title() ); ?></h4>
<?php echo esc_html( $group_type->get_description() ); ?>
</div>
</div>
<?php endforeach; ?>
</div>
<?php if ( wp_advads_get_group_type_manager()->has_premium() ) : ?>
<div class="advads-form-types">
<?php
foreach ( $group_types as $group_type ) :
if ( ! $group_type->is_premium() ) {
continue;
}
?>
<div class="advads-form-type">
<label class="advads-button advads-pro-link">
<span class="advads-button-text">
<img src="<?php echo esc_attr( $group_type->get_image() ); ?>" alt="<?php echo esc_attr( $group_type->get_title() ); ?>"/>
</span>
</label>
<p class="advads-form-description">
<strong><?php echo esc_html( $group_type->get_title() ); ?></strong>
</p>
</div>
<?php endforeach; ?>
</div>
<div class="clear"></div>
<h4>
<?php Upgrades::upgrade_link( __( 'Get all group types with All Access', 'advanced-ads' ), 'https://wpadvancedads.com/add-ons/all-access/', 'upgrades-pro-groups' ); ?>
</h4>
<?php endif; ?>
<div class="clear"></div>
<p class="advads-notice-inline advads-error advads-form-type-error"><?php esc_html_e( 'Please select a type.', 'advanced-ads' ); ?></p>
<br/>
<h3>2. <?php esc_html_e( 'Choose a name', 'advanced-ads' ); ?></h3>
<input type="text" name="advads-group-name" class="advads-form-name" placeholder="<?php esc_attr_e( 'Group title', 'advanced-ads' ); ?>"/>
<p class="advads-notice-inline advads-error advads-form-name-error"><?php esc_html_e( 'Please enter a name.', 'advanced-ads' ); ?></p>
</form>

View File

@@ -0,0 +1,60 @@
<?php
/**
* Groups page.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*
* @var WP_List_Table|false $wp_list_table The groups list table
*/
use AdvancedAds\Modal;
use AdvancedAds\Entities;
use AdvancedAds\Utilities\Conditional;
?>
<span class="wp-header-end"></span>
<div class="wrap">
<?php
ob_start();
if ( empty( $wp_list_table->items ) ) :
?>
<p>
<?php
echo esc_html( Entities::get_group_description() );
?>
<a href="https://wpadvancedads.com/manual/ad-groups/?utm_source=advanced-ads&utm_medium=link&utm_campaign=groups" target="_blank" class="advads-manual-link"><?php esc_html_e( 'Manual', 'advanced-ads' ); ?></a>
</p>
<?php
endif;
require ADVADS_ABSPATH . 'views/admin/screens/group-form.php';
Modal::create(
[
'modal_slug' => 'group-new',
'modal_content' => ob_get_clean(),
'modal_title' => __( 'New Ad Group', 'advanced-ads' ),
'close_validation' => 'advads_validate_new_form',
]
);
?>
<div id="ajax-response"></div>
<div id="advads-group-filter">
<?php $wp_list_table->render_filters(); ?>
</div>
<div id="advads-ad-group-list">
<?php $wp_list_table->display(); ?>
</div>
</div>
<?php
// no groups and no filters then open the new group modal.
if ( empty( $wp_list_table->items ) && ! Conditional::has_filter_or_search() ) :
?>
<script>
window.location.hash = '#modal-group-new';
</script>
<?php
endif;

View File

@@ -0,0 +1,11 @@
<?php
/**
* Onboarding screen.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
defined( 'ABSPATH' ) || exit;
?>
<div id="advads-onboarding-wizard"></div>

View File

@@ -0,0 +1,63 @@
<?php
/**
* Settings page.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
// array with setting tabs for frontend.
$setting_tabs = apply_filters(
'advanced-ads-setting-tabs',
[
'general' => [
'page' => wp_advads()->screens->get_hook( 'settings' ),
'group' => ADVADS_SLUG,
'tabid' => 'general',
'title' => __( 'General', 'advanced-ads' ),
],
]
);
?><div class="wrap">
<h2 style="display: none;"><!-- There needs to be an empty H2 headline at the top of the page so that WordPress can properly position admin notifications --></h2>
<?php Advanced_Ads_Checks::show_issues(); ?>
<?php settings_errors(); ?>
<div class="nav-tab-wrapper" id="advads-tabs">
<?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
<a class="nav-tab" id="<?php echo esc_attr( $_setting_tab_id ); ?>-tab"
href="#top#<?php echo esc_attr( $_setting_tab_id ); ?>"><?php echo esc_html( $_setting_tab['title'] ); ?></a>
<?php endforeach; ?>
<a class="nav-tab" id="support-tab"
href="#top#support"><?php esc_html_e( 'Support', 'advanced-ads' ); ?></a>
</div>
<?php foreach ( $setting_tabs as $_setting_tab_id => $_setting_tab ) : ?>
<div id="<?php echo esc_attr( $_setting_tab_id ); ?>" class="advads-tab">
<div id="advads-sub-menu-<?php echo esc_attr( $_setting_tab_id ); ?>" class="advads-tab-sub-menu"></div>
<?php do_action( 'advanced_ads_settings_before_form', $_setting_tab_id, $_setting_tab ); ?>
<form class="advads-settings-tab-main-form" method="post" action="options.php">
<?php
if ( isset( $_setting_tab['group'] ) ) {
settings_fields( $_setting_tab['group'] );
}
do_settings_sections( $_setting_tab['page'] );
do_action( 'advanced-ads-settings-form', $_setting_tab_id, $_setting_tab );
if ( isset( $_setting_tab['group'] ) && 'advanced-ads-licenses' !== $_setting_tab['group'] ) {
submit_button( __( 'Save settings on this page', 'advanced-ads' ) );
}
?>
</form>
<?php do_action( 'advanced-ads-settings-tab-after-form', $_setting_tab_id, $_setting_tab ); ?>
</div>
<?php endforeach; ?>
<div id="support" class="advads-tab">
<?php require_once ADVADS_ABSPATH . 'admin/views/support.php'; ?>
</div>
<?php
do_action( 'advanced-ads-additional-settings-form' );
// print the filesystem credentials modal if needed.
Advanced_Ads_Filesystem::get_instance()->print_request_filesystem_credentials_modal();
?>
</div>

View File

@@ -0,0 +1,15 @@
<?php
/**
* Tools page.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
?>
<div class="wrap advads-wrap">
<?php
$this->get_tabs_menu();
$this->get_tab_content();
?>
</div>

View File

@@ -0,0 +1,19 @@
<?php
/**
* Ui Toolkit page.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
?>
<div class="wrap advads-wrap">
<?php
$this->get_header(
[ 'title' => __( 'Ui Toolkit', 'advanced-ads' ) ]
);
$this->get_tabs_menu();
$this->get_tab_content();
?>
</div>