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,157 @@
<?php
/**
* Integrates Advanced Ads capabilities with third party role manager plugins.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*/
namespace AdvancedAds\Compatibility;
use AdvancedAds\Constants;
use AdvancedAds\Installation\Capabilities;
use AdvancedAds\Framework\Interfaces\Integration_Interface;
defined( 'ABSPATH' ) || exit;
/**
* Capability Manager.
*
* Integrates with: Members
* Integrates with: User Role Editor
* Integrates with: PublishPress Capabilities
*/
class Capability_Manager implements Integration_Interface {
/**
* Group name.
*
* @var string
*/
const GROUP = 'advanced-ads';
/**
* Capability manager.
*
* @var Capabilities
*/
private $capability_manager = null;
/**
* Hook into WordPress.
*
* @return void
*/
public function hooks(): void {
$this->capability_manager = new Capabilities();
// Integrates with: Members.
add_action( 'members_register_caps', [ $this, 'register_members_caps' ] );
add_action( 'members_register_cap_groups', [ $this, 'register_members_groups' ] );
// Integrates with: User Role Editor.
add_filter( 'ure_capabilities_groups_tree', [ $this, 'register_ure_groups' ] );
add_filter( 'ure_custom_capability_groups', [ $this, 'register_ure_caps' ], 10, 2 );
// Integrates with: PublishPress Capabilities.
add_filter( 'cme_plugin_capabilities', [ $this, 'register_publishpress_caps' ] );
}
/**
* Get the name of the integration.
*
* @return string
*/
public function get_name(): string {
return __( 'Advanced Ads', 'advanced-ads' );
}
/**
* Register Members groups.
*
* @return void
*/
public function register_members_groups(): void {
members_register_cap_group(
self::GROUP,
[
'label' => $this->get_name(),
'priority' => 10,
'icon' => 'dashicons-editor-textcolor',
'caps' => array_keys( $this->capability_manager->get_capabilities() ),
]
);
// Remove post types groups.
members_unregister_cap_group( 'type-' . Constants::POST_TYPE_AD );
members_unregister_cap_group( 'type-' . Constants::POST_TYPE_PLACEMENT );
}
/**
* Register members capabilities.
*
* @return void
*/
public function register_members_caps(): void {
$capabilities = $this->capability_manager->get_capabilities();
foreach ( $capabilities as $cap => $label ) {
members_register_cap(
$cap,
[
'label' => $label,
'group' => self::GROUP,
]
);
}
}
/**
* Register URE groups.
*
* @param array $groups Groups.
*
* @return array
*/
public function register_ure_groups( array $groups ): array {
$groups = (array) $groups;
$groups[ self::GROUP ] = [
'caption' => $this->get_name(),
'parent' => 'custom',
'level' => 2,
];
return $groups;
}
/**
* Register URE capabilities.
*
* @param array $groups Current capability groups.
* @param string $cap_id Capability identifier.
*
* @return array
*/
public function register_ure_caps( $groups, $cap_id ): array {
if ( array_key_exists( $cap_id, $this->capability_manager->get_capabilities() ) ) {
$groups = (array) $groups;
$groups[] = self::GROUP;
}
return $groups;
}
/**
* Register PublishPress capabilities.
*
* @param array $caps Capabilities.
*
* @return array
*/
public function register_publishpress_caps( array $caps ): array {
$caps[ $this->get_name() ] = array_keys( $this->capability_manager->get_capabilities() );
return $caps;
}
}