Files
roi-theme/wp-content/plugins/wp-ultimate-csv-importer/extensionModules/UsersExtension.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

146 lines
5.9 KiB
PHP
Executable File

<?php
/**
* WP Ultimate CSV Importer plugin file.
*
* Copyright (C) 2010-2020, Smackcoders Inc - info@smackcoders.com
*/
namespace Smackcoders\FCSV;
if ( ! defined( 'ABSPATH' ) )
exit; // Exit if accessed directly
class UsersExtension extends ExtensionHandler{
private static $instance = null;
public static function getInstance() {
if (UsersExtension::$instance == null) {
UsersExtension::$instance = new UsersExtension;
}
return UsersExtension::$instance;
}
/**
* Provides Users fields for specific post type
* @param string $data - selected import type
* @return array - mapping fields
*/
public function processExtension($data){
$import_type = $data;
$response = [];
if(is_plugin_active('woocommerce/woocommerce.php')){
$billing_fields = array(
'Billing First Name' => 'billing_first_name',
'Billing Last Name' => 'billing_last_name',
'Billing Company' => 'billing_company',
'Billing Address1' => 'billing_address_1',
'Billing Address2' => 'billing_address_2',
'Billing City' => 'billing_city',
'Billing PostCode' => 'billing_postcode',
'Billing State' => 'billing_state',
'Billing Country' => 'billing_country',
'Billing Phone' => 'billing_phone',
'Billing Email' => 'billing_email',
'Shipping First Name' => 'shipping_first_name',
'Shipping Last Name' => 'shipping_last_name',
'Shipping Company' => 'shipping_company',
'Shipping Address1' => 'shipping_address_1',
'Shipping Address2' => 'shipping_address_2',
'Shipping City' => 'shipping_city',
'Shipping PostCode' => 'shipping_postcode',
'Shipping State' => 'shipping_state',
'Shipping Country' => 'shipping_country',
'API Consumer Key' => 'woocommerce_api_consumer_key',
'API Consumer Secret' => 'woocommerce_api_consumer_secret',
'API Key Permissions' => 'woocommerce_api_key_permissions',
'Shipping Region' => '_wpsc_shipping_region' ,
'Billing Region' => '_wpsc_billing_region',
'Cart' => '_wpsc_cart'
);
}
$billing_fields = isset($billing_fields) ? $billing_fields :'';
$billing_value = $this->convert_static_fields_to_array($billing_fields);
$response['billing_and_shipping_information'] = $billing_value;
if(is_plugin_active( 'wp-members/wp-members.php')){
$wp_members_fields = $this->custom_fields_by_wp_members();
$response['custom_fields_wp_members'] = $wp_members_fields;
}
if(is_plugin_active( 'members/members.php')){
$members_fields = $this->custom_fields_by_members();
if(!empty($members_fields)){
$response['custom_fields_members'] = $members_fields;
}
}
// if(is_plugin_active( 'ultimate-member/ultimate-member.php')){
// $members_fields = $this->custom_fields_by_ultimate_member();
// if(!empty($members_fields)){
// $response['custom_ultimate_members'] = null;
// }
// }
return $response;
}
public function custom_fields_by_wp_members () {
$WPMemberFields = array();
$get_WPMembers_fields = get_option('wpmembers_fields');
$search_array = array('Choose a Username', 'First Name', 'Last Name', 'Email', 'Confirm Email', 'Website', 'Biographical Info', 'Password', 'Confirm Password', 'Terms of Service');
if (is_array($get_WPMembers_fields) && !empty($get_WPMembers_fields)) {
foreach ($get_WPMembers_fields as $get_fields) {
foreach($search_array as $search_values){
if(is_array($get_fields)){
if(in_array($search_values , $get_fields)){
unset($get_fields);
}
}
}
if(!empty($get_fields[2])){
$WPMemberFields['WPMEMBERS'][$get_fields[2]]['label'] = $get_fields[1];
$WPMemberFields['WPMEMBERS'][$get_fields[2]]['name'] = $get_fields[2];
}
}
}
$wp_mem_fields = $this->convert_fields_to_array($WPMemberFields);
return $wp_mem_fields;
}
public function custom_fields_by_members () {
$MemberFields = array();
$MemberFields['MULTIROLE']['multi_user_role']['label'] = 'Multi User Role';
$MemberFields['MULTIROLE']['multi_user_role']['name'] = 'multi_user_role';
$mem_fields = $this->convert_fields_to_array($MemberFields);
return $mem_fields;
}
// public function custom_fields_by_ultimate_member () {
// $WPUltimateMember = array();
// $get_WPUltimateMember = get_option('um_fields');
// if(is_array($get_WPUltimateMember) && !empty($get_WPUltimateMember)) {
// foreach($get_WPUltimateMember as $get_fields) {
// $WPUltimateMember['ULTIMATEMEMBER'][$get_fields['metakey']]['label'] = $get_fields['label'];
// $WPUltimateMember['ULTIMATEMEMBER'][$get_fields['metakey']]['name'] = $get_fields['metakey'];
// }
// }
// $ultimate_member_fields = $this->convert_fields_to_array($WPUltimateMember);
// return $ultimate_member_fields;
// }
/**
* Users extension supported import types
* @param string $import_type - selected import type
* @return boolean
*/
public function extensionSupportedImportType($import_type ){
$test = WordpressCustomExtension::getInstance();
$import_type = $this->import_name_as($import_type);
if($import_type == 'Users' || $import_type == 'WooCommerceCustomer'){
return true;
}
}
}