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,4 @@
<?php
/**
* Silence is golden.
*/

View File

@@ -0,0 +1,43 @@
<?php
/**
* Update routine
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.4
*/
/**
* Migrate some 'advanced-ads' options to 'advanced-ads-adblocker'
*
* @since 1.48.4
*
* @return void
*/
function advads_upgrade_1_48_4(): void {
// Get the current options.
$advanced_ads = get_option( 'advanced-ads' );
// Check if the 'advanced-ads' option exists and has the required elements.
if ( is_array( $advanced_ads ) ) {
$adblocker_settings = [];
if ( isset( $advanced_ads['ga-UID'] ) ) {
$adblocker_settings['ga-UID'] = $advanced_ads['ga-UID'];
unset( $advanced_ads['ga-UID'] );
}
if ( isset( $advanced_ads['use-adblocker'] ) ) {
$adblocker_settings['use-adblocker'] = $advanced_ads['use-adblocker'];
unset( $advanced_ads['use-adblocker'] );
}
// Update the 'advanced-ads' option.
update_option( 'advanced-ads', $advanced_ads );
// Update the 'advanced-ads-adblocker' option.
update_option( 'advanced-ads-adblocker', $adblocker_settings );
}
}
advads_upgrade_1_48_4();

View File

@@ -0,0 +1,32 @@
<?php
/**
* Update routine
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.5
*/
/**
* Add default options for some 'advanced-ads-adblocker' option
*
* @since 1.48.5
*
* @return void
*/
function advads_upgrade_1_48_5(): void {
// Get the current options.
$eab_option = get_option( 'advanced-ads-adblocker' );
// Check if the 'advanced-ads' option exists and has the required elements.
if ( is_array( $eab_option ) ) {
$eab_option['method'] = 'nothing';
$eab_option['overlay']['content'] = '<h2 style="text-align: center;">Uh-oh! It looks like you\'re using an ad blocker.</h2><p style="text-align: center;">Our website relies on ads to provide free content and sustain our operations. By turning off your ad blocker, you help support us and ensure we can continue offering valuable content without any cost to you.</p><p style="text-align: center;">We truly appreciate your understanding and support. Thank you for considering disabling your ad blocker for this website</p>';
$eab_option['overlay']['time_frequency'] = 'everytime';
// Update the 'advanced-ads-adblocker' option.
update_option( 'advanced-ads-adblocker', $eab_option );
}
}
advads_upgrade_1_48_5();

View File

@@ -0,0 +1,41 @@
<?php
/**
* Update routine
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.52.1
*/
use AdvancedAds\Constants;
/**
* Migrates groups and ads to link them together.
*
* @since 1.52.1
*/
function advads_migrate_groups() {
$groups = wp_advads_get_all_groups();
$ads = wp_advads_get_all_ads();
// link group ads with ad post.
foreach ( $groups as $group ) {
foreach ( $group->get_ad_weights() as $ad_id => $weight ) {
wp_set_object_terms( $ad_id, $group->get_id(), Constants::TAXONOMY_GROUP, true );
}
}
// link ad post with group ads.
foreach ( $ads as $ad ) {
foreach ( wp_advads_get_group_repository()->get_groups_by_ad_id( $ad->get_id() ) as $group ) {
$weights = $group->get_ad_weights();
if ( ! isset( $weights[ $ad->get_id() ] ) ) {
$weights[ $ad->get_id() ] = 10;
$group->set_ad_weights( $weights );
$group->save();
}
}
}
}
advads_migrate_groups();

View File

@@ -0,0 +1,134 @@
<?php
/**
* Update routine
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 2.0.0
*/
use AdvancedAds\Constants;
/**
* Check for existing placements in posts.
*
* @param array $slugs Slugs to check.
*
* @return array
*/
function advads_get_existing_placement_posts( $slugs ): array {
global $wpdb;
foreach ( $slugs as &$slug ) {
$slug = sanitize_title_for_query( $slug );
$slug = str_replace( '_', '-', $slug );
$slug = esc_sql( $slug );
}
$in_string = "'" . implode( "','", $slugs ) . "'";
// phpcs:disable
$posts = $wpdb->get_results(
$wpdb->prepare(
"
SELECT ID, post_name
FROM $wpdb->posts
WHERE post_name IN ($in_string)
AND post_type = %s
",
Constants::POST_TYPE_PLACEMENT
)
);
// phpcs:enable
return empty( $posts ) ? [] : wp_list_pluck( $posts, 'ID', 'post_name' );
}
/**
* Save a placement as post.
*
* @param array $data Placement data array.
*
* @return int|WP_Error
*/
function advads_save_new_placement( $data ) {
// Normalize options.
$options = $data['options'] ?? [];
$display_conditions = $options['placement_conditions']['display'] ?? [];
$visitor_conditions = $options['placement_conditions']['visitors'] ?? [];
unset( $options['placement_conditions'] );
// Find placement type.
$placement_type = empty( $data['type'] ) ? 'default' : $data['type'];
if ( ! wp_advads_has_placement_type( $placement_type ) ) {
wp_advads_create_placement_type( $placement_type );
}
$placement = wp_advads_create_new_placement( $placement_type );
$placement->set_type( $data['type'] );
$placement->set_item( $data['item'] );
$placement->set_slug( $data['slug'] );
$placement->set_title( $data['name'] );
$placement->set_status( 'publish' );
$placement->set_display_conditions( $display_conditions );
$placement->set_visitor_conditions( $visitor_conditions );
$placement->set_props( $options );
$placement->save();
return $placement->get_id();
}
/**
* Backup old Placements
*
* @param array $placements Placements.
*
* @return void
*/
function advads_upgrade_2_0_0_make_backup( $placements ): void {
$backup_key = 'advads-ads-placements_backup';
if ( false !== get_option( $backup_key ) ) {
return;
}
update_option( $backup_key, $placements );
}
/**
* Migrate placements from options to custom post type.
*
* @since 2.0.0
*
* @return void
*/
function advads_upgrade_2_0_0_placement_migration(): void {
$option_key = 'advads-ads-placements';
$placements = get_option( $option_key, [] );
// Early bail!!
if ( ! is_array( $placements ) || empty( $placements ) ) {
return;
}
advads_upgrade_2_0_0_make_backup( $placements );
$existing_posts = advads_get_existing_placement_posts( array_keys( $placements ) );
foreach ( $placements as $slug => $placement ) {
if ( ! is_array( $placement ) || array_key_exists( $slug, $existing_posts ) ) {
continue;
}
$post_id = advads_save_new_placement( array_merge( $placement, [ 'slug' => $slug ] ) );
if ( 0 === $post_id ) {
continue;
}
unset( $placements[ $slug ] );
}
update_option( $option_key, $placements );
}
advads_upgrade_2_0_0_placement_migration();

View File

@@ -0,0 +1,39 @@
<?php
/**
* Update routine
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 2.0.8
*/
use AdvancedAds\Constants;
/**
* Save group ids into ad options.
*
* @since 2.0.8
*
* @return void
*/
function advads_upgrade_2_0_8_save_group_ids(): void {
$ads = wp_advads_get_ads_dropdown();
foreach ( $ads as $ad_id => $ad ) {
$groups = wp_get_object_terms( $ad_id, Constants::TAXONOMY_GROUP, [ 'fields' => 'ids' ] );
// If no groups are found, skip.
if ( is_wp_error( $groups ) || empty( $groups ) ) {
continue;
}
// If groups are already saved, skip.
if ( get_post_meta( $ad_id, Constants::AD_META_GROUP_IDS, true ) ) {
continue;
}
update_post_meta( $ad_id, Constants::AD_META_GROUP_IDS, $groups );
}
}
advads_upgrade_2_0_8_save_group_ids();