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,137 @@
<?php
if (!class_exists("wpdreamsBlogselect")) {
/**
* Class wpdreamsBlogselect
*
* Creates a blog selection drag and drop UI element.
*
* @package WPDreams/OptionsFramework/Classes
* @category Class
* @author Ernest Marcinko <ernest.marcinko@wp-dreams.com>
* @link http://wp-dreams.com, http://codecanyon.net/user/anago/portfolio
* @copyright Copyright (c) 2012, Ernest Marcinko
*/
class wpdreamsBlogselect extends wpdreamsType {
private $useall = "";
private $blogs, $selected;
function getType() {
parent::getType();
$this->processData();
if ( function_exists( 'get_sites' ) ) {
$this->blogs = get_sites(array('number' => 1000));
} else {
$this->blogs = array();
}
echo "
<div class='wpdreamsBlogselect' id='wpdreamsBlogselect" . self::$_instancenumber . "'>
<fieldset>
<legend>" . $this->label . "</legend>";
echo "<div style='text-align:left; margin: 10px 38px;'><label>" . __('Use all blogs?', 'ajax-search-pro') . " <input type='checkbox' class='use-all-blogs' ".$this->useall."></label></div>";
echo "<div class='bs-cont'>";
if ($this->useall != "")
echo "<div class='bs-overlay'></div>";
else
echo "<div class='bs-overlay hiddend'></div>";
echo '<div class="sortablecontainer"><p>' . __('Available blogs', 'ajax-search-pro') . '</p><ul id="sortable' . self::$_instancenumber . '" class="connectedSortable">';
if ( !is_wp_error($this->blogs) ) {
foreach ($this->blogs as $k => $blog) {
if ( $this->selected == null || !in_array($blog->id, $this->selected) ) {
echo '<li class="ui-state-default" bid="' . $blog->id . '">' . $blog->blogname . '</li>';
}
}
}
echo "</ul></div>";
echo '<div class="sortablecontainer"><p>' . __('Drag here the blogs you want to use!', 'ajax-search-pro') . '</p><ul id="sortable_conn' . self::$_instancenumber . '" class="connectedSortable">';
if ( $this->selected != null && count($this->selected)>0 && function_exists('get_blog_details') ) {
foreach ($this->selected as $k => $v) {
$blog = get_blog_details($v);
if ( !is_wp_error($blog) && isset($blog->blogname) ) {
echo '<li class="ui-state-default" bid="' . $v . '">' . $blog->blogname . '</li>';
}
}
}
echo "</ul></div><div class='clear'></div>";
echo "</div>";
echo "
<input isparam=1 type='hidden' value='" . $this->data . "' name='" . $this->name . "'>";
echo "
<input type='hidden' value='wpdreamsBlogselect' name='classname-" . $this->name . "'>";
?>
<script>
(function ($) {
$(document).ready(function () {
var selector = "#sortable<?php echo self::$_instancenumber ?>, #sortable_conn<?php echo self::$_instancenumber ?>";
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof ui !== 'undefined')
parent = $(ui.item).parent();
else
parent = $(event.target);
while ( !parent.hasClass('wpdreamsBlogselect') ) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=<?php echo $this->name; ?>]', parent);
var checkbox = $('.use-all-blogs', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('bid');
});
if (checkbox.prop('checked')) {
val = val.substring(1) + "xxx1";
$('.bs-overlay', parent).removeClass('hiddend');
} else {
val = val.substring(1);
$('.bs-overlay', parent).addClass('hiddend');
}
hidden.val(val);
});
$("#wpdreamsBlogselect<?php echo self::$_instancenumber ?> input.use-all-blogs").on('click', function(){
$(selector).trigger("sortupdate");
});
});
}(jQuery));
</script>
<?php
echo "
</fieldset>
</div>";
}
function processData() {
$this->data = str_replace("\n", "", $this->data);
$this->selected = null;
if (!empty($this->data)) {
// Check for the use-all checkbox
$tmp = explode( "xxx", $this->data );
if (isset($tmp[1]))
$this->useall = "checked='checked'";
// Get the selected IDs
if ($tmp[0] != "")
$this->selected = explode( "|", $tmp[0] );
} else {
$this->useall = "";
}
}
final function getData() {
return $this->data;
}
final function getSelected() {
if ($this->useall != '')
return "all";
return $this->selected;
}
}
}