Files
roi-theme/wp-content/plugins/wp-ultimate-csv-importer/importExtensions/toolsetHelper/WPToolsetUpdater.php
root a22573bf0b 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>
2025-11-03 21:04:30 -06:00

173 lines
5.2 KiB
PHP
Executable File

<?php
namespace Smackcoders\FCSV;
if (!defined('ABSPATH')) exit; // Exit if accessed directly
/**
*
*/
require_once "ToolsetImporter.php";
/**
*
*/
class WPToolsetUpdater extends ToolsetImporter
{
private static $WPToolsetUpdater = NULL;
private $dataArray;
private $metadata;
private $fieldType;
private $meta_id;
private $updatedFieldinfo = array();
static function getInstance() {
if (self::$WPToolsetUpdater == NULL) {
self::$WPToolsetUpdater = new WPToolsetUpdater();
}
return self::$WPToolsetUpdater;
}
function set($dataArray, $metaData, $fieldType,$wpTypesFields,$postType) {
$this->dataArray = $dataArray;
$this->metaData = $metaData;
$this->fieldType = $fieldType;
$this->wpTypesFields = $wpTypesFields;
$this->postType = $postType;
if ($this->postType =='Users') {
$this->meta_id ='umeta_id';
}else{
$this->meta_id ='meta_id';
}
}
function update($postId,$post_val,$hash_key,$line_number,$gmode,$templatekey) {
$this->updatedFieldinfo=array();
if (isset($this->dataArray['Parent_Group'])) {
$this->loopAndUpdate($postId);
require_once "WPToolsetImporter.php";
$wpToolsetImporter = WPToolsetImporter::getInstance();
$wpToolsetImporter->set($this->dataArray, $this->metaData, $this->fieldType,$this->wpTypesFields,$this->postType);
$wpToolsetImporter->import($postId,$post_val,$hash_key,$line_number,$gmode,$templatekey);
}else{
$checkTermKeys = $this->checkTermKeys($postId,$this->postType);
if($checkTermKeys==1){
$getTermData = $this->getTermKeys($postId,$this->postType);
$this->deleteTermMetaKeys($postId,$this->postType);
}
else{
$getMetaData = $this->getMetaKeys($postId,$this->postType);
}
$this->deleteCustomFields($getMetaData);
require_once "WPToolsetImporter.php";
$wpToolsetImporter = WPToolsetImporter::getInstance();
$wpToolsetImporter->set($this->dataArray, $this->metaData, $this->fieldType,$this->wpTypesFields,$this->postType);
$wpToolsetImporter->import($postId,$post_val,$hash_key,$line_number,$gmode,$templatekey);
}
}
function loopAndUpdate($postId){
global $wpdb;
$getMetaData = $this->getMetaKeys($postId,$this->postType);
$this->deleteCustomFields($getMetaData);
$allRelationship=$this->findRelationship($postId);
$plugins = get_plugins();
$plugin_version = $plugins['types/wpcf.php']['Version'];
if (!empty($allRelationship)) {
foreach ($allRelationship as $key => $value) {
$this->loopAndUpdate($value['child_id']);
if($plugin_version < '3.4.1'){
$wpdb->delete( $wpdb->prefix.'toolset_associations', array( 'id' => $value['id']));
$wpdb->delete( $wpdb->prefix.'posts', array( 'id' => $value['child_id']));
}
else{
$pquery = "select element_id from {$wpdb->prefix}toolset_connected_elements where id ='{$value['child_id']}'";
$pqueryres1 = $wpdb->get_results($pquery);
$p_id = $pqueryres1[0]->element_id;
$wpdb->delete( $wpdb->prefix.'toolset_associations', array( 'id' => $value['id']));
//$wpdb->delete( $wpdb->prefix.'toolset_associations', array( 'id' => $p_id));
$wpdb->delete( $wpdb->prefix.'posts', array( 'id' => $p_id));
}
}
}
}
function deleteCustomFields($getMetaData){
if (!empty($getMetaData)) {
foreach ($getMetaData as $key => $value) {
$metaKey=$value['meta_key'];
$fieldTypeArray=array_flip($this->metaData);
if (array_key_exists($metaKey, $fieldTypeArray)) {
$getFieldType=$fieldTypeArray[$metaKey];
$fieldType=$this->fieldType[$getFieldType];
$metaId=$value[$this->meta_id];
if ($fieldType == 'post') {
$this->checkFieldType($metaId,$fieldType,$metaKey);
}else{
$this->deleteMetaKeys($metaId,$this->postType);
}
}
}
}
}
function checkFieldType($postId,$fieldType,$metaKey){
global $wpdb;
if ($fieldType == 'post') {
$metaKeyIds=$this->getMetaKeyId($postId,$metaKey,$this->postType);
$metaId=$metaKeyIds[0][$this->meta_id];
$parent_id=$metaKeyIds[0]['meta_value'];
// include_once( 'wp-admin/includes/plugin.php' );
$plugins = get_plugins();
$plugin_version = $plugins['types/wpcf.php']['Version'];
if($plugin_version < '3.4.1'){
$par_con = $wpdb->get_results("SELECT group_id FROM ".$wpdb->prefix."toolset_connected_elements WHERE element_id = {$parent_id} ",ARRAY_A);
$parconid=$par_con[0]['group_id'];
$child_con = $wpdb->get_results("SELECT group_id FROM ".$wpdb->prefix."toolset_connected_elements WHERE element_id = {$postId} ",ARRAY_A);
$childconid = $child_con[0]['group_id'];
$result=$wpdb->get_results("SELECT id,relationship_id FROM ".$wpdb->prefix."toolset_associations WHERE child_id = {$childconid} and parent_id = {$parconid} ",ARRAY_A);
$id=$result[0]['id'];
$relationship_id=$result[0]['relationship_id'];
}
else{
$result=$wpdb->get_results("SELECT id,relationship_id FROM ".$wpdb->prefix."toolset_associations WHERE child_id = {$postId} and parent_id = {$parent_id} ",ARRAY_A);
$id=$result[0]['id'];
$relationship_id=$result[0]['relationship_id'];
}
$wpdb->delete( $wpdb->prefix.'toolset_associations', array( 'id' => $id));
$this->deleteMetaKeys($metaId,$this->postType);
}
}
}