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

223 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 SmackCSVInstall {
protected static $instance = null,$smack_instance,$tables_instance,$plugin;
/**
* SmackCSVInstall Constructor
*/
public function __construct() {
$plugin = Plugin::getInstance();
self::$tables_instance = new Tables();
}
/**
* SmackCSVInstall Instance
*/
public static function getInstance() {
if ( null == self::$instance ) {
self::$instance = new self;
}
return self::$instance;
}
/** @var array DB updates that need to be run */
private static $db_updates = array(
);
/**
* Hook in tabs.
*/
public static function init() {
add_action( 'admin_init', array( __CLASS__, 'check_version' ), 5 );
add_action( 'admin_init', array( __CLASS__, 'install_actions' ) );
}
/**
* Check WPUltimateCSVImporterPro version.
*/
public static function check_version() {
if ( get_option( 'ULTIMATE_CSV_IMP_VERSION' ) != SmackUCI()->version ) {
self::install();
do_action( 'sm_uci_pro_updated' );
}
}
/**
* Install actions when a update button is clicked.
*/
public static function install_actions() {
if ( ! empty( sanitize_text_field($_GET['do_update_sm_uci_pro'] )) ) {
self::update();
}
}
/**
* Show notice stating update was successful.
*/
public static function updated_notice() {
?>
<div class='notice updated uci-message wc-connect is-dismissible'>
<p><?php esc_html__( 'Ultimate CSV Importer PRO data update complete. Thank you for updating to the latest version!', 'wp-ultimate-csv-importer-pro' ); ?></p>
</div>
<?php
}
/**
* Install WUCI.
*/
public function install() {
$current_uci_version = get_option( 'ULTIMATE_CSV_IMP_VERSION', null );
if(empty($current_uci_version)){
add_option("WP_ULTIMATE_CSV_FIRST_ACTIVATE", 'On');
}
self::$tables_instance->create_tables();
if ( is_null( $current_uci_version )) {
self::create_options(); // Create option data on the initial stage
}
self::update_uci_version();
// Trigger action
do_action( 'sm_uci_installed' );
}
/**
* Update UCI version to current.
*/
private static function update_uci_version() {
$version = '5.7';
delete_option( 'ULTIMATE_CSV_IMP_VERSION' );
add_option( 'ULTIMATE_CSV_IMP_VERSION', $version );
}
public static function content_media_url_modification($content) {
$region=self::bucket_region();
preg_match_all('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $content, $match);
$content_urls = $match[0];
$rewrite_url=get_option('media_rewrite_url');
$media_bucket=get_option('updated_media_bucket');
$media_bucket=trim($media_bucket);
$upload_directory = wp_upload_dir();
$domain_name=get_option('do_domain_name');
$copy_year=get_option('copy_year_path');
$media_path =get_option('media_file_path');
$media_path = substr_replace($media_path, "", -1);
$end_points=get_option('media_bucket_origin');
if($copy_year =='true'){
$media_base_url = $upload_directory['baseurl'];
}else{
$media_base_url = $upload_directory['url'];
}
if($rewrite_url=='true'){
foreach ($content_urls as $content_url) {
if(!empty($domain_name)){
if(!empty($media_path)){
$do_storage_location = $domain_name.'/'.$media_path;
}
else{
$do_storage_location=$domain_name;
}
}
else{
if(!empty($media_path)){
$do_storage_location = $end_points.'/'.$media_path;
}
else{
$do_storage_location = $end_points;
}
}
if (strpos($content_url, $do_storage_location) !== false) {
$content = str_replace($media_base_url, $do_storage_location, $content);
}
else {
$content = str_replace($media_base_url, $do_storage_location, $content);
}
}
}
return $content;
}
/**
* @param null $version
* Update DB version to current.
*/
private static function update_db_version( $version = null ) {
delete_option( 'sm_uci_db_version' );
add_option( 'sm_uci_db_version', is_null( $version ) ? SmackUCI()->version : $version );
}
/**
* Handle updates.
*/
private static function update() {
$current_db_version = get_option( 'ULTIMATE_CSV_IMP_VERSION' );
foreach ( self::$db_updates as $version => $updater ) {
if ( version_compare( $current_db_version, $version, '<' ) ) {
include_once ( $updater );
self::update_db_version( $version );
}
}
self::update_db_version();
}
/**
* Default options.
*
* Sets up the default options used on the settings page.
*/
public static function create_options() {
// We assign the default option data for the fresh instalization
$settings = array('debug_mode' => 'off',
'send_log_email' => 'on',
'drop_table' => 'off',
'author_editor_access' => 'off',
'woocomattr' => 'off',
'unmatchedrow' => 'off',
"singleimport" => 'Off'
);
add_option('sm_uci_pro_settings', $settings);
}
/**
* Todo: add PHP docs
*/
public static function remove_options() {
delete_option('ULTIMATE_CSV_IMP_VERSION');
delete_option('ULTIMATE_CSV_IMPORTER_UPGRADE_VERSION');
}
public static function important_upgrade_notice() {
$get_notice = get_option('smack_uci_upgrade_notice');
if($get_notice != 'off') {
?>
<div class="notice notice-error is-dismissible" onclick="dismiss_notices('upgrade_notice');">
<p style="margin-top: 10px"><strong><?php echo esc_html__('Upgrade Notice:','wp-ultimate-csv-importer');?> </strong> <?php echo esc_html__('Download and replace the latest version of','wp-ultimate-csv-importer');?> <a href="https://wordpress.org/plugins/wp-ultimate-csv-importer/" target="_blank">WP Ultimate CSV Importer</a> <?php echo esc_html__('for 10x faster import performance with easy user interface.','wp-ultimate-csv-importer');?> </p>
</div>
<?php
}
}
}