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,443 @@
<?php
//security check
if(!function_exists('wp_get_current_user') || !current_user_can('manage_options') || is_admin() || !isset($_GET['perfmatters']) || !perfmatters_network_access() || perfmatters_is_page_builder()) {
return;
}
global $pmsm_print_flag;
//script manager already printed
if($pmsm_print_flag) {
return;
}
$pmsm_print_flag = true;
//set variables
global $perfmatters_tools;
global $wp;
global $wp_scripts;
global $wp_styles;
global $perfmatters_options;
global $currentID;
$currentID = perfmatters_get_current_ID();
$pmsm_tab = !empty($_POST['tab']) ? $_POST['tab'] : 'main';
//filter language locale for script manager ui
switch_to_locale(apply_filters('perfmatters_script_manager_locale', ''));
//process settings form
if(isset($_POST['pmsm_save_settings'])) {
//validate settings nonce
if(!isset($_POST['perfmatters_script_manager_settings_nonce']) || !wp_verify_nonce($_POST['perfmatters_script_manager_settings_nonce'], 'perfmatter_script_manager_save_settings')) {
print 'Sorry, your nonce did not verify.';
exit;
}
else {
//update settings
update_option('perfmatters_script_manager_settings', (!empty($_POST['perfmatters_script_manager_settings']) ? $_POST['perfmatters_script_manager_settings'] : ''));
}
}
//manually closed disclaimer
if(isset($_POST['pmsm_disclaimer_close'])) {
if(isset($_POST['pmsm_disclaimer_close_nonce']) && wp_verify_nonce($_POST['pmsm_disclaimer_close_nonce'], 'pmsm_disclaimer_close')) {
$settings = get_option('perfmatters_script_manager_settings');
if(empty($settings) || !is_array($settings)) {
$settings = array();
}
$settings['hide_disclaimer'] = 1;
update_option('perfmatters_script_manager_settings', $settings);
}
}
//process reset form
if(isset($_POST['perfmatters_script_manager_settings_reset'])) {
delete_option('perfmatters_script_manager');
delete_option('perfmatters_script_manager_settings');
}
//global trash
if(isset($_POST['pmsm_global_trash'])) {
$trash = explode("|", $_POST['pmsm_global_trash']);
if(count($trash) == 4) {
list($category, $type, $script, $detail) = $trash;
$options = get_option('perfmatters_script_manager');
unset($options[$category][$type][$script][$detail]);
if($category == 'disabled' && $detail == 'everywhere') {
unset($options['enabled'][$type][$script]);
}
//clean up the options array before saving
perfmatters_script_manager_filter_options($options);
update_option('perfmatters_script_manager', $options);
}
}
//global refresh
if(isset($_POST['pmsm_global_refresh'])) {
$refresh = explode("|", $_POST['pmsm_global_refresh']);
if(count($refresh) == 3) {
list($category, $type, $script) = $refresh;
$options = get_option('perfmatters_script_manager');
$current = $options[$category][$type][$script]['current'] ?? array();
foreach($current as $key => $post_id) {
if(!get_post_status($post_id)) {
unset($options[$category][$type][$script]['current'][$key]);
}
}
//clean up the options array before saving
perfmatters_script_manager_filter_options($options);
update_option('perfmatters_script_manager', $options);
}
}
//load script manager settings
global $perfmatters_script_manager_settings;
$perfmatters_script_manager_settings = get_option('perfmatters_script_manager_settings');
//build array of existing plugin disables
global $perfmatters_disables;
$perfmatters_disables = array();
if(!empty($perfmatters_options['disable_google_maps'])) {
$perfmatters_disables[] = 'maps.google.com';
$perfmatters_disables[] = 'maps.googleapis.com';
$perfmatters_disables[] = 'maps.gstatic.com';
}
if(!empty($perfmatters_options['disable_google_fonts'])) {
$perfmatters_disables[] = 'fonts.googleapis.com';
}
//setup filters array
global $perfmatters_filters;
$perfmatters_filters = array(
"js" => array (
"title" => "JS",
"scripts" => $wp_scripts
),
"css" => array(
"title" => "CSS",
"scripts" => $wp_styles
)
);
//load script manager options
global $perfmatters_script_manager_options;
$perfmatters_script_manager_options = get_option('perfmatters_script_manager');
//load styles
include('script_manager_css.php');
//disable shortcodes
remove_all_shortcodes();
//wrapper
echo "<div id='perfmatters-script-manager-wrapper'>";
//header
echo "<div id='perfmatters-script-manager-header'>";
echo "<div id='pmsm-header-hero'>";
//menu toggle
echo "<span id='pmsm-menu-toggle'><span class='dashicons dashicons-menu'></span></span>";
//logo
echo "<img src='" . plugins_url('img/logo.svg', dirname(__FILE__)) . "' title='Perfmatters' id='perfmatters-logo' />";
echo "</div>";
//main navigation
echo "<form method='POST'>";
echo "<div id='perfmatters-script-manager-tabs'>";
echo "<button name='tab' value=''" . ($pmsm_tab == 'main' ? " class='active'" : "") . " title='" . __('Script Manager', 'perfmatters') . "'><span class='dashicons dashicons-admin-settings'></span>" . __('Script Manager', 'perfmatters') . "</button>";
echo "<button name='tab' value='global'" . ($pmsm_tab == 'global' ? " class='active'" : "") . " title='" . __('Global View', 'perfmatters') . "'><span class='dashicons dashicons-admin-site'></span>" . __('Global View', 'perfmatters') . "</button>";
echo "<button name='tab' value='settings'" . ($pmsm_tab == 'settings' ? " class='active'" : "") . " title='" . __('Settings', 'perfmatters') . "'><span class='dashicons dashicons-admin-generic'></span>" . __('Settings', 'perfmatters') . "</button>";
echo "</div>";
echo "</form>";
echo "</div>";
//main container
echo "<div id='perfmatters-script-manager'>";
//visible container
echo "<div id='pmsm-viewport'>";
echo '<div id="pmsm-notices">';
//disclaimer
if(empty($perfmatters_script_manager_settings['hide_disclaimer'])) {
echo '<div class="pmsm-notice">';
echo '<form method="POST">';
echo $pmsm_tab != 'main' ? '<input type="hidden" name="tab" value="' . $pmsm_tab . '" />' : '';
wp_nonce_field('pmsm_disclaimer_close', 'pmsm_disclaimer_close_nonce');
echo '<button type="submit" id="pmsm-disclaimer-close" name="pmsm_disclaimer_close"/><span class="dashicons dashicons-dismiss"></span></button>';
echo '</form>';
_e('We recommend testing Script Manager changes on a staging/dev site first, as you could break your site\'s appearance.', 'perfmatters');
echo ' <a href="https://perfmatters.io/docs/disable-scripts-per-post-page/" target="_blank">' . __('View Documentation', 'perfmatters') . '</a>';
echo '</div>';
}
//testing mode
if(!empty($perfmatters_script_manager_settings['testing_mode'])) {
echo '<div class="pmsm-notice pmsm-notice-warning">' . __('You are in Testing Mode. Changes will only be visible to logged-in admins.') . '</div>';
}
echo '</div>';
//universal form
echo "<form method='POST' id='pmsm-" . $pmsm_tab . "-form'>";
//content container
echo "<div id='perfmatters-script-manager-container'>";
//main tab
if($pmsm_tab == 'main') {
//title bar
echo "<div class='perfmatters-script-manager-title-bar'>";
echo "<h1>" . __('Script Manager', 'perfmatters') . "</h1>";
echo "<p>" . __('Manage scripts loading on the current page.', 'perfmatters') . "</p>";
echo "</div>";
//load master array
global $master_array;
$master_array = perfmatters_script_manager_load_master_array();
//print scripts
foreach($master_array['resources'] as $category => $groups) {
echo '<div class="pmsm-category-container">';
if(!empty($groups)) {
echo "<h3>" . $category . "</h3>";
if($category != "misc") {
echo "<div style='background: #ffffff; padding: 10px;'>";
foreach($groups as $group => $details) {
echo "<div class='perfmatters-script-manager-group'>";
echo "<div class='pmsm-group-heading'>";
echo "<h4>" . (!empty($details['name']) ? $details['name'] : "") . "</h4>";
//Status
echo "<div class='perfmatters-script-manager-status' style='display: flex; align-items: center; white-space: nowrap; margin-left: 10px;'>";
if(!empty($details['size'])) {
echo "<span class='pmsm-group-tag pmsm-group-size'>" . __('Total size', 'perfmatters') . ": " . round($details['size'] / 1024, 1) . " KB</span>";
}
perfmatters_script_manager_print_status($category, $group);
echo "</div>";
echo "</div>";
$assets = !empty($details['assets']) ? $details['assets'] : false;
perfmatters_script_manager_print_section($category, $group, $assets);
echo "</div>";
}
echo "</div>";
}
else {
if(!empty($groups['assets'])) {
perfmatters_script_manager_print_section($category, $category, $groups['assets']);
}
}
}
echo '</div>';
}
//loading wrapper
echo "<div id='pmsm-loading-wrapper'>";
if(function_exists('is_amp_endpoint') && is_amp_endpoint()) {
echo "<span class='pmsm-loading-text'>" . __('The Script Manager does not support AMP pages.', 'perfmatters') . "</span>";
}
else {
echo "<span class='pmsm-loading-text'>" . __('Loading Scripts', 'perfmatters') . "<span class='pmsm-spinner'></span></span>";
}
echo "</div>";
}
//global view tab
elseif($pmsm_tab == 'global') {
include('script_manager_global.php');
}
//settings tab
elseif($pmsm_tab == 'settings') {
//title bar
echo "<div class='perfmatters-script-manager-title-bar'>";
echo "<h1>" . __('Settings', 'perfmatters') . "</h1>";
echo "<p>" . __('View and manage all of your Script Manager settings.', 'perfmatters') . "</p>";
echo "</div>";
//settings container
echo "<div id='script-manager-settings' class='perfmatters-script-manager-section'>";
echo "<input type='hidden' name='tab' value='settings' />";
echo "<table>";
echo "<tbody>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('Display Archives', 'perfmatters'), 'separate_archives') . "</th>";
echo "<td>";
$args = array(
'id' => 'separate_archives',
'option' => 'perfmatters_script_manager_settings'
);
perfmatters_print_input($args);
echo "<div>" . __('Add WordPress archives to your Script Manager selection options. Archive posts will no longer be grouped with their post type.', 'perfmatters') . "</div>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('Display Dependencies', 'perfmatters'), 'separate_archives') . "</th>";
echo "<td>";
$args = array(
'id' => 'dependencies',
'option' => 'perfmatters_script_manager_settings'
);
perfmatters_print_input($args);
echo "<div>" . __('Show dependencies for each script.', 'perfmatters') . "</div>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('Testing Mode', 'perfmatters'), 'testing_mode') . "</th>";
echo "<td>";
$args = array(
'id' => 'testing_mode',
'option' => 'perfmatters_script_manager_settings'
);
perfmatters_print_input($args);
echo "<div>" . __('Restrict your Script Manager configuration to logged-in admins only.', 'perfmatters') . ' <a href="https://perfmatters.io/docs/testing-mode/" target="_blank">' . __('View Documentation', 'perfmatters') . '</a>' . "</div>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('MU Mode', 'perfmatters'), 'mu_mode') . "</th>";
echo "<td>";
$args = array(
'id' => 'mu_mode',
'option' => 'perfmatters_script_manager_settings'
);
perfmatters_print_input($args);
echo "<div>" . __('Must-use (MU) mode requires elevated permissions and a file to be copied into the mu-plugins directory. This gives you more control and the ability to disable plugin queries, inline CSS, etc.', 'perfmatters') . ' <a href="https://perfmatters.io/docs/mu-mode/" target="_blank">' . __('View Documentation', 'perfmatters') . '</a>' . "</div>";
echo "<div style='background: #faf3c4; padding: 10px; margin-top: 7px;'><strong>" . __('Warning', 'perfmatters') . ":</strong> " . __('Any previous plugin-level disables will now disable the entire plugin. Please review your existing Script Manager configuration before enabling this option.', 'perfmatters') . "</div>";
//mu plugin file check
if(!empty($perfmatters_script_manager_settings['mu_mode'])) {
if(file_exists(WPMU_PLUGIN_DIR . "/perfmatters_mu.php")) {
//$mu_plugins = get_mu_plugins();
if(!function_exists('get_plugin_data')) {
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
}
//get plugin data
$mu_plugin_data = get_plugin_data(WPMU_PLUGIN_DIR . "/perfmatters_mu.php");
if(empty($mu_plugin_data['Version']) || !defined('PERFMATTERS_VERSION') || ($mu_plugin_data['Version'] != PERFMATTERS_VERSION)) {
$mu_message = __("MU plugin version mismatch.", 'perfmatters');
$mu_class = "pmsm-mu-mismatch";
}
else {
$mu_message = __("MU plugin installed.", 'perfmatters');
$mu_class = "pmsm-mu-found";
}
}
else {
$mu_message = __("MU plugin file not found.", 'perfmatters');
$mu_class = "pmsm-mu-missing";
}
echo "<div class='" . $mu_class . "'>" . $mu_message . "</div>";
}
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('Hide Disclaimer', 'perfmatters'), 'hide_disclaimer') . "</th>";
echo "<td>";
$args = array(
'id' => 'hide_disclaimer',
'option' => 'perfmatters_script_manager_settings'
);
perfmatters_print_input($args);
echo "<div>" . __('Hide the disclaimer message box across all Script Manager views.', 'perfmatters') . "</div>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<th>" . perfmatters_title(__('Reset Script Manager', 'perfmatters'), 'reset_script_manager') . "</th>";
echo "<td>";
//Reset Form
echo "<div>";
echo "<input type='submit' name='pmsm-reset' id='pmsm-reset' class='pmsm-reset' value='" . __('Reset Script Manager', 'perfmatters') . "' />";
echo "</div>";
echo "<div>";
echo "<span class='perfmatters-tooltip-text'>" . __('Remove and reset all of your existing Script Manager settings.', 'perfmatters') . "</span>";
echo "</div>";
echo "</td>";
echo "</tr>";
echo "</tbody>";
echo "</table>";
//Nonce
wp_nonce_field('perfmatter_script_manager_save_settings', 'perfmatters_script_manager_settings_nonce');
echo "</div>";
}
echo "</div>";
//toolbar
echo "<div class='perfmatters-script-manager-toolbar'>";
echo "<div class='perfmatters-script-manager-toolbar-wrapper'>";
echo "<div class='perfmatters-script-manager-toolbar-container'>";
//save button
echo "<div id='pmsm-save'>";
if($pmsm_tab != 'global') {
echo "<input type='submit' name='pmsm_save_" . $pmsm_tab . "' value='" . __('Save', 'perfmatters') . "' />";
echo "<span class='pmsm-spinner'></span>";
}
echo "</div>";
//copyright
echo "<div class='pmsm-copyright'>© " . date("Y") . " Perfmatters</div>";
echo "</div>";
//message
echo "<div id='pmsm-message' class='pmsm-message'></div>";
echo "</div>";
echo "</div>";
echo "</form>";
echo "</div>";
//hidden reset form
if($pmsm_tab == 'settings') {
echo "<form method='POST' id='pmsm-reset-form' pmsm-confirm=\"" . __('Are you sure? This will remove and reset all of your existing Script Manager settings and cannot be undone!') . "\">";
echo "<input type='hidden' name='tab' value='settings' />";
echo "<input type='hidden' name='perfmatters_script_manager_settings_reset' class='pmsm-reset' value='submit' />";
echo "</form>";
}
echo "</div>";
echo "</div>";