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,23 @@
<?php
/**
* Markup for the placement item select box.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
$placement_type = wp_advads_get_placement_type( 'default' );
?>
<select id="advads-placement-item" name="advads[placement][item]" class="advads-placement-item-select">
<option value=""><?php esc_html_e( '--not selected--', 'advanced-ads' ); ?></option>
<?php foreach ( $placement_type->get_allowed_items() as $item_group ) : ?>
<optgroup label="<?php echo esc_attr( $item_group['label'] ); ?>">
<?php foreach ( $item_group['items'] as $item_id => $item_name ) : ?>
<option value="<?php echo esc_attr( $item_id ); ?>">
<?php echo esc_html( $item_name ); ?>
</option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select>

View File

@@ -0,0 +1,94 @@
<?php
/**
* Render form to create new placements.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*
* @var string $placements_description Whether a placement already exists.
*/
if ( '' !== $placements_description ) : ?>
<p class="description">
<?php echo esc_html( $placements_description ); ?>
<a href="https://wpadvancedads.com/manual/placements/?utm_source=advanced-ads&utm_medium=link&utm_campaign=placements" target="_blank" class="advads-manual-link">
<?php esc_html_e( 'Manual', 'advanced-ads' ); ?>
</a>
</p>
<?php endif; ?>
<form method="POST" class="advads-placements-new-form advads-form" id="advads-placements-new-form">
<input type="hidden" name="nonce" value="<?php echo esc_attr( wp_create_nonce( 'advads-create-placement' ) ); ?>"/>
<h3>1. <?php esc_html_e( 'Choose a placement type', 'advanced-ads' ); ?></h3>
<p class="description">
<?php
printf(
wp_kses(
/* translators: %s is a URL. */
__( 'Placement types define where the ad is going to be displayed. Learn more about the different types from the <a href="%s">manual</a>', 'advanced-ads' ),
[
'a' => [
'href' => [],
],
]
),
'https://wpadvancedads.com/manual/placements/#utm_source=advanced-ads&utm_medium=link&utm_campaign=placements'
);
?>
</p>
<?php require 'placement-types.php'; ?>
<?php
// show Pro placements if Pro is not activated.
if ( ! defined( 'AAP_VERSION' ) ) :
require ADVADS_ABSPATH . 'admin/views/upgrades/pro-placements.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.
<label for="advads-placement-title">
<?php esc_html_e( 'Choose a Name', 'advanced-ads' ); ?>
</label>
</h3>
<p>
<input name="advads[placement][title]" id="advads-placement-title" class="advads-form-name" type="text" value="" placeholder="<?php esc_html_e( 'Placement Name', 'advanced-ads' ); ?>"/>
<span class="advads-help">
<span class="advads-tooltip">
<?php esc_html_e( 'The name of the placement is only visible to you. Tip: choose a descriptive one, e.g. Below Post Headline.', 'advanced-ads' ); ?>
</span>
</span>
</p>
<p class="advads-notice-inline advads-error advads-form-name-error">
<?php esc_html_e( 'Please enter a name.', 'advanced-ads' ); ?>
</p>
<h3>
3. <label for="advads-placement-item">
<?php esc_html_e( 'Choose the Ad or Group', 'advanced-ads' ); ?>
</label>
</h3>
<p>
<?php require 'item-select.php'; ?>
</p>
<?php wp_nonce_field( 'advads-new-placement', 'advads_placement' ); ?>
<input type="hidden" name="action_advads" value="new_placement">
</form>
<script type="text/html" id="tmpl-advads-placement-ad-select">
<select name="advads[placement][item]" id="advads-placement-item">
<option value=""><?php esc_html_e( '--not selected--', 'advanced-ads' ); ?></option>
<# for ( group of data.items ) { #>
<optgroup label="{{ group.label }}">
<# for ( item_id in group.items ) { #>
<option value="{{ item_id }}">
{{ group.items[item_id] }}
</option>
<# } #>
</optgroup>
<# } #>
</select>
</script>

View File

@@ -0,0 +1,40 @@
<?php
/**
* Render all placement types for forms.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
*/
$placement_types = wp_advads_get_placement_types();
if ( empty( $placement_types ) ) {
return '';
}
usort(
$placement_types,
function ( $a, $b ) {
return $a->get_order() - $b->get_order();
}
);
?>
<div class="advads-form-types advads-buttonset">
<?php foreach ( $placement_types as $placement_type ) : ?>
<div class="advads-form-type advads-placement-type">
<label for="advads-form-type-<?php echo esc_attr( $placement_type->get_id() ); ?>">
<?php if ( ! empty( $placement_type->get_image() ) ) : ?>
<img src="<?php echo esc_attr( $placement_type->get_image() ); ?>" alt="<?php echo esc_attr( $placement_type->get_title() ); ?>"/>
<?php else : ?>
<strong><?php echo esc_html( $placement_type->get_title() ); ?></strong><br/>
<p class="description"><?php echo esc_html( $placement_type->get_description() ); ?></p>
<?php endif; ?>
</label>
<input type="radio" id="advads-form-type-<?php echo esc_attr( $placement_type->get_id() ); ?>" name="advads[placement][type]" value="<?php echo esc_attr( $placement_type->get_id() ); ?>"/>
<div class="advads-form-description">
<h4><?php echo esc_html( $placement_type->get_title() ); ?></h4>
<?php echo esc_html( $placement_type->get_description() ); ?>
</div>
</div>
<?php endforeach; ?>
</div>