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,327 @@
<?php
if (!defined('ABSPATH')) die('-1');
/**
* Class VCASPAddonClass
*
* Visual Composer integration class
*
* @class VCASPAddonClass
* @version 1.0
* @package AjaxSearchPro/Classes/BackEnd
* @category Class
* @author Ernest Marcinko
*/
class VCASPAddonClass {
function __construct() {
// We safely integrate with VC with this hook
add_action( 'vc_before_init', array( $this, 'integrateWithVC' ) );
add_shortcode( 'vc_asp_search', array( $this, 'renderVcAspSearch' ) );
add_shortcode( 'vc_asp_results', array( $this, 'renderVcAspResults' ) );
add_shortcode( 'vc_asp_settings', array( $this, 'renderVcAspSettings' ) );
add_shortcode( 'vc_asp_twocolumn', array( $this, 'renderVcAspTwoColumn' ) );
}
/**
* Integrates the Ajax Search Pro modules with Visual Composer
*
* @return bool|void
*/
public function integrateWithVC() {
// Check if Visual Composer is installed
if ( ! defined( 'WPB_VC_VERSION' ) ) {
return false;
}
$instances = wd_asp()->instances->getWithoutData();
$vc_asp_instances = array();
foreach ($instances as $k=>$v) {
$vc_asp_instances[] = "(" . $v['id'] . ") " . $v['name'];
}
/* Return if there are no search instances created */
if (count($vc_asp_instances) < 1) return false;
/* The search bar shortcode */
vc_map( array(
"name" => "Search shortcode",
"description" => "Adds a search bar.",
"base" => "vc_asp_search",
"class" => "",
"controls" => "full",
"icon" => plugins_url('assets/magnifier.png', __FILE__),
"category" => __('Ajax Search Pro', 'js_composer'),
"params" => array(
array(
"type" => "dropdown",
"holder" => "",
"class" => "",
"heading" => __("Search instance", 'vc_extend'),
"param_name" => "id",
"value" => $vc_asp_instances,
"description" => __("Select the search instance to show", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Extra class names", 'vc_extend'),
"param_name" => "extra_class",
"value" => "",
"description" => __("An extra class names for the search field", 'vc_extend')
)
)
) );
/* Results shortcode */
vc_map( array(
"name" => "Results shortcode",
"description" => "Adds a results list.",
"base" => "vc_asp_results",
"class" => "",
"controls" => "full",
"icon" => plugins_url('assets/results.png', __FILE__),
"category" => __('Ajax Search Pro', 'js_composer'),
"params" => array(
array(
"type" => "dropdown",
"holder" => "",
"class" => "",
"heading" => __("Search instance", 'vc_extend'),
"param_name" => "id",
"value" => $vc_asp_instances,
"description" => __("Select the search instance to show", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Extra class names", 'vc_extend'),
"param_name" => "extra_class",
"value" => "",
"description" => __("An extra class names for the search field", 'vc_extend')
)
)
) );
/* Settings shortcode */
vc_map( array(
"name" => "Settings shortcode",
"description" => "Adds a settings list.",
"base" => "vc_asp_settings",
"class" => "",
"controls" => "full",
"icon" => plugins_url('assets/settings.png', __FILE__),
"category" => __('Ajax Search Pro', 'js_composer'),
"params" => array(
array(
"type" => "dropdown",
"holder" => "",
"class" => "",
"heading" => __("Search instance", 'vc_extend'),
"param_name" => "id",
"value" => $vc_asp_instances,
"description" => __("Select the search instance to show", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Extra class names", 'vc_extend'),
"param_name" => "extra_class",
"value" => "",
"description" => __("An extra class names for the search field", 'vc_extend')
)
)
) );
/* Settings shortcode */
vc_map( array(
"name" => "Two column shortcode",
"description" => "Adds a search box and a result list next to it.",
"base" => "vc_asp_twocolumn",
"class" => "",
"controls" => "full",
"icon" => plugins_url('assets/twocolumn.png', __FILE__),
"category" => __('Ajax Search Pro', 'js_composer'),
"params" => array(
array(
"type" => "dropdown",
"holder" => "",
"class" => "",
"heading" => __("Search instance", 'vc_extend'),
"param_name" => "id",
"value" => $vc_asp_instances,
"description" => __("Select the search instance to show", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Search width (%)", 'vc_extend'),
"param_name" => "search_width",
"value" => 50,
"description" => __("The search field width in %", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Result list width (%)", 'vc_extend'),
"param_name" => "results_width",
"value" => 50,
"description" => __("Result list width in %", 'vc_extend')
),
array(
"type" => "dropdown",
"holder" => "",
"class" => "",
"heading" => __("Layout", 'vc_extend'),
"param_name" => "invert",
"value" => array(
"Search left, results right",
"Results left, search right"
),
"description" => __("Select the search instance to show", 'vc_extend')
),
array(
"type" => "textfield",
"holder" => "",
"class" => "",
"heading" => __("Extra class names", 'vc_extend'),
"param_name" => "extra_class",
"value" => "",
"description" => __("An extra class names for the search field", 'vc_extend')
)
)
) );
}
/**
* Renders the search module
*
* @param $atts
* @param null $content
* @return string
*/
public function renderVcAspSearch( $atts, $content = null ) {
extract( shortcode_atts( array(
'id' => '',
'extra_class' => ''
), $atts ) );
if (function_exists('wpb_js_remove_wpautop'))
$content = wpb_js_remove_wpautop($content, true);
// First item (or blank first) is selected, let the shortcode know
$id = ($id == "") ? "(99999) blank" : $id;
preg_match("/^\((\d+)\)/", $id, $matches);
if (!isset($matches[1]))
return "";
else
$id = $matches[1];
$output = do_shortcode("[wpdreams_ajaxsearchpro id=".$id." extra_class='$extra_class']");
return $output;
}
/**
* Renders the search results VC module
*
* @param $atts
* @param null $content
* @return string
*/
public function renderVcAspResults( $atts, $content = null ) {
extract( shortcode_atts( array(
'id' => '',
'extra_class' => ''
), $atts ) );
if (function_exists('wpb_js_remove_wpautop'))
$content = wpb_js_remove_wpautop($content, true);
// First item (or blank first) is selected, let the shortcode know
$id = ($id == "") ? "(99999) blank" : $id;
preg_match("/^\((\d+)\)/", $id, $matches);
if (!isset($matches[1]))
return "";
else
$id = $matches[1];
$output = do_shortcode("[wpdreams_ajaxsearchpro_results id=".$id." extra_class='$extra_class']");
return $output;
}
/**
* Renders the search settings VC module
*
* @param $atts
* @param null $content
* @return string
*/
public function renderVcAspSettings( $atts, $content = null ) {
extract( shortcode_atts( array(
'id' => '',
'extra_class' => ''
), $atts ) );
if (function_exists('wpb_js_remove_wpautop'))
$content = wpb_js_remove_wpautop($content, true);
// First item (or blank first) is selected, let the shortcode know
$id = ($id == "") ? "(99999) blank" : $id;
preg_match("/^\((\d+)\)/", $id, $matches);
if (!isset($matches[1]))
return "";
else
$id = $matches[1];
$output = do_shortcode("[wpdreams_asp_settings id=".$id." extra_class='$extra_class']");
return $output;
}
/**
* Renders the search TwoColumn VC module
*
* @param $atts
* @param null $content
* @return string
*/
public function renderVcAspTwoColumn( $atts, $content = null ) {
extract( shortcode_atts( array(
'id' => '',
'search_width' => 50,
'results_width' => 50,
'invert' => "Search left, results right",
'extra_class' => ''
), $atts ) );
if (function_exists('wpb_js_remove_wpautop'))
$content = wpb_js_remove_wpautop($content, true);
// First item (or blank first) is selected, let the shortcode know
$id = ($id == "") ? "(99999) blank" : $id;
preg_match("/^\((\d+)\)/", $id, $matches);
if (!isset($matches[1]))
return "";
else
$id = $matches[1];
if ($invert == "Results left, search right")
$invert = 1;
else
$invert = 0;
$output = do_shortcode("[wpdreams_ajaxsearchpro_two_column id=".$id." search_width=".$search_width." results_width=".$results_width." invert=".$invert." extra_class='$extra_class']");
return $output;
}
}
// Finally initialize code
new VCASPAddonClass();